Ë
    ¤eh*f  ã                  óÌ  — d dl mZ d dlmZ d dlmZmZ d dlZd dl	m
Z
mZ d dlmZ d dlmZmZ d dlmZmZ d dlmZmZ erd dl	mZ 	 	 	 	 	 	 dd	„Z	 	 	 	 	 	 dd
„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 dd„Z 	 	 	 	 	 	 dd„Z!	 	 	 	 	 	 d d„Z"	 	 	 	 	 	 d!d„Z#	 	 	 	 	 	 d"d„Z$	 	 	 	 	 	 d#d„Z%	 	 	 	 	 	 	 	 d$d„Z&	 	 	 	 	 	 	 	 d%d„Z'	 	 	 	 	 	 	 	 d&d„Z(y)'é    )Úannotations)Úpairwise)ÚTYPE_CHECKINGÚcastN)ÚFillTypeÚLineType)Úas_fill_typeÚas_line_type)Úcheck_filledÚcheck_lines)ÚMOVETOÚoffset_dtypec                ó  — |t         j                  k(  r| S |t         j                  k(  r+| d   | d   D �cg c]  }t        j                  |«      ‘Œ c}fS t        | d   «      dkD  r1t        j                  | d   «      }t        j                  | d   «      }nd }d }|t         j                  k(  r|g|gfS |t         j                  k(  r|g|€d gfS t        j                  |«      gfS |t         j                  k(  r&|€d nt        j                  | d   «      }|g|g|gf}|S |t         j                  k(  rC|€
d gd gd gf}|S t        j                  |«      }t        j                  | d   «      }|g|g|gf}|S t        d|› �«      ‚c c}w )Nr   é   úInvalid FillType )r   Ú	OuterCodeÚOuterOffsetÚarrÚoffsets_from_codesÚlenÚconcat_pointsÚconcat_codesÚChunkCombinedCodeÚChunkCombinedOffsetÚChunkCombinedCodeOffsetÚoffsets_from_lengthsÚChunkCombinedOffsetOffsetÚ outer_offsets_from_list_of_codesÚ
ValueError)ÚfilledÚfill_type_toÚcodesÚpointsÚouter_offsetsÚret1Úret2Úoffsetss           úO/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/contourpy/convert.pyÚ_convert_filled_from_OuterCoder)      s§  € ð ”x×)Ñ)Ò)ØˆØ	œ×-Ñ-Ò	-Ø�q‘	ÀvÈaÁyÖQ¸eœC×2Ñ2°5Õ9ÒQÐRÐRä
ˆ6�!‰9ƒ~˜ÒÜ×"Ñ" 6¨!¡9Ó-ˆÜ× Ñ  ¨¡Ó+‰àˆØˆà”x×1Ñ1Ò1Ø�˜5˜'Ð"Ð"Ø	œ×5Ñ5Ò	5Ø� 5 =˜4ÐTÐUÐU´c×6LÑ6LÈUÓ6SÐTÐUÐUØ	œ×9Ñ9Ò	9Ø & ™´C×4LÑ4LÈVÐTUÉYÓ4WˆØ9?¸À5À'ÈMÈ?Ð7[ˆØˆØ	œ×;Ñ;Ò	;Øˆ=Ø?C¸fÀtÀfÈtÈfÐ=UˆDð
 ˆô ×,Ñ,¨UÓ3ˆGÜ×@Ñ@ÀÈÁÓKˆMØ�H˜w˜i¨-¨Ð9ˆDØˆäÐ,¨\¨NÐ;Ó<Ð<ùò5 Rs   ´Fc                ó   — |t         j                  k(  r,| d   D �cg c]  }t        j                  |«      ‘Œ }}| d   |fS |t         j                  k(  r| S t        | d   «      dkD  r1t        j                  | d   «      }t        j                  | d   «      }nd }d }|t         j                  k(  r|g|€d gfS t        j                  |«      gfS |t         j                  k(  r|g|gfS |t         j                  k(  rC|€
d gd gd gf}|S t        j                  |«      }t        j                  | d   «      }|g|g|gf}|S |t         j                  k(  r.|€
d gd gd gf}|S t        j                  | d   «      }|g|g|gf}|S t        d|› �«      ‚c c}w )Nr   r   r   )r   r   r   Úcodes_from_offsetsr   r   r   Úconcat_offsetsr   r   r   r   r   Ú"outer_offsets_from_list_of_offsetsr   )	r    r!   r'   Úseparate_codesr#   r%   r"   r$   r&   s	            r(   Ú _convert_filled_from_OuterOffsetr/   6   sÊ  € ð ”x×)Ñ)Ò)ØIOÐPQÉÖS¸gœ#×0Ñ0°Õ9ÐSˆÐSØ�q‘	˜>Ð*Ð*Ø	œ×-Ñ-Ò	-Øˆä
ˆ6�!‰9ƒ~˜ÒÜ×"Ñ" 6¨!¡9Ó-ˆÜ×$Ñ$ V¨A¡YÓ/‰àˆØˆà”x×1Ñ1Ò1Ø� 7 ?˜4ÐXÐYÐY¼×8NÑ8NÈwÓ8WÐXÐYÐYØ	œ×5Ñ5Ò	5Ø�˜7˜)Ð$Ð$Ø	œ×9Ñ9Ò	9Øˆ?Ø=A¸FÀTÀFÈTÈFÐ;SˆDð
 ˆô ×*Ñ*¨7Ó3ˆEÜ×4Ñ4°V¸A±YÓ?ˆMØ�H˜u˜g¨ Ð7ˆDØˆØ	œ×;Ñ;Ò	;Øˆ>Ø?C¸fÀtÀfÈtÈfÐ=UˆDð ˆô  ×BÑBÀ6È!Á9ÓMˆMØ�H˜w˜i¨-¨Ð9ˆDØˆäÐ,¨\¨NÐ;Ó<Ð<ùòA Ts   ›Fc                óþ   — |t         j                  k(  r| S |t         j                  k(  r1| d   D �cg c]  }|€d nt        j                  |«      ‘Œ c}}| d   |fS t        dt         j                  › d|› d�«      ‚c c}w )Nr   r   úConversion from ú to ú not supported)r   r   r   r   r   r   )r    r!   r"   s      r(   Ú&_convert_filled_from_ChunkCombinedCoder4   ^   sŒ   € ð ”x×1Ñ1Ò1ØˆØ	œ×5Ñ5Ò	5ØW]Ð^_ÑW`ÖaÈe˜˜‘¬C×,BÑ,BÀ5Ó,IÑIÒaˆØ�q‘	˜5Ð!Ð!äØœx×9Ñ9Ð:¸$¸|¸nÈNÐ[ó]ð 	]ùò bs   ° A:c                óJ  — |t         j                  k(  r\g }t        | Ž D ]H  \  }}|€|j                  d «       Œt        r|€J ‚|j                  t        j                  ||«      «       ŒJ | d   |fS |t         j                  k(  r| S t        dt         j                  › d|› d�«      ‚)Nr   r1   r2   r3   )	r   r   ÚzipÚappendr   r   Úcodes_from_offsets_and_pointsr   r   )r    r!   Úchunk_codesr#   r'   s        r(   Ú(_convert_filled_from_ChunkCombinedOffsetr:   l   s¹   € ð ”x×1Ñ1Ò1Ø24ˆÜ" F˜|ò 	W‰OˆF�GØˆ~Ø×"Ñ" 4Õ(å Ø"Ð.Ð.Ð.Ø×"Ñ"¤3×#DÑ#DÀWÈfÓ#UÕVð	Wð �q‘	˜;Ð'Ð'Ø	œ×5Ñ5Ò	5ØˆäØœx×;Ñ;Ð<¸DÀÀÈnÐ]ó_ð 	_ó    c           
     óî  — |t         j                  k(  r\g }g }t        | Ž D ]I  \  }}}|€Œ
