Ë
    qwjxi  ã                   óX  — d gZ ddlZddlZddlZddlZddlZddddddd	d	d
d	d	dddddœZdddddddddddddddœZi 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 G d,„ d-«      Z G d.„ d/e«      Zd0„ Zd1„ Zd2„ Zd3„ Zd4„ Zd5„ Zd6„ Zd7„ Z d8„ Z!d9„ Z"d:„ Z# G d;„ d<e$«      Z%	 	 d>d=„Z&y)?Úreadsavé    Nz>u1z>i2z>i4z>f4z>f8z>c8z|Oz>c16z>u2z>u4z>i8z>u8)é   é   é   é   é   é   é   é   é	   é
   é   é   é   é   é   ÚSTART_MARKERÚCOMMON_VARIABLEÚVARIABLEÚSYSTEM_VARIABLEÚ
END_MARKERÚ	TIMESTAMPÚCOMPILEDÚIDENTIFICATIONÚVERSIONÚHEAP_HEADERÚ	HEAP_DATAÚ	PROMOTE64ÚNOTICEÚDESCRIPTION)r   r   r   r   r	   r   r   r   r   r   é   é   é   é   c                 óh   — | j                  «       }|dz  dk7  r| j                  |dz   |dz  z
  «       y)z+Align to the next 32-bit position in a filer   r   N)ÚtellÚseek)ÚfÚposs     úR/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/io/_idl.pyÚ	_align_32r+   K   s6   € ð �&‰&‹(€CØ
ˆQ�w�!‚|Ø	�‰ˆs�Q‰w˜˜q™Ñ Ô!Ø
ó    c                 ó&   — | j                  |«       y)zSkip `n` bytesN©Úread©r(   Úns     r*   Ú_skip_bytesr2   T   s   € à‡F�Fˆ1„IØ
r,   c                 ó$   — | j                  |«      S )zRead the next `n` bytesr.   r0   s     r*   Ú_read_bytesr4   Z   s   € à�6‰6�!‹9Ðr,   c                 ó~   — t        j                  t        j                  d| j	                  d«      dd «      d   «      S )zRead a single bytez>Br   Nr   r   )ÚnpÚuint8ÚstructÚunpackr/   ©r(   s    r*   Ú
_read_byter;   _   s/   € ä�8‰8”F—M‘M $¨¯©¨q«	°"°1¨Ó6°qÑ9Ó:Ð:r,   c                 óx   — t        j                  t        j                  d| j	                  d«      «      d   «      S )úRead a signed 32-bit integerú>lr   r   ©r6   Úint32r8   r9   r/   r:   s    r*   Ú
_read_longrA   d   ó)   € ä�8‰8”F—M‘M $¨¯©¨q«	Ó2°1Ñ5Ó6Ð6r,   c                 ó~   — t        j                  t        j                  d| j	                  d«      dd «      d   «      S )zRead a signed 16-bit integerz>hr   r   r   )r6   Úint16r8   r9   r/   r:   s    r*   Ú_read_int16rE   i   s/   € ä�8‰8”F—M‘M $¨¯©¨q«	°!°A¨Ó7¸Ñ:Ó;Ð;r,   c                 óx   — t        j                  t        j                  d| j	                  d«      «      d   «      S )r=   z>ir   r   r?   r:   s    r*   Ú_read_int32rG   n   rB   r,   c                 óx   — t        j                  t        j                  d| j	                  d«      «      d   «      S )zRead a signed 64-bit integerz>qr   r   )r6   Úint64r8   r9   r/   r:   s    r*   Ú_read_int64rJ   s   rB   r,   c                 ó~   — t        j                  t        j                  d| j	                  d«      dd «      d   «      S )zRead an unsigned 16-bit integerz>Hr   r   r   )r6   Úuint16r8   r9   r/   r:   s    r*   Ú_read_uint16rM   x   s/   € ä�9‰9”V—]‘] 4¨¯©°«°1°Q¨Ó8¸Ñ;Ó<Ð<r,   c                 óx   — t        j                  t        j                  d| j	                  d«      «      d   «      S )zRead an unsigned 32-bit integerú>Ir   r   )r6   Úuint32r8   r9   r/   r:   s    r*   Ú_read_uint32rQ   }   ó)   € ä�9‰9”V—]‘] 4¨¯©°«Ó3°AÑ6Ó7Ð7r,   c                 óx   — t        j                  t        j                  d| j	                  d«      «      d   «      S )zRead an unsigned 64-bit integerz>Qr   r   )r6   Úuint64r8   r9   r/   r:   s    r*   Ú_read_uint64rU   ‚   rR   r,   c                 óx   — t        j                  t        j                  d| j	                  d«      «      d   «      S )zRead a 32-bit floatz>fr   r   )r6   Úfloat32r8   r9   r/   r:   s    r*   Ú_read_float32rX   ‡   ó)   € ä�:‰:”f—m‘m D¨!¯&©&°«)Ó4°QÑ7Ó8Ð8r,   c                 óx   — t        j                  t        j                  d| j	                  d«      «      d   «      S )zRead a 64-bit floatz>dr   r   )r6   Úfloat64r8   r9   r/   r:   s    r*   Ú_read_float64r\   Œ   rY   r,   c                   ó   — e Zd ZdZd„ Zy)ÚPointerzClass used to define pointersc                 ó   — || _         y ©N)Úindex)Úselfra   s     r*   Ú__init__zPointer.__init__”   s   € ØˆŒ
Ør,   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rc   © r,   r*   r^   r^   ‘   s
   „ Ù'ór,   r^   c                   ó   — e Zd ZdZy)ÚObjectPointerz$Class used to define object pointersN)rd   re   rf   rg   rh   r,   r*   rj   rj   ™   s   „ Ù.Ør,   rj   c                 óz   — t        | «      }|dkD  r(t        | |«      j                  d«      }t        | «       |S d}|S )zRead a stringr   Úlatin1Ú )rA   r4   Údecoder+   )r(   ÚlengthÚcharss      r*   Ú_read_stringrq   ž   sC   € ä˜‹]€FØ�‚zÜ˜A˜vÓ&×-Ñ-¨hÓ7ˆÜ�!Œð €Lð ˆØ€Lr,   c                 ór   — t        | «      }|dkD  r$t        | «      }t        | |«      }t        | «       |S d}|S )z.Read a data string (length is specified twice)r   rm   )rA   r4   r+   )r(   ro   Ústring_datas      r*   Ú_read_string_datart   ©   sC   € ä˜‹]€FØ�‚zÜ˜A“ˆÜ! ! VÓ,ˆÜ�!Œð Ðð ˆØÐr,   c                 óî  — |dk(  r$t        | «      dk7  rt        d«      ‚t        | «      S |dk(  rt        | «      S |dk(  rt        | «      S |dk(  rt	        | «      S |dk(  rt        | «      S |dk(  r1t	        | «      }t	        | «      }t        j                  ||dz  z   «      S |d	k(  rt        | «      S |d
