§
    ¥”jÿm  ã                   óæ   — d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	Z	ddl
mZ ddlmZmZmZ ddlmZ d	d
lmZmZ d	dlmZ d	dlmZmZmZmZmZ d	dlmZmZ  G d„ d¦  «        Z d„ Z!d„ Z"d„ Z#dS )zFonts integration in PDF.é    N)Úmd5)ÚWARNING)Úceil)Úsubset)ÚTTFontÚ
TTLibErrorÚttFont)ÚinstantiateVariableFonté   )ÚLOGGERÚcapture_logs)ÚPANGO_STRETCH_PERCENT)Ú
FROM_UNITSÚffiÚharfbuzzÚharfbuzz_subsetÚpango)Úget_hb_object_dataÚget_pango_font_hb_facec                   óH   — e Zd Zd„ Zd„ Zd„ Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
dS )	ÚFontc                 óH  ‡— t          j        |¦  «        | _        t          |¦  «        | _        t          | j        ¦  «        | _        t          j        | j        ¦  «        | _	        || _
        t          j        |¦  «        | _        t          j        t          j        |¦  «        ¦  «                             ¦   «         | _        i | _        t          j        |¦  «        }|t          j        k    rHd„ t          j        |¦  «                             ¦   «                              d¦  «        D ¦   «         | _        | j                             d¦  «        x}r*t/          |¦  «        | _        t          j        ||¦  «         nt          j        |¦  «        | _        | j                             d¦  «        r t          j        |t           j        ¦  «         n9| j                             d¦  «        rt          j        |t           j        ¦  «         | j                             d¦  «        xŠ�@t=          t?          j         ¦   «         ˆfd„¬¦  «        d	         }t          j!        ||¦  «         t          j        t          j"        |¦  «        ¦  «        }d
 #                    d„ tI          |d¬¦  «         %                    ¦   «         d d…         D ¦   «         ¦  «        | _&        tO          j        d|¦  «        d         }d| j&         (                    ¦   «         z   dz   | )                    dd¦  «        z   | _*        | j
        r“t          j+        |t          j        ¦  «        }	t/          t          j,        |	¦  «        tZ          z  | j
        z  dz  ¦  «        | _.        t/          t          j/        |	¦  «        tZ          z  | j
        z  dz  ¦  «         | _0        ndx| _.        | _0        t          j1        dd¦  «        }
