+
    Œ`¤j¾3  ã                  óz  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
Ht ^ RIt]! ]	! ]4      P                  4       P                   R,          4      tRt^t^tR tR'R R	 lltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt ! R R4      tR R lt R(R R llt!R(R  R! llt"]#R"8X  dz   ]$! ]PJ                  4      ^8  d'   ]&! R#]PN                  R$7       ]PP                  ! ^4       ]"! ]PJ                  ^,          R%PS                  ]PJ                  R&,          4      4       R# R# ))u  SSH-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð½Ð° Ñ…Ð¾Ñ�Ñ‚Ð°Ñ… Ð´ÐµÐ²Ð°Ð¹Ñ�Ð¾Ð².

Ð£Ñ‡Ñ‘Ñ‚Ð½Ñ‹Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð»ÐµÐ¶Ð°Ñ‚ Ð² Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾Ð¹ Ð‘Ð” `ssh_hosts.db`:
Ð¸Ð¼Ñ� Ð´ÐµÐ²Ð°Ð¹Ñ�Ð°, IP, Ð¿Ð°Ñ€Ð¾Ð»ÑŒ, Ð»Ð¾Ð³Ð¸Ð½ (Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ `root`), Ð¿Ð¾Ñ€Ñ‚ Ñ�ÐµÑ€Ð²ÐµÑ€Ð° (Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ `22`).
)ÚannotationsN)ÚPath)ÚOptionalzssh_hosts.dbÚrootc                 óœ  € \         P                  ! \        4      p \         P                  V n        V P                  4       pVP                  R 4       VP                  R4       VP                  4        Uu0 uF  q"^,          kK  	  ppRV9  d   VP                  R4       RV9  d   VP                  R4       V P                  4        V # u upi )zî
        CREATE TABLE IF NOT EXISTS ssh_hosts (
            device TEXT PRIMARY KEY,
            ip TEXT NOT NULL,
            password TEXT,
            username TEXT DEFAULT 'root',
            port INTEGER DEFAULT 22
        )
        zPRAGMA table_info(ssh_hosts)Úusernamez=ALTER TABLE ssh_hosts ADD COLUMN username TEXT DEFAULT 'root'Úportz8ALTER TABLE ssh_hosts ADD COLUMN port INTEGER DEFAULT 22)	Úsqlite3ÚconnectÚDB_PATHÚRowÚrow_factoryÚcursorÚexecuteÚfetchallÚcommit)ÚconnÚcurÚrowÚcolss       Ú
ssh_cmd.pyÚget_connr      s¢   € Ü�?Š?œ7Ó#€DÜ—{‘{€DÔØ
�+‰+‹-€CØ‡K�Kð	ô
ð ‡K�KÐ.Ô/Ø!Ÿl™lœnÓ-™n�s��FˆF™n€DÐ-Ø˜ÔØ�‰ÐSÔTØ�TÔØ�‰ÐNÔOØ‡K�K„MØ€Kùò .s   Á4C	c               ó0   € V ^8„  d   QhRRRRRRRRRRR	R
/# )é   ÚdeviceÚstrÚipÚpasswordzOptional[str]r   r   zOptional[int]ÚreturnÚNone© )Úformats   "r   Ú__annotate__r"   2   sD   € ÷ )ñ )Øð)àð)ð ð)ð ð	)ð
 ð)ð 
ñ)ó    c                ó  € T ;'       g    R P                  4       p T;'       g    R P                  4       pV '       g   \        R4      hV'       g   \        R4      h\        V 4      pVR
9   d/   V'       g   \        R4      hVP                  R4      ;'       g    R pV'       g*   T;'       g    / P                  R4      ;'       g    \        pVR
9   d*   T;'       g    / P                  R4      ;'       g    \
        p \        V4      p\        4       pTP                  4       pTP                  R	YY#;'       g    \        T34       TP                  4        TP                  4        R#   \        \        3 d   p\        R4      ThRp?ii ; i)Ú õ,   Ð˜Ð¼Ñ� Ð´ÐµÐ²Ð°Ð¹Ñ�Ð° Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾u   IP Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÐµÐ½Nu%   ÐŸÐ°Ñ€Ð¾Ð»ÑŒ SSH Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÐµÐ½r   r   r   u:   ÐŸÐ¾Ñ€Ñ‚ Ñ�ÐµÑ€Ð²ÐµÑ€Ð° Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼a*  
        INSERT INTO ssh_hosts (device, ip, password, username, port)
        VALUES (?, ?, ?, ?, ?)
        ON CONFLICT(device) DO UPDATE SET
            ip = excluded.ip,
            password = excluded.password,
            username = excluded.username,
            port = excluded.port
        )Nr%   )ÚstripÚ
ValueErrorÚget_hostÚgetÚDEFAULT_USERÚDEFAULT_PORTÚintÚ	TypeErrorr   r   r   r   Úclose)	r   r   r   r   r   ÚexistingÚexcr   r   s	   &&&&&    r   Úupsert_hostr2   2   sL  € ð �lˆl˜×!Ñ!Ó#€FØ
�(ˆ(�×	Ñ	Ó	€BßÜÐGÓHÐHßÜÐ2Ó3Ð3Ü˜Ó€HØ�:ÔßÜÐDÓEÐEØ—<‘< 
Ó+×1Ð1¨rˆßØ—N�N ×'Ñ'¨
Ó3×CÐC´|ˆØˆzÔØ—�˜B×#Ñ# FÓ+×;Ð;¬|ˆð`Ü�4‹yˆô ‹:€DØ
�+‰+‹-€CØ‡K�Kð	ð 
�X×7Ð7¬<¸Ð>ôð 	‡K�K„MØ‡J�J†Løô# ”zÐ"ô `ÜÐUÓVÐ\_Ð_ûð`ús   Ã=E' Å'F	Å8FÆF	c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   zOptional[dict]r    )r!   s   "r   r"   r"   ^   s   € ÷ ñ �Sð ˜^ñ r#   c                óÆ   € \        4       pVP                  4       pVP                  R V 34       VP                  4       pVP	                  4        V'       g   R# \        V4      # )z(SELECT * FROM ssh_hosts WHERE device = ?N)r   r   r   Úfetchoner/   Údict)r   r   r   r   s   &   r   r)   r)   ^   sI   € Ü‹:€DØ
�+‰+‹-€CØ‡K�KÐ:¸V¸IÔFØ
�,‰,‹.€CØ‡J�J„LßÙÜ�‹9Ðr#   c               ó   € V ^8„  d   QhRR/# )r   r   ú
list[dict]r    )r!   s   "r   r"   r"   i   s   € ÷ #ñ #�Jñ #r#   c                 óØ   € \        4       p V P                  4       pVP                  R 4       VP                  4       pV P	                  4        V Uu. uF  p\        V4      NK  	  up# u upi )zSELECT * FROM ssh_hosts)r   r   r   r   r/   r6   )r   r   ÚrowsÚrs       r   Ú
list_hostsr<   i   sQ   € Ü‹:€DØ
�+‰+‹-€CØ‡K�KÐ)Ô*Ø�<‰<‹>€DØ‡J�J„LÙ!Ó"™T˜ŒD�ŽG™TÑ"Ð"ùÒ"s   ÁA'c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   Úboolr    )r!   s   "r   r"   r"   r   s   € ÷ ñ ˜ð  ñ r#   c                ó¾   € \        4       pVP                  4       pVP                  R V 34       VP                  4        VP                  pVP                  4        V^ 8„  # )z&DELETE FROM ssh_hosts WHERE device = ?)r   r   r   r   Úrowcountr/   )r   r   r   Úchangeds   &   r   Údelete_hostrB   r   sJ   € Ü‹:€DØ
�+‰+‹-€CØ‡K�KÐ8¸6¸)ÔDØ‡K�K„MØ�l‰l€GØ‡J�J„LØ�Q‰;Ðr#   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úoldr   Únewr   r>   r    )r!   s   "r   r"   r"   |   s!   € ÷ ñ �Sð ˜sð  tñ r#   c                óÒ  € T ;'       g    R P                  4       p T;'       g    R P                  4       pV '       d   V'       d   W8X  d   R# \        4       pVP                  4       p VP                  RW34       VP	                  4        VP
                  pTP                  4        T^ 8„  #   \        P                   d&   pTP                  4        \        RT R24      ThRp?ii ; i)r%   Fz0UPDATE ssh_hosts SET device = ? WHERE device = ?u   SSH-Ð·Ð°Ð¿Ð¸Ñ�ÑŒ 'u   ' ÑƒÐ¶Ðµ ÐµÑ�Ñ‚ÑŒN)