k(  rt        d«      ‚|dk(  r1t        | «      }t        | «      }t        j                  ||dz  z   «      S |dk(  rt        t        | «      «      S |dk(  rt        t        | «      «      S |dk(  rt        | «      S |dk(  rt        | «      S |dk(  rt        | «      S |dk(  rt        | «      S t        d|› d�«      ‚)z*Read a variable with a specified data typer   z*Error occurred while reading byte variabler   r   r   r   r	   y              ð?r
   r   z'Should not be here - please report thisr   r   r   r   r   r   r   zUnknown IDL type: z - please report this)rG   Ú	Exceptionr;   rE   rX   r\   r6   Ú	complex64rt   Ú
complex128r^   rj   rM   rQ   rJ   rU   )r(   ÚdtypeÚrealÚimags       r*   Ú
_read_datar|   µ   s‚  € à�‚zÜ�q‹>˜QÒÜÐHÓIÐIÜ˜!‹}ÐØ	�!ŠÜ˜1‹~ÐØ	�!ŠÜ˜1‹~ÐØ	�!ŠÜ˜QÓÐØ	�!ŠÜ˜QÓÐØ	�!ŠÜ˜QÓˆÜ˜QÓˆÜ�|‰|˜D 4¨"¡9Ñ,Ó-Ð-Ø	�!ŠÜ  Ó#Ð#Ø	�!ŠÜÐAÓBÐBØ	�!ŠÜ˜QÓˆÜ˜QÓˆÜ�}‰}˜T D¨2¡IÑ-Ó.Ð.Ø	�"ŠÜ”{ 1“~Ó&Ð&Ø	�"ŠÜœ[¨›^Ó,Ð,Ø	�"ŠÜ˜A‹ÐØ	�"ŠÜ˜A‹ÐØ	�"ŠÜ˜1‹~ÐØ	�"ŠÜ˜A‹ÐäÐ,¨U¨GÐ3HÐIÓJÐJr,   c           	      ó  — |d   }|d   }g }|D ]”  }|d   s|d   r8|j                  |d   j                  «       |d   ft        j                  f«       ŒE|d   t        v r4|j                  |d   j                  «       |d   ft        |d      f«       Œ„t        d|d   › d�«      ‚ t        j                  j                  |f|¬	«      }t        |«      D ]v  }|D ]o  }|d   }|d   r)t        | |d
   |d      |d   |d      «      ||d      |<   Œ6|d   r t        | ||d
   |d      «      ||d      |<   Œ[t        | |«      ||d      |<   Œq Œx |d   dkD  r5|d   dt        |d   «       }	|	j                  «        |j                  |	«      }|S )z�
    Read a structure, with the array and structure descriptors given as
    `array_desc` and `structure_desc` respectively.
    Ú	nelementsÚtagtableÚ	structureÚarrayÚnameÚtypecodezVariable type ú not implemented©ry   ÚarrtableÚstructtableÚndimsr   ÚdimsN)ÚappendÚlowerr6   Úobject_Ú
DTYPE_DICTrv   ÚrecÚrecarrayÚrangeÚ_read_structureÚ_read_arrayr|   ÚintÚreverseÚreshape)
r(   Ú
array_descÚstruct_descÚnrowsÚcolumnsry   Úcolr€   Úir‰   s
             r*   r‘   r‘   ß   sÜ  € ð �{Ñ#€EØ˜*Ñ%€Gà€EÛˆØˆ{Ò˜s 7š|Ø�L‰L˜3˜v™;×,Ñ,Ó.°°F±Ð<¼b¿j¹jÐIÕJà�:‰¤*Ñ,Ø—‘˜s 6™{×0Ñ0Ó2°C¸±KÐ@Ü$.¨s°:©Ñ$?ðAõ Bô   .°°Z±Ð0AÐAQÐ RÓSÐSð ô —‘—‘  	°�Ó7€Iä�5Ž\ˆÛˆCØ˜
‘OˆEØ�;ÒÜ,;¸AØ&1°*Ñ&=¸cÀ&¹kÑ&JØ&1°-Ñ&@ÀÀVÁÑ&Mó-O�	˜#˜f™+Ñ& qÒ)ð �W’Ü,7¸¸5Ø&1°*Ñ&=¸cÀ&¹kÑ&Jó-L�	˜#˜f™+Ñ& qÒ)ô -7°q¸%Ó,@�	˜#˜f™+Ñ& qÒ)ñ ð ð �'Ñ˜QÒØ˜&Ñ!Ð";¤3 z°'Ñ':Ó#;Ð<ˆØ�‰ŒØ×%Ñ% dÓ+ˆ	àÐr,   c                 óŒ  — |dv r`|dk(  r*t        | «      }||d   k7  rt        j                  dd¬«       t        j                  | j                  |d   «      t        |   ¬«      }n—|dv r:t        j                  | j                  |d   d	z  «      t        |   ¬«      dd
d	…   }nYg }t        |d   «      D ]!  }|}t        | |«      }|j                  |«       Œ# t        j                  |t        j                  ¬«      }|d   dkD  r5|d   d
t        |d   «       }|j                  «        |j                  |«      }t        | «       |S )z`
    Read an array of type `typecode`, with the array descriptor given as
    `array_desc`.
    )	r   r   r   r   r	   r   r   r   r   r   Únbytesz.Not able to verify number of bytes from headerr   ©Ú
stacklevelr…   )r   r   r   Nr~   rˆ   r‰   )rG   ÚwarningsÚwarnr6   Ú
frombufferr/   r�   r�   r|   rŠ   r�   rŒ   r“   r”   r•   r+   )	r(   rƒ   r–   r�   r�   r›   ry   Údatar‰   s	            r*   r’   r’     sH  € ð Ð1Ñ1à�qŠ=Ü  “^ˆFØ˜ HÑ-Ò-Ü—‘ÐNØ)*õ,ô —‘˜aŸf™f Z°Ñ%9Ó:Ü$.¨xÑ$8ô:‰ð 
�WÑ	ô —‘˜aŸf™f Z°Ñ%9¸!Ñ%;Ó<Ü$.¨xÑ$8ô:Ø:;¸$¸Q¸$ñ@‰ð ˆÜ�z +Ñ.Ö/ˆAØˆEÜ˜a Ó'ˆDØ�L‰L˜Õð 0ô
 —‘˜¤b§j¡jÔ1ˆð �'Ñ˜QÒØ˜&Ñ!Ð";¤3 z°'Ñ':Ó#;Ð<ˆØ�‰ŒØ—‘˜dÓ#ˆô ˆa„Là€Lr,   c                 óŽ  — dt        | «      i}t        | «      }|t        | «      j                  t        j                  «      dz  z  }t        | d«       |d   t        vrt        d|d   › �«      ‚t        |d      |d<   |d   dv rÔ|d   dk(  rt        | «      |d<   nt        | «      |d<   t        | d«       t        | «      }|d	   d
k(  r%|| j                  «       k(  rd|d<   �nGt        d«      ‚t        | «      }|dk7  rt        d«      ‚|d   rt        | |d   |d   «      |d<   �n|d   rt        | |d	   |d   «      |d<   �nç|d	   }t        | |«      |d<   �nÑ|d   dk(  r8t        | d«       t        | «      |d<   t        | «      |d<   t        | «      |d<   �n‘|d   dk(  r:t        | «      |d<   t        | «      |d<   t        | «      |d<   t        | «      |d<   �nO|d   dk(  r,t        | «      |d<   t        | «      |d <   t        | «      |d!<   �n|d   d"k(  rt        | «      |d#<   �n|d   d$k(  rt        | «      |d%<   nì|d   d&k(  r7t        | «      |d'<   t!        |d'   «      D �cg c]  }t        | «      ‘Œ c}|d(<   n­|d   d)k(  rEt        | «      |d*<   t        | «      |d+<   t!        |d*   «      D �cg c]  }t        | «      ‘Œ c}|d,<   n`|d   d-k(  rd.|d/<   nR|d   d0k(  rt#        j$                  d1d2¬3«       n2|d   d4k(  rt#        j$                  d5d2¬3«       nt        d6|d   › d7�«      ‚| j'                  |«       |S c c}w c c}w )8z!Function to read in a full recordÚrectypeì        r   zUnknown RECTYPE: )r   r   r   ÚvarnameÚ
heap_indexrƒ   r   Nr£   zUnexpected type code: 0r
   zVARSTART is not 7r€   r–   r—   r�   r   i   ÚdateÚuserÚhostr   ÚformatÚarchÚosÚreleaseÚIDENTIFICATONÚauthorÚtitleÚidcoder   Únoticer    Údescriptionr   ÚnvaluesÚindicesÚCOMMONBLOCKÚnvarsr‚   Úvarnamesr   TÚendÚUNKNOWNzSkipping UNKNOWN recordr   rž   r   zSkipping SYSTEM_VARIABLE recordzrecord['rectype']=r„   )rA   rQ   Úastyper6   rI   r2   ÚRECTYPE_DICTrv   rq   Ú_read_typedescr&   Ú
ValueErrorr‘   r’   r|   rt   r�   r    r¡   r'   )r(   ÚrecordÚnextrecÚrectypedescÚvarstartry   Ú_s          r*   Ú_read_recordrÆ   ;  s�  € ð œ A›Ð'€Fä˜1‹o€GØŒ|˜A‹×%Ñ%¤b§h¡hÓ/°%Ñ7Ñ7€Gä��1ÔàˆiÑ¤Ñ,ÜÐ+¨F°9Ñ,=Ð+>Ð?Ó@Ð@ä$ V¨IÑ%6Ñ7€Fˆ9ÑàˆiÑÐ5Ñ5à�)Ñ 
Ò*Ü ,¨Q£ˆF�9Òä#-¨a£=ˆF�<Ñ Ü˜˜1Ôä$ QÓ'ˆà�zÑ" aÒ'à˜!Ÿ&™&›(Ò"Ø!%��v“ä Ð!:Ó;Ð;ô " !“}ˆHØ˜1Š}ÜÐ 3Ó4Ð4à˜;Ò'Ü!0°°KÀÑ4MØ4?ÀÑ4Nó"P��v“à˜WÒ%Ü!,¨Q°¸JÑ0GØ0;¸LÑ0Ió"K��v“ð $ JÑ/�Ü!+¨A¨uÓ!5��v“à	�	Ñ	˜kÒ	)ä�A�uÔÜ% a›ˆˆv‰Ü% a›ˆˆv‰Ü% a›ˆˆv‹à	�	Ñ	˜iÒ	'ä% a›=ˆˆxÑÜ% a›ˆˆv‰Ü# A“ˆˆt‰Ü(¨›OˆˆyÓà	�	Ñ	˜oÒ	-ä'¨›?ˆˆxÑÜ& q›/ˆˆw‰Ü'¨›?ˆˆxÓà	�	Ñ	˜hÒ	&ä'¨›?ˆˆxÓà	�	Ñ	˜mÒ	+ä 1°!Ó 4ˆˆ}Òà	�	Ñ	˜mÒ	+ä& q›MˆˆyÑÜ49¸&ÀÑ:KÔ4LÓMÑ4L¨qœZ¨�]Ð4LÑMˆˆyÒà	�	Ñ	˜mÒ	+ä$ Q›-ˆˆw‰Ü% a›ˆˆv‰Ü7<¸VÀG¹_Ô7MÓNÑ7M°!œl¨1�oÐ7MÑNˆˆzÒà	�	Ñ	˜lÒ	*àˆˆuŠà	�	Ñ	˜iÒ	'ä�‰Ð/¸AÖ>à	�	Ñ	Ð/Ò	/ä�‰Ð7ÀAÖFô Ð,¨V°IÑ->Ð,?Ð?OÐPÓQÐQà‡F�Fˆ7„Oà€Mùò5 Nùò Os   É$L=Ê1Mc                 ó  — t        | «      t        | «      dœ}|d   dz  dk(  rt        d«      ‚|d   dz  dk(  |d<   |d   dz  dk(  |d<   |d   rt        | «      |d	<   t        | «      |d
<   |S |d   rt        | «      |d	<   |S )z%Function to read in a type descriptor)rƒ   ÚvarflagsrÈ   r   z System variables not implementedr   r�   é    r€   r–   r—   )rA   rv   Ú_read_arraydescÚ_read_structdesc)r(   Útypedescs     r*   r¿   r¿   §  s±   € ô ' q›M´zÀ!³}ÑE€Hà�
Ñ˜aÑ 1Ò$ÜÐ:Ó;Ð;à  Ñ,¨qÑ0°AÑ5€HˆWÑØ$ ZÑ0°2Ñ5¸Ñ;€Hˆ[Ñà�ÒÜ!0°Ó!3ˆ�ÑÜ"2°1Ó"5ˆ�Ñð €Oð 
�'Ò	Ü!0°Ó!3ˆ�Ñà€Or,   c                 ó¼  — dt        | «      i}|d   dk(  rzt        | d«       t        | «      |d<   t        | «      |d<   t        | «      |d<   t        | d«       t        | «      |d<   t        |d   «      D �cg c]  }t        | «      ‘Œ c}|d<   |S |d   d	k(  r°t        j                  d
d¬«       t        | d«       t        | «      |d<   t        | «      |d<   t        | «      |d<   t        | d«       d|d<   g |d<   t        |d   «      D ]:  }t        | «      }|dk7  rt        d«      ‚|d   j                  t        | «      «       Œ< |S t        d|d   › �«      ‚c c}w )z'Function to read in an array descriptorÚarrstartr   r   r�   r~   rˆ   Únmaxr‰   é   z$Using experimental 64-bit array readr   rž   r   zExpected a zero in ARRAY_DESCzUnknown ARRSTART: )rA   r2   r�   r    r¡   rU   rv   rŠ   )r(   Ú	arraydescrÅ   ÚdÚvs        r*   rÊ   rÊ   »  s|  € ð œZ¨›]Ð+€Ià�Ñ Ò!ä�A�qÔä(¨›mˆ	�(ÑÜ!+¨A£ˆ	�+ÑÜ'¨›]ˆ	�'Ñä�A�qÔä& q›Mˆ	�&Ñä49¸)ÀFÑ:KÔ4LÓMÑ4L¨qœZ¨�]Ð4LÑMˆ	�&Ñð4 Ðð1 
�:Ñ	 "Ò	$ä�‰Ð<ÈÕKä�A�qÔä*¨1›oˆ	�(ÑÜ!-¨a£ˆ	�+ÑÜ'¨›]ˆ	�'Ñä�A�qÔàˆ	�&Ñàˆ	�&ÑÜ�y Ñ(Ö)ˆAÜ˜1“ˆAØ�AŠvÜÐ ?Ó@Ð@Ø�fÑ×$Ñ$¤Z°£]Õ3ð	 *ð Ðô Ð,¨Y°zÑ-BÐ,CÐDÓEÐEùò1 Ns   Á6Ec                 ó„  — i }t        | «      }|dk7  rt        d«      ‚t        | «      |d<   t        | «      }t        | «      |d<   t        | «      |d<   |dz  |d<   |dz  |d	<   |d
z  |d<   |d   �st        |d   «      D �cg c]  }t	        | «      ‘Œ c}|d<   |d   D ]  }t        | «      |d<   Œ |d   D �ci c]  }|d   r|d   t        | «      “Œ c}|d<   |d   D �ci c]  }|d   r|d   t        | «      “Œ c}|d<   |d	   s|d   rlt        | «      |d<   t        | «      |d<   t        |d   «      D �cg c]  }t        | «      ‘Œ c}|d<   t        |d   «      D �cg c]  }t        | «      ‘Œ c}|d<   |t        |d   <   |S |d   t        vrt        d«      ‚t        |d      }|S c c}w c c}w c c}w c c}w c c}w )z*Function to read in a structure descriptorr   zSTRUCTSTART should be 9r‚   Úntagsr�   r   Úpredefr   Úinheritsr   Úis_superr   r�   r†   r€   r‡   Ú	classnameÚnsupclassesÚsupclassnamesÚsupclasstablez"PREDEF=1 but can't find definition)rA   rv   rq   r�   Ú_read_tagdescrÊ   rË   ÚSTRUCT_DICT)r(   Ú
structdescÚstructstartrÖ   rÅ   Útags         r*   rË   rË   é  sP  € ð €Jä˜Q“-€KØ�aÒÜÐ1Ó2Ð2ä% a›€JˆvÑÜ˜‹]€FÜ$ Q›-€JˆwÑÜ% a›=€JˆxÑà! A™:€JˆxÑØ# a™Z€JˆzÑØ# a™Z€JˆzÑà�hÓô ,1°¸GÑ1DÔ+Eó"GÙ+E aô #0°Õ"2Ø+Eñ"Gˆ
�:Ñð ˜jÔ)ˆCÜ& q›/ˆC�ŠKð *ð .8¸
Ò-Có"3Ù-C cØ%(¨¢\ð #& f¡+¬¸qÓ/AÑ"AØ-Cñ"3ˆ
�:Ñð
 1;¸:Ò0Fó%:Ù0F¨Ø(+¨KÒ(8ð &)¨¡[Ô2BÀ1Ó2EÑ%EØ0Fñ%:ˆ
�=Ñ!ð �jÒ! Z°
Ò%;Ü&2°1£oˆJ�{Ñ#Ü(2°1«ˆJ�}Ñ%ä).¨z¸-Ñ/HÔ)Ió+KÙ)I A”˜Q•Ð)Iñ+KˆJ�Ñ'ô .3°:¸mÑ3LÔ-Mó+OÙ-M¨Ô  Õ#Ð-Mñ+OˆJ�Ñ'ð +5Œ�J˜vÑ&Ñ'ð Ðð �fÑ¤[Ñ0ÜÐ@ÓAÐAä  ¨FÑ!3Ñ4ˆ
àÐùò?"Gùò"3ùò%:ùò+Kùò+Os   ÂF)Â8F.Ã F3Ä7F8ÅF=c                 óÆ   — dt        | «      i}|d   dk(  rt        | «      |d<   t        | «      |d<   t        | «      }|dz  dk(  |d<   |dz  dk(  |d<   |d   t        v |d<   |S )	z$Function to read in a tag descriptorÚoffsetéÿÿÿÿrƒ   r   r�   rÉ   r€   Úscalar)rA   rU   r�   )r(   ÚtagdescÚtagflagss      r*   rÝ   rÝ     s…   € ð œ A›Ð'€GàˆxÑ˜BÒÜ(¨›Oˆ�Ñä$ Q›-€GˆJÑÜ˜!‹}€Hà !‘| qÑ(€GˆGÑØ# b™=¨BÑ.€GˆKÑØ 
Ñ+¬zÐ9€GˆHÑð €Nr,   c                 ó†  — t        | t        «      r�t        | t        «      rZ| j                  dk(  rd } n7| j                  |v r|| j                     } nt        j                  dd¬«       d } t        | t        «      rŒZt        | |«      \  }}|r|} d| fS t        | t        j                  j                  «      r.t        | «      D ]  \  }}t        ||«      \  }}|sŒ|| |<   Œ d| fS t        | t        j                  «      r.t        | «      D ]  \  }}t        ||«      \  }}|sŒ|| |<   Œ d| fS t        | t        j                  «      ry| j                  j                  t        j                  u rOt        | j                   «      D ]7  }t        | j#                  |«      |«      \  }}|sŒ$|| j%                  d«      |<   Œ9 d| fS d| fS )Nr   zNVariable referenced by pointer not found in heap: variable will be set to Noner   rž   TFrä   )Ú
isinstancer^   ra   r    r¡   Ú_replace_heapr6   rŽ   r�   Ú	enumeraterÁ   Úndarrayry   ÚtyperŒ   r�   ÚsizeÚitemr•   )ÚvariableÚheapÚreplaceÚnewÚirrÁ   ÚivÚvalues           r*   rê   rê   2  s©  € ä�(œGÔ$ä˜¤7Ô+à�~‰~ Ò"Ø‘à—>‘> TÑ)Ø# H§N¡NÑ3‘Hä—M‘Mð #Jà-.õ0ð  $�Hô ˜¤7Õ+ô % X¨tÓ4‰ˆ�áØˆHà�Xˆ~Ðä	�HœbŸf™fŸo™oÔ	.ô $ HÖ-‰JˆB�ä(¨°Ó6‰LˆG�SâØ"�˜’ð .ð �hˆÐä	�HœbŸi™iÔ	(ô # 8Ö,‰IˆB�ä(¨°Ó5‰LˆG�SâØ"�˜’ð -ð �hˆÐä	�HœbŸj™jÔ	)ð �>‰>×Ñ¤"§*¡*Ñ,ä˜HŸM™MÖ*�ä,¨X¯]©]¸2Ó->ÀÓE‘�˜âØ/2�H×$Ñ$ RÓ(¨Ò,ð +ð �hˆÐð �hˆÐr,   c                   óB   ‡ — e Zd ZdZdd„Zˆ fd„Zˆ fd„Zd„ ZeZeZ	ˆ xZ
S )ÚAttrDicta]  
    A case-insensitive dictionary with access via item, attribute, and call
    notations:

        >>> from scipy.io._idl import AttrDict
        >>> d = AttrDict()
        >>> d['Variable'] = 123
        >>> d['Variable']
        123
        >>> d.Variable
        123
        >>> d.variable
        123
        >>> d('VARIABLE')
        123
        >>> d['missing']
        Traceback (most recent error last):
        ...
        KeyError: 'missing'
        >>> d.missing
        Traceback (most recent error last):
        ...
        AttributeError: 'AttrDict' object has no attribute 'missing'
    c                 ó8   — |€i }t         j                  | |«       y r`   )Údictrc   )rb   Úinits     r*   rc   zAttrDict.__init__�  s   € Øˆ<ØˆDÜ�‰�d˜DÕ!r,   c                 ó>   •— t         ‰| �  |j                  «       «      S r`   )ÚsuperÚ__getitem__r‹   )rb   r‚   Ú	__class__s     €r*   rþ   zAttrDict.__getitem__”  s   ø€ Ü‰wÑ" 4§:¡:£<Ó0Ð0r,   c                 ó@   •— t         ‰| �  |j                  «       |«      S r`   )rý   Ú__setitem__r‹   )rb   Úkeyrö   rÿ   s      €r*   r  zAttrDict.__setitem__—  s   ø€ Ü‰wÑ" 3§9¡9£;°Ó6Ð6r,   c                 óx   — 	 | j                  |«      S # t        $ r t        dt        | «      › d|› d�«      d ‚w xY w)NÚ'z' object has no attribute ')rþ   ÚKeyErrorÚAttributeErrorrí   )rb   r‚   s     r*   Ú__getattr__zAttrDict.__getattr__š  sS   € ð	NØ×#Ñ# DÓ)Ð)øÜò 	NÜ Ø”D˜“J�<Ð:¸4¸&ÀÐBóDØIMðNð	Nús   ‚ “&9r`   )rd   re   rf   rg   rc   rþ   r  r  Ú__setattr__Ú__call__Ú__classcell__)rÿ   s   @r*   rø   rø   u  s)   ø„ ñó2"ô
