§
    6\îh2”  ã                   ó$  — d dl mZ d dlZd dlZd dlZ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 ej        dk    ZdZdZefd	„Zd
„ Zd„ Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Zedk    r ej        ¦   «          dS dS )é    )ÚabcN)Úsupport)Úimport_helper)Úassert_python_okÚbig)ÚbÚBÚhÚHÚiÚIÚlÚLÚqÚQÚnÚN)Ú ú@ú=ú<ú>ú!c              #   óF   K  — t           D ]}| D ]}|dvr|dv rŒ||fV — ŒŒd S )N©r   r   )r   r   )Úinteger_codes)Ú
byteordersÚcodeÚ	byteorders      ú:/opt/python-3.11.14/usr/lib/python3.11/test/test_struct.pyÚiter_integer_formatsr!      s^   è è € Ýð "ð "ˆØ#ð 	"ð 	"ˆIØ Ð*Ð*¨t°zÐ/AÐ/AØØ˜	/Ð!Ð!Ð!Ð!ð	"ð"ð "ó    c                 ó   — | d d d…         S )Néÿÿÿÿ© )Úss    r    Ústring_reverser'      s   € ØˆTˆTˆrˆTŒ7€Nr"   c                 ó2   — t           r| S t          | ¦  «        S ©N)ÚISBIGENDIANr'   )Úvalues    r    Úbigendian_to_nativer,      s   € Ýð %Øˆå˜eÑ$Ô$Ð$r"   c                   ó0  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej        d„ ¦   «         Z d„ Z!ej        d„ ¦   «         Z"ej        d„ ¦   «         Z#d S )!Ú
StructTestc                 óv   — |                       t          j        dd¦  «        d         dk    t          ¦  «         d S )Nz=ié   r   )ÚassertEqualÚstructÚpackr*   ©Úselfs    r    Útest_isbigendianzStructTest.test_isbigendian%   s4   € Ø×Ò&œ+ d¨AÑ.Ô.¨qÔ1°QÒ6½ÑEÔEÐEÐEÐEr"   c                 ó  — |                       t          j        t          j        d¦  «         t          j        d¦  «        }|                      |dz  t          j        d¦  «        ¦  «         d}d}t          j        |¦  «        }t          j        |¦  «        }|                      |dz  |¦  «         |                       t          j        t          j        dd¦  «         |                       t          j        t          j        dddd¦  «         |                       t          t          j        ft          j        dd¦  «         |                       t          t          j        ft          j        dd¦  «         |                       t          j        t          j        d	d
¦  «         t          j        ddd¦  «        }|                       t          j        t          j        d|¦  «         |                       t          j        t          j        d|¦  «         d S )NÚZr   é   Úiiizcbxxxxxxhhhhiillffd?z3c3b18x12h6i6l6f3d3?ÚfooÚPÚds   flapÚiir0   é   )ÚassertRaisesr2   ÚerrorÚcalcsizer1   r3   Ú	TypeErrorÚunpack)r5   ÚszÚfmtÚfmt3Úsz3r&   s         r    Útest_consistencezStructTest.test_consistence(   sŒ  € Ø×Ò&œ,­¬¸Ñ=Ô=Ð=åŒ_˜SÑ!Ô!ˆØ×Ò˜˜a™¥¤°Ñ!7Ô!7Ñ8Ô8Ð8à$ˆØ%ˆÝŒ_˜SÑ!Ô!ˆÝŒo˜dÑ#Ô#ˆØ×Ò˜˜a™ Ñ%Ô%Ð%à×Ò&œ,­¬°U¸AÑ>Ô>Ð>Ø×Ò&œ,­¬°S¸!¸QÀÑBÔBÐBØ×Ò9¥f¤lÐ3µV´[À#ÀuÑMÔMÐMØ×Ò9¥f¤lÐ3µV´[À#ÀuÑMÔMÐMØ×Ò&œ,­¬°s¸GÑDÔDÐDÝŒK˜˜a Ñ#Ô#ˆØ×Ò&œ,­¬°u¸aÑ@Ô@Ð@Ø×Ò&œ,­¬°s¸AÑ>Ô>Ð>Ð>Ð>r"   c                 ó   — d}d}d}d}d}d}d}d}dD ]9}	d	D ]2}
|	|
z   }
t          j        |
||||||||¦	  «	        }t          j        |
|¦  «        \  }}}}}}}}|                      ||¦  «         |                      ||¦  «         |                      ||¦  «         |                      ||¦  «         |                      ||¦  «         |                      t	          d
|z  ¦  «        t	          d
|z  ¦  «        ¦  «         |                      t	          d
|z  ¦  «        t	          d
|z  ¦  «        ¦  «         |                      ||¦  «         Œ4Œ;d S )Nó   ar0   éÿ   iÿÿ  i   goƒÀÊ!	@T)r   r   r   r   r   r   )z	xcbhilfd?z	xcBHILfd?éd   )r2   r3   rD   r1   Úint)r5   Úcr   r
   r   r   Úfr=   ÚtÚprefixÚformatr&   ÚcpÚbpÚhpÚipÚlpÚfpÚdpÚtps                       r    Útest_transitivenesszStructTest.test_transitiveness=   s|  € ØˆØˆØˆØˆØˆØˆØˆØˆà3ð 	(ñ 	(ˆFØ4ð (ñ (Ø &™Ý”K ¨¨1¨a°°A°q¸!¸QÑ?Ô?Ý17´¸vÀqÑ1IÔ1IÑ.B˜˜B  B¨¨BØ× Ò   QÑ'Ô'Ð'Ø× Ò   QÑ'Ô'Ð'Ø× Ò   QÑ'Ô'Ð'Ø× Ò   QÑ'Ô'Ð'Ø× Ò   QÑ'Ô'Ð'Ø× Ò ¥ S¨2¡X¡¤µ°C¸!±G±´Ñ=Ô=Ð=Ø× Ò ¥ S¨2¡X¡¤µ°C¸!±G±´Ñ=Ô=Ð=Ø× Ò   QÑ'Ô'Ð'Ñ'ñ(ð	(ð 	(r"   c                 ó4  — g d‘d‘d‘d‘d‘d‘d‘d‘d	‘d
‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d ‘d!‘d"g d#d#d$f‘d%‘}|D ]Ç\  }}}}}d&|z   |fd'|z   |fd(|z   |fd)|z   t           r|p|ffD ]›\  }}t          j        ||¦  «        }	|                      |	|¦  «         |                      t          j        |¦  «        t          |	¦  «        ¦  «         t          j        ||	¦  «        d*         }
|
|k    r|                      |¦  «         ŒœŒÈd S )+N)rO   rK   rK   rK   r   )ÚxcrK   ó    ar_   r   )ÚcxrK   ó   a ra   r   )r&   rK   rK   rK   r   )Ú0só
   helloworldr"   r"   r0   )Ú1src   ó   hre   r0   )Ú9src   ó	   helloworlrg   r0   )Ú10src   rc   rc   r   )Ú11src   ó   helloworld rj   r0   )Ú20src   ó   helloworld          rl   r0   )r   é   ó   rn   r   )r   iùÿÿÿó   ùro   r   )r	   rm   rn   rn   r   )r	   éù   ro   ro   r   )r
   é¼  ó   ¼ó   ¼r   )r
   iDýÿÿó   ýDó   Dýr   )r   rq   rr   rs   r   )r   iDý  rt   ru   r   )r   é€,ó   ,€ó   €,r   )r   é€âÓûó   ûÓâ€ó   €âÓûr   )r   rv   rw   rx   r   )r   ì   €b§w rz   r{   r   )r   rv   rw   rx   r   )r   ry   rz   r{   r   )r   rv   rw   rx   r   )r   r|   rz   r{   r   )rP   ç       @s   @   s      @r   )r=   r}   s   @       s          @r   )rP   ç       Às   À   s      Àr   )r=   r~   s   À       s          Àr   )ú?r   ó    r€   r   )r   r9   ó   r   r0   )r   Tr   r   r   r   r€   r0   )r   )r0   r   r   r0   r   r   r   r   r   )r*   r2   r3   r1   rB   ÚlenrD   Ú
assertTrue)r5   ÚtestsrF   Úargr   ÚlilÚasyÚxfmtÚexpÚresÚrevs              r    Útest_new_featureszStructTest.test_new_featuresU   s|  € ð&
Ø&ð&
à+ð&
ð ,ð&
ð 'ð	&
ð
 /ð&
