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`  m!|Uc@sdZdefdYZdefdYZdefdYZdefdYZd efd YZd efd YZd S(sCommon DNS Exceptions.t DNSExceptioncBsPeZdZdZeZdZdZdZ dZ dZ dZ RS(sAbstract base class shared by all dnspython exceptions. It supports two basic modes of operation: a) Old/compatible mode is used if __init__ was called with empty **kwargs. In compatible mode all *args are passed to standard Python Exception class as before and all *args are printed by standard __str__ implementation. Class variable msg (or doc string if msg is None) is returned from str() if *args is empty. b) New/parametrized mode is used if __init__ was called with non-empty **kwargs. In the new mode *args has to be empty and all kwargs has to exactly match set in class variable self.supp_kwargs. All kwargs are stored inside self.kwargs and used in new __str__ implementation to construct formated message based on self.fmt string. In the simplest case it is enough to override supp_kwargs and fmt class variables to get nice parametrized messages. cOs|j|||j|||_|jdkrD|j|_n|rctt|j|ntt|j|jdS(N( t _check_paramst _check_kwargstkwargstmsgtNonet__doc__tsuperRt__init__(tselftargsR((s1/usr/lib/python2.7/site-packages/dns/exception.pyR-s  cOs7|s |r3t|t|ks3tdndS(ssOld exceptions supported only args and not kwargs. For sanity we do not allow to mix old and new behavior.s=keyword arguments are mutually exclusive with positional argsN(tbooltAssertionError(R R R((s1/usr/lib/python2.7/site-packages/dns/exception.pyR9s cKs;|r7t|j|jks7td|jndS(Ns-following set of keyword args is required: %s(tsettkeyst supp_kwargsR (R R((s1/usr/lib/python2.7/site-packages/dns/exception.pyRAscKsi}x|jD]t\}}t|ttfr}ttt|||s P