
    _ h'                     x   d dl Z d dlmZ d dlZd dlZ ej                   ej                  d       ej                  d             ej                  dddd      fZ	 ej                  dd      Z ej                  g d      Z ej                  g d      Z ej                   g d	      Z ej                   g d
g dg      Z ej&                  ddg      Z ej*                  ddgg      Z ej.                  g dg dg      Z ej2                   ej                  dd       ej                  ddg      g      Z ej6                  d      Z ej6                  d      Z ej6                  d      Z ej6                  d      Z ej6                  d      Z  ej6                  d      Z! ej6                  d      Z" ejF                  eg      Z$ ejJ                  eg      Z& ej.                  eg      Z' ejP                  eg      Z) ej                  ddd      Z* ej                  g d      Z+ ej                  g d      Z, ej                   g d      Z- ej                   g dg dg      Z. ej&                  d d!g      Z/ ej*                  d d!gg      Z0 ej.                  g d"g d#g      Z1 ej2                  e*e+g      Z2 ej6                  d$      Z3 ej6                  d%      Z4 ej6                  d&      Z5 ej6                  d'      Z6 ej6                  d(      Z7 ej6                  d)      Z8 ej6                  d*      Z9 ejF                  e4g      Z: ejJ                  e5g      Z; ej.                  e6g      Z< ejP                  e5g      Z= ej6                  d+      Z> ej6                  d,      Z? ej6                  d-      Z@ ej6                  d.      ZA ej6                  d/      ZB ej6                  d0      ZC ej6                  d1      ZD ej6                  d2      ZE ej2                  e>e?g      ZF ej6                  d3      ZG ej6                  d4      ZH ej6                  d5      ZI ej6                  d6      ZJ ej6                  d7      ZK ej6                  d8      ZL ej6                  d9      ZM ejF                  eHg      ZN ejJ                  eIg      ZO ej.                  eJg      ZP ejP                  eIg      ZQ ej6                  d:      ZR ej6                  d;      ZS ej6                  d<      ZT ej6                  d=      ZU ej6                  d>      ZV ej6                  d?      ZW ej6                  d@      ZX ej6                  dA      ZY ej2                  eReSg      ZZ ej6                  dB      Z[ ej6                  dC      Z\ ej6                  dD      Z] ej6                  dE      Z^ ej6                  dF      Z_ ej6                  dG      Z` ej6                  dH      Za ejF                  e\g      Zb ejJ                  e]g      Zc ej.                  e^g      Zd ejP                  e]g      Zeeeeeeeeeeeeeee e!e"e$e&e'e)fZfe*e+e,e-e.e/e0e1e2e3e4e5e6e7e8e9e:e;e<e=fZge>e?e@eAeBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQfZheReSeTeUeVeWeXeYeZe[e\e]e^e_e`eaebecedeefZiedNdI       Zj ej       5   ej                  ej                  ej                  fej                  ej                  fg      Zlddd       edJ        ZmdK Zn G dL dM      Zoy# 1 sw Y   xY w)O    N)contextmanager            )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   )r   r   )r   r   )r   r   r   )holesr   )r
   r   ) @r   )皙@r   )r   r   )r   r   r   3   )4   r   )1   r   zGEOMETRYCOLLECTION EMPTYzPOINT EMPTYzLINESTRING EMPTYzPOLYGON EMPTYzMULTIPOINT EMPTYzMULTILINESTRING EMPTYzMULTIPOLYGON EMPTY)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   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
   r   r   )r   r   r   )r   r
   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   r   zGEOMETRYCOLLECTION Z EMPTYzPOINT Z EMPTYzLINESTRING Z EMPTYzPOLYGON Z EMPTYzMULTIPOINT Z EMPTYzMULTILINESTRING Z EMPTYzMULTIPOLYGON Z EMPTYzPOINT M (2 3 5)z"LINESTRING M (0 0 1, 1 0 2, 1 1 3)z0LINEARRING M (0 0 1, 1 0 2, 1 1 3, 0 1 2, 0 0 1)z/POLYGON M ((0 0 1, 2 0 2, 2 2 3, 0 2 2, 0 0 1))zjPOLYGON M ((0 0 1, 0 10 2, 10 10 3, 10 0 2, 0 0 1),
                  (2 2 6, 2 4 5, 4 4 4, 4 2 5, 2 2 6))zMULTIPOINT M ((0 0 3), (1 2 5))z"MULTILINESTRING M ((0 0 3, 1 2 5))zMULTIPOLYGON M (((0 0 1, 2 0 2, 2 2 3, 0 2 2, 0 0 1)),
       ((2.1 2.1 1.1, 2.2 2.1 1.2, 2.2 2.2 1.3, 2.1 2.2 1.4, 2.1 2.1 1.1)))zGEOMETRYCOLLECTION M EMPTYzPOINT M EMPTYzLINESTRING M EMPTYzPOLYGON M EMPTYzMULTIPOINT M EMPTYzMULTILINESTRING M EMPTYzMULTIPOLYGON M EMPTYzPOINT ZM (2 3 4 5)z)LINESTRING ZM (0 0 4 1, 1 0 4 2, 1 1 4 3)z;LINEARRING ZM (0 0 1 8, 1 0 2 7, 1 1 3 6, 0 1 2 9, 0 0 1 8)z:POLYGON ZM ((0 0 4 1, 2 0 4 2, 2 2 4 3, 0 2 4 2, 0 0 4 1))ztPOLYGON ZM ((0 0 4 1, 0 10 4 2, 10 10 4 3, 10 0 4 2, 0 0 4 1),
       (2 2 4 6, 2 4 4 5, 4 4 4 4, 4 2 4 5, 2 2 4 6))z$MULTIPOINT ZM ((0 0 4 3), (1 2 4 5))z'MULTILINESTRING ZM ((0 0 4 3, 1 2 4 5))zMULTIPOLYGON ZM (((0 0 4 1, 2 0 4 2, 2 2 4 3, 0 2 4 2, 0 0 4 1)),
       ((2.1 2.1 4 1.1, 2.2 2.1 4 1.2, 2.2 2.2 4 1.3, 2.1 2.2 4 1.4, 2.1 2.1 4 1.1)))zGEOMETRYCOLLECTION ZM EMPTYzPOINT ZM EMPTYzLINESTRING ZM EMPTYzPOLYGON ZM EMPTYzMULTIPOINT ZM EMPTYzMULTILINESTRING ZM EMPTYzMULTIPOLYGON ZM EMPTYc              #   x   K   | r$t        j                  d      5  d  d d d        y d  y # 1 sw Y   y xY ww)Nignore)invalid)nperrstate)	conditions    p/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/shapely/tests/common.pyignore_invalidr&      s6     [[* 		 	 		 	s   :.:7:c              #      K   t         j                  | k  r9t        j                         5  t        j                  d|       d  d d d        y d  y # 1 sw Y   y xY ww)Nr    )category)shapelygeos_versionwarningscatch_warningsfilterwarnings)r*   r(   s     r%   ignore_warningsr.      sQ     l*$$& 	##Hx@	 	 			 	s   (A AA AA c                     | j                   rjt        j                  |       dkD  rRt        j                  dk  r| j                  dk(  ryt        j                  dk  r| j                  j                  d      ryy)z6Older GEOS versions have various issues with "equals".r   )r   r   r   GeometryCollectionT)r      r   MultiF)is_emptyr)   get_num_geometriesr*   	geom_type