ð 1ð&
ð Að&
ð Dð&
ð Hð&
ð Vð&
ð &ð&
ð +ð&
ð &ð&
ð ,ð&
ð 4ð&
ð  /ð!&
ð" 4ð#&
ð$ 6ð%&
ð& Cð'&
ð( Jð)&
ð* Cð+&
ð, Uð-&
ð. Cð/&
ð0 Jð1&
ð2 Cð3&
ð4 Uð5&
ð6 >ð7&
ð8<ð9&
ð< Eð=&
ð>@ð?&
ðB &ðC&
ðD &ðE&
ðF )ðG&
ðH "e˜U AÐ&ðI&
ðJ )ðK&
ˆðP (-ð 	)ð 	)Ñ#ˆCc˜3 Ø!$ S¡¨# °°S±¸#°ÀÀSÁÈ#ÀØ!$ S¡­+Ð*=¸#Ð*DÀÐ Eð Gð )ð )‘så”k $¨Ñ,Ô,Ø× Ò   cÑ*Ô*Ð*Ø× Ò ¥¤°Ñ!6Ô!6½¸C¹¼ÑAÔAÐAÝ”m D¨#Ñ.Ô.¨qÔ1Ø˜#’::Ø—O’O CÑ(Ô(Ð(øð)ð	)ð 	)r"   c                 óð  — dddddddddddœ
}t          d¦  «        D ]:\  }}||z   }t          j        |¦  «        }|                      |||         ¦  «         Œ;d}|D ]W}dD ]R}t          j        ||d	         z   ¦  «        }t          j        ||d         z   ¦  «        }	|                      ||	¦  «         ŒSŒX|                      t          j        d
¦  «        d¦  «         |                      dt          j        d¦  «        ¦  «         |                      dt          j        d¦  «        ¦  «         |                      t          j        d¦  «        t          j        d¦  «        ¦  «         |                      t          j        d¦  «        t          j        d¦  «        ¦  «         |                      dt          j        d¦  «        ¦  «         |                      t          j        d¦  «        t          j        d¦  «        ¦  «         |                      t          j        d¦  «        t          j        d¦  «        ¦  «         |                      t          j        d¦  «        t          j        d¦  «        ¦  «         d S )Nr0   r?   é   é   )
r   r	   r
   r   r   r   r   r   r   r   ©r   r   r   r   )ÚbBÚhHÚiIÚlLÚnNÚqQr   r   r   r
   r   r   r   r   r<   )r!   r2   rB   r1   ÚassertLessEqualÚassertGreaterEqual)
r5   Úexpected_sizer   r   rS   ÚsizeÚnative_pairsÚformat_pairÚsigned_sizeÚunsigned_sizes
             r    Útest_calcsizezStructTest.test_calcsizeŠ   sH  € à˜Ø˜Ø˜Ø˜Ø˜ðð ˆõ  4Ð4HÑIÔIð 	8ð 	8‰OˆD)Ø˜t‘^ˆFÝ”? 6Ñ*Ô*ˆDØ×Ò˜T =°Ô#6Ñ7Ô7Ð7Ð7ð :ˆØ'ð 	=ð 	=ˆKØ$ð =ð =	Ý$œo¨i¸+Àa¼.Ñ.HÑIÔIÝ &¤°	¸KÈ¼NÑ0JÑ KÔ KØ× Ò  ¨mÑ<Ô<Ð<Ð<ð=ð 	×Òœ¨Ñ-Ô-¨qÑ1Ô1Ð1Ø×Ò˜Q¥¤°Ñ 4Ô 4Ñ5Ô5Ð5Ø×Ò˜Q¥¤°Ñ 4Ô 4Ñ5Ô5Ð5Ø×ÒVœ_¨SÑ1Ô1µ6´?À3Ñ3GÔ3GÑHÔHÐHØ×ÒVœ_¨SÑ1Ô1µ6´?À3Ñ3GÔ3GÑHÔHÐHØ×Ò˜Q¥¤°Ñ 4Ô 4Ñ5Ô5Ð5Ø×ÒVœ_¨SÑ1Ô1µ6´?À3Ñ3GÔ3GÑHÔHÐHØ×Ò¥¤°Ñ 4Ô 4µf´oÀcÑ6JÔ6JÑKÔKÐKØ×Ò¥¤°Ñ 4Ô 4µf´oÀcÑ6JÔ6JÑKÔKÐKÐKÐKr"   c                 ó¼   ‡‡‡— dd l Š G ˆˆˆfd„dt          j        ¦  «        Št          ¦   «         D ])\  }}||z   Š ‰‰¦  «        }|                     ¦   «          Œ*d S )Nr   c                   óX   •‡ — e Zd Zˆˆ fd„Zej        ej        ”j        fd„Zˆfd„Z	ˆ xZ
S )ú+StructTest.test_integers.<locals>.IntTesterc                 óX  •— t          ‰| ¦  «                             d¬¦  «         || _        |d         | _        |d d…         | _        | j        t
          vrt          d| j        z  ¦  «        ‚t          j        |¦  «        | _	        | j	        dz  | _
        | j        t          d¦  «        v r1d| _        d| j
        d	z
  z   | _        d| j
        d	z
  z  d	z
  | _        d S | j        t          d
¦  «        v r"d| _        d| _        d| j
        z  d	z
  | _        d S t          d| j        z  ¦  «        ‚)NÚtest_one)Ú
methodNamer$   z"unrecognized packing byteorder: %sr   ÚbhilqnTr?   r0   ÚBHILQNFr   zunrecognized format code: %s)ÚsuperÚ__init__rS   r   r   r   Ú
ValueErrorr2   rB   ÚbytesizeÚbitsizeÚtupleÚsignedÚ	min_valueÚ	max_value)r5   rS   Ú	IntTesterÚ	__class__s     €€r    r©   z4StructTest.test_integers.<locals>.IntTester.__init__±   s0  ø€ Ýi Ñ&Ô&×/Ò/¸:Ð/ÑFÔFÐFØ$”Ø" 2œJ”	Ø!'¨¨¨¤”Ø”~­Ð3Ð3Ý$Ð%IØ%)¤^ñ&4ñ 5ô 5ð 5å &¤°Ñ 7Ô 7”Ø#œ}¨qÑ0”Ø”9¥ h¡¤Ð/Ð/Ø"&D”KØ'(¨4¬<¸©>Ñ':Ð%;D”NØ%&¨¬°a©Ñ%8¸1Ñ%<D”NNNØ”Y¥%¨¡/¤/Ð1Ð1Ø"'D”KØ%&D”NØ%&¨¬¡_°qÑ%8D”NNNå$Ð%CØ%)¤Yñ&/ñ 0ô 0ð 0r"   c                 óT  — | j         }| j        |cxk    r| j        k    rYn nU|}| j        r|dk     r|d| j        z  z  }|                      |d¦  «         d|z  }t          |¦  «        dz  rd|z   }|                     d¦  «        } ||¦  «        }d| j        t          |¦  «        z
  z  |z   }| j	        dk    s| j	        dv rt          st          |¦  «        }|                      t          |¦  «        | j        ¦  «          |||¦  «        }|                      ||¦  «          |||¦  «        d         }|                      ||¦  «         |                      t          j        t           f||d	|z   ¦  «         d S |                      t"          t$          t          j        f|||¦  «         d S )
Nr   r0   z%xÚ0Úasciir€   r   )r   r   r   r   )rS   r¯   r°   r®   r¬   r˜   r‚   Úencoder«   r   r*   r'   r1   r@   r2   rA   rC   ÚOverflowErrorrª   )	r5   Úxr3   rD   Ú	unhexlifyrS   ÚexpectedÚgotÚ	retrieveds	            r    r¤   z4StructTest.test_integers.<locals>.IntTester.test_oneÇ   så  € ð œØ”> QÐ8Ð8Ò8Ð8¨$¬.Ò8Ñ8Ð8Ð8Ñ8Ø HØ”{ð 6 q¨1¢u uØ  A¨¬Ñ$5Ñ5˜Ø×+Ò+¨H°aÑ8Ô8Ð8Ø# h™HÝ˜8‘}”} qÑ(ð 2Ø#&¨¡>˜Ø'Ÿš¨wÑ7Ô7HØ(˜y¨Ñ2Ô2HØ '¨4¬=½3¸x¹=¼=Ñ+HÑ IØ (ñ!)Hàœ¨#Ò-Ð-Øœ¨.Ð8Ð8ÅÐ8Ý#1°(Ñ#;Ô#;˜Ø×$Ò$¥S¨¡]¤]°D´MÑBÔBÐBð ˜$˜v q™/œ/CØ×$Ò$ S¨(Ñ3Ô3Ð3ð !'  v¨sÑ 3Ô 3°AÔ 6IØ×$Ò$ Q¨	Ñ2Ô2Ð2ð ×%Ò%¥v¤|µYÐ&?ÀÈØAHÈ3ÁñPô Pð Pð Pð Pð ×%Ò%¥}µjÅ&Ä,Ð&OØ&*¨F°Añ7ô 7ð 7ð 7ð 7r"   c                 óL  •— ddl m} g }t          | j        dz   ¦  «        D ]}|                     d|z  ¦  «         Œt          | j        ¦  «        D ]A}d}t          | j        ¦  «        D ]}|dz   |d¦  «        z  }Œ|                     |¦  «         ŒB|                     ddt          j        d	z  g¦  «         |D ])}| |fD ]!}d
D ]}||z   }	|  	                    |	¦  «         ŒŒ"Œ* G d„ d¦  «        }
 G d„ dt          ¦  «        } G d„ dt          ¦  «        }|                      t          t          j        ft          j        | j        d¦  «         |                      t          t          j        ft          j        | j        |¦  «         |                      t          t          j        ft          j        | j        d¦  «         |                      t          t          j        ft          j        | j         |
