+
    f7i"  c                   s    ^ RI Ht ^ RIHtHtHtH	t
 ^ RIHtHtHt ^ RIHt ^RIHt ^ RItRtRtR	t ! R
 R]P$                  4      t ! R R]4      t ! R R]4      tR# )    )sstruct)fixedToFloatfloatToFixedfloatToFixedToStrstrToFixedToFloat)Tag	bytesjoinsafeEval)
TTLibError)DefaultTableNz
    > # big endian
    version:        L
    offsetToData:   H
    countSizePairs: H
    axisCount:      H
    axisSize:       H
    instanceCount:  H
    instanceSize:   H
z
    > # big endian
    axisTag:        4s
    minValue:       16.16F
    defaultValue:   16.16F
    maxValue:       16.16F
    flags:          H
    axisNameID:         H
zA
    > # big endian
    subfamilyNameID:     H
    flags:      H
c                   sR   a  ] tR t^-t o RtR.tRR ltR tR tR t	R t
R	 tR
tV tR# )table__f_v_a_rzFonT Variations table

The ``fvar`` table contains records of the variation axes and of the
named instances in a variable font.

See also https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6fvar.html
nameNc                s`    \         P                   P                  W4       . V n        . V n        R # N)r
   __init__axes	instances)selftag   &&F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/_f_v_a_r.pyr   Ztable__f_v_a_r.__init__8   s$    !!**45	    c                sv   \         P                  ! \        4      \        V P                  4      ^,          ,           p\
        ;QJ d&    R V P                   4       F  '       g   K   RM	  RM! R V P                   4       4      pV'       d
   V^,          pRRR\         P                  ! \        4      R^R\        V P                  4      R	\         P                  ! \        4      R
\        V P                  4      RV/p\         P                  ! \        V4      .pTP                  V P                   Uu. uF  qfP                  4       NK  	  up4       V P                   Uu. uF  qfP                  NK  	  ppV P                   F#  pVP                  VP                  Ws4      4       K%  	  \        V4      # u upi u upi )i   c              3   s>   "   T F  qP                   R 8g  x  K  	  R# 5i)  N)postscriptNameID)Z.0instance   & r   Z	<genexpr>Z)table__f_v_a_r.compile.<locals>.<genexpr>?   s      %
@NH%%/s   TFversion   offsetToDataZcountSizePairs	axisCountaxisSizeinstanceCountinstanceSize)r   calcsizeFVAR_INSTANCE_FORMATlenr   Zanyr   FVAR_HEADER_FORMATFVAR_AXIS_FORMATpackZextendcompileaxisTagappendr   )	r   ttFontr    ZincludePostScriptNamesheaderresultaxisaxisTagsr   s	   &&       r   r'   Ztable__f_v_a_r.compile=   sH   ''(<=TYYRSAST!$ %
@D%
 %
@D%
 "
 "ALzG,,-?@aTYY(()9:S0L
 ,,16:;$))<)$||~)<=-1YY7YTLLY7HMM(**8LM '  	 =7s   0F1F6c                s   / p\         P                  ! \        4      p\         P                  ! \        V^ V 4      pVR,          R8w  d   \	        RVR,          ,          4      hVR,          pVR,          p\        VR,          4       FI  p\        4       pVP                  WWV,            4       V P                  P                  V4       WV,          pKK  	  VR,          p	V P                   Uu. uF  qP                  NK  	  p
p\        VR,          4       FJ  p\        4       pVP                  WWY,            V
4       V P                  P                  V4       WY,          pKL  	  R	# u upi )
r    r   r   zunsupported 'fvar' version %04xr   r   r   r    r   N)r   r!   r$   unpackr	   ZrangeAxis	decompiler   r)   r(   NamedInstancer   )r   datar*   r+   Z
headerSizeposr   _r-   r    r.   r   s   &&&         r   r1   Ztable__f_v_a_r.decompileT   s&   %%&89
 2D:4FG)
*>	ARRSS^$*%vk*+A6DNN4cn56IIT"OC	 ,
 n--1YY7YTLLY7vo./A$Ht#*<=xHNN!!(+C	 0 8s   *E"c                s    V P                    F  pVP                  W4       K  	  V P                   F  pVP                  W4       K  	  R # r   )r   toXMLr   )r   writerr*   r-   r   s   &&&  r   r6   Ztable__f_v_a_r.toXMLi   s6    IIDJJv& HNN6* 'r   c                s   VR 8X  d:   \        4       pVP                  WW44       V P                  P                  V4       R# VR8X  d:   \	        4       pVP                  WW44       V P
                  P                  V4       R# R# )r0   r2   N)r0   fromXMLr   r)   r2   r   )r   r   attrscontentr*   r-   r   s   &&&&&  r   r8   Ztable__f_v_a_r.fromXMLo   sf    6>6DLLg6IIT"_$$HT':NN!!(+ %r   c                s    V P                    Uu/ uF0  qP                  VP                  VP                  VP                  3bK2  	  up# u upi r   )r   r(   minValuedefaultValuemaxValue)r   Zar   r   getAxesZtable__f_v_a_r.getAxesy   s8    MQYYWY		AJJ

CCYWWWs   6A)r   r   r   )__name__
__module____qualname____firstlineno__Z__doc__Zdependenciesr   r'   r1   r6   r8   r>   __static_attributes____classdictcell__Z__classdict__   @r   r   r   -   s8      8L
!. *+,X Xr   r   c                   s>   a  ] tR t^}t o R tR tR tR tR tRt	V t
R# )r0   c                sZ    R V n         ^ V n        ^ V n        RV n        RV n        RV n        R # )Ng      ?g        g      )r(   
axisNameIDflagsr;   r<   r=   r      &r   r   ZAxis.__init__~   s-    
r   c                s8    \         P                  ! \        V 4      # r   )r   r&   r%   rI   rJ   r   r'   ZAxis.compile   s    ||,d33r   c                s<    \         P                  ! \        W4       R # r   )r   unpack2r%   )r   r3   r   r   r1   ZAxis.decompile   s    ($5r   c           	     s   R V9   d#   VR ,          P                  V P                  4      MRpVe2   VP                  4        VP                  V4       VP                  4        VP	                  R4       VP                  4        RV P
                  3RRV P                  ,          3R\        V P                  ^4      3R\        V P                  ^4      3R\        V P                  ^4      3R	\        V P                  4      33 FH  w  rEVP	                  V4       VP                  V4       VP                  V4       VP                  4        KJ  	  VP                  R4       VP                  4        R# )
r   Nr0   AxisTagFlags0x%XMinValueDefaultValueMaxValue
AxisNameID)getDebugNamerG   newlinecommentbegintagr(   rH   fl2strr;   r<   r=   ZstrZwriteendtag)r   r7   r*   r   r   value   &&&   r   r6   Z
Axis.toXML   s$   <Bf<LF6N''8RV 	 NNNN4 NN%ftzz)*r23VD$5$5r:;r233t/0
JC OOC LLMM#NN
 	fr   c           	     sd   VR 8X  g   Q h\        R V4       F  w  rVpRP                  V4      pVR8X  d   \        V4      V n        K0  VR9   g   K9  \	        T V^ ,          P                  4       VR,          ,           VP                  R4      '       d   \        V^4      M
\        V4      4       K  	  R# )r0   c                 $    \        V 4      \        J # r   ZtypeZtupleZtrJ   r   <lambda>ZAxis.fromXML.<locals>.<lambda>   s    d1g.>r    rL   :i   NNZValueN>   rM   rQ   rO   rR   rP   )	filterZjoinr   r(   ZsetattrZlowerZendswithstr2flr   )r   r   Z_attrsr:   r*   r   r5   rY   s   &&&&&   r   r8   ZAxis.fromXML   s    v~~#$>HMCEGGENEi"5zWWFLLNSW,),g)>)>F5"%HUO Ir   )rG   r(   r<   rH   r=   r;   Nr?   r@   rA   rB   r   r'   r1   r6   r8   rC   rD   rE   rF   r   r0   r0   }   s#     462 r   r0   c                   s>   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )r2   c                s>    ^ V n         RV n        ^ V n        / V n        R# )r    r   N)subfamilyNameIDr   rH   coordinatesrI   rJ   r   r   ZNamedInstance.__init__   s!      &
r   c                sX   \         P                  ! \        V 4      .pV FF  p\        V P                  V,          ^4      pVP                  \        P                  ! RV4      4       KH  	  V'       d1   VP                  \        P                  ! RV P                  4      4       \        V4      # )i   >l>H)	r   r&   r"   fl2fird   r)   structr   r   )r   r.   ZincludePostScriptNamer,   r-   Z
fixedCoordrZ   r   r'   ZNamedInstance.compile   s{    ,,3T:;Dt//5r:JMM&++dJ78  !MM&++dD,A,ABC  r   c                s   \         P                  ! \        W4       \         P                  ! \        4      pV FL  p\        P
                  ! R WV^,            4      ^ ,          p\        V^4      V P                  V&   V^,          pKN  	  V^,           \        V4      8:  d/   \        P
                  ! RWV^,            4      ^ ,          V n	        R# RV n	        R# )re   rf   r   N)
r   rK   r"   r!   rh   r/   fi2flrd   r#   r   )r   r3   r.   r4   r-   rY   rZ   r   r1   ZNamedInstance.decompile   s    ,d934DMM$37(;<Q?E%*5"%5DT"1HC  7c$i$*MM$378K$LQ$OD!$*D!r   c           	     s   R V9   d#   VR ,          P                  V P                  4      MRpVe2   VP                  4        VP                  V4       VP                  4        R V9   d#   VR ,          P                  V P                  4      MRpVe)   VP                  RV,           4       VP                  4        V P                  R8X  d1   VP                  RRV P                  ,          V P                  R7       M:VP                  RRV P                  ,          V P                  V P                  R7       VP                  4        VR,          P                   FV  pVP                  R	VP                  \        V P                  VP                  ,          ^4      R
7       VP                  4        KX  	  VP                  R4       VP                  4        R# )r   NzPostScript: r   r2   rN   )rH   rc   )rH   rc   r   Zfvarcoord)r-   rY   )rS   rc   rT   rU   r   rV   rH   r   Z	simpletagr(   rW   rd   rX   )r   r7   r*   r   Zpsnamer-   rZ   r   r6   ZNamedInstance.toXML   s     6N''(<(<= 	
 NNNN4 NN  6N''(=(=> 	
 NN>F23NN  F*OO

* $ 4 4   OO

* $ 4 4!%!6!6	   	6N''D\\T--dll;R@  
 NN ( 	o&r   c                sb   VR 8X  g   Q h\        VR,          4      V n        \        VP                  RR4      4      V n        RV9   d   \        VR,          4      V n        MRV n        \        R V4       F7  w  rVpVR8X  g   K  \        VR,          ^4      pWP                  VR	,          &   K9  	  R
# )r2   rc   rH   Z0r   r   c                 r[   r   r\   r]   rJ   r   r^   Z'NamedInstance.fromXML.<locals>.<lambda>  s    T!W5Er   rj   rY   r-   N)r   rc   ZgetrH   r   r`   ra   rd   )	r   r   r9   r:   r*   r   ZelementAttrsr5   rY   s	   &&&&&    r   r8   ZNamedInstance.fromXML   s    &&&'.?(@Aeii56
&$,U3E-F$GD!$*D!$*+Ew$O Cqg~|G4b99>  f!56 %Pr   )rd   rH   r   rc   Nrb   rE   rF   r   r2   r2      s$     !
+(T? ?r   r2   )ZfontTools.miscr   ZfontTools.misc.fixedToolsr   ri   r   rg   r   rW   r   ra   ZfontTools.misc.textToolsr   r   r   ZfontTools.ttLibr	   r_   r
   rh   r$   r%   r"   r   Zobjectr0   r2   ) r   r   <module>rk      sm    "  > = &  	   MX\.. MX`36 3lR?F R?r   