t        r|€J ‚|€J ‚|t	        j
                  ||«      z  }|t	        j                  ||«      z  }ŒK ||fS |t         j                  k(  rg }g }t        | Ž D ]l  \  }}}|€Œ
t        r|€J ‚|€J ‚|t	        j
                  ||«      z  }t	        j                  ||«      }||D �cg c]  }t	        j                  |«      ‘Œ c}z  }Œn ||fS |t         j                  k(  r| d   | d   f}|S |t         j                  k(  r2| d   D �cg c]  }|€d nt	        j                  |«      ‘Œ }	}| d   |	f}
|
S |t         j                  k(  r| S |t         j                  k(  rÌg }g }t        | dd  Ž D ]°  \  }}|€#|j                  d «       |j                  d «       Œ+t        r|€J ‚t	        j                  |«      }t        j                  |D �cg c]   }t        j                   ||k(  «      d   d   ‘Œ" c}t"        ¬«      }|j                  |«       |j                  |«       Œ² | d   ||f}|S t%        d|› �«      ‚c c}w c c}w c c}w )Nr   r   )Údtyper   )r   r   r6   r   r   Úsplit_points_by_offsetsÚsplit_codes_by_offsetsr   r   r   r   r   r   r7   ÚnpÚarrayÚnonzeror   r   )r    r!   Úseparate_pointsr.   r#   r"   r$   Úseparate_offsetsr%   Úall_offsetsr&   Úchunk_offsetsÚchunk_outer_offsetsr'   ÚooÚret3s                   r(   Ú,_convert_filled_from_ChunkCombinedCodeOffsetrJ   �   sÜ  € ð ”x×)Ñ)Ò)ØˆØˆÜ,/°¨Lò 	SÑ(ˆF�E˜=ØÑ!Ý Ø Ð,Ð,Ð,Ø(Ð4Ð4Ð4Ø¤3×#>Ñ#>¸vÀ}Ó#UÑU�Ø¤#×"<Ñ"<¸UÀMÓ"RÑR‘ð	Sð   Ð0Ð0Ø	œ×-Ñ-Ò	-ØˆØÐÜ,/°¨Lò 	`Ñ(ˆF�E˜=ØÑ!Ý Ø Ð,Ð,Ð,Ø(Ð4Ð4Ð4Ø¤3×#>Ñ#>¸vÀ}Ó#UÑU�Ü!$×!;Ñ!;¸EÀ=Ó!Q�Ø ÐP^Ö$_Àu¤S×%;Ñ%;¸EÕ%BÒ$_Ñ_Ñ ð	`ð  Ð!1Ð2Ð2Ø	œ×3Ñ3Ò	3Ø28¸±)¸VÀA¹YÐ1GˆØˆØ	œ×5Ñ5Ò	5à$*¨1¡Iö/Ø ð  %˜}‘t´#×2HÑ2HÈÓ2OÑOð /ˆð /à4:¸1±I¸{Ð3KˆØˆØ	œ×9Ñ9Ò	9ØˆØ	œ×;Ñ;Ò	;Ø68ˆØ<>ÐÜ$'¨°°¨Ð$4ò 	:Ñ ˆE�=Øˆ}Ø×$Ñ$ TÔ*Ø#×*Ñ*¨4Õ0å Ø(Ð4Ð4Ð4Ü×0Ñ0°Ó7�Ü "§¡ÐTaÖ)bÈb¬"¯*©*°WÀ±]Ó*CÀAÑ*FÀqÓ*IÒ)bÜ/;ô!=�à×$Ñ$ WÔ-Ø#×*Ñ*¨=Õ9ð	:ð �1‰I�}Ð&9ð:
ˆð ˆäÐ,¨\¨NÐ;Ó<Ð<ùòA %`ùò/ùò" *cs   ÃI(Ä; I-Ç:%I2
c           
     ó  — |t         j                  k(  rwg }g }t        | Ž D ]d  \  }}}|€Œ
t        r|€J ‚|€J ‚t	        j
                  ||«      }||   }|t	        j                  ||«      z  }|t	        j                  ||«      z  }Œf ||fS |t         j                  k(  r“g }g }t        | Ž D ]€  \  }}}|€Œ
t        r|€J ‚|€J ‚t        |«      dkD  r.|t        |«      D �	�
cg c]  \  }	}
||	|
dz    ||	   z
  ‘Œ c}
}	z  }n|j                  |«       |t	        j                  |||   «      z  }Œ‚ ||fS |t         j                  k(  rcg }t        | Ž D ]M  \  }}}|€|j                  d «       Œt        r|€J ‚|€J ‚|j                  t	        j
                  ||«      «       ŒO | d   |f}|S |t         j                  k(  r
| d   | d   fS |t         j                  k(  r‹g }g }t        | Ž D ]r  \  }}}|€#|j                  d «       |j                  d «       Œ,t        r|€J ‚|€J ‚|j                  t	        j
                  ||«      «       |j                  ||   «       Œt | d   ||f}|S |t         j                  k(  r| S t!        d|› �«      ‚c c}
}	w )Né   r   r   r   )r   r   r6   r   r   r8   r>   r?   r   r   r   r7   r   r   r   r   r   )r    r!   rC   r.   r#   r'   r$   r"   rD   ÚsÚer9   r%   rG   r&   s                  r(   Ú._convert_filled_from_ChunkCombinedOffsetOffsetrO   ½   s  € ð ”x×)Ñ)Ò)ØˆØˆÜ.1°6¨lò 	SÑ*ˆF�G˜]ØÑ!Ý Ø"Ð.Ð.Ð.Ø(Ð4Ð4Ð4Ü×9Ñ9¸'À6ÓJ�Ø '¨Ñ 6�Ø¤3×#>Ñ#>¸vÀ}Ó#UÑU�Ø¤#×"<Ñ"<¸UÀMÓ"RÑR‘ð	Sð   Ð0Ð0Ø	œ×-Ñ-Ò	-ØˆØÐÜ.1°6¨lò 
	_Ñ*ˆF�G˜]ØÑ!Ý Ø"Ð.Ð.Ð.Ø(Ð4Ð4Ð4Ü�}Ó%¨Ò)Ø$Ü)1°-Ó)@÷)BÉÈÈA¨°°1°Q±3¨¸'À!¹*Ó)Dó )Bñ BÑ$ð %×+Ñ+¨GÔ4Ø¤3×#>Ñ#>¸vÀwÈ}ÑG]Ó#^Ñ^‘ð
	_ð  Ð!1Ð2Ð2Ø	œ×3Ñ3Ò	3Ø24ˆÜ.1°6¨lò 	WÑ*ˆF�G˜]Øˆ~Ø×"Ñ" 4Õ(å Ø"Ð.Ð.Ð.Ø(Ð4Ð4Ð4Ø×"Ñ"¤3×#DÑ#DÀWÈfÓ#UÕVð	Wð 39¸±)¸[Ð1IˆØˆØ	œ×5Ñ5Ò	5Ø�q‘	˜6 !™9Ð%Ð%Ø	œ×9Ñ9Ò	9ØˆØ<>ÐÜ.1°6¨lò 		CÑ*ˆF�G˜]Øˆ~Ø×"Ñ" 4Ô(Ø#×*Ñ*¨4Õ0å Ø"Ð.Ð.Ð.Ø(Ð4Ð4Ð4Ø×"Ñ"¤3×#DÑ#DÀWÈfÓ#UÔVØ#×*Ñ*¨7°=Ñ+AÕBð		Cð 9?¸q¹	À;ÐPcÐ7dˆØˆØ	œ×;Ñ;Ò	;ØˆäÐ,¨\¨NÐ;Ó<Ð<ùóM)Bs   ÃJ
c                óV  — t        |«      }t        |«      }t        | |«       |t        j                  k(  r,t        rt        t        j                  | «      } t        | |«      S |t        j                  k(  r,t        rt        t        j                  | «      } t        | |«      S |t        j                  k(  r,t        rt        t        j                  | «      } t        | |«      S |t        j                  k(  r,t        rt        t        j                   | «      } t#        | |«      S |t        j$                  k(  r,t        rt        t        j&                  | «      } t)        | |«      S |t        j*                  k(  r,t        rt        t        j,                  | «      } t/        | |«      S t1        d|› �«      ‚)a÷  Convert filled contours from one :class:`~.FillType` to another.

    Args:
        filled (sequence of arrays): Filled contour polygons to convert, such as those returned by
            :meth:`.ContourGenerator.filled`.
        fill_type_from (FillType or str): :class:`~.FillType` to convert from as enum or
            string equivalent.
        fill_type_to (FillType or str): :class:`~.FillType` to convert to as enum or string
            equivalent.

    Return:
        Converted filled contour polygons.

    When converting non-chunked fill types (``FillType.OuterCode`` or ``FillType.OuterOffset``) to
    chunked ones, all polygons are placed in the first chunk. When converting in the other
    direction, all chunk information is discarded. Converting a fill type that is not aware of the
    relationship between outer boundaries and contained holes (``FillType.ChunkCombinedCode`` or
    ``FillType.ChunkCombinedOffset``) to one that is will raise a ``ValueError``.

    .. versionadded:: 1.2.0
    r   )r	   r   r   r   r   r   ÚcpyÚFillReturn_OuterCoder)   r   ÚFillReturn_OuterOffsetr/   r   ÚFillReturn_ChunkCombinedCoder4   r   ÚFillReturn_ChunkCombinedOffsetr:   r   Ú"FillReturn_ChunkCombinedCodeOffsetrJ   r   Ú$FillReturn_ChunkCombinedOffsetOffsetrO   r   )r    Úfill_type_fromr!   s      r(   Úconvert_filledrY      sV  € ô4 " .Ó1€NÜ Ó-€Lä�˜Ô(àœ×+Ñ+Ò+ÝÜœ#×2Ñ2°FÓ;ˆFÜ-¨f°lÓCÐCØ	œ8×/Ñ/Ò	/ÝÜœ#×4Ñ4°fÓ=ˆFÜ/°¸ÓEÐEØ	œ8×5Ñ5Ò	5ÝÜœ#×:Ñ:¸FÓCˆFÜ5°f¸lÓKÐKØ	œ8×7Ñ7Ò	7ÝÜœ#×<Ñ<¸fÓEˆFÜ7¸ÀÓMÐMØ	œ8×;Ñ;Ò	;ÝÜœ#×@Ñ@À&ÓIˆFÜ;¸FÀLÓQÐQØ	œ8×=Ñ=Ò	=ÝÜœ#×BÑBÀFÓKˆFÜ=¸fÀlÓSÐSäÐ,¨^Ð,<Ð=Ó>Ð>r;   c                óŒ  — |t         j                  k(  r| S |t         j                  k(  r&| D �cg c]  }t        j                  |«      ‘Œ }}| |fS |t         j
                  k(  rR| sd gd gf}|S t        j                  | «      }t        j                  | «      }t        j                  ||«      }|g|gf}|S |t         j                  k(  r8| sd gd gf}|S t        j                  | «      gt        j                  | «      gf}|S |t         j                  k(  r!| sd gf}	|	S t        j                  | «      gf}	|	S t        d|› �«      ‚c c}w )NúInvalid LineType )r   ÚSeparateÚSeparateCoder   Úcodes_from_pointsr   r   r   r8   r   ÚChunkCombinedNanÚconcat_points_with_nanr   )
ÚlinesÚline_type_toÚliner.   r%   r#   r'   r"   r&   rI   s
             r(   Ú_convert_lines_from_Separaterd   ;  se  € ð ”x×(Ñ(Ò(ØˆØ	œ×.Ñ.Ò	.ØBGÖH¸$œ#×/Ñ/°Õ5ÐHˆÐHØ�~Ð&Ð&Ø	œ×3Ñ3Ò	3ÙØ7;°f¸t¸fÐ5EˆDð ˆô	 ×&Ñ& uÓ-ˆFÜ×.Ñ.¨uÓ5ˆGÜ×5Ñ5°g¸vÓFˆEØ�H˜u˜gÐ&ˆDØˆØ	œ×5Ñ5Ò	5ÙØ9=¸ÀÀÐ7GˆDð ˆô ×&Ñ& uÓ-Ð.´×1IÑ1IÈ%Ó1PÐ0QÐRˆDØˆØ	œ×2Ñ2Ò	2ÙØ6:°V°IˆDð ˆô ×/Ñ/°Ó6Ð7Ð9ˆDØˆäÐ,¨\¨NÐ;Ó<Ð<ùò1 Is   ­Ec                ó<  — |t         j                  k(  r| d   S |t         j                  k(  r| S |t         j                  k(  rA| d   sd gd gf}|S t	        j
                  | d   «      gt	        j                  | d   «      gf}|S |t         j                  k(  rA| d   sd gd gf}|S t	        j
                  | d   «      gt	        j                  | d   «      gf}|S |t         j                  k(  r'| d   sd gf}|S t	        j                  | d   «      gf}|S t        d|› �«      ‚©Nr   r   r[   )r   r\   r]   r   r   r   r   r   r   r_   r`   r   )ra   rb   r%   r&   rI   s        r(   Ú _convert_lines_from_SeparateCoderg   ]  sF  € ð ”x×(Ñ(Ò(à�Q‰xˆØ	œ×.Ñ.Ò	.ØˆØ	œ×3Ñ3Ò	3Ø�QŠxØ7;°f¸t¸fÐ5EˆDð ˆô ×&Ñ& u¨Q¡xÓ0Ð1´C×4DÑ4DÀUÈ1ÁXÓ4NÐ3OÐPˆDØˆØ	œ×5Ñ5Ò	5Ø�QŠxØ9=¸ÀÀÐ7GˆDð ˆô ×&Ñ& u¨Q¡xÓ0Ð1´C×4LÑ4LÈUÐSTÉXÓ4VÐ3WÐXˆDØˆØ	œ×2Ñ2Ò	2Ø�QŠxØ6:°V°IˆDð ˆô ×/Ñ/°°a±Ó9Ð:Ð<ˆDØˆäÐ,¨\¨NÐ;Ó<Ð<r;   c                ó�  — |t         j                  t         j                  fv rµg }t        | Ž D ]m  \  }}|€Œ	t        r|€J ‚t        j                  |t        k(  «      d   }t        |«      dkD  r|t        j                  ||dd  «      z  }Œ]|j                  |«       Œo |t         j                  k(  r|S |D �cg c]  }t        j                  |«      ‘Œ }}||fS |t         j                  k(  r| S |t         j                  k(  r0| d   D �cg c]  }|€d nt        j                  |«      ‘Œ }}| d   |fS |t         j                   k(  rmg }	t        | Ž D ]]  \  }}|€|	j                  d «       Œt        r|€J ‚t        j                  |«      }
