+
    5‹œi4  ã                   óô   € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt ^ RIHtHt ^ RI	HtHt ^RIHtHtHt ^RIHt ^RIHt  ! R R]4      t ! R	 R
]4      t ! R R]4      tR# )é    N)ÚNoSectionErrorÚNoOptionError)ÚPIPEÚPopen)ÚDistUpgradeViewÚInstallProgressÚAcquireProgress)Úget)ÚDistUpgradeConfigc                   ó&   a € ] tR t^+t o R tRtV tR# )ÚNonInteractiveAcquireProgressc           
     óv  € \         P                  ! WW#V4       V\        P                  8X  dŒ   \	        R WP
                  \        P                  ! \        V P                  4      4      3,          4       \        P                  P                  4       '       d!   \        P                  P                  4        R# R# R# )zfetched %s (%.2f/100) at %sb/sN)r	   Úupdate_statusÚapt_pkgÚ	STAT_DONEÚprintÚpercentÚsize_to_strÚintÚcurrent_cpsÚsysÚstdoutÚisattyÚflush)ÚselfÚuriÚdescrÚ
shortDescrÚstatuss   &&&&&ÚK/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeViewNonInteractive.pyr   Ú+NonInteractiveAcquireProgress.update_status,   s†   € Ü×%Ò% d°ÀFÔKà”W×&Ñ&Ô&ÜÐ2Ø—\‘\¤7×#6Ò#6´s¸4×;KÑ;KÓ7LÓ#Mð6Oõ Oô Pä�z‰z× Ñ ×"Ò"Ü—
‘
× Ñ Ö"ñ #ñ 'ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r    r   r   +   s   ø‡ € ÷#ð #r"   r   c                   óT   a € ] tR t^6t o RtR tR tR tR tR t	R t
R tR	 tR
tV tR# )ÚNonInteractiveInstallProgressz­
Non-interactive version of the install progress class

This ensures that conffile prompts are handled and that
hanging scripts are killed after a (long) timeout via ctrl-c
c                ó`  € \         P                  ! V 4       \        P                  ! R 4       R\        P
                  9  d   R\        P
                  R&   R\        P
                  R&   R\        P
                  R&   \        R4      V n        Wn        ^ V n	         V P                  P                  RR	R
4      '       d!   \        P                  P                  RR4       RT n         T P                  P!                  RR4      T n        R#   \        \        3 d     L>i ; i  \"         d     R# i ; i)z*setting up environ for non-interactive useÚDEBIAN_FRONTENDÚnoninteractiveÚnoneÚAPT_LISTCHANGES_FRONTENDÚ1ÚRELEASE_UPGRADER_NO_APPORTÚ.ÚNonInteractiveÚForceOverwriteFzDPkg::Options::z--force-overwritei`	  ÚTerminalTimeoutN)r   Ú__init__ÚloggingÚdebugÚosÚenvironr   ÚconfigÚlogdirÚinstall_run_numberÚgetWithDefaultr   Úsetr   r   ÚtimeoutÚgetintÚ	Exception)r   r?   s   &&r    r9   Ú&NonInteractiveInstallProgress.__init__>   sù   € Ü× Ò  Ô&Ü�ŠÐBÔCØ¤B§J¡JÔ.Ø,<ŒB�J‰JÐ(Ñ)Ø17Œ�
‰
Ð-Ñ.Ø36Œ�
‰
Ð/Ñ0Ü'¨Ó,ˆŒØŒØ"#ˆÔð	Ø�{‰{×)Ñ)Ð*:Ð;KÈU×SÒSÜ—‘×"Ñ"Ð#4Ð5HÔIð ˆŒð	ØŸ;™;×-Ñ-Ð.>Ð?PÓQˆDŽLøô ¤Ð.ô 	Ùð	ûô ô 	Úð	ús%   ÂAD Ã$!D ÄDÄDÄD-Ä,D-c                óÖ  € \         P                  ! R V: RV: R24       V P                  P                  RRR4      '       g   R# \        P                  ! \
        P                  4      pRVR&   . pR	V9   d   R