t          j1        d¦  «        }t          j1        d¦  «        }t          j2        | j        d|
|¦  «         g | _3        ti          |
d         ¦  «        D ][}t          j5        ||         |¦  «         | j3         6                    t          j        |¦  «                             ¦   «         ¦  «         Œ\d| _7        d| j3        v r|d| j3        v rsd| j3        v rct          j8        dd¦  «        }t          j9        | j        |¦  «        }t          j:        |¦  «        dk    rd| _7        t          j;        |¦  «         nd| _7        d| _<        t          j=        | j        ¦  «        | _>        t          j?        | j        ¦  «        | _@        t          jA        | j        ¦  «        | _B        t          jC        | j        ¦  «        | _D        d | _E        d | _F        i | _G        i | _H        i | _I        d| _J        d!| _K        | j        r| xjK        d"z  c_K        d#|                     d¦  «        v r| xjK        d$z  c_K        d S d S )%Nc                 ó’   — i | ]D}|                      d ¦  «        d         t          |                      d ¦  «        d         ¦  «        “ŒES )ú=r   é   )ÚsplitÚfloat)Ú.0Úparts     úc/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/weasyprint/pdf/fonts.pyú
<dictcomp>z!Font.__init__.<locals>.<dictcomp>#   sV   € ð Hð Hð Hàð —
’
˜3‘” Ô"¥E¨$¯*ª*°S©/¬/¸!Ô*<Ñ$=Ô$=ðHð Hð Hó    ú,ÚweightÚitalÚslntÚwdthc                 ó4   •— t          | d         ‰z
  ¦  «        S )Nr   )Úabs)ÚitemÚwidths    €r    ú<lambda>zFont.__init__.<locals>.<lambda>4   s   ø€ ¥ T¨!¤W¨u¡_Ñ!5Ô!5€ r"   )Úkeyr   Ú c              3   ó@   K  — | ]}t          d |dz  z   ¦  «        V — ŒdS )éA   é   N)Úchr©r   Úletters     r    ú	<genexpr>z Font.__init__.<locals>.<genexpr>:   sL   è è € ð Lð LØ&,�C��V˜b‘[Ñ Ñ!Ô!ðLð Lð Lð Lð Lð Lr"   F)Úusedforsecurityé   s    [#@]r   ó   /ó   +ó    ó   -éè  zunsigned int *éd   zhb_tag_t[100]zchar[4]ÚEBDTÚEBLCÚglyfs   glyféÿÿÿÿTéP   é   é@   s   Serifr   )Lr   Úpango_font_get_hb_fontÚhb_fontr   Úhb_facer   Úfile_contentr   Úhb_face_get_indexÚindexÚ	font_sizeÚ pango_font_description_get_styleÚstyler   ÚstringÚ!pango_font_description_get_familyÚdecodeÚfamilyÚ
variationsÚ%pango_font_description_get_variationsÚNULLr   ÚgetÚroundr$   Ú!pango_font_description_set_weightÚ!pango_font_description_get_weightÚ pango_font_description_set_styleÚPANGO_STYLE_ITALICÚPANGO_STYLE_OBLIQUEÚminr   ÚitemsÚ"pango_font_description_set_stretchÚ pango_font_description_to_stringÚjoinr   ÚdigestÚhashÚreÚencodeÚreplaceÚnameÚpango_font_get_metricsÚpango_font_metrics_get_ascentr   ÚascentÚpango_font_metrics_get_descentÚdescentÚnewÚhb_face_get_table_tagsÚtablesÚrangeÚhb_tag_to_stringÚappendÚbitmapÚhb_tag_from_stringÚhb_face_reference_tableÚhb_blob_get_lengthÚhb_blob_destroyÚitalic_angleÚhb_face_get_upemÚupemÚhb_ot_color_has_pngÚpngÚhb_ot_color_has_svgÚsvgÚhb_face_get_glyph_countÚglyph_countÚstemvÚstemhÚwidthsÚ
to_unicodeÚmissingÚused_in_formsÚflags)ÚselfÚ
pango_fontÚdescriptionrK   rR   r$   ÚstretchÚdescription_stringrf   Úpango_metricsÚtable_countÚ
table_tagsÚ
table_nameÚiÚtagÚblobr+   s                   @r    Ú__init__zFont.__init__   s²  ø€ ÝÔ3°JÑ?Ô?ˆŒÝ-¨jÑ9Ô9ˆŒÝ.¨t¬|Ñ<Ô<ˆÔÝÔ/°´Ñ=Ô=ˆŒ
à"ˆŒÝÔ;¸KÑHÔHˆŒ
Ý”jÝÔ3°KÑ@Ô@ñBô BßBHÂ&Á(Ä(ð 	Œð ˆŒÝÔ@ÀÑMÔMˆ
Ø�œÒ!Ð!ðHð HåœJ zÑ2Ô2×9Ò9Ñ;Ô;×AÒAÀ#ÑFÔFðHñ Hô HˆDŒOð ”_×(Ò(¨Ñ2Ô2Ð2ˆ6ð 	OÝ ™-œ-ˆDŒKÝÔ3°KÀÑHÔHÐHÐHåÔAÀ+ÑNÔNˆDŒKØŒ?×Ò˜vÑ&Ô&ð 	8ÝÔ2Ø�UÔ5ñ7ô 7ð 7ð 7àŒ_× Ò  Ñ(Ô(ð 	8ÝÔ2Ø�UÔ6ñ8ô 8ð 8à”_×(Ò(¨Ñ0Ô0Ð0ˆEÐ=ÝÝ%Ô+Ñ-Ô-Ø5Ð5Ð5Ð5ð7ñ 7ô 7à78ô:ˆGõ Ô4°[À'ÑJÔJÐJÝ œZÝÔ2°;Ñ?Ô?ñAô AÐð —G’Gð Lð LåÐ%°uÐ=Ñ=Ô=×DÒDÑFÔFÀrÈÀrÔJðLñ Lô Lñ Lô LˆŒ	õ
 Œx˜Ð"4Ñ5Ô5°aÔ8ˆØ˜4œ9×+Ò+Ñ-Ô-Ñ-°Ñ4°t·|²|ÀDÈ$Ñ7OÔ7OÑOˆŒ	ð Œ>ð 		+Ý!Ô8¸ÅSÄXÑNÔNˆMÝÝÔ3°MÑBÔBÅZÑOØ”ñØ!%ñ&ñ'ô 'ˆDŒKõ "ÝÔ4°]ÑCÔCÅjÑPØ”ñØ!%ñ&ñ'ô 'ð 'ˆDŒLˆLð *+Ð*ˆDŒK˜$œ,õ ”gÐ.°Ñ4Ô4ˆÝ”W˜_Ñ-Ô-ˆ
Ý”W˜YÑ'Ô'ˆ
ÝÔ'¨¬°a¸ÀjÑQÔQÐQØˆŒÝ�{ 1”~Ñ&Ô&ð 	@ð 	@ˆAÝÔ% j°¤m°ZÑ@Ô@Ð@ØŒK×Ò�sœz¨*Ñ5Ô5×<Ò<Ñ>Ô>Ñ?Ô?Ð?Ð?ØˆŒØ�T”[Ð Ð  V¨t¬{Ð%:Ð%:Ø˜œÐ$Ð$ÝÔ1°'¸2Ñ>Ô>�ÝÔ7¸¼ÀcÑJÔJ�ÝÔ.¨tÑ4Ô4¸Ò9Ð9Ø"&�D”KÝÔ(¨Ñ.Ô.Ð.Ð.à"�”ØˆÔÝÔ-¨d¬lÑ;Ô;ˆŒ	ÝÔ/°´Ñ=Ô=ˆŒÝÔ/°´Ñ=Ô=ˆŒÝ#Ô;¸D¼LÑIÔIˆÔØˆŒ
ØˆŒ
ØˆŒØˆŒØˆŒØ"ˆÔð "ˆŒ
ØŒ:ð 	'ØˆJŒJ˜,Ñ&ˆJŒJØ�t—z’z $Ñ'Ô'Ð'Ð'ØˆJŒJ˜,Ñ&ˆJŒJˆJˆJð (Ð'r"   c                 óÄ   — || j         vrK| j        t          | j         ¦  «        z   }|dk    rt          j        d| j        › d�¦  «         d}|| j         |<   | j         |         S )uJ   Get a glyph id thatâ€™s not used in the font, for given Unicode codepoint.iÿÿ  zToo many glyphs missing from "z!", expect text selection problems)r„   r   Úlenr   ÚwarningrQ   )r‡   Ú	codepointÚnext_unused_glyph_ids      r    Úget_unused_glyph_idzFont.get_unused_glyph_idt   s   € à˜DœLÐ(Ð(Ø#'Ô#3µc¸$¼,Ñ6GÔ6GÑ#GÐ Ø# kÒ1Ð1Ý”ð5°T´[ð 5ð 5ð 5ñ6ô 6ð 6ð (3Ð$Ø&:ˆDŒL˜Ñ#ØŒ|˜IÔ&Ð&r"   c                 óØ  — |                       ||¦  «         d| j        v �rŸt          j        | j        ¦  «        }t          || j        ¬¦  «        }d„ |d         j        D ¦   «         }d|v rd| j        vr| j	        | j        d<   d|v rd| j        vr| j
        | j        d<   d|v rLd| j        vrCd}| j        dk    r,|d         j        dk    r|d         j        }n|d         j        }|| j        d<   d	|v r)d	| j        vr t          | j        d
k    ¦  «        | j        d	<   t          j        ¦   «         }	 t          || j        d¬¦  «        }|                     |¦  «         |                     ¦   «         | _        nJ# t$          $ r=}t'          j        d| j        › d�¦  «         t'          j        d|¬¦  «         Y d}~nd}~ww xY w| j        s| j        �r›t          j        | j        ¦  «        }t          || j        ¬¦  «        }	 d| j        vs	d| j        vr€ t3          j        d¦  «        ¦   «         |d<    t3          j        d¦  «        ¦   «         |d<   |                     ¦   «         |d         _        d„ |d         j        D ¦   «         |d         _        n?|d         j        D ]1}	t3          j        d¦  «                             ¦   «         |d         |	<   Œ2dD ]	}
|
|v r||
= Œ
t          j        ¦   «         }|                     |¦  «         |                     ¦   «         | _        dS # t@          $ r>}t'          j        d| j        › d�¦  «         t'          j        d|¬¦  «         Y d}~dS d}~ww xY wdS )zRemove useless data from font.Úfvar©Ú
fontNumberc                 ó   — i | ]
}|j         |“ŒS © )ÚaxisTag)r   Úaxiss     r    r!   zFont.clean.<locals>.<dictcomp>Š   s   € ÐGÐGÐG¨4�D”L $ÐGÐGÐGr"   ÚwghtÚopszr&   r   r   r%   r   T)ÚstaticzUnable to instantiate "z" variable fontúOriginal exception:©Úexc_infoNÚlocar@   c                 ó\   — i | ])}|t          j        d ¦  «                             ¦   «         “Œ*S )r@   )r	   ÚgetTableModuleÚGlyph©r   rf   s     r    r!   zFont.clean.<locals>.<dictcomp>­   sA   € ð -?ð -?ð -?à ð �fÔ3°FÑ;Ô;×AÒAÑCÔCð-?ð -?ð -?r"   )ÚCBDTÚCBLCzSVG zUnable to save emoji font "ú")!r   rn   ÚioÚBytesIOrH   r   rJ   ÚaxesrR   r$   rK   rM   ÚmaxValueÚminValueÚintr
   ÚsaveÚgetvalueÚ	Exceptionr   r–   rQ   Údebugr{   r}   r	   ÚgetTableClassÚgetGlyphOrderÚ
