+
    €DAiü‘  ã                   ó6  € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIt^RIHt ^RI	H
t
HtHt ^RIHtHt ]P                   ! R4      tRt ^ RIHt ^ R	IHt ^ R
IHt  ! R R]4      tRt ! R R]P8                  4      tR#   ] d    ]P6                  ! R4        L2i ; i)znetplan status command lineN)ÚNetplanRoute)Úutils)ÚNetplanConfigStateÚSystemConfigStateÚJSON)ÚDiffJSONEncoderÚNetplanDiffStatez\[([a-z0-9]+)\].*\[\/\1\]F)ÚConsole)ÚRegexHighlighter)ÚThemec                   ó"   € ] tR t^'tRtRR.tRtR# )ÚNetplanHighlighterznetplan.z"(^|[\s\/])(?P<int>\d+)([\s:]?\s|$)z(?P<str>(\"|\').+(\"|\'))© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
base_styleÚ
highlightsÚ__static_attributes__r   ó    Ú5/usr/share/netplan/netplan_cli/cli/commands/status.pyr   r   '   s   † Øˆ
à1Ø(ðŒ
r   r   Tz4python3-rich not found, falling back to plain outputc                   ó¾  a a€ ] tR t^2t oV 3R ltR tR tV3R lR ltV3R lR ltV3R lR	 lt	V3R
 lR lt
