3 lá˜_€ ã@s4ddlmZmZmZddlmZGdd„deƒZdS)é)Úabsolute_importÚdivisionÚprint_function)Úutilsc@sJeZdZdd„Zdd„Zdd„Zdd„Zd d „Zed d „ƒZ e j d ƒZ dS)ÚObjectIdentifierc CsÔ||_|jjdƒ}g}x^|D]V}yt|dƒ}Wn"tk rPtd|jƒ‚YnX|dkrhtd|jƒ‚|j|ƒqWt|ƒdkr�td|jƒ‚|ddkrªtd|jƒ‚|ddkrÐ|d d krÐtd |jƒ‚dS) NÚ.é z%Malformed OID: %s (non-integer nodes)rz*Malformed OID: %s (negative-integer nodes)éz0Malformed OID: %s (insufficient number of nodes)z2Malformed OID: %s (first node outside valid range)éé(z3Malformed OID: %s (second node outside valid range))Ú_dotted_stringÚsplitÚintÚ ValueErrorÚappendÚlen)ÚselfÚ dotted_stringZnodesZintnodesZnodeZ node_value©rú/usr/lib64/python3.6/_oid.pyÚ__init__ s6       zObjectIdentifier.__init__cCst|tƒstS|j|jkS)N)Ú isinstancerÚNotImplementedr)rÚotherrrrÚ__eq__5s zObjectIdentifier.__eq__cCs ||k S)Nr)rrrrrÚ__ne__;szObjectIdentifier.__ne__cCsdj|j|jƒS)Nz#)ÚformatrÚ_name)rrrrÚ__repr__>szObjectIdentifier.__repr__cCs t|jƒS)N)Úhashr)rrrrÚ__hash__CszObjectIdentifier.__hash__cCsddlm}|j|dƒS)Nr)Ú _OID_NAMESz Unknown OID)Zcryptography.x509.oidr!Úget)rr!rrrrFs zObjectIdentifier._namer N) Ú__name__Ú __module__Ú __qualname__rrrrr ÚpropertyrrZread_only_propertyrrrrrr s* rN)Z __future__rrrZ cryptographyrÚobjectrrrrrÚs