pRpRpV: RV: RV: 2pMcRV9   d   RpRpRpV: RV: 2pMLRV9   d   R
pRpRpV: RV: RV: 2pM1RV9   d   R
pRpRpV: RV: RV: 2pM\        RV: RV: R24       R# \
        P                  P                  V4      '       g    \         P                  ! RV,          4       R# \        V4      ;_uu_ 4       p	V	P                  4       R,          P                  4       P                  4       ^ ,          p
RRR4       RX
9   g   RV
9   d   R.pM-R V
9   d
   R!.pR"VR#&   M\         P                  ! R$V
,          4       \        V4      ;_uu_ 4       p	V	P                  4       pRRR4       R%X9   d   R&VR'&   R(VR)&   R*p
R+R.pVP!                  V
4       VP#                  X4       VP!                  V4       VP!                  V4       VR8X  do   \%        R,V,          R-\&        R-R.7      P)                  4       ^ ,          pV'       d7   VP!                  VP                  R/^4      ^,          P                  4       4       M«VR8X  d¥   \
        P                  P+                  V4      pVP                  R04      ^ ,          p\%        R1V,          R-\&        R-R.7      P)                  4       ^ ,          pV'       d7   VP!                  VP                  R/^4      ^,          P                  4       4       \         P,                  ! R2V: R3V: R424       \.        P0                  ! WCR57      p\         P,                  ! V: R6V: 24       R#   + '       g   i     ELL; i  + '       g   i     ELõ; i)7z got a error from dpkg for pkg: 'z': 'Ú'r6   ÚDebugBrokenScriptsFNr;   Ú	PYCENTRALzpost-installationz/var/lib/dpkg/info/ÚpostinstÚ	configureÚ/r5   zpre-installationz/var/lib/dpkg/tmp.ci/ÚpreinstÚinstallzpre-removalÚprermÚremovezpost-removalÚpostrmz+UNKNOWN (trigger?) dpkg/script failure for ú (z) z+can not find failed maintainer script '%s' :é   NNÚbashz/bin/shz-exÚperlz-dzAutoTrace NonStopÚPERLDB_OPTSzunknown interpreter: '%s'z. /usr/share/debconf/confmoduleÚ	developerÚDEBCONF_DEBUGr3   ÚDEBIAN_HAS_FRONTENDz/usr/share/debconf/frontendÚshz%dpkg-query -s %s|grep ^Config-VersionT)Úshellr   Úuniversal_newlinesÚ:Ú_zdpkg-query -s %s|grep ^Versionzre-running 'z' (Ú))Úenvz script returned: )r:   Úerrorr>   rA   Úcopyr<   r=   r   ÚpathÚexistsÚopenÚreadlineÚstripÚsplitÚwarningÚreadÚappendÚextendr   r   ÚcommunicateÚbasenamer;   Ú