glyphOrderÚglyphsrª   r«   r   )r‡   rƒ   ÚhintingÚ	full_fontÚttfontr²   r&   Úpartial_fontÚ	exceptionÚglyphr�   Úoutput_fonts               r    Úcleanz
Font.clean€   sß  € ð 	�Š�J Ñ(Ô(Ð(ð �T”[Ð Ñ Ýœ
 4Ô#4Ñ5Ô5ˆIÝ˜I°$´*Ð=Ñ=Ô=ˆFØGÐG°6¸&´>Ô3FÐGÑGÔGˆDØ˜ˆ~ˆ~ &°´Ð"?Ð"?Ø*.¬+�” Ñ'Ø˜ˆ~ˆ~ &°´Ð"?Ð"?Ø*.¬.�” Ñ'Ø˜ˆ~ˆ~ &°´Ð"?Ð"?Ø�Ø”: ’?�?Ø˜F”|Ô,°Ò1Ð1Ø# Fœ|Ô4˜˜à# Fœ|Ô4˜Ø*.�” Ñ'Ø˜ˆ~ˆ~ &°´Ð"?Ð"?Ý*-¨d¬j¸AªoÑ*>Ô*>�” Ñ'Ýœ:™<œ<ˆLð<Ý0°¸¼ÐQUÐVÑVÔV�Ø—’˜LÑ)Ô)Ð)ð
 %1×$9Ò$9Ñ$;Ô$;�Ô!Ð!øõ	 ð Hð Hð HÝ”ÐU¸¼ÐUÐUÐUÑVÔVÐVÝ”Ð2¸YÐGÑGÔGÐGÐGÐGÐGÐGÐGøøøøðHøøøð Œ8ð 	H�t”xñ 	HÝœ
 4Ô#4Ñ5Ô5ˆIÝ˜I°$´*Ð=Ñ=Ô=ˆFðHà ¤Ð,Ð,°¸d¼kÐ0IÐ0IØ%A¥VÔ%9¸&Ñ%AÔ%AÑ%CÔ%C�F˜6‘NØ%A¥VÔ%9¸&Ñ%AÔ%AÑ%CÔ%C�F˜6‘NØ06×0DÒ0DÑ0FÔ0F�F˜6”NÔ-ð-?ð -?à$*¨6¤NÔ$=ð-?ñ -?ô -?�F˜6”NÔ)Ð)ð "(¨¤Ô!6ð Vð V˜Ý06Ô0EÀfÑ0MÔ0M×0SÒ0SÑ0UÔ0U˜˜vœ uÑ-Ð-Ø":ð /ð /�JØ! VÐ+Ð+Ø" :Ð.øÝ œj™lœl�Ø—’˜KÑ(Ô(Ð(Ø$/×$8Ò$8Ñ$:Ô$:�Ô!Ð!Ð!øÝð Hð Hð HÝ”ÐK¸T¼[ÐKÐKÐKÑLÔLÐLÝ”Ð2¸YÐGÑGÔGÐGÐGÐGÐGÐGÐGÐGøøøøðHøøøð+	Hð 	Hs1   Ä0,E6 Å6
F=Æ 3F8Æ8F=Ç?DL Ì
M'Ì)3M"Í"M'c                 ó0   — | j         d d…         dk    rdndS )NrC   s   OTTOÚotfÚttf)rH   )r‡   s    r    Útypez	Font.type½   s"   € àÔ)¨"¨1¨"Ô-°Ò8Ð8ˆuˆu¸eÐCr"   c                 ó¤   — |sdS t           r.t          j        ddd¦  «        r|                      ||¦  «         dS |                      ||¦  «         dS )z*Remove unused glyphs and tables from font.NrC   r   r   )r   r   Úhb_version_atleastÚ_harfbuzz_subsetÚ_fonttools_subset)r‡   rƒ   r¾   s      r    r   zFont.subsetÁ   se   € àð 	ØˆFåð 	8�xÔ:¸1¸aÀÑCÔCð 	8à×!Ò! *¨gÑ6Ô6Ð6Ð6Ð6à×"Ò" :¨wÑ7Ô7Ð7Ð7Ð7r"   c                 óÞ  — t          j        t          j        ¦   «         t          j        ¦  «        }t          j        |¦  «        }t          j        dt          |¦  «        › d�t          |¦  «        ¦  «        }t          j
        ||t          |¦  «        ¦  «         t          j        t          j        z  t          j        z  }| j        r|t          j        z  }t          j        ||¦  «         t          j        |t          j        ¦  «        }t'          d„ dD ¦   «         ¦  «        }t          j        dt          |¦  «        › d�|¦  «        }	t          j
        ||	t          |¦  «        ¦  «         t          j        t          j        | j        |¦  «        t          j        ¦  «        }
t          j        |¦  «        }t'          t/          t1          |¦  «        dz   ¦  «        ¦  «        }t          j        dt          |¦  «        › d�|¦  «        }t          j
        ||t          |¦  «        ¦  «         t          j        t          j        z  }|s|t          j        z  }| j        r|t          j        z  }t          j        ||¦  «         t          j        t          j        |
