+
    –°³j|  ã            	       óž  a € Ri t‹0 t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIt^ RIHtH	t	 ^RI
Ht ^RIHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RI H!t! ^RI"H#t# ^RI$H%t% ^RI&H't' ^RI(H)t) ^RI*H+t+H,t,H-t- ^RI.H/t/H0t0 ^RI1H2t2 ^RI3H4t4 ^RI5H6t6 ^RI7H8t8 ^RI9H:t: ^RI;H<t< ^RI=H>t>H?t@ / tA] ^ k / tB] ^k RR.tCR  tD] ! R! R"4      4       tER# tFR$ tGR% tHR& tIR' R( ltJ]D! ]]4      R) 4       tK]D! ]]4      R* 4       tL]D! ]]4      R+ 4       tM]D! ]]4      R, 4       tN]D! ]]4      R- 4       tO]D! ]]4      R. 4       tP]D! ]]4      R/ 4       tQ]D! ]]4      R0 4       tR]D! ]]4      R1 4       tS]D! ]#]#4      R2 4       tT]D! ]!]!4      R3 4       tU]D! ]%]%4      R4 4       tV]D! ])])4      R5 4       tW]D! ]-]-4      R6 4       tX]D! ]0]-4      R7 4       tY]D! ]-]04      R8 4       tZ]D! ]0]04      R9 4       t[]D! ]2]24      R: 4       t\]D! ]4]44      R; 4       t]]D! ]6]64      R< 4       t^]D! ]8]84      R= 4       t_]D! ]:]:4      R> 4       t`]D! ]<]<4      R? 4       ta]D! ]]84      R@ 4       tb]D! ]]4      RA 4       tc]D! ]]64      RB 4       td]D! ]]4      RC 4       te]D! ]]4      RD 4       tf]D! ]]24      RE 4       tg]D! ]]<4      RF 4       th]D! ]]64      RG 4       ti]D! ]]4      RH 4       tj]D! ]]24      RI 4       tk]D! ]]<4      RJ 4       tl]D! ]]4      ]D! ]]4      ]D! ]]64      ]D! ]]<4      RK 4       4       4       4       tm]D! ]]4      RL 4       tn]D! ]]#4      RM 4       to]D! ]]24      RN 4       tp]D! ]]4      ]D! ]]4      ]D! ]]64      ]D! ]]<4      RO 4       4       4       4       tq]D! ]]4      RP 4       tr]D! ]]#4      RQ 4       ts]D! ]]24      RR 4       tt]D! ]#]4      ]D! ]#]4      ]D! ]#]4      ]D! ]#]4      ]D! ]#]64      ]D! ]#]<4      RS 4       4       4       4       4       4       tu]D! ]#]24      RT 4       tv]D! ])]4      ]D! ])]4      ]D! ])]4      ]D! ])]4      ]D! ])]64      ]D! ])]<4      RU 4       4       4       4       4       4       tw]D! ])]24      RV 4       tx]D! ]2]4      ]D! ]2]4      ]D! ]2]4      ]D! ]2]4      ]D! ]2]64      ]D! ]2]<4      RW 4       4       4       4       4       4       ty]D! ]2]#4      RX 4       tz]D! ]2])4      RY 4       t{]D! ]6]4      ]D! ]6]4      ]D! ]6]<4      RZ 4       4       4       t|]D! ]6]4      R[ 4       t}]D! ]6]4      R\ 4       t~]D! ]6]24      R] 4       t]D! ]8]4      ]D! ]8]4      R^ 4       4       t€]D! ]<]4      R_ 4       t�]D! ]<]4      R` 4       t‚]D! ]<]4      Ra 4       tƒ]D! ]<]4      Rb 4       t„]D! ]<]#4      Rc 4       t…]D! ]<]24      Rd 4       t†]D! ]<]64      Re 4       t‡]D! ]']'4      Rf 4       tˆ]D! ]]4      Rg 4       t‰Rh tŠR# )jé    N)ÚCallable)Útotal_ordering)ÚinfÚTensor)Ú	Bernoulli)ÚBeta)ÚBinomial)ÚCategorical)ÚCauchy)ÚContinuousBernoulli)Ú	Dirichlet)ÚDistribution)ÚExponentialFamily)ÚExponential)ÚGamma)Ú	Geometric)ÚGumbel)Ú
HalfNormal)ÚIndependent)ÚLaplace)Ú_batch_lowrank_logdetÚ_batch_lowrank_mahalanobisÚLowRankMultivariateNormal)Ú_batch_mahalanobisÚMultivariateNormal)ÚNormal)ÚOneHotCategorical)ÚPareto)ÚPoisson)ÚTransformedDistribution)ÚUniform)Ú_sum_rightmostÚeuler_constantÚregister_klÚkl_divergencec                ó   a a€ \        S \        4      '       g%   \        S \        4      '       d   \	        RS  24      h\        S\        4      '       g%   \        S\        4      '       d   \	        RS 24      hV V3R lpV# )a  
Decorator to register a pairwise function with :meth:`kl_divergence`.
Usage::

    @register_kl(Normal, Normal)
    def kl_normal_normal(p, q):
        # insert implementation here

Lookup returns the most specific (type,type) match ordered by subclass. If
the match is ambiguous, a `RuntimeWarning` is raised. For example to
resolve the ambiguous situation::

    @register_kl(BaseP, DerivedQ)
    def kl_version1(p, q): ...
    @register_kl(DerivedP, BaseQ)
    def kl_version2(p, q): ...

you should register a third most-specific implementation, e.g.::

    register_kl(DerivedP, DerivedQ)(kl_version1)  # Break the tie.

Args:
    type_p (type): A subclass of :class:`~torch.distributions.Distribution`.
    type_q (type): A subclass of :class:`~torch.distributions.Distribution`.