V3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R  lR! ltV3R" lR# ltV3R$ lR% ltV3R& lR' ltV3R( lR) ltV3R* lR+ ltV3R, lR- ltV3R. lR/ ltV3R0 lR1 ltV3R2 lR3 ltV3R4 lR5 ltV3R6 lR7 lt R8 t!V3R9 lR: lt"V3R; lR< lt#V3R= lR> lt$V3R? lR@ lt%RA t&RB t'RC t(RD t)RE t*V3RF lRG lt+RH t,RI t-RJ t.ROV3RK lRL llt/RM t0RNt1Vt2V ;t3# )PÚNetplanStatusc                óV   <€ \         SV `  R RRR7       RV n        RV n        / V n        R# )Ústatusz,Query networking state of the running systemT)Ú
command_idÚdescriptionÚleafFN)ÚsuperÚ__init__ÚallÚ
state_diffÚroute_lookup_table_names)ÚselfÚ	__class__s   &€r   r    ÚNetplanStatus.__init__3   s5   ø€ Ü‰Ñ HØ%SØ"ð 	ô 	$ð ˆŒØˆŒØ(*ˆÖ%r   c                ó  € V P                   P                  R R\        RRR7       V P                   P                  RRRRR	7       V P                   P                  R
RRRR	7       V P                   P                  RRRRR7       V P                   P                  RRRR	7       V P                   P                  RRRR	7       V P                   P                  RRR7       V P                  V n        V P                  4        V P                  4        R# )ÚifnameÚ?NzShow only this interface)ÚnargsÚtypeÚdefaultÚhelpz-az--allÚ
store_truez(Show all interface data (incl. inactive))Úactionr-   z-vz	--verbosezShow extra informationz-fz--formatÚtabularz2Output in machine readable `json` or `yaml` format)r,   r-   z--diffz>Show the differences between the system's and netplan's statesz--diff-onlyzCOnly show the differences between the system's and netplan's statesz
--root-dirzBSearch for configuration files in this root directory instead of /)r-   )ÚparserÚadd_argumentÚstrÚcommandÚfuncÚ
parse_argsÚrun_command©r$   s   &r   ÚrunÚNetplanStatus.run;   s  € Ø�‰× Ñ  °¼3ÈØ&@ð 	!ô 	Bà�‰× Ñ   w°|Ø&Pð 	!ô 	Rà�‰× Ñ   {¸<Ø&>ð 	!ô 	@à�‰× Ñ   z¸9Ø&Zð 	!ô 	\à�‰× Ñ  °,Ø&hð 	!ô 	jà�‰× Ñ  °|Ø&mð 	!ô 	oà�‰× Ñ  Ø&jð 	!ô 	lð —L‘LˆŒ	Ø�‰ÔØ×ÑÖr   c                ó  € \         '       dj   \        R RRRRRRRRR	R
RRR/4      pV P                  '       d   \        R RRRRRRRRR	R
RRR/4      p\        \	        4       VVRR7      pVP
                  pV# V P                  pV# )znetplan.intz	bold cyanznetplan.strÚyellowÚmutedÚgrey62Úonlinez
green boldÚofflinezred boldÚunknownzyellow boldÚ	highlightÚboldF)ÚhighlighterÚthemeÚwidthÚemoji)ÚRICH_OUTPUTr   Údiffr	   r   ÚprintÚplain_print)r$   Ú_console_widthrE   ÚconsoleÚpprints   &&   r   Ú_create_pretty_printÚ"NetplanStatus._create_pretty_printO   s²   € ß‹;äØ˜{Ø˜xØ˜Ø˜,Ø˜:Ø˜=Ø˜Vðó ˆEð �y�yˆyÜØ! 8Ø! 8Ø˜XØ˜lØ˜zØ˜}Ø ðó �ô Ô*<Ó*>ÀeØ$2¸%ôAˆGà—]‘]ˆFð ˆð ×%Ñ%ˆFàˆr   c                ó    <€ V ^8„  d   QhRS[ /# ©é   Úreturn©Údict)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚNetplanStatus.__annotate__n   s   ø€ ÷ ñ ©Tñ r   c                óÞ   € V P                   '       d[   V P                   R ,          P                  V4      ;p'       d1   VP                  R4      '       g   VP                  R4      '       d   V# / # )Ú
interfacesÚsystem_stateÚnetplan_state©r"   Úget©r$   r(   rI   s   && r   Ú_get_interface_diffÚ!NetplanStatus._get_interface_diffn   sQ   € Ø�?�?ˆ?Ø—‘ |Õ4×8Ñ8¸Ó@Ð@ˆtÖ@Ø—8‘8˜N×+Ò+¨t¯x©x¸×/HÒ/HØ�KØˆ	r   c                ó    <€ V ^8„  d   QhRS[ /# rR   ©Úbool)rW   rX   s   "€r   rY   rZ   u   s   ø€ ÷ ñ ¹$ñ r   c                ó€   € V P                   '       d,   V P                   P                  R 4      ;p'       d	   W9   d   R# R# )Úmissing_interfaces_netplanTFr_   )r$   r(   Úmissings   && r   Ú _is_interface_missing_in_netplanÚ.NetplanStatus._is_interface_missing_in_netplanu   s2   € Ø�?�?ˆ?ØŸ/™/×-Ñ-Ð.JÓKÐKˆwÖKØÔ$ÙÙr   c          	      óB   <€ V ^8„  d   QhRS[ RS[ RS[ RS[S[ ,          /# ©rS   r(   ÚstateÚpropertyrT   )r3   Úlist)rW   rX   s   "€r   rY   rZ   |   s0   ø€ ÷ ñ ±ð ¹Sð ÉCð ÑTXÑY\ÕT]ñ r   c                óÂ   € V P                   '       dM   V P                   R ,          P                  V4      ;p'       d#   VP                  V/ 4      P                  V. 4      # . # ©r\   r_   ©r$   r(   rn   ro   rI   s   &&&& r   Ú_get_missing_property_listÚ(NetplanStatus._get_missing_property_list|   sM   € Ø�?�?ˆ?Ø—‘ |Õ4×8Ñ8¸Ó@Ð@ˆtÖ@Ø—x‘x  rÓ*×.Ñ.¨x¸Ó<Ð<Øˆ	r   c                ó2   <€ V ^8„  d   QhRS[ RS[ RS[ RS[ /# rm   ©r3   )rW   rX   s   "€r   rY   rZ   ‚   s*   ø€ ÷ ñ ±ð ¹Cð É3ð ÑSVñ r   c                óÂ   € V P                   '       dM   V P                   R ,          P                  V4      ;p'       d#   VP                  V/ 4      P                  VR4      # R# )r\   Ú r_   rs   s   &&&& r   Ú_get_missing_property_strÚ'NetplanStatus._get_missing_property_str‚   sK   € Ø�?�?ˆ?Ø—‘ |Õ4×8Ñ8¸Ó@Ð@ˆtÖ@Ø—x‘x  rÓ*×.Ñ.¨x¸Ó<Ð<Ùr   c                ó2   <€ V ^8„  d   QhRS[ RS[ RS[ RS[/# rm   )r3   Úset)rW   rX   s   "€r   rY   rZ   ˆ   s*   ø€ ÷ ñ ±ð ¹Cð É3ð ÑSVñ r   c                óâ   € V P                   '       dU   V P                   R ,          P                  V4      ;p'       d+   VP                  V/ 4      P                  V\        4       4      # \        4       # rr   )r"   r`   r}   rs   s   &&&& r   Ú_get_missing_property_setÚ'NetplanStatus._get_missing_property_setˆ   sQ   € Ø�?�?ˆ?Ø—‘ |Õ4×8Ñ8¸Ó@Ð@ˆtÖ@Ø—x‘x  rÓ*×.Ñ.¨x¼»Ó?Ð?Ü‹uˆr   c                ó2   <€ V ^8„  d   QhRS[ RS[ RS[ RS[/# rm   )r3   rf   )rW   rX   s   "€r   rY   rZ   Ž   s*   ø€ ÷ ñ ±ð ¹Sð ÉCð ÑTXñ r   c                óÂ   € V P                   '       dM   V P                   R ,          P                  V4      ;p'       d#   VP                  V/ 4      P                  VR4      # R# )r\   Fr_   rs   s   &&&& r   Ú_get_missing_property_boolÚ(NetplanStatus._get_missing_property_boolŽ   sK   € Ø�?�?ˆ?Ø—‘ |Õ4×8Ñ8¸Ó@Ð@ˆtÖ@Ø—x‘x  rÓ*×.Ñ.¨x¸Ó?Ð?Ùr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rR   ©rp   r3   )rW   rX   s   "€r   rY   rZ   ”   s   ø€ ÷ ]ñ ]¹¹S½	ñ ]r   c                ó(   € V P                  VR R4      # )r^   Úmissing_addresses©rt   ©r$   r(   s   &&r   Ú_get_missing_netplan_addressesÚ,NetplanStatus._get_missing_netplan_addresses”   s   € Ø×.Ñ.¨v°ÐH[Ó\Ð\r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rR   r†   )rW   rX   s   "€r   rY   rZ   —   s   ø€ ÷ hñ h¹¹c½ñ hr   c                ó(   € V P                  VR R4      # )r]   Úmissing_nameservers_addressesr‰   rŠ   s   &&r   Ú_get_missing_system_nameserversÚ-NetplanStatus._get_missing_system_nameservers—   s   € Ø×.Ñ.¨v°~ÐGfÓgÐgr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rR   r†   )rW   rX   s   "€r   rY   rZ   š   s   ø€ ÷ iñ i¹$¹s½)ñ ir   c                ó(   € V P                  VR R4      # )r^   r�   r‰   rŠ   s   &&r   Ú _get_missing_netplan_nameserversÚ.NetplanStatus._get_missing_netplan_nameserversš   s   € Ø×.Ñ.¨v°ÐHgÓhÐhr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rR   r†   )rW   rX   s   "€r   rY   rZ   �   s   ø€ ÷ fñ f±T¹#µYñ fr   c                ó(   € V P                  VR R4      # )r^   Úmissing_nameservers_searchr‰   rŠ   s   &&r   Ú_get_missing_netplan_searchÚ)NetplanStatus._get_missing_netplan_search�   s   € Ø×.Ñ.¨v°ÐHdÓeÐer   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rR   r†   )rW   rX   s   "€r   rY   rZ       s   ø€ ÷ eñ e±D¹µIñ er   c                ó(   € V P                  VR R4      # )r]   r˜   r‰   rŠ   s   &&r   Ú_get_missing_system_searchÚ(NetplanStatus._get_missing_system_search    s   € Ø×.Ñ.¨v°~ÐGcÓdÐdr   c                ó    <€ V ^8„  d   QhRS[ /# rR   rw   )rW   rX   s   "€r   rY   rZ   £   ó   ø€ ÷ \ñ \¹ñ \r   c                ó(   € V P                  VR R4      # )r]   Úmissing_macaddress©rz   rŠ   s   &&r   Ú_get_missing_system_macaddressÚ,NetplanStatus._get_missing_system_macaddress£   s   € Ø×-Ñ-¨f°nÐFZÓ[Ð[r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rR   ©r}   r   )rW   rX   s   "€r   rY   rZ   ¦   s   ø€ ÷ Yñ Y±S¹Õ5Fñ Yr   c                ó(   € V P                  VR R4      # )r^   Úmissing_routes©r   rŠ   s   &&r   Ú_get_missing_netplan_routesÚ)NetplanStatus._get_missing_netplan_routes¦   s   € Ø×-Ñ-¨f°oÐGWÓXÐXr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rR   r§   )rW   rX   s   "€r   rY   rZ   ©   s   ø€ ÷ Xñ X±C¹Õ4Eñ Xr   c                ó(   € V P                  VR R4      # )r]   r©   rª   rŠ   s   &&r   Ú_get_missing_system_routesÚ(NetplanStatus._get_missing_system_routes©   s   € Ø×-Ñ-¨f°nÐFVÓWÐWr   c                ó    <€ V ^8„  d   QhRS[ /# rR   re   )rW   rX   s   "€r   rY   rZ   ¬   ó   ø€ ÷ `ñ `±4ñ `r   c                ó(   € V P                  VR R4      # )r]   Úmissing_dhcp4_address©rƒ   rŠ   s   &&r   Ú_is_missing_dhcp4_addressÚ'NetplanStatus._is_missing_dhcp4_address¬   ó   € Ø×.Ñ.¨v°~ÐG^Ó_Ð_r   c                ó    <€ V ^8„  d   QhRS[ /# rR   re   )rW   rX   s   "€r   rY   rZ   ¯   r²   r   c                ó(   € V P                  VR R4      # )r]   Úmissing_dhcp6_addressrµ   rŠ   s   &&r   Ú_is_missing_dhcp6_addressÚ'NetplanStatus._is_missing_dhcp6_address¯   r¸   r   c                ó    <€ V ^8„  d   QhRS[ /# rR   rw   )rW   rX   s   "€r   rY   rZ   ²   ó   ø€ ÷ [ñ [±sñ [r   c                ó(   € V P                  VR R4      # )r]   Úmissing_bond_linkr£   rŠ   s   &&r   Ú_get_missing_system_bond_linkÚ+NetplanStatus._get_missing_system_bond_link²   s   € Ø×-Ñ-¨f°nÐFYÓZÐZr   c                ó    <€ V ^8„  d   QhRS[ /# rR   rw   )rW   rX   s   "€r   rY   rZ   µ   r    r   c                ó(   € V P                  VR R4      # )r^   rÁ   r£   rŠ   s   &&r   Ú_get_missing_netplan_bond_linkÚ,NetplanStatus._get_missing_netplan_bond_linkµ   s   € Ø×-Ñ-¨f°oÐGZÓ[Ð[r   c                ó    <€ V ^8„  d   QhRS[ /# rR   rw   )rW   rX   s   "€r   rY   rZ   ¸   s   ø€ ÷ ]ñ ]¹ñ ]r   c                ó(   € V P                  VR R4      # )r]   Úmissing_bridge_linkr£   rŠ   s   &&r   Ú_get_missing_system_bridge_linkÚ-NetplanStatus._get_missing_system_bridge_link¸   s   € Ø×-Ñ-¨f°nÐF[Ó\Ð\r   c                ó    <€ V ^8„  d   QhRS[ /# rR   rw   )rW   rX   s   "€r   rY   rZ   »   s   ø€ ÷ ^ñ ^¹#ñ ^r   c                ó(   € V P                  VR R4      # )r^   rÊ   r£   rŠ   s   &&r   Ú _get_missing_netplan_bridge_linkÚ.NetplanStatus._get_missing_netplan_bridge_link»   s   € Ø×-Ñ-¨f°oÐG\Ó]Ð]r   c                ó    <€ V ^8„  d   QhRS[ /# rR   rw   )rW   rX   s   "€r   rY   rZ   ¾   s   ø€ ÷ Zñ Z±cñ Zr   c                ó(   € V P                  VR R4      # )r]   Úmissing_vrf_linkr£   rŠ   s   &&r   Ú_get_missing_system_vrf_linkÚ*NetplanStatus._get_missing_system_vrf_link¾   s   € Ø×-Ñ-¨f°nÐFXÓYÐYr   c                ó    <€ V ^8„  d   QhRS[ /# rR   rw   )rW   rX   s   "€r   rY   rZ   Á   r¿   r   c                ó(   € V P                  VR R4      # )r^   rÓ   r£   rŠ   s   &&r   Ú_get_missing_netplan_vrf_linkÚ+NetplanStatus._get_missing_netplan_vrf_linkÁ   s   € Ø×-Ñ-¨f°oÐGYÓZÐZr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rR   r†   )rW   rX   s   "€r   rY   rZ   Ä   s   ø€ ÷ ^ñ ^±d¹3µiñ ^r   c                ó(   € V P                  VR R4      # )r^   Úmissing_interfacesr‰   rŠ   s   &&r   Ú_get_missing_netplan_membersÚ*NetplanStatus._get_missing_netplan_membersÄ   s   € Ø×.Ñ.¨v°ÐH\Ó]Ð]r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rR   r†   )rW   rX   s   "€r   rY   rZ   Ç   s   ø€ ÷ ]ñ ]±T¹#µYñ ]r   c                ó(   € V P                  VR R4      # )r]   rÜ   r‰   rŠ   s   &&r   Ú_get_missing_system_membersÚ)NetplanStatus._get_missing_system_membersÇ   s   € Ø×.Ñ.¨v°~ÐG[Ó\Ð\r   c                ó    <€ V ^8„  d   QhRS[ /# rR   rU   )rW   rX   s   "€r   rY   rZ   Ê   s   ø€ ÷ ñ ±ñ r   c                ób   € V P                   '       d   V P                   P                  R / 4      # / # )Úmissing_interfaces_systemr_   r8   s   &r   Ú_get_missing_system_interfacesÚ,NetplanStatus._get_missing_system_interfacesÊ   s(   € Ø�?�?ˆ?Ø—?‘?×&Ñ&Ð'BÀBÓGÐGØˆ	r   c                ó    <€ V ^8„  d   QhRS[ /# rR   re   )rW   rX   s   "€r   rY   rZ   Ï   s   ø€ ÷ ñ ¡4ñ r   c                ó  € V P                  V4      '       d   R # V P                  '       d[   V P                  R,          P                  V4      ;p'       d1   VP                  R4      '       g   VP                  R4      '       d   R # R# )Tr\   r]   r^   F)rj   r"   r`   ra   s   && r   Ú	_has_diffÚNetplanStatus._has_diffÏ   sa   € Ø×0Ñ0°×8Ò8ÙØ�?�?ˆ?Ø—‘ |Õ4×8Ñ8¸Ó@Ð@ˆtÖ@Ø—8‘8˜N×+Ò+¨t¯x©x¸×/HÒ/HÙÙr   c           
     ó0  € VP                  R / 4      pT P                  RV P                  ,           R,           P                  RVP                  RR4      '       d   RMRR7      4       VP                  R	/ 4      pVP                  R
