
                         0    S SK Jr  SSKJrJr  SrS rS rg)    )unicode_literals   )DEFAULT_ATTRSAttrs)split_token_in_partsmerge_attrsc                     / n/ nU S-    HA  nUS:X  a'  U(       a  UR                  [        U5      5        / nM.  M0  UR                  U5        MC     U$ )ze
Take a Token, and turn it in a list of tokens, by splitting
it on ':' (taking that as a separator.)
):r
   )appendtuple)tokenresultcurrentparts       .lib/third_party/prompt_toolkit/styles/utils.pyr   r   
   sU    
 FG3;eGn-  NN4    M    c                    [         nU  H  n[        UR                  =(       d    UR                  UR                  =(       d    UR                  UR                  =(       d    UR                  UR
                  =(       d    UR
                  UR                  =(       d    UR                  UR                  =(       d    UR                  UR                  =(       d    UR                  S9nM     U$ )z
Take a list of :class:`.Attrs` instances and merge them into one.
Every `Attr` in the list can override the styling of the previous one.
)colorbgcolorbold	underlineitalicblinkreverse)	r   r   r   r   r   r   r   r   r   )list_of_attrsr   attrs      r   r   r      s    
 F**,LL2FNN)fkknn8(8(8;;/&--**,LL2FNN4  Mr   N)
__future__r   baser   r   __all__r   r    r   r   <module>r!      s    ' &$r   