+
    }n j;h  ã                   óR  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHtHtHt ^ RI	H
t
HtHtHtHtHtHt ^ RIHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIH t H!t! ^ RI"H#t#H$t$H%t% ]PL                  ! 4       t'] PP                  ! ]PR                  ! ]*4      4      t+. ROt,RR.t-R],]-,           R],]-,           R],/t.. ROt/. ROt0. ROt1R],]-,           ]/,           R],]-,           ]0,           R],]1,           /t2 ! R R]Pf                  4      t4 ! R R]44      t5 ! R R]44      t6 ! R R]54      t7R# )é    N)Úgroupby)ÚListÚOptionalÚTuple)ÚapiÚaptÚevent_loggerÚ
exceptionsÚmessagesÚsystemÚutil)ÚNoCloudTypeReasonÚ!cloud_type_to_contract_cloud_typeÚget_cloud_type)Úrepo)ÚEntitlementWithMessage)ÚApplicationStatus)Únotices)ÚNotice)ÚServicesOnceEnabledDataÚservices_once_enabled_file)ÚMessagingOperationsÚMessagingOperationsDictÚStaticAffordanceúopenssh-client-hmacúopenssh-server-hmacÚxenialÚbionicÚfocalc                   óà  a a€ ] tR t^Zt oRtRtRt]P                  t	Rt
Rt. R(Ot]V3R lR l4       t]R 4       tV3R lR	 ltV3R
 lR ltV3R lR ltV3R lR ltR)V3R lV 3R llltV3R lR ltR*V3R lR lltV3R lV 3R llt]V3R lR l4       t]V3R lV 3R ll4       tV3R lV 3R lltV3R lR ltV3R  lV 3R! lltV3R" lV 3R# lltR$ tV3R% lV 3R& lltR't Vt!V ;t"# )+ÚFIPSCommonEntitlementié  zubuntu-pro-fips.gpgz/proc/sys/crypto/fips_enabledTc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úreturn)r   )ÚformatÚ__classdict__s   "€Ú</usr/lib/python3/dist-packages/uaclient/entitlements/fips.pyÚ__annotate__Ú"FIPSCommonEntitlement.__annotate__‡   s   ø€ ÷ Rñ RÑ2ñ Ró    c                ój  € R pR pV P                   '       g�   \        P                  ! 4       '       dS   \        P                  P                  V P                  R7      pV P                  4       '       g   \        P                  .pMV P                  p\        P                  RV/3.pR pV P                  '       gP   V P                   '       g>   \        P                  R\        P                  P                  V P                  R7      /3.pV P                   '       g   V P                  / 3.MR pRVRVRVRV/p\        V P                   4      ^8X  då   V P                   ^ ,          p\"        P$                  ! RV4      pV'       d   VP'                  ^4      p	MRp	\        P(                  ! 4       P*                  p
Wš8w  dz   VP-                  R4      ;'       g    . p\        P.                  P                  T	V P0                  T	T
;'       g    R	R
7      pVP3                  \        P                  RV/34       WR&   V# )N©ÚtitleÚmsgÚ
pre_enableÚpre_installÚpost_enableÚpre_disablezubuntu-([a-z]+)-fipsÚgenericÚunknown)ÚvariantÚserviceÚbase_flavorÚcurrent_flavor)Úaccess_onlyr   Úis_containerr   Ú PROMPT_FIPS_CONTAINER_PRE_ENABLEr&   r.   Úauto_upgrade_all_on_enableÚFIPS_RUN_APT_UPGRADEÚpre_enable_msgr   Úprompt_for_confirmationÚpurgeÚPROMPT_FIPS_PRE_DISABLEÚprompt_if_kernel_downgradeÚlenÚpackagesÚreÚmatchÚgroupÚget_kernel_infoÚflavorÚgetÚ#KERNEL_FLAVOR_CHANGE_WARNING_PROMPTÚnameÚappend)Úselfr0   r2   Úpre_enable_promptr3   r1   Ú	messagingÚubuntu_fips_package_nameÚ ubuntu_fips_package_flavor_matchÚubuntu_fips_package_flavorr9   r/   s   &           r(   rQ   ÚFIPSCommonEntitlement.messaging†   s0  € àˆ
Øˆà××ÐÜ×"Ò"×$Ò$ä×=Ñ=×DÑDØ"Ÿj™jð Eó ð "ð
 ×6Ñ6×8Ò8Ü#+×#@Ñ#@Ð"A�Køà$(×$7Ñ$7Ð!ô ×0Ñ0ØÐ-Ð.ððˆJð ˆØ�z�zˆz $×"2×"2Ð"2ô ×0Ñ0àœx×?Ñ?×FÑFØ"&§*¡*ð  Gó  ððð	ˆKð$ ×#×#Ð#ð	 ×3Ñ3Øðñð ð 	ð ˜*Ø˜;Ø˜;Ø˜;ð	