¦   «         ¦  «         |                      t          t          j        ft          j        | j         |¦   «         ¦  «          |d¦  «         |d¦  «         |d¦  «         |d¦  «         |d¦  «         |d¦  «        fD ]4}	 t          j        ‰|¦  «         Œ#  |                      d¦  «         Y Œ2xY w |d¦  «         |d¦  «         |d ¦  «         |ddi¦  «         |g d¢¦  «        fD ]:}|                      t          t          j        ft          j        | j        |¦  «         Œ;d S )Nr   )Ú	randranger9   r0   r   é   i,  i`®
 rŽ   )r$   r   r0   c                   ó   — e Zd Zd„ ZdS )úAStructTest.test_integers.<locals>.IntTester.run.<locals>.NotAnIntc                 ó   — dS ©Né*   r%   r4   s    r    Ú__int__zIStructTest.test_integers.<locals>.IntTester.run.<locals>.NotAnInt.__int__  ó   € Ø!˜rr"   N)Ú__name__Ú
__module__Ú__qualname__rÅ   r%   r"   r    ÚNotAnIntrÁ   
  s#   € € € € € ð"ð "ð "ð "ð "r"   rÊ   c                   ó   — e Zd Zd„ Zd„ ZdS )úBStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexablec                 ó   — || _         d S r)   ©Ú_value)r5   r+   s     r    r©   zKStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexable.__init__  s   € Ø&+˜œ˜˜r"   c                 ó   — | j         S r)   rÎ   r4   s    r    Ú	__index__zLStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexable.__index__  s
   € Ø#œ{Ð*r"   N)rÇ   rÈ   rÉ   r©   rÑ   r%   r"   r    Ú	IndexablerÌ     s2   € € € € € ð,ð ,ð ,ð+ð +ð +ð +ð +r"   rÒ   c                   ó   — e Zd Zd„ Zd„ ZdS )úAStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndexc                 ó   — t           ‚r)   )rC   r4   s    r    rÑ   zKStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndex.__index__  s   € Ý'˜r"   c                 ó   — dS rÃ   r%   r4   s    r    rÅ   zIStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndex.__int__  rÆ   r"   N)rÇ   rÈ   rÉ   rÑ   rÅ   r%   r"   r    ÚBadIndexrÔ     s2   € € € € € ð(ð (ð (ð"ð "ð "ð "ð "r"   r×   za stringy      @      E@é
   é   rÄ   rM   é   z:integer code pack failed on object with '__index__' methodrK   r   Úa)r0   r?   r9   )Úrandomr¾   Úranger¬   Úappendr«   ÚextendÚsysÚmaxsizer¤   Úobjectr@   rC   r2   rA   r3   rS   Úfail)r5   r¾   Úvaluesr‰   r   ÚvalÚjÚbaseÚincrr¸   rÊ   rÒ   r×   ÚobjrS   s                 €r    Úrunz/StructTest.test_integers.<locals>.IntTester.runí   sÔ  ø€ Ø,Ð,Ð,Ð,Ð,Ð,ð Ý  ¤°Ñ!1Ñ2Ô2ð ,ð ,CØ—M’M ! s¡(Ñ+Ô+Ð+Ð+õ ˜tœ|Ñ,Ô,ð 'ð 'AØCÝ" 4¤=Ñ1Ô1ð :ð :˜Ø" a™x¨9¨9°S©>¬>Ñ9˜˜Ø—M’M #Ñ&Ô&Ð&Ð&ð —’˜s F­C¬K¸©MÐ:Ñ;Ô;Ð;ð #ð -ð -DØ $˜u d˜{ð -ð -˜Ø$,ð -ð -˜DØ # d¡
˜AØ ŸMšM¨!Ñ,Ô,Ð,Ð,ð-ð-ð"ð "ð "ð "ð "ñ "ô "ð "ð+ð +ð +ð +ð +¥ñ +ô +ð +ð"ð "ð "ð "ð "vñ "ô "ð "ð ×!Ò!¥9­f¬lÐ";Ý"(¤+¨t¬{Ø",ñ.ô .ð .ð ×!Ò!¥9­f¬lÐ";Ý"(¤+¨t¬{Ø"+ñ-ô -ð -ð ×!Ò!¥9­f¬lÐ";Ý"(¤+¨t¬{Ø"'ñ)ô )ð )ð ×!Ò!¥9­f¬lÐ";Ý"(¤+¨t¬{Ø"* (¡*¤*ñ.ô .ð .ð ×!Ò!¥9­f¬lÐ";Ý"(¤+¨t¬{Ø"* (¡*¤*ñ.ô .ð .ð
 &˜I a™LœL¨)¨)°B©-¬-¸¸À2¹¼Ø%˜I b™MœM¨9¨9°S©>¬>¸9¸9ÀS¹>¼>ðKð =ð =Cð=Ýœ F¨CÑ0Ô0Ð0Ð0øð=ØŸ	š	ð #<ñ =ô =ð =ð =ð =øøøð &˜I d™OœO¨Y¨Y°s©^¬^¸Y¸YÀt¹_¼_Ø%˜I s¨A hÑ/Ô/°°¸9¸9¸9Ñ1EÔ1EðGð +ð +Cà×%Ò%¥yµ&´,Ð&?Ý&,¤k°4´;Ø&)ñ+ô +ð +ð +ð+ð +s   É?JÊJ.)rÇ   rÈ   rÉ   r©   r2   r3   rD   r¹   r¤   rê   Ú__classcell__)r²   r±   ÚbinasciirS   s   @€€€r    r±   r¢   °   s‡   øø€ € € € € ð0ð 0ð 0ð 0ð 0ð 0ð, (.¤{Ø)/¬Ø,4Ô,>ð$7ð $7ð $7ð $7ðLR+ð R+ð R+ð R+ð R+ð R+ð R+ð R+ð R+r"   r±   )rì   ÚunittestÚTestCaser!   rê   )r5   r   r   rQ   r±   rì   rS   s       @@@r    Útest_integerszStructTest.test_integers¬   s¨   øøø€ àˆˆˆðO	+ð O	+ð O	+ð O	+ð O	+ð O	+ð O	+ð O	+ð O	+Ô)ñ O	+ô O	+ð O	+õb  4Ñ5Ô5ð 	ð 	‰OˆD)Ø˜t‘^ˆFØ	˜&Ñ!Ô!ˆAØEŠE‰GŒGˆGˆGð	ð 	r"   c                 ó¸   ‡ — ˆ fd„}dD ]P}dD ]K}||z   } |t           j        |¦  «          |t           j        |d¦  «          |t           j        |d¦  «         ŒLŒQd S )Nc                 óÖ   •— ‰                      t          j        ¦  «        5 } | |i |¤Ž d d d ¦  «         n# 1 swxY w Y   ‰                     dt	          |j        ¦  «        ¦  «         d S )Nzbad char in struct format)r@   r2   rA   ÚassertInÚstrÚ	exception)ÚfuncÚargsÚkwargsÚcmr5   s       €r    ÚassertStructErrorz2StructTest.test_nN_code.<locals>.assertStructErrorH  s¥   ø€ Ø×"Ò"¥6¤<Ñ0Ô0ð &°BØdÐ%˜fÐ%Ð%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &àMŠMÐ5µs¸2¼<Ñ7HÔ7HÑIÔIÐIÐIÐIs   ¡	6¶:½:r•   r   r   r"   )r2   rB   r3   rD   )r5   rù   r   r   rS   s   `    r    Útest_nN_codezStructTest.test_nN_codeF  sŸ   ø€ ð	Jð 	Jð 	Jð 	Jð 	Jð ð 	>ð 	>ˆDØ1ð >ð >	Ø" 4™Ø!Ð!¥&¤/°6Ñ:Ô:Ð:Ø!Ð!¥&¤+¨v°qÑ9Ô9Ð9Ø!Ð!¥&¤-°¸Ñ=Ô=Ð=Ð=ð	>ð	>ð 	>r"   c                 óÊ   — dD ]_\  }}}}t          j        ||¦  «        }|                      ||¦  «         t          j        ||¦  «        \  }|                      ||¦  «         Œ`d S )N))Úpó   abcr€   r"   )Ú1prý   r€   r"   )Ú2prý   s   arK   )Ú3prý   s   abs   ab)Ú4prý   s   abcrý   )Ú5prý   s   abc rý   )Ú6prý   s   abc  rý   )Ú1000psè  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsè  ÿxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsÿ   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)r2   r3   r1   rD   )r5   r   Úinputrº   Úexpectedbackr»   s         r    Útest_p_codezStructTest.test_p_codeS  s|   € ð4Dð 	0ð 	0Ñ/ˆD%˜ <õ ”+˜d EÑ*Ô*ˆCØ×Ò˜S (Ñ+Ô+Ð+Ý”] 4¨Ñ-Ô-‰FˆSØ×Ò˜S ,Ñ/Ô/Ð/Ð/ð	0ð 	0r"   c                 ó  — t          dd¦  «        D ]Õ}d}||dz  z
  |k    r|dz  }||dz  z
  |k    °||z
  }t          j        d|¦  «        }t          j        d|¦  «        d         }|                      ||¦  «         t          j        d|¦  «        }|                      |t          |¦  «        ¦  «         t          j        d|¦  «        d         }|                      ||¦  «         ŒÖd}t          j        |d	¦  «        }t          j        d|¦  «        }t          j        d|¦  «        d         }|                      ||¦  «         d
}t          j        |d¦  «        }|                      t          t          j        d|¦  «         d S )Nr0   é!   g      à?r}   z<fr   z>fiÿÿÿ éh   iÿÿÿég   )
rÝ   r2   r3   rD   r1   r'   ÚmathÚldexpr@   r·   )r5   rç   ÚdeltaÚsmallerÚpackedÚunpackedÚ	bigpackedr   s           r    Útest_705836zStructTest.test_705836c  sˆ  € õ ˜!˜R‘L”Lð 	-ð 	-ˆDàˆEØ˜ ™Ñ$¨Ò,Ð,Ø˜‘ð ˜ ™Ñ$¨Ò,Ð,à˜U‘lˆGå”[  wÑ/Ô/ˆFÝ”} T¨6Ñ2Ô2°1Ô5ˆHð ×Ò˜T 8Ñ,Ô,Ð,Ýœ D¨'Ñ2Ô2ˆIØ×Ò˜Y­°vÑ(>Ô(>Ñ?Ô?Ð?Ý”} T¨9Ñ5Ô5°aÔ8ˆHØ×Ò˜T 8Ñ,Ô,Ð,Ð,ð ˆÝŒj˜˜hÑ'Ô'ˆÝ”˜T 3Ñ'Ô'ˆÝ”=  vÑ.Ô.¨qÔ1ˆØ×Ò˜˜hÑ'Ô'Ð'ð ˆÝŒj˜˜hÑ'Ô'ˆØ×Ò-­¬°d¸CÑ@Ô@Ð@Ð@Ð@r"   c                 ó˜  — t          ¦   «         D ]b\  }}||z   }|                      t          j        t          j        |d¦  «         |                      t          j        t          j        |d¦  «         Œc|                      t          j        t          j        dd¦  «         |                      t          j        t          j        dd¦  «         d S )Nç      ð?g      ø?r<   )r!   r@   r2   rA   r3   )r5   r   r   rS   s       r    Útest_1530559zStructTest.test_1530559„  s¨   € Ý3Ñ5Ô5ð 	Fð 	F‰OˆD)Ø Ñ%ˆFØ×Òfœl­F¬K¸ÀÑEÔEÐEØ×Òfœl­F¬K¸ÀÑEÔEÐEÐEØ×Ò&œ,­¬°S¸#Ñ>Ô>Ð>Ø×Ò&œ,­¬°S¸#Ñ>Ô>Ð>Ð>Ð>r"   c           	      óL  — d}d}t          j        |¦  «        }t          t          fD ]} ||¦  «        }|                      |                     |¦  «        d¦  «         |                      |                     |d¦  «        d¦  «         |                      |                     |d¦  «        d¦  «         t          d¦  «        D ]8}|                      |                     ||¦  «        |||dz   …         f¦  «         Œ9t          dt          |¦  «        d	z   ¦  «        D ])}|                      t           j	        |j        ||¦  «         Œ*Œt          t          fD ]#} ||¦  «        }|                      t          j        ||¦  «        d¦  «         |                      t          j        ||d¦  «        d¦  «         |                      t          j        ||d¦  «        d¦  «         t          d¦  «        D ]8}|                      t          j        |||¦  «        |||dz   …         f¦  «         Œ9t          dt          |¦  «        d	z   ¦  «        D ]/}|                      t           j	        t           j        |||¦  «         Œ0Œ%|                      |                     |d¬
¦  «        d¦  «         d S )Ns	   abcd01234Ú4s)s   abcdr?   )s   cd01rŽ   )s   0123é   r0   )ÚbufferÚoffset)
r2   ÚStructÚbytesÚ	bytearrayr1   Úunpack_fromrÝ   r‚   r@   rA   )r5   Útest_stringrF   r&   ÚclsÚdatar   s          r    Útest_unpack_fromzStructTest.test_unpack_fromŒ  s¯  € Ø"ˆØˆÝŒM˜#ÑÔˆÝ9Ð%ð 	Hñ 	HˆCØ3{Ñ#Ô#ˆDØ×Ò˜QŸ]š]¨4Ñ0Ô0°*Ñ=Ô=Ð=Ø×Ò˜QŸ]š]¨4°Ñ3Ô3°ZÑ@Ô@Ð@Ø×Ò˜QŸ]š]¨4°Ñ3Ô3°ZÑ@Ô@Ð@Ý˜1‘X”Xð Ið IØ× Ò  §¢¨t°QÑ!7Ô!7¸$¸qÀÀ1Á¸u¼+¸ÑHÔHÐHÐHÝ˜1c +Ñ.Ô.°Ñ2Ñ3Ô3ð Hð HØ×!Ò!¥&¤,°´¸tÀQÑGÔGÐGÐGñHå9Ð%ð 	Rñ 	RˆCØ3{Ñ#Ô#ˆDØ×ÒVÔ/°°TÑ:Ô:¸JÑGÔGÐGØ×ÒVÔ/°°T¸1Ñ=Ô=¸zÑJÔJÐJØ×ÒVÔ/°°T¸1Ñ=Ô=¸zÑJÔJÐJÝ˜1‘X”Xð Sð SØ× Ò ¥Ô!3°C¸¸qÑ!AÔ!AÀDÈÈ1ÈQÉ3ÈÄKÀ>ÑRÔRÐRÐRÝ˜1c +Ñ.Ô.°Ñ2Ñ3Ô3ð Rð RØ×!Ò!¥&¤,µÔ0BÀCÈÈqÑQÔQÐQÐQñRð 	×Ò˜Ÿš¨kÀ!˜ÑDÔDØ#ñ	%ô 	%ð 	%ð 	%ð 	%r"   c                 ó&  — d}t          j         dd¦  «        }d}t          j        |¦  «        }|                     |d|¦  «         |                     ¦   «         d t          |¦  «        …         }|                      ||¦  «         |                     |d|¦  «         |                     ¦   «         d t          |¦  «        dz   …         }|                      ||d d…         |z   ¦  «         t          j         dd¦  «        }|                      t          t          j	        f|j        |d|¦  «         |                      t          t          j	        f|j        |d|¦  «         |}|                      t          t          j	        ft          j        d	|d ¦  «         d S )
Nó   Reykjavik rocks, eow!r   ód                                                                                                       Ú21sr   rØ   ó
             r?   r"   )Úarrayr2   r  Ú	pack_intoÚtobytesr‚   r1   r@   rª   rA   rC   )r5   r   Úwritable_bufrF   r&   Úfrom_bufÚ	small_bufÚsbs           r    Útest_pack_intozStructTest.test_pack_into§  sŒ  € Ø.ˆÝ”{ 3¨Ñ1Ô1ˆØˆÝŒM˜#ÑÔˆð 	
