+
    ڞi0B                     b   R t ^ RIt]P                  ! RR4       ]P                  ! RR4       ^ RIHtHtH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Ht ^ RIHtHt ^ RIHt  ! R R]4      t]P4                  P7                  R4      '       d   R]P8                  9  d    ^RIHt ]P4                  P7                  R4      '       d   R]P8                  9  d    ^RI H t  R t!R#   ] d    ]
P>                  ! R4        LYi ; i  ] d    ]
P>                  ! R4        L?i ; i)z2Integration of package managers into UpdateManagerNGtkz3.0Snapd2)GLibr   r   )Cache)gettext)Thread)MyCache)inhibit_sleepget_dist_version)Dialogc                   r   a  ] tR t^t o ^ t^t^tR tR tR t	R t
R tR tR tR tR	 tR
 tRR ltRtV tR# )InstallBackendc                L    \         P                  ! W4       W n        R V n        R # N)r   __init__actionsleep_cookie)selfwindow_mainr   s   &&&@/usr/lib/python3/dist-packages/UpdateManager/backend/__init__.pyr   InstallBackend.__init__    s    *     c                   R \         P                  R&   \        4       V n        V P                  V P
                  8X  d   V P                  P                  p\        V P                  P                  P                  R7      p. p. pV P                  P                   F  pW,          pW%,          pVP                  '       d&   VP                  '       g   VP                  V4       KJ  VP                  '       g   K^  VP                  '       g   Kr  VP                  V4       K  	  V P!                  W44       R# V P                  V P"                  8X  Edy   . p. p	. p
\        V P                  P                  P                  R7      pV P                  P                   EF  p VP                  '       d]   W%P$                  ,          P                  '       g;   VP$                  pVP&                  '       d
   VR,          pVP                  V4       Ks  VP                  '       d@   W%P$                  ,          P                  '       d   V	P                  VP$                  4       K  VP(                  '       dD   W%P$                  ,          P                  '       d   V
P                  VP$                  4       EK  EK  EK  	  V P-                  WV
4       R# V P/                  4        R#   \*         d     EKS  i ; i)noneAPT_LISTCHANGES_FRONTEND)rootdirz#autoN)osenvironr
   r   r   ACTION_PRE_INSTALLr   cacher   r   oem_metapackagesmarked_installis_installedappendmarked_upgradeis_upgradable
commit_oemACTION_INSTALLnameis_auto_installedmarked_deleteKeyErrorcommitupdate)r   unfresh_cachefresh_cachepkgs_install_oempkgs_upgrade_oempkgunfresh_pkg	fresh_pkgpkgs_installpkgs_upgradepkgs_removepkgnames   &           r   startInstallBackend.start%   s&   17

-. *O;;$111 ,,22M(8(8(>(>(F(FGK!!''88+0',	---i6L6L6L$++C0 ///I4K4K4K$++C0 9 OO,?[[D///LLK  (8(8(>(>(F(FGK''--*** +HH 5 B B B"%((000#w.G$++G4***'1???$++CHH5)))'1>>>#**3884 ? *! .. KKK@KKM   s1   AK+KK=KK*=KK('K(c                    \         h)z(Run a update to refresh the package listNotImplementedError)r   s   &r   r.   InstallBackend.update]       !!r   c           	     H    V P                  V P                  RRRRRR7       R# )zInstall these OEM packagesTN)
authorizedsuccesserror_string
error_desctrans_failed)_action_doner   )r   r1   r2   s   &&&r   r'   InstallBackend.commit_oema   s-    ## 	 	
r   c                    \         h)zCommit the cache changesr=   )r   r6   r7   r8   s   &&&&r   r-   InstallBackend.commitl   r@   r   c                   / p/ pR \        4       ,           pV P                  P                  p \        RR4      p\        P
                  ! V4      pVP                  4        VR,           Fv  pVR,          V,          pVP                  RR4      p	VP                  RV4      p