r'   r   r   r   r   r@   r	   ÚIntegrityErrorr/   r(   )rD   rE   r   r   rA   r1   s   &&    r   Úrename_hostrH   |   sÁ   € Ø�9ˆ9�"×
Ñ
Ó
€CØ�9ˆ9�"×
Ñ
Ó
€Cß—c˜SœZÙÜ‹:€DØ
�+‰+‹-€CðOØ�‰ÐFÈÈ
ÔSØ�‰ŒØ—,‘,ˆð 	‡J�J„LØ�Q‰;Ðøô	 ×!Ñ!ô OØ�
‰
ŒÜÐ-¨c¨UÐ2CÐDÓEÈ3ÐNûðOús   Á(/B, Â,C&Ã C!Ã!C&c               ó   € V ^8„  d   QhRR/# )r   r   ú	list[str]r    )r!   s   "r   r"   r"   Ž   s   € ÷ 
Fñ 
F Yñ 
Fr#   c                ó:  € V f   . # \        V \        4      '       d   V P                  4       pM \        V 4      pV Uu. uF=  p\        V4      P                  4       '       g   K$  \        V4      P                  4       NK?  	  up#   \         d    T .p LZi ; iu upi )N)Ú
isinstancer   Ú
splitlinesÚlistr.   r'   )ÚcommandsÚitemsÚitems   &  r   Ú_normalize_commandsrR   Ž   s‚   € ØÒØˆ	Ü�(œC× Ò Ø×#Ñ#Ó%‰ð	Ü˜“NˆEñ +0ÓE©% $´3°t³9·?±?×3DÔŒC�‹I�O‰OÖ©%ÑEÐEøô ô 	Ø�JŠEð	üâEs   ¯B ¾!BÁ$BÂBÂBc               ó    € V ^8„  d   QhRRRR/# )r   Údevice_namer   r   z#tuple[paramiko.SSHClient, str, int]r    )r!   s   "r   r"   r"   ›   s   € ÷ !ñ !˜sð !Ð'Jñ !r#   c                ó  € T ;'       g    R P                  4       p V '       g   \        R4      h\        V 4      pV'       g   \        RV  R24      hVP	                  R4      ;'       g    R P                  4       pV'       g   \        RV  R24      hVP	                  R4      ;'       g    \
        P                  4       ;'       g    \
        p \        VP	                  R4      ;'       g    \        4      pVP	                  R	4      ;'       g    R p\        P                  ! 4       pVP                  \        P                  ! 4       4       VP                  VVVV\        \        \        R
R
R7	       WbV3#   \        \        3 d
    \        p L—i ; i)r%   r&   u$   SSH-Ñ…Ð¾Ñ�Ñ‚ Ð´Ð»Ñ� Ð´ÐµÐ²Ð°Ð¹Ñ�Ð° 'u#   ' Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ð² ssh_hosts.dbr   u   Ð£ Ð´ÐµÐ²Ð°Ð¹Ñ�Ð° 'u&   ' Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½ IP Ð² ssh_hosts.dbr   r   r   F)	Úhostnamer   r   r   ÚtimeoutÚbanner_timeoutÚauth_timeoutÚallow_agentÚlook_for_keys)r'   r(   r)   ÚRuntimeErrorr*   r+   r-   r,   r.   ÚparamikoÚ	SSHClientÚset_missing_host_key_policyÚAutoAddPolicyr
   ÚCONNECT_TIMEOUT)rT   Úhostr   r   r   r   Úclients   &      r   Ú_connect_hostrd   ›   sY  € Ø×$Ð$ "×+Ñ+Ó-€KßÜÐGÓHÐHä�KÓ €DßÜÐAÀ+ÀÐNqÐrÓsÐsà