ˆ	ô ˆt�}‰}Ó Ô"à'+§}¡}°QÕ'7Ð$Ü/1¯xªxØ&Ð(@ó0Ð,÷ 0à4×:Ñ:¸1Ó=ñ +ð .7Ð*Ü#×3Ò3Ó5×<Ñ<ˆNØ)Ô;Ø&Ÿ]™]¨<Ó8×>Ð>¸B�
Ü×BÑB×IÑIØ6Ø ŸI™IØ :Ø#1×#>Ð#>°Yð	 Jó �ð ×!Ñ!ä×4Ñ4Ø ˜ðôð +5˜,Ñ'àÐr+   c                óÎ   € \         P                  ! 4       P                  p\         P                  ! 4       '       d   \        P                  V. 4      # \        P                  V. 4      # )aE  
Dictionary of conditional packages to be installed when
enabling FIPS services. For example, if we are enabling
FIPS services in a machine that has openssh-client installed,
we will perform two actions:

1. Upgrade the package to the FIPS version
2. Install the corresponding hmac version of that package
   when available.
)r   Úget_release_infoÚseriesr;   Ú#FIPS_CONTAINER_CONDITIONAL_PACKAGESrK   ÚFIPS_CONDITIONAL_PACKAGES)rO   rX   s   & r(   Úconditional_packagesÚ*FIPSCommonEntitlement.conditional_packagesÛ   sM   € ô ×(Ò(Ó*×1Ñ1ˆä×Ò× Ò Ü6×:Ñ:¸6À2ÓFÐFä(×,Ñ,¨V°RÓ8Ð8r+   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r$   Ú
assume_yesr%   ©Úbool)r&   r'   s   "€r(   r)   r*   î   s   ø€ ÷ 6ñ 6¹ð 6Áñ 6r+   c               óÐ  € \         P                  ! 4       P                  pVf   \        P	                  R4       R# \
        P                  ! RV4      pRp\        V P                  4      ^8X  d   V P                  ^ ,          p\        P                  ! VP                  RR4      4      pVe¥   Ve¡   VP                  R4      p\        P                  RVV4       \        P                  ! WV4      ^ 8  d[   \        P!                  \"        P$                  P'                  VVR	7      4       \(        P*                  ! \"        P,                  VR
7      #  R# \        P	                  RVV4       R# )zdCheck if installing a FIPS kernel will downgrade the kernel
and prompt for confirmation if it will.
z Cannot gather kernel informationFz!(?P<kernel_version>\d+\.\d+\.\d+)úubuntu-fipsÚubuntuÚlinuxÚkernel_versionz*Kernel information: cur='%s' and fips='%s')Úcurrent_versionÚnew_version)r/   r^   z2Cannot gather kernel information for '%s' and '%s'T)r   rI   Úproc_version_signature_versionÚLOGÚwarningrF   ÚsearchrD   rE   r   Úget_pkg_candidate_versionÚreplacerH   ÚdebugÚversion_compareÚeventÚinfor   ÚKERNEL_DOWNGRADE_WARNINGr&   r   r@   ÚPROMPT_YES_NO)rO   r^   Úour_full_kernel_strÚour_mÚfips_packageÚfips_kernel_version_strÚour_kernel_version_strs   &$     r(   rC   Ú0FIPSCommonEntitlement.prompt_if_kernel_downgradeî   sS  € ô ×"Ò"Ó$×CÑCð 	ð Ò&Ü�K‰KÐ:Ô;ÙÜ—	’	Ø0Ð2Eó
ˆð %ˆÜˆt�}‰}Ó Ô"ØŸ=™=¨Õ+ˆLô #&×"?Ò"?Ø× Ñ  ¨7Ó3ó#
Ðð ÒÐ!8Ò!DØ%*§[¡[Ð1AÓ%BÐ"Ü�I‰IØ<Ø#Ø'ôô ×#Ò#Ø+óð ôô
 —
‘
Ü×5Ñ5×<Ñ<Ø(>Ø$;ð =ó ôô ×3Ò3Ü ×.Ñ.¸:ôð ðñ( ô �K‰KØDØ#Ø'ôñ
 r+   c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r$   Úprogress©r   ÚProgressWrapper)r&   r'   s   "€r(   r)   r*   &  s   ø€ ÷ !ñ !Ù×+Ñ+ñ!r+   c           
     óª  € . p\         P                  ! 4       p\        \        V P                  4      R  R7      pV F  w  rVWS9   g   K  W&,          pK  	  V F"  p \         P
                  ! V.RR/. ROR7       K$  	  R#   \        P                   d@    TP                  R\        P                  P                  T P                  TR7      4        K{  i ; i)	c                 ó&   € V P                  R R4      # )z-hmacÚ )rm   )Úpkg_names   &r(   Ú<lambda>ÚNFIPSCommonEntitlement.hardcoded_install_conditional_packages.<locals>.<lambda>/  s   €  ×!1Ñ!1°'¸2Ô!>r+   )ÚkeyÚDEBIAN_FRONTENDÚnoninteractive©rE   Úoverride_env_varsÚapt_optionsrq   )r7   ÚpkgN©z--allow-downgradesz$-o Dpkg::Options::="--force-confdef"z$-o Dpkg::Options::="--force-confold")r   Úget_installed_packages_namesr   Úsortedr[   Úrun_apt_install_commandr
   ÚUbuntuProErrorÚemitr   ÚFIPS_PACKAGE_NOT_AVAILABLEr&   r.   )rO   r|   Údesired_packagesÚinstalled_packagesÚ
pkg_groupsr‚   Úpkg_listr‹   s   &&      r(   Ú&hardcoded_install_conditional_packagesÚ<FIPSCommonEntitlement.hardcoded_install_conditional_packages&  sÌ   € ð
 ÐÜ ×=Ò=Ó?ÐÜÜ�4×,Ñ,Ó-Ù>ô
ˆ
ó
 #-ÑˆHØÖ-Ø Õ,Ò ñ #-ó $ˆCðÜ×+Ò+Ø!˜UØ'8Ð:JÐ&Kò!÷ó $øô ×,Ñ,ô Ø—‘ØÜ×7Ñ7×>Ñ>Ø $§
¡
°ð ?ó ÷ðús   ÁA>Á>ACÃCc                ó    <€ V ^8„  d   QhRS[ /# r#   r_   )r&   r'   s   "€r(   r)   r*   I  s   ø€ ÷ 
Eñ 
E©Dñ 
Er+   c                óÀ   € \         P                  ! V P                  P                  R R7      p\        P                  ! 4       P
                  R9   pT;'       g    V'       * # )zfeatures.fips_auto_upgrade_all©ÚconfigÚpath_to_value>   r   r   r   )r   Úis_config_value_trueÚcfgr   rW   rX   )rO   Úinstall_all_updates_overrideÚhardcoded_releases   &  r(   r=   Ú0FIPSCommonEntitlement.auto_upgrade_all_on_enableI  sW   € Ü'+×'@Ò'@Ø—8‘8—<‘<Ð/Oô(
Ð$ô #×3Ò3Ó5×<Ñ<ð A
ñ 
Ðð
 ,×DÐDÐ3DÔ/DÐDr+   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r{   r}   )r&   r'   s   "€r(   r)   r*   U  s   ø€ ÷ "Nñ "NÙ×+Ñ+ñ"Nr+   c                ó„  € \         P                  ! V P                  4       Uu. uF  pVP                  NK  	  pp\        P
                  ! 4       P                  R 8X  d   VP                  R4       VP                  4        \        V4      ^ 8”  dq    VP                  R\        P                  P                  RP                  V4      R7      4       V P                  V4       \         P                   ! VRR/. R	OR7       R# R# u upi   \"        P$                   d%    TP                  R\        P&                  4        R# i ; i)
Újammyúopenssl-fips-module-3rq   Ú )rE   r†   r‡   rˆ   NrŒ   )r   Ú;get_installed_packages_with_uninstalled_candidate_in_originÚoriginrM   r   rW   rX   rN   ÚsortrD   r‘   r   ÚINSTALLING_PACKAGESr&   ÚjoinÚunhold_packagesr�   r
   r�   ÚFIPS_PACKAGES_UPGRADE_FAILURE)rO   r|   ÚpackageÚ
