PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  0Sc @s&dZdZdddddddd d g Zd d lZd d lmZmZdZdZdZ dZ idd 6dd6dd6dd6dd6Z id d6ed6ed6e d6e d6Z edZedZdZdZdddYZd ejfdYZd ddYZd S(sE ldapurl - handling of LDAP URLs as described in RFC 4516 See http://www.python-ldap.org/ for details. \$Id: ldapurl.py,v 1.65 2014/03/12 23:11:26 stroeder Exp $ Python compability note: This module only works with Python 2.0+ since 1. string methods are used instead of module string and 2. list comprehensions are used. s2.4.15t SEARCH_SCOPEtSEARCH_SCOPE_STRtLDAP_SCOPE_BASEtLDAP_SCOPE_ONELEVELtLDAP_SCOPE_SUBTREEt isLDAPUrltLDAPUrlExtensiontLDAPUrlExtensionstLDAPUrliN(tquotetunquoteiiiittbasetonetsubt subordinatescCs7|j}|jdp6|jdp6|jdS(s* Returns 1 if s is a LDAP URL, 0 else sldap://sldaps://sldapi://(tlowert startswith(tsts_lower((s-/usr/lib64/python2.7/site-packages/ldapurl.pyR4s cCs"t|jddjddS(s Returns URL encoding of string st,s%2Ct/s%2F(R treplace(R((s-/usr/lib64/python2.7/site-packages/ldapurl.pyt ldapUrlEscape?scBsYeZdZd dd d dZdZdZdZdZdZ dZ RS( s Class for parsing and unparsing LDAP URL extensions as described in RFC 4516. Usable class attributes: critical Boolean integer marking the extension as critical extype Type of extension exvalue Value of extension icCs5||_||_||_|r1|j|ndS(N(tcriticaltextypetexvaluet_parse(tselft extensionStrRRR((s-/usr/lib64/python2.7/site-packages/ldapurl.pyt__init__Rs    cCs|j}|s(d\|_|_dS|ddk|_|ddkr^|dj}ny"|jdd\|_|_Wn$tk r|d|_|_nXt|jj|_|jj|_dS(Nit!it=(NN(tstriptNoneRRRtsplitt ValueErrorR (Rt extension((s-/usr/lib64/python2.7/site-packages/ldapurl.pyRYs " cCsa|jdkr-dd|jdk|jfSdd|jdk|jt|jpUdfSdS(Ns%s%sRis%s%s=%sR (RR"RRR (R((s-/usr/lib64/python2.7/site-packages/ldapurl.pytunparseks cCs |jS(N(R&(R((s-/usr/lib64/python2.7/site-packages/ldapurl.pyt__str__tscCs/d|jj|jjtt||jfS(Ns<%s.%s instance at %s: %s>(t __class__t __module__t__name__thextidt__dict__(R((s-/usr/lib64/python2.7/site-packages/ldapurl.pyt__repr__ws   cCs4|j|jko3|j|jko3|j|jkS(N(RRR(Rtother((s-/usr/lib64/python2.7/site-packages/ldapurl.pyt__eq__scCs|j| S(N(R0(RR/((s-/usr/lib64/python2.7/site-packages/ldapurl.pyt__ne__sN( R*R)t__doc__R"RRR&R'R.R0R1(((s-/usr/lib64/python2.7/site-packages/ldapurl.pyRDs     cBsYeZdZd dZdZdZdZdZdZ dZ dZ RS( sE Models a collection of LDAP URL extensions as dictionary type cCsAtjj|x*|pijD]\}}|||(R(R)R*R+R,R:(R((s-/usr/lib64/python2.7/site-packages/ldapurl.pyR.s   cCs;t||js+ttd|j|j|jkS(Nsother has to be instance of %s(R8R(R9t TypeErrorR:(RR/((s-/usr/lib64/python2.7/site-packages/ldapurl.pyR0scCsFx?|jjdD](}|rt|}|||jtgetattrR"tsetattr(RtdefaultsR6((s-/usr/lib64/python2.7/site-packages/ldapurl.pyt applyDefaults8scCs;|jdkr!t|j}n |j}d|j|fS(sE Returns LDAP URL suitable to be passed to ldap.initialize() RUs%s://%s(RLRRM(RRM((s-/usr/lib64/python2.7/site-packages/ldapurl.pyt initializeUrlDs cCs|jdkrd}ndj|j}t|j}|jdkrOd}nt|j}t|j}|jdkrt|j }n |j }d|j|||||f}|j r|d|j j }n|S(s= Returns LDAP URL depending on class attributes set. R RRUs%s://%s/%s?%s?%s?%sRVN( ROR"R@RRPRQRRNRLRMRRR&(Rt attrs_strt scope_strRQRNRMR[((s-/usr/lib64/python2.7/site-packages/ldapurl.pyR&Os"     cCst|tkstd|dkr9|j}nt|tksWtd|dkrld}n(t|tkstdd|}d|||j|fS(s Returns a string with HTML link for this LDAP URL. urlPrefix Prefix before LDAP URL (e.g. for addressing another web-based client) hrefText link text/description hrefTarget string added as link target attribute surlPrefix must be StringTypeshrefText must be StringTypeR shrefTarget must be StringTypes target="%s"s%sN(ttypet StringTypeR9R"R&(Rt urlPrefixthrefTextt hrefTargetttarget((s-/usr/lib64/python2.7/site-packages/ldapurl.pythtmlHREFjs     cCs |jS(N(R&(R((s-/usr/lib64/python2.7/site-packages/ldapurl.pyR'scCs/d|jj|jjtt||jfS(Ns<%s.%s instance at %s: %s>(R(R)R*R+R,R-(R((s-/usr/lib64/python2.7/site-packages/ldapurl.pyR.s   cCs|jj|rp|j|}|jri|jj|ri|j|jdk rit|j|j}qdSntd|jj|f|S(Ns%s has no attribute %s( t attr2extypethas_keyRRRR"R tAttributeErrorR(R*(RR;Rtresult((s-/usr/lib64/python2.7/site-packages/ldapurl.pyt __getattr__s  cCs|jj|ro|j|}|dkr;t||q||dkr|td|dt||j| s2  )    E6