3 L]( R@sxdZddlZddlmZmZmZmZedd\ZZ Z Z Z Z edd\ZZedd \ZZZZd Zed d \ZZed d \ZZed d \ZZZZdZedd\ZZZ edd\ Z!Z"Z#Z$Z%Z&Z'Z(Z)Z*Z+eeZ,ee Z-ee Z.ee Z/ee Z0ee Z1eeZ2eeZ3eeZ4eeZ5eeZ6eeZ7eeZ8eeZ9eeZ:eeZ;eeZeeZ?eeZ@eeZAeeZBee ZCee!ZDee"ZEee#ZFee$ZGee%ZHee&ZIee'ZJee(ZKee)ZLee*ZMee+ZNede de de de de dededdddddd d!d"d#d$d%d&d'd(ed)ed*ed+ed,ed-ed.ed/ed0e d1e!d2e"d3e#d4e$d5e%d6e&d7e'd8e(d9e)d:e*d;e+ded?ed@edAedBi)ZOedC\ZPZQZReddD\ZSZTZUZVZWdEdFdGdHdIZXd_\ZYZZZ[edZ\edZ]edLZ^edMZ_edJZ`edNZae`eaZbere`ZceaZdndJZcdNZddOdPZeedQZfedRZgdSZhdTZidUZjdVZkdWZldXZmdYZnejoZoejpZpejqZqejrZrejsZsdZZtdaZudbZvdcZwddZxdfZydS)gz( Common constants and global variables. N)byte_chrPY2longb26<>?COPSZeZ disconnectignoreZ unimplementeddebugzservice-requestzservice-acceptZkexinitZnewkeysZkex30Zkex31 Zkex32!Zkex33"Zkex34(Zkex40)Zkex41zuserauth-requestzuserauth-failurezuserauth-successzuserauth--bannerzuserauth-60(pk-ok/info-request)zuserauth-info-responsezglobal-requestzrequest-successzrequest-failurez channel-openzchannel-open-successzchannel-open-failurezchannel-window-adjustz channel-datazchannel-extended-dataz channel-eofz channel-closezchannel-requestzchannel-successzchannel-failurezuserauth-gssapi-responsezuserauth-gssapi-tokenz!userauth-gssapi-exchange-completezuserauth-gssapi-errorzuserauth-gssapi-error-tokenzuserauth-gssapi-miczAdministratively prohibitedzConnect failedzUnknown channel typezResource shortage)rr r! cCs@yt|Stk r:y|jStk r4|SXYnXdS)z: Coerce to bytes if possible or return unchanged. N)r TypeErrorasbytesAttributeError)sr*5/tmp/pip-install-wfra5znf/paramiko/paramiko/common.pyr'sr'lliiiiii8g{Gz?@r  )rr"r#ii iiill)z__doc__loggingZparamiko.py3compatrrrrrangeZMSG_DISCONNECTZ MSG_IGNOREZMSG_UNIMPLEMENTEDZ MSG_DEBUGZMSG_SERVICE_REQUESTZMSG_SERVICE_ACCEPTZ MSG_KEXINITZ MSG_NEWKEYSZMSG_USERAUTH_REQUESTZMSG_USERAUTH_FAILUREZMSG_USERAUTH_SUCCESSZMSG_USERAUTH_BANNERZMSG_USERAUTH_PK_OKZMSG_USERAUTH_INFO_REQUESTZMSG_USERAUTH_INFO_RESPONSEZMSG_USERAUTH_GSSAPI_RESPONSEZMSG_USERAUTH_GSSAPI_TOKENZ%MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETEZMSG_USERAUTH_GSSAPI_ERRORZMSG_USERAUTH_GSSAPI_ERRTOKZMSG_USERAUTH_GSSAPI_MICZHIGHEST_USERAUTH_MESSAGE_IDZMSG_GLOBAL_REQUESTZMSG_REQUEST_SUCCESSZMSG_REQUEST_FAILUREZMSG_CHANNEL_OPENZMSG_CHANNEL_OPEN_SUCCESSZMSG_CHANNEL_OPEN_FAILUREZMSG_CHANNEL_WINDOW_ADJUSTZMSG_CHANNEL_DATAZMSG_CHANNEL_EXTENDED_DATAZMSG_CHANNEL_EOFZMSG_CHANNEL_CLOSEZMSG_CHANNEL_REQUESTZMSG_CHANNEL_SUCCESSZMSG_CHANNEL_FAILUREZcMSG_DISCONNECTZ cMSG_IGNOREZcMSG_UNIMPLEMENTEDZ cMSG_DEBUGZcMSG_SERVICE_REQUESTZcMSG_SERVICE_ACCEPTZ cMSG_KEXINITZ cMSG_NEWKEYSZcMSG_USERAUTH_REQUESTZcMSG_USERAUTH_FAILUREZcMSG_USERAUTH_SUCCESSZcMSG_USERAUTH_BANNERZcMSG_USERAUTH_PK_OKZcMSG_USERAUTH_INFO_REQUESTZcMSG_USERAUTH_INFO_RESPONSEZcMSG_USERAUTH_GSSAPI_RESPONSEZcMSG_USERAUTH_GSSAPI_TOKENZ&cMSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETEZcMSG_USERAUTH_GSSAPI_ERRORZcMSG_USERAUTH_GSSAPI_ERRTOKZcMSG_USERAUTH_GSSAPI_MICZcMSG_GLOBAL_REQUESTZcMSG_REQUEST_SUCCESSZcMSG_REQUEST_FAILUREZcMSG_CHANNEL_OPENZcMSG_CHANNEL_OPEN_SUCCESSZcMSG_CHANNEL_OPEN_FAILUREZcMSG_CHANNEL_WINDOW_ADJUSTZcMSG_CHANNEL_DATAZcMSG_CHANNEL_EXTENDED_DATAZcMSG_CHANNEL_EOFZcMSG_CHANNEL_CLOSEZcMSG_CHANNEL_REQUESTZcMSG_CHANNEL_SUCCESSZcMSG_CHANNEL_FAILUREZ MSG_NAMESZAUTH_SUCCESSFULZAUTH_PARTIALLY_SUCCESSFULZ AUTH_FAILEDZOPEN_SUCCEEDEDZ'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITEDZOPEN_FAILED_CONNECT_FAILEDZ OPEN_FAILED_UNKNOWN_CHANNEL_TYPEZOPEN_FAILED_RESOURCE_SHORTAGEZCONNECTION_FAILED_CODEZ DISCONNECT_SERVICE_NOT_AVAILABLEZ!DISCONNECT_AUTH_CANCELLED_BY_USERZ)DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLEZ zero_byteZone_byteZ four_byteZmax_byteZcr_byteZ linefeed_byteZcrlfZ cr_byte_valueZlinefeed_byte_valuer'Z xffffffffZ x80000000Zo666Zo660Zo644Zo600Zo777Zo700Zo70DEBUGINFOWARNINGERRORCRITICALZio_sleepZDEFAULT_WINDOW_SIZEZDEFAULT_MAX_PACKET_SIZEZMIN_WINDOW_SIZEZMIN_PACKET_SIZEZMAX_WINDOW_SIZEr*r*r*r+s