. 4      pVP                  R4      pVP                  R. 4      pV'       dr   \	        V4       Fb  w  rxT P                  RV P                  ,           R,           P                  V^ 8X  d   RMRTV'       d   RP                  V4      MRR7      4       Kd  	  V'       dX   \	        V4       FH  w  rxT P                  RV P                  ,           R,           P                  V^ 8X  d   RMRVR7      4       KJ  	  V P                  4        R# )únetplan-global-stateú{title:>ú	} {value}zOnline state:r?   Fz[online]online[/online]z[offline]offline[/offline]©ÚtitleÚvalueÚnameserversÚ	addressesÚmodeÚsearchz} {value}[muted]{mode}[/muted]úDNS Addresses:ry   ú ({}))rñ   rò   rõ   úDNS Search:N)r`   rN   ÚPADrW   Ú	enumerate)	r$   ÚdataÚglobal_stateÚnsÚdns_addrÚdns_modeÚ
dns_searchÚiÚvals	   &&       r   Ú_display_global_stateÚ#NetplanStatus._display_global_stateØ   sY  € Ø—x‘xÐ 6¸Ó;ˆØ�‰�Z §¡Õ(¨Õ4×<Ñ<Ø!Ø/;×/?Ñ/?ÀÈ%×/PÒ/PÑ+ÐVrð =ó ô 	ð ×Ñ˜m¨RÓ0ˆØŸ™ ¨RÓ0ˆØŸ™˜v›ˆØŸ6™6 (¨BÓ/ˆ
ßÜ# HÖ-‘�Ø—‘˜Z¨¯©Õ0Ð1QÕQ×YÑYØ./°1¬fÑ*¸"Øß5=˜Ÿ™¨Ô1À2ð Zó ö ñ .÷ Ü# JÖ/‘�Ø—‘˜Z¨¯©Õ0°Õ<×DÑDØ+,°¬6™-°rØð Eó ö ñ 0ð
 	�‰Žr   c                ó    <€ V ^8„  d   QhRS[ /# ©rS   r(   rw   )rW   rX   s   "€r   rY   rZ   ñ   s   ø€ ÷ )ñ )±ñ )r   c                óê  € VP                  R R4      R,           VP                  RR4      ,           pRpVR8X  d   RpRpMVR8X  d   R	pR
pVP                  RR4      pVP                  R4      pVP                  R4      pVR8X  d!   V'       d   VRV,           R,           ,          pMVR8X  d   V'       d   VRV,           ,          pRpVP                  R4      '       d!   RP                  VP                  R4      4      MRp	Rp
RpV P                  '       dk   V P                  V4      '       d   V P                  pRpVR,          pM;RpVP                  R4      '       d!   RP                  VP                  R4      4      MRp	V P
                  '       d   V P                  V4      '       dL   V P                  VP                  VVVP                  RR4      VVVVP                  RR4      V	V
R7	      4       R # R # )!Ú	operstateÚUNKNOWNÚ/Ú
adminstaterA   zUP/UPÚUPr?   z	DOWN/DOWNÚDOWNr@   r+   ÚotherÚssidÚtunnel_modeÚwifiz/"Ú"ÚtunneluU   [{col}]â—�[/{col}] {idx:>2}: {name} {type} [{col}]{state}[/{col}] ({backend}{netdef})Úidz: [highlight]{}[/highlight]ry   uC   {sign} [{col}]â—�[/{col}] {idx:>2}: [green][highlight]{name} {type}z? [{col}]{state}[/{col}] ({backend}{netdef})[/highlight][/green]uH     [muted]â—� {idx:>2}: {name} {type} {state} ({backend}{netdef})[/muted]z: {}Úindexr)   ÚbackendÚ	unmanaged)	ÚsignÚcolÚidxÚnamer+   rn   r  ÚnetdefÚextraN)r`   rW   rI   rj   ÚPLUSÚ	diff_onlyrê   rN   )r$   r(   rü   rn   ÚscolorÚ	full_typer  r  rW   r  r  r  s   &&&         r   Ú_display_interface_headerÚ'NetplanStatus._display_interface_headerñ   s°  € Ø—‘˜ iÓ0°3Õ6¸¿¹À,ÐPYÓ9ZÕZˆØˆØ�GÔØˆEØ‰FØ�kÔ!ØˆEØˆFØ—H‘H˜V WÓ-ˆ	Ø�x‰x˜ÓˆØ—h‘h˜}Ó-ˆØ˜Ô§4Ø˜$ �+¨Õ+Õ,‰IØ˜(Ô"§{Ø˜# Õ+Õ,ˆIàhˆØIMÏÉÐRVÏÊÐ.×5Ñ5°d·h±h¸t³nÔEÐ]_ˆØˆØˆØ�9�9ˆ9Ø×4Ñ4°V×<Ò<Ø—y‘y�Ø^�ØÐ[Õ[‘àc�Ø:>¿(¹(À4¿.º.˜Ÿ™ t§x¡x°£~Ô6Èb�à�~�~ˆ~ §¡°×!7Ò!7Ø�K‰K˜Ÿ™ØØØ—H‘H˜W cÓ*ØØØØŸ™ ¨KÓ8ØØð &ó 
ö 
ñ "8r   c                ó    <€ V ^8„  d   QhRS[ /# r  rw   )rW   rX   s   "€r   rY   rZ     s   ø€ ÷ ñ ©3ñ r   c                óº  € VP                  R 4      ;p'       EdÁ   RpV P                  V4      pRV P                  ,           R,           pRpV P                  '       d8   V'       g0   RV P                  ,           R,           pV P                  '       d   RpM@V P                  '       d/   V'       d'   V P
                  pRV P                  ,           R	,           pV'       gÿ   T P                  TP                  TR
TVP                  R4      '       d"   RP                  VP                  RR4      4      MRR7      4       V P                  '       d�   V'       d…   V P                  pRV P                  ,           R,           pT P                  TP                  TRTVP                  R4      '       d"   RP                  VP                  RR4      4      MRR7      4       R# R# R# R# R# )Ú
macaddressFrî   z} {mac}[muted]{vendor}[/muted]ry   ú  [muted]{title:>z} {mac}{vendor}[/muted]Tú{sign} {title:>z5} [green][highlight]{mac}{vendor}[/highlight][/green]zMAC Address:Úvendorrø   )r  rñ   Úmacr*  z1} [red][highlight]{mac}{vendor}[/highlight][/red]N)	r`   r¤   rú   rI   r   r  rN   rW   ÚMINUS)r$   r(   rü   r'  Úhide_macaddressÚmissing_system_macaddressrW   r  s   &&&     r   Ú_display_mac_addressÚ"NetplanStatus._display_mac_address  sw  € ØŸ™ ,Ó/Ð/ˆ:×/Ø#ˆOØ(,×(KÑ(KÈFÓ(SÐ%Ø §¡Õ(Ð)IÕIˆFØˆDØ�y�yˆy×!:Ø,¨T¯X©XÕ5Ð6OÕO�Ø—>—>�>Ø&*�OøØ——�×8Ø—y‘y�Ø*¨4¯8©8Õ3Ð4kÕk�ç"Ø—‘˜VŸO™OØØ(Ø"ØEIÇXÁXÈh×EWÒEW˜7Ÿ>™>¨$¯(©(°8¸RÓ*@ÔAÐ]_ð	 ,ó ô ð —9—9�9×!:ØŸ:™:�DØ.¨t¯x©xÕ7Ð8kÕk�FØ—K‘K §¡Ø!Ø Ø5ØIMÏÉÐRZ×I[ÒI[˜wŸ~™~¨d¯h©h°xÀÓ.DÔEÐacð	 !0ó !ö ñ ";‘9ñ #ñ 0r   c                ó    <€ V ^8„  d   QhRS[ /# r  rw   )rW   rX   s   "€r   rY   rZ   <  s   ø€ ÷ Bñ B©Cñ Br   c                ól  € VP                  R . 4      p^ pV'       Ed±   V P                  V4      pV EF˜  pRpRp\        VP                  4       4      ^ ,          w  ršV
P                  RR4      p. pV
P                  R4      '       d   V
P                  R. 4      pRpRpV'       d   RV9   d   RpRpV	 RV 2pV P                  '       d:   Wõ9  d4   R	V P
                  ,           R
,           pRpRpV P                  '       d   RpM]V P                  '       d2   Wõ9   d,   V P                  pRV P
                  ,           R,           pRpRpMRV P
                  ,           R,           pV'       d   EK8  T P                  TP                  TV^ 8X  d   RMRT	TV'       d    RRP                  V4      ,           R,           MRVVR7      4       V^,          pEK›  	  V P                  V4      ;p'       EdM   V P                  pVP                  R/ 4      P                  R4      ;p'       dW   V FP  p	T P                  RV P
                  ,           R,           P                  TV^ 8X  d   RMRV	R7      4       V^,          pKR  	  V P                  V4      '       dM   T P                  RV P
                  ,           R,           P                  TV^ 8X  d   RMRR7      4       V^,          pV P                  V4      '       dF   T P                  RV P
                  ,           R,           P                  TV^ 8X  d   RMRR7      4       R# R# R# )rô   ry   FÚprefixÚflagsÚdhcpú[highlight]ú[/highlight]r  r(  z*} {start}{ip}/{prefix}{end}{extra}[/muted]Tr)  z1} [green]{start}{ip}/{prefix}{extra}{end}[/green]rî   z1} {start}{ip}/{prefix}{end}[muted]{extra}[/muted]z
Addresses:ú (ú, Ú))r  rñ   Úipr3  r  ÚstartÚendr]   rˆ   z(} [highlight][red]{ip}[/red][/highlight]©r  rñ   r;  z4} [highlight][red]0.0.0.0/0 (dhcp)[/red][/highlight])r  rñ   z/} [highlight][red]::/0 (dhcp)[/red][/highlight]N)r`   r‹   rp   ÚitemsrI   rú   r   r  rN   rW   Újoinrb   r,  r¶   r¼   )r$   r(   rü   ÚlstÚaddresses_displayedÚmissing_netplan_addressesÚobjr  Úhide_addressr;  r  r3  r4  Úhighlight_startÚhighlight_endÚaddressrW   rI   rˆ   s   &&&                r   Ú_display_ip_addressesÚ#NetplanStatus._display_ip_addresses<  sö  € Ø—H‘H˜[¨"Ó-ˆØÐßˆ3Ø(,×(KÑ(KÈFÓ(SÐ%Ü�Ø�Ø$�Ü  §¡£Ó-¨aÕ0‘	�ØŸ™ 8¨RÓ0�Ø�Ø—9‘9˜W×%Ò%Ø!ŸI™I g¨rÓ2�EØ"$�Ø "�ß ¨%¤Ø&3�OØ$2�Mà˜D  & Ð*�Ø—9—9�9 Ô!IØ0°·±Õ9Ð:fÕf�FØ&(�OØ$&�MØ—~—~�~Ø'+˜øØ—Y—Y�Y 7Ô#GØŸ9™9�DØ.¨t¯x©xÕ7Ð8kÕk�FØ&3�OØ$2‘Mà'¨¯©Õ0Ð1dÕd�Fç#’|Ø—K‘K §¡Ø!Ø.AÀQÔ.F™lÈBØØ%ß;@˜d 4§9¡9¨UÓ#3Õ3°CÖ7ÀbØ-Ø)ð !0ó !ô ð (¨1Õ,Ó'ñO ðR ×+Ñ+¨FÓ3Ð3ˆ4×3Ø—:‘:ˆDØ$(§H¡H¨^¸RÓ$@×$DÑ$DÐEXÓ$YÐYÐ ÖYÛ+�BØ—K‘KÐ!2°4·8±8Õ!;Ð<fÕ!f× nÑ nØ!Ø.AÀQÔ.F™lÈBØð !oó !ô ð
 (¨1Õ,Ò'ñ ,ð ×-Ñ-¨f×5Ò5Ø—‘Ð.¨t¯x©xÕ7Ð8nÕn×vÑvØØ*=ÀÔ*B™,Èð wó ô ð $ qÕ(Ð#Ø×-Ñ-¨f×5Ò5Ø—‘Ð.¨t¯x©xÕ7Ð8iÕi×qÑqØØ*=ÀÔ*B™,Èð ró ö ñ 6ñ! 4r   c                ó    <€ V ^8„  d   QhRS[ /# r  rw   )rW   rX   s   "€r   rY   rZ   €  s   ø€ ÷ +/ñ +/©Sñ +/r   c                ó‚  € VP                  R . 4      p^ pV'       Ed   V P                  V4      pV Fô  pRpRpV P                  '       d:   We9  d4   RV P                  ,           R,           p	Rp
RpV P                  '       d   RpMaV P                  '       d2   We9   d,   V P
                  pRV P                  ,           R,           p	Rp
R	pMR
V P                  ,           R,           p	Rp
RpV'       d   K½  T P                  T	P                  TV^ 8X  d   RMRVV
VR7      4       V^,          pKö  	  V P                  V4      '       d€   V P                  V4      ;p'       de   V P                  pV FP  pT P                  RV P                  ,           R,           P                  TV^ 8X  d   RMRVR7      4       V^,          pKR  	  R# R# R# )Údns_addressesry   Fr(  ú} {value}[/muted]Tr)  ú$} [green]{start}{value}{end}[/green]r6  r7  rî   rï   r÷   ©r  rñ   rò   r<  r=  z(} [red][highlight]{ip}[/highlight][/red]r>  N)r`   r”   rI   rú   r   r  rN   rW   rê   r�   r,  )r$   r(   rü   rA  Únameservers_displayedÚmissing_netplan_nameserversr  r  Úhide_nameserverrW   rF  rG  r�   r;  s   &&&           r   Ú_display_dns_addressesÚ$NetplanStatus._display_dns_addresses€  s¯  € Ø�h‰h�¨Ó+ˆØ !Ðßˆ3Ø*.×*OÑ*OÐPVÓ*WÐ'Û�Ø�Ø"'�Ø—9—9�9 Ô!GØ0°·±Õ9Ð:MÕM�FØ&(�OØ$&�MØ—~—~�~Ø*.˜øØ—Y—Y�Y 3Ô#EØŸ9™9�DØ.¨t¯x©xÕ7Ð8^Õ^�FØ&3�OØ$2‘Mà'¨¯©Õ0°Õ<�FØ&(�OØ$&�Mç&‘Ø—K‘K §¡Ø!Ø2GÈ1Ô2LÑ.ÐRTØ!Ø-Ø)ð !0ó !ô ð *¨QÕ.Ò)ñ7 ð: �>‰>˜&×!Ò!Ø04×0TÑ0TÐU[Ó0\Ð\Ð,Ö\Ø—z‘z�Û7�BØ—K‘KÐ!2°4·8±8Õ!;Ð<fÕ!f× nÑ nØ!Ø2GÈ1Ô2LÑ.ÐRTØð !oó !ô ð
 *¨QÕ.Ò)ó 8ñ ]ñ "r   c                ó˜  € VP                  R . 4      p^ pV'       Ed   V P                  V4      p\        V4       Fö  w  rgRpRp	V P                  '       d:   Wu9  d4   RV P                  ,           R,           p
