
    <id              	          S SK r S SKrS SKrS SKrS SKrS SKJr  S SK7  S SK7    \ R                  " 5       r	\	R                  r\	R                  rS/ SQ0rSrSrSrSq/ / S sqqq/ / S sqqr/ / S sqrr\ R8                  " 5       qSqSrS	r Sq!Sq"Sq#S
S
SSSSSSS.r$S r%SS jr&SS jr'SS jr(SS jr)SS jr*S r+0 4S jr,S r-SS jr.S r/g)    N)datetime)*!)fFbxywhzx!zy!zw!zh!MrBrPdRd_lyaIdbId zdsh.logz	/home/rpiz/home/rpi/ZFSzpcmanfm z	chromium zchromium --incognito)z.dir/z.jpgz.linkhttphttpsr   r   c                  D   Sn [         R                  R                  S5      nUS:X  a  [         R                  " 5         U $ US:X  a  Sn U $ US:X  a  Sn U $ US:X  a  S	n U $ US
:X  a  Sn U $ US;   a  Sn U $ US:X  Ga  [         R                  R                  S5      nUS;   aI  [         R                  R                  S5      nUS:X  a$  X[         R                  R                  S5      -   -  nUS:X  a"  U[         R                  R                  S5      -  n US:X  a  Sn U $ US:X  a  Sn U $ US:X  a  Sn U $ US:X  a  Sn U $ US:X  a  Sn U $ US:X  a  Sn U $ US :X  a  S!n U $ US":X  a  S#n U $ US$:X  a  S%n U $ US&:X  a  S'n U $ US(:X  a  S)n U $ US*:X  a  S+n U $ US,:X  a  S-n U $ US.:X  a  S/n U $ US0:X  a  S1n U $ US2:X  a  S3n U $ US4:X  a  S5n U $ US6:X  a  S7n U $ US8:X  a  S9n U $ US::X  a  S;n U $ US<:X  a  S=n U $ US>:X  a  S?n U $ US@:X  a  SAn U $ USB:X  a  SCn U $ USD:X  a  SEn U $ USF:X  a  SEn U $ U SG:H     U $ U SH3n U $ )INr      C-x	k-tk-n k-s)k-b   )[2[3[5[6;z[1   r(   zk-Ir)   k-Dr*   zp-Ur+   zp-Dz[Hk-Hz[Fk-Ez[Aa-uz[Ba-dz[Ca-rz[Da-lz[1;5HC-Hz[1;5FC-Ez[3;5~zC-Dz[1;5AzC-uz[1;5BzC-dz[1;5CC-rz[1;5DC-lz[1;2AzS-uz[1;2BzS-dz[1;2CzS-rz[1;2DzS-lz[OMzS-nz[OPF1z[OQF2z[ORF4z[OSzk-er   )sysstdinreadexit)key_codecharcs      /root/v2sys/lib-py/tinput.pyget_keyrD      s   H99>>!D 
J I 
EH G 
EF E 
ED C 
EB A 
	 e8@ { 
yy~~a ++		q!ACx#))..+++ 4<4399>>!#444	 T\e8V U T\e8T S T\e8R Q T\e8P O T\e8N M T\e8L G T\e8F E T\e8D C T\e8B A T\e8@ ; W_h: 9 W_h8 7 W_h6 5 W_h4 3 W_h2 1 W_h0 / W_h. % W_h$ # W_h" ! W_h   W_h  U]h  U]tH  U]tH  U]tH  U]tH  %  V1:     c                    [         R                  R                  [        5      (       d  [	        [        S5       n S S S 5        g [	        [        S5       nUR                  5       nS S S 5        [        WR                  S5      5       Ha  nUR                  SS5      S   R                  5       nU(       a  U[        ;  a  [        R                  U5        [        [        5      S:  d  Ma    g    g ! , (       d  f       g = f! , (       d  f       N= f)Nr
   r
r,   r   i   )ospathisfileLOG_FILEopenr>   reversedsplitstripLS_Happendlen)s2filecontentlineitems        rC   	hist_loadrZ      s    
 77>>(##(C D ! 
x	))+ 

 t,-zz#q!"%++-D%KK t9T>6 . !  
	s   C-C>-
C;>
Dc                     [         R                  " 5       R                  S5      nU SU  S3n[        [        S5       nUR                  U5        S S S 5        [        R                  SU 5        g ! , (       d  f       N%= f)Nz%Y-%m-%d %H:%M:%Sz;  rH   ar   )r   nowstrftimerN   rM   writerR   insert)rU   log_time	log_entryrV   s       rC   hist_appendrc      sc     ||~&&':;H*Ct2&I 
x	

9 
KK2 
	s   A..
A<c                    / n[        U 5      nU(       d  U$ US   u  pEUS   u  pgUS:X  a
  SnUS   S   nUS:X  a  UR                  S5      (       a  US   S:X  a  [        USS  -   nOUn[        R                  R                  U5      (       a  / / p[        R                  " U5       HT  n[        R                  R                  US-   U-   5      (       a  U	R                  US-   5        MC  U
R                  U5        MV     [        U	5      [        U
5      -   nUq	Sq[        $ UR                  S	5      (       a  [        [        S
US5      q	Sq[        $ UR                  S5      (       a  [        [        SSU-   S5      q	Sq[        $ US:X  a  [        q	Sq[        $ US:X  a4  US:X  a  SnUS:X  a  SnUS:X  a  Sn[        [        XgSS  S5      q	Sq[        $ US:X  ad  [        5       R                  S5      n[!        SU5        U(       d  g ["        R%                  5        Vs/ s H  oS   S:X  d  M  UPM     snq	Sq[        $ US:X  a  / SQq	Sq[        $ s  snf )Nr   rI   r!   z->r   r   ~zt/z.zt@dzz/>cdtnz.zzzz!zz288:r   &)z&pagez	&pageSizez&printz&sortz&importz&exportz&savels)tnz_cstrendswithHOME_DIRrJ   rK   isdirlistdirrS   sortedLS
startswithqs_suggPHISTLS_CglobalsgetprintZkeysLS_TYPE)rU   cirG   tokensr   cmd_type_valuerK   ls0ls1rn   ks                rC   suggr   	  sZ   
 	Ab\F1IJA2JME|*Q- cz??3 ayC6!":(=(.ww}}T""rSD)Aww}}T#Xq[113::ae3D36::a= * 3K&+-BP G IM 
		4	 	 wue&"'M"F G IK 
		3		wucT&["'M"D G II 
#"B G IE 
#9su:su9suUE!":r22 G I% 
4IMM#fa&/AqT3Ya/ G I 
#
 G I 0s   I)Ic                 d   [         (       d  g [         n[        U5      n[        [        S-
  SU5      n[        (       a  [        OU n [        SX-
  S-   5      nXT-   n/ nS[        ;   a%  UR                  US   5        US-  nU S-  n XT-   S-
  nX%U  HG  n[        U5      [        S-
  :  a  UR                  US [        S-
   5        M6  UR                  U5        MI     XPS-   SSS	.n	[        [        S
R                  U5      5      U	S5      n
[        S[        S-
   SU
 SUS-    S[        S-
   S3	SS9  U$ )Nr'      r   r   H   
l_)lnlaLFconfigrH   rI   [   zC[J
z[0m[zA
[Cr   end)rp   rT   mint_heightlimaxarg_viewrS   t_width	tnz_frametnz_strjoinr~   )r   dirlineslist_lenmax_showsieirW   rX   
tnz_configss              rC   print_lsr   `  sP    2v E5zH8a<X.H rrB	Q!	"B	B G huQx 
a
Q[] t9wqy NN4
+,NN4 	  1&4@J'$))G,-zB@A 


| c 
| BJ<q	"  OrE   c           	        ^ US:X  aN  [         [           m[        U4S j[        [	        U 5      [	        T5      5       5       [	        T5      5      nTS U mO[         [           mU R                  5       nSqSq/ q SR                  U5      nU$ )Nr7   c              3   b   >#    U  H$  nTU   R                  5       (       a  M  US -   v   M&     g7fr   Nisalnum).0ir   s     rC   	<genexpr>s2_tab.<locals>.<genexpr>  s%     O"8Q!SQqS"8   //r   r!   )rp   r   nextrangerT   rP   	sugg_liver   )rU   keyr   argsresultr   s        @rC   s2_tabr     s     Ez"vO%BQ"8OQTUVQWX!u rF 88:D BI	BXXd^F NrE   c                      [         R                  " U SSSSS9nUR                  (       d  UR                  $  g ! [         R                   a  n[        SU 35         S nAg S nAff = f)NT)shellchecktextcapture_outputz477: ERROR in cmd_str(): )
subprocessrunstderrstdoutCalledProcessErrorr~   )cmd_strr   es      rC   execr     sk    / t4d[_`
 ==    (( /)!-../s   49 A%A  A%c                    U R                  SS5      qU R                  S/ 5      qU R                  SS5      nU R                  SS5      q[	        S[        5        [	        S	[        5        [	        S
U5        [        5         [        [        5      qg )Nlog_filez
tinput.logr{   zhistz	zhist.zlsrz   z	PHIST.zlsz459: LOG_FILE :z459: LS_C     :z459: zhistFile:)r}   rM   r{   
PHIST_PATHr~   rZ   qs_loadrz   )kv	zhistFiles     rC   tinput_initr     sv     
L1H#D-I-J
 

X&	
T"	
Y'KZ ErE   c           	      	   [        U 5      SS//-   n[        U5      S:  a  U $ / nSn[        S[        U5      5       GH  nUS:w  aH  X   S   S;   a=  SR                  XU  Vs/ s H  oUS   PM	     sn5      nUR	                  WU/5        UnMR  X   S   S:X  d  M_  X   u  pxSR                  XU  Vs/ s H  oUS   PM	     sn5      nUS:X  a	  US:X  a  SnO5US	:X  a  S	nO,US
:X  a  S
nO#US:X  a  SnOUS:X  a  SnOUS:X  a  SnOUS:X  a  SnUS:w  a  UR	                  Xv/5        UR	                  SX   S   /5        US-   nGM     US   u  pUS   u  pSnSnSnSn US:X  a	  [
        nSnOUS:X  a  UnUS   S:X  a  [
        USS  -   nOnUR                  S5      (       a   [        R                  R                  U5      nO8UR                  S5      (       a   [        R                  R                  U5      nOUn[        R                  R                  U5      (       a  Sn[        R                  R                  U5      (       a  Sn[        U 5        U(       a  [        [        UU[        5        US:X  a  Un[!        S5         ["        [        [$        5      :  a0  U S   S:w  a'  U R'                  S5      S   S-   [$        ["           -   n U $ U S   S:X  a+  [!        S[)        U SS  R+                  SS5      5      SS9  Sn U $ U S   S:X  a  U SS  R-                  5       n[        R                  R                  U5      (       a&  [/        US5       nUR1                  5       nS S S 5        O[3        U5      nW(       a#  UR5                  S5      nUUsqqSn[9        S5        U $ U
S:X  a  [:        R<                  " 5         U $ U
S:X  a  [?        U5        Sn U $ U
S:X  a  [?        [@        5        Sn U $ U
S:X  a  [C        S [        S5        U $ U
S!:X  a#  [        RD                  " 5       n[!        SUS5        gU
S":X  a3  U(       a+  [        RF                  " U5        [        RD                  " 5       q$gU
S#:X  a<  U(       a  [J        RM                  S5      n
U
SU-   -  n
 [N        RP                  " U
S$S%9nU$ g s  snf s  snf ! , (       d  f       GNN= f! [R         a    [!        S&5         U $ [T         a  n[!        S'U 35         S nAU $ S nAff = f)(Nr!   r'   r   z=&r   r   r
   ri   -z--r   ro   =r   re   rf   ..rl   rh   r   ^r   z**r   rG   rH   rX   qrk   histdbz617:pwdrj   rN   T)r   z:Command not found. Please check the command and try again.z.An error occurred while starting the command: )+rk   rT   r   r   rS   rs   rx   rJ   rK   abspathrt   rL   rc   	qs_updaterz   r   r~   r   rp   rsplitevalreplacerQ   rN   r>   r   rP   rw   r   r<   r?   
tnz_fprintrM   print_kvgetcwdchdirCWDrh   r}   r   PopenFileNotFoundError	Exception)rU   r   ctokensr   r   r   valuer   r   _type0r   	_type_nth
_value_nthrel_pathabs_pathabs_dirpathTyperK   vrV   rG   r   r   r   processr   s                             rC   	key_enterr     s    "gSzl"F
6{1}RiGB 1c&k"a4FIaLD(WWFaL9LqdL9:ENNE5>* B Yq\S "JMEWWFaL9LqdL9:EQw5C<343333|/ NNC1./sB= #B $AJKF#BKI HHGH 	
 3(3D3!H{c!HXab\4I($$T**bggooh6OH$$S))bggooh6OH6>H77==""sX77>>(##sX O%8Z8 3	$K 	 
CG|1BIIcN1,=c,A"R&,Hrn Ik 
A#fd2ab6>>#d+C&D&QVXSUj Ig 
A#qrFLLN 77>>!aIIK  QAGGDME UFBGQKD I? 
#((*> I= 
*X.2< I; 
*X.2: I9 
(65&98 I7 
biik!5a+>r	HHW))+C 
s3sX~	H &&s$7GN I : :Z H ! 	PNO I  	HB1#FGG I	Hs6   "R 
2R%
R*R< *
R9<S6	S6S11S6c           	        ^^^ Sn[         R                  R                  5       n[        R                  " U5      n[
        R                  S5      S    S3n [        SU  S3SS9  [        q	 [        R                  " [         R                  R                  5       5        SnS	u  mmS
u  pVSn [        5       nUS:X  a  M  US:X  a  SnGOnUS:X  a  [        T5      nGO[US:X  a  US:  a  TS US-
   TUS  -   mUS-  nGO:US:X  a  U[        T5      :  a  TS U TUS-   S  -   mGOUS   S:X  a  TS U US   -   TUS  -   mUS-  nGOUS:X  a  TS U S-   TUS  -   mUS-  nGOUS:X  a  [        T5      n	U	S :X  ag  TR                  S5      (       a)  TR                  S5      S   m[         R#                  T5        T[        R$                  " U[        R&                  U5        $ [        U	5      U:w  a	  U	m/ / SsqqqGOAUS:X  a'  [*        (       d  [/        TU5      Ssqq[1        S5        GOUS:X  a\  [*        (       aQ  [        [*        5      S:X  a  [3        T5      m[        T5      nGO[,        [        [*        5      :  a  [,        S-  qGOSqGOUS;   am  TR                  S5      (       aW  [*        (       aL  US:X  a9  Sn[4        R6                  " S5        [        S[4        R8                  " 5       5        GOL[        S5        GO?US:X  a$  [*        (       a  [3        TS5      m[        T5      nGOUS:X  aM  T(       aF  [;        U4S j[=        U[        T5      5       5       [        T5      5      n
TS U
 m[        T5      nSqGOUS:X  a,  US:  a&  [;        U4S j[=        US-
  SS5       5       S5      nGOUS:X  a4  [;        U4S  j[=        U[        T5      5       5       [        T5      5      nGOVUS!:X  a  S"u  nmmGOHUS#:X  a  [*        (       a  [1        S=q5        GO(US$:X  a)  [*        (       a  [1        [        [*        5      S-
  =q5        OUS%:X  a&  [        T5      [        T5      :  a  [        T=m5      nOUS%:X  a  U[        T5      :  a  US-  nOUS&:X  a  US:  a  US-  nOUS':X  a  [*        (       a  [,        S:  a
  [,        S-  qO{US(:X  a/  [*        (       a$  [,        [        [*        5      S-
  :  a
  [,        S-  qOFUS':X  a$  [        (       a  U[        [        5      :  a  US-  nOUS(:X  a  [        (       a  US:  a  US-  nTR?                  S5      (       a  / SSsqqn[        T5      S:X  a  SnT(       a.  [         Vs/ s H  oR                  T5      (       d  M  UPM     snO[        q	SUs=:  a  [        [        5      :  a"  O  OTR                  S)5      (       d	  [        U   OSm[(        (       a  T(       a  TR                  S5      S   RA                  5       m[B        S*:X  aX  US+;  aR  / Ssqq[(         HC  n[E        U4S, jTR                  S-5       5       5      (       d  M.  [*        RG                  U5        ME     [1        [,        5        U[        T5      :w  a  US.:X  a  [        T5      n[        T5      nXW:  a  Un[
        R                  S5      S    S3n SnUSU  S3-  nU[I        [K        T5      S/S0S5       S3-  nUS0-  nUS1[        U 5      U-   S-    S2TUS   3-  nUS1[        U 5      U-   S-    S33-  nU[        T5      S:X  a  S4OS-  n[        USS9  O[        S5[        U 5      U-   S-    S23SS9  [        T5      S:X  d	  TS   S:X  a  [        S4SS6S79  GM  s  snf ! [        R$                  " U[        R&                  U5        f = f)8Nr   r   rI   z > z[2K[1m[38;2;1;191;191mz[0mr   r   )r   r   )r   r   r   r/   r0   r%   r.   r   r"   r!   r    zz r   )r8   r7   zls r8   r   z8.93z8.93:r7   c              3   b   >#    U  H$  nTU   R                  5       (       a  M  US -   v   M&     g7fr   r   )r   r   s3s     rC   r   tinput.<locals>.<genexpr>  s%     T*<QBqEMMOSQqS*<r   c              3   b   >#    U  H$  nTU   R                  5       (       a  M  US -   v   M&     g7fr   r   r   r   rU   s     rC   r   r     s+     9rGZ!bdefbgbobobq#!A#GZr   r'   c              3   b   >#    U  H$  nTU   R                  5       (       a  M  US -   v   M&     g7fr   r   r   s     rC   r   r     s+     9qGY!acdeafananap#!A#GYr   r   )r   r   r   r5   r6   r3   r4   r1   r2   r   rp   )r1   r2   r   c              3   H   >#    U  H  oTR                  5       ;   v   M     g 7fN)lower)r   tokenr   s     rC   r   r   C  s     L|e	1|s   "ro   c   r   z[37;2;200;200;200mr   GzG[0mz[Jz[T)r   flush)&r<   r=   filenotermios	tcgetattrr   rP   r~   rR   ls_httysetrawrD   rT   r   rx   rz   update	tcsetattr	TCSADRAINrw   rp   r   r   r   r   rJ   r   r   r   r   rr   r   r   allrS   r   rq   )s1cwdfdold_settingsr   r   his2_lenr@   rG   r   r   r   s0rU   r   r   s                 @@@rC   tinputr    s    C99B$$R(L IIcN2s	#B	0G
<DDU?

399##%& 	B H2~x U"!RU"#b'R U"rAv"Ubd)bg:MRrUVwrU"rCG|"Sb'Br!tuI:MR !#BsGHQK,?23,GrQ%BsGCK23,GrQ U" bMt8}}T**88C=,Q R 	"g//>O VV^ B!"QHBr" U"22R"q2 U"rrWq[vbz"B2 BZ"'"&'" ^+e0D0D u$FHHTN(BIIK0 'N U"rrB&WU"rT%CG*<TVYZ\V]^VW U"r1uD9ruRPQTSUWYGZ9rtu4vrU"D9quRQTUWQXGY9qsvwysz4{rU"wHBr"" U"rr8FB+;U"rr8#b'!)^R+D U"s2wR'8sr62{"U"rSW}"'"U"rAv"'" U"rrbeR!VRU"rrbRlR!VR U"ttSYaU"ttQa {{3RA!2R2w!|R<>t8t!||B'7At8DD!B2T22==;M;M48SUB rb((3-+224d?x7L'L  EBrLqwws|LLLIIaL  
  #b'! R<RBR ;V
 3+,C0<RDHH8B<8B-CDGLL./c"gbjl^1R[M::c"gbjl^8443r7A:x25bb!B
1~Q/R8 2wzRVs]E($,PS h 9p 	"g//>s.   *E^ N^ 1^^C ^ E^ (_c                  4     [        S5      n [        U 5        M  )Nri   )r  r~   )r   s    rC   testr  q  s    
3Ka rE   )r   r   )r2   )0rJ   r<   r  r  r   r   rk   quickSearchget_terminal_sizeterminal_sizecolumnsr   r   r   suggDict	arg_queryr   arg_pathr   rw   rp   r   rR   r  r  r{   ls_cli_cr   r   rM   rs   ZFS_DIRZHISTrz   r   rh   rD   rZ   rc   r   r   r   r   r   r   r  r   rE   rC   <module>r"     s6   	 
 
     M^	 &&(    		
 	 r1bBr1dBr1 dDiik
 	##JZ"6
Tn4n F*  !4Vtk?\rE   