�
��g3y � �0 � d dl mZ d dlmZ d dlmZmZ d dlmZ d dl m
Z
d dlmZ d dl
mZ d dlmZ d d lmZmZmZmZmZmZ d d
lmZmZmZmZmZ d dlmZ d dl m!Z! d d
l"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 ddl7m8Z8 d dl9Z9 G d� de*� � Z:dddd�d�Z;d� Z<d� Z= G d � d!� � Z>dDd#�Z?d$� Z@ G d%� d&e>� � ZA G d'� d(eA� � ZB G d)� d*eA� � ZC G d+� d,eA� � ZD G d-� d.eD� � ZE G d/� d0eA� � ZF G d1� d2eD� � ZG G d3� d4e>� � ZH G d5� d6eH� � ZI G d7� d8eH� � ZJ G d9� d:eI� � ZK G d;� d<e>� � ZL G d=� d>e>� � ZMd?� ZNd@� ZOdEdB�ZPdC� ZQdS )F� )�Callable)�continuous_domain)�Sum�Product)�Tuple)�Expr)�arity)�default_sort_key)�Symbol)�atan2�zeta�frac�ceiling�floor�im)�Equality�GreaterThan�LessThan�
Relational�Ne��sympify)�
import_module)�BooleanFunction)�_get_free_symbols�extract_solution)�latex)�PythonCodePrinter)�
precedence)�Set�Interval�Union)� nsimplify)�sympy_deprecation_warning)�lambdify� ��intervalNc � � e Zd ZdZd� Zd� ZdS )�IntervalMathPrinterz�A printer to be used inside `plot_implicit` when `adaptive=True`,
in which case the interval arithmetic module is going to be used, which
requires the following edits.
c � � �� t |� � �d� �� fd�t |j t �� � D � � � � S )Nz & c 3 �D �K � | ]}�� |�� � V � �d S �N��parenthesize��.0�a�PREC�selfs ���e/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/sympy/plotting/series.py� <genexpr>z1IntervalMathPrinter._print_And.<locals>.<genexpr># �O �� � � � B� B�� �+�+�A�t�4�4� B� B� B� B� B� B� ��key�r �join�sorted�argsr
�r4 �exprr3 s ` @r5 �
_print_AndzIntervalMathPrinter._print_And! �m ��� ��$�����z�z� B� B� B� B� B��� �/?�@�@�@�B� B� B� B� B� Br8 c � � �� t |� � �d� �� fd�t |j t �� � D � � � � S )Nz | c 3 �D �K � | ]}�� |�� � V � �d S r- r. r0 s ��r5 r6 z0IntervalMathPrinter._print_Or.<locals>.<genexpr>( r7 r8 r9 r; r? s ` @r5 � _print_OrzIntervalMathPrinter._print_Or&