选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
a ´i½4ã@sâdZddlZddlZddlZddlmZddlmZgd¢ZGdd„dƒZ dd d „Z d d „Z e  dej ¡jZdd„Zdd„ZedkrÞeejƒdkržee ƒƒn@ejdZeeƒ�Zee eeƒƒWdƒn1sÔ0YdS)ú8A lexical analyzer class for simple shell-like syntaxes.éN)Údeque)ÚStringIO)ÚshlexÚsplitÚquoteÚjoinc@sreZdZdZddd„Zedd„ƒZdd „Zdd d „Zd d „Z dd„Z dd„Z dd„Z ddd„Z dd„Zdd„ZdS)rrNFcCst|tƒrt|ƒ}|dur(||_||_ntj|_d|_||_|rHd|_nd|_d|_ d|_ |jrn|j d7_ d|_ d|_ d|_ d|_d |_d |_tƒ|_d |_d |_d|_tƒ|_d|_|sÄd}n |d urÐd}||_|�rtƒ|_|j d7_ |j  t |¡¡}|j  |¡|_ dS)NÚú#Z?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u|ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÃ�ÂÃÄÅÆÇÈÉÊËÌÃ�ÃŽÃ�Ã�ÑÒÓÔÕÖØÙÚÛÜÃ�Þz Fz'"ú\ú"ú érTz();<>|&z~-./*?=)Ú isinstanceÚstrrÚinstreamÚinfileÚsysÚstdinÚposixÚeofÚ commentersÚ wordcharsÚ whitespaceÚwhitespace_splitÚquotesÚescapeÚ escapedquotesÚstaterÚpushbackÚlinenoÚdebugÚtokenÚ filestackÚsourceÚ_punctuation_charsÚ_pushback_charsÚ maketransÚdictÚfromkeysÚ translate)ÚselfrrrÚpunctuation_charsÚt©r.ú/usr/lib64/python3.9/shlex.pyÚ__init__sJ zshlex.__init__cCs|jS©N)r%©r+r.r.r/r,Dszshlex.punctuation_charscCs*|jdkrtdt|ƒƒ|j |¡dS)z:Push a token onto the stack popped by the get_token methodrzshlex: pushing token N)r!ÚprintÚreprrÚ appendleft)r+Útokr.r.r/Ú push_tokenHs zshlex.push_tokencCspt|tƒrt|ƒ}|j |j|j|jf¡||_||_d|_|jrl|dur\t d|jfƒnt d|jfƒdS)z9Push an input source onto the lexer's input source stack.rNzshlex: pushing to file %szshlex: pushing to stream %s) rrrr#r5rrr r!r3)r+Ú newstreamÚnewfiler.r.r/Ú push_sourceNs zshlex.push_sourcecCsD|j ¡|j ¡\|_|_|_|jr:td|j|jfƒd|_dS)zPop the input source stack.zshlex: popping to %s, line %dr N) rÚcloser#Úpopleftrr r!r3rr2r.r.r/Ú pop_source\s  ÿzshlex.pop_sourcecCsÔ|jr.|j ¡}|jdkr*tdt|ƒƒ|S| ¡}|jdurz||jkrz| | ¡¡}|rp|\}}| ||¡|  ¡}q@||j kr¢|j s�|j S|  ¡|  ¡}qz|jdkrÐ||j krÈtdt|ƒƒntdƒ|S)zBGet a token from the input stream (or from stack if it's nonempty)rzshlex: popping token Nz shlex: token=zshlex: token=EOF) rr<r!r3r4Ú read_tokenr$Ú sourcehookr:Ú get_tokenrr#r=)r+r6ÚrawÚspecr9r8r.r.r/r@es.          zshlex.get_tokencCsÜd}d}|jr |jr |j ¡}n |j d¡}|dkrB|jd7_|jdkr^td|j|fƒ|jdurtd|_ �q„q|jdk�rš|s’d|_�q„�q‚||j vrÈ|jdkr®td ƒ|j s¾|j r|r�q„nqnÐ||j vrì|j  ¡|jd7_n¬|j �r ||jv�r d }||_nŒ||jv�r&||_ d |_nr||jv�r@||_ d |_nX||jv�rb|j �sZ||_ ||_n6|j�rx||_ d |_n ||_ |j �s„|j r|r�q„nqq|j|jv�rDd }|�sÎ|jdk�rÆtd ƒtdƒ‚||jk�r|j �sü|j |7_ d|_�q„nd |_n>|j �r4||jv�r4|j|jv�r4|j}||_n|j |7_ q|j|jv�r¼|�st|jdk�rltdƒtdƒ‚||jv�r¦||jk�r¦||k�r¦|j |j7_ |j |7_ ||_q|jdvr|�sØd|_�q„q||j v�r|jdk�røtdƒd|_|j �s„|j r|r�q„nqq||j v�rh|j  ¡|jd7_|j �r‚d|_|j �s„|j r|r�q„nqq|jd k�r´||jv�r�|j |7_ n"||j v�r¨|j |¡d|_�q„q|j �rÐ||jv�rÐ||_q|j �rð||jv�rðd }||_q||jv�s||jv�s|j�r,||jv�r,|j |7_ q|j�rB|j |¡n |j |¡|jdk�rbtdƒd|_|j �s„|j r|r�q„qqq|j }d|_ |j �r¬|�s¬|dk�r¬d}|jdk�rØ|�rÐtdt|ƒƒntdƒ|S)NFr rÚ éz&shlex: in state %r I see character: %rr éz+shlex: I see whitespace in whitespace stateÚaÚcTz shlex: I see EOF in quotes statezNo closing quotationz shlex: I see EOF in escape statezNo escaped character)rFrGz%shlex: I see whitespace in word statez&shlex: I see punctuation in word statezshlex: raw token=zshlex: raw token=EOF)r,r&ÚpoprÚreadr r!r3rr"rrrÚreadlinerrrrÚ ValueErrorrÚappendrr5r4)r+ZquotedZ escapedstateZnextcharÚresultr.r.r/r>…s     ÿ           ÿ  ÿÿ         ÿþ   zshlex.read_tokencCsV|ddkr|dd…}t|jtƒrHtj |¡sHtj tj |j¡|¡}|t|dƒfS)z(Hook called on a filename to be sourced.rr réÿÿÿÿÚr) rrrÚosÚpathÚisabsrÚdirnameÚopen)r+r9r.r.r/r?s   zshlex.sourcehookcCs(|dur|j}|dur|j}d||fS)zr?rUrVrXr.r.r.r/rs ÿ /     rFTcCsD|dur ddl}|jdtdd�t||d�}d|_|s@ózjoin..)r)Z split_commandr.r.r/r>srz[^\w@%+=:,./-]cCs,|sdSt|ƒdur|Sd| dd¡dS)z1Return a shell-escaped version of the string *s*.z''Nú'z'"'"')Ú _find_unsafeÚreplace)rcr.r.r/rEs  rcCs$| ¡}|sq tdt|ƒƒqdS)NzToken: )r@r3r4)ZlexerÚttr.r.r/Ú _print_tokensQsrlÚ__main__r)FT)r\rPÚrerÚ collectionsrÚiorÚ__all__rrrÚcompileÚASCIIÚsearchrirrlrYÚlenÚargvÚfnrTÚfr.r.r.r/Ús(