1ô7òNð €KØ„Hr,   rø   c           
      óø
  — g }|s|ri }n
t        «       }t        | d«      }t        |d«      }|dk7  rt        d|› �«      ‚t        |d«      }	|	dk(  r�n–|	dk(  �r‚|rt	        d«       |rt        |d«      }
nt        j                  d	¬
«      }
|rt	        d|
j                  › �«       |
j                  d«       	 t        |«      }|
j                  t        j                  dt        |«      «      «       t        |«      }|t        |«      j                  t        j                   «      dz  z  }|j#                  d«      }t$        |   dk(  r�t        j                   d«      }|
j                  t        j                  dt        |«      |z  «      «       |
j                  t        j                  dt        |||z  z
  |z  «      «      «       |
j                  |«       nâ|j'                  «       }t)        j*                  |j#                  ||z
  «      «      }|
j'                  «       t-        |«      z   dz   }|
j                  t        j                  dt        |dz  «      «      «       |
j                  t        j                  dt        ||dz  z
  dz  «      «      «       |
j                  |«       |
j                  |«       �Œ |j/                  «        |
}|j1                  d«       nt        d|	› �«      ‚	 t3        |«      }|j5                  |«       d|v r|d   rnŒ'|j/                  «        i }|D ]  }|d   dk(  sŒ|d   ||d   <   Œ |D ]=  }|d   dk(  sŒt7        |d   |«      \  }}|r||d<   |d   ||d   j9                  «       <   Œ? |�rà|D ]J  }|d   dk(  sŒt	        d«       t	        d|d   › �«       t	        d|d    › �«       t	        d!|d"   › �«        n |D ][  }|d   d#k(  sŒt	        d«       t	        d$|d%   › �«       t	        d&|d'   › �«       t	        d(|d)   › �«       t	        d*|d+   › �«        n |D ]J  }|d   d,k(  sŒt	        d«       t	        d-|d.   › �«       t	        d/|d0   › �«       t	        d1|d2   › �«        n |D ](  }|d   d3k(  sŒt	        d«       t	        d4|d5   › �«        n t	        d«       t	        d6t-        |«      › d7�«       |D �cg c]  }|d   ‘Œ	 }}t;        |«      D ](  }|dk7  sŒ	t	        d8|j=                  |«      › d9|› �«       Œ* t	        d«       d|v r;t	        d:«       |D ]   }t	        d8|› d;t?        ||   «      › d<�«       Œ" t	        d«       |r|D ]
  }||   ||<   Œ |S |S c c}w )=aâ	  
    Read an IDL .sav file.

    Parameters
    ----------
    file_name : str
        Name of the IDL save file.
    idict : dict, optional
        Dictionary in which to insert .sav file variables.
    python_dict : bool, optional
        By default, the object return is not a Python dictionary, but a
        case-insensitive dictionary with item, attribute, and call access
        to variables. To get a standard Python dictionary, set this option
        to True.
    uncompressed_file_name : str, optional
        This option only has an effect for .sav files written with the
        /compress option. If a file name is specified, compressed .sav
        files are uncompressed to this file. Otherwise, readsav will use
        the `tempfile` module to determine a temporary filename
        automatically, and will remove the temporary file upon successfully
        reading it in.
    verbose : bool, optional
        Whether to print out information about the save file, including
        the records read, and available variables.

    Returns
    -------
    idl_dict : AttrDict or dict
        If `python_dict` is set to False (default), this function returns a
        case-insensitive dictionary with item, attribute, and call access
        to variables. If `python_dict` is set to True, this function
        returns a Python dictionary with all variable names in lowercase.
        If `idict` was specified, then variables are written to the
        dictionary specified, and the updated dictionary is returned.

    Examples
    --------
    >>> from os.path import dirname, join as pjoin
    >>> import scipy.io as sio
    >>> from scipy.io import readsav

    Get the filename for an example .sav file from the tests/data directory.

    >>> data_dir = pjoin(dirname(sio.__file__), 'tests', 'data')
    >>> sav_fname = pjoin(data_dir, 'array_float32_1d.sav')

    Load the .sav file contents.

    >>> sav_data = readsav(sav_fname)

    Get keys of the .sav file contents.

    >>> print(sav_data.keys())
    dict_keys(['array1d'])

    Access a content with a key.

    >>> print(sav_data['array1d'])
    [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
     0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
     0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
     0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
     0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
     0. 0. 0.]

    Úrbr   s   SRzInvalid SIGNATURE: s    s    zIDL Save file is compressedzw+bz.sav)Úsuffixz -> expanding to s   SR r>   r¦   r   r   rO   r   zInvalid RECFMT: r»   r¥   r   r£   r¨   r   r§   r   z2--------------------------------------------------zDate: r©   zUser: rª   zHost: r«   r   zFormat: r¬   zArchitecture: r­   zOperating System: r®   zIDL Version: r¯   r°   zAuthor: r±   zTitle: r²   z	ID Code: r³   r    zDescription: rµ   zSuccessfully read z records of which:z - z are of type zAvailable variables:z [Ú]) rø   Úopenr4   rv   ÚprintÚtempfileÚNamedTemporaryFiler‚   ÚwriterA   r8   Úpackr“   rQ   r½   r6   rI   r/   r¾   r&   ÚzlibÚ