RpRpV P
                  '       d   Rp	MaV P                  '       d2   Wu9   d,   V P                  pRV P                  ,           R,           p
RpR	pMR
V P                  ,           R,           p
RpRpV	'       d   K¿  T P                  T
P                  TV^ 8X  d   RMRVVVR7      4       V^,          pKø  	  V P                  V4      '       d€   V P                  V4      ;p'       de   V P                  pV FP  pT P                  RV P                  ,           R,           P                  TV^ 8X  d   RMRVR7      4       V^,          pKR  	  R# R# R# )r  ry   Fr(  rN  Tr)  rO  r6  r7  rî   rï   rù   rP  z,} [red][highlight]{domain}[/highlight][/red])r  rñ   ÚdomainN)r`   r™   rû   rI   rú   r   r  rN   rW   rê   r�   r,  )r$   r(   rü   rA  Úsearches_displayedÚmissing_netplan_searchr  r  r  Úhide_searchrW   rF  rG  r˜   rW  s   &&&            r   Ú_display_dns_searchÚ!NetplanStatus._display_dns_search­  s¯  € Ø�h‰h�| RÓ(ˆØÐßˆ3Ø%)×%EÑ%EÀfÓ%MÐ"Ü# Cž.‘�Ø�Ø#�Ø—9—9�9 Ô!BØ0°·±Õ9Ð:MÕM�FØ&(�OØ$&�MØ—~—~�~Ø&*˜øØ—Y—Y�Y 3Ô#@ØŸ9™9�DØ.¨t¯x©xÕ7Ð8^Õ^�FØ&3�OØ$2‘Mà'¨¯©Õ0°Õ<�FØ&(�OØ$&�Mç"‘{Ø—K‘K §¡Ø!Ø/AÀQÔ/F™mÈBØ!Ø-Ø)ð !0ó !ô ð '¨!Õ+Ò&ñ7 )ð: �>‰>˜&×!Ò!Ø-1×-LÑ-LÈVÓ-TÐTÐ)ÖTØ—z‘z�Û8�FØ—K‘KÐ!2°4·8±8Õ!;Ð<jÕ!j× rÑ rØ!Ø/AÀQÔ/F™mÈBØ%ð !só !ô ð
 '¨!Õ+Ò&ó 9ñ Uñ "r   c                ó¾  € VP                  R . 4      pV P                  V4      pV P                  V4      p^ pV'       Edu   V P                  '       g   \        P
                  ! 4       V n        \        RR4      pV Uu. uF  q‡P                  V4      NK  	  p	pV P                  '       g   \        R V	4      p	V	 EF÷  pRp
