+
    =l jˆ  ã                   óJ  € ^ RI HtHtHtHtHtHtHtHt ^ RI	H
t
 ^ RIHtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ]P0                  ! 4       t]
P4                  ]
P6                  ]
P8                  ! 4       ]
P:                  ! R4      R	 R
 l4       4       4       4       tR R lt]! R]P@                  ]PB                  ]]PD                  ]! ]! R]PF                  PI                  RR7      RR7      ]! R]PJ                  PI                  RR7      RRR.RR7      .R7      .R7      t&R# )é    )ÚconfigÚdaemonÚentitlementsÚevent_loggerÚ
exceptionsÚmessagesÚtimerÚutil)Úcli_util)ÚProArgumentÚProArgumentGroupÚ
ProCommand)Úperform_disable)ÚHelpCategory)Úmachine_tokenÚstate_files)Úupdate_motd_messagesz
pro detachc                ó$   € V ^8„  d   QhR\         /# )é   Úreturn)Úint)Úformats   "Ú5/usr/lib/python3/dist-packages/uaclient/cli/detach.pyÚ__annotate__r      s   € ÷ ñ ¬Sñ ó    c               óØ   € \        WP                  V P                  R8H  R7      pV^ 8X  d+   \        P                  ! 4        \
        P                  ! 4        \        P                  4        V# )zPPerform the detach action for this machine.

@return: 0 on success, 1 otherwise
Újson)Ú
assume_yesÚjson_output)	Ú_detachr   r   r   Ústartr	   ÚstopÚeventÚprocess_events)ÚargsÚcfgÚkwargsÚrets   &$, r   Úaction_detachr)      sL   € ô ØŸ™°d·k±kÀVÑ6Kô€Cð ˆa„xÜ�ŠŒÜ�
Š
ŒÜ	×ÑÔØ€Jr   c                ó\   € V ^8„  d   QhR\         P                  R\        R\        R\        /# )r   r&   r   r   r   )r   ÚUAConfigÚboolr   )r   s   "r   r   r   (   s,   € ÷ 0ñ 0”—‘ð 0¬dð 0Äð 0Ì#ñ 0r   c           	     óD  € . p\         P                  ! V 4       FK  p \         P                  ! V VR7      pTP                  RR7      w  rgT'       g   K:  TP                  T4       KM  	  V'       ds   \        P                  \        P                  P                  \        V4      4      4       V F1  p\        P                  RP                  VP                  4      4       K3  	  \        P                   ! VR7      '       g   ^# V F  p\#        VV VVRR7       K  	  \$        P&                  ! V 4      pVP)                  4        \*        P,                  ! 4        \/        V 4       \        P                  \        P0                  4       ^ #   \        P                   d     EK…  i ; i)aN  Detach the machine from the active Ubuntu Pro subscription,

:param cfg: a ``config.UAConfig`` instance
:param assume_yes: Assume a yes answer to any prompts requested.
     In this case, it means automatically disable any service during
     detach.
:param json_output: output should be json only

@return: 0 on success, 1 otherwise
)r&   ÚnameT)Úignore_dependent_servicesz    {})r   F)r   r   Úupdate_status)r   Úentitlements_disable_orderÚentitlement_factoryr   ÚEntitlementNotFoundErrorÚcan_disableÚappendr#   Úinfor   ÚDETACH_WILL_DISABLEÚ	pluralizeÚlenr   r.   r
   Úprompt_for_confirmationr   r   Úget_machine_token_fileÚdeleter   Údelete_state_filesr   ÚDETACH_SUCCESS)	r&   r   r   Ú
to_disableÚent_nameÚentr(   Ú_Úmachine_token_files	   &&&      r   r    r    (   sA  € ð €JÜ ×;Ò;¸CÖ@ˆð	Ü×2Ò2ØØôˆCð —‘¸4�Ó@‰ˆß‰3Ø×Ñ˜cÖ"ñ A÷  Ü�
‰
”8×/Ñ/×9Ñ9¼#¸j»/ÓJÔKÛˆCÜ�J‰J�x—‘ s§x¡xÓ0Ö1ñ ä×'Ò'°:×>Ó>ÙÛˆÜØØØ#Ø!Ø÷	
ñ ô '×=Ò=¸cÓBÐØ×ÑÔÜ×"Ò"Ô$Ü˜ÔÜ	‡J�JŒx×&Ñ&Ô'Ùøô= ×2Ñ2ô 	Ûð	ús   �FÆFÆFÚdetachz--assume-yes)ÚcommandÚ
store_true)ÚhelpÚactionz--formatÚcli)ÚdefaultÚstorer   )rG   rH   ÚchoicesrJ   )Ú	arguments)rG   ÚdescriptionrH   Úhelp_categoryÚargument_groupsN)'Úuaclientr   r   r   r   r   r   r	   r
   Úuaclient.clir   Úuaclient.cli.commandsr   r   r   Úuaclient.cli.disabler   Úuaclient.cli.parserr   Úuaclient.filesr   r   Úuaclient.timer.update_messagingr   Úget_event_loggerr#   Úverify_json_format_argsÚassert_rootÚassert_attachedÚassert_lock_filer)   r    ÚCLI_ROOT_DETACHÚCLI_DETACH_DESCÚOTHERÚCLI_ASSUME_YESr   ÚCLI_FORMAT_DESCÚdetach_command© r   r   Ú<module>rd      s   ð÷	÷ 	ó 	õ "ß KÑ KÝ 0Ý ,ß 5Ý @à×%Ò%Ó'€ð 
×!Ñ!Ø	×ÑØ	×ÒÓØ	×Ò˜<Ó(ôó )ó ó ó "ðõ0ñf ØØ	×	!Ñ	!Ø×(Ñ(ØØ×$Ñ$ááØ"Ø!×0Ñ0×7Ñ7ÀÐ7ÓIØ'ôñ
 ØØ!×1Ñ1×8Ñ8ÀÐ8ÓGØ"Ø" F˜OØ!ôðô	
ðô‚r   