§
    ¢”j2  ã                   óð   — d dl mZ d dlmZ d dlmZ d dlZd dlZ ej        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e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    ©ÚtimestampNow)ÚDefaultTable)ÚreduceNzfontTools.mergec                 ó²   ‡— t          | ¦  «        } t          | ¦  «        }t          |¦  «        Št          ˆfd„|D ¦   «         ¦  «        sJ d| z  ¦   «         ‚‰S )Nc              3   ó$   •K  — | ]
}|‰k    V — Œd S ©N© )Ú.0ÚitemÚfirsts     €úc/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/merge/util.pyú	<genexpr>zequal.<locals>.<genexpr>   s'   øè è € Ð+Ð+ ˆt�uŠ}Ð+Ð+Ð+Ð+Ð+Ð+ó    z"Expected all items to be equal: %s)ÚlistÚiterÚnextÚall)ÚlstÚtr   s     @r   Úequalr      sa   ø€ Ý
ˆs‰)Œ)€CÝˆS‰	Œ	€AÝ�‰GŒG€EÝÐ+Ð+Ð+Ð+¨Ð+Ñ+Ô+Ñ+Ô+ÐWÐWÐ-QÐTWÑ-WÑWÔWÐWØ€Lr   c                 ó:   — t          t          | ¦  «        ¦  «        S r	   )r   r   ©r   s    r   r   r      s   € Ý•�S‘	”	‰?Œ?Ðr   c                 ó   — t           S r	   ©ÚNotImplementedr   s    r   Úrecalculater      s   € ÝÐr   c                 ó   — t          ¦   «         S r	   r   r   s    r   Úcurrent_timer   "   s   € Ý‰>Œ>Ðr   c                 ó6   — t          t          j        | ¦  «        S r	   )r   ÚoperatorÚand_r   s    r   Úbitwise_andr#   &   s   € Ý•(”- Ñ%Ô%Ð%r   c                 ó6   — t          t          j        | ¦  «        S r	   )r   r!   Úor_r   s    r   Ú
bitwise_orr&   *   s   € Ý•(”, Ñ$Ô$Ð$r   c                 ó^   — t          | ¦  «        } t          | ¦  «        t          | ¦  «        z  S r	   )r   ÚsumÚlenr   s    r   Úavg_intr*   .   s$   € Ý
ˆs‰)Œ)€CÝˆs‰8Œ8•s˜3‘x”xÑÐr   c                 ó   ‡ — ˆ fd„}|S )zÒReturns a filter func that when called with a list,
    only calls func on the non-NotImplemented items of the list,
    and only so if there's at least one item remaining.
    Otherwise returns NotImplemented.c                 óD   •— d„ | D ¦   «         }|r ‰|¦  «        nt           S )Nc                 ó$   — g | ]}|t           u¯|‘ŒS r
   r   )r   r   s     r   ú
