
    i	                         d dl Z d dlZd dlmZmZ d dlmZ d dlmZ ddl	m
Z
 ddlmZmZ  e j                  e      Zdeeef   fd	Z G d
 dej(                        Zy)    N)SequenceTuple)ferny)beipack   )read_cockpit_data_file)Peer	PeerErrorreturnc                  h   	 t        d      } t        j                  d       d| fS # t        $ r t        j                  d       t	        j
                  dd      }t	        j                  |dd	      }t        j                  |j                               } t        j                  d
       Y d| fS w xY w)Nzcockpit-bridge.beipack.xzz'Got pre-built cockpit-bridge.beipack.xzz6Pre-built cockpit-bridge.beipack.xz; building our own.cockpitT)	recursivezcockpit.bridge:mainzbeipack=True)
entrypointargsz  ... done!z&cockpit/data/cockpit-bridge.beipack.xz)
r   loggerdebugFileNotFoundErrorr   collect_modulepacklzmacompressencode)bridge_beipack_xzcockpit_contentsbridge_beipacks      1/usr/lib/python3/dist-packages/cockpit/beipack.pyget_bridge_beipack_xzr      s    	$23NO>? 45FFF  $MN"11)tL &6CX_mn MM.*?*?*AB]#35FFF$s    & BB10B1c            
           e Zd ZU ddgZeed<   eed<   eee	ee
   f      ed<   ddedee	   ddfd	Zd
e	ddddde	ddf
dZy)BridgeBeibootHelperbeiboot.providebeiboot.excpeerpayloadstepsr   r   Nc                 x    t               \  }}|| _        || _        d|t        |      t	        |      fff| _        y )Nboot_xz)r   r"   r#   lentupler$   )selfr"   r   filenamer#   s        r   __init__zBridgeBeibootHelper.__init__*   s;    13'	 8S\5;"GHJ
    commandztuple[object, ...]fdsz	list[int]stderrc                   K   t         j                  d||||       |dk(  r	 |\  }|t        | j                        k(  sJ 	 | j                  j                  J t         j                  dt        | j                               | j                  j                  j                  | j                         y |dk(  rt        dd|d	          t        dd
|       # t        t
        f$ r}t        dd|      |d }~ww xY ww)NzGot ferny request %s %s %s %sr    zinternal-errorzferny interaction error )messagezWriting %d bytes of payloadr!   zRemote exception: r   z%Unexpected ferny interaction command )
r   r   r'   r#   AssertionError
ValueErrorr
   r"   	transportwrite)r)   r-   r   r.   r/   sizeexcs          r   run_commandzBridgeBeibootHelper.run_command1   s    4gtS&Q''gs4<<0000 99&&222LL6DLL8IJII%%dll3%,8J4PQ7)6TUU,8]^e]f6ghh #J/ g 0<TUXT[:\]cffgs)   DC  BDC?)C::C??D) )__name__
__module____qualname__commandsr	   __annotations__bytesr   r   strobjectr+   r8   r9   r,   r   r   r   "   s    !=1H
JNE#x//011KT K# K Ki i4H i{ idg ilp ir,   r   )loggingr   typingr   r   cockpit._vendorr   cockpit._vendor.beir   datar   r"   r	   r
   	getLoggerr:   r   r@   r?   r   InteractionHandlerr   r9   r,   r   <module>rI      sY      " ! ' ( !			8	$GuS%Z0 Gi%22 ir,   