
    $g                        d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ dd	lmZ  G d
 dee                   Z ej        d          ZdS )    )annotationsN)Callable)Plugins)MkDocsConfig)PluginError)
BasePluginevent_priority   )GroupConfigc                  x     e Zd ZdZ fdZd Z ed          d             ZddZdd	Z	ddZ
ddZddZ xZS )GroupPluginTc                V     t                      j        |i | d| _        d| _        d S )NF)super__init__is_serveis_dirty)selfargskwargs	__class__s      ]/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/material/plugins/group/plugin.pyr   zGroupPlugin.__init__*   s3    $)&)))     c               *    |dk    | _         || _        d S )Nserve)r   r   )r   commanddirtys      r   
on_startupzGroupPlugin.on_startup2   s    7*r      c                r   | j         j        sd S t          |j                  d         }t	          |t
                    sJ i | _        	 |                     |          D ]\  }}|| j        |<   n.# t          $ r!}t          t          |                    d }~ww xY w|j        j                                        D ]}|                     ||           | j        rdnd}|j        j        d         D ]F}|                     |          }|r-|| j                                        v r ||| j                   Gd S )Npluginsr   buildstartup)r   r   )configenableddict_schema
isinstancer   r    _load	Exceptionr   streventsvalues_patchr   _get_pluginr   )	r   r#   optionnamepluginer+   r   methods	            r   	on_configzGroupPlugin.on_configD   sv   {" 	F v~..y9&'***** /1	& $

6 2 2 , ,f%+T"",
  	& 	& 	&c!ff%%%	& n+2244 	( 	(FKK'''' "]7''n+I6 	A 	AF%%f--F  A&DL$7$7$9$999$-@@@@	A 	As   %A. .
B8BBr3   r   c                $    t          |dd           S )N__self__getattrr   r3   s     r   r.   zGroupPlugin._get_pluginh   s    vz4000r   c                $    t          |dd          S )Nmkdocs_priorityr   r7   r9   s     r   _get_priorityzGroupPlugin._get_priorityl   s    v0!444r   r1   r   r#   r   returnintc                x    t          |j                                                  D ]\  }\  }}||k    r|c S d S N)	enumerater    items)r   r1   r#   at_	candidates         r   _get_positionzGroupPlugin._get_positionp   sS    "+FN,@,@,B,B"C"C 	 	BI""			 #	 	r   r/   r   c              #     K   |                     | j        j                  D ]\  }}|                    ||          V  d S r@   )_parse_configsr#   r    load_plugin_with_namespace)r   r/   r0   datas       r   r(   zGroupPlugin._loadx   sY       //0CDD 	@ 	@JD$33D$??????	@ 	@r   methodslist[Callable]c                   |                      | |          }t          t          dt          |                              D ]}||dz
           }||         }|                     |          }|r|| j                                        vrH|                     |          |                     |          k    ru|                     |          }|s||                      ||          k     r||c||<   ||dz
  <   d S )Nr
   )rF   reversedrangelenr.   r    r,   r<   )r   rK   r#   positionrC   tailheadr1   s           r   r-   zGroupPlugin._patch   s   %%dF335CLL1122 	: 	:B26?D2;D %%d++F V4<+>+>+@+@@@ !!$''$*<*<T*B*BBB %%d++F  4--ff====/3T,WR!V_-	: 	:r   )r3   r   )r1   r   r#   r   r=   r>   )r/   r   )rK   rL   r#   r   )__name__
__module____qualname__supports_multiple_instancesr   r   r	   r4   r.   r<   rF   r(   r-   __classcell__)r   s   @r   r   r   &   s        "&      $ ^CA A AF1 1 1 15 5 5 5   @ @ @ @: : : : : : : :r   r   zmkdocs.material.group)
__future__r   loggingcollections.abcr   mkdocs.config.config_optionsr   mkdocs.config.defaultsr   mkdocs.exceptionsr   mkdocs.pluginsr   r	   r#   r   r   	getLoggerlog r   r   <module>rc      s   * # " " " " "  $ $ $ $ $ $ 0 0 0 0 0 0 / / / / / / ) ) ) ) ) ) 5 5 5 5 5 5 5 5      t: t: t: t: t:*[) t: t: t:v g/00r   