
    \i]                        S SK r S SKrS SKrS SKrS SKJrJrJrJrJ	r	  S SK
Jr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+  S r,S r-S r.\R^                  Ra                  S\$\(\ \\"\/5      S	 5       r1\R^                  Ra                  S\\/5      S
 5       r2\R^                  Ra                  S\$\\\ \\"\/5      S 5       r3S r4\R^                  Ra                  S\$\\\ \\"\/5      S 5       r5S r6\R^                  Ra                  S\$\\\(/5      S 5       r7\R^                  Ra                  S\ \\"\/5      S 5       r8S r9S r:S r;S r<S r=S r>\R^                  Ra                  S\R~                  \R                  \R                  \R                  " \R                  \R^                  R                  \R                  S:  SS9S9/5      \R^                  Ra                  S\R                  " \5      \R                  " \5      \R                  R                  :g     5      S 5       5       rJS rKS rLS rMS  rN\R^                  R                  \R                  S:  S!S9S" 5       rO\R^                  Ra                  S\5      S# 5       rPS$ rQ\R^                  Ra                  S\5      S% 5       rRS& rSS' rT\R^                  Ra                  S\$\ \\\(\"\\\\\\R                  " S/5      \R                  " \R                  " S/5      5      /5      S( 5       rVS) rWS* rXS+ rY\R^                  Ra                  SS//\//\ //\ \//45      S, 5       rZ\R^                  Ra                  S\$\\(/5      S- 5       r[\R^                  Ra                  SSS// /5      S. 5       r\\R^                  Ra                  SS/S//S0/5      S1 5       r]S2 r^\R^                  Ra                  S\$\ \\\(\"\\\\\S/5      S3 5       r_S4 r`S5 ra\R^                  Ra                  SS//\(///5      S6 5       rbS7 rcS8 rdS9 re\R^                  Ra                  S:S;5      S< 5       rfS= rg\R^                  Ra                  S:S;5      S> 5       rh\R^                  Ra                  S:S;5      S? 5       riS@ rjSA rk\R^                  Ra                  SB\	" / SCQ5      SD\" \	" / SEQ5      \	" / SFQ5      /5      4\R                  " \	" / SCQ5      SG\	" / SHQ5      \R^                  R                  \R                  SI:  SJS9S9\	" / SCQ5      SK\" \	" / SEQ5      \	" / SFQ5      /5      4\" SLSM/5      SD\" 5       4\R                  " \" SLSM/5      SG\" SLSL/5      \R^                  R                  \R                  SI:  SJS9S9\" SLSM/5      SK\" SLSL/5      4\R                  " \" / SNQ5      SD\" 5       \R^                  R                  \R                  SI:H  SOS9S9\R                  " \" / SNQ5      SG\" / SPQ5      \R^                  R                  \R                  SI:  SJS9S9\R                  " \" / SNQ5      SK\" / SQQ5      \R^                  R                  \R                  SI:  SRS9S9\	" / SNQ5      SD\	" 5       4\R                  " \	" / SNQ5      SG\	" / SPQ5      \R^                  R                  \R                  SI:  SJS9S9\	" / SNQ5      SK\	" 5       4/5      SS 5       rlST rm\R^                  Ra                  SUSVSW/5      SX 5       rn\R^                  R                  \R                  SI:  SYS9SZ 5       ro\R^                  Ra                  S[\R                  " S S\/5      S]S//5      S^ 5       rpS_ rq\R                  " \$\/5      rs\R^                  Ra                  S`\$\$4\&\$4\\4\\4\\4\\4\\4\\4\(\(4\+\(4\)\)4\*\)4\ \ 4\!\ 4\\4\\4\"\"4\#\"4\s\s4\\s4/5      Sa 5       rt\R^                  Ra                  S`\$\&4\&\&4\\4\\4\\4\\4\\4\\4\(\+4\+\+4\)\*4\*\*4\ \!4\!\!4\\4\\4\"\#4\#\#4\s\4\\4/5      Sb 5       rug)c    N)
LinearRing
LineStringMultiPolygonPointPolygon)assert_geometries_equal)	all_typesemptyempty_line_stringempty_line_string_zempty_pointempty_point_zempty_polygon)equal_geometries_abnormally_yield_unequalgeometry_collectiongeometry_collection_zignore_invalidignore_warningsline_stringline_string_nanline_string_zlinear_ringmulti_line_stringmulti_line_string_zmulti_pointmulti_point_zmulti_polygonmulti_polygon_zpointpoint_mpoint_zpoint_zmpolygonpolygon_with_holepolygon_with_hole_z	polygon_zc                  n    [         R                  " [        S-   5      R                  5       n U / SQ:X  d   eg )NN)r         r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )shapelyget_num_pointsr	   tolistactuals    ^/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/shapely/tests/test_geometry.pytest_get_num_pointsr1   +   s/    ##I$78??AFTTTT    c                  n    [         R                  " [        S-   5      R                  5       n U / SQ:X  d   eg )Nr(   )r   r   r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r+   get_num_interior_ringsr	   r-   r.   s    r0   test_get_num_interior_ringsr6   0   s/    ++I,?@GGIFTTTTr2   c                  n    [         R                  " [        S-   5      R                  5       n U / SQ:X  d   eg )Nr(   )r4   r4   r4   r4   r4      r4   r8   r8   r   r4   r4   r4   r   r   r   r4   r4   r4   r4   r   )r+   get_num_geometriesr	   r-   r.   s    r0   test_get_num_geometriesr:   5   s/    ''	G(;<CCEFTTTTr2   geomc                     [         R                  " U / SQ5      n[         R                  " U5      R                  5       (       d   eg N)r   r8   )r+   	get_point
is_missingallr;   r/   s     r0   test_get_point_non_linestringrC   :   s6     tZ0Ff%))++++r2   c                     [         R                  " U 5      n[         R                  " U SU* XS-   * /5      n[        US   US   5        [         R                  " USS 5      R                  5       (       d   eg Nr   r4   r8      )r+   r,   r?   r   r@   rA   r;   nr/   s      r0   test_get_pointrI   J   sk    t$Ata!Qa%%9:FF1Ivay1fQqk*..0000r2   c                     [         R                  " U 5      n[         R                  " U5      R                  5       (       d   eg r(   )r+   get_exterior_ringr@   rA   rB   s     r0   "test_get_exterior_ring_non_polygonrL   R   s4     &&t,Ff%))++++r2   c                      [         R                  " [        [        /5      n [         R                  " U 5      [         R
                  R                  :H  R                  5       (       d   eg r(   )r+   rK   r#   r$   get_type_idGeometryType
LINEARRINGrA   r.   s    r0   test_get_exterior_ringrQ   c   sI    &&1B'CDF'7+?+?+J+JJOOQQQQr2   c                     [         R                  " U / SQ5      n[         R                  " U5      R                  5       (       d   eg r=   )r+   get_interior_ringr@   rA   rB   s     r0   "test_get_interior_ring_non_polygonrT   h   s6     &&tZ8Ff%))++++r2   c                      [         R                  " [        / SQ5      n [        U S   U S   5        [         R                  " U SS 5      R                  5       (       d   eg N)r   r>   r4   r   r4   r8   rF   )r+   rS   r$   r   r@   rA   r.   s    r0   test_get_interior_ringrX   y   sM    &&'8.IFF1Ivay1fQqk*..0000r2   c                     [         R                  " U / SQ5      n[        US   US   5        [         R                  " USS 5      R	                  5       (       d   eg rV   )r+   get_geometryr   r@   rA   rB   s     r0   test_get_geometry_simpler[      sL    !!$7FF1Ivay1fQqk*..0000r2   c                     [         R                  " U 5      n[         R                  " U SU* XS-   * /5      n[        US   US   5        [         R                  " USS 5      R                  5       (       d   eg rE   )r+   r9   rZ   r   r@   rA   rG   s      r0   test_get_geometry_collectionr]      sm     	""4(A!!$QBU8(<=FF1Ivay1fQqk*..0000r2   c                  n    [         R                  " [        S-   5      R                  5       n U / SQ:X  d   eg )Nr(   )r   r4   r8   r)   r)   rF   r*         r`   r   r4   r)   rF   r*   r_   rF   r*   r_   r`   r>   )r+   rN   r	   r-   r.   s    r0   test_get_type_idra      s/      W!45<<>FUUUUr2   c                  n    [         R                  " [        S-   5      R                  5       n U / SQ:X  d   eg )Nr(   )r   r4   r4   r8   r8   r   r4   r8   r4   r>   r   r4   r8   r   r4   r8   r   r4   r8   r4   r>   )r+   get_dimensionsr	   r-   r.   s    r0   test_get_dimensionsrd      s/    ##I$78??AFVVVVr2   c                  v    [         R                  " [        [        S /5      R	                  5       n U / SQ:X  d   eg )N)r8   r)   r>   )r+   get_coordinate_dimensionr   r!   r-   r.   s    r0   test_get_coordinate_dimensionrg      s0    --ugt.DELLNFZr2   c                  n    [         R                  " [        S-   5      R                  5       n U / SQ:X  d   eg )Nr(   )r4   r)   r*   r*   
   r8   r8   ri   r)   r   r   r   r   r   r   r   r   r   r   r   r   )r+   get_num_coordinatesr	   r-   r.   s    r0   test_get_num_coordinatesrk      s/    ((W)<=DDFFVVVVr2   c                  n    [         R                  " [        S-   5      R                  5       n U / SQ:X  d   eg)z;All geometry types have no SRID by default; None returns -1r(   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r>   N)r+   get_sridr	   r-   r.   s    r0   test_get_sridrn      s/    i'1299;FUUUUr2   c                      [         R                  " [        S5      n [         R                  " [        5      S:X  d   e[         R                  " U 5      S:X  d   eg )Ni  r   )r+   set_sridr   rm   r.   s    r0   test_get_set_sridrq      sF    eT*FE"a'''F#t+++r2   func)r)      r   zGEOS < 3.12)reason)marksc                 J    [         R                  " U " U5      5      (       d   eg r(   )npisnan)rr   r;   s     r0   test_get_xyz_no_pointry      s    & 88DJr2   c                  p    [         R                  " [        [        /5      R	                  5       SS/:X  d   eg )Ng       @)r+   get_xr   r!   r-    r2   r0   
test_get_xr}      +    ==%)*113SzAAAr2   c                  p    [         R                  " [        [        /5      R	                  5       SS/:X  d   eg )Ng      @)r+   get_yr   r!   r-   r|   r2   r0   
test_get_yr      r~   r2   c                  d    [         R                  " [        /5      R                  5       S/:X  d   eg )Ng      @)r+   get_zr!   r-   r|   r2   r0   
test_get_zr      s&    =='#**,555r2   c                  n    [         R                  " [        R                  " [        5      5      (       d   eg r(   )rw   rx   r+   r   r   r|   r2   r0   test_get_z_2dr      s     88GMM%())))r2   z,M coordinates not supported with GEOS < 3.12c                  D   [         R                  " [        [        /5      R	                  5       SS/:X  d   e[
        R                  " [         R                  " [        5      5      (       d   e[
        R                  " [         R                  " [        5      5      (       d   eg )Ng      @)	r+   get_mr    r"   r-   rw   rx   r   r!   r|   r2   r0   
test_get_mr      si    
 =='8,-4463*DDD88GMM%())))88GMM'*++++r2   c                     [         R                  " [        U 5      5      n[        U 5      (       a/  [        R
                  " [        5         [        X5        S S S 5        g [        X5        g ! , (       d  f       g = fr(   )r+   from_wktstrr   pytestraisesAssertionErrorr   rB   s     r0   test_new_from_wktr      sP    c$i(F066]]>*#F1 +* 	 -	 +*s   
A++
A9c                      [        SS5      n [        R                  " [        5         U =R                  S-  sl        S S S 5        g ! , (       d  f       g = f)Nr8   r4   )r   r   r   AttributeError_geom)r   s    r0   test_adapt_ptr_raisesr      s3    !QKE	~	&q 
'	&	&s   A
Ac                 Z    U [         R                  " U S 5      1n[        U5      S:X  d   eg )Nc                     U $ r(   r|   )xs    r0   <lambda>!test_set_unique.<locals>.<lambda>   s    r2   r4   )r+   	transformlen)r;   as     r0   test_set_uniquer      s)    	w  {34Aq6Q;;r2   c                  0   [        5          [        [        R                  " [        R
                  [        R
                  /[        R
                  [        R
                  ///S-  5      5      n S S S 5        [        W 5      S:X  d   eg ! , (       d  f       N = fNri   r4   )r   setr+   linestringsrw   nanr   r   s    r0   test_set_nanr      sd     
	##rvvrvv&68H%I$JR$OPQ 
q6Q;; 
	s   A"B
Bc                  L    [        [        /S-  5      n [        U 5      S:X  d   eg r   )r   r   r   r   s    r0   test_set_nan_same_objectsr      s&     	_"#Aq6Q;;r2   c                     [         R                  " U 5      nUS:X  a  / nO [         R                  " U [        U5      5      n[         R                  " U 5      n[        U5      U:X  d   e[        X25        g Nr   )r+   r9   rZ   range	get_partsr   r   )r;   expected_num_partsexpected_partspartss       r0   test_get_partsr     se    & !33D9Q --dE:L4MNd#Eu:++++E2r2   c                  |   [         R                  " S [        [        [        [
        /5      n / nU  HN  n[        [        R                  " U5      5       H(  nUR                  [        R                  " X#5      5        M*     MP     [        R                  " U 5      n[        U5      [        U5      :X  d   e[        XA5        g r(   )rw   arrayr   r   r   r   r   r+   r9   appendrZ   r   r   r   )r;   r   gir   s        r0   test_get_parts_arrayr   %  s     88T,k5-PQDNw11!45A!!'"6"6q"<= 6  d#Eu:^,,,,E2r2   c                  h   [         R                  " [        [        [        /5      n [         R
                  " U 5      n[         R                  " U [        U5      5      n[         R                  " U 5      n[        U5      U:X  d   e[        X25        / n[        R                  " U5       HN  n[        [         R
                  " U5      5       H(  nUR                  [         R                  " XV5      5        M*     MP     [         R                  " U5      n[        U5      [        U5      :X  d   e[        Xt5        g)zOn the first pass, the individual Multi* geometry objects are returned
from the collection.  On the second pass, the individual singular geometry
objects within those are returned.
N)r+   geometrycollectionsr   r   r   r9   rZ   r   r   r   r   rw   asarrayr   )r;   r   r   r   expected_subpartsr   r   subpartss           r0   (test_get_parts_geometry_collection_multir   3  s    
 &&5F'VWD 33D9))$6H0IJNd#Eu:++++E2ZZ'w11!45A$$W%9%9!%?@ 6 (   'Hx=C 12222H8r2   c                     [         R                  " [        [        [        /5      n / n/ n[        U 5       Ha  u  p4[        [        R                  " U5      5       H9  nUR                  [        R                  " XE5      5        UR                  U5        M;     Mc     [        R                  " U SS9u  pg[        U5      [        U5      :X  d   e[        Xa5        [         R                  " Xr5      (       d   eg NT)return_index)rw   r   r   r   r   	enumerater   r+   r9   r   rZ   r   r   r   array_equalr;   r   expected_indexr   r   jr   indexs           r0   test_get_parts_return_indexr   J  s    88[%78DNN$w11!45A!!'"6"6q"<=!!!$ 6  
 $$T=LEu:^,,,,E2>>%0000r2   c                     [         R                  " [        SS9   [        R                  " U 5        SSS5        g! , (       d  f       g= fzOnly 1D inputs are supportedzArray should be one dimensionalmatchNr   r   
ValueErrorr+   r   r;   s    r0   !test_get_parts_invalid_dimensionsr   Y  s.     
z)J	K$ 
L	K	K	   :
Ac                 D    [        U [        R                  " U 5      5        g)z?Non-multipart geometries should be returned identical to inputsN)r   r+   r   r   s    r0   test_get_parts_non_multir   c  s     D'"3"3D"9:r2   c                 N    [        [        R                  " U 5      5      S:X  d   eg r   )r   r+   r   r   s    r0   test_get_parts_Noner   i  s     w  &'1,,,r2   foo*   c                     [         R                  " [        SS9   [        R                  " U 5        S S S 5        g ! , (       d  f       g = f)Nz*One of the arguments is of incorrect type.r   )r   r   	TypeErrorr+   r   r   s    r0   test_get_parts_invalid_geometryr   n  s,    	y(T	U$ 
V	U	Ur   c                      [         R                  " SS9   [        R                  " [        S5        S S S 5        g ! , (       d  f       g = f)Nz@positional argument `return_index` for `get_parts` is deprecatedr   F)r   deprecated_callr+   r   r   r|   r2   r0   #test_get_parts_deprecate_positionalr   t  s5    			P
 	+u-
 
 
	   :
Ac                 z   [         R                  " U 5      [         R                  R                  :w  d  [         R                  " U 5      (       a(  [         R
                  " U 5      n[        U5      S:X  d   eg [         R
                  " U 5      n[        U5      S:X  d   eUS   [         R                  " U 5      :X  d   eg Nr   r4   )r+   rN   rO   POLYGONis_empty	get_ringsr   rK   )r;   ringss     r0   test_get_ringsr   {  s    $ 	D!W%9%9%A%AAgFVFVG G !!$'5zQ!!$'5zQQx744T::::r2   c                      [         R                  " [        5      n [        U 5      S:X  d   eU S   [         R                  " [        5      :X  d   eU S   [         R
                  " [        S5      :X  d   eg )Nr8   r   r4   )r+   r   r$   r   rK   rS   )r   s    r0   test_get_rings_holesr     sa    /0Eu:??8w001BCCCC8w001BAFFFFr2   c                     [         R                  " [        S [        [        /5      n / n/ n[        U 5       H  u  p4Ub  [        R                  " U5      (       a  M%  UR                  [        R                  " U5      5        UR                  U5        [        [        R                  " U5      5       H9  nUR                  [        R                  " XE5      5        UR                  U5        M;     M     [        R                  " U SS9u  pg[        U5      [        U5      :X  d   e[        Xa5        [         R                   " Xr5      (       d   eg r   )rw   r   r#   r   r$   r   r+   r   r   rK   r   r5   rS   r   r   r   r   r   s           r0   test_get_rings_return_indexr     s    88WdM3DEFDNN$9((++g77:;a w55a89A!!'";";A"AB!!!$ :   $$T=LEu:^,,,,E2>>%0000r2   c                     [         R                  " [        SS9   [        R                  " U 5        SSS5        g! , (       d  f       g= fr   r   r   s    r0   !test_get_rings_invalid_dimensionsr     s.     
z)J	K$ 
L	K	Kr   c                      [         R                  " SS9   [        R                  " [        S5        S S S 5        g ! , (       d  f       g = f)Nz@positional argument `return_index` for `get_rings` is deprecatedr   F)r   r   r+   r   r#   r|   r2   r0   #test_get_rings_deprecate_positionalr     s5    			P
 	'5)
 
 
r   c                  P   [         [        [        [        [        4-   n [
        R                  " U 5      R                  5       nUS/[        U 5      -  :X  d   e[
        R                  " U S5      n[
        R                  " U5      R                  5       nUS/[        U 5      -  :X  d   eg r   )
r	   r!   r   r   r   r+   get_precisionr-   r   set_precision)
geometriesr/   geometrys      r0   test_get_precisionr     s    g{4E}UUJ"":.557FaS3z?****$$Z3H""8,335FaS3z?****r2   c                      [         R                  " [         R                  " [        R                  " S /5      5      5      (       d   eg r(   )rw   rA   rx   r+   r   r|   r2   r0   test_get_precision_noner     s-    66"((700$89::::r2   mode)valid_output	pointwisekeep_collapsedc                 2   [        SS5      n[        R                  " U5      S:X  d   e[        S[        5         [        R
                  " USU S9nS S S 5        [        R                  " W5      S:X  d   e[        X!5        [        S[        5         [        R
                  " USU S9nS S S 5        [        R                  " U5      S:X  d   e[        U[        SS5      5        [        U[        SS5      5        g ! , (       d  f       N= f! , (       d  f       Nh= f)N?r   r)   ri   r   r   r4   )r   r+   r   r   UserWarningr   r   )r   initial_geometryr   s      r0   test_set_precisionr     s    S#  !12a777	[	1(()914H 
2   *a///H7	[	1(()914H 
2  *a///HeAqk2,eCo> 
2	1 
2	1s   C7D7
D
Dc                      [         R                  " [        / SQ5      S5      n [        U [        / SQ5      5        [         R                  " U S5      n [        U [        / SQ5      5        g )N)r   r   r   r   r4   r4   r4   r   r4   )r   r   r   )r+   r   r   r   )r   s    r0   test_set_precision_drop_coordsr    sO    $$Z0P%QSTUHHj1Q&RS $$Xq1HHj1I&JKr2   c                     [        S[        5         [        R                  " [	        SSS5      SU S9nS S S 5        [        R
                  " W5      S:X  d   e[        U[	        SSS5      5        g ! , (       d  f       NB= f)Nr   r   r4   r   )r   r   r+   r   r   r   r   )r   r   s     r0   test_set_precision_zr    se    	[	1((sC)=qtL 
2   *a///HeAq#&67	 
2	1s   "A//
A=c                     [         R                  " 5          [         R                  " S5        [        R                  " [
        SU S9n[        U[
        5        S S S 5        g ! , (       d  f       g = f)Nignorer4   r   )warningscatch_warningssimplefilterr+   r   r   r   )r   r/   s     r0   test_set_precision_nanr	    sF    		 	 	"h'&&E8 
#	"	"s   AA  
A.c                  8    [         R                  " S S5      b   eg r   )r+   r   r|   r2   r0   test_set_precision_noner    s      q)111r2   c                  h    [         R                  " [        SS5      [        R                  5      b   eg )Nr   )r+   r   r   rw   r   r|   r2   r0    test_set_precision_grid_size_nanr    s%      sC"&&9AAAr2   zgeometry,mode,expected)r8   r8   rF   r8   )g	@r)   rF   rF   r8   rF   )gffffff@r)   r  r   )r  r  r)   r)   r  )r  r  r  r  r   )r  r  r  r  r  r  r  r   z%pointwise does not work pre-GEOS 3.10r   r   皙?r  )r   )r  r   r  )r   r  r   zSegfaults on GEOS 3.10.0)r   r   r   r   r   )r   r   r   z7this collapsed into an invalid linearring pre-GEOS 3.10c                     [         R                  " U SUS9n[        [         R                  " U5      U[         R                  S:H  S9  g)zILines and polygons collapse to empty geometries if vertices are too closer4   r   )r)   	   r   )	normalizeN)r+   r   r   force_2dgeos_version)r   r   expectedr/   s       r0   test_set_precision_collapser    s@    B ""8QT:F &&)3	r2   c                     [         R                  " [         R                  " SSSS5      5      n [         R                  " [         R                  " SSSS5      5      n[         R                  " [         R                  " X5      5      S:X  d   e[         R
                  " U S5      n [         R
                  " US5      n[         R                  " X5      n[         R                  " U5      S:X  d   e[        U[        SS/5      5        g	)
zHOperations should use the most precise precision grid size of the inputsr   r   g      ?g      ?g      ?r4   r   )r4   r   N)r+   r  boxr   intersectionr   r   r   )box1box2outs      r0   test_set_precision_intersectionr"  o  s     W[[AsC89DW[[q$=>D  !5!5d!ABaGGG   s+D  q)D


t
*C  %,,,CVV,<!=>r2   preserve_topologyFTc                     [         R                  " [        5         [        R                  " [        SS/5      SU S9nS S S 5        [        [        R                  " W5      [        5       5        g ! , (       d  f       N7= f)Nr   r        ?)r#  r   warnsr   r+   r   r   r   r  )r#  r/   s     r0   set_precision_preserve_topologyr(    sZ     
k	"&&
+,/
 
# G,,V4jlC 
#	"   "A..
A<zGEOS >= 3.10c                      [         R                  " [        5         [        R                  " [        SS/5      SSS9n S S S 5        [        [        R                  " W 5      [        5       5        g ! , (       d  f       N7= f)Nr   r  r%  r   r   r&  r.   s    r0   set_precision_pointwise_pre_310r+    sZ     
k	"&&
+,
 
# G,,V4jlC 
#	"r)  flagsr4   rF   c                     [         R                  " [        [        45         [        R
                  R                  [        SU 5        S S S 5        g ! , (       d  f       g = f)Nr%  )r   r   r   r   r+   libr   r   )r,  s    r0   set_precision_illegal_flagsr/    s7     

I.	/!!+sE: 
0	/	/s   &A
Ac                      [         R                  " [         R                  " SS/5      5      n [        R                  " U 5      R                  5       (       d   eg)z(Compatibility with empty_like, see GH373N)rw   
empty_liker   r+   r@   rA   )r   s    r0   
test_emptyr2    s=    
bhhd|,-Aa $$&&&&r2   zgeom,expectedc                 ~    [         R                  " U 5      n[         R                  " U5      S:X  d   e[        X!5        g )Nr8   )r+   r  rf   r   r;   r  r/   s      r0   test_force_2dr5    s5    4 d#F++F3q888F-r2   c                 |    [         R                  " U SS9n[         R                  " U5      S:X  d   e[        X!5        g )NrF   )zr)   )r+   force_3drf   r   r4  s      r0   test_force_3dr9    s7    4 da(F++F3q888F-r2   )vr  numpyrw   r   r+   r   r   r   r   r   shapely.testingr   shapely.tests.commonr	   r
   empty_geometry_collectionr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r1   r6   r:   markparametrizerC   rI   rL   rQ   rT   rX   r[   r]   ra   rd   rg   rk   rn   rq   r{   r   r   paramr   skipifr  r   rN   rO   POINTry   r}   r   r   r   r   r   r   r   r   r   r1  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r"  r(  r+  r/  r2  r   geometry_collection_2r5  r9  r|   r2   r0   <module>rD     s
       H H 3       DU
U
U
 

,
,
 +{!;<1 =1 
,,
R
 
,,
1 %k7!KL1 M1 
[+]<OP11V
W
 
W
V, 
MM++$$$$z1- % 	
	
 
HHY++I6':N:N:T:TTU 	$ BB6* :%9  ,	, +. ,. + ,
 
!
$
bhhv&'$	3%$	339.1 
fX+;@Q2R1ST 	  %g!>?; @;
 $!34- 5- %%"!56  7 
. 
!"	;#"	;G1& D6(gYK!89  : *+; !PQ? R?$L !PQ8 R8 !PQ9 R92B  PQ<=<=		
 	PQLM++$$$$z1> % 		
 PQ<=<=		
 
VZ(	)>:<H
+,'(++$$$$z1> % 		
 
+,'(	

 	GHL++$$$$
2;U % 		
 	GH?@++$$$$z1> % 		
 	GH/0++$$$$z1P % 		
 DEI	

 	DE<=++$$$$z1> % 		
 DEI	
m[^~^~?  ,udm<D =D G((J6~ND OD 288QF#3Q">?; @;'  33UK4HI  		%	k"	$	k"	$	-.	/0	'	G	-.	/0	k"	$	-.	/0	&	-(	 56	 56)2.32. 		'	m$	&	m$	&	/0	12	)	I	/0	12	m$	&	/0	12	(	/*	 56	 56)2.32.r2   