ŠL ! [Ñ1Ô1Ð1Ø×'Ò'Ñ)Ô)Ð*;­3¨{Ñ+;Ô+;Ð*;Ô<ˆØ×Ò˜ ;Ñ/Ô/Ð/ð 	
ŠL " kÑ2Ô2Ð2Ø×'Ò'Ñ)Ô)Ð*>­3¨{Ñ+;Ô+;¸BÑ+>Ð*>Ô?ˆØ×Ò˜ ;¨s°¨sÔ#3°kÑ#AÑBÔBÐBõ ”K  WÑ-Ô-ˆ	Ø×Ò:¥v¤|Ð4°a´kÀ9ÈaØ%ñ	'ô 	'ð 	'à×Ò:¥v¤|Ð4°a´kÀ9ÈaØ%ñ	'ô 	'ð 	'ð ˆØ×Ò9¥f¤lÐ3µVÔ5EÀsÈBØñ	 ô 	 ð 	 ð 	 ð 	 r"   c                 ób  ‡— d}t          j         dd¦  «        }dŠˆfd„} ||d|¦  «         |                     ¦   «         d t          |¦  «        …         }|                      ||¦  «          ||d|¦  «         |                     ¦   «         d t          |¦  «        dz   …         }|                      ||d d…         |z   ¦  «         t          j         dd¦  «        }|                      t
          t          j        f||d|¦  «         |                      t
          t          j        f||d	|¦  «         d S )