z6Expected type_p to be a Distribution subclass but got z6Expected type_q to be a Distribution subclass but got c                 óF   <€ V \         SS3&   \        P                  4        V # ©N)Ú_KL_REGISTRYÚ_KL_MEMOIZEÚclear)ÚfunÚtype_pÚtype_qs   &€€ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/kl.pyÚ	decoratorÚregister_kl.<locals>.decoratorV   s"   ø€ Ø'*Œ�V˜V�^Ñ$Ü×ÑÔØˆ
ó    )Ú
isinstanceÚtypeÚ
issubclassr   Ú	TypeError)r-   r.   r0   s   ff r/   r$   r$   3   st   ù€ ô4 �fœd×#Ò#¬
°6¼<×(HÒ(HÜØDÀVÀHÐMó
ð 	
ô �fœd×#Ò#¬
°6¼<×(HÒ(HÜØDÀVÀHÐMó
ð 	
öð
 Ðr2   c                   ó8   a € ] tR t^^t o R.tR tR tR tRtV t	R# )Ú_MatchÚtypesc                ó   € Wn         R # r(   ©r9   )Úselfr9   s   &*r/   Ú__init__Ú_Match.__init__b   s   € ØŽ
r2   c                ó4   € V P                   VP                   8H  # r(   r;   )r<   Úothers   &&r/   Ú__eq__Ú_Match.__eq__e   s   € Ø�z‰z˜UŸ[™[Ñ(Ð(r2   c                ó�   € \        V P                  VP                  4       F!  w  r#\        W#4      '       g    R # W#Jg   K    R# 	  R# )FT)Úzipr9   r5   )r<   r@   ÚxÚys   &&  r/   Ú__le__Ú_Match.__le__h   s;   € Ü˜Ÿ
™
 E§K¡KÖ0‰DˆAÜ˜a×#Ò#ÚØ�zØÙñ 1ñ
 r2   r;   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__r=   rA   rG   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r/   r8   r8   ^   s    ø‡ € à�	€Iòò)÷ð r2   r8   c                ó  € \          UUu. uF.  w  r#\        W4      '       g   K  \        W4      '       g   K+  W#3NK0  	  pppV'       g   \        # \        R V 4       4      P                  w  rV\        R V 4       4      P                  w  rx\         WV3,          p	\         W‡3,          p
WšJdS   \
        P                  ! RV P                   RVP                   RVP                   RVP                   R2	\        ^R7       V	# u uppi )zH
Find the most specific approximate match, assuming single inheritance.
c              3   ó4   "  € T F  p\        V!  x € K  	  R # 5ir(   )r8   ©Ú.0Úms   & r/   Ú	<genexpr>Ú_dispatch_kl.<locals>.<genexpr>   s   é € Ð5©W¨œ ž«Wùs   ‚c              3   óF   "  € T F  p\        \        V4      !  x € K  	  R # 5ir(   )r8   ÚreversedrS   s   & r/   rV   rW   €   s   é € ÐA¹°Aœ6¤8¨A£;Ö/»ùs   ‚!zAmbiguous kl_divergence(z, z). Please register_kl(Ú))Ú
stacklevel)	r)   r5   ÚNotImplementedÚminr9   ÚwarningsÚwarnrI   ÚRuntimeWarning)r-   r.   Úsuper_pÚsuper_qÚmatchesÚleft_pÚleft_qÚright_qÚright_pÚleft_funÚ	right_funs   &&         r/   Ú_dispatch_klrj   q   sø   € õ !-ôá ,ÑˆGÜ�f×&ô 	ä+5°f×+Fô 	ˆÓÙ ,ð ñ ÷
 ÜÐô Ñ5©WÓ5Ó5×;Ñ;�N€FÜÑA¹ÓAÓA×GÑGÑ€GÜ˜F˜NÕ+€HÜ˜WÐ-Õ.€IØÓ Ü�ŠØ& v§¡Ð&7°r¸&¿/¹/Ð9Jð K"Ø"(§/¡/Ð!2°"°W×5EÑ5EÐ4FÀaðIäØõ		
ð €Oùó+s   ŠD ¤D ·D c                ó8   € \         P                  ! V \        4      # )zA
Helper function for obtaining infinite KL Divergence throughout
)ÚtorchÚ	full_liker   ©Útensors   &r/   Ú_infinite_likerp   �   s   € ô �?Š?˜6¤3Ó'Ð'r2   c                ó@   € \         P                  P                  W 4      # )z*
Utility function for calculating x log x
)rl   ÚspecialÚxlogyrn   s   &r/   Ú_x_log_xrt   ”   s   € ô �=‰=×Ñ˜vÓ.Ð.r2   c                óî   € V P                  R4      pV P                  R4      pV P                  RW!,          4      P                  ^4      P                  R4      pVP                  V P                  RR 4      # )zh
Utility function for calculating the trace of XX^{T} with X having arbitrary trailing batch dimensions
Néÿÿÿÿéþÿÿÿ)ÚsizeÚreshapeÚpowÚsumÚshape)ÚbmatÚnrU   Ú
flat_traces   &   r/   Ú_batch_trace_XXTr€   ›   sa   € ð 	�	‰	�"‹€AØ�	‰	�"‹€AØ—‘˜b !¥%Ó(×,Ñ,¨QÓ/×3Ñ3°BÓ7€JØ×Ñ˜dŸj™j¨¨"˜oÓ.Ð.r2   c                ó<   € V ^8„  d   QhR\         R\         R\        /# )é   ÚpÚqÚreturn)r   r   )Úformats   "r/   Ú__annotate__r‡   ¥   s!   € ÷ ñ ”\ð ¤lð ´vñ r2   c                ót  €  \         \        V 4      \        V4      3,          pV\        J d:   \        RV P                  P                   RVP                  P                   24      hV! W4      #   \         d?    \        \        T 4      \        T4      4      pT\         \        T 4      \        T4      3&    L“i ; i)aò  
Compute Kullback-Leibler divergence :math:`KL(p \| q)` between two distributions.

.. math::

    KL(p \| q) = \int p(x) \log\frac {p(x)} {q(x)} \,dx

Args:
    p (Distribution): A :class:`~torch.distributions.Distribution` object.
    q (Distribution): A :class:`~torch.distributions.Distribution` object.

Returns:
    Tensor: A batch of KL divergences of shape `batch_shape`.

Raises:
    NotImplementedError: If the distribution types have not been registered via
        :meth:`register_kl`.
z(No KL(p || q) is implemented for p type z and q type )r*   r4   ÚKeyErrorrj   r\   ÚNotImplementedErrorÚ	__class__rI   )rƒ   r„   r,   s   && r/   r%   r%   ¥   s¦   € ð&,Üœ$˜q›'¤4¨£7Ð*Õ+ˆð ŒnÓÜ!Ø6°q·{±{×7KÑ7KÐ6LÈLÐYZ×YdÑYd×YmÑYmÐXnÐoó
ð 	
ñ ˆq‹9Ðøô ô ,Üœ4 ›7¤D¨£GÓ,ˆØ(+Œ”D˜“GœT !›WÐ$Ó%ð,ús   ‚!A. Á.AB7Â6B7c                 ó¬  € V P                   \        P                  P                  P	                  VP
                  ) 4      \        P                  P                  P	                  V P
                  ) 4      ,
          ,          p\        W!P                   ^ 8H  &   ^ W P                   ^ 8H  &   ^V P                   ,
          \        P                  P                  P	                  VP
                  4      \        P                  P                  P	                  V P
                  4      ,
          ,          p\        W1P                   ^8H  &   ^ W0P                   ^8H  &   W#,           # ©r   )Úprobsrl   ÚnnÚ
functionalÚsoftplusÚlogitsr   ©rƒ   r„   Út1Út2s   &&  r/   Ú_kl_bernoulli_bernoullir–   Ë   sè   € à	
�‰Ü�‰×Ñ×$Ñ$ a§h¡h YÓ/Ü
�(‰(×
Ñ
×
&Ñ
&¨¯© yÓ
1õ	2õ
€Bô €B‡w�w�!�|ÑØ€B‡w�w�!�|ÑØ
ˆa�g‰g�+Ü�‰×Ñ×$Ñ$ Q§X¡XÓ.´·±×1DÑ1D×1MÑ1MÈaÏhÉhÓ1WÕWõ
€Bô €B‡w�w�!�|ÑØ€B‡w�w�!�|ÑØ�7€Nr2   c                 ó6  € V P                   V P                  ,           pVP                   VP                  ,           pVP                   P                  4       VP                  P                  4       ,           VP                  4       ,           pV P                   P                  4       V P                  P                  4       ,           VP                  4       ,           pV P                   VP                   ,
          \        P                  ! V P                   4      ,          pV P                  VP                  ,
          \        P                  ! V P                  4      ,          pW2,
          \        P                  ! V4      ,          pWE,
          V,           V,           V,           # r(   )Úconcentration1Úconcentration0Úlgammarl   Údigamma)	rƒ   r„   Úsum_params_pÚsum_params_qr”   r•   Út3Út4Út5s	   &&       r/   Ú_kl_beta_betar¡   Û   s  € à×#Ñ# a×&6Ñ&6Õ6€LØ×#Ñ# a×&6Ñ&6Õ6€LØ	
×	Ñ	×	 Ñ	 Ó	" Q×%5Ñ%5×%<Ñ%<Ó%>Õ	>À,×AVÑAVÓAXÕ	X€BØ	
×	Ñ	×	 Ñ	 Ó	" Q×%5Ñ%5×%<Ñ%<Ó%>Õ	>À,×AVÑAVÓAXÕ	X€BØ
×
Ñ
˜Q×-Ñ-Õ
-´·²¸q×?OÑ?OÓ1PÕ	P€BØ
×
Ñ
˜Q×-Ñ-Õ
-´·²¸q×?OÑ?OÓ1PÕ	P€BØ
Õ
%¬¯ª°|Ó)DÕ	D€BØ�7�R�<˜"Õ˜rÕ!Ð!r2   c                 óÌ  € V P                   VP                   8  P                  4       '       d   \        R 4      hV P                   V P                  V P                  VP                  ,
          ,          V P                  ) P                  4       ,           VP                  ) P                  4       ,
          ,          pV P                   VP                   8„  p\        W#,          4      W#&   V# )zKKL between Binomials where q.total_count > p.total_count is not implemented)Útotal_countÚanyrŠ   rŽ   r’   Úlog1prp   )rƒ   r„   ÚklÚinf_idxss   &&  r/   Ú_kl_binomial_binomialr¨   ç   s¨   € ð 	
�‰˜Ÿ™Ñ%×*Ñ*×,Ò,Ü!ØYó
ð 	
ð 
�‰Ø	�‰�1—8‘8˜aŸh™hÕ&Õ'¨A¯G©G¨8×*:Ñ*:Ó*<Õ<ÀÇÁÀ×?OÑ?OÓ?QÕQõ
€Bð �}‰}˜qŸ}™}Ñ,€HÜ! "¥,Ó/€B�LØ€Ir2   c                 ó  € V P                   V P                  VP                  ,
          ,          p\        W!P                   ^ 8H  P                  V4      &   ^ W P                   ^ 8H  P                  V4      &   VP	                  R4      # )r   rv   )rŽ   r’   r   Ú	expand_asr{   )rƒ   r„   Úts   && r/   Ú_kl_categorical_categoricalr¬   ÷   sa   € à	�‰�1—8‘8˜aŸh™hÕ&Õ'€AÜ%(€A‡w�w�!�|×Ñ˜qÓ!Ñ"Ø%&€A‡w�w�!�|×Ñ˜qÓ!Ñ"Ø�5‰5�‹9Ðr2   c                 óV  € V P                   V P                  VP                  ,
          ,          pV P                  4       \        P                  ! V P
                  ) 4      ,           pVP                  4       ) \        P                  ! VP
                  ) 4      ,
          pW#,           V,           # r(   )Úmeanr’   Ú_cont_bern_log_normrl   r¥   rŽ   ©rƒ   r„   r”   r•   rž   s   &&   r/   Ú-_kl_continuous_bernoulli_continuous_bernoullir±   ÿ   sp   € à	
�‰�1—8‘8˜aŸh™hÕ&Õ	'€BØ	
×	Ñ	Ó	 ¤5§;¢;°·±¨xÓ#8Õ	8€BØ
×
Ñ
Ó
!Ð	!¤E§K¢K°·±°Ó$9Õ	9€BØ�7�R�<Ðr2   c                 óF  € V P                   P                  R4      pVP                   P                  R4      pVP                  4       VP                  4       ,
          pV P                   P                  4       VP                   P                  4       ,
          P                  R4      pV P                   VP                   ,
          pV P                   P                  4       VP                  4       P	                  R4      ,
          pWE,
          Wg,          P                  R4      ,           # )é   rv   )Úconcentrationr{   rš   r›   Ú	unsqueeze)rƒ   r„   Úsum_p_concentrationÚsum_q_concentrationr”   r•   rž   rŸ   s   &&      r/   Ú_kl_dirichlet_dirichletr¸     sÐ   € ð Ÿ/™/×-Ñ-¨bÓ1ÐØŸ/™/×-Ñ-¨bÓ1ÐØ	×	#Ñ	#Ó	%Ð(;×(BÑ(BÓ(DÕ	D€BØ