RpRpVP                  R8X  d   RpRpRpVP                  '       d   RVP                  ,           pRpVP                  '       d   R	VP                  ,           pRpVP                  \        P                  8  d   R
\!        VP                  4      ,           pRpV P                  '       dQ   VP"                  ^ 8”  d@   RP%                  V P                  P                  VP"                  VP"                  4      4      p. pVP&                  '       d/   VP&                  R8w  d   VP&                  pVP)                  V4       VP*                  '       d/   VP*                  R8w  d   VP*                  pVP)                  V4       VP,                  '       d/   VP,                  R8w  d   VP,                  pVP)                  V4       RpV P.                  '       d:   W„9  d4   RV P0                  ,           R,           pRpRpV P2                  '       d   Rp
MbV P.                  '       d7   W„9   d1   V P4                  pRV P0                  ,           R,           pVR,          pMRV P0                  ,           R,           pV
'       d   EKŠ  T P7                  TP%                  TV^ 8X  d   RMRVP                  TTTTV'       d    RRP9                  V4      ,           R,           MRVVR7
      4       V^,          pEKú  	  V P.                  '       Ed   V EF  pRpVP                  '       d   RVP                  ,           pRpVP                  '       d   R	VP                  ,           pRpVP                  \        P                  8  d   R
\!        VP                  4      ,           pRpV P                  '       dQ   VP"                  ^ 8”  d@   RP%                  V P                  P                  VP"                  VP"                  4      4      p. pVP*                  '       d/   VP*                  R8w  d   VP*                  pVP)                  V4       VP,                  '       d/   VP,                  R8w  d   VP,                  pVP)                  V4       V P:                  pRV P0                  ,           R,           pT P7                  TP%                  TV^ 8X  d   RMRVP                  TTTTV'       d    RRP9                  V4      ,           R,           MRRRR7
      4       V^,          pEK  	  R# R# u upi )ÚroutesNc                 ó    € V P                   ^þ8H  # )éþ   )Útable)Úrs   &r   Ú<lambda>Ú/NetplanStatus._display_routes.<locals>.<lambda>ç  s   € ¨!¯'©'°Sª.r   Fry   r,   r6  r7  z via z from z metric z	 table {}ÚkernelÚglobalÚunicastr(  z:} {start}{to}{via}{src}{metric}{table}{end}{extra}[/muted]Tr)  z1} [green][highlight]{start}{to}{via}{src}{metric}z'{table}{end}{extra}[/highlight][/green]rî   zA} {start}{to}{via}{src}{metric}{table}{end}[muted]{extra}[/muted]zRoutes:r8  r9  r:  )
