a �DOgb(�@s�ddlmZmZgd�ZGdd�ded�ZGdd�de�Ze�e�Gdd �d e�Ze�e �Gd d �d e�Z Gd d �d e �Z e �e �dS)�)�ABCMeta�abstractmethod)�Number�Complex�Real�Rational�Integralc@seZdZdZdZdS)r�N)�__name__� __module__� __qualname__� __slots__�__hash__r r r �/usr/lib64/python3.9/numbers.pyr sr)� metaclassc@s�eZdZdZedd��Zdd�Zeedd���Zeedd ���Z ed d ��Z ed d ��Z edd��Z edd��Z dd�Zdd�Zedd��Zedd��Zedd��Zedd��Zedd��Zed d!��Zed"d#��Zed$d%��Zed&d'��Zd(S))rr cCsdS�Nr ��selfr r r� __complex__-szComplex.__complex__cCs|dkS�Nrr rr r r�__bool__1szComplex.__bool__cCst�dSr��NotImplementedErrorrr r r�real5sz Complex.realcCst�dSrrrr r r�imag>sz Complex.imagcCst�dSrr�r�otherr r r�__add__GszComplex.__add__cCst�dSrrrr r r�__radd__LszComplex.__radd__cCst�dSrrrr r r�__neg__QszComplex.__neg__cCst�dSrrrr r r�__pos__VszComplex.__pos__cCs || Srr rr r r�__sub__[szComplex.__sub__cCs | |Srr rr r r�__rsub___szComplex.__rsub__cCst�dSrrrr r r�__mul__cszComplex.__mul__cCst�dSrrrr r r�__rmul__hszComplex.__rmul__cCst�dSrrrr r r� __truediv__mszComplex.__truediv__cCst�dSrrrr r r� __rtruediv__rszComplex.__rtruediv__cCst�dSrr)r�exponentr r r�__pow__wszComplex.__pow__cCst�dSrr)r�baser r r�__rpow__|szComplex.__rpow__cCst�dSrrrr r r�__abs__�szComplex.__abs__cCst�dSrrrr r r� conjugate�szComplex.conjugatecCst�dSrrrr r r�__eq__�szComplex.__eq__N)r r r r rrr�propertyrrrrrr r!r"r#r$r%r&r(r*r+r,r-r r r rr sL                rc@s�eZdZdZedd��Zedd��Zedd��Zedd ��Zed%d d ��Z d d�Z dd�Z edd��Z edd��Z edd��Zedd��Zedd��Zedd��Zdd�Zedd ��Zed!d"��Zd#d$�Zd S)&rr cCst�dSrrrr r r� __float__�szReal.__float__cCst�dSrrrr r r� __trunc__�s zReal.__trunc__cCst�dSrrrr r r� __floor__�szReal.__floor__cCst�dSrrrr r r�__ceil__�sz Real.__ceil__NcCst�dSrr)r�ndigitsr r r� __round__�szReal.__round__cCs||||fSrr rr r r� __divmod__�szReal.__divmod__cCs||||fSrr rr r r� __rdivmod__�szReal.__rdivmod__cCst�dSrrrr r r� __floordiv__�szReal.__floordiv__cCst�dSrrrr r r� __rfloordiv__�szReal.__rfloordiv__cCst�dSrrrr r r�__mod__�sz Real.__mod__cCst�dSrrrr r r�__rmod__�sz Real.__rmod__cCst�dSrrrr r r�__lt__�sz Real.__lt__cCst�dSrrrr r r�__le__�sz Real.__le__cCs tt|��Sr)�complex�floatrr r rr�szReal.__complex__cCs| Srr rr r rr�sz Real.realcCsdSrr rr r rr�sz Real.imagcCs| Srr rr r rr,szReal.conjugate)N)r r r r rr/r0r1r2r4r5r6r7r8r9r:r;r<rr.rrr,r r r rr�s>              rc@s8eZdZdZeedd���Zeedd���Zdd�ZdS) rr cCst�dSrrrr r r� numeratorszRational.numeratorcCst�dSrrrr r r� denominatorszRational.denominatorcCs |j|jSr)r?r@rr r rr/szRational.__float__N) r r r r r.rr?r@r/r r r rr s  rc@s�eZdZdZedd��Zdd�Zed%dd��Zed d ��Zed d ��Z ed d��Z edd��Z edd��Z edd��Z edd��Zedd��Zedd��Zedd��Zedd��Zdd �Zed!d"��Zed#d$��ZdS)&rr cCst�dSrrrr r r�__int__/szIntegral.__int__cCst|�Sr)�intrr r r� __index__4szIntegral.__index__NcCst�dSrr)rr'�modulusr r rr(8s zIntegral.__pow__cCst�dSrrrr r r� __lshift__CszIntegral.__lshift__cCst�dSrrrr r r� __rlshift__HszIntegral.__rlshift__cCst�dSrrrr r r� __rshift__MszIntegral.__rshift__cCst�dSrrrr r r� __rrshift__RszIntegral.__rrshift__cCst�dSrrrr r r�__and__WszIntegral.__and__cCst�dSrrrr r r�__rand__\szIntegral.__rand__cCst�dSrrrr r r�__xor__aszIntegral.__xor__cCst�dSrrrr r r�__rxor__fszIntegral.__rxor__cCst�dSrrrr r r�__or__kszIntegral.__or__cCst�dSrrrr r r�__ror__pszIntegral.__ror__cCst�dSrrrr r r� __invert__uszIntegral.__invert__cCs tt|��Sr)r>rBrr r rr/{szIntegral.__float__cCs| Srr rr r rr?szIntegral.numeratorcCsdS)N�r rr r rr@�szIntegral.denominator)N)r r r r rrArCr(rErFrGrHrIrJrKrLrMrNrOr/r.r?r@r r r rr&sB              rN) �abcrr�__all__rr�registerr=rr>rrrBr r r r�sp u c