subprocessÚcall)r   ÚpkgÚerrormsgr=   ÚcmdÚprefixÚnameÚargumentÚmaintainer_scriptÚfÚinterpÚ
debug_optsÚmaintainer_script_textÚversionÚrets   &&&            r    rb   Ú#NonInteractiveInstallProgress.errorW   sH  € Ü�‹ÃSË(ÐSÔTà�{‰{×)Ñ)ØÐ1°5÷:ò :áô —)’)œBŸJ™JÓ'ˆØ&ˆ�ÑØˆð  (Ô*Ø*ˆFØˆDØ"ˆHÛ.4³cº4Ð @ÑØ 8Ô+Ø,ˆFàˆDØ ˆHÛ+1²4Ð 8ÑØ˜hÔ&Ø*ˆFØˆDØˆHÛ.4³cº4Ð @ÑØ˜xÔ'Ø*ˆFØˆDØˆHÛ.4³cº4Ð @ÑåË3ÓPXÐYÔZÙô �w‰w�~‰~Ð/×0Ò0Ü�MŠMÐGÐJ[Õ[Ô\ÙÜÐ#×$Ô$¨Ø—Z‘Z“\ "Õ%×+Ñ+Ó-×3Ñ3Ó5°aÕ8ˆF÷ %à�fÔ )¨vÔ"5Ø˜‰JØ˜ÔØ˜ˆJØ%8ˆG�MÒ"ä�OŠOÐ7¸&Õ@ÔAô Ð#×$Ô$¨Ø%&§V¡V£XÐ"÷ %à,Ð0FÔFØ'2ˆG�OÑ$Ø-0ˆGÐ)Ñ*Ø2ˆFØ˜u˜ˆJð 	�
‰
�6ÔØ�
‰
�:ÔØ�
‰
Ð$Ô%Ø�
‰
�8Ôð �:ÔÜÐCÀcÕIØ"&¬tØ/3ô5ç5@±[³]À1õFˆG÷ Ø—
‘
˜7Ÿ=™=¨¨QÓ/°Õ2×8Ñ8Ó:Ô;øØ�YÔÜ—'‘'×"Ñ" 3Ó'ˆCØ—)‘)˜C“. Õ#ˆCÜÐ<¸sÕBØ"&¬tØ/3ô5ç5@±[³]À1õFˆG÷ Ø—
‘
˜7Ÿ=™=¨¨QÓ/°Õ2×8Ñ8Ó:Ô;ä�‹³³WÐ=Ô>Ü�oŠo˜cÔ/ˆÜ�Š³$²sÐ;Ö<÷W %×$Ð$ú÷ %×$Ð$ús   Å;OÇOÏO	ÏO(	c                óV  € \         P                  ! R V,          4       \        P                  ! ^4        \        P
                  ! V P                  R4       \         P                  ! RV,          4       R#   \         d)   p\         P                  ! RT,          4        Rp?R# Rp?ii ; i)z.got a conffile-prompt from dpkg for file: '%s's   n
z0replied no to the conffile-prompt for file: '%s'z/error '%s' when trying to write to the conffileN)	r:   rj   ÚtimeÚsleepr<   ÚwriteÚ	master_fdrE   rb   )r   ÚcurrentÚnewÚes   &&& r    ÚconffileÚ&NonInteractiveInstallProgress.conffile·   s|   € Ü�ŠÐHØõ ô 	!ô 	�
Š
�1Œð	Mä
�(Š(�4—>‘> 6Ô
*Ü
�/Š/ÐLØ!õ"ö #øäô 	MÜ
�-Š-ÐIÈ!ÕK×
LÒ
Lûð	Mús   µ>A5 Á5B(Â B#Â#B(c                ó,  € \         P                  ! V 4       \        P                  ! 4       V n        V P                  P                  R RR4      pV'       dk   \        P                  P                  V P                  RV P                  ,          4      p\        P                  ! RV,          4       \        VR4      V n        M\        \        P                  R4      V n        V P                  P!                  R\        P                  ! 4       ,          4       R# )r6   ÚDpkgProgressLogFzdpkg-progress.%s.logz!writing dpkg progress log to '%s'Úwz
%s: Start
N)r   Ústart_updater�   Úlast_activityr>   rA   r<   rd   Újoinr?   r@   r:   r;   rf   Údpkg_progress_logÚdevnullrƒ   )r   Úprogress_logÚfullpaths   &  r    r�   Ú*NonInteractiveInstallProgress.start_updateÄ   s³   € Ü×$Ò$ TÔ*Ü!ŸYšY›[ˆÔØ—{‘{×1Ñ1Ð2BÐCTÐV[Ó\ˆßÜ—w‘w—|‘| D§K¡KÐ1GÈ$×JaÑJaÕ1aÓbˆHÜ�MŠMÐ=ÀÕHÔIÜ%)¨(°CÓ%8ˆDÕ"ä%)¬"¯*©*°cÓ%:ˆDÔ"Ø×Ñ×$Ñ$ ]´T·Y²Y³[Õ%@ÖAr"   c                ó  € \         P                  ! V 4       V P                  P                  R \        P                  ! 4       ,          4       V P                  P                  4        V ;P                  ^,          un        R# )z%s: Finished
N)r   Úfinish_updater�   rƒ   r�   Úcloser@   ©r   s   &r    r–   Ú+NonInteractiveInstallProgress.finish_updateÏ   sS   € Ü×%Ò% dÔ+Ø×Ñ×$Ñ$Ð%5¼¿	º	»Õ%CÔDØ×Ñ×$Ñ$Ô&Ø×Ò 1Õ$×r"   c           
     ó‚   € V P                   P                  \        P                  ! 4       : R V: R V: R V: R24       R# )r^   Ú
N)r�   rƒ   r�   )r   rr   r   Ú
status_strs   &&&&r    Ústatus_changeÚ+NonInteractiveInstallProgress.status_changeÔ   s.   € Ø×Ñ×$Ñ$¼¿	º	¾Û8?Û8;Û8Bð&Dö 	Er"   c                óª  € \         P                  ! V 4       V P                  R 8X  d   R # V P                  V P                  ,           \
        P
                  ! 4       8  d^   \        P                  ! RV P                  : RV P                  : R24       \        P                  ! V P                  \        ^4      4       \        P                  ! V P                  .. . R4      p\        V^ ,          4      ^ 8”  d­   \
        P
                  ! 4       V n         \        P                  ! V P                  ^4      p\         P"                  P                  RVP%                  \&        P(                  ! 4       RR7      ,          4       \        P                  ! T P                  .. . R4      pKÃ  \         P"                  P-                  4        R #   \*         d     R # i ; i)Nzno activity z
 seconds (z) - sending ctrl-cgš™™™™™¹?z%sÚignore)Úerrors)r   Úupdate_interfaceÚstatusfdrŽ   rC   r�   r:   rj   r   r<   rƒ   r„   ÚchrÚselectÚlenrk   r   r   ÚdecodeÚlocaleÚgetpreferredencodingÚOSErrorr   )r   ÚresÚss   &  r    r¢   Ú.NonInteractiveInstallProgress.update_interfaceÙ   s@  € Ü×(Ò(¨Ô.Ø�=‰=˜DÔ ÙØ×Ñ §¡Õ-´·²³Ô<Ü�O‹OØ—L”L $§+¤+ð/ô 0ô �HŠH�T—^‘^¤C¨£FÔ+ô �mŠm˜TŸ^™^Ð,¨R°°3Ó7ˆÜ�#�a•&‹k˜AŒoÜ $§	¢	£ˆ4ÔðÜ—7’7˜4Ÿ>™>¨1Ó-ˆqÜ�z‰z×Ñ  q§x¡xÜ×/Ò/Ó1¸(ð (0ó (Dõ !Dô Eô
 —’ §¡Ð/°°2°cÓ:Š3Ü�
‰
×ÑÖøô	 ô âðús   ÄA+G ÇGÇGc                óF  € \         P                  ! R 4       R\        P                  R&   R\        P                  R&   \        P
                  ! 4       w  V n        V n        V P                  ^ 8w  d(   \         P                  ! RV P                  ,          4       V P                  # )zdoing a pty.fork()ÚdumbÚTERMÚtrueÚPAGERz
pid is: %s)r:   r;   r<   r=   ÚptyÚforkÚpidr„   r˜   s   &r    r´   Ú"NonInteractiveInstallProgress.forkò   sh   € Ü�ŠÐ*Ô+à#Œ�
‰
�6Ñà$Œ�
‰
�7ÑÜ%(§X¢X£ZÑ"ˆŒ�4”>Ø�8‰8�qŒ=Ü�MŠM˜,¨¯©Õ1Ô2Ø�x‰xˆr"   )r>   r�   r@   rŽ   r?   r„   rµ   rC   N)r$   r%   r&   r'   Ú__doc__r9   rb   rˆ   r�   r–   r�   r¢   r´   r(   r)   r*   s   @r    r-   r-   6   s<   ø‡ € ñòò2^=ò@Mò
Bò%ò
Eò
÷2	ð 	r"   r-   c                   ó–   a a€ ] tR t^þt oRtRR ltR tR tR tRR lt	R t
V 3R ltRR	 ltRR
 ltRR ltR tRR ltR tRtVtV ;t# )ÚDistUpgradeViewNonInteractivez,non-interactive version of the upgrade view c                óF  € \         P                  ! V 4       \        4       P                  R 4       \	        R4      V n        \        4       V n        \        V4      V n	        \        P                  P                  P                  4       V n        V P                  \         n        R# )r6   r5   N)r   r9   Úget_telemetryÚset_updater_typer   r>   r   Ú_acquireProgressr-   Ú_installProgressÚaptÚprogressÚbaseÚ
OpProgressÚ_opProgressÚ
excepthookr   Ú__excepthook__)r   Údatadirr?   s   &&&r    r9   Ú&DistUpgradeViewNonInteractive.__init__   sl   € Ü× Ò  Ô&Ü‹×(Ñ(Ð)9Ô:Ü'¨Ó,ˆŒÜ =Ó ?ˆÔÜ =¸fÓ EˆÔÜŸ<™<×,Ñ,×7Ñ7Ó9ˆÔØ!Ÿ_™_ŒÖr"   c                óè   € ^ RI p\        P                  ! RV: RV: R24       VP                  WV4      p\        P                  ! RRP                  V4      ,          4       V P                  4        R# )z1on uncaught exceptions -> print error and reboot Nzgot exception 'z': Ú znot handled exception:
%sÚ )Ú	tracebackr:   Ú	exceptionÚformat_exceptionrb   r�   ÚconfirmRestart)r   ÚtypeÚvalueÚtbrË   Úliness   &&&&  r    rÄ   Ú(DistUpgradeViewNonInteractive.excepthook  sP   € ãÜ×Ó³t»UÐCÔDØ×*Ñ*¨4¸Ó;ˆÜ�ŠÐ2°R·W±W¸U³^ÕCÔDà×ÑÖr"   c                ó   € V P                   # )z4return a OpProgress() subclass for the given graphic)rÃ   r˜   s   &r    ÚgetOpCacheProgressÚ0DistUpgradeViewNonInteractive.getOpCacheProgress  s   € à×ÑÐr"   c                ó   € V P                   # )z"return an acquire progress object )r½   r˜   s   &r    ÚgetAcquireProgressÚ0DistUpgradeViewNonInteractive.getAcquireProgress  ó   € à×$Ñ$Ð$r"   c                ó   € V P                   # )z!return a install progress object )r¾   )r   Úcaches   &&r    ÚgetInstallProgressÚ0DistUpgradeViewNonInteractive.getInstallProgress  rÚ   r"   c                ó   € R# )zGupdate the current status of the distUpgrade based
on the current view
Nr#   )r   Úmsgs   &&r    ÚupdateStatusÚ*DistUpgradeViewNonInteractive.updateStatus  s   € ñ 	r"   c                ó.   <€ \         \        V `  V4       R# )zžwe have 5 steps current for a upgrade:
1. Analyzing the system
2. Updating repository information
3. Performing the upgrade
4. Post upgrade stuff
5. Complete
N)Úsuperr¹   ÚsetStep)r   ÚstepÚ	__class__s   &&€r    rå   Ú%DistUpgradeViewNonInteractive.setStep  s   ø€ ô 	Ô+¨TÑ:¸4Ô@Ùr"   c                óÔ  € \         P                  ! WVW44       \        P                  ! R V P                   Uu. uF  qfP
                  NK  	  up,          4       \        P                  ! RV P                   Uu. uF  qfP
                  NK  	  up,          4       \        P                  ! RV P                   Uu. uF  qfP
                  NK  	  up,          4       R# u upi u upi u upi )ztoinstall: '%s'ztoupgrade: '%s'ztoremove: '%s'T)r   ÚconfirmChangesr:   r;   Ú	toInstallrv   Ú	toUpgradeÚtoRemove)r   ÚsummaryÚchangesÚdownloadSizeÚactionsÚremoval_boldÚps   &&&&&& r    rê   Ú,DistUpgradeViewNonInteractive.confirmChanges(  s›   € ä×&Ò& t°gØ'3ô	>ä�ŠÐ'¸4¿>º>Ó*J¹>°a¯6¬6¹>Ñ*JÕJÔKÜ�ŠÐ'¸4¿>º>Ó*J¹>°a¯6¬6¹>Ñ*JÕJÔKÜ�ŠÐ&¸$¿-º-Ó)H¹-°Q¯&¬&¹-Ñ)HÕHÔIÙùò +KùÚ*JùÚ)Hs   ¸C
