;ò ø™®Ec@sÓdZdklZdkZddZddZeddgdƒZeddgdƒZx0edƒD]"Zed Aee= 2.2 includes a more general purpose HMAC module (http://www.python.org/doc/current/lib/module-hmac.html). Based on code from p2.py Copyright (C) 2002 Paul Rubin (sarrayNs6i@s\sBiii6i\shmaccBs&tZed„Zd„Zd„ZRS(NcCsõt|tƒo(|iiƒ|_|iiƒ|_nºtƒ|_tƒ|_t|ƒdjot|ƒi ƒ}n|t dƒdt|ƒ}|ii |i t ƒtd ƒ|ii |i tƒtd ƒ|o|i |ƒndS(Ni@i(s isinstanceskshmacsinnerscopysselfsoutersnewhslensdigestschrsupdates translates_itranss_ipads_otranss_opadsm(sselfsksm((s./TMDA/HMAC.pys__init__6s  !!cCs|ii|ƒdS(N(sselfsinnersupdatesm(sselfsm((s./TMDA/HMAC.pysupdateDscCs3|iiƒ}|i|iiƒƒ|iƒSdS(N(sselfsouterscopyshsupdatesinnersdigest(sselfsh((s./TMDA/HMAC.pysdigestFs(s__name__s __module__sNones__init__supdatesdigest(((s./TMDA/HMAC.pyshmac5s  cCst||ƒSdS(N(shmacsksm(sksm((s./TMDA/HMAC.pysnewKs(s__doc__sarraysshas_ipads_opads_itranss_otranssxrangesistostringsnewsnewhshmacsNone( snewhsis_itranss_ipadsshas_opadsnewsarrayshmacs_otrans((s./TMDA/HMAC.pys?"s