
    Vh                        d dl mZ d dlZd dlZd dlZd dlmc mc mZ	 d dl
mZ d dlmZ dZ ej                  e      Z G d de      Zy)    )annotationsN)get_file_content)BaseFactCollectorzi([3456]86|86pc)c                  ,    e Zd ZdZ eg d      ZddZy)PlatformFactCollectorplatform)systemkernelkernel_versionmachinepython_versionarchitecture
machine_idNc                   i }t        j                         |d<   t        j                         |d<   t        j                         |d<   t        j                         |d<   t        j
                         |d<   t        j                         |d<   t        j                         j                  d      d   |d	<   t        j                         |d
<   dj                  |d   j                  d      dd        |d<   t        j                         d   }|j                  dd      |d<   |d   dk(  r$|d   |d<   |d   dk(  rd|d<   nO|d   dk(  rGd|d<   nAt        j                  |d         r!d|d<   |d   dk(  rd|d<   n|d   dk(  rd|d<   n|d   |d<   |d   dk(  r|j                  d      }|r0|j!                  |dg      \  }}}|j#                         }	|	d   |d<   nc|j                  d      }
|j!                  |
dg      \  }}}|j#                         }	|	d   |d<   n"|d   dk(  rt        j$                         d   |d<   t'        d      xs t'        d      }|r|j#                         d   }||d<   |S ) Nr	   r
   r   r   r   fqdn.r   hostnamenodename   domainbit userspace_bitsx86_64r   64userspace_architecture32i386AIXgetconfMACHINE_ARCHITECTUREbootinfoz-pOpenBSD   z/var/lib/dbus/machine-idz/etc/machine-idr   )r   r	   releaseversionr   r   socketgetfqdnnodesplitjoinr   replacesolaris_i86_researchget_bin_pathrun_command
splitlinesunamer   )selfmodulecollected_factsplatform_facts	arch_bitsgetconf_binrcouterrdatabootinfo_binr   s               Z/home/dcms/DCMS/lib/python3.12/site-packages/ansible/module_utils/facts/system/platform.pycollectzPlatformFactCollector.collect+   s   #+??#4x #+#3#3#5x +3+;+;+='($,$4$4$6y!+3+B+B+D'(!'!1v%-]]_%:%:3%?%Bz"%-]]_z"#&88N6,B,H,H,Mab,Q#Rx ))+A.	+4+<+<UB+G'()$0-;I-FN>*./47;C78 01T9;A78"">)#<=-3N>*./47;C78 01T9;A78-;I-FN>*(#u, !--i8K%11;@V2WXC~~'15a~.%22:>%11<2FGC~~'15a~.H%2-5^^-=a-@N>*%&@AhEUVgEh
#..03J+5N<(    )NN)__name__
__module____qualname__nameset	_fact_idsr?    r@   r>   r   r   !   s    D # $I7r@   r   )
__future__r   rer'   r   "ansible.module_utils.compat.typingmodule_utilscompattypingt ansible.module_utils.facts.utilsr   $ansible.module_utils.facts.collectorr   SOLARIS_I86_RE_PATTERNcompiler-   r   rG   r@   r>   <module>rS      sG     # 	   . . = B - 23A- Ar@   