U
    ?h                     @   s6   d dl Z G dd de jZG dd de ddZdS )    Nc                       s(   e Zd ZdZ fddZdd Z  ZS )FreezableDefaultDicta!  
    Often it is desirable to prevent the mutation of
    a default dict after its initial construction, such
    as to prevent mutation during iteration.

    >>> dd = FreezableDefaultDict(list)
    >>> dd[0].append('1')
    >>> dd.freeze()
    >>> dd[1]
    []
    >>> len(dd)
    1
    c                    s   t | dt j|S )N_frozen)getattrsuper__missing__)selfkey	__class__ Q/var/www/html/venv/lib/python3.8/site-packages/importlib_metadata/_collections.pyr      s    z FreezableDefaultDict.__missing__c                    s    fdd _ d S )Nc                    s      S )N)default_factory)r   r   r   r   <lambda>       z-FreezableDefaultDict.freeze.<locals>.<lambda>)r   r   r   r   r   freeze   s    zFreezableDefaultDict.freeze)__name__
__module____qualname____doc__r   r   __classcell__r   r   r	   r   r      s   r   c                   @   s   e Zd Zedd ZdS )Pairc                 C   s   | t tj|dd S )N=   )mapstrstripsplit)clstextr   r   r   parse   s    z
Pair.parseN)r   r   r   classmethodr    r   r   r   r   r      s   r   z
name value)collectionsdefaultdictr   
namedtupler   r   r   r   r   <module>   s   