Nr%  r   r&  r'  c                  ó(   •— t          j        ‰g| ¢R Ž S r)   )r2   r*  )rö   rF   s    €r    ú<lambda>z.StructTest.test_pack_into_fn.<locals>.<lambda>Ç  s   ø€ ¥&Ô"2°3Ð">¸Ð">Ð">Ð">€ r"   r   rØ   r(  r?   )r)  r+  r‚   r1   r@   rª   r2   rA   )r5   r   r,  r*  r-  r.  rF   s         @r    Útest_pack_into_fnzStructTest.test_pack_into_fnÃ  sP  ø€ Ø.ˆÝ”{ 3¨Ñ1Ô1ˆØˆØ>Ð>Ð>Ð>ˆ	ð 	ˆ	,  ;Ñ/Ô/Ð/Ø×'Ò'Ñ)Ô)Ð*;­3¨{Ñ+;Ô+;Ð*;Ô<ˆØ×Ò˜ ;Ñ/Ô/Ð/ð 	ˆ	,  KÑ0Ô0Ð0Ø×'Ò'Ñ)Ô)Ð*>­3¨{Ñ+;Ô+;¸BÑ+>Ð*>Ô?ˆØ×Ò˜ ;¨s°¨sÔ#3°kÑ#AÑBÔBÐBõ ”K  WÑ-Ô-ˆ	Ø×Ò:¥v¤|Ð4°iÀÈAØ%ñ	'ô 	'ð 	'à×Ò:¥v¤|Ð4°iÀÈAØ%ñ	'ô 	'ð 	'ð 	'ð 	'r"   c                 ó¶   — t          j         dd¦  «        }t          d¦  «        }||fD ]/}t          j        d|¦  «        \  }|                      |d¦  «         Œ0d S )Nr	   s   4Vxz>IixV4)r)  Ú
memoryviewr2   rD   r1   )r5   Údata1Údata2r"  r+   s        r    Útest_unpack_with_bufferz"StructTest.test_unpack_with_bufferÚ  sk   € å”˜CÐ!4Ñ5Ô5ˆÝÐ.Ñ/Ô/ˆØ˜ENð 	0ð 	0ˆDÝ”] 4¨Ñ.Ô.‰FˆEØ×Ò˜U JÑ/Ô/Ð/Ð/ð	0ð 	0r"   c                 óŒ  —  G d„ dt           ¦  «        }t          d¦  «        dz   D ]é}dg g ddf}dgd	d
dddf}|dt          |¦  «        z  z   }t          j        |g|¢R Ž }t          j        ||¦  «        }|dt          |¦  «        z  z   }t          j        |g|¢R Ž }	t          j        ||	¦  «        }
|                      t          |¦  «        t          |
¦  «        ¦  «         |                      t          |¦  «        t          |¦  «        ¦  «         |D ]}|                      |¦  «         Œ|
D ]}|                      |¦  «         Œt          j        |dz   d¦  «        }|                      t          |¦  «        t          j	        |dz   ¦  «        ¦  «         t          |¦  «        dk    r|                      |d|z  ¬¦  «         	 t          j        |dz    |¦   «         ¦  «         |  
                    d|dz   z  ¦  «         ŒÚ# t          $ r Y Œçw xY wdD ]0}|                      t          j        d|¦  «        d         ¦  «         Œ1d S )Nc                   ó   — e Zd Zd„ ZdS )ú+StructTest.test_bool.<locals>.ExplodingBoolc                 ó   — t           ‚r)   )ÚOSErrorr4   s    r    Ú__bool__z4StructTest.test_bool.<locals>.ExplodingBool.__bool__ä  s   € Ýr"   N)rÇ   rÈ   rÉ   r?  r%   r"   r    ÚExplodingBoolr<  ã  s#   € € € € € ðð ð ð ð r"   r@  z<>!=)r   r%   r   r   r0   Útesté   r$   l        g  àÿÿÿßAr   z encoded bool is not one byte: %r)Úmsgz2Expected OSError: struct.pack(%r, ExplodingBool()))r   ó   ó   ÿó   ó   ðz>?)râ   r­   r‚   r2   r3   rD   r1   ÚassertFalserƒ   rB   rã   r>  )r5   r@  rR   ÚfalseÚtrueÚfalseFormatÚpackedFalseÚunpackedFalseÚ
trueFormatÚ
packedTrueÚunpackedTruerQ   r  rO   s                 r    Ú	test_boolzStructTest.test_boolâ  s¡  € ð	ð 	ð 	ð 	ð 	Fñ 	ô 	ð 	õ ˜F‘m”m EÑ)ð "	?ñ "	?ˆFØ˜˜B  AÐ%ˆEØ3˜  2 |°\ÐAˆDà  3­¨U©¬Ñ#3Ñ3ˆKÝ œ+ kÐ:°EÐ:Ð:Ð:ˆKÝ"œM¨+°{ÑCÔCˆMà #­¨D©	¬	¡/Ñ1ˆJÝœ ZÐ7°$Ð7Ð7Ð7ˆJÝ!œ=¨°ZÑ@Ô@ˆLà×ÒS ™YœY­¨LÑ(9Ô(9Ñ:Ô:Ð:Ø×ÒS ™ZœZ­¨]Ñ);Ô);Ñ<Ô<Ð<à"ð $ð $Ø× Ò  Ñ#Ô#Ð#Ð#Ø!ð #ð #Ø—’ Ñ"Ô"Ð"Ð"å”[ ¨¡¨QÑ/Ô/ˆFà×ÒS ™[œ[­&¬/¸&À¹*Ñ*EÔ*EÑFÔFÐFå6‰{Œ{˜aÒÐØ× Ò  Ð-OØ.4ñ.5Ð ñ 6ô 6ð 6ð?Ý”˜F S™L¨-¨-©/¬/Ñ:Ô:Ð:ð —	’	ð -Ø06¸±ñ>ñ ?ô ?ð ?ñ ?øõ ð ð ð Ø‘ðøøøð ?ð 	7ð 	7ˆAØOŠOFœM¨$°Ñ2Ô2°1Ô5Ñ6Ô6Ð6Ð6ð	7ð 	7s   Ç H È 
HÈHc                 óV  — d                      t          j        dz   ¦  «        }|                      t          j        t          j        |¦  «         d                      t          j        dz  t          j        dz  ¦  «        }|                      t          j        t          j        |¦  «         d S )Nz{}br0   z{}b{}Hr?   )rS   rà   rá   r@   r2   rA   rB   )r5   Ú	hugecountÚ
hugecount2s      r    Útest_count_overflowzStructTest.test_count_overflow  sv   € Ø—L’L¥¤¨Q¡Ñ/Ô/ˆ	Ø×Ò&œ,­¬¸ÑCÔCÐCà—_’_¥S¤[°!¡^µS´[À!±^ÑDÔDˆ
Ø×Ò&œ,­¬¸ÑDÔDÐDÐDÐDr"   c                 ó^  — t          j         dd¦  «        }|                      t          j        t          j        d¦  «         |                      t          j        t          j        dd¦  «         |                      t          j        t          j        d|d¦  «         |                      t          j        t          j        d|d¦  «         |                      t          j        t          j        dd¦  «         |                      t          j        t          j        dd¦  «         |                      t          j        t          j        d|dd¦  «         |                      t          j        t          j        d|d¦  «         |                      t          j        t          j        d	d
¦  «         |                      t          j        t          j        d	d¦  «         |                      t          j        t          j        d	|dd
¦  «         |                      t          j        t          j        d	|d¦  «         d S )Nr   r&  Ú12345r"   r   Úc12345r¸   ó   xÚ14s42zspam and eggss   spam and eggs)r)  r@   r2   rA   r3   rD   r*  r  )r5   Ústores     r    Útest_trailing_counterz StructTest.test_trailing_counter  s·  € Ý”˜C Ñ*Ô*ˆð 	×Ò&œ,­¬°WÑ=Ô=Ð=Ø×Ò&œ,­¬°wÀÑDÔDÐDØ×Ò&œ,­Ô(8¸'À5È!ÑLÔLÐLØ×Ò&œ,­Ô(:¸GÀUÈAÑNÔNÐNð 	×Ò&œ,­¬°X¸sÑCÔCÐCØ×Ò&œ,­¬°xÀÑFÔFÐFØ×Ò&œ,­Ô(8¸(ÀEÈ1Øñ	 ô 	 ð 	 à×Ò&œ,­Ô(:¸HÀeØñ	ô 	ð 	ð 	×Ò&œ,­¬°W¸oÑNÔNÐNØ×Ò&œ,­¬°wØ*ñ	,ô 	,ð 	,à×Ò&œ,­Ô(8¸'À5È!Ø)ñ	+ô 	+ð 	+à×Ò&œ,­Ô(:¸GÀUÈAÑNÔNÐNÐNÐNr"   c                 óX   — t          j        d¦  «        }|                     d¦  «         d S )Nr   r>   )r2   r  r©   ©r5   r&   s     r    Útest_Struct_reinitializationz'StructTest.test_Struct_reinitialization-  s+   € õ ŒM˜#ÑÔˆØ	
Š
4ÑÔÐÐÐr"   c                 ó¸   — t          j        d¦  «        }|t          j        d¦  «        |dz   z  z  }t          j        | t          j        |¦  «        |¦  «         d S )NÚ2n3PÚP3n0Pr0   )r   Úcalcobjsizer2   rB   Úcheck_sizeofr  )r5   Ú
format_strÚnumber_of_codesÚ	totalsizes       r    rd  zStructTest.check_sizeof4  sU   € åÔ'¨Ñ/Ô/ˆ	à•V”_ WÑ-Ô-°À1Ñ1DÑEÑEˆ	ÝÔ˜T¥6¤=°Ñ#<Ô#<¸iÑHÔHÐHÐHÐHr"   c                 óÒ  — t           D ]}|                      |d¦  «         Œ|                      dd¦  «         |                      dd¦  «         |                      dd¦  «         |                      dd	¦  «         |                      d
d¦  «         |                      dd¦  «         |                      dd¦  «         |                      dd¦  «         |                      dd	¦  «         d S )Nr0   Ú	BHILfdspPé	   ÁÒ  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBiÒ  Úfdr?   Úxxxxxxxxxxxxxxr   Ú100HÚ187sÚ20prb   Ú0c)r   rd  )r5   r   s     r    Útest__sizeof__zStructTest.test__sizeof__;  s÷   € å!ð 	'ð 	'ˆDØ×Ò˜d AÑ&Ô&Ð&Ð&Ø×Ò˜+ qÑ)Ô)Ð)Ø×Ò˜* dÑ+Ô+Ð+Ø×Ò˜$ Ñ"Ô"Ð"Ø×ÒÐ*¨AÑ.Ô.Ð.Ø×Ò˜& !Ñ$Ô$Ð$Ø×Ò˜& !Ñ$Ô$Ð$Ø×Ò˜% Ñ#Ô#Ð#Ø×Ò˜$ Ñ"Ô"Ð"Ø×Ò˜$ Ñ"Ô"Ð"Ð"Ð"r"   c                 ó~  — d}|                       t          j        |¦  «        5  t          j        dt	          d¦  «        dd¦  «         d d d ¦  «         n# 1 swxY w Y   d}|                       t          j        |¦  «        5  t          j        dt	          d¦  «        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzkpack_into requires a buffer of at least 6 bytes for packing 1 bytes at offset 5 \(actual buffer size is 1\)r   r0   rB  zounpack_from requires a buffer of at least 6 bytes for unpacking 1 bytes at offset 5 \(actual buffer size is 1\))ÚassertRaisesRegexr2   rA   r*  r  r  ©r5   Úregex1Úregex2s      r    Útest_boundary_error_messagez&StructTest.test_boundary_error_messageI  s;  € ð+ð 	ð
 ×#Ò#¥F¤L°&Ñ9Ô9ð 	6ð 	6ÝÔ˜S¥)¨A¡,¤,°°1Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð+ð 	ð
 ×#Ò#¥F¤L°&Ñ9Ô9ð 	5ð 	5ÝÔ˜s¥I¨a¡L¤L°!Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5s#   £%AÁAÁAÂ$B2Â2B6Â9B6c                 óš  — t          d¦  «        }|                      t          j        d¦  «        5  t          j        d|dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          j        d¦  «        5  t          j        d|dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          j        d	¦  «        5  t          j        d|d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          j        d¦  «        5  t          j        d|d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
