� u��g��`�ddlZddlZddlmZdddddd �Z dd �Zd �Zd�Zd�Zd�Z dS)�N�)�__ne__z==�<z<=�>z>=)�eq�lt�le�gt�geT� Comparablec�D� �dgt��gtd�� d}d}|�d}td|��� d<t� d <|�|d z }td |��� d <|�|d z }td |��� d<|�|d z }td|��� d<|�|d z }td|��� d<t j|t fi� fd���} |r| j�t��d|cxkrdkr*nn'|sd} t| ���tj | ��} | S)a� Create a class that can be passed into `attrs.field`'s ``eq``, ``order``, and ``cmp`` arguments to customize field comparison. The resulting class will have a full set of ordering methods if at least one of ``{lt, le, gt, ge}`` and ``eq`` are provided. Args: eq (typing.Callable | None): Callable used to evaluate equality of two objects. lt (typing.Callable | None): Callable used to evaluate whether one object is less than another object. le (typing.Callable | None): Callable used to evaluate whether one object is less than or equal to another object. gt (typing.Callable | None): Callable used to evaluate whether one object is greater than another object. ge (typing.Callable | None): Callable used to evaluate whether one object is greater than or equal to another object. require_same_type (bool): When `True`, equality and ordering methods will return `NotImplemented` if objects are not of the same type. class_name (str | None): Name of class. Defaults to "Comparable". See `comparison` for more details. .. versionadded:: 21.1.0 �value)� __slots__�__init__� _requirements�_is_comparable_torFNTr�__eq__rrr�__lt__r �__le__r �__gt__r �__ge__c�.��|����S�N)�update)�ns�bodys ��Y/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/attr/_cmp.py�<lambda>zcmp_using.<locals>.<lambda>]s���b�i�i��o�o���zDeq must be define is order to complete ordering from lt, le, gt, ge.) � _make_initr�_make_operatorr�types� new_class�objectr�append�_check_same_type� ValueError� functools�total_ordering) rrr r r �require_same_type� class_name�num_order_functions�has_eq_function�type_�msgrs @r� cmp_usingr1 s����`�Y��L�L��.�  � �D����O� �~���'��b�1�1��X����X�� �~��q� ��'��b�1�1��X�� �~��q� ��'��b�1�1��X�� �~��q� ��'��b�1�1��X�� �~��q� ��'��b�1�1��X�� �O��V�I�r�#=�#=�#=�#=� � �E� �5� ��"�"�#3�4�4�4� � �"�"�"�"��"�"�"�"�"�� "�Y�C��S�/�/� !��(��/�/�� �Lrc� �d�}|S)z! Create __init__ method. c��||_dS)z1 Initialize object with *value*. N)r)�selfrs rrz_make_init.<locals>.__init__us���� � � r�)rs rr!r!ps�� ��� �Orc�T���fd�}d|�d�|_dt|�d�|_|S)z! Create operator method. c���|�|��stS�|j|j��}|turtS|Sr)r�NotImplementedr)r4�other�result�funcs �r�methodz_make_operator.<locals>.method�sJ����%�%�e�,�,� "�!� !���d�j�%�+�.�.�� �^� #� #�!� !�� r�__z Return a z b. Computed by attrs.)�__name__�_operation_names�__doc__)�namer;r<s ` rr"r"~sO��� �����$�4�m�m�m�F�O�C�$�T�*�C�C�C� �N� �Mrc�H���t��fd��jD����S)z8 Check whether `other` is comparable to `self`. c3�0�K�|]}|����V��dSrr5)�.0r;r9r4s ��r� <genexpr>z$_is_comparable_to.<locals>.<genexpr>�s/�����@�@�T�t�t�D�%� � �@�@�@�@�@�@r)�allr�r4r9s``rrr�s/���� �@�@�@�@�@�T�-?�@�@�@� @� @�@rc�2�|jj|jjuS)zR Return True if *self* and *other* are of the same type, False otherwise. )r� __class__rGs rr'r'�s�� �;� �D�J�$8� 8�8r)NNNNNTr ) r)r#�_makerr?r1r!r"rr'r5rr�<module>rKs������� � � � ��������c��S��M�M�� � � � � ���`�`�`�`�F � � ����.A�A�A�9�9�9�9�9r
Memory