;ò t¸ÞDc@s›dZdkZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdeifd„ƒYZd„ZdS(s$Simple Traversal of UDP through NAT.Niiiiiiiiiiiii i i sSTUNcBs2tZdddfdddfdddffZRS(NstypesHislensxids16s(s__name__s __module__s__hdr__(((s9/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/stun.pysSTUN scCsUd}tid|| ƒ\}}||||!}|||}||||fSdS(Nis>HH(snsstructsunpacksbufstslsv(sbufslsnstsv((s9/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/stun.pystlv's (s__doc__sdpktsBINDING_REQUESTsBINDING_RESPONSEsBINDING_ERROR_RESPONSEsSHARED_SECRET_REQUESTsSHARED_SECRET_RESPONSEsSHARED_SECRET_ERROR_RESPONSEsMAPPED_ADDRESSsRESPONSE_ADDRESSsCHANGE_REQUESTsSOURCE_ADDRESSsCHANGED_ADDRESSsUSERNAMEsPASSWORDsMESSAGE_INTEGRITYs ERROR_CODEsUNKNOWN_ATTRIBUTESsREFLECTED_FROMsPacketsSTUNstlv(sBINDING_ERROR_RESPONSEsSHARED_SECRET_REQUESTsPASSWORDsUNKNOWN_ATTRIBUTESsSHARED_SECRET_ERROR_RESPONSEsMESSAGE_INTEGRITYsCHANGED_ADDRESSsdpktsUSERNAMEsBINDING_REQUESTs ERROR_CODEsSTUNsSHARED_SECRET_RESPONSEstlvsCHANGE_REQUESTsMAPPED_ADDRESSsSOURCE_ADDRESSsREFLECTED_FROMsRESPONSE_ADDRESSsBINDING_RESPONSE((s9/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/stun.pys?s(