+
    ˜qgjN7  ã                   ó¼  € R 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HtHtHtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIHtHtHt ]! ]P@                  ]PB                  ! ]"4      4      t# ! R	 R
]4      t$]$! RR4      ]$! RR4      ]$! RR4      .t%]$! RR4      ]$! RR4      ]$! RR4      ]$! RR4      ]$! RR4      ]$! RR4      ]$! RR4      ]$! RR 4      ]$! R!R"4      ]$! R#R$4      ]$! R%R$4      ]$! R&R'4      .t&RNR( R) llt'R* R+ lt(R, R- lt)R. R/ lt*R0 R1 lt+R2 R3 lt,R4 R5 lt-R6 R7 lt.]P^                  ! R84      3R9 R: llt0R; R< lt1R= R> lt2R? R@ lt3]P^                  ! RA4      ]P^                  ! RB4      RC3RD RE llt4RF RG lt5RORH RI llt6RJ RK lt7]"RL8X  d/   ]Pp                  ! ]7! RM]'! 4       Ps                  4       4      4       R# R# )PzGDefine 'collect-logs' utility and handler to include in cloud-init cmd.N)ÚdatetimeÚtimezone)ÚAnyÚDictÚIteratorÚListÚ
NamedTupleÚOptionalÚcast)Úloggers)ÚInit)ÚProcessExecutionErrorÚsubp)Útempdir)ÚcopyÚget_config_logfilesÚ
write_filec                   ó,   a € ] tR t^t o V 3R ltRtV tR# )Ú
ApportFilec                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   # )é   ÚpathÚlabel)Ústr)ÚformatÚ__classdict__s   "€Ú:/usr/lib/python3/dist-packages/cloudinit/cmd/devel/logs.pyÚ__annotate__ÚApportFile.__annotate__   s   ø‡ ‚ Ù
�Iñ á�Jò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s   ø‡ ‡ „ r   r   z(/var/log/installer/autoinstall-user-dataÚAutoInstallUserDataz/autoinstall.yamlÚAutoInstallYAMLz'/etc/cloud/cloud.cfg.d/99-installer.cfgÚInstallerCloudCfgz//var/log/installer/ubuntu_desktop_installer.logÚUdiLogz-/var/log/installer/subiquity-server-debug.logÚSubiquityServerDebugz-/var/log/installer/subiquity-client-debug.logÚSubiquityClientDebugz%/var/log/installer/curtin-install.logÚ	CurtinLogz0/var/log/installer/subiquity-curtin-install.confÚCurtinInstallConfigz8/var/log/installer/curtin-install/subiquity-initial.confÚCurtinConfigInitialz:/var/log/installer/curtin-install/subiquity-curthooks.confÚCurtinConfigCurtHooksz8/var/log/installer/curtin-install/subiquity-extract.confÚCurtinConfigExtractz=/var/log/installer/curtin-install/subiquity-partitioning.confÚCurtinConfigPartitioningz(/var/log/installer/curtin-error-logs.tarÚCurtinErrorz$/var/log/installer/curtin-errors.tarz(/var/log/installer/block/probe-data.jsonÚ	ProbeDatac                ón   € V ^8„  d   QhR\         \        P                  ,          R\        P                  /# )r   ÚparserÚreturn)r	   ÚargparseÚArgumentParser)r   s   "r   r   r   O   s-   € ÷ 6ñ 6Ü”X×,Ñ,Õ-ð6ä×Ññ6r   c           	     óø   € V '       g   \         P                  ! RRR7      p V P                  RRR^ RRR	7       V P                  R
RRRR7       V P                  RRRRRRR7       V P                  RRRRRR7       V # )a  Build or extend and arg parser for collect-logs utility.

@param parser: Optional existing ArgumentParser instance representing the
    collect-logs subcommand which will be extended to support the args of
    this utility.

@returns: ArgumentParser with proper argument configuration.
zcollect-logsz)Collect and tar all cloud-init debug info)ÚprogÚdescriptionz	--verbosez-vÚcountÚ	verbosityzBe more verbose.)ÚactionÚdefaultÚdestÚhelpz	--tarfilez-tzcloud-init.tar.gzzOThe tarfile to create containing all collected logs. Default: cloud-init.tar.gz)rA   rC   z--include-userdataz-uFÚ
store_trueÚuserdataz?DEPRECATED: This is default behavior and this flag does nothing)rA   r@   rB   rC   z--redact-sensitivez-rz€Redact potentially sensitive data from logs. Sensitive data may include passwords or keys in user data and root read-only files.)rA   r@   rC   )r9   r:   Úadd_argument)r7   s   &r   Ú
get_parserrG   O   s»   € ÷ Ü×(Ò(ØØCô
ˆð ×ÑØØØØØØð ô ð ×ÑØØØ#ð*ð ô ð ×ÑØØØØØàMð ô 	ð ×ÑØØØØð$ð ô 
ð €Mr   c          	      óˆ   € V ^8„  d   QhR\         \        ,          R\        P                  R\        R\        \        ,          /# )r   ÚcmdÚ	file_pathÚmsgr8   )r   r   ÚpathlibÚPathr	   )r   s   "r   r   r   ˆ   s<   € ÷ ñ Ü	Œc�ðä�|‰|ðô 
ðô Œc…]ñ	r   c                óN  € VP                   P                  RRR7        \        V 4      P                  p\	        W4       \
        P                  RW!P                  4       V#   \         d9   p\	        T\        T4      4       \
        P                  RT4       Rp Rp?T# Rp?ii ; i)zCHelper which runs a command and writes output or error to filename.T©ÚparentsÚexist_okúcollected %s to file '%s'úcollecting %s failed.N)
ÚparentÚmkdirr   Ústdoutr   ÚLOGÚdebugÚstemr   r   )rI   rJ   rK   ÚoutputÚes   &&&  r   Ú_write_command_output_to_filer\   ˆ   s�   € ð ×Ñ×Ñ 4°$ÐÔ7ðDÜ�c“×!Ñ!ˆô 	�9Ô%Ü�	‰	Ð-¨s·N±NÔCØ€Møô !ô Ü�9œc !›fÔ%Ü�	‰	Ð)¨3Ô/ØŒð €Mûðús   ŸA! Á!B$Á,-BÂB$c                ój   € V ^8„  d   QhR\         \        ,          R\        P                  R\        RR/# )r   rI   rJ   rK   r8   N)r   r   rL   rM   )r   s   "r   r   r   ›   s:   € ÷ Dñ DÜ	Œc�ðDÜ&Ÿ|™|ðDÜ25ðDà	ñDr   c                ó¤  € VP                   P                  RRR7        VP                  R4      ;_uu_ 4       p\        P                  ! WVR7       RRR4       \
        P                  RW!P                  4       R#   + '       g   i     L2; i  \         d7   p\        T\        T4      4       \
        P                  RT4        Rp?R# Rp?ii ; i)zÄHelper which runs a command and writes output or error to filename.