|	j                  t        j"                  ||
«      «       Œ_ |	fS t%        d|› �«      ‚c c}w c c}w rf   )r   r\   r]   r6   r   r@   rB   r   r   Úsplitr7   r   r^   r   r   r   r_   Úinsert_nan_at_offsetsr   )ra   rb   Úseparate_linesr#   r"   Úsplit_atrc   r.   rF   Ú
points_nanr'   s              r(   Ú%_convert_lines_from_ChunkCombinedCodern   |  sß  € ð œ×)Ñ)¬8×+@Ñ+@ÐAÑAØˆÜ  %˜[ò 	2‰MˆF�EØÑ!Ý Ø Ð,Ð,Ð,ÜŸ:™: e¬v¡oÓ6°qÑ9�Ü�x“= 1Ò$Ø"¤b§h¡h¨v°xÀÀ°|Ó&DÑD‘Nà"×)Ñ)¨&Õ1ð	2ð œ8×,Ñ,Ò,Ø!Ð!àFTÖU¸dœc×3Ñ3°DÕ9ÐUˆNÐUØ" NÐ3Ð3Ø	œ×3Ñ3Ò	3ØˆØ	œ×5Ñ5Ò	5à&+¨A¡hö0Ø"ð "' ™´C×4JÑ4JÈ5Ó4QÑQð 0ˆð 0à�a‘˜-Ð(Ð(Ø	œ×2Ñ2Ò	2Ø24ˆ
Ü  %˜[ò 	N‰MˆF�EØˆ~Ø×!Ñ! $Õ'å Ø Ð,Ð,Ð,Ü×0Ñ0°Ó7�Ø×!Ñ!¤#×";Ñ";¸FÀGÓ"LÕMð	Nð ˆ}ÐäÐ,¨\¨NÐ;Ó<Ð<ùò) Vùò
0s   Â6F>Ä Gc                ó0  — |t         j                  t         j                  fv rsg }t        | Ž D ]+  \  }}|€Œ	t        r|€J ‚|t        j                  ||«      z  }Œ- |t         j                  k(  r|S |D �cg c]  }t        j                  |«      ‘Œ }}||fS |t         j                  k(  r\g }t        | Ž D ]H  \  }}|€|j                  d «       Œt        r|€J ‚|j                  t        j                  ||«      «       ŒJ | d   |fS |t         j                  k(  r| S |t         j                  k(  rXg }t        | Ž D ]H  \  }}|€|j                  d «       Œt        r|€J ‚|j                  t        j                  ||«      «       ŒJ |fS t        d|› �«      ‚c c}w ©Nr   r[   )r   r\   r]   r6   r   r   r>   r^   r   r7   r8   r   r_   rj   r   )	ra   rb   rk   r#   r'   rc   r.   r9   rm   s	            r(   Ú'_convert_lines_from_ChunkCombinedOffsetrq   ¥  s¿  € ð œ×)Ñ)¬8×+@Ñ+@ÐAÑAØˆÜ" E˜{ò 	O‰OˆF�GØÑ!Ý Ø"Ð.Ð.Ð.Ø¤#×"=Ñ"=¸fÀgÓ"NÑN‘ð		Oð
 œ8×,Ñ,Ò,Ø!Ð!àFTÖU¸dœc×3Ñ3°DÕ9ÐUˆNÐUØ" NÐ3Ð3Ø	œ×3Ñ3Ò	3Ø24ˆÜ" E˜{ò 	W‰OˆF�GØˆ~Ø×"Ñ" 4Õ(å Ø"Ð.Ð.Ð.Ø×"Ñ"¤3×#DÑ#DÀWÈfÓ#UÕVð	Wð �a‘˜+Ð&Ð&Ø	œ×5Ñ5Ò	5ØˆØ	œ×2Ñ2Ò	2Ø24ˆ
Ü" E˜{ò 	N‰OˆF�GØˆ~Ø×!Ñ! $Õ'å Ø"Ð.Ð.Ð.Ø×!Ñ!¤#×";Ñ";¸FÀGÓ"LÕMð	Nð ˆ}ÐäÐ,¨\¨NÐ;Ó<Ð<ùò3 Vs   Á4Fc                ó’  — |t         j                  t         j                  fv rbg }| d   D ]  }|€Œ|t        j                  |«      z  }Œ |t         j                  k(  r|S |D �cg c]  }t        j
                  |«      ‘Œ }}||fS |t         j                  k(  r…g }g }| d   D ]u  }|€#|j                  d «       |j                  d «       Œ(t        j                  |«      \  }}|j                  |«       |j                  t        j                  ||«      «       Œw ||fS |t         j                  k(  rqg }g }| d   D ]a  }|€#|j                  d «       |j                  d «       Œ(t        j                  |«      \  }}|j                  |«       |j                  |«       Œc ||fS |t         j                  k(  r| S t        d|› �«      ‚c c}w rp   )r   r\   r]   r   Úsplit_points_at_nanr^   r   r7   Ú
