a ‚oe¼ã@súddlmZddlZddlZddlZddlmZddlmZddl m Z ej ej ej ejejfZGdd„deƒZGdd „d ejd �ZGd d „d eƒZGd d„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZdS)é)Ú annotationsN)Ú parseaddr)ÚName)ÚObjectIdentifierc@s eZdZdS)ÚUnsupportedGeneralNameTypeN)Ú__name__Ú __module__Ú __qualname__©r r ú?C:\Program Files\Certbot\pkgs\cryptography\x509\general_name.pyrsrc@s$eZdZeejddœdd„ƒƒZdS)Ú GeneralNamez typing.Any©ÚreturncCsdS)z0 Return the value of the object Nr ©Úselfr r r ÚvalueszGeneralName.valueN)rrr ÚpropertyÚabcÚabstractmethodrr r r r r sr )Ú metaclassc@sneZdZdddœdd„Zeddœdd„ƒZedddœd d „ƒZddœd d „Zd ddœdd„Z ddœdd„Z dS)Ú RFC822NameÚstrÚNone©rrcCsdt|tƒr6z| d¡Wq>ty2tdƒ‚Yq>0ntdƒ‚t|ƒ\}}|sR|sZtdƒ‚||_dS)NÚasciiz�RFC822Name values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.úvalue must be stringzInvalid rfc822name value)Ú isinstancerÚencodeÚUnicodeEncodeErrorÚ ValueErrorÚ TypeErrorrÚ_value)rrÚnameZaddressr r r Ú__init__%s  ÿ  zRFC822Name.__init__r cCs|jS©N©r!rr r r r:szRFC822Name.valuecCs| |¡}||_|Sr$©Ú__new__r!©ÚclsrÚinstancer r r Ú_init_without_validation>s z#RFC822Name._init_without_validationcCsd|j›d�S)Nz©rrr r r Ú__repr__DszRFC822Name.__repr__ÚobjectÚbool©ÚotherrcCst|tƒstS|j|jkSr$)rrÚNotImplementedr©rr2r r r Ú__eq__Gs zRFC822Name.__eq__ÚintcCs t|jƒSr$©Úhashrrr r r Ú__hash__MszRFC822Name.__hash__N© rrr r#rrÚ classmethodr+r.r5r9r r r r r$src@sneZdZdddœdd„Zeddœdd„ƒZedddœd d „ƒZddœd d „Zd ddœdd„Z ddœdd„Z dS)ÚDNSNamerrrcCsHt|tƒr6z| d¡Wq>ty2tdƒ‚Yq>0ntdƒ‚||_dS)Nrz~DNSName values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.r©rrrrrr r!©rrr r r r#Rs  ÿ zDNSName.__init__r cCs|jSr$r%rr r r rasz DNSName.valuecCs| |¡}||_|Sr$r&r(r r r r+es z DNSName._init_without_validationcCsd|j›d�S)Nzty2tdƒ‚Yq>0ntdƒ‚||_dS)NrzzURI values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.rr=r>r r r r#ys  ÿ z"UniformResourceIdentifier.__init__r cCs|jSr$r%rr r r rˆszUniformResourceIdentifier.valuecCs| |¡}||_|Sr$r&r(r r r r+Œs z2UniformResourceIdentifier._init_without_validationcCsd|j›d�S)Nz!r r r r# s zDirectoryName.__init__r cCs|jSr$r%rr r r r¦szDirectoryName.valuercCsd|j›d�S)Nzr r r r#¸s zRegisteredID.__init__r cCs|jSr$r%rr r r r¾szRegisteredID.valuercCsd|j›d�S)Nzr r r r#Ðsüþ ÿzIPAddress.__init__r cCs|jSr$r%rr r r râszIPAddress.valueÚbytescCs4t|jtjtjfƒr|jjS|jjj|jjjSdSr$)rrrErFrGZpackedZnetwork_addressZnetmaskrr r r Ú_packedæs ÿÿzIPAddress._packedrcCsd|j›d�S)Nz)ÚformatrMrrr r r r.sÿzOtherName.__repr__r/r0r1cCs&t|tƒstS|j|jko$|j|jkSr$)rrLr3rMrr4r r r r5s zOtherName.__eq__r6cCst|j|jfƒSr$)r8rMrrr r r r9szOtherName.__hash__N) rrr r#rrMrr.r5r9r r r r rLýs rL)Z __future__rrrEÚtypingZ email.utilsrZcryptography.x509.namerZcryptography.x509.oidrÚUnionrFrGrHrIrDÚ ExceptionrÚABCMetar rr<r?r@rBrCrLr r r r Ús,    ýÿ -''.