�/‰/×
 Ñ
 Ó
" Q§_¡_×%;Ñ%;Ó%=Õ
=×	BÑ	BÀ2Ó	F€BØ	
�‰˜1Ÿ?™?Õ	*€BØ	
�‰×	 Ñ	 Ó	"Ð%8×%@Ñ%@Ó%B×%LÑ%LÈRÓ%PÕ	P€BØ�7�b•g—]‘] 2Ó&Õ&Ð&r2   c                 ó|   € VP                   V P                   ,          pVP                  4       ) pW2,           ^,
          # ©r³   ©ÚrateÚlog)rƒ   r„   Ú
rate_ratior”   s   &&  r/   Ú_kl_exponential_exponentialr¿     s/   € à—‘˜!Ÿ&™&•€JØ
�.‰.Ó
Ð	€BØ�?˜QÕÐr2   c                 ó  € \        V 4      \        V4      Jd   \        R 4      hV P                   Uu. uF   q"P                  4       P	                  4       NK"  	  ppVP                  pV P
                  ! V!  p\        P                  P                  VP                  4       VRR7      pVP
                  ! V!  V,
          p\        W4V4       F;  w  r‰p
W˜,
          V
,          pV\        V\        VP                  4      4      ,          pK=  	  V# u upi )z‡The cross KL-divergence between different exponential families cannot                             be computed using Bregman divergencesT)Úcreate_graph)r4   rŠ   Ú_natural_paramsÚdetachÚrequires_grad_Ú_log_normalizerrl   ÚautogradÚgradr{   rD   r"   ÚlenÚevent_shape)rƒ   r„   ÚnpÚ	p_nparamsÚ	q_nparamsÚ	lg_normalÚ	gradientsÚresultÚpnpÚqnpÚgÚterms   &&          r/   Ú_kl_expfamily_expfamilyrÔ     sè   € äˆAƒw”d˜1“gÓÜ!ðCó
ð 	
ð 9:×8IÒ8IÓJÑ8I°"—‘“×+Ñ+Ö-Ñ8I€IÐJØ×!Ñ!€IØ×!Ò! 9Ñ-€IÜ—‘×#Ñ# I§M¡M£O°YÈTÐ#ÓR€IØ×Ò 	Ñ*¨YÕ6€FÜ˜9°Ö;‰ˆ�!Ø•	˜Q�ˆØ”. ¤s¨1¯=©=Ó'9Ó:Õ:Šñ <ð €Mùò Ks   ²&D
c                 ó2  € VP                   V P                  VP                  ,          P                  4       ,          p\        P                  ! VP                   4      \        P                  ! V P                   4      ,
          pV P                   VP                   ,
          \        P
                  ! V P                   4      ,          pVP                  V P                  ,
          V P                   V P                  ,          ,          pW#,           V,           V,           # r(   )r´   r¼   r½   rl   rš   r›   ©rƒ   r„   r”   r•   rž   rŸ   s   &&    r/   Ú_kl_gamma_gammar×   ,  s¡   € à	
�‰˜AŸF™F Q§V¡V�O×0Ñ0Ó2Õ	2€BÜ	�Š�a—o‘oÓ	&¬¯ª°a·o±oÓ)FÕ	F€BØ
�/‰/˜AŸO™OÕ
+¬u¯}ª}¸Q¿_¹_Ó/MÕ	M€BØ
�&‰&�1—6‘6�/˜aŸo™o°·±Õ6Õ	7€BØ�7�R�<˜"ÕÐr2   c                 ó¼  € V P                   VP                   ,          pVP                  VP                   ,          pV P                  VP                   ,          pVP                  4       ) V,
          V,           pV\        ,          p\        P
                  ! V^V,           P                  4       ,           V,
          4      pWV,           V,           ^\        ,           ,
          # rº   )ÚscaleÚlocr½   Ú_euler_gammarl   Úexprš   )rƒ   r„   Úct1Úct2Úct3r”   r•   rž   s   &&      r/   Ú_kl_gumbel_gumbelrà   5  s’   € à
�'‰'�A—G‘GÕ
€CØ
�%‰%�!—'‘'�/€CØ
�%‰%�!—'‘'�/€CØ
�'‰'‹)ˆ�cÕ	˜CÕ	€BØ	Œ|Õ	€BÜ	�Š�3˜!˜c�'×)Ñ)Ó+Õ+¨cÕ1Ó	2€BØ�7�R�<˜1œ|Õ+Õ,Ð,r2   c                 ó´   € V P                  4       ) \        P                  ! VP                  ) 4      V P                  ,          ,
          VP                  ,
          # r(   )Úentropyrl   r¥   rŽ   r’   ©rƒ   r„   s   &&r/   Ú_kl_geometric_geometricrä   @  s6   € à�I‰I‹Kˆ<œ%Ÿ+š+ q§w¡w hÓ/°!·'±'Õ9Õ9¸A¿H¹HÕDÐDr2   c                 óB   € \        V P                  VP                  4      # r(   )Ú_kl_normal_normalÚ	base_distrã   s   &&r/   Ú_kl_halfnormal_halfnormalrè   E  s   € ä˜QŸ[™[¨!¯+©+Ó6Ð6r2   c                 ób  € V P                   VP                   ,          pV P                  VP                  ,
          P                  4       pVP                  4       ) pW1P                   ,          pV\        P
                  ! V) V P                   ,          4      ,          pWE,           V,           ^,
          # rº   )rÙ   rÚ   Úabsr½   rl   rÜ   )rƒ   r„   Úscale_ratioÚloc_abs_diffr”   r•   rž   s   &&     r/   Ú_kl_laplace_laplacerí   J  sz   € ð —'‘'˜AŸG™GÕ#€KØ—E‘E˜AŸE™E•M×&Ñ&Ó(€LØ
�/‰/Ó
Ð	€BØ	Ÿ™Õ	€BØ	”u—y’y , °·±Õ!8Ó9Õ	9€BØ�7�R�<˜!ÕÐr2   c                 ót  € V P                   VP                   8w  d   \        R 4      h\        VP                  VP                  VP
                  4      \        V P                  V P                  V P
                  4      ,
          p\        VP                  VP                  VP                  V P                  ,
          VP
                  4      pVP                  P                  VP                  P                  R4      ,          p\        P                  P                  VP
                  VRR7      pV P                  VP                  ,          P                  R4      p\        V P                  VP                  P                  4       P                  R4      ,          4      p\        WPP                  P!                  4       P                  R4      ,          4      p\        VP#                  V P                  4      4      p	Wg,           V,
          V	,
          p
RW*,           V,           V P                   ^ ,          ,
          ,          # )zKL-divergence between two Low Rank Multivariate Normals with                          different event shapes cannot be computedF©Úupperç      à?rw   rv   )rÉ   Ú