remove_nanr8   r   r_   r   )	ra   rb   rk   r#   r.   Úchunk_pointsr9   r'   rF   s	            r(   Ú$_convert_lines_from_ChunkCombinedNanrv   Ï  sÚ  € ð œ×)Ñ)¬8×+@Ñ+@ÐAÑAØˆØ˜A‘hò 	BˆFØÑ!Ø¤#×"9Ñ"9¸&Ó"AÑA‘ð	Bð œ8×,Ñ,Ò,Ø!Ð!àJXÖYÀœc×3Ñ3°FÕ;ÐYˆNÐYØ" NÐ3Ð3Ø	œ×3Ñ3Ò	3Ø46ˆØ24ˆØ˜A‘hò 	WˆFØˆ~Ø×#Ñ# DÔ)Ø×"Ñ" 4Õ(ä"%§.¡.°Ó"8‘�˜Ø×#Ñ# FÔ+Ø×"Ñ"¤3×#DÑ#DÀWÈfÓ#UÕVð	Wð ˜kÐ*Ð*Ø	œ×5Ñ5Ò	5ØˆØ68ˆØ˜A‘hò 	.ˆFØˆ~Ø×#Ñ# DÔ)Ø×$Ñ$ TÕ*ä"%§.¡.°Ó"8‘�˜Ø×#Ñ# FÔ+Ø×$Ñ$ WÕ-ð	.ð ˜mÐ,Ð,Ø	œ×2Ñ2Ò	2ØˆäÐ,¨\¨NÐ;Ó<Ð<ùò; Zs   Á#Gc                óØ  — t        |«      }t        |«      }t        | |«       |t        j                  k(  r,t        rt        t        j                  | «      } t        | |«      S |t        j                  k(  r,t        rt        t        j                  | «      } t        | |«      S |t        j                  k(  r,t        rt        t        j                  | «      } t        | |«      S |t        j                  k(  r,t        rt        t        j                   | «      } t#        | |«      S |t        j$                  k(  r,t        rt        t        j&                  | «      } t)        | |«      S t+        d|› �«      ‚)aa  Convert contour lines from one :class:`~.LineType` to another.

    Args:
        lines (sequence of arrays): Contour lines to convert, such as those returned by
            :meth:`.ContourGenerator.lines`.
        line_type_from (LineType or str): :class:`~.LineType` to convert from as enum or
            string equivalent.
        line_type_to (LineType or str): :class:`~.LineType` to convert to as enum or string
            equivalent.

    Return:
        Converted contour lines.

    When converting non-chunked line types (``LineType.Separate`` or ``LineType.SeparateCode``) to
    chunked ones (``LineType.ChunkCombinedCode``, ``LineType.ChunkCombinedOffset`` or
    ``LineType.ChunkCombinedNan``), all lines are placed in the first chunk. When converting in the
    other direction, all chunk information is discarded.

    .. versionadded:: 1.2.0
    r[   )r
   r   r   r\   r   r   rQ   ÚLineReturn_Separaterd   r]   ÚLineReturn_SeparateCoderg   r   ÚLineReturn_ChunkCombinedCodern   r   ÚLineReturn_ChunkCombinedOffsetrq   r_   ÚLineReturn_ChunkCombinedNanrv   r   )ra   Úline_type_fromrb   s      r(   Úconvert_linesr~   û  s&  € ô2 " .Ó1€NÜ Ó-€Lä��~Ô&àœ×*Ñ*Ò*ÝÜœ×0Ñ0°%Ó8ˆEÜ+¨E°<Ó@Ð@Ø	œ8×0Ñ0Ò	0ÝÜœ×4Ñ4°eÓ<ˆEÜ/°°|ÓDÐDØ	œ8×5Ñ5Ò	5ÝÜœ×9Ñ9¸5ÓAˆEÜ4°U¸LÓIÐIØ	œ8×7Ñ7Ò	7ÝÜœ×;Ñ;¸UÓCˆEÜ6°u¸lÓKÐKØ	œ8×4Ñ4Ò	4ÝÜœ×8Ñ8¸%Ó@ˆEÜ3°E¸<ÓHÐHäÐ,¨^Ð,<Ð=Ó>Ð>r;   c                ón   — t        |«      }t        |«      }| D �cg c]  }t        |||«      ‘Œ c}S c c}w )a   Convert multiple sets of filled contours from one :class:`~.FillType` to another.

    Args:
        multi_filled (nested sequence of arrays): Filled contour polygons to convert, such as those
            returned by :meth:`.ContourGenerator.multi_filled`.
        fill_type_from (FillType or str): :class:`~.FillType` to convert from as enum or
            string equivalent.
        fill_type_to (FillType or str): :class:`~.FillType` to convert to as enum or string
            equivalent.

    Return:
        Converted sets filled contour polygons.

    When converting non-chunked fill types (``FillType.OuterCode`` or ``FillType.OuterOffset``) to
    chunked ones, all polygons are placed in the first chunk. When converting in the other
    direction, all chunk information is discarded. Converting a fill type that is not aware of the
    relationship between outer boundaries and contained holes (``FillType.ChunkCombinedCode`` or
    ``FillType.ChunkCombinedOffset``) to one that is will raise a ``ValueError``.

    .. versionadded:: 1.3.0
    )r	   rY   )Úmulti_filledrX   r!   r    s       r(   Úconvert_multi_filledr�   1  s5   € ô4 " .Ó1€NÜ Ó-€LàO[Ö\ÀVŒN˜6 >°<Õ@Ò\Ð\ùÒ\ó   ›2c                ón   — t        |«      }t        |«      }| D �cg c]  }t        |||«      ‘Œ c}S c c}w )aŒ  Convert multiple sets of contour lines from one :class:`~.LineType` to another.

    Args:
        multi_lines (nested sequence of arrays): Contour lines to convert, such as those returned by
            :meth:`.ContourGenerator.multi_lines`.
        line_type_from (LineType or str): :class:`~.LineType` to convert from as enum or
            string equivalent.
        line_type_to (LineType or str): :class:`~.LineType` to convert to as enum or string
            equivalent.

    Return:
        Converted set of contour lines.

    When converting non-chunked line types (``LineType.Separate`` or ``LineType.SeparateCode``) to
    chunked ones (``LineType.ChunkCombinedCode``, ``LineType.ChunkCombinedOffset`` or
    ``LineType.ChunkCombinedNan``), all lines are placed in the first chunk. When converting in the
    other direction, all chunk information is discarded.

    .. versionadded:: 1.3.0
    )r
   r~   )Úmulti_linesr}   rb   ra   s       r(   Úconvert_multi_linesr…   Q  s5   € ô2 " .Ó1€NÜ Ó-€LàLWÖXÀ5ŒM˜% °Õ>ÒXÐXùÒXr‚   )r    zcpy.FillReturn_OuterCoder!   r   Úreturnúcpy.FillReturn)r    zcpy.FillReturn_OuterOffsetr!   r   r†   r‡   )r    z cpy.FillReturn_ChunkCombinedCoder!   r   r†   r‡   )r    z"cpy.FillReturn_ChunkCombinedOffsetr!   r   r†   r‡   )r    z&cpy.FillReturn_ChunkCombinedCodeOffsetr!   r   r†   r‡   )r    z(cpy.FillReturn_ChunkCombinedOffsetOffsetr!   r   r†   r‡   )r    r‡   rX   úFillType | strr!   rˆ   r†   r‡   )ra   zcpy.LineReturn_Separaterb   r   r†   úcpy.LineReturn)ra   zcpy.LineReturn_SeparateCoderb   r   r†   r‰   )ra   z cpy.LineReturn_ChunkCombinedCoderb   r   r†   r‰   )ra   z"cpy.LineReturn_ChunkCombinedOffsetrb   r   r†   r‰   )ra   zcpy.LineReturn_ChunkCombinedNanrb   r   r†   r‰   )ra   r‰   r}   úLineType | strrb   rŠ   r†   r‰   )r€   úlist[cpy.FillReturn]rX   rˆ   r!   rˆ   r†   r‹   )r„   úlist[cpy.LineReturn]r}   rŠ   rb   rŠ   r†   rŒ   ))Ú
