+
    S<Âj6  ã                   óL   € ^ RI Ht ^ RIHt ^ RIHt ^ RIHt  ! R R]4      t	R# )é    )Ú
prototypes)ÚGEOSGeometry)ÚGEOM_PTR)Ú
LinearRingc                   ó   a a€ ] tR t^t o^tV 3R ltR tR t]R 4       t	R t
R tRR ltR tR	 tR
 t]P"                  t]P&                  t]R 4       tR tR t]! ]]4      t]t]R 4       t]t]R 4       tRtVtV ;t # )ÚPolygonc                óÀ  <€ V'       g$   \         SV `  ! V P                  ^ R4      3/ VB  R# Vvr4\        V4      pV^8X  dp   \	        V^ ,          \
        \        34      '       dM   V^ ,          '       g   Rp^ pM8\	        V^ ,          ^ ,          \        4      '       d   V^ ,          p\        V4      pV P                  V^,           V.VO4      p\         SV `  ! V3/ VB  R# )ak  
Initialize on an exterior ring and a sequence of holes (both
instances may be either LinearRing instances, or a tuple/list
that may be constructed into a LinearRing).

Examples of initialization, where shell, hole1, and hole2 are
valid LinearRing geometries:
>>> from django.contrib.gis.geos import LinearRing, Polygon
>>> shell = hole1 = hole2 = LinearRing()
>>> poly = Polygon(shell, hole1, hole2)
>>> poly = Polygon(shell, (hole1, hole2))

>>> # Example where a tuple parameters are used:
>>> poly = Polygon(((0, 0), (0, 10), (10, 10), (10, 0), (0, 0)),
...                ((4, 4), (4, 6), (6, 6), (6, 4), (4, 4)))
N© )ÚsuperÚ__init__Ú_create_polygonÚlenÚ
isinstanceÚtupleÚlistr   )ÚselfÚargsÚkwargsÚext_ringÚ
init_holesÚn_holesÚpolygonÚ	__class__s   &*,    €Ú_/var/www/html/data_capital/venv/lib/python3.14/site-packages/django/contrib/gis/geos/polygon.pyr   ÚPolygon.__init__
   sÅ   ø€ ÷" Ü‰GÒ˜T×1Ñ1°!°TÓ:ÑE¸fÒEÙð !%ÐˆÜ�j“/ˆð �aŒ<œJ z°!¥}´u¼d°m×DÒDØ˜a—=”=Ø�
Ø‘Ü˜J q�M¨!Õ,¬j×9Ò9Ø'¨�]�
Ü˜j›/�à×&Ñ& w°¥{°XÐ4KÀ
Ð4KÓLˆÜ‰Ò˜Ñ+ FÔ+ó    c              #  óX   "  € \        \        V 4      4       F  pW,          x € K  	  R# 5i)z&Iterate over each ring in the polygon.N)Úranger   )r   Úis   & r   Ú__iter__ÚPolygon.__iter__0   s   é € ä”s˜4“yÖ!ˆAØ•'ŒMó "ùs   ‚(*c                ó(   € V P                   ^,           # )z+Return the number of rings in this Polygon.)Únum_interior_rings©r   s   &r   Ú__len__ÚPolygon.__len__5   s   € à×&Ñ&¨Õ*Ð*r   c                óì   € Vw  r#rEV FU  p\        V\        \        34      '       d   K!  \        RV: RV: RV: RV: RV: RV: RV: RV: RV: RV: R24      u # 	  \	        W#3W%3WE3WC3W#334      # )z2Construct a Polygon from a bounding box (4-tuple).z	POLYGON((Ú z, z)))r   ÚfloatÚintr   r   )ÚclsÚbboxÚx0Úy0Úx1Úy1Úzs   &&     r   Ú	from_bboxÚPolygon.from_bbox9   sq   € ð ‰ˆ�ÛˆAÜ˜a¤%¬ ×.Ô.Ý#ã›2›r£2£r«2«r³2³r»2ð?óò ñ ô ˜˜ 2 (¨R¨H°r°hÀÀÐIÓJÐJr   c                óâ  € V'       g   \         P                  ! 4       # . pV FL  p\        V\        4      '       d   VP	                  V4       K,  VP	                  V P                  V4      4       KN  	  V P                  VP                  ^ 4      4      pV^,
          pV'       d1   \        V,          ! V Uu. uF  q@P                  V4      NK  	  up!  pMRp\         P                  ! WWV4      # u upi )r   N)	ÚcapiÚcreate_empty_polygonr   r   ÚappendÚ_construct_ringÚ_cloneÚpopÚcreate_polygon)r   ÚlengthÚitemsÚringsÚrÚshellr   Úholes_params   &&&     r   r   ÚPolygon._create_polygonF   sº   € ÷
 Ü×,Ò,Ó.Ð.àˆÛˆAÜ˜!œX×&Ò&Ø—‘˜Q–à—‘˜T×1Ñ1°!Ó4Ö5ñ	 ð —‘˜EŸI™I a›LÓ)ˆà˜1•*ˆßÜ# gÖ-ÉÓ0OÉÀA·±¸Q¶ÉÑ0OÑP‰KàˆKä×"Ò" 5°wÓ?Ð?ùò	 1Ps   Â4C,c                óš   € \        V\        4      '       d   \        P                  ! V4      # \        P                  ! VP                  4      # ©N)r   r   r5   Ú