ValueErrorr   Ú_unbroadcasted_cov_factorÚ_unbroadcasted_cov_diagÚ_capacitance_trilr   rÚ   ÚmTrµ   rl   ÚlinalgÚsolve_triangularr{   r€   ÚrsqrtÚsqrtÚmatmul)rƒ   r„   Úterm1Úterm3Ú	qWt_qDinvÚAÚterm21Úterm22Úterm23Úterm24Úterm2s   &&         r/   Ú7_kl_lowrankmultivariatenormal_lowrankmultivariatenormalr  U  s¸  € à‡}�}˜Ÿ™Ô%ÜðEó
ð 	
ô
 "Ø	×#Ñ# Q×%>Ñ%>À×@SÑ@SóäØ	×#Ñ# Q×%>Ñ%>À×@SÑ@Só	õ€Eô
 'Ø	×#Ñ#Ø	×!Ñ!Ø	�‰�—‘�Ø	×Ñó	€Eð ×+Ñ+×.Ñ.°×1JÑ1J×1TÑ1TÐUWÓ1XÕX€IÜ�‰×%Ñ% a×&9Ñ&9¸9ÈEÐ%ÓR€AØ×'Ñ'¨!×*CÑ*CÕC×HÑHÈÓL€FÜØ	×#Ñ# a×&?Ñ&?×&EÑ&EÓ&G×&QÑ&QÐRTÓ&UÕUó€Fô ˜a×";Ñ";×"@Ñ"@Ó"B×"LÑ"LÈRÓ"PÕPÓQ€FÜ˜aŸh™h q×'BÑ'BÓCÓD€FØ�O˜fÕ$ vÕ-€EØ�%•- %Õ'¨!¯-©-¸Õ*:Õ:Õ;Ð;r2   c                 ó¼  € V P                   VP                   8w  d   \        R 4      h\        VP                  VP                  VP
                  4      ^V P                  P                  RRR7      P                  4       P                  R4      ,          ,
          p\        VP                  VP                  VP                  V P                  ,
          VP
                  4      pVP                  P                  VP                  P                  R4      ,          p\        P                  P!                  VP
                  VRR7      p\#        V P                  VP                  P%                  4       P                  R4      ,          4      p\#        VP'                  V P                  4      4      pWg,
          pRW(,           V,           V P                   ^ ,          ,
          ,          # )ú�KL-divergence between two (Low Rank) Multivariate Normals with                          different event shapes cannot be computed©Údim1Údim2Frï   rñ   rw   rv   )rÉ   rò   r   ró   rô   rõ   Ú_unbroadcasted_scale_trilÚdiagonalr½   r{   r   rÚ   rö   rµ   rl   r÷   rø   r€   rù   rû   )	rƒ   r„   rü   rý   rþ   rÿ   r   r  r  s	   &&       r/   Ú0_kl_multivariatenormal_lowrankmultivariatenormalr  w  sx  € à‡}�}˜Ÿ™Ô%ÜðEó
ð 	
ô
 "Ø	×#Ñ# Q×%>Ñ%>À×@SÑ@Sóà	ˆA×'Ñ'×0Ñ0°b¸rÐ0ÓB×FÑFÓH×LÑLÈRÓPÕPõQ€Eô 'Ø	×#Ñ#Ø	×!Ñ!Ø	�‰�—‘�Ø	×Ñó	€Eð ×+Ñ+×.Ñ.°×1JÑ1J×1TÑ1TÐUWÓ1XÕX€IÜ�‰×%Ñ% a×&9Ñ&9¸9ÈEÐ%ÓR€AÜØ	×#Ñ# a×&?Ñ&?×&EÑ&EÓ&G×&QÑ&QÐRTÓ&UÕUó€Fô ˜aŸh™h q×'BÑ'BÓCÓD€FØ�O€EØ�%•- %Õ'¨!¯-©-¸Õ*:Õ:Õ;Ð;r2   c                 ó°  € V P                   VP                   8w  d   \        R 4      h^VP                  P                  RRR7      P	                  4       P                  R4      ,          \        V P                  V P                  V P                  4      ,
          p\        VP                  VP                  V P                  ,
          4      p\        P                  P                  VP                  P                  RR V P                  P                  RR 4      pV P                   ^ ,          pVP                  P!                  WEV3,           4      pV P                  P!                  WEV P"                  P%                  R4      3,           4      p\        P&                  ! V P                  P)                  4       4      P!                  WEV3,           4      p\+        \        P,                  P/                  WgRR7      4      p	\+        \        P,                  P/                  WhRR7      4      p
Wš,           pRW+,           V,           V P                   ^ ,          ,
          ,          # )r  r  NFrï   rñ   rw   rv   )rÉ   rò   r  r  r½   r{   r   ró   rô   rõ   r   rÚ   rl   Ú_CÚ_infer_sizer|   ÚexpandÚ
cov_factorrx   Ú
diag_embedrú   r€   r÷   rø   )rƒ   r„   rü   rý   Úcombined_batch_shaper~   Úq_scale_trilÚp_cov_factorÚ
p_cov_diagr   r  r  s   &&          r/   Ú0_kl_lowrankmultivariatenormal_multivariatenormalr  •  sî  € à‡}�}˜Ÿ™Ô%ÜðEó
ð 	
ð
 �×+Ñ+×4Ñ4¸"À2Ð4ÓF×JÑJÓL×PÑPØ
óõ äØ	×#Ñ# Q×%>Ñ%>À×@SÑ@Só	õ€Eô
 ˜q×:Ñ:¸Q¿U¹UÀQÇUÁU½]ÓL€Eô !Ÿ8™8×/Ñ/Ø	×#Ñ#×)Ñ)¨#¨2Ð.°×0KÑ0K×0QÑ0QÐRUÐSUÐ0VóÐð 	
�‰�aÕ€AØ×.Ñ.×5Ñ5Ð6JÐQRÈVÕ6SÓT€LØ×.Ñ.×5Ñ5Ø 1§<¡<×#4Ñ#4°RÓ#8Ð9Õ9ó€Lô ×!Ò! !×";Ñ";×"@Ñ"@Ó"BÓC×JÑJØ 1˜vÕ%ó€Jô Ü�‰×%Ñ% lÈÐ%ÓNó€Fô Ü�‰×%Ñ% lÀeÐ%ÓLó€Fð �O€EØ�%•- %Õ'¨!¯-©-¸Õ*:Õ:Õ;Ð;r2   c                 ó~  € V P                   VP                   8w  d   \        R 4      hVP                  P                  RRR7      P	                  4       P                  R4      V P                  P                  RRR7      P	                  4       P                  R4      ,
          p\        P                  P                  VP                  P                  RR V P                  P                  RR 4      pV P                   ^ ,          pVP                  P                  W4V3,           4      pV P                  P                  W4V3,           4      p\        \        P                  P                  WVRR7      4      p\        VP                  VP                  V P                  ,
          4      pVRWx,           V,
          ,          ,           # )zvKL-divergence between two Multivariate Normals with                          different event shapes cannot be computedr  NFrï   rñ   rw   rv   )rÉ   rò   r  r  r½   r{   rl   r  r  r|   r  r€   r÷   rø   r   rÚ   )	rƒ   r„   Ú
half_term1r  r~   r  Úp_scale_trilr  rý   s	   &&       r/   Ú)_kl_multivariatenormal_multivariatenormalr  º  sx  € ð 	‡}�}˜Ÿ™Ô%ÜðEó
ð 	
ð
 ×,Ñ,×5Ñ5¸2ÀBÐ5ÓG×KÑKÓM×QÑQØ
óà	×#Ñ#×,Ñ,°"¸2Ð,Ó>×BÑBÓD×HÑHÈÓLõM€Jô !Ÿ8™8×/Ñ/Ø	×#Ñ#×)Ñ)¨#¨2Ð.°×0KÑ0K×0QÑ0QÐRUÐSUÐ0VóÐð 	
�‰�aÕ€AØ×.Ñ.×5Ñ5Ð6JÐQRÈVÕ6SÓT€LØ×.Ñ.×5Ñ5Ð6JÐQRÈVÕ6SÓT€LÜÜ�‰×%Ñ% lÈÐ%ÓNó€Eô ˜q×:Ñ:¸Q¿U¹UÀQÇUÁU½]ÓL€EØ˜˜u�}¨qÕ0Õ1Õ1Ð1r2   c                 ó*  € V P                   VP                   ,          P                  ^4      pV P                  VP                  ,
          VP                   ,          P                  ^4      pRW#,           ^,
          VP                  4       ,
          ,          # ©r‚   rñ   ©rÙ   rz   rÚ   r½   )rƒ   r„   Ú	var_ratior”   s   &&  r/   ræ   ræ   Ó  sa   € à—‘˜1Ÿ7™7Õ"×'Ñ'¨Ó*€IØ�5‰5�1—5‘5�=˜AŸG™GÕ
