Ë
    GKÕi„  ã                   óN  — d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZmZmZmZmZmZ d dlmZmZ d dlmZ g d¢Z G d	„ d
e«      Z G d„ de«      Z ej2                  «       Z e j6                   e	j8                  e«      «      Z G d„ d«      Z eej@                  «      Z!y)é    N)ÚOptional)Úurlparse)ÚdefaultsÚevent_loggerÚutil)ÚBoolDataValueÚ
DataObjectÚEnumDataValueÚFieldÚIntDataValueÚStringDataValue)ÚDataObjectFileÚDataObjectFileFormat)ÚUAFile)Úapt_http_proxyÚapt_https_proxyÚglobal_apt_http_proxyÚglobal_apt_https_proxyÚua_apt_http_proxyÚua_apt_https_proxyÚ
http_proxyÚhttps_proxyc                   ó   — e Zd ZdZdZdZd„ Zy)ÚLXDGuestAttachEnumÚonÚoffÚ	availablec                 ó   — | j                   S ©N)Úvalue)Úselfs    úA/usr/lib/python3/dist-packages/uaclient/files/user_config_file.pyÚ__str__zLXDGuestAttachEnum.__str__$   s   € Ø�z‰zÐó    N)Ú__name__Ú
__module__Ú__qualname__ÚONÚOFFÚ	AVAILABLEr#   © r$   r"   r   r      s   „ Ø	€BØ
€CØ€Iór$   r   c            "       ó  — e Zd Z eded¬«       eded¬«       eded¬«       eded¬«       eded¬«       eded¬«       ed	ed¬«       ed
ed¬«       eded¬«       eded¬«       eded¬«       eded¬«       eded¬«       eded¬«       eded¬«       eded¬«      gZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dde	e
   de	e
   de	e
   de	e
   de	e
   de	e
   d	e	e
   d
e	e
   de	e   de	e
   de	e   de	e   de	e   de	e   de	e
   de	e   f d„Zy)ÚUserConfigDatar   F)Úrequiredr   r   r   r   r   r   r   Úapt_newsÚapt_news_urlÚpoll_for_pro_licenseÚpolling_error_retry_delayÚmetering_timerÚupdate_messaging_timerÚvulnerability_data_url_prefixÚlxd_guest_attachNc                 óä   — || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        || _        || _        || _        || _        || _        y r   )r   r   r   r   r   r   r   r   r/   r0   r1   r2   r3   r4   r5   r6   )r!   r   r   r   r   r   r   r   r   r/   r0   r1   r2   r3   r4   r5   r6   s                    r"   Ú__init__zUserConfigData.__init__>   s‚   € ð& -ˆÔØ.ˆÔØ%:ˆÔ"Ø&<ˆÔ#Ø!2ˆÔØ"4ˆÔØ$ˆŒØ&ˆÔØ ˆŒØ(ˆÔØ$8ˆÔ!Ø)BˆÔ&Ø,ˆÔØ&<ˆÔ#Ø-JˆÔ*Ø 0ˆÕr$   )NNNNNNNNNNNNNNNN)r%   r&   r'   r   r   r   r   r   Úfieldsr   ÚstrÚboolÚintr8   r+   r$   r"   r-   r-   (   sñ  „ áÐ ¸%Ô@ÙÐ ¸5ÔAÙÐ% ÀÔGÙÐ&¨À%ÔHÙÐ! ?¸UÔCÙÐ" O¸eÔDÙˆl˜O°eÔ<Ùˆm˜_°uÔ=Ùˆj˜-°%Ô8Ùˆn˜o¸Ô>ÙÐ$ m¸eÔDÙÐ)¨<À%ÔHÙÐ °uÔ=ÙÐ&¨¸uÔEÙØ+¨_Àuô	
ñ 	Ð Ð"4¸uÔEð%€Fð. )-Ø)-Ø/3Ø04Ø+/Ø,0Ø$(Ø%)Ø#'Ø&*Ø/3Ø37Ø(,Ø04Ø7;Ø9=ñ#"1à  ™ð"1ð " #™ð"1ð  (¨™}ð	"1ð
 !)¨¡ð"1ð $ C™=ð"1ð % S™Mð"1ð ˜S‘Mð"1ð ˜c‘]ð"1ð ˜4‘.ð"1ð ˜s‘mð"1ð ' t™nð"1ð $,¨C¡=ð"1ð ! ™ð"1ð !)¨¡ð"1ð  (0°¡}ð!"1ð" #Ð#5Ñ6ô#"1r$   r-   c                   ón   — e Zd Zej                  fdefd„Zedefd„«       Z	dedefd„Z
