o
    wÚ7e­  ã                   @   s   d dl mZmZ dd„ ZdS )é    )Úmask_and_ipv4_to_bcast_addrÚnet_prefix_to_ipv4_maskc                 C   s>  g }|   ¡ D ] }| ¡ }|r| d¡rq| d d¡}t|ƒdkr!q| |¡ qg }i }|D ]\}}|dkrC|r>| |¡ i }|||< q-|||< q-d}| ¡ D ]
\}}|dkrXd}qN|r`| |¡ i }	|D ]þ}
d|
vrkqd|
d  d ¡}d}d|v rzd}d }t|ƒdkrŽ|d  ¡  ¡ }|rŽ|}|s‘qdi }i |d< t|ƒd	kr­|d
  ¡  ¡ }|dv r­||d< |rÉdD ]}||
v rÇ|
|  ¡  ¡ }|rÇ||d |< q±nˆdD ]}||
v rß|
|  ¡  ¡ }|rß|||< qËd|v r
d|vr
|d  d¡\}}}|r
t	|ƒ|d< ||d< t
|d |ƒ|d< d|
v r|
d  ¡ |d< d|
v r$|
d  ¡ |d< d|
v rQ|
d  ¡  ¡ }| d d¡}t|ƒd
krQ|d  d¡rQ|d }|rQ||d< ||	v r^|	|  |¡ qd||	|< qd|D ]7\}}| d ¡}|ssqe|d  ¡  ¡ }|dkr‹||	v r‹d|	| d< |dkr›d|v r›d|	| d< qe|	S )Nú#é   ÚifaceFTÚinet6r   Úipv6é   é   )ÚdhcpÚstaticÚ	bootproto)ÚaddressÚgateway)Únetmaskr   r   Ú	broadcastr   r   ú/r   zdns-nameserversz
dns-searchÚ	hwaddressÚetherÚauto)Ú
splitlinesÚstripÚ
startswithÚsplitÚlenÚappendÚitemsÚlowerÚ	partitionr   r   Úupdate)ÚsettingsÚentriesÚlineÚsplit_upÚifacesÚconsumeÚcmdÚargsÚabsorbÚreal_ifacesÚinfoÚiface_detailsÚuse_ipv6Údev_nameÚdevÚ
iface_infoÚ
proto_typeÚkÚvalÚaddrÚ_ÚprefixÚhw_infoÚhw_splitÚhw_addr© r9   ú</usr/lib/python3/dist-packages/cloudinit/distros/net_util.pyÚtranslate_networkI   s¾   


€
€ü€

ÿ







€r;   N)Úcloudinit.netr   r   r;   r9   r9   r9   r:   Ú<module>   s   E