#×	(Ñ	(¨Ó	+€BØ�)•. 1Õ$ y§}¡}£Õ6Õ7Ð7r2   c                 óB   € \        V P                  VP                  4      # r(   )r¬   Ú_categoricalrã   s   &&r/   Ú'_kl_onehotcategorical_onehotcategoricalr#  Ú  s   € ä& q§~¡~°q·~±~ÓFÐFr2   c                 óp  € V P                   VP                   ,          pVP                  V P                  ,          pVP                  VP                  4       ,          pVP                  4       ) pWE,           V,           ^,
          p\        W`P                  P
                  VP                  P
                  8  &   V# rº   )rÙ   Úalphar½   r   ÚsupportÚlower_bound)rƒ   r„   rë   Úalpha_ratior”   r•   rÏ   s   &&     r/   Ú_kl_pareto_paretor)  ß  sƒ   € ð —'‘'˜AŸG™GÕ#€KØ—'‘'˜AŸG™GÕ#€KØ	
�‰�;—?‘?Ó$Õ	$€BØ
�/‰/Ó
Ð	€BØ�W�{Õ" QÕ&€FÜ<?€F�9‰9× Ñ  1§9¡9×#8Ñ#8Ñ8Ñ9Ø€Mr2   c                 óÚ   € V P                   V P                   P                  4       VP                   P                  4       ,
          ,          V P                   VP                   ,
          ,
          # r(   r»   rã   s   &&r/   Ú_kl_poisson_poissonr+  ë  s;   € à�6‰6�Q—V‘V—Z‘Z“\ A§F¡F§J¡J£LÕ0Õ1°Q·V±V¸a¿f¹fµ_ÕEÐEr2   c                 óÆ   € V P                   VP                   8w  d   \        hV P                  VP                  8w  d   \        h\        V P                  VP                  4      # r(   )Ú
transformsrŠ   rÉ   r%   rç   rã   s   &&r/   Ú_kl_transformed_transformedr.  ð  sC   € à‡|�|�q—|‘|Ô#Ü!Ð!Ø‡}�}˜Ÿ™Ô%Ü!Ð!Ü˜Ÿ™ a§k¡kÓ2Ð2r2   c                 ó  € VP                   VP                  ,
          V P                   V P                  ,
          ,          P                  4       p\        W!P                  V P                  8„  VP                   V P                   8  ,          &   V# r(   )ÚhighÚlowr½   r   ©rƒ   r„   rÏ   s   && r/   Ú_kl_uniform_uniformr3  ù  sW   € à�v‰v˜Ÿ™�~ !§&¡&¨1¯5©5¥.Õ1×6Ñ6Ó8€FÜ25€F�E‰E�A—E‘E‰M˜aŸf™f q§v¡v™oÕ.Ñ/Ø€Mr2   c                 ó¦   € V P                  4       ) V P                  VP                  P                  4       ,          VP                  ,
          ,
          # r(   )râ   rŽ   r¼   r½   rã   s   &&r/   Ú_kl_bernoulli_poissonr5    s1   € à�I‰I‹Kˆ<˜1Ÿ7™7 Q§V¡V§Z¡Z£\Õ1°A·F±FÕ:Õ;Ð;r2   c                 óÞ   € V P                  4       ) V P                  VP                  ,          ,
          \        P                  ! VP
                  ) 4      ,
          VP                  4       ,
          # r(   )râ   r®   r’   rl   r¥   rŽ   r¯   rã   s   &&r/   Ú_kl_beta_continuous_bernoullir7    sS   € ð 
�‰‹ˆØ
�&‰&�1—8‘8Õ
õ	ä
�+Š+�q—w‘w�hÓ
õ	 ð ×
Ñ
Ó
!õ	"ðr2   c                 ó,   € \        V P                  4      # r(   )rp   r˜   rã   s   &&r/   Ú_kl_beta_infinityr9    s   € ä˜!×*Ñ*Ó+Ð+r2   c                 óê   € V P                  4       ) VP                  P                  4       ,
          VP                  V P                  V P                  V P                  ,           ,          ,          ,           # r(   )râ   r¼   r½   r˜   r™   rã   s   &&r/   Ú_kl_beta_exponentialr;    sT   € ð 
�‰‹ˆØ
�&‰&�*‰*‹,õ	à
�&‰&�A×$Ñ$¨×(8Ñ(8¸1×;KÑ;KÕ(KÕLÕ
Mõ	Nðr2   c                 ó&  € V P                  4       ) pVP                  P                  4       VP                  VP                  P	                  4       ,          ,
          pVP                  ^,
          V P
                  P                  4       V P
                  V P                  ,           P                  4       ,
          ,          pVP                  V P
                  ,          V P
                  V P                  ,           ,          pW#,           V,
          V,           # rº   )râ   r´   rš   r¼   r½   r˜   r›   r™   rÖ   s   &&    r/   Ú_kl_beta_gammar=    sº   € à
�)‰)‹+ˆ€BØ	
�‰×	Ñ	Ó	! A§O¡O°a·f±f·j±j³lÕ$BÕ	B€BØ
�/‰/˜AÕ
Ø	×Ñ× Ñ Ó" a×&6Ñ&6¸×9IÑ9IÕ&I×%RÑ%RÓ%TÕTõ
€Bð 
�‰�!×"Ñ"Õ	" a×&6Ñ&6¸×9IÑ9IÕ&IÕ	J€BØ�7�R�<˜"ÕÐr2   c                 óx  € V P                   V P                   V P                  ,           ,          pVP                  P                  ^4      pV P	                  4       ) pRV^,          \
        P                  ,          P                  4       ,          pV^V,
          ,          V P                   V P                  ,           ^,           ,          VP                  ^4      ,           R,          pVP                  V,          pVP                  P                  ^4      R,          pWE,           Wg,
          V,           V,          ,           # r  )	r˜   r™   rÙ   rz   râ   ÚmathÚpir½   rÚ   )	rƒ   r„   ÚE_betaÚ
var_normalr”   r•   rž   rŸ   r    s	   &&       r/   Ú_kl_beta_normalrC  ,  sß   € à×Ñ ×!1Ñ!1°A×4DÑ4DÕ!DÕE€FØ—‘—‘˜Q“€JØ
�)‰)‹+ˆ€BØ	�
˜Q•¤§¡Õ(×-Ñ-Ó/Õ	/€Bà�!�f•*Õ ×!1Ñ!1°A×4DÑ4DÕ!DÀqÕ!HÕIØ
�*‰*�Q‹-õ	àõ
€Bð 
�‰��€BØ	
�‰�‰�1‹˜Õ	€BØ�7�b•g •l jÕ0Õ0Ð0r2   c                 ó*  € V P                  4       ) VP                  VP                  ,
          P                  4       ,           p\        W!P                  V P
                  P                  8„  VP                  V P
                  P                  8  ,          &   V# r(   )râ   r0  r1  r½   r   r&  r'  Úupper_boundr2  s   && r/   Ú_kl_beta_uniformrF  ;  sa   € à�i‰i‹kˆ\˜QŸV™V a§e¡e�^×0Ñ0Ó2Õ2€FÜQT€F�E‰E�A—I‘I×)Ñ)Ñ)¨a¯f©f°q·y±y×7LÑ7LÑ.LÕMÑNØ€Mr2   c                 ó,   € \        V P                  4      # r(   )rp   rŽ   rã   s   &&r/   Ú!_kl_continuous_bernoulli_infinityrH  E  s   € ä˜!Ÿ'™'Ó"Ð"r2   c                 ó²   € V P                  4       ) \        P                  ! VP                  4      ,
          VP                  V P                  ,          ,           # r(   )râ   rl   r½   r¼   r®   rã   s   &&r/   Ú$_kl_continuous_bernoulli_exponentialrJ  J  s3   € à�I‰I‹Kˆ<œ%Ÿ)š) A§F¡FÓ+Õ+¨a¯f©f°q·v±v­oÕ=Ð=r2   c                 óh  € V P                  4       ) pR \        P                  ! R\        P                  ,          4      \        P
                  ! VP                  VP                  ,          4      ,           ,          \        P                  ! VP                  4      ,           pV P                  \        P
                  ! V P                  4      ,           RVP                  ,          V P                  ,          ,
          R\        P
                  ! VP                  4      ,          ,          pW#,           V,           # )rñ   g       @)
râ   r?  r½   r@  rl   ÚsquarerÚ   rÙ   Úvariancer®   r°   s   &&   r/   Ú_kl_continuous_bernoulli_normalrN  S  s·   € à
�)‰)‹+ˆ€BØ	”—’˜œtŸw™w�Ó'¬%¯,ª,°q·u±u¸q¿w¹wµÓ*GÕGÕ	HÌ5Ï9Ê9Ø	�‰óLõ 
€Bð �*‰*”u—|’| A§F¡FÓ+Õ
+¨c°A·E±E­k¸A¿F¹FÕ.BÕ
BØŒe�lŠl˜1Ÿ7™7Ó#Õ#õ
€Bð �7�R�<Ðr2   c           	      óè  € V P                  4       ) VP                  VP                  ,
          P                  4       ,           p\        P
                  ! \        P                  ! \        P                  ! VP                  V P                  P                  4      \        P                  ! VP                  V P                  P                  4      4      \        P                  ! V4      \        ,          V4      # r(   )râ   r0  r1  r½   rl   ÚwhereÚmaxÚger&  r'  ÚlerE  Ú	ones_liker   r2  s   && r/   Ú _kl_continuous_bernoulli_uniformrU  _  s”   € à�i‰i‹kˆ\˜QŸV™V a§e¡e�^×0Ñ0Ó2Õ2€FÜ�;Š;Ü�	Š	Ü�HŠH�Q—U‘U˜AŸI™I×1Ñ1Ó2Ü�HŠH�Q—V‘V˜QŸY™Y×2Ñ2Ó3ó	
ô 	�Š˜Ó¤#Õ%Øóð r2   c                 ó,   € \        V P                  4      # r(   ©rp   r¼   rã   s   &&r/   Ú_kl_exponential_infinityrX  l  s   € ô
 ˜!Ÿ&™&Ó!Ð!r2   c                 ó8  € VP                   V P                   ,          pVP                  ) \        P                  ! V4      ,          pVV,           VP                  P	                  4       ,           VP                  \
        ,          ,           ^\
        ,           ,
          # rº   )r¼   r´   rl   r½   rš   rÛ   )rƒ   r„   Úratior”   s   &&  r/   Ú_kl_exponential_gammar[  t  st   € à�F‰F�Q—V‘V�O€EØ
�/‰/Ð	œEŸIšI eÓ,Õ	,€Bà
Ø
õ	à
�/‰/×
 Ñ
 Ó
"õ	#ð �/‰/œLÕ
(õ	)ð Œ|Õõ		ðr2   c                 óF  € V P                   VP                  ,          pVP                  VP                  ,          pVP                  4       ^,
          p\        P
                  ! V4      V,          V^,           ,          pVP                  4       pWC,
          V,           V,           # rº   )r¼   rÙ   rÚ   r½   rl   rÜ   Ú
reciprocal)rƒ   r„   Úscale_rate_prodÚloc_scale_ratior”   r•   rž   s   &&     r/   Ú_kl_exponential_gumbelr`  �  sv   € à—f‘f˜qŸw™wÕ&€OØ—e‘e˜aŸg™g•o€OØ	×	Ñ	Ó	 Õ	"€BÜ	�Š�?Ó	# oÕ	5¸È1Õ9LÕ	M€BØ	×	#Ñ	#Ó	%€BØÕ "Õ$ rÕ)Ð)r2   c                 óÒ  € VP                   P                  ^4      pV P                  P                  ^4      pR\        P                  ! W2,          ^,          \
        P                  ,          4      ,          pVP                  4       pVP                  V P                  ,          pVP                  P                  ^4      R,          pV^,
          WV,
          V,           V,          ,           # r  )	rÙ   rz   r¼   rl   r½   r?  r@  r]  rÚ   )rƒ   r„   rB  Úrate_sqrr”   r•   rž   rŸ   s   &&      r/   Ú_kl_exponential_normalrc  Ž  s—   € à—‘—‘˜Q“€JØ�v‰v�z‰z˜!‹}€HØ	Œu�yŠy˜Õ.°Õ2´T·W±WÕ<Ó=Õ	=€BØ	×	Ñ	Ó	€BØ	