r  rñ   ÚtoÚviaÚsrcÚmetricra  r  r<  r=  z=} {start}[red]{to}{via}{src}{metric}{table}{extra}[/red]{end})r`   r«   r¯   r#   r   Úroute_table_lookupr   Ú_system_route_to_netplanÚverboseÚfilterrh  ri  Ú	from_addrrk  r   Ú_METRIC_UNSPEC_r3   ra  rW   ÚprotocolÚappendÚscoper+   rI   rú   r   r  rN   r@  r,  )r$   r(   rü   rA  Úmissing_netplan_routesÚmissing_system_routesÚroutes_displayedÚ
diff_stateÚrouter^  Ú
hide_routeÚdefault_startÚdefault_endri  rj  rk  ra  r  Úprotort  r+   r  rW   s   &&&                    r   Ú_display_routesÚNetplanStatus._display_routesÚ  s�  € Ø�h‰h�x Ó$ˆØ!%×!AÑ!AÀ&Ó!IÐØ $× ?Ñ ?ÀÓ GÐØÐßˆ3Ø×0×0Ð0Ü05×0HÒ0HÓ0J�Ô-ä)¨$°Ó5ˆJÙNQÓRÉcÀU×9Ñ9¸%Ö@ÉcˆFÐRØ—<—<�<äÑ 8¸&ÓA�Ü�Ø"�
Ø "�Ø �Ø—8‘8˜yÔ(Ø$1�MØ"0�KØ�Ø—9—9�9Ø! E§I¡IÕ-�CØ�Ø—?—?�?Ø" U§_¡_Õ4�CØ�Ø—<‘<¤,×">Ñ">Ô>Ø'¬#¨e¯l©lÓ*;Õ;�FØ�Ø—<—<�< E§K¡K°!¤OØ'×.Ñ.¨t×/LÑ/L×/PÑ/PÐQV×Q\ÑQ\Ð^c×^iÑ^iÓ/jÓk�Eà�Ø—>—>�> e§n¡n¸Ô&@Ø!ŸN™N�EØ—L‘L Ô'Ø—;—;�; 5§;¡;°(Ô#:Ø!ŸK™K�EØ—L‘L Ô'Ø—:—:�: %§*¡*°	Ô"9Ø Ÿ:™:�DØ—L‘L Ô&à�Ø—9—9�9 Ô!DØ0°·±Õ9Ð:vÕv�FØ$&�MØ"$�KØ—~—~�~Ø%)˜
øØ—Y—Y�Y 5Ô#BØŸ9™9�DØ.¨t¯x©xÕ7Ð8kÕk�FØÐGÕG‘Fà'¨¯©Õ0Ð1tÕt�Fç!’zØ—K‘K §¡Ø!Ø+;¸qÔ+@™iÀbØ Ÿ8™8ØØØ%Ø#ß;@˜d 4§9¡9¨UÓ#3Õ3°CÖ7ÀbØ+Ø'ð !.ó 
!)ô 
*ð %¨Õ)Ó$ñs  ðv �9�9‰9Ü.�Ø�Ø—9—9�9Ø! E§I¡IÕ-�CØ�Ø—?—?�?Ø" U§_¡_Õ4�CØ�Ø—<‘<¤,×">Ñ">Ô>Ø'¬#¨e¯l©lÓ*;Õ;�FØ�Ø—<—<�< E§K¡K°!¤OØ'×.Ñ.¨t×/LÑ/L×/PÑ/PÐQV×Q\ÑQ\Ð^c×^iÑ^iÓ/jÓk�Eà�Ø—;—;�; 5§;¡;°(Ô#:Ø!ŸK™K�EØ—L‘L Ô'Ø—:—:�: %§*¡*°	Ô"9Ø Ÿ:™:�DØ—L‘L Ô&à—z‘z�Ø*¨4¯8©8Õ3Ð4sÕs�Ø—‘˜FŸM™MØØ'7¸1Ô'<™)À"Ø—x‘xØØØ!Øß7<˜$˜tŸy™y¨Ó/Õ/°Ö3À"Ø'Ø&ð *ó 
(ô 
)ð ! AÕ%Ó óG /ñ ùò Ss   Á<Wc                óÊ  € VP                  R 4      pV'       dæ   V P                  V4      pRV P                  ,           R,           pRpRpV P                  '       d8   V'       g0   RV P                  ,           R,           pV P                  '       d   RpMBV P                  '       d1   V'       d)   V P
                  pRV P                  ,           R	,           pTpV'       g$   V P                  VP                  VR
VR7      4       V P                  V4      ;p'       dL   V P                  pRV P                  ,           R,           pV P                  VP                  VR
VR7      4       R# R# )Úbridgerî   rï   ry   Fr(  rN  Tr)  ú/} [highlight][green]{value}[/green][/highlight]zBridge:©r  rñ   rò   ú+} [highlight][red]{value}[/red][/highlight]N)
r`   rÏ   rú   rI   r   r  rN   rW   rË   r,  )	r$   r(   rü   r  Úmissing_netplan_bridge_linkrW   r  Úhide_bridgeÚmissing_system_bridge_links	   &&&      r   Ú_display_bridgeÚNetplanStatus._display_bridgeI  s(  € Ø�h‰h�xÓ ˆßØ*.×*OÑ*OÐPVÓ*WÐ'Ø §¡Õ(¨Õ4ˆFØˆDØˆKØ�y�yˆy×!<Ø,¨T¯X©XÕ5Ð6IÕI�Ø—>—>�>Ø"&�KøØ——�×:Ø—y‘y�Ø*¨4¯8©8Õ3Ð4eÕe�Ø1�çØ—‘˜VŸO™OØØ#Øð ,ó ô ð
 *.×)MÑ)MÈfÓ)UÐUÐ%ÖUØ—:‘:ˆDØ& t§x¡xÕ/Ð0]Õ]ˆFØ�K‰K˜Ÿ™ØØØ0ð (ó ö ñ Vr   c                óÊ  € VP                  R 4      pV'       dæ   V P                  V4      pRV P                  ,           R,           pRpRpV P                  '       d8   V'       g0   RV P                  ,           R,           pV P                  '       d   RpMBV P                  '       d1   V'       d)   V P
                  pRV P                  ,           R	,           pTpV'       g$   V P                  VP                  VR