|¦  «        t          j        ¦  «        }
|
rt5          |
¦  «        }|r	|| _        dS t9          j        d| j        › d�¦  «         dS )	zSubset font using Harfbuzz.zhb_codepoint_t[ú]c              3   ó@   K  — | ]}t          j        |d ¦  «        V — ŒdS )rA   N)r   rs   r¬   s     r    r5   z(Font._harfbuzz_subset.<locals>.<genexpr>ã   s?   è è € ð (ð (Àd�HÔ7¸¸bÑAÔAð (ð (ð (ð (ð (ð (r"   )s   BASEs   DSIGs   EBDTs   EBLCs   EBSCs   GPOSs   GSUBs   JSTFs   LTSHs   PCLTs   SVG r   NúUnable to subset "z" with HarfBuzz)r   Úgcr   Úhb_subset_input_create_or_failÚhb_subset_input_destroyÚhb_subset_input_glyph_setrl   r•   Úsortedr   Úhb_set_add_sorted_arrayÚHB_SUBSET_FLAGS_RETAIN_GIDSÚ(HB_SUBSET_FLAGS_PASSTHROUGH_UNRECOGNIZEDÚHB_SUBSET_FLAGS_DESUBROUTINIZEr„   ÚHB_SUBSET_FLAGS_NOTDEF_OUTLINEÚhb_subset_input_set_flagsÚhb_subset_input_setÚHB_SUBSET_SETS_DROP_TABLE_TAGÚtupleÚhb_subset_or_failrG   Úhb_face_destroyro   ÚmaxÚHB_SUBSET_FLAGS_NO_HINTINGr   rH   r   r–   rQ   )r‡   rƒ   r¾   Ú	hb_subsetÚgid_setÚ	gid_arrayr†   Údrop_setÚdrop_tablesÚdrop_tables_arrayrG   ÚkeeprH   s                r    rÌ   zFont._harfbuzz_subsetÌ   sÏ  € å”FÝÔ:Ñ<Ô<ÝÔ3ñ5ô 5ˆ	õ
 "Ô;¸IÑFÔFˆÝ”GÐ@­c°*©o¬oÐ@Ð@Ð@Å&ÈÑBTÔBTÑUÔUˆ	ÝÔ(¨°)½SÀ¹_¼_ÑMÔMÐMõ Ô7ÝÔDñEåÔ:ñ;ð 	ð Œ<ð 	DØ•_ÔCÑCˆEÝÔ1°)¸UÑCÔCÐCõ #Ô6Ø•ÔDñFô Fˆåð (ð (ð O'ð (ñ (ô (ñ (ô (ˆõ  œGÐ$Iµc¸+Ñ6FÔ6FÐ$IÐ$IÐ$IÈ;ÑWÔWÐÝÔ(¨Ð3DÅcÈ+ÑFVÔFVÑWÔWÐWõ ”&ÝÔ-¨d¬l¸IÑFÔFÝÔ$ñ&ô &ˆõ
 "Ô;¸IÑFÔFˆÝ•U�3˜z™?œ?¨QÑ.Ñ/Ô/Ñ0Ô0ˆÝ”GÐ:­c°$©i¬iÐ:Ð:Ð:¸DÑAÔAˆ	ÝÔ(¨°)½SÀ¹Y¼YÑGÔGÐGõ ÔDÝÔ:ñ;ð 	ð ð 	@Ø•_Ô?Ñ?ˆEØŒ<ð 	DØ•_ÔCÑCˆEÝÔ1°)¸UÑCÔCÐCõ ”&ÝÔ-¨g°yÑAÔAÝÔ$ñ&ô &ˆð
 ð 	Ý-¨gÑ6Ô6ˆLØð Ø$0�Ô!Ø�åŒÐH¨D¬KÐHÐHÐHÑIÔIÐIÐIÐIr"   c           
      ó  — t          j        | j        ¦  «        }t          j        ddd|dt          | j        ¦  «        ¬¦  «        }|xj        g d¢z  c_        t          j        |¦  «        }| 	                    |¬¦  «         	 t          || j        ¬¦  «        }t          dt          ¬¦  «        5 }|                     |¦  «         ddd¦  «         n# 1 swxY w Y   |D ]!}t          j        d	| j        › d
|› �¦  «         Œ"	 t          j        ¦   «         }	|                     |	¦  «         |	                     ¦   «         | _        dS # t&          $ r>}
t          j        d| j        › d�¦  «         t          j        d|
¬¦  «         Y d}
~
dS d}
~
ww xY w)zSubset font using Fonttools.T)Úretain_gidsÚpassthrough_tablesÚignore_missing_glyphsr¾   ÚdesubroutinizeÚnotdef_outline)ÚGSUBÚGPOSÚSVG)Úgidsrœ   Ú	fontTools)ÚlevelNz#fontTools warning when subsetting "ú": rÑ   z" with fontToolsr¥   r¦   )r°   r±   rH   r   ÚOptionsÚboolr„   rè   Ú	SubsetterÚpopulater   rJ   r   r   r   r–   rQ   r¶   r·   r   r¹   )r‡   rƒ   r¾   r¿   ÚoptionsÚ	subsetterrÀ   ÚlogsÚlogÚoptimized_fontrÂ   s              r    rÍ   zFont._fonttools_subset  s  € å”J˜tÔ0Ñ1Ô1ˆ	õ ”.Ø°ÈTØ¨DÅÀdÄlÑASÔASðUñ Uô Uˆð 	ÐÔÐ6Ð6Ð6Ñ6ÐÔÝÔ$ WÑ-Ô-ˆ	Ø×Ò 
ÐÑ+Ô+Ð+ð	:Ý˜I°$´*Ð=Ñ=Ô=ˆFÝ˜kµÐ9Ñ9Ô9ð )¸TØ× Ò  Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )àð /ð /�Ý”ð.Øœð.ð .Ø(+ð.ð .ñ/ô /ð /ð /ð/õ  œZ™\œ\ˆNØ�KŠK˜Ñ'Ô'Ð'Ø .× 7Ò 7Ñ 9Ô 9ˆDÔÐÐøõ ð 	Dð 	Dð 	DÝŒNÐM°´ÐMÐMÐMÑNÔNÐNÝŒLÐ.¸ÐCÑCÔCÐCÐCÐCÐCÐCÐCÐCøøøøð	Døøøs<   Â,E Â/CÃE ÃCÃE ÃCÃ'E Å
FÅ3FÆFN)Ú__name__Ú
__module__Ú__qualname__r“   r™   rÅ   ÚpropertyrÉ   r   rÌ   rÍ   rŸ   r"   r    r   r      s˜   € € € € € ð]'ð ]'ð ]'ð~
'ð 
'ð 
'ð;Hð ;Hð ;Hðz ðDð Dñ „XðDð	8ð 	8ð 	8ð>Jð >Jð >Jð@:ð :ð :ð :ð :r"   r   c                 óz  — t          j        ¦   «         }i }|                     ¦   «         D ]0}|                     |j        g ¦  «                             |¦  «         Œ1i }|                     ¦   «         D ]Ò\  }	}
|
d         }|j        rŒi }|r|j        s|
D ]}i |¥|j	        ¥}Œ| 
                    ||d         ¦  «         |j        dk    rt          j        ddi¦  «        }n(t          j        dt          |j        ¦  «        i¦  «        }t          j        |j        g||¬¦  «        }|                      |¦  «         |j        ||	<   ŒÓ|                     ¦   «         D �]á}|r|j        s|j        }|j	        }nØt%          j        |j        ¦  «        }t)          ||j        ¬¦  «        }i i }}t-          |                     ¦   «                              ¦   «         ¦  «        D ]\  }}|j        d	z  |j        z  ||<   Œ|                     ¦   «                              ¦   «         D ]0\  }}|                     |¦  «        }||vrt9          |¦  «        ||<   Œ1t          j        g d