geom_cloneÚptr)r   Úgs   &&r   r9   ÚPolygon._clone_   s1   € Ü�aœ×"Ò"Ü—?’? 1Ó%Ð%ä—?’? 1§5¡5Ó)Ð)r   c                ó~   € \        V\        4      '       d   V#  \        V4      #   \         d    \        T4      hi ; i)z1Try to construct a ring from the given parameter.)r   r   Ú	TypeError)r   ÚparamÚmsgs   &&&r   r8   ÚPolygon._construct_ringe   s?   € ô �eœZ×(Ò(ØˆLð	!Ü˜eÓ$Ð$øÜô 	!Ü˜C“.Ð ð	!ús   š
% ¥<c                óª   € V P                   pV P                  pV P                  W4      V n         V'       d   W@n        \        P                  ! V4       R # rD   )rF   Úsridr   r5   Údestroy_geom)r   r<   r=   Úprev_ptrrO   s   &&&  r   Ú	_set_listÚPolygon._set_listu   s>   € ð —8‘8ˆØ�y‰yˆØ×'Ñ'¨Ó6ˆŒßØŒIÜ×Ò˜(Ö#r   c                ó    € V^ 8X  d!   \         P                  ! V P                  4      # \         P                  ! V P                  V^,
          4      # )aî  
Return the ring at the specified index. The first index, 0, will
always return the exterior ring. Indices > 0 will return the
interior ring at the given index (e.g., poly[1] and poly[2] would
return the first and second interior ring, respectively).

CAREFUL: Internal/External are not the same as Interior/Exterior!
Return a pointer from the existing geometries for use internally by the
object's methods. _get_single_external() returns a clone of the same
geometry for use by external code.
)r5   Úget_extringrF   Úget_intring©r   Úindexs   &&r   Ú_get_single_internalÚPolygon._get_single_internal   s=   € ð �AŒ:Ü×#Ò# D§H¡HÓ-Ð-ô ×#Ò# D§H¡H¨e°a­iÓ8Ð8r   c                óv   € \        \        P                  ! V P                  V4      4      V P                  R 7      # ))rO   )r   r5   rE   rY   rO   rW   s   &&r   Ú_get_single_externalÚPolygon._get_single_external‘   s,   € ÜÜ�OŠO˜D×5Ñ5°eÓ<Ó=ÀDÇIÁIô
ð 	
r   c                óB   € \         P                  ! V P                  4      # )z$Return the number of interior rings.)r5   Ú
get_nringsrF   r$   s   &r   r#   ÚPolygon.num_interior_ringsš   s   € ô �Š˜tŸx™xÓ(Ð(r   c                ó   € V ^ ,          # )z%Get the exterior ring of the Polygon.r
   r$   s   &r   Ú_get_ext_ringÚPolygon._get_ext_ring    s   € à�A�wˆr   c                ó   € W^ &   R# )z%Set the exterior ring of the Polygon.Nr
   )r   Úrings   &&r   Ú_set_ext_ringÚPolygon._set_ext_ring¤   s	   € àˆQ‹r   c                ó°   a € \         ;QJ d)    . V 3R l\        \        S 4      4       4       F  NK  	  5# ! V 3R l\        \        S 4      4       4       4      # )z,Get the tuple for each ring in this Polygon.c              3   óJ   <"  € T F  pSV,          P                   x € K  	  R # 5irD   )r   ©Ú.0r   r   s   & €r   Ú	<genexpr>Ú Polygon.tuple.<locals>.<genexpr>¯   s   øé € Ð=Ñ,< q�T˜!•W—]–]Ó,<ùs   ƒ #)r   r   r   r$   s   fr   r   ÚPolygon.tuple¬   s9   ø€ ÷ ŒuÔ=¬E´#°d³)Ô,<Ó=�uÐ=ˆuÔ=¬E´#°d³)Ô,<Ó=Ó=Ð=r   c                ó˜   a € RP                  V 3R l\        S P                  4       4       4      pRS ^ ,          P                  : RV: R2# )z.Return the KML representation of this Polygon.Ú c              3   óf   <"  € T F&  pR SV^,           ,          P                   ,          x € K(  	  R# 5i)z%<innerBoundaryIs>%s</innerBoundaryIs>N)Úkmlrj   s   & €r   rl   ÚPolygon.kml.<locals>.<genexpr>¶   s,   øé € ð 
á3�ð 4°d¸1¸q½5µk·o±o×EÒEÛ3ùs   ƒ.1z<Polygon><outerBoundaryIs>z</outerBoundaryIs>z
</Polygon>)Újoinr   r#   rr   )r   Ú	inner_kmls   f r   rr   ÚPolygon.kml³   sE   ø€ ð —G‘Gô 
ä˜4×2Ñ2Ô3ó
ó 
‰	ð
 ��G�KŒKÛð
ð 	
r   )rF   rO   )zZParameter must be a sequence of LinearRings or objects that can initialize to LinearRings.)!Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
_minlengthr   r    r%   Úclassmethodr2   r   r9   r8   rR   rY   r\   r   Ú_set_single_rebuildÚ_set_singleÚ_assign_extended_slice_rebuildÚ_assign_extended_sliceÚpropertyr#   rb   rf   Úexterior_ringr@   r   Úcoordsrr   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   Ú__classdict__s   @@r   r   r      sÉ   ù‡ € Ø€Jõ$,òLò
+ð ñ	Kó ð	Kò@ò2*ô!ò $ò9ò$
ð
 ×2Ñ2€KØ)×HÑHÐð ñ)ó ð)ò
òñ
 ˜]¨MÓ:€MØ€Eàñ>ó ð>ð €Fàñ	
ó ÷	
ð 	
r   r   N)
Údjango.contrib.gis.geosr   r5   Ú django.contrib.gis.geos.geometryr   Údjango.contrib.gis.geos.libgeosr   Ú"django.contrib.gis.geos.linestringr   r   r
   r   r   Ú<module>rŒ      s   ðÝ 6Ý 9Ý 4Ý 9ôv
ˆlö v
r   