to_upgrades   &&  r(   Ú#install_all_available_fips_upgradesÚ9FIPSCommonEntitlement.install_all_available_fips_upgradesU  s  € ô
 ×ZÒZØ—‘ôó
ñ�ð �LŒLñð 	ð 
ô ×"Ò"Ó$×+Ñ+¨wÔ6Ø×ÑÐ5Ô6à�‰ÔÜˆz‹?˜QÔðNØ—‘ØÜ×0Ñ0×7Ñ7Ø!$§¡¨*Ó!5ð 8ó ôð ×$Ñ$ ZÔ0Ü×+Ò+Ø'Ø'8Ð:JÐ&Kò!÷ñ ùò
øô< ×,Ñ,ô NØ—‘˜f¤h×&LÑ&L×MðNús   £DÂA-D Ä5D?Ä>D?c                ód   <€ V ^8„  d   QhRS[ P                  RS[S[S[,          ,          RS[RR/# )r$   r|   Úpackage_listÚcleanup_on_failurer%   N)r   r~   r   r   Ústrr`   )r&   r'   s   "€r(   r)   r*   y  sB   ø€ ÷ $ñ $á×%Ñ%ð$ñ ™t¡C�yÕ)ð$ñ !ð	$ð
 
ñ$r+   c                ó°  <€ V P                   pV'       d   \        SV `	  VVR7       M9VP                  \        P
                  P                  V P                  R7      4       V P                  4       '       d   V P                  V4       MV P                  V4       V P                  4       '       d'   \        P                  ! \        P                  4       R# R# )zÏInstall contract recommended packages for the entitlement.

:param package_list: Optional package list to use instead of
    self.packages.
:param cleanup_on_failure: Cleanup apt files if apt install fails.
)r´   r-   N)rE   ÚsuperÚinstall_packagesr|   r   ÚINSTALLING_SERVICE_PACKAGESr&   r.   r=   r±   r—   Ú_check_for_rebootr   Úaddr   ÚFIPS_SYSTEM_REBOOT_REQUIRED)rO   r|   r´   rµ   Úmandatory_packagesÚ	__class__s   &&&& €r(   r¹   Ú&FIPSCommonEntitlement.install_packagesy  s«   ø€ ð "Ÿ]™]ÐßÜ‰GÑ$ØØ/ð %õ ð ×ÑÜ×4Ñ4×;Ñ;À$Ç*Á*Ð;ÓMôð ×*Ñ*×,Ò,Ø×4Ñ4°XÕ>à×7Ñ7¸ÔAà×!Ñ!×#Ò#Ü�KŠKÜ×2Ñ2öñ $r+   c                ó    <€ V ^8„  d   QhRS[ /# r#   r_   )r&   r'   s   "€r(   r)   r*   Ÿ  s   ø€ ÷ &ñ &¡4ñ &r+   c                ó,   € \         P                  ! 4       # )z=Check if system needs to be rebooted because of this service.)r   Úshould_reboot)rO   s   &r(   r»   Ú'FIPSCommonEntitlement._check_for_rebootŸ  s   € ä×#Ò#Ó%Ð%r+   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r$   Ú	operationÚsilentr%   N©r¶   r`   )r&   r'   s   "€r(   r)   r*   £  s%   ø€ ÷ ñ ÙðÙ&*ðà	ñr+   c                ó4  € V P                  4       p\        P                  V4       V'       dk   V'       g4   \        P                  \        P
                  P                  VR7      4       VR8X  d'   \        P                  ! \        P                  4       R# R# R# )z³Check if user should be alerted that a reboot must be performed.

@param operation: The operation being executed.
@param silent: Boolean set True to silence print/log of messages
)rÆ   zdisable operationN)r»   rp   Úneeds_rebootrq   r   ÚENABLE_REBOOT_REQUIRED_TMPLr&   r   r¼   r   ÚFIPS_DISABLE_REBOOT_REQUIRED)rO   rÆ   rÇ   Úreboot_requireds   &&& r(   Ú_check_for_reboot_msgÚ+FIPSCommonEntitlement._check_for_reboot_msg£  sy   € ð ×0Ñ0Ó2ˆÜ×Ñ˜?Ô+ßßÜ—
‘
Ü×8Ñ8×?Ñ?Ø"+ð @ó ôð
 Ð/Ô/Ü—’Ü×7Ñ7öñ 0ñ r+   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# ©r$   rX   Úcloud_idr%   rÈ   )r&   r'   s   "€r(   r)   r*   ¹  s%   ø€ ÷ ñ ÙðÙ%(ðá	ñr+   c                ó¼   <€ VR8X  dT   \         P                  ! V P                  P                  RR7      '       d   R# VR9   d   R# \        R\        SV `  9   4      # R# )a  Return False when FIPS is allowed on this cloud and series.

On Xenial GCP there will be no cloud-optimized kernel so
block default ubuntu-fips enable. This can be overridden in
config with features.allow_xenial_fips_on_cloud.

GCP doesn't yet have a cloud-optimized kernel or metapackage so
block enable of fips if the contract does not specify ubuntu-gcp-fips.
This also can be overridden in config with
features.allow_default_fips_metapackage_on_gcp.

:return: False when this cloud, series or config override allows FIPS.
Úgcez.features.allow_default_fips_metapackage_on_gcpr›   Túubuntu-gcp-fips)r   r   )r   rž   rŸ   r`   r¸   rE   )rO   rX   rÒ   r¿   s   &&&€r(   Ú_allow_fips_on_cloud_instanceÚ3FIPSCommonEntitlement._allow_fips_on_cloud_instance¹  sZ   ø€ ð  �uÔÜ×(Ò(Ø—x‘x—|‘|ØN÷ó ñ ð Ð,Ô,ÙäÐ)¬U©WÑ-=Ñ=Ó>Ð>ár+   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# ©r$   r%   .©r   r   )r&   r'   s   "€r(   r)   r*   Ù  s   ø€ ÷ 
ñ 
¡EÑ*:¸CÐ*?Õ$@ñ 
r+   c                ó&  a aa€ R RRRRR/p\        4       w  op\        S4      oSf   Ro\        P                  ! 4       P                  o\
        P                  P                  SP                  4       VP                  S4      R7      pVVV V3R lR	33# )
Úawszan AWSÚazurezan AzurerÔ   za GCPr�   )rX   Úcloudc                  ó(   <€ SP                  SS 4      # ©N)rÖ   )rÒ   rO   rX   s   €€€r(   rƒ   Ú:FIPSCommonEntitlement.static_affordances.<locals>.<lambda>ç  s   ø€ ˜×:Ñ:¸6À8ÔLr+   T)
r   r   r   rW   rX   r   ÚFIPS_BLOCK_ON_CLOUDr&   r.   rK   )rO   Úcloud_titlesÚ_Úblocked_messagerÒ   rX   s   f   @@r(   Ústatic_affordancesÚ(FIPSCommonEntitlement.static_affordancesØ  s•   ú€ à˜x¨°*¸eÀWÐMˆÜ$Ó&‰ˆ�!Ü4°XÓ>ˆØÒØˆHä×(Ò(Ó*×1Ñ1ˆÜ"×6Ñ6×=Ñ=Ø—<‘<“>¨×)9Ñ)9¸(Ó)Cð >ó 
ˆð
  ÞLØðð
ð 	
r+   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r#   )r   r¶   )r&   r'   s   "€r(   r)   r*   í  s   ø€ ÷  ñ  ™$™s�)ñ  r+   c                óR   <€ \         P                  ! 4       '       d   . # \        SV `  # rà   )r   r;   r¸   rE   ©rO   r¿   s   &€r(   rE   ÚFIPSCommonEntitlement.packagesì  s"   ø€ ä×Ò× Ò ØˆIÜ‰wÑÐr+   c                óZ   <€ V ^8„  d   QhRS[ S[S[S[P                  ,          3,          /# r#   )r   r   r   r   ÚNamedMessage)r&   r'   s   "€r(   r)   r*   ò  s+   ø€ ÷ 9
ñ 9
á	Ñ ¡(©8×+@Ñ+@Õ"AÐAÕ	Bñ9
r+   c                óî  <€ \         SV `  4       w  r\        P                  ! 4       '       dC   \        P                  ! 4       '       g(   \
        P                  ! \        P                  4       W3# \        P                  P                  V P                  4      '       Ed   \        P                  ! \        V P                  4      4      '       g%   \
        P                  ! \        P                  4       \        P                  ! V P                  4      P!                  4       R 8X  d(   \
        P                  ! \        P"                  4       W3# \
        P$                  ! \        P"                  4       \&        P(                  \*        P,                  P/                  V P                  R7      3# V\&        P0                  8w  d   W3# \2        P4                  ! 4       p. pV P                   F  pWS9  g   K  VP7                  V4       K  	  V'       dK   \&        P8                  \*        P:                  P/                  RP=                  V4      V P>                  R7      3# \&        P0                  \*        P@                  3# )Ú1)Ú	file_namer§   )rE   r7   )!r¸   Úapplication_statusr   r;   rÃ   r   Úremover   r½   ÚosÚpathÚexistsÚFIPS_PROC_FILEÚsetrE   Ú	load_fileÚstripÚFIPS_MANUAL_DISABLE_URLr¼   r   ÚDISABLEDr   ÚFIPS_PROC_FILE_ERRORr&   ÚENABLEDr   r�   rN   ÚWARNINGÚFIPS_PACKAGES_NOT_INSTALLEDr¬   rM   ÚFIPS_REBOOT_REQUIRED)rO   Úsuper_statusÚ	super_msgr”   Úmissingr¯   r¿   s   &     €r(   rñ   Ú(FIPSCommonEntitlement.application_statusò  sÝ  ø€ ô #(¡'Ñ"<Ó">Ñˆä×Ò× Ò ¬×)=Ò)=×)?Ò)?Ü�NŠNÜ×2Ñ2ôð  Ð*Ð*ä�7‰7�>‰>˜$×-Ñ-×.Ó.ô ×'Ò'¬¨D¯M©MÓ(:×;Ò;Ü—’Ü×6Ñ6ôô ×Ò × 3Ñ 3Ó4×:Ñ:Ó<ÀÔCÜ—’Ü×2Ñ2ôð $Ð.Ð.ä—’Ü×2Ñ2ôô &×.Ñ.Ü×1Ñ1×8Ñ8Ø"&×"5Ñ"5ð 9ó ðð ð Ô,×4Ñ4Ô4ØÐ*Ð*ä ×=Ò=Ó?ÐØˆð —}”}ˆGØÖ0Ø—‘˜wÖ'ñ %÷ ä!×)Ñ)Ü×4Ñ4×;Ñ;Ø ŸX™X gÓ.¸¿	¹	ð <ó ðð ô ×%Ñ%Ü×)Ñ)ð
ð 	
r+   c                ó   <€ V ^8„  d   QhRR/# )r$   r%   N© )r&   r'   s   "€r(   r)   r*   -  s   ø€ ÷ ñ  ñ r+   c                óv  € \        \        P                  ! 4       4      p\        V P                  4      P	                  \        V P
                  4      4      pVP                  V4      pV'       dK   \        P                  ! \        V4      \        P                  P                  V P                  R7      4       R# R# )z—Remove fips meta package to disable the service.

FIPS meta-package will unset grub config options which will deactivate
FIPS on any related packages.
r-   N)r÷   r   r�   rE   Ú
differencer[   ÚintersectionÚremove_packagesÚlistr   ÚDISABLE_FAILED_TMPLr&   r.   )rO   r”   Úfips_metapackager
  s   &   r(   r
  Ú%FIPSCommonEntitlement.remove_packages-  s�   € ô !¤×!AÒ!AÓ!CÓDÐÜ˜tŸ}™}Ó-×8Ñ8Ü�×)Ñ)Ó*ó
Ðð +×7Ñ7Ð8JÓKˆßÜ×ÒÜÐ%Ó&Ü×,Ñ,×3Ñ3¸$¿*¹*Ð3ÓEöñ r+   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# ©r$   r|   r%   ©r   r~   r`   )r&   r'   s   "€r(   r)   r*   >  s!   ø€ ÷ 	ñ 	©×(;Ñ(;ð 	Áñ 	r+   c                ó  <€ \         SV `  V4      '       do   \        P                  ! \        P
                  4       \        P                  ! \        P                  4       \        P                  ! \        P                  4       R # R# ©TF)r¸   Ú_perform_enabler   rò   r   ÚWRONG_FIPS_METAPACKAGE_ON_CLOUDr   rÌ   ©rO   r|   r¿   s   &&€r(   r  Ú%FIPSCommonEntitlement._perform_enable>  sT   ø€ Ü‰7Ñ" 8×,Ò,Ü�NŠNÜ×6Ñ6ôô �NŠNœ6×6Ñ6Ô7Ü�NŠNœ6×>Ñ>Ô?Ùár+   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# r  r  )r&   r'   s   "€r(   r)   r*   I  s!   ø€ ÷ ñ ©×)<Ñ)<ð Áñ r+   c                óª   <€ \         SV `  V4      '       d=   V P                  4       '       d%   \        P                  ! \
        P                  4       R # R# r  )r¸   Ú_perform_disabler»   r   r¼   r   rÌ   r  s   &&€r(   r  Ú&FIPSCommonEntitlement._perform_disableI  s?   ø€ Ü‰7Ñ# H×-Ò-Ø×%Ñ%×'Ò'Ü—’Ü×7Ñ7ôñ ár+   c                ó¬  € R R.p\         P                  ! V\        P                  P	                  RP                  V4      R7      4      p. pVP                  4        F  pWQ9   g   K  VP                  V4       K  	  V'       dR   R R.V,           p\         P                  ! V\        P                  P	                  RP                  V4      R7      4      pR# R# )zapt-markÚ	showholdsr§   )ÚcommandÚunholdN)r   Úrun_apt_commandr   ÚEXECUTING_COMMAND_FAILEDr&   r¬   Ú
