
    \h                      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
JrJrJr  S SKJrJr  S SKJrJrJr  S SKJrJr  S S	KJrJr  S S
KJr  S SKJr  S SKJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'  S SKJ(r(J)r)  S SK*J+r+J,r,J-r-  S SKJ.r.  \" S5      u  r/r0\\
4r1\" S5      r2\2Rg                  \\5      S 5       r4\2Rg                  \1\"5      S 5       r4\2Rg                  \
\!5      S 5       r4\2Rg                  \\!5      S 5       r4\2Rg                  \1\#5      S 5       r4\2Rg                  \1\%5      S 5       r4\2Rg                  \1\(5      S 5       r4\2Rg                  \1\5      S 5       r4\2Rg                  \1\&5      S 5       r4\2Rg                  \1\+5      S 5       r4\2Rg                  \1\,5      S 5       r4\2Rg                  \1\-5      S 5       r4g)    )S)Set)singularities)ExprAdd)LambdaFunctionClassdiff
expand_mul)Floatoo)DummysymbolsWild)explog)MinMax)true)
Dispatcher)imagesetInterval	FiniteSetUnionImageSetIntersectionRange
Complement)EmptySetis_function_invertible_in_set)IntegersNaturalsReals)match_real_imagzx y_set_functionc                     g N fxs     U/var/www/auris/envauris/lib/python3.13/site-packages/sympy/sets/handlers/functions.py_r-      s        c                 $    [        [        X5      6 $ r'   )r   mapr)   s     r,   r-   r-      s    c!i  r.   c                 P   SSK Jn  SSKJn  U R                  n[        UR                  5      S:  d  [        U R                  5      S:w  a  g U R                  S   nUR                  (       d'  UR                  U[        SS95      R                  SL a  g UR                  (       a  [        R                  nUnUR                   H  u  pU	[        L a  Un
OU	R!                  5       n
[#        Xz5      n
UR$                  (       a  ['        U5      nO[)        [+        XX5      U
5      n[-        Xk5      n[/        Xz5      nU[        R                  L d  M    U$    U$ UR0                  R2                  (       a  UR4                  R2                  (       d  g  SSKJn  [;        [=        XEU5      5      n[        U5      S:  a  U" U5      nUR@                  (       a  U" XEUR0                  S	S
9nO"UR0                  U;  a  U " UR0                  5      nURB                  (       a  U" XEUR4                  SS
9nO"UR4                  U;  a  U " UR4                  5      n[        U5      S:X  Ga  U" [E        XE5      U5      n[G        U[&        5      (       d  U[        R                  L d  g [;        U5      nWW/U Vs/ s H&  nUR                  (       d  M  UU;   d  M  U " U5      PM(     sn-   n[I        U6 [K        U6 nnSu  nnX::  a1  UU:X  a  UU;  a  UR@                  nUU:X  a  UU;  a  URB                  nO0UU:X  a  UU;  a  URB                  nUU:X  a  UU;  a  UR@                  n[M        UUUU5      $ [)        U [M        UR0                  US   UR@                  S5      5      [-        [O        S[        U5      S-
  5       Vs/ s H$  n[)        U [M        UU   UUS-      SS5      5      PM&     sn6 -   [)        U [M        US   UR4                  SURB                  5      5      -   $ ! [>         a     g f = fs  snf s  snf )Nr   )solveset)limit   T)realF)_nsort+)dir-)FF)(sympy.solvers.solvesetr2   sympy.seriesr3   exprlenfree_symbols	variablesis_realsubsr   is_Piecewiser   r   argsr   as_setr   	is_Numberr   r   r   r   r   startis_comparableendsympy.polys.polyutilsr6   listr   NotImplementedError	left_open
right_openr
   
isinstancer   r   r   range)r*   r+   r2   r3   r=   varresult
domain_setp_exprp_condintrvlimager6   sing_start_end	soln_exprsolnsiextrrG   rI   rM   rN   s                           r,   r-   r-   "   s   /" 66D
4!S%5%:
++a.C;;99S%T*+33u<
 $		V~#%j9!&) !4f=6)F $J7JQZZ'# !*" 77  (;(;0M$Q/0t9q=$<D 	{{t!''s3	
	177||T3/	
d	x
4yA~T$_c2	9i00

*Y~u !:u!$%II "&23q& "&1u !: :$Zds ,	:> 5#5KK	d{s%/\\
}e!3LL	f}E!1[[
sIz::8AGGT!W$%KK7 8"1c$i!m464 Qa$q1u+tT JK46 77 Qb155$EF	G 	GQ  &!:.6s*   
2P %P>PP-+P#

PPc                    U [         :X  aH  [        [        UR                  5      [        UR                  5      UR                  UR
                  5      $ U [        :X  aH  [        [        UR                  5      [        UR                  5      UR                  UR
                  5      $ [        [        [        U " [        5      5      U5      $ r'   )
r   r   rG   rI   rM   rN   r   r   r   _xr)   s     r,   r-   r-   }   sz    CxAGGc!%%j!++q||LL	
cAGGc!%%j!++q||LLF2qu%q))r.   c                 <   ^  [        U 4S jUR                   5       6 $ )Nc              3   <   >#    U  H  n[        TU5      v   M     g 7fr'   r   .0argr*   s     r,   	<genexpr>_.<locals>.<genexpr>   s     6v8As##v   )r   rD   r)   s   ` r,   r-   r-      s    6qvv677r.   c                    ^  [        T U5      (       a  [        U 4S jUR                   5       6 $ [        [	        [
        T " [
        5      5      U5      $ )Nc              3   <   >#    U  H  n[        TU5      v   M     g 7fr'   rc   rd   s     r,   rg   rh      s     A&3hq#..&ri   )r    r   rD   r   r   r`   r)   s   ` r,   r-   r-      s?     %Q**A!&&ABBr1R5)1--r.   c                     U$ r'   r(   r)   s     r,   r-   r-      s    Hr.   c                 J    [        [        [        U " [        5      5      U5      $ r'   )r   r   r`   r)   s     r,   r-   r-      s    F2qu%q))r.   c                    U(       d  [         R                  $ [        U R                  [        5      (       d  g UR
                  S:X  a  [        U " US   5      5      $ U [         R                  L a  U$ U R                  S   nU R                  nX#R                  ;  d  X#R                  U5      R                  ;   a  g UR                  R                  (       a#  U " UR                  U-  UR                  -   5      nOU " UR                  * U-  US   -   5      n[        U5      nXC:w  a  [        X$[!        UR
                  5      5      $ g )Nr4   r   r:   )r   r   rO   r=   r   sizer   IdentityFunctionr@   r?   r
   rG   	is_finitestepr   r   r   )r*   selfr+   r=   Fs        r,   r-   r-      s    zzaffd##yyA~47$$A	AA66D!!!Q))A,*C*C%CzzdiikDJJ&'tyyjlT"X%&1AyeDII.// r.   c                    U R                   n[        U[        5      (       d  g U R                  S   nU[	        U5      :X  a  [
        R                  $ U " S5      nU " U5      U-
  nU " U* 5      U-
  nS nU" U5      U" U5      :  a  Xd-   n[        SU/S9n[        SU/S9n	UR                  X-  U	-   5      n
U
(       Ga  X   (       Ga  X   R                  [        5      (       Gdt  X   R                  [        5      (       GdW  X   X   pUS;   aK  / n[        R                  " U	5       H'  nUR                  (       a  M  UR                  U5        M)     [        U6 n	U	R                  (       ab  UR                   (       aQ  [#        U	5      u  pU(       a<  UR$                  (       a+  UR$                  (       a  X-  nU[
        R&                  U-  -   n	OU	R                  (       at  UR(                  (       ac  [#        U	5      u  pU[
        R&                  -  nU(       a<  UR$                  (       a+  UR$                  (       a  X-  nU[
        R&                  U-  -   n	X-  U	-   nX R                   :w  a#  [+        [-        X25      [
        R.                  5      $ g )Nr   c                 N    [        S [        R                  " U 5       5       5      $ )Nc              3   B   #    U  H  nUR                  5       v   M     g 7fr'   )could_extract_minus_sign)re   r-   s     r,   rg   &_.<locals>.<lambda>.<locals>.<genexpr>   s#      #!A  88::!s   )sumr   	make_args)es    r,   <lambda>_.<locals>.<lambda>   s    # #q!# #r.   a)excludeb)r4   r:   )r=   rO   r   r@   absr   	Naturals0r   matchatomsr   r   r{   
is_integerappend	is_numberrA   r$   rH   ImaginaryUnitis_imaginaryr   r   r!   )r*   rs   r=   ncfxf_x	neg_countr   r   r   nonintbibrais                  r,   r-   r-      s   66DdD!!	AAs1v~{{ 	
!A	
1B
QB%!)C#I~	"%wS1#AS1#AJJqsQwEu%%u%%x1<FmmA&}}}MM"% ' VA;;199$Q'FBb&&1??++[[Q^^$Q'FB1??"Bb&&2+;+;++sQwvv~q44 r.   c                    U R                   n[        U[        5      (       d  g U R                  S   nUR                  U1-
  (       d  U[        U5      :X  a%  U[        R                  L a  U$ [        R                  $ UR                  U5      nUR                  US5      nUR                  (       a  UR                  (       a~  X$U-  U-   :X  ar  U[        R                  L a  XT-  nUS:  aC  US:X  a,  US:X  a  [        R                  $ US:X  a  [        R                  $ [        U[        U5      $ [        U[        * U5      $ g g g g )Nr   r4   )r=   rO   r   r@   r?   r   r   r"   r   coeffrB   
is_Integerr   r   )r*   rs   r=   r+   rr   r   s         r,   r-   r-      s   66DdD!!	AAs"3q6>qzz!;;zz!}IIaO<<DOOQ
0Bqzz!	ax19Av {{*a zz)QD))RC&& 1CO< #r.   c                     U R                   n[        U[        5      (       d  g [        U [	        [
        * [
        5      5      $ r'   )r=   rO   r   r%   r   r   )r*   rs   r=   s      r,   r-   r-     s1    66DdD!!HbS"-..r.   N)5sympy.core.singletonr   sympy.sets.setsr   sympy.calculus.singularitiesr   
sympy.corer   r   sympy.core.functionr   r	   r
   r   sympy.core.numbersr   r   sympy.core.symbolr   r   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   r   sympy.logic.boolalgr   sympy.multipledispatchr   
sympy.setsr   r   r   r   r   r   r   r   r   r    sympy.sets.fancysetsr!   r"   r#   r$   r`   _yFunctionUnionr%   registerr-   r(   r.   r,   <module>r      s   "  6   G G ( 2 2 ; = $ -% % % C : : B 
B'?+ s+ , y1! 2! )XG *XGt x0* 1* u-8 .8 |4. 5. x0 1 s+* ,* u-0 .0. x015 115h x0' 1'4 u-/ ./r.   