__future__r   Ú	itertoolsr   Útypingr   r   Únumpyr@   Úcontourpy._contourpyr   r   Úcontourpy.arrayrA   r   Úcontourpy.enum_utilr	   r
   Úcontourpy.typecheckr   r   Úcontourpy.typesr   r   Ú
_contourpyrQ   r)   r/   r4   r:   rJ   rO   rY   rd   rg   rn   rq   rv   r~   r�   r…   © r;   r(   ú<module>r˜      s@  ðÝ "å ß &ã ç 3Ý ß :ß 9ß 0áÝ&ð!=Ø$ð!=àð!=ð ó!=ðH%=Ø&ð%=àð%=ð ó%=ðP]Ø,ð]àð]ð ó]ð_Ø.ð_àð_ð ó_ð*9=Ø2ð9=àð9=ð ó9=ðx@=Ø4ð@=àð@=ð ó@=ðF8?Øð8?à"ð8?ð "ð8?ð ó	8?ðv=Ø"ð=àð=ð ó=ðD=Ø&ð=àð=ð ó=ð>&=Ø+ð&=àð&=ð ó&=ðR'=Ø-ð'=àð'=ð ó'=ðT)=Ø*ð)=àð)=ð ó)=ðX3?Øð3?à"ð3?ð "ð3?ð ó	3?ðl]Ø&ð]à"ð]ð "ð]ð ó	]ð@YØ%ðYà"ðYð "ðYð ô	Yr;   