splitlinesrN   )rO   Úpackage_namesÚcmdÚholdsÚunholdsÚholdÚ
unhold_cmds   &&     r(   r­   Ú%FIPSCommonEntitlement.unhold_packagesS  s»   € Ø˜;Ð'ˆÜ×#Ò#ØÜ×-Ñ-×4Ñ4¸S¿X¹XÀc»]Ð4ÓKó
ˆð ˆØ×$Ñ$Ö&ˆDØÖ$Ø—‘˜tÖ$ñ '÷ Ø$ hÐ/°'Õ9ˆJÜ×'Ò'ØÜ×1Ñ1×8Ñ8ØŸH™H ZÓ0ð 9ó óŠEñ r+   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# )r$   r|   r%   Nr}   )r&   r'   s   "€r(   r)   r*   f  s!   ø€ ÷ 	+ñ 	+©×)<Ñ)<ð 	+Àñ 	+r+   c                ó\   <€ V P                  V P                  4       \        SV `  V4       R# )zºSetup apt config based on the resourceToken and directives.

FIPS-specifically handle apt-mark unhold

:raise UbuntuProError: on failure to setup any aspect of this apt
   configuration
N)r­   Úfips_pro_package_holdsr¸   Úsetup_apt_configr  s   &&€r(   r-  Ú&FIPSCommonEntitlement.setup_apt_configf  s&   ø€ ð 	×Ñ˜T×8Ñ8Ô9Ü‰Ñ  Ö*r+   r  )zfips-initramfszfips-initramfs-genericÚlibgcrypt20úlibgcrypt20-hmacÚlibgmp10Úlibgnutls30Úlibhogweed6Ú
libnettle8úlibssl1.0.0úlibssl1.0.0-hmacr5  r6  ú	libssl1.1úlibssl1.1-hmacÚlibssl3z
linux-fipsúopenssh-clientr   úopenssh-serverr   Úopensslr¦   úshim-signedÚ
strongswanústrongswan-hmacrb   zubuntu-aws-fipszubuntu-azure-fipsrÕ   )NT)F)#Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úrepo_pin_priorityÚrepo_key_filerö   r   ÚPROMPT_FIPS_PRE_ENABLEr?   Úsupports_access_onlyÚapt_noninteractiver,  ÚpropertyrQ   r[   rC   r—   r=   r±   r¹   r»   rÎ   rÖ   ræ   rE   rñ   r
  r  r  r­   r-  Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r¿   r'   s   @@r(   r!   r!   Z   s$  ù‡ € ØÐØ)€MØ4€NØ×4Ñ4€NØÐð
 ÐòÐð@ ÷Ró ðRðh ñ9ó ð9÷$6ð 6÷p!ð !÷F