�‰�—‘�€BØ	
�‰�‰�1‹˜Õ	€BØ��6�R•W˜r•\ ZÕ/Õ/Ð/r2   c                 ó,   € \        V P                  4      # r(   )rp   r´   rã   s   &&r/   Ú_kl_gamma_infinityre  ™  s   € ô
 ˜!Ÿ/™/Ó*Ð*r2   c                 óÈ   € V P                  4       ) VP                  P                  4       ,
          VP                  V P                  ,          V P                  ,          ,           # r(   )râ   r¼   r½   r´   rã   s   &&r/   Ú_kl_gamma_exponentialrg  ¡  s:   € à�I‰I‹Kˆ<˜!Ÿ&™&Ÿ*™*›,Õ&¨¯©°!·/±/Õ)AÀAÇFÁFÕ)JÕJÐJr2   c                 óN  € V P                   VP                  ,          pVP                  VP                  ,          pV P                  ^,
          V P                  P	                  4       ,          V P                  P                  4       ,
          V P                  ,
          pVP                  4       V P                  V,          ,           p\        P                  ! V4      ^VP                  4       ,           P                  V P                  ) 4      ,          V,
          pWE,           V,           # rº   )r¼   rÙ   rÚ   r´   r›   rš   r½   rl   rÜ   r]  rz   )rƒ   r„   Úbeta_scale_prodr_  r”   r•   rž   s   &&     r/   Ú_kl_gamma_gumbelrj  ¦  s×   € à—f‘f˜qŸw™wÕ&€OØ—e‘e˜aŸg™g•o€Oà	
�‰˜1Õ	 §¡× 7Ñ 7Ó 9Õ9Ø
�/‰/×
 Ñ
 Ó
"õ	#à
�/‰/õ	ð ð
 
×	Ñ	Ó	 §¡°?Õ!BÕ	B€Bä�	Š	�/Ó"Øˆ×)Ñ)Ó+Õ+×
0Ñ
0°!·/±/Ð1AÓ
Bõ	Cà
õ	ð ð
 �7�R�<Ðr2   c                 ó  € VP                   P                  ^4      pV P                  P                  ^4      pR\        P                  ! W2,          ^,          \
        P                  ,          4      ,          V P                  ,
          V P                  P                  4       ,
          pRV P                  P                  ^4      V P                  ,           ,          V,          pVP                  V P                  ,          V P                  ,          pRVP                  P                  ^4      ,          pVV P                  ^,
          V P                  P                  4       ,          ,           WV,
          V,           V,          ,           # r  )rÙ   rz   r¼   rl   r½   r?  r@  r´   rš   rÚ   r›   )rƒ   r„   rB  Úbeta_sqrr”   r•   rž   rŸ   s   &&      r/   Ú_kl_gamma_normalrm  »  s  € à—‘—‘˜Q“€JØ�v‰v�z‰z˜!‹}€HàŒe�iŠi˜Õ-°Õ1´D·G±GÕ;Ó<Õ<Ø
�/‰/õ	à
�/‰/×
 Ñ
 Ó
"õ	#ð ð
 
�—‘×#Ñ# AÓ&¨¯©Õ8Õ	9¸HÕ	D€BØ	
�‰�—‘Õ	  1§6¡6Õ	)€BØ	ˆq�u‰u�y‰y˜‹|Õ	€Bà
Ø�?‰?˜QÕ !§/¡/×"9Ñ"9Ó";Õ
;õ	<à�7�R�<˜:Õ
%õ	&ðr2   c                 ó,   € \        V P                  4      # r(   ©rp   rÚ   rã   s   &&r/   Ú_kl_gumbel_infinityrp  Î  ó   € ô ˜!Ÿ%™%Ó Ð r2   c                 ó*  € V P                   VP                   ,          pV\        P                  ! ^\        P                  ,          4      ,          P	                  4       p\        P                  V,          R,          P                  ^4      ^,          pV P                  V P                   \        ,          ,           VP                  ,
          VP                   ,          P                  ^4      R,          pV) V,           V,           \        ^,           ,
          # r  )rÙ   r?  rú   r@  r½   rz   rÚ   rÛ   )rƒ   r„   Úparam_ratior”   r•   rž   s   &&    r/   Ú_kl_gumbel_normalrt  Û  s®   € à—'‘'˜AŸG™GÕ#€KØ
œŸ	š	 !¤d§g¡g¥+Ó.Õ
.×	3Ñ	3Ó	5€BÜ
�'‰'�KÕ
 #Õ
%×	*Ñ	*¨1Ó	-°Õ	1€BØ�5‰5�1—7‘7œ\Õ)Õ)¨A¯E©EÕ1°Q·W±WÕ
<×	AÑ	AÀ!Ó	DÀsÕ	J€BØˆ3��8�b�=œL¨1Õ,Õ-Ð-r2   c                 ó,   € \        V P                  4      # r(   ro  rã   s   &&r/   Ú_kl_laplace_infinityrv  ä  rq  r2   c                 ó  € VP                   P                  ^4      pV P                   P                  ^4      V,          pR\        P                  ! ^V,          \        P
                  ,          4      ,          pRV P                  P                  ^4      ,          pV P                  VP                  ,          pRVP                  P                  ^4      ,          pV) V,           WV,
          V,           V,          ,           ^,
          # r  )rÙ   rz   rl   r½   r?  r@  rÚ   )rƒ   r„   rB  Úscale_sqr_var_ratior”   r•   rž   rŸ   s   &&      r/   Ú_kl_laplace_normalry  î  s¬   € à—‘—‘˜Q“€JØŸ'™'Ÿ+™+ a›.¨:Õ5ÐØ	Œu�yŠy˜Ð0Õ0´4·7±7Õ:Ó;Õ	;€BØ	ˆq�u‰u�y‰y˜‹|Õ	€BØ	
�‰�—‘�€BØ	ˆq�u‰u�y‰y˜‹|Õ	€BØˆ3Ð$Õ$¨­°"­¸
Õ'BÕBÀQÕFÐFr2   c                 ó,   € \        V P                  4      # r(   ro  rã   s   &&r/   Ú_kl_normal_infinityr{  ù  rq  r2   c                 ó  € V P                   VP                  ,          pV P                  VP                  ,          P                  ^4      pVP                   VP                  ,          pVP                  4       R,          pW$,
          p\        P
                  ! V) RV,          ,           V,           4      pV) V,           V,           R^\        P                  ! ^\        P                  ,          4      ,           ,          ,
          # r  )rÚ   rÙ   rz   r½   rl   rÜ   r?  r@  )rƒ   r„   Úmean_scale_ratioÚvar_scale_sqr_ratior_  r”   r•   rž   s   &&      r/   Ú_kl_normal_gumbelr    s°   € à—u‘u˜qŸw™w•ÐØŸ7™7 Q§W¡WÕ,×1Ñ1°!Ó4ÐØ—e‘e˜aŸg™g•o€OØ	×	 Ñ	 Ó	" SÕ	(€BØ	Õ	+€BÜ	�ŠÐ$Ð$ sÐ-@Õ'@Õ@À?ÕRÓ	S€BØˆ3��8�b�=˜C 1¤t§x¢x°´D·G±GµÓ'<Õ#<Õ=Õ>Ð>r2   c                 óÎ  € V P                   VP                   ,
          pV P                  VP                  ,          pW P                  ,          p\        P                  ! V4      p\        P
                  ! ^\        P                  ,          4      V P                  ,          \        P                  ! RVP                  ^4      ,          4      ,          pV\        P                  ! \        P
                  ! R4      V,          4      ,          pV) Wg,           VP                  ,          ,           R^\        P                  ! R\        P                  ,          4      ,           ,          ,
          # )r‚   rñ   g      à¿)
