Ë
    ¦üàg:  ã                  ó°   — d Z ddlmZ ddlmZmZmZmZ ddlm	Z	m
Z
 ddlmZ dZ	 dd„Zdd	„Zdd
„Zdd„Zdd„ZeeeeegZ	  G d„ d«      Z G d„ de«      Zy)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.)
é    )Úannotations)ÚlogÚpiÚsinÚsqrt)ÚIOÚCallableé   )Úo8g»½×Ùß|Û=c                ón   — || k  r| t         k  ryd|z  | z  S || z
  }d| z
  } | t         k  rydd|z  | z  z   S )Ng        ç      à?ç      ð?)ÚEPSILON©ÚmiddleÚposs     úR/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/PIL/GimpGradientFile.pyÚlinearr       sT   € Ø
ˆf‚}Ø”GÒØà˜‘9˜vÑ%Ð%à�F‰lˆØ�v‘ˆØ”GÒØà˜˜s™ VÑ+Ñ+Ð+ó    c                óR   — |t        d«      t        t        | t        «      «      z  z  S )Nr   )r   Úmaxr   r   s     r   Úcurvedr   /   s"   € Ø”3�s“8œc¤# f¬gÓ"6Ó7Ñ7Ñ8Ð8r   c                ó\   — t        t         dz  t        t        | |«      z  z   «      dz   dz  S )Ng       @r   )r   r   r   r   s     r   Úsiner   3   s.   € Ü”"��s‘œb¤6¨&°#Ó#6Ñ6Ñ6Ó7¸#Ñ=ÀÑDÐDr   c                ó>   — t        dt        | |«      dz
  dz  z
  «      S ©Nr   é   ©r   r   r   s     r   Úsphere_increasingr   7   s#   € Ü�”v˜f cÓ*¨SÑ0°QÑ6Ñ6Ó7Ð7r   c                ó>   — 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Ð5r   c                  ó&   — e Zd ZU dZded<   ddd„Zy)ÚGradientFileNzblist[tuple[float, float, float, list[float], list[float], Callable[[float, float], float]]] | NoneÚgradientc           	     óæ  — | j                   €J ‚g }d}| j                   |   \  }}}}}}	t        |«      D �](  }
|
|dz
  z  }||k  r!|dz  }| j                   |   \  }}}}}}	||k  rŒ!||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   «      «      }|j                  ||z   |z   |z   «       �Œ+ dj                  |«      dfS )	Nr   r
   r   éÿ   r   é   r   ÚRGBA)r$   Ú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.getpaletteR   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ÓLˆAÜ”3�s˜t A™w¨¨a©Ñ0°EÑ9¸DÀ¹GÑCÑDÀsÑJÓKÓLˆAÜ”3�s˜t A™w¨¨a©Ñ0°EÑ9¸DÀ¹GÑCÑDÀsÑJÓKÓLˆAÜ”3�s˜t A™w¨¨a©Ñ0°EÑ9¸DÀ¹GÑCÑDÀsÑJÓKÓLˆAð �N‰N˜1˜q™5 1™9 q™=Ö)ð+	*ð. �x‰x˜Ó  &Ð(Ð(r   )é   )r.   r*   Úreturnztuple[bytes, str])Ú__name__Ú
__module__Ú__qualname__r$   Ú__annotations__r?   © r   r   r#   r#   C   s   … ð 	ð ð
	óõ)r   r#   c                  ó   — e Zd ZdZdd„Zy)ÚGimpGradientFilez(File handler for GIMP's gradient format.c           	     óf  — |j                  «       d d dk7  rd}t        |«      ‚|j                  «       }|j                  d«      r|j                  «       j                  «       }t	        |«      }g | _        t        |«      D ]ª  }|j                  «       j                  «       }|d d D �cg c]  }t        |«      ‘Œ }}|d   |d   }
}	|d   }|d	d
 }|d
d }t        t	        |d   «         }t	        |d   «      }|dk7  rd}t        |«      ‚| j
                  j                  |	|
||||f«       Œ¬ y c c}w )Né   s   GIMP Gradientznot a GIMP gradient files   Name: é   r   r   r
   r'   é   é   zcannot handle HSV colour space)ÚreadlineÚSyntaxErrorÚ
startswithÚstripr*   r$   r)   ÚsplitÚfloatÚSEGMENTSÚOSErrorr+   )r-   ÚfpÚmsgÚlineÚcountr7   Úsr8   r9   r1   r2   r3   r4   r5   r6   Úcspaces                   r   Ú__init__zGimpGradientFile.__init__v   s2  € Ø�;‰;‹=˜˜"ÐÐ!1Ò1Ø,ˆCÜ˜cÓ"Ð"à�{‰{‹}ˆð �?‰?˜9Ô%Ø—;‘;“=×&Ñ&Ó(ˆDä�D“	ˆàˆŒä�u“ò 	DˆAØ—‘“×#Ñ#Ó%ˆAØ#$ S b 6Ö*˜a”�q•Ð*ˆAÐ*à�q‘T˜1˜Q™4�ˆBØ�1‘ˆBØ�Q�q�6ˆDØ�Q�r�7ˆDäœs 1 R¡5›zÑ*ˆGÜ˜˜2™“ZˆFà˜Š{Ø6�Ü˜c“lÐ"à�M‰M× Ñ  " b¨"¨d°D¸'Ð!BÕCñ!	Dùâ*s   Â(D.N)rV   z	IO[bytes]rA   ÚNone)rB   rC   rD   Ú__doc__r\   rF   r   r   rH   rH   s   s   „ Ù2ôDr   rH   N)r   rS   r   rS   rA   rS   )r^   Ú
__future__r   Úmathr   r   r   r   Útypingr   r	   Ú_binaryr   r   r   r   r   r   r!   rT   r#   rH   rF   r   r   ú<module>rc      sm   ðñ õ
 #ç #Ó #ß å à
€Ø ó,ó9óEó8ó6ð �F˜DÐ"3Ð5FÐG€Ø ÷-)ñ -)ô`"D�|õ "Dr   