Ë
    ~ìqj¶  ã                   óø   — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZmZmZmZ  ej                   d¬«      d„ «       Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze
d„ «       Zd„ Zd„ Zd„ Zy)é    N)Úwkt©ÚPoint)Úshapely20_todo)ÚdumpÚdumpsÚloadÚloadsÚmodule)Úscopec                  ó   — t        dd«      S )Nç333333ó?ç333333@r   © ó    úY/var/www/html/truck-me/venv/lib/python3.12/site-packages/shapely/tests/legacy/test_wkb.pyÚ
some_pointr      s   € ä��c‹?Ðr   c                 óf   — t        j                  | «      j                  «       j                  d«      S )Nzutf-8)ÚbinasciiÚb2a_hexÚupperÚdecode©Úvalues    r   Úbin2hexr      s'   € Ü×Ñ˜EÓ"×(Ñ(Ó*×1Ñ1°'Ó:Ð:r   c                 ó,   — t        j                  | «      S ©N)r   Úa2b_hexr   s    r   Úhex2binr      s   € Ü×Ñ˜EÓ"Ð"r   c                 ó‚  — | r| d   dv rt        d«      ‚| r| d   dvrt        d«      ‚t        j                  | d   t        |dd «      «      \  }dd	d
œ|   }d	ddœt        j
                     }||k(  r|S t        t        j                  || z   dddœ|   gt        j                  || z   t        |«      «      dd ¢­Ž «      S )ab  Re-pack a hex WKB value to native endianness if needed

    This routine does not understand WKB format, so it must be provided a
    struct module format string, without initial indicator character ("@=<>!"),
    which will be interpreted as big- or little-endian with standard sizes
    depending on the endian flag in the first byte of the value.
    r   z@=<>!z1Initial indicator character, one of @=<>!, in fmtÚcbBzMissing endian flag in fmtNé   ú>ú<)r   é   )ÚlittleÚbigr%   )r#   r$   )Ú
ValueErrorÚstructÚunpackr   ÚsysÚ	byteorderr   Úpack)Úfmtr   Ú	hexendianÚhexorderÚsysorders        r   Ú	hostorderr2      sÙ   € ñ ˆs�1‰v˜Ñ ÜÐLÓMÐMÙ�#�a‘& Ñ%ÜÐ5Ó6Ð6ä—=‘=  Q¡¬°°r¸°Ó);Ó<�L€YØ˜3Ñ 	Ñ*€HØ cÑ*¬3¯=©=Ñ9€HØ�8ÒØˆäÜ�‰Ø�s‰NØ˜!Ñ˜XÑ&ð	
ô �]‰]˜8 c™>¬7°5«>Ó:¸1¸2Ð>ò	
óð r   c                 óœ   — t        | «      }t        |«      t        dd«      k(  sJ ‚t        | d¬«      }t        |«      t        dd«      k(  sJ ‚y )NÚBIddÚ*0101000000333333333333F33F3333333333330B40iæ  ©ÚsridÚBIIddÚ20101000020E6100000333333333333F33F3333333333330B40©r   r   r2   ©r   Úresults     r   Útest_dumps_sridr=   8   s`   € Ü�:Ó€FÜ�6‹?œiØÐ<óò ð ð ô �: DÔ)€FÜ�6‹?œiØÐEóò ð ñ r   c                 óÂ   — t        | «      }t        |«      t        dd«      k(  sJ ‚t        | d¬«      }t        |«      dk(  sJ ‚t        | d¬«      }t        |«      dk(  sJ ‚y )Nr4   r5   F©Ú
big_endianTÚ*00000000013FF3333333333333400B333333333333r:   r;   s     r   Útest_dumps_endiannessrB   C   so   € Ü�:Ó€FÜ�6‹?œiØÐ<óò ð ð ô �:¨%Ô0€FÜ�6‹?ÐJÒJÐJÐJÜ�:¨$Ô/€FÜ�6‹?ÐJÒJÐJÑJr   c                 ó@   — t        | d¬«      }|t        dd«      k(  sJ ‚y )NT©Úhexr4   r5   )r   r2   r;   s     r   Útest_dumps_hexrF   N   s$   € Ü�: 4Ô(€FØ”Y˜vÐ'SÓTÒTÐTÑTr   c                  ó`  — t        t        d«      «      } t        | t        «      sJ ‚| j                  d d  dgk(  sJ ‚t        | «      }t        |«      t        dd«      k(  sJ ‚t        | d¬«      }t        |«      t        dd«      k(  sJ ‚t        | d¬	«      }t        |«      t        dd
«      k(  sJ ‚y )Nr9   )r   r   r4   r5   T)Úinclude_sridr8   i4l  r6   Ú20101000020346C0000333333333333F33F3333333333330B40)r
   r   Ú
