
     #e                        d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	 erd dl
mZ  ej                  d      Ze	e G d d	                    Zy)
    )annotationsN)TYPE_CHECKINGType)define)serde)	Converterz\r\n|\rc                  T    e Zd ZU dZdZded<   	 ddZddZddZddZ	e
dd	       Zy
)FeatureszoA data class representing UFO features.

    See http://unifiedfontobject.org/versions/ufo3/features.fea/.
     strtextc                ,    t        | j                        S N)boolr   selfs    :/usr/lib/python3/dist-packages/ufoLib2/objects/features.py__bool__zFeatures.__bool__   s    DII    c                    | j                   S r   r   r   s    r   __str__zFeatures.__str__   s    yyr   c                P    t         j                  d| j                        | _        | S )z*Normalize CRLF and CR newlines to just LF.
)RE_NEWLINESsubr   r   s    r   normalize_newlineszFeatures.normalize_newlines"   s    OOD$))4	r   c                    ~| j                   S r   r   )r   	converters     r   _unstructurezFeatures._unstructure'   s    yyr   c                    ~ ||       S r    )dataclsr   s      r   
_structurezFeatures._structure+   s    4yr   N)returnr   )r&   r   )r&   r
   )r   r   r&   r   )r#   r   r$   zType[Features]r   r   r&   r
   )__name__
__module____qualname____doc__r   __annotations__r   r   r   r    staticmethodr%   r"   r   r   r
   r
      s=    
 D#N5
  r   r
   )
__future__r   retypingr   r   attrsr   ufoLib2.serder   cattrsr   compiler   r
   r"   r   r   <module>r4      sM    " 	 &    bjj$    r   