startswith)geoms    r%   )equal_geometries_abnormally_yield_unequalr8      s]    }}33D9A=*,CW1W*,1J1J71S    c                   4    e Zd ZdZd Zd Zd Zd Zd Zd Z	y)		ArrayLikezO
    Simple numpy Array like class that implements the
    ufunc protocol.
    c                 8    t        j                  |      | _        y Nr"   asarray_array)selfarrays     r%   __init__zArrayLike.__init__  s    jj'r9   c                 ,    t        | j                        S r=   )lenr@   rA   s    r%   __len__zArrayLike.__len__
  s    4;;r9   c                      | j                   |   S r=   )r@   )rA   keys     r%   	__getitemzArrayLike.__getitem  s    {{3r9   c                 6    | j                   j                         S r=   )r@   __iter__rF   s    r%   rL   zArrayLike.__iter__  s    {{##%%r9   c                 @    t        j                  | j                        S r=   r>   rF   s    r%   	__array__zArrayLike.__array__  s    zz$++&&r9   c                     |dk(  rH|D cg c]&  }t        || j                        r|j                  n|( }}| j                   ||i |      S t        S c c}w )N__call__)
isinstance	__class__r@   NotImplemented)rA   ufuncmethodinputskwargsargs         r%   __array_ufunc__zArrayLike.__array_ufunc__  s`    ZRXKNjdnn=

3FF  >>%":6":;;!!s   +AN)
__name__
__module____qualname____doc__rC   rG   _ArrayLike__getitemrL   rN   rY    r9   r%   r;   r;     s%    
(  &'"r9   r;   )T)pr+   
contextlibr   numpyr"   r)   pointsarangeboxpoint_polygon_testdataPointpoint
LineStringline_string
LinearRinglinear_ringPolygonpolygonpolygon_with_hole
MultiPointmulti_pointMultiLineStringmulti_line_stringmultipolygonsmulti_polygonr0   geometry_collectionfrom_wktemptyempty_pointempty_line_stringempty_polygonempty_multi_pointempty_multi_line_stringempty_multi_polygonmultipointsmulti_point_emptymultilinestringsmulti_line_string_emptymulti_polygon_emptygeometrycollectionsgeometry_collection_emptypoint_zline_string_zlinear_ring_z	polygon_zpolygon_with_hole_zmulti_point_zmulti_line_string_zmulti_polygon_zgeometry_collection_zempty_geometry_collection_zempty_point_zempty_line_string_zempty_polygon_zempty_multi_point_zempty_multi_line_string_zempty_multi_polygon_zmulti_point_empty_zmulti_line_string_empty_zmulti_polygon_empty_zgeometry_collection_empty_zpoint_mline_string_mlinear_ring_m	polygon_mpolygon_with_hole_mmulti_point_mmulti_line_string_mmulti_polygon_mgeometry_collection_mempty_geometry_collection_mempty_point_mempty_line_string_mempty_polygon_mempty_multi_point_mempty_multi_line_string_mempty_multi_polygon_mmulti_point_empty_mmulti_line_string_empty_mmulti_polygon_empty_mgeometry_collection_empty_mpoint_zmline_string_zmlinear_ring_zm
polygon_zmpolygon_with_hole_zmmulti_point_zmmulti_line_string_zmmulti_polygon_zmgeometry_collection_zmempty_geometry_collection_zmempty_point_zmempty_line_string_zmempty_polygon_zmempty_multi_point_zmempty_multi_line_string_zmempty_multi_polygon_zmmulti_point_empty_zmmulti_line_string_empty_zmmulti_polygon_empty_zmgeometry_collection_empty_zm	all_typesall_types_zall_types_mall_types_zmr&   nanline_string_nanr.   r8   r;   r_   r9   r%   <module>r      s    %   GNN9299Q<1.GKK1a 
 	a g  !9: g  !IJ
'//B
C#GOO03
4  !g  &&!12+G++ff-=,>? %%%0D 1g00W]]2r.G..'/BCD  	34g}-$G$$%78    1$G$$%78 *'**+BC &g&&';< 'G''6 2'224E3FG +g++]O< 7G779J8KL 
'--1a
 """#DE"""; GOOST	%goo?B
C  #""Iy#9:-g--	9/E.FG ''''?S 322G]3KL .g../KL    1&g&&';< "'""#45&g&&';< ,G,,-FG ((()?@ )g))=/: 4G446I5JK ---.?@ 9g99;N:OP 
'

,
-   !EF   !STGNO	&g&&:  !  !BC&g&&'KL "'""O 322G]3KL .g../KL    1&g&&';< "'""#45&g&&';< ,G,,-FG ((()?@ )g))=/: 4G446I5JK ---.?@ 9g99;N:OP 701!!!"MN!!!A W@
 (w''9  "!!"HI'w''(QR #7##Y  433X~4NO /w//0MN !!!"23'w''(=> #7##$67 'w''(=> -W--.HI )))*AB *w**N+;< 5W557K6LM ...0@/AB :w::<P;QR  
	)	0 ). ).   )0    O(g((266266*:RVVRVV<L)MNOO  " "1O Os   A\00\9