Ë
    £ehÆ  ã                   óf   — d dl mZ d dlmZ d dlZ ej                  d«      Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zy)
é    )ÚotTables)ÚdeepcopyNzfontTools.varLib.instancerc                 óV  — g }| j                   �| j                   j                  ng }|D ]E  }|j                  dk7  r y|j                  |j                  |j
                  |j                  f«       ŒG t        | j                  j                  g|z   «      }||v ry|j                  |«       y)Né   TF)ÚConditionSetÚConditionTableÚFormatÚappendÚ	AxisIndexÚFilterRangeMinValueÚFilterRangeMaxValueÚ	frozensetÚFeatureTableSubstitutionÚVersionÚadd)ÚrecÚseenÚconditionSetÚconditionSetsÚcondÚ	recordKeys         úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/varLib/instancer/featureVars.pyÚ_featureVariationRecordIsUniquer   	   sª   € Ø€Là+.×+;Ñ+;Ð+Gˆ×Ñ×'Ò'ÈRð ð ò 
ˆØ�;‰;˜!ÒáØ×ÑØ�^‰^˜T×5Ñ5°t×7OÑ7OÐPõ	
ð	
ô ˜3×7Ñ7×?Ñ?Ð@À<ÑOÓP€IØ�DÑØà�‰�ÔØó    c                 ó¨   ‡— | j                   }| j                  }||kD  s|‰j                  kD  s|‰j                  k  ry t	        ˆfd„||fD «       «      S )Nc              3   óD   •K  — | ]  }‰j                  |d ¬«      –— Œ y­w)F)ÚextrapolateN)ÚrenormalizeValue)Ú.0ÚvÚ	axisLimits     €r   ú	<genexpr>z7_limitFeatureVariationConditionRange.<locals>.<genexpr>.   s&   øè ø€ ò Ø=>ˆ	×"Ñ" 1°%Ð"×8ñùs   ƒ )r   r   ÚmaximumÚminimumÚtuple)Ú	conditionr!   ÚminValueÚmaxValues    `  r   Ú$_limitFeatureVariationConditionRanger)   "   sc   ø€ Ø×,Ñ,€HØ×,Ñ,€Hð 	�8ÒØ�i×'Ñ'Ò'Ø�i×'Ñ'Ò'ð 	äó ØCKÈXÐBVôó ð r   c                 ó¶  — d}d}g }ddl m}  |ddd«      }	| j                  €;t        j                  «       | _        g | j                  _        d| j                  _        t        | j                  j                  «      D �]+  \  }
}|j                  dk(  rÓ|j                  }||   j                  }|j                  }|j                  }|j                  ||	«      }||j                  cxk  r|k  sn d}|j                  |kD  s|j                  |k  rd } n™||v sŒ›||   |_        t!        ||«      }|r2|\  }}||_
        ||_        d}|dk7  s|dk7  sŒÓ|j#                  |«       Œåd } nFt$        j'                  dj)                  |
||j                  «      «       d}|j#                  |«       �Œ. |�|r|| j                  _        |sd | _        d}nd}|xr | }|||fS )NTFr   )Ú NormalizedAxisTripleAndDistanceséÿÿÿÿr   zWCondition table {0} of FeatureVariationRecord {1} has unsupported format ({2}); ignored)ÚfontTools.varLib.instancerr+   r   Úotr   ÚConditionCountÚ	enumerater	   r   ÚaxisTagr   r   ÚgetÚdefaultr$   r#   r)   r
   ÚlogÚwarningÚformat)ÚrecordÚrecIdxÚ
axisLimitsÚfvarAxesÚaxisIndexMapÚappliesÚ
shouldKeepÚnewConditionsr+   Údefault_tripleÚir&   ÚaxisIdxr1   r'   r(   ÚtripleÚnewRanger$   r#   Ú	universals                        r   Ú"_instantiateFeatureVariationRecordrE   3   s÷  € ð €GØ€JØ€MÝKá5°b¸!¸RÓ@€NØ×ÑÐ"Ü Ÿo™oÓ/ˆÔØ-/ˆ×ÑÔ*Ø-.ˆ×ÑÔ*Ü! &×"5Ñ"5×"DÑ"DÓEó *,‰ˆˆ9Ø×Ñ˜qÒ Ø×)Ñ)ˆGØ˜wÑ'×/Ñ/ˆGà ×4Ñ4ˆHØ ×4Ñ4ˆHØ—^‘^ G¨^Ó<ˆFà §¡Ô:°(Ô:Ø�ð �~‰~ Ò(¨F¯N©N¸XÒ,EØ $�Ùà˜,Ò&à&2°7Ñ&;�	Ô#ô @À	È6ÓR�Ùà'/Ñ$�G˜WØ4;�IÔ1Ø4;�IÔ1Ø!%�JØ "’}¨°2«Ø%×,Ñ,¨YÕ7ð %)�MÙô �K‰Kð4ß4:±F¸1¸fÀi×FVÑFVÓ4Wôð ˆGØ× Ñ  Ö+ðU*,ðX Ð ¡ZØ-:ˆ×ÑÔ*ÙØ"&ˆFÔØ‰
àˆ
ð Ò0 =Ð0€Ià�J 	Ð)Ð)r   c                 óº  — t        |j                  «       «      }|D �cg c]  }|j                  |vsŒ|j                  ‘Œ }}|D �ci c]  }||j                  |«      “Œ }}d}t        «       }	g }
d }t	        | j
                  j                  «      D �]  \  }}t        |||||«      \  }}}|rt        ||	«      r|