¢|¬¦  «        }|j        }t          |¦  «        }t=          |                     ¦   «         ¦  «        }t?          tA          |dz  ¦  «        ¦  «        D ]¾}tC          d||dz  z
  ¦  «        }|                     |› d� "                    ¦   «         ¦  «         ||dz  |dz   dz  …         D ]S\  }}d #                    d„ |D ¦   «         ¦  «        }|                     d|d›d|› d� "                    ¦   «         ¦  «         ŒT|                     d¦  «         Œ¿| $                    g d¢¦  «         |                      |¦  «         t          j        dd|j        rdnd› �|j%        |j        dœ¦  «        }|j        rtM          || ||||¦  «         n&tO          || |||||j                 |d         ¦  «         |                      |¦  «         |j        ||j        <   �Œã|S )zBuild PDF dictionary for fonts.r   r¾   rÇ   ÚSubtypez	/OpenTypeÚLength1©Úcompressrœ   r<   )ó$   /CIDInit /ProcSet findresource beginó   12 dict beginó	   begincmapó   /CIDSystemInfos   << /Registry (Adobe)s   /Ordering (UCS)s   /Supplement 0s   >> defs!   /CMapName /Adobe-Identity-UCS defs   /CMapType 2 defó   1 begincodespacerangeó   <0000> <ffff>ó   endcodespaceranger=   z beginbfcharr   r.   c              3   óf   K  — | ],}|                      d ¦  «                             ¦   «         › V — Œ-dS )z	utf-16-beN)rd   Úhexr3   s     r    r5   z)build_fonts_dictionary.<locals>.<genexpr>m  sV   è è € ð -Nð -NØ>D�v—}’} [Ñ1Ô1×5Ò5Ñ7Ô7Ð9ð-Nð -Nð -Nð -Nð -Nð -Nr"   ú<Ú04xz> <ú>s	   endbfchar©s   endcmaps-   CMapName currentdict /CMap defineresource popó   endr  ú/Fontz/Typeé   )ÚTyper  ÚBaseFontÚ	ToUnicodeÚpdf_version)(ÚpydyfÚ
DictionaryÚvaluesÚ
setdefaultrb   rq   r]   rr   r…   rƒ   rÅ   rÉ   r•   rH   ÚStreamÚ
add_objectÚ	referencer‚   r°   r±   r   rJ   Ú	enumerateÚgetGlyphSetr+   ry   ÚgetBestCmapÚ
getGlyphIDr2   Ústreamrß   ro   r   r\   rd   r`   Úextendrf   Ú_build_bitmap_font_dictionaryÚ_build_vector_font_dictionary)ÚpdfÚfontsr	  r   rü   Ú	pdf_fontsÚfonts_by_file_hashÚfontÚfont_references_by_file_hashÚ	file_hashÚ
file_fontsrƒ   Ú	file_fontÚ
font_extraÚfont_streamÚfont_widthsr¿   rÀ   r�   rÃ   r4   r-   Úglyph_idÚto_unicode_objectÚto_unicode_streamÚto_unicode_lengthÚto_unicode_itemsÚbatch_lengthÚtextÚunicode_codepointsÚfont_dictionarys                                  r    Úbuild_fonts_dictionaryrB  *  s  € åÔ Ñ"Ô"€IØÐØ—’‘”ð Bð BˆØ×%Ò% d¤i°Ñ4Ô4×;Ò;¸DÑAÔAÐAÐAØ#%Ð Ø!3×!9Ò!9Ñ!;Ô!;ð Hð HÑˆ	�:à˜!Œ}ˆØŒ;ð 	Øð ˆ
Øð 	D˜$Ô,ð 	DØ'ð Dð D�	ØC 
ÐC¨iÔ.BÐC�
�
Ø�
Š
�:˜w yÔ1Ñ2Ô2Ð2ð Œ9˜ÒÐÝÔ)¨9°kÐ*BÑCÔCˆJˆJåÔ)¨9µc¸$Ô:KÑ6LÔ6LÐ*MÑNÔNˆJÝ”l DÔ$5Ð#6¸
ÈXÐVÑVÔVˆØ�Š�{Ñ#Ô#Ð#Ø2=Ô2GÐ$ YÑ/Ð/à—’‘”ð @9ñ @9ˆØð 	7˜$Ô,ð 	7àœ+ˆKØœˆJˆJõ œ
 4Ô#4Ñ5Ô5ˆIÝ˜I°$´*Ð=Ñ=Ô=ˆFØ&(¨"˜ˆKÝ% f×&8Ò&8Ñ&:Ô&:×&AÒ&AÑ&CÔ&CÑDÔDð @ð @‘��5Ø!&¤¨tÑ!3°d´iÑ!?�˜A‘�Ø%×1Ò1Ñ3Ô3×9Ò9Ñ;Ô;ð 7ð 7‘�˜Ø!×,Ò,¨SÑ1Ô1�Ø :Ð-Ð-Ý+.¨v©;¬;�J˜xÑ(øå!œLð *"ð *"ð *"ð -5ð6ñ 6ô 6Ðð .Ô4ÐÝ 
™OœOÐÝ  ×!1Ò!1Ñ!3Ô!3Ñ4Ô4ÐÝ•tÐ-°Ñ3Ñ4Ô4Ñ5Ô5ð 	3ð 	3ˆAÝ˜sÐ$5¸¸C¹Ñ$?Ñ@Ô@ˆLØ×$Ò$¨Ð%BÐ%BÐ%B×%IÒ%IÑ%KÔ%KÑLÔLÐLØ/°°#±°q¸±s¸C±i°Ô@ð Fð F‘��tØ%'§W¢Wð -Nð -NØHLð-Nñ -Nô -Nñ &Nô &NÐ"à!×(Ò(Ø;˜Ð;Ð;Ð;Ð&8Ð;Ð;Ð;×BÒBÑDÔDñFô Fð Fð Fà×$Ò$ \Ñ2Ô2Ð2Ð2Ø× Ò ð "ð "ð "ñ 	ô 	ð 	ð
 	�ŠÐ(Ñ)Ô)Ð)ÝÔ*ØØ8 D¤KÐ6˜q˜q°QÐ8Ð8Øœ	Ø*Ô4ð	,
ð ,
ñ ô ˆð Œ;ð 	QÝ)Ø  d¨K¸À6ñKô Kð Kð Kõ *Ø  d¨K¸Ø,¨T¬YÔ7¸ÀÔ9OñQô Qð Qð 	�Š�Ñ'Ô'Ð'Ø.Ô8ˆ	�$”)ÑÑàÐr"   c                 ó  ‡7‡8‡9— t          j        g d¢¦  «        | d<   t          j        g d¢¦  «        | d<   |r"t          t          |j        ¦  «        ¦  «        }nt          t          d¦  «        ¦  «        }|d         |d         }}g }	t          |¦  «        D ]6}
|
dz
  |vr|	                     |
¦  «         |	                     d	|
› �¦  «         Œ7|| d
<   || d<   t          j        dt          j        |	¦  «        dœ¦  «        | d<   t          j        i ¦  «        }t          j	        |j
        ¦  «        }t          ||j        ¬¦  «        }|d         j        d         }dg||z
  dz   z  }i }|                     ¦   «         D �]Œ\  }}
|
                     ¦   «         }|                     |¦  «        }|dk    r—|
j        }|d         j        d         j        }|D ]T}|j        }|j        }||cxk    r|k    r7n Œ |j        j        }|j        j        x}Š9|j        j        }|j        j        } n!ŒUt7          j        d|j        › d|› �¦  «         ŒËnŠ|dv rdnd}|
j        |d …         }|
j        dd…         \  }Š9t<                               |
j        dd…         dd¬¦  «        }t<                               |
j        dd…         dd¬¦  «        }|
j        d         }||z
  }||v r||||z
  <   tA          ‰9dz  ¦  «        }‰9||||d d dœx}||<   d‰9|fv s|sd|d<   �Œ—|d v r||d<   �Œ¢|d!v rÃd‰9dz  z
  dz  Š8tC          t=          | "                    ¦   «         d"¦  «        ¦  «        dd …         Š7‰7 #                    dtI          |¦  «        z  ¦  «        Š7d# %                    ˆ7ˆ8ˆ9fd$„t          |¦  «        D ¦   «         ¦  «        } t=          | d¦  «         &                    ||z  d¦  «        |d<   �Œi|d%v rëg x}!|d&<   |d'k    rdnd}"t<                               ||"|"dz   …         d¦  «        }#t          |#¦  «        D ]¢}$|"dz   |$dz  z   }%t<                               ||%|%dz   …         d¦  «        }&t<                               ||%dz   |%dz   …         dd¬¦  «        }'t<                               ||%dz   |%dz   …         dd¬¦  «        }(|!                     |&|'|(d(œ¦  «         Œ£�ŒXt7          j        d)|j        › d*|› �¦  «         tO          ||z  ¦  «        |d<   �ŒŽ|                     ¦   «         D �].\  }}||vrŒ|d+         }|d,         Š9|d-         }|d.         }'|d/         }(|d         �€Š||z  })t<                               tO          |)¦  «        d¦  «        }*|d&         D �]<}+|+d.         },|+d/         }-|+d0         }.|.|vr t7          j        d1|j        › d*|.› �¦  «         Œ?||.         }+|+d         € t7          j        d2|j        › d*|.› �¦  «         Œot          |+d-         ¦  «        D ]·}/tQ          |/|+d+         z  |/dz   |+d+         z  ¦  «        }0|+d         |0         }1t<                               |1d¦  «        }2|dz  ||-z
  |/z
  dz
  z  }3||+d+         z
  }4|4dk    r	|2|4dz  z  }2n|4dk     r	|2|4 dz  z  }2|,dk    r|2|,z  }2n|,dk     r|2|, z  }2|2d|dz  z  z  }2|2|3z  }2|*|2z  }*Œ¸�Œ>|* &                    |)d¦  «        }5n|d         }5t          j)        d3‰9› d4|› d5|'› d5|(› d6� *                    ¦   «         d7d8d9‰9d:|d;d<d=|5d>g|¬?¦  «        }6| +                    |6¦  «         |6j,        ||<   �Œ0| +                    |¦  «         t          j        |¦  «        | d@<   |j,        | dA<   d S )BN)r   r   r   r   ÚFontBBox)r   r   r   r   r   r   Ú
FontMatrixé   r   rA   r   ú/Ú	FirstCharÚLastCharz	/Encoding)r  ÚDifferencesÚEncodingrœ   r>   é   r?   zUnknown bitmap metrics in "z" for glyph: )r   r   é   rM  r   r  ÚbigT)ÚsignedrC   )r+   ÚheightÚxÚyÚstriderr   Ú	subglyphsr"   rr   )r   r7   )r   rL  é   é   r.   c              3   óJ   •K  — | ]}‰|‰z  |d z   ‰z  …         ‰dz  z   V — ŒdS )r   Ú0NrŸ   )r   r�   ÚbitsÚpaddingr+   s     €€€r    r5   z0_build_bitmap_font_dictionary.<locals>.<genexpr>Ù  sV   øè è € ð "(ð "(àð �Q˜‘Y  A¡¨™Ð.Ô/°'¸C±-Ñ?ð"(ð "(ð "(ð "(ð "(ð "(r"   )rM  é	   rT  r[  )ÚidrQ  rR  z$Unsupported bitmap glyph format in "r÷   rS  r+   rP  rQ  rR  r\  zUnknown subglyph in "z%Unsupported subglyph in subglyph in "s   0 0 d0z 0 0 ú z cms   BIs   /IM trues   /Ws   /Hs   /BPC 1s   /D [1 0]s   IDs   EIr  ÚWidthsÚ	CharProcs)-r  ÚArrayrß   rÖ   rƒ   ro   rq   r  r°   r±   rH   r   rJ   Ú
strikeDatar]   Ú	getFormatr(  ÚdataÚstrikesÚindexSubTablesÚfirstGlyphIndexÚlastGlyphIndexÚmetricsrP  r+   ÚhoriBearingXÚhoriBearingYr   r–   rQ   rµ   Ú
from_bytesr   Úbinr  Úzfillr•   r`   Úto_bytesÚbytesÚslicer"  rd   r#  r$  ):rA  r-  r1  r‚   r	  r   ÚcharsÚfirstÚlastÚdifferencesrÃ   Ú
char_procsr¿   rÀ   Úfont_glyphsÚglyphs_infor-   Úglyph_formatr9  rc  Ú	subtablesÚsubtableÚfirst_indexÚ
last_indexrP  ÚadvanceÚ	bearing_xÚ	bearing_yÚ
data_startÚ
position_yrS  Ú
glyph_infoÚbitmap_bitsrT  r�   Únumber_of_componentsÚjrJ   Úsubglyph_idrQ  rR  ÚlengthÚ
bitmap_intÚsubglyphÚsub_xÚsub_yÚsub_idÚrow_yÚ	row_sliceÚrowÚrow_intÚshiftÚstride_differencerr   Úbitmap_streamrY  rZ  r+   s:                                                          @@@r    r+  r+  Œ  sA	  øøø€ å"'¤+¨l¨l¨lÑ";Ô";€O�JÑÝ$)¤KÐ0BÐ0BÐ0BÑ$CÔ$C€O�LÑ!Øð "Ý•f˜Tœ_Ñ-Ô-Ñ.Ô.ˆˆå•e˜C‘j”jÑ!Ô!ˆØ˜”(˜E "œIˆ4€EØ€KÝ˜‘”ð (ð (ˆØ�1‰9˜FÐ"Ð"Ø×Ò˜uÑ%Ô%Ð%Ø×Ò˜;˜u˜;˜;Ñ'Ô'Ð'Ð'Ø#(€O�KÑ Ø"&€O�JÑÝ"'Ô"2ØÝ”{ ;Ñ/Ô/ð4ð 4ñ #ô #€O�JÑõ Ô! "Ñ%Ô%€JÝ”
˜4Ô,Ñ-Ô-€IÝ�I¨$¬*Ð5Ñ5Ô5€FØ˜”.Ô+¨AÔ.€KØˆS�D˜5‘L 1Ñ$Ñ%€FØ€KØ!×'Ò'Ñ)Ô)ð D:ñ D:‰
ˆˆUØ—’Ñ(Ô(ˆØ×$Ò$ SÑ)Ô)ˆð ˜1ÒÐØ”:ˆDØ˜vœÔ.¨qÔ1Ô@ˆIØ%ð ð �Ø&Ô6�Ø%Ô4�
Ø (Ð8Ð8Ò8Ð8¨jÒ8Ð8Ð8Ð8Ð8Ø%Ô-Ô4�FØ&.Ô&6Ô&<Ð<�G˜eØ (Ô 0Ô =�IØ (Ô 0Ô =�IØ�Eð 9õ ”ØV°$´+ÐVÐVÈHÐVÐVñXô Xð Xàð	 ð +¨iÐ7Ð7˜˜¸QˆJØ”:˜j˜k˜kÔ*ˆDØ!œJ q¨ sœO‰MˆF�EÝŸš u¤z°!°A°#¤¸Àd˜ÑKÔKˆIÝŸš u¤z°!°A°#¤¸Àd˜ÑKÔKˆIØ”j ”mˆGØ Ñ'ˆ
Ø�uÐÐØ'.ˆF�8˜eÑ#Ñ$Ý�e˜a‘i‘”ˆàØØØØØØð.
ð .
ð 	
ˆ
�[ Ñ*ð �˜�ÐÐ tÐØ#&ˆJ�xÑ Ñ Ø˜VÐ#Ð#Ø#'ˆJ�xÑ Ñ Ø˜YÐ&Ð&Ø˜E A™I‘¨!Ñ+ˆGÝ•s˜4Ÿ8š8™:œ: rÑ*Ô*Ñ+Ô+¨A¨B¨BÔ/ˆDØ—:’:˜a¥# d¡)¤)™mÑ,Ô,ˆDØŸ'š'ð "(ð "(ð "(ð "(ð "(ð "(å˜v™œð"(ñ "(ô "(ñ (ô (ˆKõ $' {°AÑ#6Ô#6×#?Ò#?ÀÈÁÐQVÑ#WÔ#WˆJ�xÑ Ñ Ø˜VÐ#Ð#Ø24Ð4ˆI˜
 ;Ñ/Ø! QÒ&Ð&��¨AˆAÝ#&§>¢>°$°q¸¸1¹°u´+¸uÑ#EÔ#EÐ ÝÐ/Ñ0Ô0ð Fð F�Ø˜Q™ 1 q¡5Ñ)�Ý!Ÿnšn¨T°%¸¸a¹°-Ô-@À%ÑHÔH�Ý—N’N 4¨¨a©°°a±¨Ô#8¸%È�NÑMÔM�Ý—N’N 4¨¨a©°°a±¨Ô#8¸%È�NÑMÔM�Ø× Ò ¨¸!À!Ð!DÐ!DÑEÔEÐEÐEñFõ ŒNØU°t´{ÐUÐUÀ|ÐUÐUñWô Wð Wå#(¨°&©Ñ#9Ô#9ˆJ�xÑ Ñ à +× 1Ò 1Ñ 3Ô 3ð >7ñ >7Ñˆ�*à˜5Ð Ð Øð ˜HÔ%ˆØ˜7Ô#ˆØ˜HÔ%ˆØ�sŒOˆØ�sŒOˆØ�hÔÑ'Ø˜f‘_ˆFÝŸš­¨f©¬°uÑ=Ô=ˆJØ& {Ô3ð  *ñ  *�Ø  œ�Ø  œ�Ø! $œ�Ø Ð,Ð,Ý”NÐ#S¸4¼;Ð#SÐ#SÈ6Ð#SÐ#SÑTÔTÐTØØ& vÔ.�Ø˜HÔ%Ð-å”Nð5Ø œKð5ð 5Ø,2ð5ð 5ñ6ô 6ð 6ð Ý" 8¨HÔ#5Ñ6Ô6ð *ð *�EÝ %Ø ¨Ô 2Ñ2Ø ™ h¨xÔ&8Ñ8ñ!:ô !:�Ið # 8Ô,¨YÔ7�CÝ!Ÿnšn¨S°%Ñ8Ô8�GØ" Q™J¨&°5©.¸5Ñ*@À1Ñ*DÑE�EØ(.°¸(Ô1CÑ(CÐ%Ø(¨1Ò,Ð,ØÐ$5¸Ñ$9Ñ9˜˜Ø*¨QÒ.Ð.ØÐ%6Ð$6¸Ñ$:Ñ:˜Ø˜q’y�yØ EÑ)˜˜Ø š˜Ø U FÑ*˜Ø˜q F¨Q¡J™Ñ.�GØ Ñ%�GØ 'Ñ)�J�Jñ%*ð&  ×(Ò(¨°Ñ7Ô7ˆFˆFà Ô)ˆFÝœØØÐ.Ð.˜6Ð.Ð. AÐ.Ð.¨Ð.Ð.Ð.×5Ò5Ñ7Ô7ØØØ�5Ø�6ØØØ�6˜5ð
&
ð ð
ñ 
ô 
ˆð 	�Š�}Ñ%Ô%Ð%Ø,Ô6ˆ
�8ÑÑà‡N‚N�:ÑÔÐÝ %¤¨FÑ 3Ô 3€O�HÑØ#-Ô#7€O�KÑ Ð Ð r"   c                 ó¨	  — d|j         dk    rdnd› �}|r!t          |                     ¦   «         ¦  «        nd}d|j        ||j        f}	|j        }
t          |¦  «        dk    r<t          t          |j                             ¦   «         ¦  «        ¦  «        dk    r|
dz  }
t          j
        ddd	|j        d
t          j        |j        ¦  «        d|
dt          j        |	¦  «        d|j        d|j        d|j        d|	d         d|j        d|j        ||i¦  «        }t%          |¦  «        dk    r­t'          |j        ¦  «        }t)          |d         dz   dz  ¦  «        }dg|z  dz  }|D ]}d||<   Œt          j        t-          d                     |¦  «        d¦  «                             |d¦  «        f|¬¦  «        }|                     |¦  «         |j        |d<   |                     |¦  «         t          j        ¦   «         }t'          |¦  «        D ]a}|dz
  |vr=|                     |¦  «         t          j        ¦   «         }|                     |¦  «         |                     ||         ¦  «         Œbt          j
        dd|j         dk    rdnd› �|j        t          j
        t          j        d¦  «        t          j        d¦  «        dd œ¦  «        d!||j        d"œ¦  «        }|                     |¦  «         |j        �r³t          j
        d#d$t          j
        t          j        d¦  «        t          j        d¦  «        dd œ¦  «        d%œ¦  «        }t          j        g d&¢||¬¦  «        }t;          |j        ¦  «        }t          |¦  «        }t?          t)          |d'z  ¦  «        ¦  «        D ]É}tA          d'||d'z  z
  ¦  «        }|j!                             |› d(� "                    ¦   «         ¦  «         ||d'z  |dz   d'z  …         D ]T}||j                             ¦   «         v rdn|}|j!                             d)|d*›d+|› � "                    ¦   «         ¦  «         ŒU|j!                             d,¦  «         ŒÊ|j!         #                    g d-¢¦  «         |                     |¦  «         |j        | d.<   nd/| d.<   t          j        |j        g¦  «        | d0<   d S )1NÚFontFilerÇ   r  r   r   r   r  z/FontDescriptorÚFontNameÚ
FontFamilyÚFlagsrD  ÚItalicAngleÚAscentÚDescentÚ	CapHeightÚStemVÚStemHz1.4rA   rM  rX  Ú1r.   rN  r  ÚCIDSetr  z/CIDFontTypeÚAdobeÚIdentity)ÚRegistryÚOrderingÚ
Supplementz	/Identity)r  r  r  ÚCIDSystemInfoÚCIDToGIDMapÚWÚFontDescriptorz/CMapz/WP-Encod-0)r  ÚCMapNamer¦  )r
  r  r  r  s   3 dict dup begins   /Registry (Adobe) defs   /Ordering (Identity) defs   /Supplement 0 defs   end defs   /CMapName /WP-Encod-0 defs   /CMapType 1 defr  r  r  r=   z begincidcharr  r  z> s
   endcidcharr  rK  z/Identity-HÚDescendantFonts)$rÉ   râ   r   rk   ri   r†   r•   Úsetr‚   r  r  rf   ÚStringrQ   r`  rw   r€   r�   ÚstrrÖ   r   r"  rµ   r`   rn  r#  r$  rq   r„   rß   rƒ   ro   r\   r)  rd   r*  )rA  r-  r1  r‚   r	  r$  r  Ú	font_fileÚmax_xÚbboxr†   Úfont_descriptorÚcidsÚpadded_widthrY  Úcidr)  Ú