VR7      4       V P                  V4      ;p'       dL   V P                  pRV P                  ,           R,           pV P                  VP                  VR
VR7      4       R# R# )Úbondrî   rï   ry   Fr(  rN  Tr)  r‚  zBond:rƒ  r„  N)
r`   rÆ   rú   rI   r   r  rN   rW   rÂ   r,  )	r$   r(   rü   r  Úmissing_netplan_bond_linkrW   r  Ú	hide_bondÚmissing_system_bond_links	   &&&      r   Ú_display_bondÚNetplanStatus._display_bondh  s'  € Ø�h‰h�vÓˆßØ(,×(KÑ(KÈFÓ(SÐ%Ø §¡Õ(¨Õ4ˆFØˆDØˆIØ�y�yˆy×!:Ø,¨T¯X©XÕ5Ð6IÕI�Ø—>—>�>Ø $�IøØ——�×8Ø—y‘y�Ø*¨4¯8©8Õ3Ð4eÕe�Ø/�çØ—‘˜VŸO™OØØ!Øð ,ó ô ð
 (,×'IÑ'IÈ&Ó'QÐQÐ#ÖQØ—:‘:ˆDØ& t§x¡xÕ/Ð0]Õ]ˆFØ�K‰K˜Ÿ™ØØØ.ð (ó ö ñ Rr   c                óÊ  € VP                  R 4      pV'       dæ   V P                  V4      pRV P                  ,           R,           pRpRpV P                  '       d8   V'       g0   RV P                  ,           R,           pV P                  '       d   RpMBV P                  '       d1   V'       d)   V P
                  pRV P                  ,           R	,           pTpV'       g$   V P                  VP                  VR
VR7      4       V P                  V4      ;p'       dL   V P                  pRV P                  ,           R,           pV P                  VP                  VR
VR7      4       R# R# )Úvrfrî   rï   ry   Fr(  rN  Tr)  r‚  zVRF:rƒ  r„  N)
r`   rØ   rú   rI   r   r  rN   rW   rÔ   r,  )	r$   r(   rü   r  Úmissing_netplan_vrf_linkrW   r  Úhide_vrfÚmissing_system_vrf_links	   &&&      r   Ú_display_vrfÚNetplanStatus._display_vrf‡  s&  € Ø�h‰h�u‹oˆßØ'+×'IÑ'IÈ&Ó'QÐ$Ø §¡Õ(¨Õ4ˆFØˆDØˆHØ�y�yˆy×!9Ø,¨T¯X©XÕ5Ð6IÕI�Ø—>—>�>Ø#�HøØ——�×7Ø—y‘y�Ø*¨4¯8©8Õ3Ð4eÕe�Ø.�çØ—‘˜VŸO™OØØ Øð ,ó ô ð
 '+×&GÑ&GÈÓ&OÐOÐ"ÖOØ—:‘:ˆDØ& t§x¡xÕ/Ð0]Õ]ˆFØ�K‰K˜Ÿ™ØØØ-ð (ó ö ñ Pr   c                ó    <€ V ^8„  d   QhRS[ /# r  rw   )rW   rX   s   "€r   rY   rZ   ¦  s   ø€ ÷ ++ñ ++¡sñ ++r   c                ó‚  € VP                  R . 4      p^ pV'       Ed   V P                  V4      pV Fô  pRpRpV P                  '       d:   We9  d4   RV P                  ,           R,           p	Rp
RpV P                  '       d   RpMaV P                  '       d2   We9   d,   V P
                  pRV P                  ,           R,           p	Rp
R	pMR
V P                  ,           R,           p	Rp
RpV'       d   K½  T P                  T	P                  TV^ 8X  d   RMRVV
VR7      4       V^,          pKö  	  V P                  V4      '       d€   V P                  V4      ;p'       de   V P                  pV FP  pT P                  RV P                  ,           R,           P                  TV^ 8X  d   RMRVR7      4       V^,          pKR  	  R# R# R# )r\   ry   Fr(  rN  Tr)  rO  r6  r7  rî   rï   zInterfaces:rP  z,} [red][highlight]{member}[/highlight][/red])r  rñ   ÚmemberN)r`   rÝ   rI   rú   r   r  rN   rW   rê   rá   r,  )r$   r(   rü   rA  Úmembers_displayedÚmissing_netplan_interfacesr  r  Úhide_memberrW   rF  rG  Úmissing_membersrš  s   &&&           r   Ú_display_membersÚNetplanStatus._display_members¦  s¨  € Ø�h‰h�| RÓ(ˆØÐßˆ3Ø)-×)JÑ)JÈ6Ó)RÐ&Û�Ø�Ø#�Ø—9—9�9 Ô!FØ0°·±Õ9Ð:MÕM�FØ&(�OØ$&�MØ—~—~�~Ø&*˜øØ—Y—Y�Y 3Ô#DØŸ9™9�DØ.¨t¯x©xÕ7Ð8^Õ^�FØ&3�OØ$2‘Mà'¨¯©Õ0°Õ<�FØ&(�OØ$&�Mç"‘{Ø—K‘K §¡Ø!Ø/@ÀAÔ/E™mÈ2Ø!Ø-Ø)ð !0ó !ô ð &¨Õ*Ò%ñ7 ð: �>‰>˜&×!Ò!Ø"&×"BÑ"BÀ6Ó"JÐJˆÖJØ—z‘z�Û-�FØ—K‘KÐ!2°4·8±8Õ!;Ð<jÕ!j× rÑ rØ!Ø/@ÀAÔ/E™mÈ2Ø%ð !só !ô ð
 &¨Õ*Ò%ó .ñ Kñ "r   c                ó°   € VP                  R 4      pV'       d=   V P                  RV P                  ,           R,           P                  RVR7      4       R# R# )Úactivation_moderî   rï   zActivation Mode:rð   N)r`   rN   rú   rW   )r$   rü   r  s   && r   Ú_display_activation_modeÚ&NetplanStatus._display_activation_modeÓ  sL   € Ø�h‰hÐ(Ó)ˆßØ�K‰K˜ D§H¡HÕ,¨[Õ8×@Ñ@Ø(Øð Aó ö ñ r   c                ó¨  € V P                  4       pV P                  p\        VP                  4       ^4       F—  w  pw  rEV P                  '       d   V P                  V8w  d   K-  V P                  RP                  VRRVVP                  R4      R7      4       V\        V4      8w  g   Ks  V P                  '       d   K‡  V P                  4        K™  	  R# )é   u1   {sign} [{col}]â—� {idx:>2}  {name} {type}[/{col}]Úredry   r+   )r  r  r  r  r+   N)	ræ   r,  rû   r?  r(   rN   rW   r`   Úlen)r$   rÜ   r  r  Ú	interfaceÚ
propertiess   &     r   Ú_display_missing_interfacesÚ)NetplanStatus._display_missing_interfacesÛ  s¯   € Ø!×@Ñ@ÓBÐØ�z‰zˆÜ.7Ð8J×8PÑ8PÓ8RÐTUÖ.VÑ*ˆEÑ*�Ià�{�{ˆ{˜tŸ{™{¨iÔ7Ùà�K‰KÐK×RÑRØØØØØ—^‘^ FÓ+ð Só ô ð œÐ.Ó/Ö/¸¿¿ºà—‘–ó /Wr   c                ó\  € \        V4      '       d’   \        V4      p \        P                  V^ ,          4      pV'       g   MUV FM  pV^ ,          P	                  RP                  V4      R4      P	                  RP                  V4      R4      V^ &   KO  	  K{  \        V/ VB # \        V/ VB # )Tz[{}]ry   z[/{}])r¨  rp   Ú
MATCH_TAGSÚfindallÚreplacerW   rJ   )r$   ÚargsÚkwargsrA  ÚtagsÚtags   &*,   r   rK   ÚNetplanStatus.plain_printï  s–   € Üˆt�9Š9Ü�t“*ˆCØÜ!×)Ñ)¨#¨a­&Ó1�ßØÛ�Cà  �VŸ^™^¨F¯M©M¸#Ó,>ÀÓCß$+¡G¨G¯N©N¸3Ó,?ÀÓ$Dð ˜“Fó  ô ˜#Ð( Ñ(Ð(Ü�dÐ%˜fÑ%Ð%r   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rS   rü   ÚtotalrT   N)r   Úint)rW   rX   s   "€r   rY   rZ   ý  s"   ø€ ÷ 5ñ 5¡ð 5©cð 5È4ñ 5r   c                óÀ  a € S P                  V4      S n        R S n        RS n        RS n        S P
                  '       d   RS n        S P
                  '       g   S P                  V4       V Uu. uF  qDR8w  g   K  WAV,          3NK  	  ppS P                  '       d   \        \        V 3R lV4      4      pS P                  4       p\        V^4       EF]  w  pw  r‰S P                  '       d   S P                  V8w  d   K.  S P                  W‰4       S P                  W‰4       S P                  W‰4       S P!                  W‰4       S P#                  W‰4       S P%                  W‰4       S P'                  W‰4       S P)                  W‰4       S P+                  W‰4       S P-                  W‰4       S P/                  V	4       S P                  '       d   S P1                  V4      '       g   EK  V\3        V4      8w  g   \3        V4      ^ 8”  g   EK8  S P                  '       d   EKM  S P                  4        EK`  	  S P
                  '       d   S P5                  4        V\3        V4      ,
          p
V
^ 8”  d3   S P
                  '       g!   S P                  RP7                  V
4      4       S P
                  '       d(   S P                  '       g   S P                  R4       R# R# R# u upi )	z[green]+[/green]z[red]-[/red]Ú18Ú20rí   c                 ó4   <€ SP                  V ^ ,          4      # )é    )rê   )r  r$   s   &€r   rc  Ú,NetplanStatus.pretty_print.<locals>.<lambda>  s   ø€ ¨t¯~©~¸aÀ½dÔ/Cr   z8
{} inactive interfaces hidden. Use "--all" to show all.zn
Use [yellow]"--diff-only"[/yellow] to omit the information that is consistent between the system and Netplan.N)rO   rN   r  r,  rú   rI   r  r   rp   ro  ræ   rû   r(   r#  r/  rI  rT  r[  r~  rˆ  r�  r–  rŸ  r£  rê   r¨  r«  rW   )r$   rü   r·  rL   Úkeyr\   rÜ   r  r(   ÚifconfigÚhiddens   f&&&       r   Úpretty_printÚNetplanStatus.pretty_printý  s3  ø€ Ø×/Ñ/°Ó?ˆŒØ&ˆŒ	Ø#ˆŒ
ØˆŒØ�9�9ˆ9ð ˆDŒHð �y�yˆyØ×&Ñ& tÔ,ñ 37ÓX±$¨3ÐAWÑ:WÔ&�s �IÓ&±$ˆ
ÐXØ�>�>ˆ>äœfÔ%CÀZÓPÓQˆJà!×@Ñ@ÓBÐÜ)2°:¸q×)AÑ%ˆEÑ%�Fà�{�{ˆ{˜tŸ{™{¨fÔ4Ùà×*Ñ*¨6Ô<Ø×%Ñ% fÔ7Ø×&Ñ& vÔ8Ø×'Ñ'¨Ô9Ø×$Ñ$ VÔ6Ø× Ñ  Ô2Ø× Ñ  Ô2Ø×Ñ˜vÔ0Ø×Ñ˜fÔ/Ø×!Ñ! &Ô3Ø×)Ñ)¨(Ô3à—>—>�> T§^¡^°F×%;Õ%;àœS ›_Ô,´Ð4FÓ0GÈ!×0KÐUY×U`×U`ÓU`Ø—K‘K—Mñ) *Bð, �9�9ˆ9Ø×,Ñ,Ô.àœ˜Z›Õ(ˆØ�AŒ:˜dŸiŸi˜iØ�K‰KÐS×ZÑZÐ[aÓbÔcà�9�9ˆ9˜TŸ^Ÿ^˜^Ø�K‰Kð Böñ ,‰9ùòG Ys   Á-KÁ:Kc                óä  € V P                   '       d   R V n        V P                  '       d   R V n        \        V P                  V P                  4      pV P
                  P                  4       pV P                  '       dÜ   \        V P                  R7      p\        W4      pVP                  V P                  4      V n        VR8X  d2   \        \        P                  ! V P                  \        R7      4       R# VR8X  d\   \        P                  ! V P                  \        R7      p\        \         P"                  ! \        P$                  ! V4      4      4       R# VR8X  d0   \        \        P                  ! VP'                  4       4      4       R# VR8X  d0   \        \         P"                  ! VP'                  4       4      4       R# V P)                  VP'                  4       VP*                  4       R# )T)ÚrootdirÚjson)ÚclsNÚyaml)r   rI   r!   r   r(   rW   Úlowerr   Úroot_dirr   Úget_diffr"   rJ   rÆ  Údumpsr   rÈ  ÚdumpÚloadsÚget_datarÂ  Únumber_of_interfaces)r$   r]   Úoutput_formatr^   rx  Ú
serializeds   &     r   r4   ÚNetplanStatus.command4  s?  € à�>�>ˆ>ØˆDŒIð �9�9ˆ9ØˆDŒHä(¨¯©°d·h±hÓ?ˆàŸ™×)Ñ)Ó+ˆà�9�9ˆ9Ü.°t·}±}ÔEˆMÜ)¨,ÓFˆJà(×1Ñ1°$·+±+Ó>ˆDŒOà Ô&Ü”d—j’j §¡´oÔFÔGÙØ &Ô(Ü!ŸZšZ¨¯©¼_ÔM�
Ü”d—i’i¤§
¢
¨:Ó 6Ó7Ô8Ùà˜FÔ"Ü”$—*’*˜\×2Ñ2Ó4Ó5Ö6Ø˜fÔ$Ü”$—)’)˜L×1Ñ1Ó3Ó4Ö5à×Ñ˜l×3Ñ3Ó5°|×7XÑ7XÖYr   )	r,  rú   r  r!   rI   r5   rN   r#   r"   )N)4r   r   r   r   r    r9   rO   rb   rj   rt   rz   r   rƒ   r‹   r�   r”   r™   r�   r¤   r«   r¯   r¶   r¼   rÂ   rÆ   rË   rÏ   rÔ   rØ   rÝ   rá   ræ   rê   r  r#  r/  rI  rT  r[  r~  rˆ  r�  r–  rŸ  r£  r«  rK   rÂ  r4   r   Ú__classdictcell__Ú__classcell__)r%   rX   s   @@r   r   r   2   s¼  ù‡ € õ+òò(÷>ð ÷ð ÷ð ÷ð ÷ð ÷ð ÷]ð ]÷hð h÷ið i÷fð f÷eð e÷\ð \÷Yð Y÷Xð X÷`ð `÷`ð `÷[ð [÷\ð \÷]ð ]÷^ð ^÷Zð Z÷[ð [÷^ð ^÷]ð ]÷ð ÷
ð ò÷2)ð )÷Vð ÷@Bð B÷H+/ð +/òZ+,òZm&ò^ò>ò>÷>++ð ++òZòò(&÷5ò 5÷n Zò  Zr   r   )Ú__doc__rÆ  ÚloggingÚreÚnetplan.netdefr   rÈ  ry   r   rn   r   r   r   r"   r   r   Úcompiler®  rH   Úrich.consoler	   Úrich.highlighterr
   Ú
rich.themer   r   ÚImportErrorÚdebugÚNetplanCommandr   r   r   r   Ú<module>rá     s”   ðñ$ "ã Û Û 	Ý 'ã å ß ?Ñ ?ß :ð �ZŠZÐ4Ó5€
Ø€ðJÝ$Ý1Ý ôÐ-ô ð €Kô
bZ�E×(Ñ(ö bZøð	 ô JØ‡M‚MÐHÖIðJús   ÁA< Á<BÂB