a
ˆlj© ã @ s2 d Z ddlZddlmZmZmZ G dd„ dƒZdS )zUtilities for defining models
é N)ÚAnyÚCallableÚTypec @ sª e Zd ZdZddgZeed ddœdd„Zedœd d
„Z ee
dœdd
„Zee
dœdd„Zee
dœdd„Z
ee
dœdd„Zee
dœdd„Zeeeege
f e
dœdd„ZdS )ÚKeyBasedCompareMixinz7Provides comparison capabilities that is based on a keyÚ_compare_keyÚ_defining_classN)ÚkeyÚdefining_classÚreturnc C s || _ || _d S ©N)r r )Úselfr r © r
ú>/usr/lib/python3.9/site-packages/pip/_internal/utils/models.pyÚ__init__
s zKeyBasedCompareMixin.__init__)r
c C s
t | jƒS r )Úhashr )r r
r
r Ú__hash__ s zKeyBasedCompareMixin.__hash__)Úotherr
c C s | |tj¡S r )Ú_compareÚoperatorÚ__lt__©r r r
r
r r s zKeyBasedCompareMixin.__lt__c C s | |tj¡S r )r r Ú__le__r r
r
r r s zKeyBasedCompareMixin.__le__c C s | |tj¡S r )r r Ú__gt__r r
r
r r s zKeyBasedCompareMixin.__gt__c C s | |tj¡S r )r r Ú__ge__r r
r
r r s zKeyBasedCompareMixin.__ge__c C s | |tj¡S r )r r Ú__eq__r r
r
r r s zKeyBasedCompareMixin.__eq__)r Úmethodr
c C s t || jƒstS || j|jƒS r )Ú
isinstancer ÚNotImplementedr )r r r r
r
r r # s zKeyBasedCompareMixin._compare)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú __slots__r r r Úintr Úboolr r r r r r r r
r
r
r r s r )r! r Útypingr r r r r
r
r
r Ú