Re c @ sc d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z m Z d d l m Z y d d l Z Wn e k r d Z Yn Xd d d d d g Z d j j Z e Z Z xp d d d g f d d d g f f D]J \ Z Z x; e D]3 Z y e d e e f Wq e k r(Yq Xq Wq We d k oLe e e f k Z y d d l m Z m Z WnW e k ry$ d d l m Z d d l m Z Wn e k rd Z d Z Yn XYn Xe sGd d d e Z n e sd d d Z d d Z n Gd d d e Z Gd d d e Z d d d Z d a d d Z! d! d Z" d S(" i N( u ResolutionErroru ExtractionError( u urllib2u VerifyingHTTPSHandleru find_ca_bundleu is_availableu cert_pathsu opener_foru /etc/pki/tls/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt /usr/share/ssl/certs/ca-bundle.crt /usr/local/share/certs/ca-root.crt /etc/ssl/cert.pem /System/Library/OpenSSL/certs/cert.pem u HTTPSHandleru urllib2u urllib.requestu HTTPSConnectionu httplibu http.clientu from %s import %s( u CertificateErroru match_hostname( u CertificateError( u match_hostnamec B s | Ee Z d Z d S( u CertificateErrorN( u __name__u __module__u __qualname__( u __locals__( ( u/ /tmp/pip-k8wh6o-build/setuptools/ssl_support.pyu CertificateError8 s u CertificateErrori c C sX g } | s d S| j d } | d } | d d } | j d } | | k rm t d t | n | s | j | j k S| d k r | j d nY | j d s | j d r | j t j | n" | j t j | j d d x$ | D] } | j t j | qWt j d d j | d t j } | j | S( up Matching according to RFC 6125, section 6.4.3 http://tools.ietf.org/html/rfc6125#section-6.4.3 u .i i Nu *u, too many wildcards in certificate DNS name: u [^.]+u xn--u \*u [^.]*u \Au \.u \ZF( u Falseu splitu countu CertificateErroru repru loweru appendu startswithu reu escapeu replaceu compileu joinu IGNORECASEu match( u dnu hostnameu max_wildcardsu patsu partsu leftmostu remainderu wildcardsu fragu pat( ( u/ /tmp/pip-k8wh6o-build/setuptools/ssl_support.pyu _dnsname_match<