decompressÚlenÚcloser'   rÆ   rŠ   rê   r‹   ÚsetÚcountrí   )Ú	file_nameÚidictÚpython_dictÚuncompressed_file_nameÚverboseÚrecordsÚ	variablesr(   Ú	signatureÚrecfmtÚfoutr¥   rÂ   ÚunknownÚmodvalr)   Ú
rec_stringÚrrñ   rò   ró   rÁ   ÚrectypesÚrtÚvars                            r*   r   r   ¥  sœ  € ðL €GÙ‘eØ‰	ä“Jˆ	ô 	ˆY˜Ó€Aô ˜A˜qÓ!€IØ�EÒÜÐ-¨i¨[Ð9Ó:Ð:ô ˜˜AÓ€Fà�ÒÙà	�;Ó	áÜÐ/Ô0á!ÜÐ.°Ó6‰Dä×.Ñ.°fÔ=ˆDáÜÐ% d§i¡i [Ð1Ô2ð 	�
‰
�=Ô!ð ô ! “mˆGØ�J‰J”v—{‘{ 4¬¨W«Ó6Ô7ô # 1“oˆGØ”| A“×-Ñ-¬b¯h©hÓ7¸%Ñ?Ñ?ˆGð —f‘f˜Q“iˆGô ˜GÑ$¨Ò4ÜŸ™ %›�Ø—
‘
œ6Ÿ;™; t¬S°«\¸FÑ-BÓCÔDØ—
‘
Ü—K‘K ¤c¨7°gÀÑ6FÑ+GÈ6Ñ*QÓ&RÓSôð —
‘
˜7Ô#Øð —&‘&“(ˆCô Ÿ™¨¯©°¸±Ó)<Ó=ˆJð —i‘i“k¤C¨
£OÑ3°bÑ8ˆGð �J‰J”v—{‘{ 4¬¨W°u©_Ó)=Ó>Ô?Ø�J‰J”v—{‘{ 4¬¨g¸À5¹Ñ.IÈUÑ-RÓ)SÓTÔUØ�J‰J�wÔØ�J‰J�zÔ"ñI ðN 	
�‰Œ	ð ˆØ	�‰ˆq�	ô Ð*¨6¨(Ð3Ó4Ð4ð Ü˜‹OˆØ�‰�qÔØ�A‰:Ø�ŠxØð ð ‡G�G„Ið €DÛˆØˆY‰<˜;Ó&Ø$% f¡IˆD��<‘Ò!ð ó
 ˆØˆY‰<˜:Ó%Ü(¨¨6©°DÓ9‰LˆG�SÙØ��&‘	Ø./°©iˆI�a˜	‘l×(Ñ(Ó*Ò+ð ò ó ˆFØ�iÑ  KÓ/Ü�f”Ü˜˜v f™~Ð.Ð/Ô0Ü˜˜v f™~Ð.Ð/Ô0Ü˜˜v f™~Ð.Ð/Ô0Ùð ó ˆFØ�iÑ  IÓ-Ü�f”Ü˜ ¨Ñ!1Ð 2Ð3Ô4Ü˜ v¨f¡~Ð&6Ð7Ô8ÜÐ*¨6°$©<¨.Ð9Ô:Ü˜ f¨YÑ&7Ð%8Ð9Ô:Ùð ó ˆFØ�iÑ  OÓ3Ü�f”Ü˜ ¨Ñ!1Ð 2Ð3Ô4Ü˜  w¡Ð0Ð1Ô2Ü˜	 &¨Ñ"2Ð!3Ð4Ô5Ùð ó ˆFØ�iÑ  MÓ1Ü�f”Ü˜ f¨]Ñ&;Ð%<Ð=Ô>Ùð	 ô 	ˆfŒÜÐ"¤3 w£< .Ð0BÐCÔDñ +2Ó2©' Q�A�i“L¨'ˆÐ2ä�h–-ˆBØ�\Ó!Ü˜˜HŸN™N¨2Ó.Ð/¨}¸R¸DÐAÕBð  ô 	ˆfŒà˜Ñ!ÜÐ(Ô)Û �Ü˜˜C˜5 ¤4¨	°#©Ó#7Ð"8¸Ð:Õ;ð !ä�&ŒMáÛˆCØ" 3™ˆE�#ŠJð àˆàÐùò% 3s   ÓU7)NFNF)'Ú__all__r8   Únumpyr6   r  r  r    r�   r¾   rÞ   r+   r2   r4   r;   rA   rE   rG   rJ   rM   rQ   rU   rX   r\   r^   rj   rq   rt   r|   r‘   r’   rÆ   r¿   rÊ   rË   rÝ   rê   rú   rø   r   rh   r,   r*   Ú<module>r.     s@  ðð< ˆ+€ã Û Û Û Û ð ØØØØØØØØØØØØØØñ€
ð" "Ø$ØØ$ØØØØ$ØØ!ØØØØ!ñ#€ð  €òòòò
;ò
7ò
<ò
7ò
7ò
=ò
8ò
8ò
9ò
9÷
ñ ô	�Gô 	ò
ò	ò'KòT)òX-ò`iòXò(+ò\3òlò&@ôF-ˆtô -ð` 05Ø16ôpr,   