Files
ServerSync/lib/paramiko/__pycache__/sftp_server.cpython-314.pyc

97 lines
23 KiB
Plaintext
Raw Normal View History

2026-02-12 02:28:23 +02:00
+
u<10>i$L<00><00>f<00>Rt^RIt^RIt^RIt^RIHtHt^RIHt^RI H
t
H t H t H t HtHt^RIHt^RIHt^RIHt^RIHt^R IHt^R
I HtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>R ]R ]/t?!R R]
]4t@^RIAHBtBR#)z
Server-mode SFTP support.
N)<02>md5<64>sha1)<01>util)<06>BaseSFTP<54>Message<67> SFTP_FAILURE<52>SFTP_PERMISSION_DENIED<45>SFTP_NO_SUCH_FILE<4C>int64)<01>SFTPServerInterface)<01>SFTPAttributes)<01>DEBUG)<01>SubsystemHandler)<01>b)%<25>
CMD_HANDLE<EFBFBD> SFTP_DESC<53>
CMD_STATUS<EFBFBD>SFTP_EOF<4F>CMD_NAME<4D>SFTP_BAD_MESSAGE<47>CMD_EXTENDED_REPLY<4C>SFTP_FLAG_READ<41>SFTP_FLAG_WRITE<54>SFTP_FLAG_APPEND<4E>SFTP_FLAG_CREATE<54>SFTP_FLAG_TRUNC<4E>SFTP_FLAG_EXCL<43> CMD_NAMES<45>CMD_OPEN<45> CMD_CLOSE<53>SFTP_OK<4F>CMD_READ<41>CMD_DATA<54> CMD_WRITE<54>
CMD_REMOVE<EFBFBD>
CMD_RENAME<EFBFBD> CMD_MKDIR<49> CMD_RMDIR<49> CMD_OPENDIR<49> CMD_READDIR<49>CMD_STAT<41> CMD_ATTRS<52> CMD_LSTAT<41> CMD_FSTAT<41> CMD_SETSTAT<41> CMD_FSETSTAT<41> CMD_READLINK<4E> CMD_SYMLINK<4E> CMD_REALPATH<54> CMD_EXTENDED<45>SFTP_OP_UNSUPPORTEDrrc<00><>aa<01>]tRt^XtoRt]3RltV3RltRtV3Rlt ]
R4t ]
R4t Rt RR ltRR
ltR tR tR tRtRtRtVtV;t#)<13>
SFTPServerz<EFBFBD>
Server-side SFTP subsystem support. Since this is a `.SubsystemHandler`,
it can be (and is meant to be) set as the handler for ``"sftp"`` requests.
Use `.Transport.set_subsystem_handler` to activate this class.
c <0C>V<00>\P!V4\P!WW#4VP4p\P
!VP 4R,4VnVP4Vn ^Vn
/Vn /Vn V!V.VO5/VBVn R#)a-
The constructor for SFTPServer is meant to be called from within the
`.Transport` as a subsystem handler. ``server`` and any additional
parameters or keyword parameters are passed from the original call to
`.Transport.set_subsystem_handler`.
:param .Channel channel: channel passed from the `.Transport`.
:param str name: name of the requested subsystem.
:param .ServerInterface server:
the server object associated with this channel and subsystem
:param sftp_si:
a subclass of `.SFTPServerInterface` to use for handling individual
requests.
z.sftpN)r<00>__init__r<00> get_transportr<00>
get_logger<EFBFBD>get_log_channel<65>logger<65> get_hexdump<6D> ultra_debug<75> next_handle<6C>
file_table<EFBFBD> folder_table<6C>server)<08>self<6C>channel<65>namerB<00>sftp_si<73>args<67>kwargs<67> transports&&&&&*, <20>;/tmp/pip-target-zhdecbcm/lib/python/paramiko/sftp_server.pyr8<00>SFTPServer.__init___s<><00><00>. <11><19><19>$<24><1F><18>!<21>!<21>$<24><14>><3E><1B>)<29>)<29>+<2B> <09><1A>o<EFBFBD>o<EFBFBD>i<EFBFBD>&?<3F>&?<3F>&A<>G<EFBFBD>&K<>L<><04> <0B>$<24>0<>0<>2<><04><18><1C><04><18><1C><04><0F><1E><04><19><1D>f<EFBFBD>6<>t<EFBFBD>6<>v<EFBFBD>6<><04> <0B>c<08>P<<01>\\V4\4'dIVF@p\SV`VRVP
P 4,R,V,4KB R#\SV`VRVP
P 4,R,V,4R#)z[chan z] N)<07>
issubclass<EFBFBD>type<70>list<73>super<65>_log<6F>sock<63>get_name)rC<00>level<65>msg<73>m<> __class__s&&& <20>rJrR<00>SFTPServer._log<6F>st<00><><00> <15>d<EFBFBD>3<EFBFBD>i<EFBFBD><14> &<26> &<26><18><01><15><07> <0C>U<EFBFBD>H<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>/A<>/A<>/C<>$C<>d<EFBFBD>$J<>Q<EFBFBD>$N<>O<><19> <12>G<EFBFBD>L<EFBFBD><15><08>4<EFBFBD>9<EFBFBD>9<EFBFBD>+=<3D>+=<3D>+?<3F> ?<3F>$<24> F<><13> L<> MrLc<08>d<00>W0nVP\RPV44VP 4VP
P 4VP4wrE\T4pTP4pTPYHT4KD \dTP\R4R#\d[pTP\R\T4,4TP\\P!44Rp?R#Rp?ii;i \d<>pTP\R\T4,4TP\\P!44TP!T\"4Rp?EKG Rp?EKQ;iRp?ii;i)z#Started sftp server on channel {!r}zEOF -- end of sessionNzException on channel: z Exception in server processing: )rSrRr <00>format<61>_send_server_versionrB<00>session_started<65> _read_packet<65>EOFError<6F> Exception<6F>strr<00>
tb_stringsr<00>get_int<6E>_process<73> _send_statusr) rCrErIrD<00>t<>data<74>erV<00>request_numbers &&&& rJ<00>start_subsystem<65>SFTPServer.start_subsystem<65>s9<00><00><1B> <09> <0C> <09> <09>%<25>><3E>E<>E<>g<EFBFBD>N<>O<> <0C>!<21>!<21>#<23> <0C> <0B> <0B>#<23>#<23>%<25><12> <17><1E>+<2B>+<2B>-<2D><07><01><1A>$<24>-<2D>C<EFBFBD> <20>[<5B>[<5B>]<5D>N<EFBFBD> <19><14> <0A> <0A>a<EFBFBD><13>5<><35><1C> <17><14> <09> <09>%<25>!8<>9<><16><1C> <17><14> <09> <09>%<25>!9<>C<EFBFBD><01>F<EFBFBD>!B<>C<><14> <09> <09>%<25><14><1F><1F>!2<>3<><16><> <17><><1D> <19><14> <09> <09>%<25>!C<>c<EFBFBD>!<21>f<EFBFBD>!L<>M<><14> <09> <09>%<25><14><1F><1F>!2<>3<><19><18>%<25>%<25>n<EFBFBD>l<EFBFBD>C<>C<><43><19><18><> <19>sV<00>B<00>D%<00>!D"<03>>D"<03>D"<03>AD<03>D"<03>% F/<03>0AF*<03>F<02>F'<05>F*<03>'F*<03>*F/c<08>8<<01>VPP4\SV` 4VPP 4FpVP 4K VPP 4FpVP 4K /Vn/VnR#<00>N)rB<00> session_endedrQ<00>finish_subsystemr@<00>values<65>closerA)rC<00>frXs& <20>rJro<00>SFTPServer.finish_subsystem<65>sq<00><><00> <0C> <0B> <0B>!<21>!<21>#<23> <0A><07> <20>"<22><16><1F><1F>'<27>'<27>)<29>A<EFBFBD> <0A>G<EFBFBD>G<EFBFBD>I<EFBFBD>*<2A><15>"<22>"<22>)<29>)<29>+<2B>A<EFBFBD> <0A>G<EFBFBD>G<EFBFBD>I<EFBFBD>,<2C><1C><04><0F><1E><04>rLc <0C><><00>V\P8Xd\#V\P8XgV\P8Xd\
#\ #)aE
Convert an errno value (as from an ``OSError`` or ``IOError``) into a
standard SFTP result code. This is a convenience function for trapping
exceptions in server code and returning an appropriate result.
:param int e: an errno code, as from ``OSError.errno``.
:return: an `int` SFTP error code like ``SFTP_NO_SUCH_FILE``.
)<07>errno<6E>EACCESr<00>ENOENT<4E>ENOTDIRr r)rhs&rJ<00> convert_errno<6E>SFTPServer.convert_errno<6E>s9<00><00> <0A><05> <0C> <0C> <1C>)<29> )<29><0F>5<EFBFBD><<3C><<3C><1F>Q<EFBFBD>%<25>-<2D>-<2D>%7<>$<24> $<24><1F> rLc <0C><><00>\PR8wd<>VPVP,'d!\P
!WP 4VPVP,'d,\P!WPVP4VPVP,'d-\P!WPVP34VPVP,'d;\!VR4;_uu_4pVP#VP$4RRR4R#R# +'giR#;i)a<>
Change a file's attributes on the local filesystem. The contents of
``attr`` are used to change the permissions, owner, group ownership,
and/or modification & access time of the file, depending on which
attributes are present in ``attr``.
This is meant to be a handy helper function for translating SFTP file
requests into local file operations.
:param str filename:
name of the file to alter (should usually be an absolute path).
:param .SFTPAttributes attr: attributes to change.
<EFBFBD>win32zw+N)<13>sys<79>platform<72>_flags<67>FLAG_PERMISSIONS<4E>os<6F>chmod<6F>st_mode<64> FLAG_UIDGID<49>chown<77>st_uid<69>st_gid<69> FLAG_AMTIME<4D>utime<6D>st_atime<6D>st_mtime<6D> FLAG_SIZE<5A>open<65>truncate<74>st_size)<03>filename<6D>attrrrs&& rJ<00> set_file_attr<74>SFTPServer.set_file_attr<74>s<><00><00> <0F><<3C><<3C>7<EFBFBD> "<22><13>{<7B>{<7B>T<EFBFBD>2<>2<>2<>2<><12><08><08><18><<3C><<3C>0<><13>{<7B>{<7B>T<EFBFBD>-<2D>-<2D>-<2D>-<2D><12><08><08><18>;<3B>;<3B><04> <0B> <0B><<3C> <0F>;<3B>;<3B><14>)<29>)<29> )<29> )<29> <0E>H<EFBFBD>H<EFBFBD>X<EFBFBD> <0A> <0A>t<EFBFBD>}<7D>}<7D>=<3D> ><3E> <0F>;<3B>;<3B><14><1E><1E> '<27> '<27><15>h<EFBFBD><04>%<25>%<25><11><11>
<EFBFBD>
<EFBFBD>4<EFBFBD><<3C><<3C>(<28>&<26>%<25> (<28>%<25>%<25>%<25>s <00>-E<05> E& c <08><00>\4pVPV4VF<>p\V\4'dVP V4K,\V\
4'dVPV4KU\V\ \34'dVPV4K<>\V4\JdVPV4K<>\RPV\V444h VPW$4R#)zunknown type for {!r} type {!r}N)r<00>add_int<6E>
isinstancer
<00> add_int64<36>intra<00>bytes<65>
add_stringrOr <00>_packr`r[<00> _send_packet)rCrirfrGrV<00>items&&&* rJ<00> _response<73>SFTPServer._response<73>s<><00><00><15>i<EFBFBD><03> <0B> <0B> <0B>N<EFBFBD>#<23><18>D<EFBFBD><19>$<24><05>&<26>&<26><13> <0A> <0A>d<EFBFBD>#<23><1B>D<EFBFBD>#<23>&<26>&<26><13> <0B> <0B>D<EFBFBD>!<21><1B>D<EFBFBD>3<EFBFBD><05>,<2C>/<2F>/<2F><13><0E><0E>t<EFBFBD>$<24><15>d<EFBFBD><1A>~<7E>-<2D><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><1F>5<><<3C><<3C>T<EFBFBD>4<EFBFBD><04>:<3A>N<><12><12><19> <0A><19><19>!<21>!rLc<08><><00>\\V4\4'gVPW4R#VP \ RP VP444V;P^, unV'dW PVP4&MW PVP4&VPV\VP44R#)Nzhx{:d}) rNrO<00>
SFTPHandlere<00> _set_namerr[r?rA<00> _get_namer@r<>r)rCri<00>handle<6C>folders&&&&rJ<00>_send_handle_response<73> SFTPServer._send_handle_response<73>s<><00><00><19>$<24>v<EFBFBD>,<2C>
<EFBFBD>3<>3<> <10> <1D> <1D>n<EFBFBD> 5<> <12><0E><18><18><11>8<EFBFBD>?<3F>?<3F>4<EFBFBD>+;<3B>+;<3B><<3C>=<3D>><3E> <0C><18><18>A<EFBFBD><1D><18> <11>4:<3A> <1D> <1D>f<EFBFBD>.<2E>.<2E>0<> 1<>28<32>O<EFBFBD>O<EFBFBD>F<EFBFBD>,<2C>,<2C>.<2E> /<2F> <0C><0E><0E>~<7E>z<EFBFBD>6<EFBFBD>3C<33>3C<33>3E<33>FrLc<08><><00>Vf\V,pVPV\W#R4R# \dRpL)i;i)N<>Unknown<77>)r<00>
IndexErrorr<EFBFBD>r)rCri<00>code<64>descs&&&&rJre<00>SFTPServer._send_statuss?<00><00> <0F><<3C> !<21> <20><14><EFBFBD><04>
<0A><0E><0E>~<7E>z<EFBFBD>4<EFBFBD>r<EFBFBD>B<><42> <1E> !<21> <20><04> !<21>s <00> -<00> =<03>=c<08><><00>VPPV4p\\V4\4'd0\ 4pVP V4VPWR4R#VPW4R#)TN) rB<00> list_folderrNrOrPr<><00>
_set_filesr<EFBFBD>re)rCri<00>path<74>respr<70>s&&& rJ<00> _open_folder<65>SFTPServer._open_folder
s]<00><00><13>{<7B>{<7B>&<26>&<26>t<EFBFBD>,<2C><04> <15>d<EFBFBD>4<EFBFBD>j<EFBFBD>$<24> '<27> '<27><1F>\<5C>F<EFBFBD> <12> <1D> <1D>d<EFBFBD> #<23> <10> &<26> &<26>~<7E>t<EFBFBD> D<> <12> <0C><19><19>.<2E>/rLc<08><><00>VP4p\V4^8XdVPV\4R#\ 4pVP V4VP \V44VF@pVP VP4VP V4VPV4KB VP\V4R#)<02>N) <0B>_get_next_files<65>lenrerrr<>r<>r<>r<>r<>r)rCrir<><00>flistrVr<>s&&& rJ<00> _read_folder<65>SFTPServer._read_folders<><00><00><16>&<26>&<26>(<28><05> <0E>u<EFBFBD>:<3A><11>?<3F> <10> <1D> <1D>n<EFBFBD>h<EFBFBD> 7<> <12><15>i<EFBFBD><03> <0B> <0B> <0B>N<EFBFBD>#<23> <0B> <0B> <0B>C<EFBFBD><05>J<EFBFBD><1F><19>D<EFBFBD> <0F>N<EFBFBD>N<EFBFBD>4<EFBFBD>=<3D>=<3D> )<29> <0F>N<EFBFBD>N<EFBFBD>4<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD><1A> <0A><19><19>(<28>C<EFBFBD>(rLc<08><00>VP4pVP4pVP4pVP4pVP4pW0P9dVP V\ R4R#VPV,pVFp V \9gKT p
\V ,p M VP V\R4R#V^8XdWVP4p \\V 4\4'gVP WR4R#V PV,
pV^8XdTpVR8dVP V\R4R#\4p TpW<>V,8d<>\WuV,V,
4p\VR4p^pV !4pVV8dlVP!VV4p\#V\4'gVP VVR4R#VP%V4V\'V4, pVV, pKrV VP)4, p K<>\+4pVP-V4VP/R4VP/V
4VP1V 4VP3\4V4R#) <09>Invalid handleNzNo supported hash types foundzUnable to stat file<6C>zBlock size too smallizUnable to hash file<6C>
check-file)<1B>
get_binary<EFBFBD>get_list<73> get_int64rcr@rer<00> _hash_classr<00>statrNrOr r<>r<><00>min<69>readr<64><00>updater<65><00>digestrr<>r<><00> add_bytesr<73>r)rCrirVr<><00>alg_list<73>start<72>length<74>
block_sizerr<00>x<>algname<6D>alg<6C>st<73>sum_out<75>offset<65>blocklen<65>chunklen<65>count<6E>hash_objrgs&&& rJ<00> _check_file<6C>SFTPServer._check_file#s!<00><00>
<15><1E><1E>!<21><06><16><<3C><<3C>><3E><08><13> <0A> <0A><0F><05><14><1D><1D><1F><06><18>[<5B>[<5B>]<5D>
<EFBFBD> <11><1F><1F> (<28> <10> <1D> <1D><1E> 0<>2B<32> <0E> <13> <10>O<EFBFBD>O<EFBFBD>F<EFBFBD> #<23><01><19>A<EFBFBD><10>K<EFBFBD><1F><1B><07>!<21>!<21>n<EFBFBD><03><15> <1A> <11> <1D> <1D><1E> <0C>.M<> <0E> <13> <11>Q<EFBFBD>;<3B><12><16><16><18>B<EFBFBD><1D>d<EFBFBD>2<EFBFBD>h<EFBFBD><0E>7<>7<><14>!<21>!<21>.<2E>6K<36>L<><16><17>Z<EFBFBD>Z<EFBFBD>%<25>'<27>F<EFBFBD> <15><11>?<3F><1F>J<EFBFBD> <15><03> <1B> <10> <1D> <1D><1E> <0C>.D<> <0E> <13><17>'<27><07><16><06><14>v<EFBFBD>~<7E>%<25><1A>:<3A>v<EFBFBD>~<7E><06>'><3E>?<3F>H<EFBFBD><1A>8<EFBFBD>U<EFBFBD>+<2B>H<EFBFBD><15>E<EFBFBD><1A>u<EFBFBD>H<EFBFBD><17>(<28>"<22><18>v<EFBFBD>v<EFBFBD>f<EFBFBD>h<EFBFBD>/<2F><04>!<21>$<24><05>.<2E>.<2E><18>%<25>%<25>&<26><04>.C<><16><1B><18><0F><0F><04>%<25><15><13>T<EFBFBD><19>"<22><05><16>%<25><0F><06> <13>x<EFBFBD><EFBFBD><EFBFBD>(<28> (<28>G<EFBFBD><15>i<EFBFBD><03> <0B> <0B> <0B>N<EFBFBD>#<23> <0B><0E><0E>|<7C>$<24> <0B><0E><0E>w<EFBFBD><1F> <0B> <0A> <0A>g<EFBFBD><1E> <0C><19><19>,<2C>c<EFBFBD>2rLc <0C>,<00>V\,'d%V\,'d\PpM4V\,'d\PpM\P
pV\ ,'dV\P,pV\,'dV\P,pV\,'dV\P,pV\,'dV\P,pV#)z;convert SFTP-style open() flags to Python's os.open() flags)rrr<><00>O_RDWR<57>O_WRONLY<4C>O_RDONLYr<00>O_APPENDr<00>O_CREATr<00>O_TRUNCr<00>O_EXCL)rC<00>pflags<67>flagss&& rJ<00>_convert_pflags<67>SFTPServer._convert_pflagsfs<><00><00> <12>^<5E> #<23> #<23>&<26>?<3F>*B<>*B<><16>I<EFBFBD>I<EFBFBD>E<EFBFBD> <13>o<EFBFBD> %<25> %<25><16>K<EFBFBD>K<EFBFBD>E<EFBFBD><16>K<EFBFBD>K<EFBFBD>E<EFBFBD> <11>$<24> $<24> $<24> <11>R<EFBFBD>[<5B>[<5B> <20>E<EFBFBD> <11>$<24> $<24> $<24> <11>R<EFBFBD>Z<EFBFBD>Z<EFBFBD> <1F>E<EFBFBD> <11>O<EFBFBD> #<23> #<23> <11>R<EFBFBD>Z<EFBFBD>Z<EFBFBD> <1F>E<EFBFBD> <11>N<EFBFBD> "<22> "<22> <11>R<EFBFBD>Y<EFBFBD>Y<EFBFBD> <1E>E<EFBFBD><14> rLc <08><><00>VP\RP\V,44V\8XdsVP 4pVP VP44p\P!V4pVPW PPWEV44R#V\8Xd<>VP4pWpP9d&VPVVP!V\"4R#WpP$9dGVP$V,P'4VP$VVP!V\"4R#VP!V\(R4R#V\*8Xd<>VP4pVP-4pVP4p WpP$9dVP!V\(R4R#VP$V,P/W<>4p
\1V
\2\434'dB\7V
4^8XdVP!V\84R#VP;V\<V
4R#VP!W*4R#V\>8Xd<>VP4pVP-4pVP4p
WpP$9dVP!V\(R4R#VP!W P$V,PAW<>44R#V\B8Xd=VP 4pVP!W PPEV44R#V\F8XdMVP 4p VP 4p VP!W PPIW<>44R#V\J8XdSVP 4p\P!V4pVP!W PPMWF44R#V\N8Xd=VP 4pVP!W PPQV44R#V\R8Xd$VP 4pVPUW$4R#V\V8Xd`VP4pWpP9dVP!V\(R4R#VPV,p VPYW-4R#V\Z8XdwVP 4pVPP]V4p\_\aV4\4'dVP;V\bV4R#VP!W.4R#V\d8XdwVP 4pVPPgV4p\_\aV4\4'dVP;V\bV4R#VP!W.4R#V\h8Xd<>VP4pWpP$9dVP!V\(R4R#VP$V,P]4p\_\aV4\4'dVP;V\bV4R#VP!W.4R#V\j8XdSVP 4p\P!V4pVP!W PPmWF44R#V\n8Xd<>VP4p\P!V4pWpP$9dVP;V\(R4R#VP!W P$V,PmV44R#V\p8XdVP 4pVPPsV4p\1V\2\434'd%VP;V\t^VR\44R#VP!W.4R#V\v8XdMVP 4pVP 4pVP!W PPyW<>44R#V\z8XdPVP 4pVPP}V4pVP;V\t^VR\44R#V\~8Xd<>VP 4pVR8XdVP<>W#4R#VR8XdMVP 4p VP 4p VP!W PP<>W<>44R#VP!V\<5C>4R#VP!V\<5C>4R#)z Request: {}Nr<4E>r<>r<>zposix-rename@openssh.com)CrRr r[rr<00>get_textr<74>rcr <00> _from_msgr<67>rBr<>rr<>rArer r@rqrr!r<>r<>r<>r<>rar<>rr<>r"r#<00>writer$<00>remover%<00>renamer&<00>mkdirr'<00>rmdirr(r<>r)r<>r*r<>rNrOr+r,<00>lstatr-r.<00>chattrr/r0<00>readlinkrr1<00>symlinkr2<00> canonicalizer3r<><00> posix_renamer4)rCrfrirVr<>r<>r<>r<>r<>r<>rg<00>oldpath<74>newpathr<68>r<><00> target_path<74>rpath<74>tags&&&& rJrd<00>SFTPServer._processxs<><00><00> <0C> <09>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__r r8rRrjro<00> staticmethodryr<>r<>r<>rer<>r<>r<>r<>rd<00>__static_attributes__<5F>__classdictcell__<5F> __classcell__)rX<00> __classdict__s@@rJr6r6Xs<><00><><00><00><08>$<24> 7<>DN<01><19>8
<1F><12> <20><12> <20>$<12>)<29><12>)<29>8"<22>& G<01>C<01> 0<> )<29>A3<>F<15>$^C<01>^CrLr6)r<>)Cr<43>r<>rur}<00>hashlibrr<00>paramikor<00> paramiko.sftprrrrr r
<00>paramiko.sftp_sir <00>paramiko.sftp_attrr <00>paramiko.commonr <00>paramiko.serverr<00> paramiko.utilrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r<>r6<00>paramiko.sftp_handler<65><00>rLrJ<00><module>rs<><00><01>&<04>
<EFBFBD> <0C>
<EFBFBD><1D><19><02><02>1<>-<2D>!<21>,<2C><1B>&<02>&<02>&<02>&<02>&<02>&<02>&<02>&<02>&<02>&<02>P<16>t<EFBFBD>U<EFBFBD>C<EFBFBD>(<28> <0B>~C<01><18>+<2B>~C<01>B,rL