�(‰(�4‹.×
Ð
˜B×	%Ñ	%Ó	'€BßÜÐ0°°Ð=cÐdÓeÐeà—‘˜Ó$×4Ð4¬×;Ñ;Ó=×MÐMÄ€HðÜ�4—8‘8˜FÓ#×3Ð3¤|Ó4ˆð �x‰x˜
Ó#×)Ð) r€Hä×ÒÓ!€FØ
×&Ñ&¤x×'=Ò'=Ó'?Ô@Ø
‡N�NØØØØÜÜ&Ü$ØØð ô 
ð �tÐÐøô# ”zÐ"ô ÜŠðús   ÃE2 Ã)E2 Å2FÆFc          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r   Útextr   ÚtokenrO   rJ   Ú
shell_exitr-   r   r8   r    )r!   s   "r   r"   r"   ¿   s1   € ÷ #:ñ #: ð #:¨Cð #:¸9ð #:ÐRUð #:ÐZdñ #:r#   c                óB  € \         P                  ! R \         P                  ! V4       R24      pR.\        V4      ,          p^ pVP	                  V 4       FÑ  p\        VP                  ^4      4      p\        VP                  ^4      4      p	WVP                  4        p
VP                  4       pV
P                  R4      '       d
   V
R,          p
V
P                  R4      '       d   V
RR p
^ Tu;8:  d   \        V4      8  g   K¯  M K³  WX,          e   K¿  RW(,          RV
RRR	V	/WX&   KÓ  	  WR pR
p\        V4       FF  w  rÞW],          e   K  RTRV'       d   TMRRRR	V'       d   TMRRV'       * /W]&   V'       g   KB  RpRpKH  	  V Uu. uF
  qÿf   K  VNK  	  up# u upi )Ú__OZPAY_z__:(\d+):(\d+)__NÚ
:é   NNÚcommandÚstdoutÚstderrr%   Ú	exit_codeTÚskippedFéÿÿÿÿ)ÚreÚcompileÚescapeÚlenÚfinditerr-   ÚgroupÚstartÚendÚ
startswithÚendswithÚ	enumerate)rf   rg   rO   rh   ÚpatternÚresultsÚposÚmatchÚidxÚcodeÚchunkÚtailÚfirst_missingÚirm   rQ   s   &&&&            r   Ú_parse_session_outputrˆ   ¿   s�  € Ü�jŠj˜H¤R§Y¢Y¨uÓ%5Ð$6Ð6FÐGÓH€GØ%) F¬S°«]Õ$:€GØ
€CØ×!Ñ! $Ö'ˆÜ�%—+‘+˜a“.Ó!ˆÜ�5—;‘;˜q“>Ó"ˆØ˜Ÿ™›Ð'ˆØ�i‰i‹kˆØ×Ñ˜D×!Ò!Ø˜"•IˆEØ�>‰>˜$×ÒØ˜#˜2�JˆEØ�Ö#”c˜(“m×#Ò#¨­Ô(<à˜8�=Ø˜%Ø˜"Ø˜Tð	ˆG‹Lñ (ð  �ˆ:€DØ€MÜ Ö)‰
ˆØ�:Ò!Ùà�wØŸm‘d°Ø�bØ§}™¸$Ø˜=Ô(ð
ˆ‰
÷ ‰=ØˆDØ!ŠMñ *ñ %Ó9™W�T�DˆD™WÑ9Ð9ùÒ9s   Æ	FÆFc               ó    € V ^8„  d   QhRRRR/# )r   rm   r   r   r    )r!   s   "r   r"   r"   å   s   € ÷ ñ ˜cð  cñ r#   c                óÒ  € T ;'       g    R P                  4       pV'       g   R # VP                  R4      '       d7   RV9   d   R# RV9   d   R# RV9   d   R# RV9   d   R	# R
V9   d   R# RV9   d   R# VP                  4       R8X  g&   VP                  4       P                  R4      '       d   R# VP                  R^4      ^ ,          p\        V4      ^ 8”  d   VR,          R,           # V# )r%   zcat zredsocks.confu   Ð·Ð°Ð¿Ð¸Ñ�ÑŒ redsocks.confzentrypoint.shu   Ð·Ð°Ð¿Ð¸Ñ�ÑŒ entrypoint.shzdocker-compose.ymlu   Ð·Ð°Ð¿Ð¸Ñ�ÑŒ docker-compose.ymlÚ
Dockerfileu   Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Dockerfilezredroid.confu&   Ð·Ð°Ð¿Ð¸Ñ�ÑŒ modules-load redroid.confÚOZPAY_DOCKER_PS_STARTu5   docker ps â€” Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€Ð¾Ð²z	docker psz
docker ps rk   :Né�   Nz...)r'   r{   Úsplitrv   )rm   rf   Úfirsts   &  r   Ú_command_previewr�   å   sÉ   € Ø�MˆM�r× Ñ Ó"€DßÙØ‡��v×ÒØ˜dÔ"Ù/Ø˜dÔ"Ù/Ø 4Ô'Ù4Ø˜4ÔÙ,Ø˜TÔ!Ù;Ø" dÔ*ÙJØ‡z�zƒ|�{Ô" d§j¡j£l×&=Ñ&=¸l×&KÒ&KÙFØ�J‰J�t˜QÓ Õ"€EÜ
ˆ5ƒz�CÔØ�T�{˜UÕ"Ð"Ø€Lr#   c                  óR   € ] tR t^þtR R ltR R ltR R ltR R ltR	 R
 ltRt	R# )Ú_LiveSshPrinterc               ó$   € V ^8„  d   QhRRRRRR/# )r   rO   rJ   rg   r   Úechor>   r    )r!   s   "r   r"   Ú_LiveSshPrinter.__annotate__ÿ   s&   € ÷ Sñ S ð S°3ð S¸dñ Sr#   c                	óø   € Wn         W0n        R V n        \        P                  ! R\        P
                  ! V4       R24      V n        \        P                  ! R\        P
                  ! V4       R24      V n        R# )r%   z^__OZPAY_START_z__:(\d+)__$z	^__OZPAY_z__:(\d+):(\d+)__$N)rO   r”   Úbufrs   rt   ru   Ústart_reÚend_re)ÚselfrO   rg   r”   s   &&&&r   Ú__init__Ú_LiveSshPrinter.__init__ÿ   sZ   € Ø ŒØŒ	ØˆŒÜŸ
š
 o´b·i²iÀÓ6FÐ5GÀ{Ð#SÓTˆŒÜ—j’j I¬b¯iªi¸Ó.>Ð-?Ð?PÐ!QÓRˆŽr#   c               ó    € V ^8„  d   QhRRRR/# )r   rf   r   r   r   r    )r!   s   "r   r"   r•     s   € ÷ ñ ˜ð  ñ r#   c                	ó®   € V'       g   R # V ;P                   VP                  RR4      P                  RR4      ,          un         V P                  R4       R # )Nz
rk   ÚF)r—   ÚreplaceÚ_drain)rš   rf   s   &&r   ÚfeedÚ_LiveSshPrinter.feed  s:   € ßÙØ�Š�D—L‘L ¨Ó.×6Ñ6°t¸TÓBÕB�Ø�‰�EÖr#   c               ó   € V ^8„  d   QhRR/# )r   r   r   r    )r!   s   "r   r"   r•     s   € ÷ ñ ˜ñ r#   c                	ó(   € V P                  R 4       R# )TN)r¡   )rš   s   &r   ÚfinishÚ_LiveSshPrinter.finish  s   € Ø�‰�DÖr#   c               ó    € V ^8„  d   QhRRRR/# )r   Úflushr>   r   r   r    )r!   s   "r   r"   r•     s   € ÷ 
ñ 
˜Dð 
 Tñ 