Á8C 
Â8C%
c                ó   € R# )z/ask a Yes/No question and return True on 'Yes' Tr#   ©r   rî   rà   Údefaults   &&&&r    ÚaskYesNoQuestionÚ.DistUpgradeViewNonInteractive.askYesNoQuestion0  s   € ñ r"   c                ó   € R # )Tr#   rö   s   &&&&r    ÚaskCancelContinueQuestionÚ7DistUpgradeViewNonInteractive.askCancelContinueQuestion7  s   € Ùr"   c                óh   € \         P                  ! R4       V P                  P                  RRR4      # )z1generic ask about the restart, can be overridden zconfirmRestart() calledr6   Ú
RealRebootF)r:   r;   r>   rA   r˜   s   &r    rÎ   Ú,DistUpgradeViewNonInteractive.confirmRestart9  s)   € ä�ŠÐ/Ô0à�{‰{×)Ñ)Ð*:¸<ÈÓOÐOr"   c                óJ   € \         P                  ! V: RV: RV: R24       R# )zdisplay a error rÉ   rS   r`   N©r:   rb   )r   rî   rà   Úextended_msgs   &&&&r    rb   Ú#DistUpgradeViewNonInteractive.error>  s   € ä�Š£g«s³LÐAÖBr"   c                ó2   € \         P                  ! R 4       R# )zview.abort calledNr  r˜   s   &r    ÚabortÚ#DistUpgradeViewNonInteractive.abortA  s   € Ü�ŠÐ)Ö*r"   )r½   r¾   rÃ   r>   )NN)N)NT)ÚNo)ÚCancel)r$   r%   r&   r'   r·   r9   rÄ   rÕ   rØ   rÝ   rá   rå   rê   rø   rû   rÎ   rb   r  r(   r)   Ú__classcell__)rç   r+   s   @@r    r¹   r¹   þ   sP   ù‡ € Ù3ô-òò ò%ô%òõ
	ôôôòPô
C÷+ò +r"   r¹   )r¿   r   r:   r¨   r�   r   r<   r³   r¥   rp   rc   Úapt.progressÚconfigparserr   r   r   r   r   r   r	   Ú	telemetryr
   r»   ÚDistUpgradeConfigParserr   r   r-   r¹   r#   r"   r    Ú<module>r     sf   ðó, Û Û Û Û Û 
Û 	Û 
Û Û Û Û ç 6ß "ç NÑ NÝ +Ý 6ô# Oô #ôE Oô EôPD+ Oö D+r"   