Eð 
E÷"Nð "N÷H$õ $÷L&ð &÷ò ÷,ó ð> ÷
ó ð
ð& ÷ ò  ó ð ÷
9
ó 9
÷vð ÷"	ó 	÷ó ò÷&	+÷ 	+ó 	+r+   r!   c                   óä   a a€ ] tR tRt oRt]P                  t]P                  t	]P                  tRt]P                  t]V3R lR l4       t]V3R lV 3R ll4       tV3R lV 3R	 lltR
tVtV ;t# )ÚFIPSEntitlementir  ÚfipsÚ
UbuntuFIPSc                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# rÙ   ©r   r   )r&   r'   s   "€r(   r)   ÚFIPSEntitlement.__annotate__{  s   ø€ ÷ 
ñ 
¡uÑ-CÀSÐ-HÕ'Iñ 
r+   c                ó¼   € ^ RI Hp ^ RIHp \	        V\
        P                  4      \	        \        \
        P                  4      \	        V\
        P                  4      3# )r   )ÚLivepatchEntitlement©ÚRealtimeKernelEntitlement)
Úuaclient.entitlements.livepatchrV  Úuaclient.entitlements.realtimerX  r   r   ÚLIVEPATCH_INVALIDATES_FIPSÚFIPSUpdatesEntitlementÚFIPS_UPDATES_INVALIDATES_FIPSÚREALTIME_FIPS_INCOMPATIBLE)rO   rV  rX  s   &  r(   Úincompatible_servicesÚ%FIPSEntitlement.incompatible_servicesz  sQ   € åHÝLô #Ø$¤h×&IÑ&Ióô #Ü&¬×(NÑ(Nóô #Ø)¬8×+NÑ+Nóð

ð 
	
r+   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# rÙ   rÚ   )r&   r'   s   "€r(   r)   rT  Œ  s   ø€ ÷ 
ñ 
¡EÑ*:¸CÐ*?Õ$@ñ 
r+   c                ó  <aa€ \         SV `  p\        V P                  R 7      p\        P
                  p\        VP                  4       ^ ,          V8g  4      o\        P                  ! 4       pV'       d   VP                  MRoV\        P                  P                  V P                  VP                  R7      V3R lR3\        P                  P                  V P                  VP                  R7      V3R lR33,           # ))rŸ   F)rP  Úfips_updatesc                  ó   <€ S # rà   r  )Úis_fips_updates_enableds   €r(   rƒ   Ú4FIPSEntitlement.static_affordances.<locals>.<lambda>¡  s   ø€ Ñ/r+   c                  ó   <€ S # rà   r  )Úfips_updates_once_enableds   €r(   rƒ   rf  ¨  s   ø€ Ñ1r+   )r¸   ræ   r\  rŸ   r   rû   r`   rñ   r   Úreadrc  r   Ú$FIPS_ERROR_WHEN_FIPS_UPDATES_ENABLEDr&   r.   Ú)FIPS_ERROR_WHEN_FIPS_UPDATES_ONCE_ENABLED)rO   ræ   rc  Údisabled_statusÚservices_once_enabled_objrh  re  r¿   s   &    @@€r(   ræ   Ú"FIPSEntitlement.static_affordances‹  só   ú€ ä"™WÑ7Ðä-°$·(±(Ô;ˆÜ+×4Ñ4ˆÜ"&Ø×+Ñ+Ó-¨aÕ0°OÑCó#
Ðô %?×$CÒ$CÓ$EÐ!÷ )ð &×2Ò2àð 	"ð "ä×=Ñ=×DÑDØŸ™°,×2DÑ2Dð Eó ô 0Øðô ×BÑB×IÑIØŸ™°,×2DÑ2Dð Jó ô 2Øðð%
õ 
ð 	
r+   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# r  r  )r&   r'   s   "€r(   r)   rT  ­  s!   ø€ ÷ ñ ©×(;Ñ(;ð Áñ r+   c                ó8  <€ \        4       w  r#VfN   V\        P                  8X  d9   \        P	                  R4       \
        P                  \        P                  4       \        SV `)  V4      '       d'   \        P                  ! \        P                  4       R# R# )Nz>Could not determine cloud, defaulting to generic FIPS package.TF)r   r   ÚCLOUD_ID_ERRORri   rj   rp   rq   r   Ú.FIPS_COULD_NOT_DETERMINE_CLOUD_DEFAULT_PACKAGEr¸   r  r   rò   r   ÚFIPS_INSTALL_OUT_OF_DATE)rO   r|   Ú
cloud_typeÚerrorr¿   s   &&  €r(   r  ÚFIPSEntitlement._perform_enable­  st   ø€ Ü*Ó,Ñˆ
ØÒ %Ô+<×+KÑ+KÔ"KÜ�K‰Kð6ôô �J‰J”x×NÑNÔOÜ‰7Ñ" 8×,Ò,Ü�NŠNÜ×/Ñ/ôñ ár+   r  )r@  rA  rB  rC  rM   r   Ú
FIPS_TITLEr.   ÚFIPS_DESCRIPTIONÚdescriptionÚFIPS_HELP_TEXTÚ	help_textr©   rF  r?   rI  r_  ræ   r  rJ  rK  rL  rM  s   @@r(   rO  rO  r  sv   ù‡ € Ø€DØ×Ñ€EØ×+Ñ+€KØ×'Ñ'€IØ€FØ×4Ñ4€Nà÷
ó ð
ð  ÷
ò 
ó ð
÷B÷ ó r+   rO  c                   óÂ   a a€ ] tR tRt oRt]P                  tRt]P                  t
]P                  t]P                  t]V3R lR l4       tV3R lV 3R lltRtVtV ;t# )	r\  i¾  zfips-updatesÚUbuntuFIPSUpdatesc                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# rÙ   rS  )r&   r'   s   "€r(   r)   Ú#FIPSUpdatesEntitlement.__annotate__Ç  s   ø€ ÷ 
ñ 
¡uÑ-CÀSÐ-HÕ'Iñ 
r+   c                ó~   € ^ RI Hp \        \        \        P
                  4      \        V\        P                  4      3# )r   rW  )rZ  rX  r   rO  r   ÚFIPS_INVALIDATES_FIPS_UPDATESÚ"REALTIME_FIPS_UPDATES_INCOMPATIBLE)rO   rX  s   & r(   r_  Ú,FIPSUpdatesEntitlement.incompatible_servicesÆ  s:   € åLô #Ü¤×!GÑ!Góô #Ø)Ü×;Ñ;óð	
ð 	
r+   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# r  r  )r&   r'   s   "€r(   r)   r  Ô  s!   ø€ ÷ ñ ©×(;Ñ(;ð Áñ r+   c                óx   <€ \         SV `  VR 7      '       d#   \        P                  ! \	        RR7      4       R# R# ))r|   T)rc  F)r¸   r  r   Úwriter   r  s   &&€r(   r  Ú&FIPSUpdatesEntitlement._perform_enableÔ  s4   ø€ Ü‰7Ñ"¨HÐ"×5Ò5Ü&×,Ò,Ü'°TÔ:ôñ ár+   r  )r@  rA  rB  rC  rM   r   ÚFIPS_UPDATES_TITLEr.   r©   ÚFIPS_UPDATES_DESCRIPTIONry  ÚFIPS_UPDATES_HELP_TEXTr{  ÚPROMPT_FIPS_UPDATES_PRE_ENABLEr?   rI  r_  r  rJ  rK  rL  rM  s   @@r(   r\  r\  ¾  s\   ù‡ € Ø€DØ×'Ñ'€EØ €FØ×3Ñ3€KØ×/Ñ/€IØ×<Ñ<€Nà÷
ó ð
÷÷ ó r+   r\  c                   óÆ   a a€ ] tR tRt oRt]P                  t]P                  t	]P                  tRt]P                  tRt]V3R lV 3R ll4       tV3R lR ltR	tVtV ;t# )
ÚFIPSPreviewEntitlementiÞ  zfips-previewÚUbuntuFIPSPreviewzubuntu-pro-fips-preview.gpgc                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# rÙ   rS  )r&   r'   s   "€r(   r)   Ú#FIPSPreviewEntitlement.__annotate__è  s   ø€ ÷ 
ñ 
¡uÑ-CÀSÐ-HÕ'Iñ 
r+   c                ó`   <€ \         SV `  \        \        \        P
                  4      3,           # rà   )r¸   r_  r   rO  r   r�  rê   s   &€r(   r_  Ú,FIPSPreviewEntitlement.incompatible_servicesç  s-   ø€ ä‰wÑ,Ü"Ü¤×!GÑ!Góð0