VP                  RR4      pW9  d   KQ  V'       d   WK,          P                  RJ d   Kq  W3W&   Kx  	  VR	,           Fc  pVR	,          V,          pVP                  R
V4      pXP                  RR4      pW9  d   K?  V'       d   WK,          P                  RJ d   K_  WV&   Ke  	  W3#   \         d*   p\        P                  ! RT,          4        Rp?Y3# Rp?ii ; i)zstable/ubuntu-z0/usr/share/ubuntu-release-upgrader/deb2snap.jsonrseededdebN
to_channelmetapkgFunseededfrom_channelz%error reading deb2snap.json file (%s))r   r   r    openjsonloadclosegetr#   	Exceptionloggingdebug)r   seeded_snapsunseeded_snapscurr_channelr    d2s_filed2ssnapseedrN   rO   rP   unseedrR   es   &              r   get_snap_seedsInstallBackend.get_snap_seedsp   st   '*:*<<  &&	GBCH ))H%CNNH8}T*hhud+!XXlLA
((9d3'u~::eC&)%6" & JZ.%zz.,G((9d3'u~::eC'3t$ ( ++  	GMMAAEFF++	Gs%   BE A0E 2 E F	 FF	c                n    V P                   P                  f   \        R 4      V P                   n        MIV P                   P                  P                  R 4       V P                   P                  P	                  4        V P                   P                  p. pT P                  4       w  rETP                  4        F  w  pw  ruYq9   g   K  Y,          P                  '       g   K*  RpY,          P                  4        TP                  4        FA  p	T	P                  '       g   K  T	P                  '       g   K+  T	P                  '       d   K?  Rp M	  TP                  4        T'       g   K  TP!                  T4       K  	  T#   \
         d*   p\        P                  ! RT,          4       . u R p?# R p?ii ; i)Nzerror reading cache (%s)TF)r   r    r	   rS   _initDepCacherX   rY   rZ   rd   itemsr#   mark_deleteget_changesr+   r*   clearr$   )
r   r    rc   
duplicatesr[   _r`   rN   deb_is_autor3   s
   &         r   get_deb2snap_dups InstallBackend.get_deb2snap_dups   sU   	%%-)0  &  &&++D1  &&446$$**E 
--/*002ND(3 |
 7 7 7"
&&( ,,.C(((--- # 5 5 5&+ / ;%%c*' 3* =  	 MM4q89I		s   BF   F4F/)F4/F4c           	        / pV P                  4       w  r#VP                  4        F  w  pw  rV/ p\        P                  ! R RV.R\        P                  R7      P                  4       p\        P                  ! RV^ ,          \        P                  4      '       d    \        P                  ! RV,          4       K  WPP                  P                  9   g   K  RVR&   WgR&   WqV&   K  	  VP                  4        EF  w  rI/ p\        P                  ! R RV.R\        P                  R7      P                  4       p\        P                  ! RV^ ,          \        P                  4      '       g   Ku  \        P                  ! RV,          4       R	p
\        P                  ! R
V
,          V^ ,          \        P                  4      '       g    \        P                  ! RV,          4       K  RVR&   \        P                  ! R RV.R\        P                  R7      P                  4       pV^ ,          P                  R4       F  pVP                  4       p\        V4      ^8w  d   K%  V^,          pV^,          pVP                  VR,           4      '       g   KW  VP                  R4      ^ ,          pVR8w  g   Kx  VV9  g   K  \        P                  ! RV: RV: R24       RVR&   RVR&    M	  WqV&   EK  	  V# )r`   infoT)universal_newlinesstdoutz^installed: zSnap %s is installedinstallcommandchannelz#stable/ubuntu-[0-9][0-9].[0-9][0-9]z^tracking:.*%sz+Snap %s is not tracking the release channelremoveconnections
:-zSnap z is being used by z. Switching it to stable trackrefreshstable)rd   rh   
subprocessPopenPIPEcommunicateresearch	MULTILINErY   rZ   r   duplicate_packagessplitlen
startswith)r   	snap_listr[   r\   r`   rN   rO   snap_object	snap_inforR   
re_channelconnsconn	conn_colsplugslot	plug_snaps   &                r   get_snap_transitions#InstallBackend.get_snap_transitions   s   	'+':':'<$'3'9'9';#D#3K"((&#'! km	 
 yy1r||DD4t;<((;;;)2I&)3I&"-$ (<" %3$8$8$: DK"((&#'! km	 
 yy1r||DD4t;<B
yy%
2IaL",,  MMEL )1I& #((]D1'+%?? +-	  "!HNN40D $

I9~* $Q<D$Q<Dtcz22$(JJsOA$6	%, ) ?#MM $(!4
 6?K	25=K	2!) 1, #.$g %;j r   c                Z   Vw  rVpV'       g   R # ^ p^ p	VP                  4        F/  p
WP                  4       ,          pWP                  4       ,          p	K1  	  W,          pW,          WV,          ,           pWP                  4       8  d$   \        P
                  ! VP                  V4       R # R # r   )	get_tasksget_progress_totalget_progress_doneget_fractionr   idle_addset_fraction)r   clientchangerm   	user_dataindexcountprogress_bar
task_total	task_donetasktask_fractiontotal_fractions   &&&&&        r   update_snap_cbInstallBackend.update_snap_cb  s    %."l 
	$$&D1133J//11I ' ". (/EMB 5577MM,33^D 8r   c           	     2  a  V 3R  lpR pV! \        R4      4       RpRpS P                  P                  4       pV'       dH   \        V^ ,          \        P
                  4      '       d!   V^ ,          p\        P                  ! ^dW#4      pS P                  4       pV'       d(   \        P                  ! V4       VP                  ^ 4        \        P                  ! 4       pVP                  4        ^ p\        V4      p	VP                  4        F  w  rVR,          pVR8X  dB   V! \        RV
,          4      4       VP!                  V
VR,          S P"                  WV3R7       MVR	8X  d:   V! \        R
V
,          4      4       VP%                  V
S P"                  WV3R7       M@V! \        RV
,          4      4       VP'                  V
VR,          S P"                  WV3R7       V^,          pK  	  \        P.                  ! S P0                  P4                  4       R#   \        P(                   dh   p\*        P,                  ! RT,          4       \        P.                  ! S P0                  P2                  R\        R4      \        R4      4        Rp?R# Rp?ii ; i)c                 ^   < \         P                  ! SP                  P                  V 4       R # r   )r   r   label_details	set_label)statusr   s   &r   update_status2InstallBackend.update_snaps.<locals>.update_status%  s    MM$,,66?r   c                 &    V P                  4        R # )T)pulse)r   s   &r   update_progress4InstallBackend.update_snaps.<locals>.update_progress(  s     r   zUpdating snapsNrv   r}   zRefreshing %s snaprw   )progress_callback_datarx   zRemoving %s snapzInstalling %s snapzerror updating snaps (%s)Fz!Upgrade only partially completed.zMAn error occurred while updating snaps. Please check your network connection.)rm   progressbar_slotget_children
isinstancer   ProgressBarr   timeout_addr   source_remover   r   Clientconnect_syncr   rh   refresh_syncr   remove_syncinstall_syncErrorrY   rZ   r   r   start_errorstart_available)r   r   r   r   progress_timerprogress_barsr   r   r   r   r`   r   rv   rc   s   f             r   update_snapsInstallBackend.update_snaps#  sC   	@	 	a()*--::<Za(8#//JJ(+L!--_N
 --/	~.%%a(*	\\^F!E	NE%.__%6!%i0i'!!$84$?"@A''#I.++05l/K	 (  (!!$6$=">?&&++05l/K '  "!$84$?"@A''#I.++05l/K	 (  
3 &7P 	d&&667 zz 	MM59:MM  ,,56<	 	s   	D%H J/AJJc                   WP                   8X  d,   V'       d$   V P                  V n        V P                  4        R# WP                  8X  d   V'       d^   \        P
                  P                  R 4      '       d9   \        V R4      '       d'   \        V P                  R7      P                  4        R# V'       d   V P                  P                  4        R# V'       d   V P                  P                  WdV4       R# \        P                  ! ^V P                  P                  4       R# V'       d   V P                  P                  RWE4       R# V'       ds   \        P
                  P                  R 4      '       dN   \        V R4      '       d<   V P!                  4       V P                  n        V P                  P                  4        R# V'       * pV P                  P                  V4       R# )z/usr/bin/snappane_update_progress)targetTN)r   r(   r   r:   r   pathexistshasattrr   r   r   r   r   r   r   exitro   r   )r   r   rB   rC   rD   rE   rF   is_cancelled_updates   &&&&&&& r   rG   InstallBackend._action_doneo  sA   " ,,,--DKJJL***GGNN?33D"899d//0668  002  ,, 
   D$4$4$9$9:  ,,T<LGGNN?33D"8996:6L6L6N  3  002*1k#  001DEr   )r   r   N)F)__name__
__module____qualname____firstlineno__ACTION_UPDATEr   r(   r   r:   r.   r'   r-   rd   ro   r   r   r   rG   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s[     MN!
6p"	
"%,N'RKZE,J8X2F 2Fr   r   /usr/sbin/aptd%UPDATE_MANAGER_FORCE_BACKEND_SYNAPTIC)InstallBackendAptdaemonzimporting aptdaemon/usr/sbin/synaptic&UPDATE_MANAGER_FORCE_BACKEND_APTDAEMON)InstallBackendSynapticzimporting synapticc                    \         P                  P                  R4      '       d"   R\         P                  9  d    \	        V / VB # \         P                  P                  R4      '       d"   R\         P                  9  d    \        V / VB # \        R4      h  \
         d    \        P                  ! R4        Lti ; i  \
         d     L?i ; i)z,Select and return a package manager backend.r   r   zusing aptdaemon failedr   r   zENo working backend found, please try installing aptdaemon or synaptic)
r   r   r   r   r   	NameErrorrY   	exceptionr   rX   )argskwargss   *,r   get_backendr     s     	'((32::E	8*D;F;;
 	+,,4BJJF	)4:6:: 	    	867	8  		s#   
B 
B? !B<;B<?CC)"__doc__girequire_versiongi.repositoryr   r   r   aptr   rT   rY   r   r   r   r   rm   	threadingr   UpdateManager.Core.MyCacher	   UpdateManager.Core.utilsr
   r   UpdateManager.Dialogsr   r   r   r   r   r   ImportErrorr   r   r    r   r   <module>r      s    9 
   5%     7C   * *    	 	     . D (FFV FFV GGNN#$$/rzzA1D
 GGNN'((0

B0B
  1/01  0./0s$   /C3 (D 3DDD.-D.