rÚ   rÙ   rl   r½   r?  rú   r@  rÜ   rz   Úerf)rƒ   r„   Úloc_diffrë   Úloc_diff_scale_ratior”   r•   rž   s   &&      r/   Ú_kl_normal_laplacer„    sÝ   € à�u‰u�q—u‘u�}€HØ—'‘'˜AŸG™GÕ#€KØ#§g¡gÕ-ÐÜ	�Š�;Ó	€Bä�	Š	�!”d—g‘g•+Ó §¡Õ(¬5¯9ª9°TÐ<P×<TÑ<TÐUVÓ<WÕ5WÓ+XÕXð ð 
”E—I’IœdŸiši¨›nÐ/CÕCÓDÕ	D€BØˆ3�"•'˜QŸW™WÕ$Õ$¨¨q´4·8²8¸CÄ$Ç'Á'½MÓ3JÕ/JÕ(KÕLÐLr2   c                 ó,   € \        V P                  4      # r(   )rp   rÙ   rã   s   &&r/   Ú_kl_pareto_infinityr†    s   € ô ˜!Ÿ'™'Ó"Ð"r2   c                 ób  € V P                   VP                  ,          pV P                  V,          P                  4       pV P                  P	                  4       pV P                  V,          V P                  ^,
          ,          pW4,
          V,           ^,
          p\
        W`P                  ^8*  &   V# rº   )rÙ   r¼   r%  r½   r]  r   )rƒ   r„   r^  r”   r•   rž   rÏ   s   &&     r/   Ú_kl_pareto_exponentialrˆ  "  s}   € à—g‘g §¡Õ&€OØ
�'‰'�OÕ
#×	(Ñ	(Ó	*€BØ	
�‰×	Ñ	Ó	€BØ	
�‰�?Õ	" a§g¡g°¥kÕ	2€BØ�W�r�\˜AÕ€FÜ€F�7‰7�a‰<ÑØ€Mr2   c                 ór  € V P                   P                  4       V P                  P                  4       ,           pV P                  P                  4       V,
          pVP                  P                  4       VP                  VP                  P                  4       ,          ,
          p^VP                  ,
          V,          pVP                  V P                  ,          V P                   ,          V P                  ^,
          ,          pW4,           V,           V,           ^,
          p\        WpP                  ^8*  &   V# rº   )rÙ   r½   r%  r]  r´   rš   r¼   r   ©rƒ   r„   Úcommon_termr”   r•   rž   rŸ   rÏ   s   &&      r/   Ú_kl_pareto_gammarŒ  -  sÆ   € à—'‘'—+‘+“- !§'¡'×"4Ñ"4Ó"6Õ6€KØ	
�‰�‰‹˜Õ	$€BØ	
�‰×	Ñ	Ó	! A§O¡O°a·f±f·j±j³lÕ$BÕ	B€BØ
ˆa�o‰oÕ
 Õ	,€BØ	
�‰�!—'‘'Õ	˜AŸG™GÕ	# q§w¡w°¥{Õ	3€BØ�W�r�\˜BÕ Õ"€FÜ€F�7‰7�a‰<ÑØ€Mr2   c                 óè  € ^VP                   P                  ^4      ,          pV P                   V P                  ^,
          ,          p\        P                  ! ^\        P
                  ,          4      VP                   ,          V P                  ,          V P                   ,          P                  4       pV P                  P                  4       pV P                  VP                  ^4      ,          V P                  ^,
          ,          pV P                  V,          VP                  ,
          P                  ^4      pWE,
          Wg,           V,          ,           ^,
          p\        W€P                  ^8*  &   V# ©r‚   )
rÙ   rz   r%  r?  rú   r@  r½   r]  rÚ   r   )	rƒ   r„   rB  r‹  r”   r•   rž   rŸ   rÏ   s	   &&       r/   Ú_kl_pareto_normalr�  <  sí   € à�Q—W‘W—[‘[ “^Õ#€JØ—'‘'˜QŸW™W q�[Õ)€KÜ
�)Š)�AœŸ™•KÓ
  1§7¡7Õ
*¨Q¯W©WÕ
4°q·w±wÕ
>×	CÑ	CÓ	E€BØ	
�‰×	Ñ	Ó	€BØ	
�‰�;—?‘? 1Ó%Õ	%¨¯©°1­Õ	5€BØ
�'‰'�KÕ
 !§%¡%Õ
'×	,Ñ	,¨QÓ	/€BØ�W˜� :Õ-Õ-°Õ1€FÜ€F�7‰7�a‰<ÑØ€Mr2   c                 ó,   € \        V P                  4      # r(   rW  rã   s   &&r/   Ú_kl_poisson_infinityr‘  I  s   € ô ˜!Ÿ&™&Ó!Ð!r2   c                 ó|  € V P                   V P                  ,
          p\        P                  ! V4      pVP                  ^,
          \        V P                   4      \        V P                  4      ,
          V,
          ,          V,          pVP                  ^,
          \        ^V P                   ,
          4      \        ^V P                  ,
          4      ,
          V,           ,          V,          pVP                  P                  4       VP                  P                  4       ,           VP                  VP                  ,           P                  4       ,
          pWV,           V,
          V,
          p\        WpP                   VP                  P                  8„  V P                  VP                  P                  8  ,          &   V# rº   )r0  r1  rl   r½   r˜   rt   r™   rš   r   r&  rE  r'  rŠ  s   &&      r/   Ú_kl_uniform_betar“  O  sE  € à—&‘&˜1Ÿ5™5•.€KÜ	�Š�;Ó	€Bà	
×	Ñ	˜AÕ	Ü�A—F‘FÓœh q§u¡u›oÕ-°Õ;õ	=à
õ	ð ð 
×	Ñ	˜AÕ	Ü�A˜Ÿ™•JÓ¤(¨1¨q¯u©u­9Ó"5Õ5¸ÕCõ	Eà
õ	ð ð 	
×Ñ×ÑÓ!Ø
×
Ñ
×
!Ñ
!Ó
#õ	$à×Ñ˜a×.Ñ.Õ.×
6Ñ
6Ó
8õ	9ð ð
 �W�r�\˜BÕ€FÜQT€F�F‰F�Q—Y‘Y×*Ñ*Ñ*¨q¯u©u°q·y±y×7LÑ7LÑ/LÕMÑNØ€Mr2   c           	      óB  € V P                  4       ) V P                  VP                  ,          ,
          \        P                  ! VP
                  ) 4      ,
          VP                  4       ,
          p\        P                  ! \        P                  ! \        P                  ! V P                  VP                  P                  4      \        P                  ! V P                  VP                  P                  4      4      \        P                   ! V4      \"        ,          V4      # r(   )râ   r®   r’   rl   r¥   rŽ   r¯   rP  rQ  rR  r0  r&  rE  rS  r1  r'  rT  r   r2  s   && r/   Ú _kl_uniform_continuous_bernoullir•  g  sÀ   € ð 
�‰‹ˆØ
�&‰&�1—8‘8Õ
õ	ä
�+Š+�q—w‘w�hÓ
õ	 ð ×
Ñ
Ó
!õ	"ð ô �;Š;Ü�	Š	Ü�HŠH�Q—V‘V˜QŸY™Y×2Ñ2Ó3Ü�HŠH�Q—U‘U˜AŸI™I×1Ñ1Ó2ó	
ô 	�Š˜Ó¤#Õ%Øóð r2   c                 óD  € VP                   V P                  V P                  ,           ,          ^,          V P                  V P                  ,
          VP                   ,          P                  4       ,
          p\        W P                  VP
                  P                  8  &   V# rŽ  )r¼   r0  r1  r½   r   r&  r'  r2  s   && r/   Ú_kl_uniform_exponetialr—  y  sd   € à�V‰V�q—v‘v §¡•~Õ&¨Õ*¨q¯v©v¸¿¹­~ÀÇÁÕ.G×-LÑ-LÓ-NÕN€FÜ,/€F�5‰5�1—9‘9×(Ñ(Ñ(Ñ)Ø€Mr2   c                 óŠ  € V P                   V P                  ,
          pVP                  4       pVP                  P	                  4       VP                  VP
                  P                  4       ,          ,
          p^VP                  ,
          \        V P                   4      \        V P                  4      ,
          V,
          ,          V,          pVP
                  V P                   V P                  ,           ,          ^,          pV) V,           V,           V,           p\        WpP                  VP                  P                  8  &   V# rº   )
r0  r1  r½   r´   rš   r¼   rt   r   r&  r'  rŠ  s   &&      r/   Ú_kl_uniform_gammar™  €  sÚ   € à—&‘&˜1Ÿ5™5•.€KØ	�‰Ó	€BØ	
�‰×	Ñ	Ó	! A§O¡O°a·f±f·j±j³lÕ$BÕ	B€Bà	
ˆQ�_‰_Õ	Ü�A—F‘FÓœh q§u¡u›oÕ-°Õ;õ	=à
õ	ð ð
 
�‰�1—6‘6˜AŸE™E•>Õ	" QÕ	&€BØˆS�2�X˜�]˜RÕ€FÜ,/€F�5‰5�1—9‘9×(Ñ(Ñ(Ñ)Ø€Mr2   c                 óâ  € VP                   V P                  V P                  ,
          ,          pV P                  VP                  ,
          VP                   ,          pV P                  VP                  ,
          VP                   ,          pVP	                  4       R W4,           ,          ,           pV\
        P                  ! V) 4      \
        P                  ! V) 4      ,
          ,          pWV,
          # )rñ   )rÙ   r0  r1  rÚ   r½   rl   rÜ   )rƒ   r„   r‹  Úhigh_loc_diffÚlow_loc_diffr”   r•   s   &&     r/   Ú_kl_uniform_gumbelr�  �  s•   € à—'‘'˜QŸV™V a§e¡e�^Õ,€KØ—V‘V˜aŸe™e•^ q§w¡wÕ.€MØ—E‘E˜AŸE™E•M Q§W¡WÕ,€LØ	�‰Ó	˜S MÕ$@ÕAÕ	A€BØ	œŸ	š	 = .Ó1´E·I²I¸|¸mÓ4LÕLÕ	M€BØ�7€Nr2   c                 ó  € V P                   V P                  ,
          p\        P                  ! \        P                  ^,          4      VP
                  ,          V,          P                  4       pVP                  ^4      ^,          pV P                   V P                  ,           ^VP                  ,          ,
          ^,          P                  ^4      pVRWE,           ,          VP
                  P                  ^4      ,          ,           # r  )	r0  r1  r?  rú   r@  rÙ   r½   rz   rÚ   )rƒ   r„   r‹  r”   r•   rž   s   &&    r/   Ú_kl_uniform_normalrŸ  �  s¥   € à—&‘&˜1Ÿ5™5•.€KÜ
�)Š)”D—G‘G˜a•KÓ
  1§7¡7Õ
*¨[Õ
8×	=Ñ	=Ó	?€BØ
×	Ñ	˜1Ó	 Õ	"€BØ�6‰6�A—E‘E�>˜A §¡�IÕ%¨Õ
*×	/Ñ	/°Ó	2€BØ��r•w• !§'¡'§+¡+¨a£.Õ0Õ0Ð0r2   c                 óâ  € V P                   V P                  ,
          pVP                  VP                  P	                  VP                  4      ,          V,          P                  4       p\        V P                   4      \        V P                  4      ,
          V,
          V,          pWAP                  ^,           ,          V,
          p\        WPP                  VP                  P                  8  &   V# rº   )
r0  r1  r%  rÙ   rz   r½   rt   r   r&  r'  )rƒ   r„   Úsupport_uniformr”   r•   rÏ   s   &&    r/   Ú_kl_uniform_paretor¢  ¦  sš   € à—f‘f˜qŸu™u•n€OØ
�'‰'�A—G‘G—K‘K §¡Ó(Õ
(¨OÕ
<×	AÑ	AÓ	C€BÜ
�1—6‘6Ó
œX a§e¡e›_Õ
,¨Õ
>À/Õ	Q€BØ—7‘7˜Q•;Õ "Õ$€FÜ,/€F�5‰5�1—9‘9×(Ñ(Ñ(Ñ)Ø€Mr2   c                 ó®   € V P                   VP                   8w  d   \        h\        V P                  VP                  4      p\	        W P                   4      # r(   )Úreinterpreted_batch_ndimsrŠ   r%   rç   r"   r2  s   && r/   Ú_kl_independent_independentr¥  °  sA   € à×"Ñ" a×&AÑ&AÔAÜ!Ð!Ü˜1Ÿ;™;¨¯©Ó4€FÜ˜&×"=Ñ"=Ó>Ð>r2   c                 óL  € V P                   VP                   ,           P                  ^4      V P                  VP                  ,
          P                  ^4      ,           P                  4       p^V P                   ,          VP                   ,          P                  4       pW#,
          # rŽ  r  r“   s   &&  r/   Ú_kl_cauchy_cauchyr§  ¸  sl   € ð �7‰7�Q—W‘WÕ×
!Ñ
! !Ó
$¨¯©°·±­×':Ñ':¸1Ó'=Õ
=×	BÑ	BÓ	D€BØ
ˆa�g‰g�+˜Ÿ™Õ
×	$Ñ	$Ó	&€BØ�7€Nr2   c                 ó&  € R.p \        \        R R7       F1  w  rV P                  RVP                   RVP                   R24       K3  	  RP	                  V 4      p\
        P                  '       d    \
        ;P                  V,          un        R# R# )	zHAppends a list of implemented KL functions to the doc for kl_divergence.zLKL divergence is currently implemented for the following distribution pairs:c                 óN   € V ^ ,          P                   V ^,          P                   3# r�   )rI   )Úp_qs   &r/   Ú<lambda>Ú_add_kl_info.<locals>.<lambda>Æ  s   €  s¨1¥v§¡¸¸A½¿¹Ñ&Hr2   )Úkeyz* :class:`~torch.distributions.z#` and :class:`~torch.distributions.Ú`z
	N)Úsortedr)   ÚappendrI   Újoinr%   Ú__doc__)Úrowsrƒ   r„   Úkl_infos       r/   Ú_add_kl_inforµ  À  sˆ   € ð 	Wð€Dô ÜÑH÷‰ˆð 	�‰Ø-¨a¯j©j¨\Ð9\Ð]^×]gÑ]gÐ\hÐhiÐjö	