r#   c                	ó>  €  V P                   P                  R4      pV^ 8  d?   V'       d5   V P                   '       d#   V P                  V P                   4       RV n         R# V P                   RV pV P                   V^,           R V n         V P                  V4       Kž  )Trk   r%   N)r—   ÚfindÚ_emit)rš   r©   ÚnlÚlines   &&  r   r¡   Ú_LiveSshPrinter._drain  st   € ØØ—‘—‘˜tÓ$ˆBØ�AŒvß˜TŸXŸX˜XØ—J‘J˜tŸx™xÔ(Ø!�D”HÙØ—8‘8˜C˜R�=ˆDØ—x‘x  Q¥ Ð)ˆDŒHØ�J‰J�tÖr#   c               ó    € V ^8„  d   QhRRRR/# )r   r®   r   r   r   r    )r!   s   "r   r"   r•     s   € ÷  ñ  ˜#ð   $ñ  r#   c                	ó  € V P                   '       g   R # VP                  4       pV P                  P                  V4      pV'       dp   \	        VP                  ^4      4      p^ Tu;8:  d   \        V P                  4      8  d   M MV P                  V,          MRp\        R\        V4       2RR7       R # V P                  P                  V4      pV'       d"   \        RVP                  ^4       2RR7       R # \        VRR7       R # )Nr%   z[ssh] $ T©r©   z[ssh] exit=)r”   r'   r˜   Ú	fullmatchr-   rx   rv   rO   Úprintr�   r™   )rš   r®   Ústrippedry   r‚   rm   rz   s   &&     r   r¬   Ú_LiveSshPrinter._emit  s¿   € Ø�y�yˆyÙØ—:‘:“<ˆØ—‘×'Ñ'¨Ó1ˆßÜ�e—k‘k !“nÓ%ˆCØ,-°Ö,I´s¸4¿=¹=Ó7I×,I�d—m‘m CÖ(ÈrˆGÜ�HÔ-¨gÓ6Ð7Ð8ÀÕEÙØ�k‰k×#Ñ# HÓ-ˆßÜ�K §	¡	¨!£˜~Ð.°dÕ;ÙÜˆd˜$×r#   )r—   rO   r”   r™   r˜   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r›   r¢   r¦   r¡   r¬   Ú__static_attributes__r    r#   r   r’   r’   þ   s!   † õSõõõ
÷ ñ  r#   r’   c               ó    € V ^8„  d   QhRRRR/# )r   rW   úOptional[float]r   ztuple[str, int]r    )r!   s   "r   r"   r"   ,  s   € ÷  Zñ  Z¨/ð  ZÀñ  Zr#   c                óü  aa€ V'       d&   \         P                  ! 4       \        V4      ,           MR p. oR VV3R llp VeD   \         P                  ! 4       V8”  d*    V P                  4        \        R\        V4       R24      hV! V P                  4       V P                  4      pV! V P                  4       V P                  4      ;'       g    TpV P                  4       '       d¯   V P                  4       '       g™   V P                  4       '       gƒ   V P                  4       '       d   V! RV P                  4      MR  V P                  4       '       d   V! RV P                  4       K+  V P                  4       '       d   V! RV P                  4       K+  M$V'       d   EKc  \         P                  ! R4       EK|  RP                  S4      P                  RR	R
7      V P                  4       3#   \         d     ELŒi ; i)Nc               ó    € V ^8„  d   QhRRRR/# )r   Úreadyr>   r   r    )r!   s   "r   r"   Ú)_stream_ssh_channel.<locals>.__annotate__0  s   € ÷ ñ �Dð  4ñ r#   c                ó”   <€ V '       g   R # V! R4      pV'       g   R # SP                  V4       S! VP                  RRR7      4       R# )Fi    úutf-8r    ©ÚerrorsT)ÚappendÚdecode)rÀ   ÚrecvÚdataÚchunksÚon_datas   && €€r   ÚtakeÚ!_stream_ssh_channel.<locals>.take0  s<   ø€ ßÙÙ�D‹zˆßÙØ�‰�dÔÙ�—‘˜G¨I�Ó6Ô7Ùr#   Tu5   SSH-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð¿Ñ€ÐµÐ²Ñ‹Ñ�Ð¸Ð»Ð¸ Ñ‚Ð°Ð¹Ð¼Ð°ÑƒÑ‚ u    Ñ�gš™™™™™©?r#   rÃ   r    rÄ   )ÚtimeÚ	monotonicÚfloatr/   Ú	ExceptionÚTimeoutErrorr-   Ú
recv_readyrÈ   Úrecv_stderr_readyÚrecv_stderrÚexit_status_readyÚsleepÚjoinrÇ   Úrecv_exit_status)ÚchannelrW   rË   ÚdeadlinerÌ   ÚgotrÊ   s   &&f   @r   Ú_stream_ssh_channelrÝ   ,  s‰  ù€ ß6=”—’Ó ¤5¨£>Ö1À4€HØ€F÷ñ ð ØÒ¤D§N¢NÓ$4°xÔ$?ðØ—‘”ô Ð!VÔWZÐ[bÓWcÐVdÐdgÐhÓiÐiÙ�7×%Ñ%Ó'¨¯©Ó6ˆÙ�7×,Ñ,Ó.°×0CÑ0CÓD×KÐKÈˆØ×$Ñ$×&Ò&¨w×/AÑ/A×/CÒ/CÈG×LeÑLe×LgÒLgØ(/×(:Ñ(:×(<Ò(<‰D��w—|‘|Ô$À$øØ×$Ñ$×&Ò&Ù�T˜7Ÿ<™<Ö(Ø×+Ñ+×-Ò-Ù�T˜7×.Ñ.Ö/ØßŠsÜ�JŠJ�t×Ø�8‰8�FÓ×"Ñ" 7°9Ð"Ó=¸w×?WÑ?WÓ?YÐYÐYøô ô Úðús   ÁG, Ç,G;Ç:G;c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   rT   r   rW   r½   r”   r>   r   r8   r    )r!   s   "r   r"   r"   O  s2   € ÷ ,ñ ,Øð,ð ð,ð ð	,ð
 ñ,r#   c                ó¢  € T ;'       g    RP                  4       p \        V4      pV'       g   \        R4      h\        P                  ! 4       P
                  pRVR,           2pR.p\        V4       F]  w  r‰VP                  RV RV R24       VP                  V	4       VP                  V R	24       VP                  R