NrØ   z%no space to pack 4 bytes at offset -2ú<Iéþÿÿÿé{   z*offset -11 out of range for 10-byte bufferz<Biõÿÿÿz.not enough data to unpack 4 bytes at offset -2)r  rt  r2   rA   r*  r  )r5   Ú	byte_lists     r    Ú0test_boundary_error_message_with_negative_offsetz;StructTest.test_boundary_error_message_with_negative_offsetZ  sP  € Ý˜b‘M”Mˆ	Ø×#Ò#Ý”Ø8ñ:ô :ð 	7ð 	7õ Ô˜T 9¨b°#Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð
 ×#Ò#Ý”Ø<ñ>ô >ð 	8ð 	8õ Ô˜T 9¨c°3Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð
 ×#Ò#Ý”ØAñCô Cð 	4ð 	4õ Ô˜t Y°Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð
 ×#Ò#Ý”Ø<ñ>ô >ð 	5ð 	5õ Ô˜t Y°Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5sG   °AÁAÁAÁ?B#Â#B'Â*B'ÃC1Ã1C5Ã8C5ÄE Å EÅEc                 óš  — dt          t          j        dz   ¦  «        z   dz   t          t          j        ¦  «        z   dz   }|                      t          j        |¦  «        5  t	          j        dt          d¦  «        t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   dt          t          j        dz   ¦  «        z   d	z   t          t          j        ¦  «        z   dz   }|                      t          j        |¦  «        5  t	          j        dt          d¦  «        t          j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nz(pack_into requires a buffer of at least rŽ   z% bytes for packing 4 bytes at offset z \(actual buffer size is 10\)rz  rØ   r0   z*unpack_from requires a buffer of at least z' bytes for unpacking 4 bytes at offset )	ró   rà   rá   rt  r2   rA   r*  r  r  ru  s      r    Ú-test_boundary_error_message_with_large_offsetz8StructTest.test_boundary_error_message_with_large_offsetp  sÐ  € ð 8½#½c¼kÈA¹oÑ:NÔ:NÑNØ4ñ5Ý7:½3¼;Ñ7GÔ7GñHà,ñ-ð 	ð
 ×#Ò#¥F¤L°&Ñ9Ô9ð 	Bð 	BÝÔ˜T¥9¨R¡=¤=µ#´+¸qÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð :½CÅÄÈaÁÑ<PÔ<PÑPØ6ñ7Ý9<½S¼[Ñ9IÔ9IñJà,ñ-ð 	ð
 ×#Ò#¥F¤L°&Ñ9Ô9ð 	Að 	AÝÔ˜t¥Y¨r¡]¤]µC´KÑ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	As$   Á /BÂBÂ"BÄ.E Å EÅEc                 óæ   — |                       t          ¦  «        5  t          j        dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          j        dd¦  «        d¦  «         d S )Nr   r   rK   )éa   )r@   rC   r2   rD   r1   r4   s    r    Útest_issue29802zStructTest.test_issue29802‚  s©   € ð ×ÒyÑ)Ô)ð 	"ð 	"ÝŒM˜#˜qÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	×Òœ s¨DÑ1Ô1°:Ñ>Ô>Ð>Ð>Ð>s   ›=½AÁAc                 óú   — t          j        d¦  «        }|                      |j        d¦  «         t          j        |j                             ¦   «         ¦  «        }|                      |j        |j        ¦  «         d S )Nz=i2H)r2   r  r1   rS   r¶   )r5   r&   Ús2s      r    Útest_format_attrzStructTest.test_format_attr‹  sf   € ÝŒM˜&Ñ!Ô!ˆØ×Ò˜œ 6Ñ*Ô*Ð*õ Œ]˜1œ8Ÿ?š?Ñ,Ô,Ñ-Ô-ˆØ×Ò˜œ A¤HÑ-Ô-Ð-Ð-Ð-r"   c                 ó  — d}t          d|¦  «        \  }}}|                      |d¦  «         |                      |                     ¦   «         d¦  «         |                      d|¦  «         |                      d|¦  «         d S )Nzùif 1:
            import struct

            class C:
                def __init__(self):
                    self.pack = struct.pack
                def __del__(self):
                    self.pack('I', -42)

            struct.x = C()
            z-cr   r"   s   Exception ignored in:s	   C.__del__)r   r1   Úrstriprò   )r5   r   ÚrcÚstdoutÚstderrs        r    Ú)test_struct_cleans_up_at_runtime_shutdownz4StructTest.test_struct_cleans_up_at_runtime_shutdown“  s„   € ð
ˆõ .¨d°DÑ9Ô9ÑˆˆFFØ×Ò˜˜QÑÔÐØ×Ò˜Ÿš™œ¨#Ñ.Ô.Ð.ØŠÐ.°Ñ7Ô7Ð7ØŠl FÑ+Ô+Ð+Ð+Ð+r"   c                 óä   — t          j        d¦  «        }t          j        |¦  «        }|                     d¦  «         ~t          j        ¦   «          |                       |¦   «         d¦  «         d S )NÚ_structr   z(_struct module was not garbage collected)r   Úimport_fresh_moduleÚweakrefÚrefrB   ÚgcÚcollectÚassertIsNone)r5   Ú_struct_moduleÚ
module_refs      r    Ú'test__struct_reference_cycle_cleaned_upz2StructTest.test__struct_reference_cycle_cleaned_up¥  sz   € õ
 'Ô:¸9ÑEÔEˆÝ”[ Ñ0Ô0ˆ