ñð �k‰k˜$Ó€GÜ××Ðä×Ò Õ(×ñ r2   c                óð   € V ^8„  d   Qh/ ^ \         9   d,   \        \        \        \        3,          \        3,          ;R&   ^\         9   d,   \        \        \        \        3,          \        3,          ;R&   # )r‚   r)   r*   )Ú__conditional_annotations__ÚdictÚtupler4   r   )r†   s   "r/   r‡   r‡      sb   € ‡�÷Nò ŒdÜ	Œ$”ˆ*Õ”xÐõñ ñO ÷Tò ŒTÜ	Œ$”ˆ*Õ”xÐõñ òU r2   )Œr·  r?  r^   Úcollections.abcr   Ú	functoolsr   rl   r   r   Ú	bernoullir   Úbetar   Úbinomialr	   Úcategoricalr
   Úcauchyr   Úcontinuous_bernoullir   Ú	dirichletr   Údistributionr   Ú
exp_familyr   Úexponentialr   Úgammar   Ú	geometricr   Úgumbelr   Úhalf_normalr   Úindependentr   Úlaplacer   Úlowrank_multivariate_normalr   r   r   Úmultivariate_normalr   r   Únormalr   Úone_hot_categoricalr   Úparetor   Úpoissonr   Útransformed_distributionr    Úuniformr!   Úutilsr"   r#   rÛ   r)   r*   Ú__all__r$   r8   rj   rp   rt   r€   r%   r–   r¡   r¨   r¬   r±   r¸   r¿   rÔ   r×   rà   rä   rè   rí   r  r  r  r  ræ   r#  r)  r+  r.  r3  r5  r7  r9  r;  r=  rC  rF  rH  rJ  rN  rU  rX  r[  r`  rc  re  rg  rj  rm  rp  rt  rv  ry  r{  r  r„  r†  rˆ  rŒ  r�  r‘  r“  r•  r—  r™  r�  rŸ  r¢  r¥  r§  rµ  r‡   )r·  s   @r/   Ú<module>rÖ     s	  øðç €Û Ý $Ý $ã ß å  Ý Ý Ý $Ý Ý 5Ý  Ý &Ý )Ý $Ý Ý  Ý Ý #Ý $Ý ÷ñ ÷
 HÝ Ý 2Ý Ý Ý =Ý ß Að
 ð ó ð
 ð ó ð ˜/Ð
*€ò(ðV ÷ð ó ðò$ò8(ò/ò/õñL ˆY˜	Ó"ñó #ðñ ˆT�4Óñ"ó ð"ñ ˆX�xÓ ñó !ðñ ˆ[˜+Ó&ñó 'ðñ Ð Ð"5Ó6ñó 7ðñ ˆY˜	Ó"ñ'ó #ð'ñ ˆ[˜+Ó&ñó 'ðñ ÐÐ 1Ó2ñó 3ðñ" ˆU�EÓñó ðñ ˆV�VÓñ-ó ð-ñ ˆY˜	Ó"ñEó #ðEñ ˆZ˜Ó$ñ7ó %ð7ñ ˆW�gÓñó ðñ Ð&Ð(AÓBñ<ó Cð<ñB ÐÐ!:Ó;ñ<ó <ð<ñ: Ð&Ð(:Ó;ñ!<ó <ð!<ñH ÐÐ!3Ó4ñ2ó 5ð2ñ0 ˆV�VÓñ8ó ð8ñ ÐÐ 1Ó2ñGó 3ðGñ ˆV�VÓñó ðñ ˆW�gÓñFó ðFñ Ð$Ð&=Ó>ñ3ó ?ð3ñ ˆW�gÓñó ðñ ˆY˜Ó ñ<ó !ð<ñ ˆTÐ&Ó'ñó (ðñ ˆT�6Óñ,ó ð,ñ ˆT�;Óñó  ðñ ˆT�5Óñó ðñ ˆT�6Óñ1ó ð1ñ ˆT�7Óñó ðñ Ð  &Ó)ñ#ó *ð#ñ Ð  +Ó.ñ>ó /ð>ñ Ð  &Ó)ñó *ðñ Ð  'Ó*ñ	ó +ð	ñ ˆ[˜$ÓÙˆ[Ð-Ó.Ùˆ[˜&Ó!Ùˆ[˜'Ó"ñ"ó #ó "ó /ó  ð"ñ ˆ[˜%Ó ñ	ó !ð	ñ ˆ[˜&Ó!ñ*ó "ð*ñ ˆ[˜&Ó!ñ0ó "ð0ñ ˆU�DÓÙˆUÐ'Ó(ÙˆU�FÓÙˆU�GÓñ+ó ó ó )ó ð+ñ ˆU�KÓ ñKó !ðKñ ˆU�FÓñó ðñ( ˆU�FÓñó ðñ$ ˆV�TÓÙˆVÐ(Ó)ÙˆV�[Ó!ÙˆV�UÓÙˆV�VÓÙˆV�WÓñ!ó ó ó ó "ó *ó ð!ñ ˆV�VÓñ.ó ð.ñ ˆW�dÓÙˆWÐ)Ó*ÙˆW�kÓ"ÙˆW�eÓÙˆW�fÓÙˆW�gÓñ!ó ó ó ó #ó +ó ð!ñ ˆW�fÓñGó ðGñ ˆV�TÓÙˆVÐ(Ó)ÙˆV�[Ó!ÙˆV�UÓÙˆV�VÓÙˆV�WÓñ!ó ó ó ó "ó *ó ð!ñ ˆV�VÓñ?ó ð?ñ ˆV�WÓñ	Mó ð	Mñ ˆV�TÓÙˆVÐ(Ó)ÙˆV�WÓñ#ó ó *ó ð#ñ ˆV�[Ó!ñó "ðñ ˆV�UÓñó ðñ ˆV�VÓñ	ó ð	ñ ˆW�iÓ ÙˆW�hÓñ"ó  ó !ð"ñ ˆW�dÓñó ðñ. ˆWÐ)Ó*ñó +ðñ" ˆW�kÓ"ñó #ðñ ˆW�eÓñó ðñ ˆW�fÓñó ðñ ˆW�fÓñ1ó ð1ñ ˆW�fÓñó ðñ ˆ[˜+Ó&ñ?ó 'ð?ñ ˆV�VÓñó ðô)r2   