V RV RV R24       K_  	  RP                  V4      R,           p
\        WEV4      p\        V 4      w  rÍpV'       d#   \        RV  RV RV R\        V4       2RR7        VP                  RVR7      w  pppVP                  V
4       VP                  4        VP                   P#                  4        \%        VP                   W+P&                  4      w  ppVP)                  4        VP+                  4        \-        VWTV4      pV'       d   VR,          P/                  R4      MTpV'       d   \        RV  RV RV RV 2RR7       V# \        RV  RV RV R\        V4       RV 2
4       V#   TP+                  4        i ; i)u|   Ð’Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð² Ð¾Ð´Ð½Ð¾Ð¹ SSH-Ñ�ÐµÑ�Ñ�Ð¸Ð¸ (Ð¾Ð±Ñ‰Ð¸Ð¹ cwd, Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ðµ, Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ðµ).r%   u%   ÐšÐ¾Ð¼Ð°Ð½Ð´Ð° Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ú__ozpay_st_:Né   Nz	exec 2>&1zprintf "\n__OZPAY_START_z__:%s__\n" "Ú"z=$?zprintf "\n__OZPAY_z__:%s:%s__\n" "z" "${z}"rk   z[ssh] Ú@Ú:u    ÐºÐ¾Ð¼Ð°Ð½Ð´=Tr²   z
/bin/sh -s)rW   rp   u6    Ð³Ð¾Ñ‚Ð¾Ð²Ð¾, Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð½Ñ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° exit=z cmds=z exit=rr   )r'   rR   r(   ÚuuidÚuuid4Úhexr}   rÆ   rØ   r’   rd   r´   rv   Úexec_commandÚwriter©   rÚ   Úshutdown_writerÝ   r¢   r¦   r/   rˆ   r*   )rT   rO   rW   r”   Úcommand_listrg   Ú
status_varÚscript_linesÚindexrm   ÚscriptÚprinterrc   r   r   Ústdinrn   Ú_stderrÚoutrh   r   Ú	last_codes   &&&&                  r   Úrun_ssh_commandsrõ   O  s:  € ð ×$Ð$ "×+Ñ+Ó-€KÜ& xÓ0€LßÜÐ@ÓAÐAä�JŠJ‹L×Ñ€EØ˜u R�y˜kÐ*€JØ�=€LÜ# LÖ1‰ˆØ×ÑÐ7¸°w¸mÈEÈ7ÐRSÐTÔUØ×Ñ˜GÔ$Ø×Ñ˜z˜l¨#Ð.Ô/Ø×ÑØ! % Ð(8¸¸¸vÀjÀ\ÐQTÐUö	
ñ	 2ð �Y‰Y�|Ó$ tÕ+€Fä˜l°4Ó8€GÜ$ [Ó1Ñ€F�ßÜ��{�m 1 R D¨¨$¨¨~¼cÀ,Ó>OÐ=PÐQÐY]Õ^ðØ!'×!4Ñ!4°\È7Ð!4Ó!SÑˆˆv�wØ�‰�FÔØ�‰ŒØ�‰×$Ñ$Ô&Ü-¨f¯n©n¸gÇ|Á|ÓT‰ˆˆZØ�‰Ôà�‰Œä# C¨¸jÓI€Gß07�˜•—‘ Ô,¸Z€IßÜ��{�m 1 R D¨¨$¨Ð/eÐfoÐepÐqÐy}Õ~ð €Nô 	��{�m 1 R D¨¨$¨¨v´c¸,Ó6GÐ5HÈÈyÈkÐZÔ[Ø€Nøð 	�‰�ús   Ä0BH< È<Ic          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r   rT   r   rm   rW   r½   r”   r>   r   r6   r    )r!   s   "r   r"   r"   ~  s:   € ÷ ñ Øðàðð ðð ð	ð
 
ñr#   c                ó0   € \        W.W#R7      pV^ ,          # )u‹   Ð’Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð¿Ð¾ SSH Ð½Ð° Ñ…Ð¾Ñ�Ñ‚Ðµ Ð´ÐµÐ²Ð°Ð¹Ñ�Ð°.

Returns:
    dict Ñ� ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ stdout, stderr, exit_code.
)rW   r”   )rõ   )rT   rm   rW   r”   r   s   &&&& r   Úrun_ssh_commandrø   ~  s   € ô ˜{¨I¸wÔR€GØ�1�:Ðr#   Ú__main__z$usage: ssh_cmd.py <device> <command>)ÚfileÚ :r   NN)NNN)NT)*Ú__doc__Ú
__future__r   rs   r	   ÚsysrÎ   rå   Úpathlibr   Útypingr   r]   r   Ú__file__ÚresolveÚparentr   r+   r,   ra   r   r2   r)   r<   rB   rH   rR   rd   rˆ   r�   r’   rÝ   rõ   rø   r·   rv   Úargvr´   ro   ÚexitrØ   r    r#   r   Ú<module>r     s  ðñõ #ã 	Û Û 
Û Û Ý Ý ã á
‰d�8‹n×$Ñ$Ó&×-Ñ-°Õ>Ó
?€Ø€Ø€Ø€ò÷2)õXõ#õõõ$
Fõ!õH#:õL÷2+ ñ + õ\ Z÷F,÷^ð ˆzÔÙ
ˆ3�8‰8ƒ}�qÔÙÐ4¸3¿:¹:ÕFØ�Š�ŒÙ�C—H‘H˜Q•K §¡¨#¯(©(°2­,Ó!7Ö8ñ	 r#   