<listcomp>z1onlyExisting.<locals>.wrapper.<locals>.<listcomp>:   s"   € ÐDÐDÐD˜$¨µ^Ð)CÐ)C�Ð)CÐ)CÐ)Cr   r   )r   ÚitemsÚfuncs     €r   ÚwrapperzonlyExisting.<locals>.wrapper9   s-   ø€ ØDÐD #ÐDÑDÔDˆØ#Ð7ˆtˆt�E‰{Œ{ˆ{­Ð7r   r
   )r0   r1   s   ` r   ÚonlyExistingr2   3   s#   ø€ ð8ð 8ð 8ð 8ð 8ð €Nr   c                 ó>   — g }| D ]}|                      |¦  «         Œ|S r	   )Úextend)r   Úlr   s      r   ÚsumListsr6   @   ó,   € Ø
€AØð ð ˆØ	�Š�‰ŒˆˆØ€Hr   c                 ó>   — i }| D ]}|                      |¦  «         Œ|S r	   )Úupdate)r   Údr   s      r   ÚsumDictsr;   G   r7   r   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó,  •‡— t          | ¦  «        } d}t          ‰d         ¦  «        D ]j}	 ‰|         }n:# t          $ r- 	 ‰d         }n # t          $ r t          d|z  ¦  «        ‚w xY wY nw xY wd|z  Š |ˆfd„| D ¦   «         ¦  «        }|||z  z  }Œk|S )Nr   ÚsizeÚ*zDon't know how to merge bit %sé   c              3   ó<   •K  — | ]}t          |‰z  ¦  «        V — Œd S r	   )Úbool)r   r   Ú
shiftedBits     €r   r   z-mergeBits.<locals>.wrapper.<locals>.<genexpr>[   s0   øè è € Ð$MÐ$MÀ¥T¨$°Ñ*;Ñ%<Ô%<Ð$MÐ$MÐ$MÐ$MÐ$MÐ$Mr   )r   ÚrangeÚKeyErrorÚ	Exception)r   ÚreturnValueÚ	bitNumberÚ
mergeLogicÚmergedValuerC   Úbitmaps        @€r   r1   zmergeBits.<locals>.wrapperO   sñ   øø€ Ý�3‰iŒiˆØˆÝ˜v fœ~Ñ.Ô.ð 
	4ð 
	4ˆIðRØ# IÔ.�
�
øÝð Rð Rð RðRØ!'¨¤�J�JøÝð Rð Rð RÝ#Ð$DÀyÑ$PÑQÔQÐQðRøøøð �JðRøøøð
 ˜i™ˆJØ$˜*Ð$MÐ$MÐ$MÐ$MÈÐ$MÑ$MÔ$MÑMÔMˆKØ˜;¨)Ñ3Ñ3ˆKˆKØÐs'   ¬5µ
A,Á A	ÁA,Á	A&Á&A,Á+A,r
   )rK   r1   s   ` r   Ú	mergeBitsrL   N   s#   ø€ ðð ð ð ð ð  €Nr   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚAttendanceRecordingIdentityDictzYA dictionary-like object that records indices of items actually accessed
    from a list.c                 óv   — || _         d„ t          |¦  «        D ¦   «         | _        t          ¦   «         | _        d S )Nc                 ó4   — i | ]\  }}t          |¦  «        |“ŒS r
   ©Úid©r   ÚiÚvs      r   ú
<dictcomp>z<AttendanceRecordingIdentityDict.__init__.<locals>.<dictcomp>h   s$   € Ð6Ð6Ð6™t˜q !•"�Q‘%”%˜Ð6Ð6Ð6r   )r5   Ú	enumerater:   ÚsetÚs©Úselfr   s     r   Ú__init__z(AttendanceRecordingIdentityDict.__init__f   s3   € ØˆŒØ6Ð6¥y°¡~¤~Ð6Ñ6Ô6ˆŒÝ‘”ˆŒˆˆr   c                 ój   — | j                              | j        t          |¦  «                 ¦  «         |S r	   )rY   Úaddr:   rR   ©r[   rU   s     r   Ú__getitem__z+AttendanceRecordingIdentityDict.__getitem__k   s'   € ØŒ�
Š
�4”6�"˜Q™%œ%”=Ñ!Ô!Ð!Øˆr   N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r\   r`   r
   r   r   rN   rN   b   s<   € € € € € ðð ðð ð ð