`subprocess.call` is invoked directly here to stream output to the file.
Otherwise memory usage can be high for large outputs.
TrO   Úw)rV   ÚstderrNrR   rS   )rT   rU   ÚopenÚ
subprocessÚcallrW   rX   rY   ÚOSErrorr   r   )rI   rJ   rK   Úfr[   s   &&&  r   Ú_stream_command_output_to_filerf   ›   s”   € ð ×Ñ×Ñ 4°$ÐÔ7ðDØ�^‰^˜C× Ô  AÜ�OŠO˜C°!Õ4÷ !ô 	�	‰	Ð-¨s·N±NÖC÷ !× ûäô 0Ü�9œc !›fÔ%Ü�	‰	Ð)¨3×/Ò/ûð0ús.   ŸB ¸A;ÁB Á;B	ÂB ÂCÂ+C
Ã
Cc                óh   € V ^8„  d   QhR\         P                  R\         P                  R\        RR/# )r   r   Úout_dirÚinclude_sensitiver8   N©rL   rM   Úbool)r   s   "r   r   r   ®   s4   € ÷ 1ñ 1Ü
�,‰,ð1Ü!(§¡ð1ÜBFð1à	ñ1r   c                ót  € V P                  4       '       dŒ   V'       g6   V P                  4       P                  \        P                  ,          '       d7   VP	                  RRR7       \        W4       \        P                  RV 4       R# \        P                  RV 4       R# \        P                  RV 4       R# )z-Collect a file into what will be the tarball.TrO   zcollected file: %sz#sensitive file %s was not collectedzfile %s did not existN)	Úis_fileÚstatÚst_modeÚS_IROTHrU   r   rW   rX   Útrace)r   rh   ri   s   &&&r   Ú_collect_filerr   ®   sq   € ð ‡|�|‡~‚~ß §	¡	£× 3Ñ 3´d·l±l× BÔ BØ�M‰M $°ˆMÔ6Ü�ÔÜ�I‰IÐ*¨DÖ1ä�I‰IÐ;¸TÖBä�	‰	Ð)¨4Ö0r   c                óH   € V ^8„  d   QhR\         P                  R\        RR/# ©r   Úlog_dirri   r8   Nrj   )r   s   "r   r   r   ½   s(   € ÷ ñ Ü�\‰\ðÜ.2ðà	ñr   c                óÂ  € \          F`  p\        P                  ! WP                  R,          4      P                  p\        \        P                  ! VP                  4      VRR7       Kb  	  V'       dm   \         F`  p\        P                  ! WP                  R,          4      P                  p\        \        P                  ! VP                  4      VRR7       Kb  	  R# R# )z'Obtain subiquity logs and config files.:é   NNT)ri   N)ÚINSTALLER_APPORT_FILESrL   rM   r   rT   rr   Ú INSTALLER_APPORT_SENSITIVE_FILES)ru   ri   Úsrc_fileÚdestination_dirs   &&  r   Ú_collect_installer_logsr|   ½   s˜   € ÷ +ˆÜ!Ÿ,š, w·±¸bÕ0AÓB×IÑIˆÜÜ�LŠL˜Ÿ™Ó'ØØ"÷	
ñ +÷ ß8ˆHÜ%Ÿlšl¨7·M±MÀ"Õ4EÓF×MÑMˆOÜÜ—’˜XŸ]™]Ó+ØØ"&÷ó 9ñ r   c                ó<   € V ^8„  d   QhR\         P                  RR/# )r   ru   r8   N)rL   rM   )r   s   "r   r   r   Ò   s   € ÷ .ñ .¤7§<¡<ð .°Dñ .r   c                óŽ   € \        RR.V R,          RR7      p\        . R
OV R,          RR7      pV'       g   T;'       g    RpR	# R	# )z8Include cloud-init version and dpkg version in the logs.ú
cloud-initz	--versionÚversionzcloud-init --version©rI   rJ   rK   zdpkg-versionzdpkg versionznot-availableN)z
dpkg-queryz--showz-f=${Version}
r   )r\   )ru   r€   Údpkg_vers   &  r   Ú_collect_version_inforƒ   Ò   sP   € ä+Ø˜;Ð'Ø˜IÕ%Ø"ô€Gô
 -ÚEØ˜NÕ*Øô€H÷
 Ø×-Ð-˜oŠñ r   c                óH   € V ^8„  d   QhR\         P                  R\        RR/# rt   rj   )r   s   "r   r   r   â   s(   € ÷ ñ Ü�\‰\ðÜ.2ðà	ñr   c                óº   € V'       d   \        R.V R,          RR7       \        . R
OV R,          RR7       \        . RO\        P                  ! V R4      RR7       R	# )z0Include dmesg and journalctl output in the logs.Údmesgz	dmesg.txtzdmesg outputr�   zjournal.txtzsystemd journal of current bootzjournal-previous.txtz systemd journal of previous bootN)Ú
journalctlz--boot=0ú-oúshort-precise)r‡   z	--boot=-1rˆ   r‰   )rf   rL   rM   )ru   ri   s   &&r   Ú_collect_system_logsrŠ   â   sV   € ÷ Ü&Ø�	Ø Õ+Øõ	
ô
 #Ú=Ø˜MÕ)Ø-õô
 #Ú>Ü—,’,˜wÐ(>Ó?Ø.÷r   c                ó|   € V ^8„  d   QhR\         \        \        3,          R\        \        P
                  ,          /# )r   Úlog_cfgr8   )r   r   r   r   rL   rM   )r   s   "r   r   r   ø   s-   € ÷ !ñ !Ü”#”s�(�^ð!äŒg�l‰lÕñ!r   c              #  ób   "  € \        V 4       F  p\        P                  ! V4      x € K  	  R# 5i)z7Get paths for cloud-init.log and cloud-init-output.log.N)r   rL   rM   )rŒ   r   s   & r   Ú_get_cloudinit_logsrŽ   ø   s%   é € ô $ GÖ,ˆÜ�lŠl˜4Ó Ô ó -ùs   ‚-/z
/etc/cloudc                ón   € V ^8„  d   QhR\         P                  R\        \         P                  ,          /# )r   Úetc_cloud_dirr8   ©rL   rM   r   )r   s   "r   r   r      s)   € ÷ ñ Ü—<‘<ðäŒg�l‰lÕñr   c              #  ó€   a"  € V R,          V R,          R.oV3R lV P                  R4       4        Rj  x€L
  R#  L5i)z²Get paths for all files in /etc/cloud.

Excludes:
  /etc/cloud/keys because it may contain non-useful sensitive data.
  /etc/cloud/templates because we already know its contents
ÚkeysÚ	templatesz99-installer.cfgc              3   ót   <"  € T F-  pVP                   S9  g   K  VP                  S9  g   K)  Vx € K/  	  R # 5i©N)ÚnamerT   )Ú.0r   Úignores   & €r   Ú	<genexpr>Ú!_get_etc_cloud.<locals>.<genexpr>  s7   øé € ð á.ˆDØ�9‰9˜FÑ"ô 	à'+§{¡{¸&Ñ'@÷ 	ŠÛ.ùs   ƒ8›8®
8z**/*N©Úglob)r�   r™   s   &@r   Ú_get_etc_cloudrž      sD   øé € ð 	˜ÕØ˜Õ#àð	€Fôà!×&Ñ& vÔ.ó÷ ô ùs   ƒ2>µ<¶>c                ón   € V ^8„  d   QhR\         P                  R\        \         P                  ,          /# )r   Ú	cloud_dirr8   r‘   )r   s   "r   r   r     s'   € ÷ ñ ¤'§,¡,ð ´8¼G¿L¹LÕ3Iñ r   c           	     óÚ   € \         P                  ! V P                  R4      V P                  R4      V P                  R4      R V P                  R4       4       V P                  R4      4      # )zcGet paths for files in /var/lib/cloud.

Skip user-provided scripts, semaphores, and old instances.
zdata/*z
handlers/*zseed/*c              3   óT   "  € T F  qP                  4       '       g   K  Vx € K   	  R # 5ir–   )rm   )r˜   Úps   & r   rš   Ú%_get_var_lib_cloud.<locals>.<genexpr>  s   é € Ð@Ñ0ˆq·I±I·K�ŠÓ0ùs   ‚(ž
(z
instance/*zinstance/handlers)Ú	itertoolsÚchainr�   ©r    s   &r   Ú_get_var_lib_cloudr¨     sW   € ô
 �?Š?Ø�‰�xÓ Ø�‰�|Ó$Ø�‰�xÓ Ù@�I—N‘N <Ô0Ó@Ø�‰Ð*Ó+óð r   c                ón   € V ^8„  d   QhR\         P                  R\        \         P                  ,          /# )r   Úrun_dirr8   r‘   )r   s   "r   r   r   $  s'   € ÷ ñ œ'Ÿ,™,ð ¬8´G·L±LÕ+Añ r   c                ó$   € V P                  R4      # )z´Get all paths under /run/cloud-init except for hook-hotplug-cmd.

Note that this only globs the top-level directory as there are currently
no relevant files within subdirectories.
Ú*rœ   ©rª   s   &r   Ú_get_run_dirr®   $  s   € ð �<‰<˜ÓÐr   c                ó¶   € V ^8„  d   QhR\         P                  R\        \        \        3,          R\         P                  R\         P                  R\
        RR/# )r   ru   rŒ   rª   r    ri   r8   N)rL   rM   r   r   r   rk   )r   s   "r   r   r   -  sX   € ÷ 
ñ 
Ü�\‰\ð
ä”#”s�(�^ð
ô �\‰\ð
ô �|‰|ð	
ô
 ð
ð 
ñ
r   c                óæ  € \        V 4       \        W4       \        W4       \        V4       FD  p\	        VV \
        P                  ! V4      P                  P                  R4      ,          R4       KF  	  \        P                  ! \        4       \        VR7      \        VR7      4       FD  p\	        VV \
        P                  ! V4      P                  P                  R4      ,          V4       KF  	  R# )z8Collect all cloud-init logs into the provided directory.Ú/Tr§   r­   N)rƒ   rŠ   r|   rŽ   rr   rL   rM   rT   Úrelative_tor¥   r¦   rž   r¨   r®   )ru   rŒ   rª   r    ri   Úlogfiles   &&&&& r   Ú_collect_logs_into_tmp_dirr´   -  sº   € ô ˜'Ô"Ü˜Ô4Ü˜GÔ7ä& wÖ/ˆô 	ØØ”g—l’l 7Ó+×2Ñ2×>Ñ>¸sÓCÕCØö	
ñ	 0ô —?’?ÜÓÜ YÔ/Ü˜WÔ%öˆô
 	ØØ”g—l’l 7Ó+×2Ñ2×>Ñ>¸sÓCÕCØö	
ór   z/run/cloud-initz/var/lib/cloudTc                ó¢   € V ^8„  d   QhR\         R\        \         \        3,          R\        P                  R\        P                  R\
        RR/# )r   ÚtarfilerŒ   rª   r    ri   r8   N)r   r   r   rL   rM   rk   )r   s   "r   r   r   N  sT   € ÷ &"ñ &"Üð&"ä”#”s�(�^ð&"ô �\‰\ð&"ô �|‰|ð	&"ô
 ð&"ð 
ñ&"r   c                óø  € \         P                  P                  V 4      p \        P                  ! \
        P                  4      P                  4       P                  R4      p\        VR7      ;_uu_ 4       p\        P                  ! We4      p\        VVVVVR7       \        RRV RV\        V4      P                  V R2R4      .4       R	R	R	4       \         P#                  R
V 4       R	#   + '       g   i     L(; i)aŒ  Collect all cloud-init logs and tar them up into the provided tarfile.

:param tarfile: The path of the tar-gzipped file to create.
:param log_cfg: The cloud-init base configuration containing logging cfg.
:param run_dir: The path to the cloud-init run directory.
:param cloud_dir: The path to the cloud-init cloud directory.
:param include_sensitive: Boolean, true means include sensitive data.
zcloud-init-logs-%Y-%m-%d)Údir)ru   rŒ   rª   r    ri   ÚtarÚczfz-Cr±   Ú NzWrote %s)Úosr   Úabspathr   Únowr   ÚutcÚdateÚstrftimer   rL   rM   r´   r   r   ÚreplacerW   Úinfo)r¶   rŒ   rª   r    ri   Údir_nameÚtmp_dirru   s   &&&&&   r   Úcollect_logsrÆ   N  sÊ   € ô �g‰g�o‰o˜gÓ&€Gä�Š”X—\‘\Ó"×'Ñ'Ó)×2Ñ2Ð3MÓNð ô 
�W×	Õ	 Ü—,’,˜wÓ1ˆÜ"ØØØØØ/õ	
ô 	àØØØØÜ�G“×$Ñ$¨ y° ]°BÓ7ðô		
÷ 
ô& ‡H�HˆZ˜Ö!÷' 
×	ús   Á5AC)Ã)C9	c                ó(   € V ^8„  d   QhR\         RR/# )r   r?   r8   N)Úint)r   s   "r   r   r   w  s   € ÷ ñ œSð  Tñ r   c                óx  € \         P                  ! 4        V ^ 8X  d   \        P                  pM(V ^8X  d   \        P                  pM\         P
                  p\        P                  V4       \        P                  ! 4       pVP                  \        P                  ! R4      4       \        P                  V4       R# )zƒSet up the logger for CLI use.

The verbosity controls which level gets printed to stderr. By default,
DEBUG and TRACE are hidden.
z%(message)sN)r   Úreset_loggingÚloggingÚINFOÚDEBUGÚTRACErW   ÚsetLevelÚStreamHandlerÚsetFormatterÚ	FormatterÚ
addHandler)r?   ÚlevelÚhandlers   &  r   Ú_setup_loggerrÖ   w  sx   € ô ×ÒÔØ�A„~Ü—‘‰Ø	�aŒÜ—‘‰ä—‘ˆÜ‡L�L�ÔÜ×#Ò#Ó%€GØ×Ñœ×*Ò*¨=Ó9Ô:Ü‡N�N�7Ör   c          
      óL   € V ^8„  d   QhR\         R\        R\        R\        RR/# )r   r¶   r?   Úredact_sensitiveÚinclude_userdatar8   N)r   rÈ   rk   )r   s   "r   r   r   Š  s:   € ÷ 
ñ 
Üð
äð
ô ð
ô ð	
ð
 
ñ
r   c                óô  € \        V4       \        P                  ! 4       ^ 8w  d   \        R4      hV'       d   \        P                  R4       \        . R7      pVP                  4        \        V VP                  \        P                  ! VP                  P                  4      \        P                  ! VP                  P                  4      V'       * R7       V'       g   \        P                  R4       R# R# )z:Handle calls to 'cloud-init collect-logs' as a subcommand.z!This command must be run as root.z;The --include-userdata flag is deprecated and does nothing.)Úds_deps)r¶   rŒ   rª   r    ri   z¹WARNING:
Sensitive data may have been included in the collected logs.
Please review the contents of the tarball before sharing or
rerun with --redact-sensitive to redact sensitive data.N)rÖ   r¼   ÚgetuidÚRuntimeErrorrW   Úwarningr   Úread_cfgrÆ   ÚcfgrL   rM   Úpathsrª   r    )r¶   r?   rØ   rÙ   Úinits   &&&& r   Úcollect_logs_clirã   Š  s­   € ô �)ÔÜ	‡y‚yƒ{�aÔÜÐ>Ó?Ð?ßÜ�‰ØIô	
ô ˜Ô€DØ‡M�M„OäØØ—‘Ü—’˜TŸZ™Z×/Ñ/Ó0Ü—,’,˜tŸz™z×3Ñ3Ó4Ø.Ô.õ÷ Ü�‰ðFö	
ñ r   c                óP   € V ^8„  d   QhR\         R\        P                  R\        /# )r   Ú_nameÚargsr8   )r   r9   Ú	NamespacerÈ   )r   s   "r   r   r   «  s'   € ÷ ñ ¤Cð ¬x×/AÑ/Að Äcñ r   c                ó  € \        4       P                  4       p \        VP                  VP                  VP
                  VP                  R7       ^ #   \         d'   p\        T\        P                  R7        Rp?^# Rp?ii ; i)zuHandle the CLI interface to the module.

Parse CLI args, redirect all exceptions to stderr, and return an exit code.
)r?   r¶   rØ   rÙ   )ÚfileN)rG   Ú
parse_argsrã   r?   r¶   rØ   rE   Ú	ExceptionÚprintÚsysr`   )rå   ræ   r[   s   && r   Úhandle_collect_logs_argsrî   «  se   € ô
 ‹<×"Ñ"Ó$€Dð
ÜØ—n‘nØ—L‘LØ!×2Ñ2Ø!Ÿ]™]õ		
ñ øÜô Üˆa”c—j‘jÕ!Ýûðús   š7A ÁBÁA?Á?BÚ__main__r»   r–   )é    TF):Ú__doc__r9   r¥   rË   r¼   rL   rn   rb   rí   r   r   Útypingr   r   r   r   r   r	   r
   Úcloudinit.logr   Úcloudinit.stagesr   Úcloudinit.subpr   r   Úcloudinit.temp_utilsr   Úcloudinit.utilr   r   r   ÚCustomLoggerTypeÚ	getLoggerr!   rW   r   ry   rx   rG   r\   rf   rr   r|   rƒ   rŠ   rŽ   rM   rž   r¨   r®   r´   rÆ   rÖ   rã   rî   Úexitrê   r    r   r   Ú<module>rû      sÿ  ðñ Nã Û Û Û 	Û Û Û Û 
ß 'ß H× HÑ Hå !Ý !ß 6Ý (ß @Ñ @á
ˆ7×#Ñ# W×%6Ò%6°xÓ%@ÓA€ô�ô ñ Ø2Ð4Ióñ Ð"Ð$5Ó6ÙÐ8Ð:MÓNð$Ð  ñ Ð@À(ÓKÙØ7Ð9Oóñ Ø7Ð9Oóñ Ð6¸ÓDáØ:Øóñ ØBØóñ ØDØóñ ØBØóñ ØGØ"óñ
 Ð9¸=ÓIÙÐ5°}ÓEÙÐ9¸;ÓGðC"Ð ÷J6õrõ&Dõ&1õõ*.õ õ,!ð #*§,¢,¨|Ó"<÷õ,õõ
ðH $ŸLšLÐ):Ó;Ø%ŸlšlÐ+;Ó<Ø"÷&"õR÷&
õBð& ˆzÔØ‡H‚HÑ% b©*«,×*AÑ*AÓ*CÓDÖEñ r   