class  Foo:
	@ staticmethod 
	def  keyErrorOnRed( colour) :
	    def  decorate( f) :
	        def  wrapped( *args,  **kwargs) :
	            if  colour ==  "red" :
	                raise  KeyError ( "Better dead than red" ) 
	            return  f( *args,  **kwargs) 
	        return  wrapped
	    return  decorate
 
class  Bar( Foo) :
    @ Foo.keyErrorOnRed ( "red" ) 
    def  __init__ ( self ,  a,  b) :
        self .vars  =  a,  b
 
if  __name__ ==  '__main__' :
    barObj =  Bar( 'can' ,  'haz' ) 
Y2xhc3MgRm9vOgoJQHN0YXRpY21ldGhvZAoJZGVmIGtleUVycm9yT25SZWQoY29sb3VyKToKCSAgICBkZWYgZGVjb3JhdGUoZik6CgkgICAgICAgIGRlZiB3cmFwcGVkKCphcmdzLCAqKmt3YXJncyk6CgkgICAgICAgICAgICBpZiBjb2xvdXIgPT0gInJlZCI6CgkgICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoIkJldHRlciBkZWFkIHRoYW4gcmVkIikKCSAgICAgICAgICAgIHJldHVybiBmKCphcmdzLCAqKmt3YXJncykKCSAgICAgICAgcmV0dXJuIHdyYXBwZWQKCSAgICByZXR1cm4gZGVjb3JhdGUKCmNsYXNzIEJhcihGb28pOgogICAgQEZvby5rZXlFcnJvck9uUmVkKCJyZWQiKQogICAgZGVmIF9faW5pdF9fKHNlbGYsIGEsIGIpOgogICAgICAgIHNlbGYudmFycyA9IGEsIGIKCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBiYXJPYmogPSBCYXIoJ2NhbicsICdoYXonKQ==