ð ð ð ð r   rN   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚGregariousIdentityDictzrA dictionary-like object that welcomes guests without reservations and
    adds them to the end of the guest list.c                 óP   — || _         t          d„ |D ¦   «         ¦  «        | _        d S )Nc              3   ó4   K  — | ]}t          |¦  «        V — Œd S r	   rQ   )r   rU   s     r   r   z2GregariousIdentityDict.__init__.<locals>.<genexpr>v   s(   è è € Ð(Ð(˜q•R˜‘U”UÐ(Ð(Ð(Ð(Ð(Ð(r   )r5   rX   rY   rZ   s     r   r\   zGregariousIdentityDict.__init__t   s+   € ØˆŒÝÐ(Ð( CÐ(Ñ(Ô(Ñ(Ô(ˆŒˆˆr   c                 ó´   — t          |¦  «        | j        vrA| j                             t          |¦  «        ¦  «         | j                             |¦  «         |S r	   )rR   rY   r^   r5   Úappendr_   s     r   r`   z"GregariousIdentityDict.__getitem__x   sH   € Ýˆa‰5Œ5˜œÐÐØŒF�JŠJ•r˜!‘u”uÑÔÐØŒF�MŠM˜!ÑÔÐØˆr   Nra   r
   r   r   rg   rg   p   s<   € € € € € ð/ð /ð)ð )ð )ðð ð ð ð r   rg   c                   ó,   — e Zd ZdZdd„Zd„ Zd„ Zd„ ZdS )ÚNonhashableDictz3A dictionary-like object mapping objects to values.Nc                 óˆ   — |€ d„ t          |¦  «        D ¦   «         | _        d S d„ t          ||¦  «        D ¦   «         | _        d S )Nc                 ó4   — i | ]\  }}t          |¦  «        |“ŒS r
   rQ   rS   s      r   rV   z,NonhashableDict.__init__.<locals>.<dictcomp>„   s$   € Ð;Ð;Ð;¡4 1 a•b˜‘e”e˜QÐ;Ð;Ð;r   c                 ó4   — i | ]\  }}t          |¦  «        |“ŒS r
   rQ   )r   ÚkrU   s      r   rV   z,NonhashableDict.__init__.<locals>.<dictcomp>†   s$   € Ð=Ð=Ð=¡4 1 a•b˜‘e”e˜QÐ=Ð=Ð=r   )rW   r:   Úzip)r[   ÚkeysÚvaluess      r   r\   zNonhashableDict.__init__‚   sI   € Øˆ>Ø;Ð;­9°T©?¬?Ð;Ñ;Ô;ˆDŒFˆFˆFà=Ð=­3¨t°VÑ+<Ô+<Ð=Ñ=Ô=ˆDŒFˆFˆFr   c                 ó6   — | j         t          |¦  «                 S r	   ©r:   rR   ©r[   rq   s     r   r`   zNonhashableDict.__getitem__ˆ   s   € ØŒv•b˜‘e”eŒ}Ðr   c                 ó4   — || j         t          |¦  «        <   d S r	   rv   )r[   rq   rU   s      r   Ú__setitem__zNonhashableDict.__setitem__‹   s   € ØˆŒ�r�!‰uŒu‰ˆˆr   c                 ó0   — | j         t          |¦  «        = d S r	   rv   rw   s     r   Ú__delitem__zNonhashableDict.__delitem__Ž   s   € ØŒF•2�a‘5”5ˆMˆMˆMr   r	   )rb   rc   rd   re   r\   r`   ry   r{   r
   r   r   rm   rm      s[   € € € € € Ø=Ð=ð>ð >ð >ð >ðð ð ðð ð ðð ð ð ð r   rm   )ÚfontTools.misc.timeToolsr   Ú#fontTools.ttLib.tables.DefaultTabler   Ú	functoolsr   r!   ÚloggingÚ	getLoggerÚlogr   r   r   r   r#   r&   r*   r2   r6   r;   rL   ÚobjectrN   rg   rm   r
   r   r   ú<module>rƒ      s‘  ðð
 2Ð 1Ð 1Ð 1Ð 1Ð 1Ø <Ð <Ð <Ð <Ð <Ð <Ø Ð Ð Ð Ð Ð Ø €€€Ø €€€ð €gÔÐ)Ñ*Ô*€ðð ð ðð ð ðð ð ðð ð ð&ð &ð &ð%ð %ð %ð ð  ð  ð

ð 
ð 
ðð ð ðð ð ðð ð ð(ð ð ð ð  fñ ô ð ðð ð ð ð ˜Vñ ô ð ðð ð ð ð �fñ ô ð ð ð r   