defd„Zdefd	„Zy
)ÚUserConfigFileObjectÚ	directoryc           
      óD  — t         j                  }t        t        t	        |t
        j                  j                  |t         j                  «      d¬«      t        j                  d¬«      | _        t        t        t	        ||d¬«      t        j                  d¬«      | _        y )NT)Úprivate)Ú optional_type_errors_become_nullF)r   ÚUSER_CONFIG_FILEr   r-   r   ÚosÚpathÚjoinÚPRIVATE_SUBDIRr   ÚJSONÚ_privateÚ_public)r!   r?   Ú	file_names      r"   r8   zUserConfigFileObject.__init__h   sy   € Ü×-Ñ-ˆ	Ü&ÜÜØÜ—‘—‘˜Y¬×(?Ñ(?Ó@Øôô
 !×%Ñ%Ø-1ô	
ˆŒô &ÜÜ�9˜i°Ô7Ü ×%Ñ%Ø-1ô	
ˆ�r$   Úreturnc                 óR   — | j                   j                  «       }|€
t        «       }|S r   )rJ   Úreadr-   )r!   Úpublic_configs     r"   rO   z"UserConfigFileObject.public_config{   s(   € àŸ™×)Ñ)Ó+ˆØÐ Ü*Ó,ˆMØÐr$   Úuser_configc                 óÜ   — |j                  «       }t        D ]?  }|j                  |«      }|sŒt        |«      }|j                  s|j
                  sŒ;d||<   ŒA t        j                  |«      S )Nz
<REDACTED>)Úto_dictÚPROXY_FIELDSÚgetr   ÚusernameÚpasswordr-   Ú	from_dict)r!   rP   Úredacted_data_dictÚfieldr    Ú
parsed_urls         r"   Úredact_config_dataz'UserConfigFileObject.redact_config_data‚   sn   € ð )×0Ñ0Ó2ÐÜ!ò 	=ˆEØ&×*Ñ*¨5Ó1ˆEÚÜ% e›_�
Ø×&Ò&¨*×*=Ó*=Ø0<Ð& uÒ-ð	=ô ×'Ñ'Ð(:Ó;Ð;r$   c                 ó¶   — t        j                  «       r| j                  j                  «       }|�|S | j                  j                  «       }|�|S t        «       S r   )r   Úwe_are_currently_rootrI   rN   rJ   r-   )r!   Úprivate_configrO   s      r"   rN   zUserConfigFileObject.readŽ   sS   € Ü×%Ñ%Ô'Ø!Ÿ]™]×/Ñ/Ó1ˆNØÐ)Ø%Ð%ØŸ™×)Ñ)Ó+ˆØÐ$Ø Ð ÜÓÐr$   Úcontentc                 ó’   — | j                   j                  |«       | j                  |«      }| j                  j                  |«       y r   )rI   Úwriter[   rJ   )r!   r_   Úredacted_contents      r"   ra   zUserConfigFileObject.write˜   s8   € Ø�‰×Ñ˜GÔ$Ø×2Ñ2°7Ó;ÐØ�‰×ÑÐ+Õ,r$   N)r%   r&   r'   r   ÚDEFAULT_DATA_DIRr:   r8   Úpropertyr-   rO   r[   rN   ra   r+   r$   r"   r>   r>   g   s_   „ Ø(0×(AÑ(Añ 
 #ó 
ð& ð˜~ò ó ðð
<Ø)ð
<à	ó
<ð �nó  ð-˜^ô -r$   r>   )"ÚloggingrD   Útypingr   Úurllib.parser   Úuaclientr   r   r   Úuaclient.data_typesr   r	   r
   r   r   r   Úuaclient.files.data_typesr   r   Úuaclient.files.filesr   rS   r   r-   Úget_event_loggerÚeventÚ	getLoggerÚreplace_top_level_logger_namer%   ÚLOGr>   rc   rP   r+   r$   r"   ú<module>rq      s™   ðÛ Û 	Ý Ý !ç 1Ñ 1÷÷ ÷ KÝ 'ò	€ô˜ô ô81�Zô 81ðv 	&ˆ×%Ñ%Ó'€Ø€g×ÑÐ:˜×:Ñ:¸8ÓDÓE€÷4-ñ 4-ñn # 8×#<Ñ#<Ó=�r$   