j                  |«       |rÜ|sÚ|j                  j                  dk(  sJ ‚t        |j                  «      }t        |j                  |j                  j                  «      D ]{  \  }}t        | j                  j                   |j"                     j$                  «      |_        t        |j$                  «      | j                  j                   |j"                     _        Œ} d}|s�Œ n |rk|
risgt'        j                  «       }t'        j(                  «       |_        g |j(                  _        d|j(                  _        ||_
        |
j                  |«       |
r,|
| j
                  _        t/        |
«      | j
                  _        y | `d| _        y c c}w c c}w )NFi   Tr   )ÚsetÚpinnedLocationr1   Úindexr0   ÚFeatureVariationsÚFeatureVariationRecordrE   r   r
   r   r   r   ÚzipÚSubstitutionRecordÚFeatureListÚFeatureRecordÚFeatureIndexÚFeaturer.   r   r   r/   ÚlenÚFeatureVariationCount)Útabler:   r9   Ú
pinnedAxesÚaxisÚ	axisOrderr1   r;   ÚfeatureVariationAppliedÚuniqueRecordsÚ
newRecordsÚdefaultsSubstsr@   r7   r<   r=   rD   r3   r   ÚdefaultRecords                       r   Ú_instantiateFeatureVariationsr]   z   s,  € Ü�Z×.Ñ.Ó0Ó1€JØ*2ÖU $°d·l±lÈ*Ò6T�—“ÐU€IÐUØENÖO¸'�G˜YŸ_™_¨WÓ5Ñ5ÐO€LÐOà#ÐÜ“E€MØ€JØ€Nä˜u×6Ñ6×MÑMÓNó ‰	ˆˆ6Ü)KØ�A�z 8¨\ó*
Ñ&ˆ�˜Yñ Ô9¸&À-ÔPØ×Ñ˜fÔ%áÑ2Ø×2Ñ2×:Ñ:¸jÒHÐHÐHÜ% f×&EÑ&EÓFˆNÜ #Ø×1Ñ1Ø×/Ñ/×BÑBó!ò 	‘�˜ô #+Ø×%Ñ%×3Ñ3°C×4DÑ4DÑE×MÑMó#�”ô MUØ—K‘KóM�×!Ñ!×/Ñ/°×0@Ñ0@ÑAÕIð	ð '+Ð#ó Ùð5ñ: ¡:±iÜ×1Ñ1Ó3ˆÜ%'§_¡_Ó%6ˆÔ"Ø46ˆ×"Ñ"Ô1Ø45ˆ×"Ñ"Ô1Ø1?ˆÔ.à×Ñ˜-Ô(áØ9Cˆ×ÑÔ6Ü8;¸J»ˆ×ÑÕ5àÐ#à"ˆ�ùòi VùÚOs   žI²IÁIc                 óð   — dD ]q  }|| vst        | |   j                  dd «      sŒ"t        j                  d|«       t	        | |   j                  | d   j
                  |«       | |   j                  «        Œs y )N)ÚGPOSÚGSUBrJ   z+Instantiating FeatureVariations of %s tableÚfvar)ÚgetattrrT   r4   Úinfor]   ÚaxesÚprune_lookups)Úvarfontr9   ÚtableTags      r   ÚinstantiateFeatureVariationsrh   ³   s~   € Ø$ò 
*ˆØ˜7Ñ"¬'Ø�HÑ×#Ñ#Ð%8¸$ô+
ð Ü�‰Ð>ÀÔIÜ%Ø�HÑ×#Ñ# W¨V¡_×%9Ñ%9¸:ô	
ð 	�Ñ×'Ñ'Õ)ñ
*r   )ÚfontTools.ttLib.tablesr   r.   Úcopyr   ÚloggingÚ	getLoggerr4   r   r)   rE   r]   rh   © r   r   ú<module>rn      s?   ðÝ 1Ý Û ð €g×ÑÐ4Ó5€òò2ò"D*òN6#ór*r   