õ 
ð 	
r+   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# rÑ   rÈ   )r&   r'   s   "€r(   r)   r�  ï  s%   ø€ ÷ ñ ÙðÙ%(ðá	ñr+   c                ó   € R # )Tr  )rO   rX   rÒ   s   &&&r(   rÖ   Ú4FIPSPreviewEntitlement._allow_fips_on_cloud_instanceï  s   € ñ r+   r  )r@  rA  rB  rC  rM   r   ÚFIPS_PREVIEW_TITLEr.   ÚFIPS_PREVIEW_DESCRIPTIONry  ÚFIPS_PREVIEW_HELP_TEXTr{  r©   ÚPROMPT_FIPS_PREVIEW_PRE_ENABLEr?   rE  rI  r_  rÖ   rJ  rK  rL  rM  s   @@r(   r�  r�  Þ  sf   ù‡ € Ø€DØ×'Ñ'€EØ×3Ñ3€KØ×/Ñ/€IØ €FØ×<Ñ<€NØ1€Mà÷
ò 
ó ð
÷÷ ð r+   r�  )r>  r?  r:  r;  r=  )r<  r5  r6  )r<  r7  r8  r/  r0  )8Úloggingró   rF   Ú	itertoolsr   Útypingr   r   r   Úuaclientr   r   r	   r
   r   r   r   Úuaclient.clouds.identityr   r   r   Úuaclient.entitlementsr   Úuaclient.entitlements.baser   Ú(uaclient.entitlements.entitlement_statusr   Úuaclient.filesr   Úuaclient.files.noticesr   Úuaclient.files.state_filesr   r   Úuaclient.typesr   r   r   Úget_event_loggerrp   Ú	getLoggerÚreplace_top_level_logger_namer@  ri   ÚCONDITIONAL_PACKAGES_EVERYWHEREÚ!CONDITIONAL_PACKAGES_OPENSSH_HMACrZ   Ú&UBUNTU_FIPS_METAPACKAGE_DEPENDS_XENIALÚ&UBUNTU_FIPS_METAPACKAGE_DEPENDS_BIONICÚ%UBUNTU_FIPS_METAPACKAGE_DEPENDS_FOCALrY   ÚRepoEntitlementr!   rO  r\  r�  r  r+   r(   Ú<module>r¯     sX  ðÛ Û 	Û 	Ý ß (Ñ (ç O× OÑ O÷ñ õ
 'Ý =Ý FÝ "Ý )÷÷ñ ð 	×%Ò%Ó'€Ø×Ò˜×:Ò:¸8ÓDÓE€ò#Ð ð Øð%Ð !ð
 Ð-Ø'õ(àÐ-Ø'õ(àÐ,ðÐ ò"*Ð &ò
*Ð &ò)Ð %ð Ð-Ø'õ(à,õ-ð Ð-Ø'õ(à,õ-ð Ð,Ø+õ,ð	'Ð #ôU+˜D×0Ñ0ô U+ôpIÐ+ô IôXÐ2ô ô@˜_ö r+   