Ø×Ò Ñ$Ô$Ð$Øõ 	Œ
‰ŒˆØ×ÒØˆJ‰LŒLÐDñ	Fô 	Fð 	Fð 	Fð 	Fr"   c                 ó>  — t           j        }t          t          j        dd¦  «        ¦  «        }||fD ]i}|                      |¬¦  «        5  |                      t          ¦  «        5  d|_        d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œjd S )Nr   rY  )r!  r0   )r2   r  ÚtypeÚiter_unpackÚsubTestr@   rC   r¸   )r5   r  Úunpack_iteratorr!  s       r    Útest__struct_types_immutablez'StructTest.test__struct_types_immutable´  s  € õ ”ˆÝvÔ1°#°tÑ<Ô<Ñ=Ô=ˆØ˜OÐ,ð 	ð 	ˆCØ—’ #Ñ&Ô&ð ð Ø×&Ò&¥yÑ1Ô1ð ð ØC”Eðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øð	ð 	s6   ÁBÁ&A:Á.BÁ:A>Á>BÂA>ÂBÂB	ÂB	c                 ó¨   — dD ]N}|                       t          j        d¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒOd S )N)ú z2 ir€   zembedded null character)rt  r2   rA   rB   r^  s     r    Útest_issue35714zStructTest.test_issue35714À  s    € à$ð 	#ð 	#ˆAØ×'Ò'­¬Ø(AñCô Cð #ð #å” Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #øð	#ð 	#s   ¥AÁA
	ÁA
	c                 óx  — t          j        d¦  «        }d|j        › }|                      t          j        |¦  «        5  t	          j        dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          j        |¦  «        5  t	          j        dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚ	_testcapiz&ushort format requires 0 <= number <= r   ép r$   )r   Úimport_moduleÚ	USHRT_MAXrt  r2   rA   r3   ©r5   r¢  Ú	error_msgs      r    Útest_issue45034_unsignedz#StructTest.test_issue45034_unsignedÇ  s/  € å!Ô/°Ñ<Ô<ˆ	ØR¸YÔ=PÐRÐRˆ	Ø×#Ò#¥F¤L°)Ñ<Ô<ð 	$ð 	$ÝŒK˜˜UÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$à×#Ò#¥F¤L°)Ñ<Ô<ð 	!ð 	!ÝŒK˜˜RÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s#   ¿A!Á!A%Á(A%ÂB/Â/B3Â6B3c                 óˆ  — t          j        d¦  «        }d|j        › d|j        › }|                      t
          j        |¦  «        5  t          j        dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t
          j        |¦  «        5  t          j        dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¢  zshort format requires z <= number <= r
   r£  iîþÿ)r   r¤  ÚSHRT_MINÚSHRT_MAXrt  r2   rA   r3   r¦  s      r    Útest_issue45034_signedz!StructTest.test_issue45034_signedÐ  s:  € å!Ô/°Ñ<Ô<ˆ	Øc¨YÔ-?ÐcÐcÈyÔOaÐcÐcˆ	Ø×#Ò#¥F¤L°)Ñ<Ô<ð 	$ð 	$ÝŒK˜˜UÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$à×#Ò#¥F¤L°)Ñ<Ô<ð 	%ð 	%ÝŒK˜˜VÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s$   ÁA)Á)A-Á0A-ÂB7Â7B;Â>B;N)$rÇ   rÈ   rÉ   r6   rI   r\   rŒ   rŸ   rï   rú   r  r  r  r#  r0  r4  r9  rQ  rU  r\  r_  rd  r   Úcpython_onlyrr  rx  r~  r€  rƒ  r†  rŒ  r—  r  r   r¨  r¬  r%   r"   r    r.   r.   $   sE  € € € € € ðFð Fð Fð?ð ?ð ?ð*(ð (ð (ð03)ð 3)ð 3)ðj Lð  Lð  LðDXð Xð Xðt>ð >ð >ð0ð 0ð 0ð Að Að AðB?ð ?ð ?ð%ð %ð %ð6 ð  ð  ð8'ð 'ð 'ð.0ð 0ð 0ð)7ð )7ð )7ðVEð Eð EðOð Oð Oð2ð ð ðIð Ið Ið Ôð#ð #ñ Ôð#ð5ð 5ð 5ð"5ð 5ð 5ð,Að Að Að$?ð ?ð ?ð.ð .ð .ð,ð ,ð ,ð$Fð Fð Fð Ôðð ñ Ôðð#ð #ð #ð Ôð!ð !ñ Ôð!ð Ôð%ð %ñ Ôð%ð %ð %r"   r.   c                   ó<   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚUnpackIteratorTestzD
    Tests for iterative unpacking (struct.Struct.iter_unpack).
    c                 óD  ‡ — ˆ fd„}t          j        d¦  «        }|                     d¦  «        } ||¦  «         |                     d¦  «        } ||¦  «         ‰                      t           j        ¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      t           j        ¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }‰                      t           j        ¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      t           j        ¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nc                 óˆ   •— ‰                      | t          j        ¦  «         ‰                      | t          j        ¦  «         d S r)   )ÚassertIsInstancer   ÚIteratorÚIterable)Úitr5   s    €r    Ú_check_iteratorz:UnpackIteratorTest.test_construct.<locals>._check_iteratorà  s9   ø€ Ø×!Ò! "¥c¤lÑ3Ô3Ð3Ø×!Ò! "¥c¤lÑ3Ô3Ð3Ð3Ð3r"   ú>ibcpr"   s   1234567s   123456s   12345678r   s   12)r2   r  rš  r@   rA   )r5   r¶  r&   rµ  s   `   r    Útest_constructz!UnpackIteratorTest.test_constructß  sƒ  ø€ ð	4ð 	4ð 	4ð 	4ð 	4õ ŒM˜'Ñ"Ô"ˆØ]Š]˜3ÑÔˆØˆ˜ÑÔÐØ]Š]˜:Ñ&Ô&ˆØˆ˜ÑÔÐà×Òvœ|Ñ,Ô,ð 	%ð 	%ØMŠM˜)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%à×Òvœ|Ñ,Ô,ð 	'ð 	'ØMŠM˜+Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'õ ŒM˜#ÑÔˆØ×Òvœ|Ñ,Ô,ð 	ð 	ØMŠM˜#ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Òvœ|Ñ,Ô,ð 	!ð 	!ØMŠM˜%Ñ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!sH   Á:BÂB Â#B ÃC(Ã(C,Ã/C,Ä&EÅEÅEÅ2FÆFÆFc                 ó¤   — t          t          j        d¦  «                             d¦  «        ¦  «        }|                      t
          |¦  «         d S )Nr·  r"   )r™  r2   r  rš  r@   rC   )r5   Úiter_unpack_types     r    Útest_uninstantiablez&UnpackIteratorTest.test_uninstantiableô  sE   € Ý¥¤¨gÑ 6Ô 6× BÒ BÀ3Ñ GÔ GÑHÔHÐØ×Ò)Ð%5Ñ6Ô6Ð6Ð6Ð6r"   c                 óè  — t          j        d¦  «        }t          t          dd¦  «        ¦  «        }|                     |¦  «        }|                      t          |¦  «        d¦  «         |                      t          |¦  «        d¦  «         |                      t          |¦  «        d¦  «         |                      t          t          |¦  «         |                      t          t          |¦  «         d S )Nú>IBr0   é   ©irB  ©i	rØ   )ié   )	r2   r  r  rÝ   rš  r1   Únextr@   ÚStopIteration©r5   r&   r   rµ  s       r    Útest_iteratezUnpackIteratorTest.test_iterateø  sÃ   € ÝŒM˜%Ñ Ô ˆÝ•%˜˜2‘,”,ÑÔˆØ]Š]˜1ÑÔˆØ×Ò˜b™œ ?Ñ3Ô3Ð3Ø×Ò˜b™œÐ#3Ñ4Ô4Ð4Ø×Ò˜b™œÐ#3Ñ4Ô4Ð4Ø×Ò-­¨rÑ2Ô2Ð2Ø×Ò-­¨rÑ2Ô2Ð2Ð2Ð2r"   c                 ó¼  — t          j        d¦  «        }t          t          dd¦  «        ¦  «        }|                     t          |¦  «        ¦  «        }|                      t          |¦  «        d¦  «         |                      t          |¦  «        d¦  «         |                      t          t          |¦  «         |                      t          t          |¦  «         d S ©Nr½  r0   é   r¿  rÀ  )
r2   r  r  rÝ   rš  r6  r1   rÂ  r@   rÃ  rÄ  s       r    Útest_arbitrary_bufferz(UnpackIteratorTest.test_arbitrary_buffer  s¬   € ÝŒM˜%Ñ Ô ˆÝ•%˜˜2‘,”,ÑÔˆØ]Š]: a™=œ=Ñ)Ô)ˆØ×Ò˜b™œ ?Ñ3Ô3Ð3Ø×Ò˜b™œÐ#3Ñ4Ô4Ð4Ø×Ò-­¨rÑ2Ô2Ð2Ø×Ò-­¨rÑ2Ô2Ð2Ð2Ð2r"   c                 ó|  — t           j        }t          j        d¦  «        }t	          t          dd¦  «        ¦  «        }|                     |¦  «        }|                       ||¦  «        d¦  «         t          |¦  «         |                       ||¦  «        d¦  «         t          |¦  «         |                       ||¦  «        d¦  «         t          |¦  «         |                       ||¦  «        d¦  «         |  	                    t          t          |¦  «         |                       ||¦  «        d¦  «         d S )Nr½  r0   r¾  r9   r?   r   )ÚoperatorÚlength_hintr2   r  r  rÝ   rš  r1   rÂ  r@   rÃ  )r5   Úlhr&   r   rµ  s        r    Útest_length_hintz#UnpackIteratorTest.test_length_hint  s  € ÝÔ!ˆÝŒM˜%Ñ Ô ˆÝ•%˜˜2‘,”,ÑÔˆØ]Š]˜1ÑÔˆØ×Ò˜˜˜B™œ Ñ#Ô#Ð#ÝˆR‰ŒˆØ×Ò˜˜˜B™œ Ñ#Ô#Ð#ÝˆR‰ŒˆØ×Ò˜˜˜B™œ Ñ#Ô#Ð#ÝˆR‰ŒˆØ×Ò˜˜˜B™œ Ñ#Ô#Ð#Ø×Ò-­¨rÑ2Ô2Ð2Ø×Ò˜˜˜B™œ Ñ#Ô#Ð#Ð#Ð#r"   c           	      óv  — t          j        dt          t          dd¦  «        ¦  «        ¦  «        }|                      t          |¦  «        d¦  «         |                      t          |¦  «        d¦  «         |                      t          t
          |¦  «         |                      t          t
          |¦  «         d S rÇ  )r2   rš  r  rÝ   r1   rÂ  r@   rÃ  )r5   rµ  s     r    Útest_module_funcz#UnpackIteratorTest.test_module_func  s“   € åÔ ¥u­U°1°b©\¬\Ñ':Ô':Ñ;Ô;ˆØ×Ò˜b™œ ?Ñ3Ô3Ð3Ø×Ò˜b™œÐ#3Ñ4Ô4Ð4Ø×Ò-­¨rÑ2Ô2Ð2Ø×Ò-­¨rÑ2Ô2Ð2Ð2Ð2r"   c                 óÈ  — ddddddddt          d	¦  «        fd
t          d¦  «        fdg
}|D ]ƒ\  }}|d d d…         }|                      |t          j        d|¦  «        d         ¦  «         |                      |t          j        d|¦  «        ¦  «         |                      |t          j        d|¦  «        d         ¦  «         |                      |t          j        d|¦  «        ¦  «         t
          j        dk    rZ|                      |t          j        d|¦  «        d         ¦  «         |                      |t          j        d|¦  «        ¦  «         Œ+|                      |t          j        d|¦  «        d         ¦  «         |                      |t          j        d|¦  «        ¦  «         Œ…g d¢}|D ]Ž\  }}|                      t          j	        t          j        d|¦  «        d         ¦  «        ¦  «         |                      t          j	        t          j        d|d d d…         ¦  «        d         ¦  «        ¦  «         Œt          j        dt          j
        ¦  «        }|                      |d         dz  d¦  «         t          j        dt          j
         ¦  «        }|                      |d         dz  d¦  «         g d¢}	|	D ]/\  }}}|                      |t          j        ||¦  «        ¦  «         Œ0g d¢}
|
D ],\  }}|                      t          t          j        ||¦  «         Œ-dg}|D ]/\  }}}|                      |t          j        ||¦  «        ¦  «         Œ0d S )N)s    <r  )s    Àr~   )s   ÿ{g     üï@)s    ç      ?)s    g      p>)ó     g        )s    €g       €s    |z+infs    üz-inf)s   U5g     TÕ?r$   ú<er   ú>eÚlittleÚe))rÔ  s   ü)rÔ  s    þ)rÔ  s   ÿÿ)rÔ  s   |)rÔ  s    ~)rÔ  s   ÿr0   é~   ))rÕ  s    g     `>)rÕ  rÓ  g      `>)rÕ  rÓ  g      P>)rÕ  ó   ÿg     ø?)rÕ  rÙ  güÿÿÿÿû?)rÕ  ó    g     ü?)rÕ  rÚ  rÒ  )rÕ  s   <g    ð?)rÕ  ó   < g     ð?)rÕ  rÛ  g     ð?)rÕ  ó   {ÿiàÿ  )rÕ  rÜ  iïÿ  )rÕ  s   €g     `¾)rÕ  ó   € g      `¾)rÕ  rÝ  g      P¾)rÕ  s   ¼g    ð¿)rÕ  ó   ¼ g     ð¿)rÕ  rÞ  g     ð¿)rÕ  s   ûÿi ÿÿ))rÕ  ç     þï@)rÕ  ç      ð@)rÕ  çœu ˆ<ä7~)rÕ  ç     þïÀ)rÕ  ç      ðÀ)rÕ  çœu ˆ<ä7þ)rÔ  rß  )rÔ  rà  )rÔ  rá  )rÔ  râ  )rÔ  rã  )rÔ  rä  )rÕ  s   gÿg  ÿÿÿýŸ@)Úfloatr1   r2   rD   r3   rà   r   rƒ   r  ÚisnanÚnanr@   r·   )r5   Ú&format_bits_float__cleanRoundtrip_listÚle_bitsrP   Úbe_bitsÚformat_bits__nan_listÚ
formatcodeÚbitsr  Ú format_bits_float__rounding_listÚ%format_bits_float__roundingError_listÚ+format_bits_float__doubleRoundingError_lists               r    Útest_half_floatz"UnpackIteratorTest.test_half_float"  sƒ  € ð ØØ"Ø!Ø!ØØØ% ™-œ-Ð(Ø% ™-œ-Ð(Ø)ð2
Ð.ð Að 	?ñ 	?‰JˆGQØ˜d˜d ˜d”mˆGØ×Ò˜Q¥¤¨d°GÑ <Ô <¸QÔ ?Ñ@Ô@Ð@Ø×Ò˜W¥f¤k°$¸Ñ&:Ô&:Ñ;Ô;Ð;Ø×Ò˜Q¥¤¨d°GÑ <Ô <¸QÔ ?Ñ@Ô@Ð@Ø×Ò˜W¥f¤k°$¸Ñ&:Ô&:Ñ;Ô;Ð;ÝŒ} Ò(Ð(Ø× Ò  ¥F¤M°#°wÑ$?Ô$?ÀÔ$BÑCÔCÐCØ× Ò  ­&¬+°c¸1Ñ*=Ô*=Ñ>Ô>Ð>Ñ>à× Ò  ¥F¤M°#°wÑ$?Ô$?ÀÔ$BÑCÔCÐCØ× Ò  ­&¬+°c¸1Ñ*=Ô*=Ñ>Ô>Ð>Ñ>ð!
ð !
ð !
Ðð !6ð 	Lð 	LÑˆJ˜ØOŠODœJ¥v¤}°T¸4Ñ'@Ô'@ÀÔ'CÑDÔDÑEÔEÐEØOŠODœJ¥v¤}°T¸4ÀÀÀ"À¼:Ñ'FÔ'FÀqÔ'IÑJÔJÑKÔKÐKÐKõ ”˜T¥4¤8Ñ,Ô,ˆØ×Ò˜ œ TÑ)¨4Ñ0Ô0Ð0Ý”˜T¥D¤H 9Ñ-Ô-ˆØ×Ò˜ œ TÑ)¨4Ñ0Ô0Ð0ð,
ð ,
ð ,
Ð(ð, $Dð 	?ð 	?ÑˆJ˜˜aØ×Ò˜T¥6¤;¨z¸1Ñ#=Ô#=Ñ>Ô>Ð>Ð>ð1
ð 1
ð 1
Ð-ð  Cð 	Ið 	I‰MˆJ˜Ø×Òm­V¬[¸*ÀaÑHÔHÐHÐHð 7ð7
Ð3ð $Oð 	?ð 	?ÑˆJ˜˜aØ×Ò˜T¥6¤;¨z¸1Ñ#=Ô#=Ñ>Ô>Ð>Ð>ð	?ð 	?r"   N)rÇ   rÈ   rÉ   Ú__doc__r¸  r»  rÅ  rÉ  rÎ  rÐ  rñ  r%   r"   r    r¯  r¯  Ú  sŒ   € € € € € ðð ð!ð !ð !ð*7ð 7ð 7ð3ð 3ð 3ð3ð 3ð 3ð$ð $ð $ð3ð 3ð 3ðf?ð f?ð f?ð f?ð f?r"   r¯  Ú__main__)Úcollectionsr   r)  r’  r  rË  rí   r2   rà   r  rA  r   Útest.supportr   Útest.support.script_helperr   r   r*   r   r   r!   r'   r,   rî   r.   r¯  rÇ   Úmainr%   r"   r    ú<module>rø     sr  ðØ Ð Ð Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø €€€Ø 
€
€
€
Ø €€€à Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7àŒm˜uÒ$€àJ€Ø(€
à$.ð "ð "ð "ð "ðð ð ð%ð %ð %ðs
%ð s
%ð s
%ð s
%ð s
%Ô"ñ s
%ô s
%ð s
%ðln?ð n?ð n?ð n?ð n?˜Ô*ñ n?ô n?ð n?ðb ˆzÒÐØ€H„MO„O€O€O€Oð Ðr"   