§
    œ"²cI  ã                   ó˜   — d Z ddlmZmZmZmZ ddlmZ dZ	 d„ Z	d„ Z
d„ Zd	„ Zd
„ Ze	e
eeegZ	  G d„ d¦  «        Z G d„ de¦  «        ZdS )z·
Stuff to translate curve segments to palette values (derived from
the corresponding code in GIMP, written by Federico Mena Quintero.
See the GIMP distribution for more information.)
é    )ÚlogÚpiÚsinÚsqrté   )Úo8g»½×Ùß|Û=c                 ó|   — || k    r| t           k     rdS d|z  | z  S || z
  }d| z
  } | t           k     rdS dd|z  | z  z   S )Ng        ç      à?ç      ð?)ÚEPSILON©ÚmiddleÚposs     ú6/usr/lib/python3/dist-packages/PIL/GimpGradientFile.pyÚlinearr      s`   € Ø
ˆf‚}€}Ø•GÒÐØ�3à˜‘9˜vÑ%Ð%à�F‰lˆØ�v‘ˆØ•GÒÐØ�3à˜˜s™ VÑ+Ñ+Ð+ó    c                 ól   — |t          d¦  «        t          t          | t          ¦  «        ¦  «        z  z  S )Nr
   )r   Úmaxr   r   s     r   Úcurvedr   .   s*   € Ø•3�s‘8”8�c¥# f­gÑ"6Ô"6Ñ7Ô7Ñ7Ñ8Ð8r   c                 óp   — t          t           dz  t          t          | |¦  «        z  z   ¦  «        dz   dz  S )Ng       @r   )r   r   r   r   s     r   Úsiner   2   s4   € Ý•"��s‘�b¥6¨&°#Ñ#6Ô#6Ñ6Ñ6Ñ7Ô7¸#Ñ=ÀÑDÐDr   c                 óN   — t          dt          | |¦  «        dz
  dz  z
  ¦  «        S ©Nr   é   ©r   r   r   s     r   Úsphere_increasingr   6   s)   € Ý�•v˜f cÑ*Ô*¨SÑ0°QÑ6Ñ6Ñ7Ô7Ð7r   c                 óN   — dt          dt          | |¦  «        dz  z
  ¦  «        z
  S r   r   r   s     r   Úsphere_decreasingr   :   s)   € Ø•�c�F 6¨3Ñ/Ô/°1Ñ4Ñ4Ñ5Ô5Ñ5Ð5r   c                   ó   — e Zd ZdZdd„ZdS )ÚGradientFileNé   c           	      óp  — g }d}| j         |         \  }}}}}}	t          |¦  «        D �]w}
|
|dz
  z  }||k     r|dz  }| j         |         \  }}}}}}	||k     °||z
  }|t          k     r |	dd¦  «        }n |	||z
  |z  ||z
  |z  ¦  «        }t          t	          d|d         |d         z
  |z  |d         z   z  dz   ¦  «        ¦  «        }t          t	          d|d         |d         z
  |z  |d         z   z  dz   ¦  «        ¦  «        }t          t	          d|d         |d         z
  |z  |d         z   z  dz   ¦  «        ¦  «        }t          t	          d|d         |d         z
  |z  |d         z   z  dz   ¦  «        ¦  «        }|                     ||z   |z   |z   ¦  «         �Œyd                     |¦  «        dfS )	Nr   r   r
   éÿ   r   é   r   ÚRGBA)ÚgradientÚranger   r   ÚintÚappendÚjoin)ÚselfÚentriesÚpaletteÚixÚx0Úx1ÚxmÚrgb0Úrgb1ÚsegmentÚiÚxÚwÚscaleÚrÚgÚbÚas                     r   Ú
getpalettezGradientFile.getpaletteF   sê  € àˆàˆØ*.¬-¸Ô*;Ñ'ˆˆB��D˜$ å�w‘”ð 	*ñ 	*ˆAà�W˜q‘[Ñ!ˆAà�q’&�&Ø�a‘�Ø26´-ÀÔ2CÑ/��B˜˜D $¨ð �q’&�&ð �R‘ˆAà•7Š{ˆ{Ø˜  SÑ)Ô)��à˜  b¡¨A¡°°B±¸!©|Ñ<Ô<�õ •3�s˜t Aœw¨¨a¬Ñ0°EÑ9¸DÀ¼GÑCÑDÀsÑJÑKÔKÑLÔLˆAÝ•3�s˜t Aœw¨¨a¬Ñ0°EÑ9¸DÀ¼GÑCÑDÀsÑJÑKÔKÑLÔLˆAÝ•3�s˜t Aœw¨¨a¬Ñ0°EÑ9¸DÀ¼GÑCÑDÀsÑJÑKÔKÑLÔLˆAÝ•3�s˜t Aœw¨¨a¬Ñ0°EÑ9¸DÀ¼GÑCÑDÀsÑJÑKÔKÑLÔLˆAð �NŠN˜1˜q™5 1™9 q™=Ñ)Ô)Ð)Ñ)à�xŠx˜Ñ Ô  &Ð(Ð(r   )r!   )Ú__name__Ú
__module__Ú__qualname__r&   r=   © r   r   r    r    B   s-   € € € € € à€Hð)ð )ð )ð )ð )ð )r   r    c                   ó   — e Zd ZdZd„ ZdS )ÚGimpGradientFilez(File handler for GIMP's gradient format.c           	      óô  — |                      ¦   «         d d…         dk    rd}t          |¦  «        ‚|                      ¦   «         }|                     d¦  «        r&|                      ¦   «                              ¦   «         }t	          |¦  «        }g }t          |¦  «        D ]Ï}|                      ¦   «                              ¦   «         }d„ |d d…         D ¦   «         }|d         |d         }
}	|d	         }|d
d…         }|dd…         }t          t	          |d         ¦  «                 }t	          |d         ¦  «        }|dk    rd}t          |¦  «        ‚| 	                    |	|
||||f¦  «         ŒÐ|| _
        d S )Né   s   GIMP Gradientznot a GIMP gradient files   Name: c                 ó,   — g | ]}t          |¦  «        ‘ŒS rA   )Úfloat)Ú.0r6   s     r   ú
<listcomp>z-GimpGradientFile.__init__.<locals>.<listcomp>~   s   € Ð*Ð*Ð*˜a•�q‘”Ð*Ð*Ð*r   é   r   r   r   r$   é   é   zcannot handle HSV colour space)ÚreadlineÚSyntaxErrorÚ
startswithÚstripr(   r'   ÚsplitÚSEGMENTSÚOSErrorr)   r&   )r+   ÚfpÚmsgÚlineÚcountr&   r5   Úsr7   r/   r0   r1   r2   r3   r4   Úcspaces                   r   Ú__init__zGimpGradientFile.__init__k   se  € à�;Š;‰=Œ=˜˜"˜ÔÐ!1Ò1Ð1Ø,ˆCÝ˜cÑ"Ô"Ð"à�{Š{‰}Œ}ˆð �?Š?˜9Ñ%Ô%ð 	)Ø—;’;‘=”=×&Ò&Ñ(Ô(ˆDå�D‘	”	ˆàˆå�u‘”ð 	?ð 	?ˆAà—’‘”×#Ò#Ñ%Ô%ˆAØ*Ð* 1 S b S¤6Ð*Ñ*Ô*ˆAà�q”T˜1˜Qœ4�ˆBØ�1”ˆBØ�Q�q�S”6ˆDØ�Q�r�T”7ˆDå�s 1 R¤5™zœzÔ*ˆGÝ˜˜2œ‘Z”ZˆFà˜Š{ˆ{Ø6�Ý˜c‘l”lÐ"à�OŠO˜R  R¨¨t°WÐ=Ñ>Ô>Ð>Ð>à ˆŒˆˆr   N)r>   r?   r@   Ú__doc__rZ   rA   r   r   rC   rC   h   s)   € € € € € Ø2Ð2ð#!ð #!ð #!ð #!ð #!r   rC   N)r[   Úmathr   r   r   r   Ú_binaryr   r   r   r   r   r   r   rR   r    rC   rA   r   r   ú<module>r^      s  ðð ð ð $Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #à Ð Ð Ð Ð Ð à
€Ø ð,ð ,ð ,ð9ð 9ð 9ðEð Eð Eð8ð 8ð 8ð6ð 6ð 6ð �F˜DÐ"3Ð5FÐG€Ø ð#)ð #)ð #)ð #)ð #)ñ #)ô #)ð #)ðL&!ð &!ð &!ð &!ð &!�|ñ &!ô &!ð &!ð &!ð &!r   