ó –ee[c@sÅddlZddlZddlZddlZddlZddlmZejjdƒrjd„Z n ej Z ej r”d„Z e ZdZnd„Z ejZejZd„Zd„ZdS( iÿÿÿÿN(tsixtwincCsSytj|ƒWn+tk r>}|jtjks?‚q?nXtj||ƒdS(N(tostremovetOSErrorterrnotENOENTtrename(tcurrent_filenamet new_filenamete((s7/tmp/pip-install-xdEqop/s3transfer/s3transfer/compat.pyt rename_files  cCstj|ƒdS(Ni(tinspecttgetfullargspec(tfunc((s7/tmp/pip-install-xdEqop/s3transfer/s3transfer/compat.pytaccepts_kwargs&scCstj|ƒdS(Ni(R t getargspec(R((s7/tmp/pip-install-xdEqop/s3transfer/s3transfer/compat.pyR2scCsqt|dƒr|jƒSt|dƒrmt|dƒrmy|jddƒtSWqmttfk ritSXntS(s»Backwards compat function to determine if a fileobj is seekable :param fileobj: The file-like object to determine if seekable :returns: True, if seekable. False, otherwise. tseekabletseekttellii(thasattrRRtTrueRtIOErrortFalse(tfileobj((s7/tmp/pip-install-xdEqop/s3transfer/s3transfer/compat.pyR9s  cCs&t|dƒr|jƒSt|dƒS(s´Determines whether or not a file-like object is readable. :param fileobj: The file-like object to determine if readable :returns: True, if readable. False otherwise. treadabletread(RR(R((s7/tmp/pip-install-xdEqop/s3transfer/s3transfer/compat.pyRQs (R tsysRRtsockettbotocore.compatRtplatformt startswithR RtPY3RtConnectionErrort SOCKET_ERRORtNonetMAXINTterrortmaxintRR(((s7/tmp/pip-install-xdEqop/s3transfer/s3transfer/compat.pyt s"