pdf_widthsr�   Úcurrent_widthsÚsubfont_dictionaryÚ
cmap_extraÚencodingÚ	availableÚavailable_lengthr>  r9  Úfont_glyph_ids                               r    r,  r,  1  s6  € à; ¤	¨UÒ 2Ð 2˜1˜1¸Ð;Ð;€IØ$*Ð1�C�—’‘”Ñ Ô Ð °€EØˆtŒ|˜U D¤KÐ0€DØŒJ€EÝ
ˆ6�{„{�Q‚€�3�s 4¤;×#5Ò#5Ñ#7Ô#7Ñ8Ô8Ñ9Ô9¸QÒ>Ð>Ø�ÑˆÝÔ&ØÐ!Ø�D”IØ•e”l 4¤;Ñ/Ô/Ø�Ø•E”K Ñ%Ô%Ø�tÔ(Ø�$”+Ø�4”<Ø�T˜!”WØ�”Ø�”Ø�9ð(ñ ô €Oõ ˆ;ÑÔ˜5Ò Ð Ý�d”kÑ"Ô"ˆÝ˜T "œX¨™\¨QÑ.Ñ/Ô/ˆØˆu�|Ñ# aÑ'ˆØð 	ð 	ˆCØˆD�‰IˆIÝ”Ý�—’˜‘” Ñ"Ô"×+Ò+¨L¸%Ñ@Ô@ÐBØðñ ô ˆð 	�Š�vÑÔÐØ$*Ô$4ˆ˜Ñ!Ø‡N‚N�?Ñ#Ô#Ð#å”‘”€JÝ�F‰^Œ^ð )ð )ˆØˆq‰5˜ÐÐØ×Ò˜aÑ Ô Ð Ý"œ[™]œ]ˆNØ×Ò˜nÑ-Ô-Ð-Ø×Ò˜f QœiÑ(Ô(Ð(Ð(åÔ)ØØB t¤y°EÒ'9Ð'9 ! !¸qÐBÐBØ”IÝÔ)Ýœ WÑ-Ô-Ýœ ZÑ0Ô0Øð+
ð +
ñ ô ð
 #ØØ)Ô3ð+ð +ñ ô Ðð ‡N‚NÐ%Ñ&Ô&Ð&Ø„|ñ .4õ Ô%ØØ%Ý"Ô-Ý!œL¨Ñ1Ô1Ý!œL¨Ñ4Ô4Øð/ð /ñ ô ð'
ð '
ñ ô ˆ
õ ”<ð !
ð !
ð !
ð  ð*ñ *ô *ˆõ  ˜$œ/Ñ*Ô*ˆ	Ý˜y™>œ>ÐÝ•tÐ,¨sÑ2Ñ3Ô3Ñ4Ô4ð 	2ð 	2ˆAÝ˜sÐ$4°q¸3±wÑ$>Ñ?Ô?ˆLØŒO×"Ò" lÐ#AÐ#AÐ#A×#HÒ#HÑ#JÔ#JÑKÔKÐKØ% a¨¡e¨Q¨q©S°#©I oÔ6ð Uð U�Ø%-°´×1DÒ1DÑ1FÔ1FÐ%FÐ%F  ÈH�Ø”×&Ò&Ð'J¨8Ð'JÐ'JÐ'J¸=Ð'JÐ'J×'QÒ'QÑ'SÔ'SÑTÔTÐTÐTØŒO×"Ò" =Ñ1Ô1Ð1Ð1ØŒ×Òð  ð  ð  ñ 	ô 	ð 	ð
 	�Š�xÑ Ô Ð Ø&.Ô&8ˆ˜
Ñ#Ð#ð '4ˆ˜
Ñ#Ý).¬Ð6HÔ6RÐ5SÑ)TÔ)T€OÐ%Ñ&Ð&Ð&r"   )$Ú__doc__r°   rc   Úhashlibr   Úloggingr   Úmathr   r  rõ   r   ÚfontTools.ttLibr   r   r	   ÚfontTools.varLib.instancerr
   Úloggerr   r   Útext.constantsr   Útext.ffir   r   r   r   r   Ú
text.fontsr   r   r   rB  r+  r,  rŸ   r"   r    ú<module>rÈ     s„  ðØ Ð à 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø >Ð >Ð >Ð >Ð >Ð >à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CðS:ð S:ð S:ð S:ð S:ñ S:ô S:ð S:ðl_ð _ð _ðDb8ð b8ð b8ðJhUð hUð hUð hUð hUr"   