isinstancer   Úcoordsr   r   r2   )Úgeomr<   s     r   Útest_loads_sridrM   S   sÈ   € ä”ÐMÓNÓO€DÜ�dœEÔ"Ð"Ð"Ø�;‰;‘qˆ>˜j˜\Ò)Ð)Ð)ä�4‹[€FÜ�6‹?œiØÐ<óò ð ð ô �4 dÔ+€FÜ�6‹?œiØÐEóò ð ð ô �4˜eÔ$€FÜ�6‹?œiØÐEóò ð ñ r   c                 ó>   — t        t        | d¬«      d¬«      | k(  sJ ‚y )NTrD   )r
   r   )r   s    r   Útest_loads_hexrO   i   s   € Ü”�z tÔ,°$Ô7¸:ÒEÐEÑEr   c                 óæ   — |j                  d«      }t        |d«      5 }t        | |«       d d d «       t        |d«      5 }t        |«      }d d d «       | k(  sJ ‚y # 1 sw Y   Œ1xY w# 1 sw Y   ŒxY w)Nútest.wkbÚwbÚrb©ÚjoinÚopenr   r	   ©r   ÚtmpdirÚfileÚfile_pointerÚrestoreds        r   Útest_dump_load_binaryr\   m   sv   € Ø�;‰;�zÓ"€DÜ	ˆd�DÓ	ð '˜\ÜˆZ˜Ô&÷'ä	ˆd�DÓ	ð &˜\Ü˜Ó%ˆ÷&ð ˜Ò!Ð!Ñ!÷'ð 'ú÷&ð &ús   žA¿A'ÁA$Á'A0c                 óì   — |j                  d«      }t        |d«      5 }t        | |d¬«       d d d «       t        |«      5 }t        |d¬«      }d d d «       | k(  sJ ‚y # 1 sw Y   Œ2xY w# 1 sw Y   ŒxY w)NrQ   ÚwTrD   rT   rW   s        r   Útest_dump_load_hexr_   w   sv   € Ø�;‰;�zÓ"€DÜ	ˆd�C‹ð 1˜LÜˆZ˜¨4Õ0÷1ä	ˆd‹ð 0�|Ü˜¨$Ô/ˆ÷0ð ˜Ò!Ð!Ñ!÷1ð 1ú÷0ð 0ús   žAÁ A*ÁA'Á*A3c                 ó8  — |j                  d«      }t        |d«      5 }t        | |d¬«       ddd«       t        j                  t
        «      5  t        |d«      5 }t        |«       ddd«       ddd«       y# 1 sw Y   ŒLxY w# 1 sw Y   ŒxY w# 1 sw Y   yxY w)z<Asserts that reading a binary file as text (hex mode) fails.rQ   r^   TrD   NrS   )rU   rV   r   ÚpytestÚraisesÚ	TypeErrorr	   )r   rX   rY   rZ   s       r   Útest_dump_hex_load_binaryrd   ‚   s�   € ð �;‰;�zÓ"€DÜ	ˆd�C‹ð 1˜LÜˆZ˜¨4Õ0÷1ô 
�‰”yÓ	!ñ Ü�$˜Óð 	 Ü�Ô÷	÷ð ÷1ð 1ú÷	ð 	ú÷ð ús/   žA8ÁBÁBÁ'BÁ8BÂB	Â	BÂBc                 óÒ  — |j                  d«      }t        |d«      5 }t        | |«       ddd«       t        j                  dk(  r)t        |«      5 }t        |d¬«      }ddd«       | k7  sJ ‚yt        j                  t        t        f«      5  t        |«      5 }t        |d¬«       ddd«       ddd«       y# 1 sw Y   Œ�xY w# 1 sw Y   ŒgxY w# 1 sw Y   Œ*xY w# 1 sw Y   yxY w)z<Asserts that reading a text file (hex mode) as binary fails.rQ   rR   NÚwin32TrD   )
rU   rV   r   r+   Úplatformr	   ra   rb   ÚUnicodeEncodeErrorÚUnicodeDecodeErrorrW   s        r   Útest_dump_binary_load_hexrj   Ž   sÙ   € à�;‰;�zÓ"€DÜ	ˆd�DÓ	ð '˜\ÜˆZ˜Ô&÷'ô
 ‡|�|�wÒÜ�$‹Zð 	4˜<Ü˜L¨dÔ3ˆH÷	4à˜XÒ%Ð%Ð%Øä	�‰Ô*Ô,>Ð?Ó	@ñ )Ü�$‹Zð 	)˜<Ü� 4Õ(÷	)÷)ð )÷'ð 'ú÷	4ð 	4ú÷	)ð 	)ú÷)ð )ús;   žB9ÁCÂCÂCÂ(CÂ9CÃCÃC	ÃCÃC&c                  óÖ   — t        j                  d«      } t        | d¬«      }|d d dk(  sJ ‚t        j                  d|dd  «      }t        |«      dk(  sJ ‚t        d„ |D «       «      sJ ‚y )	NzPOINT EMPTYFr?   iðÿÿÿs      z<2dr"   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr   )ÚmathÚisnan)Ú.0Úvals     r   ú	<genexpr>z#test_point_empty.<locals>.<genexpr>©   s   è ø€ Ò1 3Œt�z‰z˜#�Ñ1ùs   ‚!)r   r
   r   r)   r*   ÚlenÚall)Úgr<   rK   s      r   Útest_point_emptyru   ¡   sq   € Ü�	‰	�-Ó €AÜ�1 Ô'€Fð �(�FÐÐ6Ò6Ð6Ð6Ü�]‰]˜5 &¨¨Ð"2Ó3€FÜˆv‹;˜!ÒÐÐÜÑ1¨&Ô1Ô1Ð1Ñ1r   c                  ód   — t        j                  d«      } | j                  t        dd«      k(  sJ ‚y )NzPOINT Z EMPTYÚBIdddÚ:0101000080000000000000F87F000000000000F87F000000000000F87F)r   r
   Úwkb_hexr2   )rt   s    r   Útest_point_z_emptyrz   ¬   s3   € Ü�	‰	�/Ó"€AØ�9‰9œ	ØÐMóò ð ñ r   ) r   rm   r)   r+   ra   Úshapelyr   Úshapely.geometryr   Úshapely.tests.legacy.conftestr   Úshapely.wkbr   r   r	   r
   Úfixturer   r   r   r2   r=   rB   rF   rM   rO   r\   r_   rd   rj   ru   rz   r   r   r   ú<module>r€      sš   ðÛ Û Û Û 
ã å Ý "Ý 8ß 0Ó 0ð €‡��hÔñó  ðò;ò#òò:òKòUò
ò,Fò"ò"ð ñó ðò)ò&2ór   