ó vÆ_c@s,dZddlZdefd„ƒYZdS(sUtilities for defining models iÿÿÿÿNtKeyBasedCompareMixincBskeZdZddgZd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z RS( s<Provides comparison capabilities that is based on a key t _compare_keyt_defining_classcCs||_||_dS(N(RR(tselftkeytdefining_class((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyt__init__s cCs t|jƒS(N(thashR(R((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyt__hash__scCs|j|tjƒS(N(t_comparetoperatort__lt__(Rtother((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyR scCs|j|tjƒS(N(R R t__le__(RR ((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyR scCs|j|tjƒS(N(R R t__gt__(RR ((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyRscCs|j|tjƒS(N(R R t__ge__(RR ((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyRscCs|j|tjƒS(N(R R t__eq__(RR ((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyR"scCs|j|tjƒS(N(R R t__ne__(RR ((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyR%scCs)t||jƒstS||j|jƒS(N(t isinstanceRtNotImplementedR(RR tmethod((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyR (s( t__name__t __module__t__doc__t __slots__RRR R RRRRR (((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyR s         (RR tobjectR(((sK/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyts