+
    f7i3  c                   s   ^ RI Ht ^ RIHt  ! R R]4      t ! R R]4      t ! R R]4      t ! R	 R
]4      t ! R R]4      t	 ! R R]4      t
 ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R ]4      t ! R! R"]4      t ! R# R$]4      t ! R% R&]4      t ! R' R(]4      t ! R) R*]4      t ! R+ R,]4      t ! R- R.]4      t ! R/ R0]4      t ! R1 R2]4      t ! R3 R4]4      t ! R5 R6]4      t ! R7 R8]4      t ! R9 R:]4      t R;# )<i    )VoltLibError)
NamedTuplec                   s2   a  ] tR t^t o R tV 3R ltRtV tR# )Posc                s    R pR Fh  p\        W4      pVf   K  VRVP                  4        RV 2,          p\        W R2/ 4      pVP                  4        F  w  rVVRV RV 2,          pK  	  Kj  	  VR,          pV# )z POS Z
_adjust_byz ADJUST_BY  AT z END_POS)advdxdy)ZgetattrZupperitems)selfresZattrvalueZ	adjust_byZsizeZ
adjustment   &      </usr/lib64/python3.14/site-packages/fontTools/voltLib/ast.py__str__ZPos.__str__   s    'DD'E 4::<.%11#DF**=rB	(1(9$D[D??C ): ( 	z
    c                sb   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[;R&   # )i   r   r   r   Zadv_adjust_byZdx_adjust_byZdy_adjust_by)ZintZdict)Zformat__classdict__s   "r   Z__annotate__ZPos.__annotate__   sL     	H G  	G  	 
    r    N)__name__
__module____qualname____firstlineno__r   Z__annotate_func____static_attributes____classdictcell__r      @r   r   r      s     
  r   r   c                   s6   a  ] tR t^t o RR ltR tR tRtV tR# )ElementNc                s    Wn         R # Nlocation)r	   r      &&r   __init__ZElement.__init__   s     r   c                s    R # r   r   )r	   builderr   r   buildZElement.build   s    r   c                s    \         hr   )ZNotImplementedErrorr	      &r   r   ZElement.__str__!   s    !!r   r   r   	r   r   r   r   r   r!   r   r   r   r   r   r   r   r      s     !" "r   r   c                   s    ] tR t^%tRtR# )	Statementr   Nr   r   r   r   r   r   r   r   r%   r%   %       r   r%   c                   s    ] tR t^)tRtR# )
Expressionr   Nr&   r   r   r   r(   r(   )   r'   r   r(   c                   s2   a  ] tR t^-t o R tR tR tRtV tR# )VoltFilec                sB    \         P                  V R R7       . V n        R # )Nr   )r%   r   
statementsr"   r#   r   r   ZVoltFile.__init__.   s    4$/r   c                sN    V P                    F  pVP                  V4       K  	  R # r   )r*   r!   )r	   r    s   && r   r!   ZVoltFile.build2   s    AGGG !r   c                sb    R R P                  R V P                   4       4      ,           R,           # )
c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   str.0r+      & r   	<genexpr>Z#VoltFile.__str__.<locals>.<genexpr>7   s     @1A   z END
)joinr*   r"   r#   r   r   ZVoltFile.__str__6   s%    dii@@@@8KKr   )r*   Nr$   r   r   r   r)   r)   -   s     L Lr   r)   c                   s0   a  ] tR t^:t o RR ltR tRtV tR# )GlyphDefinitionNc                sl    \         P                  W4       Wn        W n        W0n        W@n        WPn        R # r   )r%   r   nameidunicodetype
components)r	   r8   gidZgunicodeZgtyper<   r   s   &&&&&&&r   r   ZGlyphDefinition.__init__;   s)    4*		$r   c                s   R V P                    RV P                   2pV P                  eh   \        V P                  4      ^8  d1   RP	                  R V P                   4       4      pVRV R2,          pMVRV P                  ^ ,           2,          pV P
                  e   VRV P
                   2,          pV P                  e   VRV P                   2,          pVR	,          pV# )
zDEF_GLYPH "z" ID Z,c              3   s.   "   T F  pR VR 2x  K  	  R# 5i)zU+Z04XNr   )r2   Zur3   r   r4   Z*GlyphDefinition.__str__.<locals>.<genexpr>G   s     #G,Qb3L,   z UNICODEVALUES ""z	 UNICODE z TYPE z COMPONENTS z
 END_GLYPH)r8   r9   r:   Zlenr6   r;   r<   )r	   r
   Zunicodes   &  r   r   ZGlyphDefinition.__str__C   s    DII;eDGG95<<#4<< 1$88#G$,,#GG)(1554<<?"34499 VDII;''C??&\$//!233C|
r   )r<   r9   r8   r;   r:   r   r   r   r   r   r   r   r   r   r   r   r   r7   r7   :   s     % r   r7   c                   s:   a  ] tR t^St o RR ltRR ltR tRtV tR# )GroupDefinitionNc                sV    \         P                  W4       Wn        W n        R V n        R # r   )r%   r   r8   enumglyphs_)r	   r8   rC   r      &&&&r   r   ZGroupDefinition.__init__T   s!    4*		r   c                sZ   Ve9   V P                   V9   d(   \        RV P                   ,          V P                  4      hV P                  fW   Vf   \	        V P                   04      pMVP                  V P                   4       V P                  P                  V4      V n        V P                  # )NzGroup "%s" contains itself.)r8   r    r   rD   ZsetZaddrC   glyphSet)r	   groupsr   r   rF   ZGroupDefinition.glyphSetZ   s    $))v"5-;T]]  <<~dii[)

499%99--f5DL||r   c                s    V P                   ;'       d    \        V P                   4      ;'       g    R pRV P                   RV R2# ) zDEF_GROUP ""
z

END_GROUP)rC   r0   r8   r	   rC   r3   r   r   ZGroupDefinition.__str__g   s<    yy++S^11rTYYKs4&<<r   )rC   rD   r8   r   )	r   r   r   r   r   rF   r   r   r   r   r   r   rB   rB   S   s     = =r   rB   c                   s:   a  ] tR t^lt o RtRR ltR tR tRtV t	R# )	GlyphNamez%A single glyph name, such as cedilla.Nc                <    \         P                  W4       Wn        R # r   )r(   r   glyph)r	   rM   r      &&&r   r   ZGlyphName.__init__o   s    D+
r   c                s    V P                   3# r   rM   r"   r#   r   rF   ZGlyphName.glyphSets   s    

}r   c                "    R V P                    R2# )z GLYPH "r?   rO   r"   r#   r   r   ZGlyphName.__str__v       $**Q''r   rO   r   
r   r   r   r   __doc__r   rF   r   r   r   r   r   r   rK   rK   l   s     /( (r   rK   c                   sD   a  ] tR t^zt o RtRR ltR tRR ltR tRt	V t
R# )	EnumzAn enumNc                rL   r   )r(   r   rC   )r	   rC   r   rN   r   r   ZEnum.__init__}   s    D+	r   c              #  sD   "   V P                  4        F  pVx  K	  	  R # 5ir   )rF   )r	   er3   r   __iter__ZEnum.__iter__   s     AG !s    c                s    . pV P                    F`  p\        V\        \        34      '       d#   VP	                  VP                  V4      4       KA  VP	                  VP                  4       4       Kb  	  \        V4      # r   )rC   
isinstance	GroupNamerT   ZextendrF   tuple)r	   rG   ZglyphsZelements   &&  r   rF   ZEnum.glyphSet   s_    yyG'It#455g..v67g..01	 !
 V}r   c                sR    R P                  R V P                   4       4      pRV R2# )rH   c              3   r.   r   r/   )r2   rU   r3   r   r4   ZEnum.__str__.<locals>.<genexpr>   s     1y!s1vvyr5   z ENUMz	 END_ENUM)r6   rC   rJ   r3   r   r   ZEnum.__str__   s)    ww1tyy11tfI&&r   )rC   r   )r   r   r   r   rS   r   rV   rF   r   r   r   r   r   r   rT   rT   z   s!     ' 'r   rT   c                   s>   a  ] tR t^t o RtRR ltRR ltR tRtV t	R# )rX   zA glyph groupNc                H    \         P                  W4       Wn        W n        R # r   )r(   r   groupparser_)r	   r[   parserr   rE   r   r   ZGroupName.__init__   s    D+
r   c                s    V P                   P                  V P                  4      pVe#   VP                  V4      V n        V P                  # \        RV P                  ,          V P                  4      h)Nz!Group "%s" is used but undefined.)r\   Zresolve_groupr[   rF   rD   r    r   )r	   rG   r[   r,   r   rF   ZGroupName.glyphSet   sY    **4::6 >>&1DL<<3tzzBDMM r   c                rP   )z GROUP "r?   )r[   r"   r#   r   r   ZGroupName.__str__   rQ   r   )rD   r[   r\   r   rR   r   r   r   rX   rX      s     
( (r   rX   c                   s:   a  ] tR t^t o RtRR ltR tR tRtV t	R# )RangezA glyph rangeNc                T    \         P                  W4       Wn        W n        W0n        R # r   )r(   r   startendr]   )r	   r`   ra   r]   r      &&&&&r   r   ZRange.__init__   s    D+
r   c                st    \        V P                  P                  V P                  V P                  4      4      # r   )rY   r]   Zglyph_ranger`   ra   r"   r#   r   rF   ZRange.glyphSet   s&    T[[,,TZZBCCr   c                s<    R V P                    RV P                   R2# )z RANGE "z" TO "r?   )r`   ra   r"   r#   r   r   ZRange.__str__   s    $**VDHH:Q77r   )ra   r]   r`   r   rR   r   r   r   r^   r^      s     D8 8r   r^   c                   s0   a  ] tR t^t o RR ltR tRtV tR# )ScriptDefinitionNc                r_   r   )r%   r   r8   taglangs)r	   r8   rd   re   r   rb   r   r   ZScriptDefinition.__init__   s    4*	
r   c                    R pV P                   e   VRV P                    R2,          pVRV P                   R2,          pV P                   F  pW ,          pK  	  VR,          pV# )Z
DEF_SCRIPT NAME "r?    TAG ""

Z
END_SCRIPT)r8   rd   re   )r	   r
   Zlangr@   r   r   ZScriptDefinition.__str__   sf    99 WTYYKq))Cz''JJDVC |
r   )re   r8   rd   r   rA   r   r   r   rc   rc      s      r   rc   c                   s0   a  ] tR t^t o RR ltR tRtV tR# )LangSysDefinitionNc                r_   r   )r%   r   r8   rd   features)r	   r8   rd   rk   r   rb   r   r   ZLangSysDefinition.__init__   s    4*	 r   c                rf   )ZDEF_LANGSYSrg   r?   rh   ri   zEND_LANGSYS
)r8   rd   rk   )r	   r
   Zfeaturer@   r   r   ZLangSysDefinition.__str__   sf    99 WTYYKq))Cz''}}GYC %
r   )rk   r8   rd   r   rA   r   r   r   rj   rj      s     ! r   rj   c                   s0   a  ] tR t^t o RR ltR tRtV tR# )FeatureDefinitionNc                r_   r   )r%   r   r8   rd   lookups)r	   r8   rd   rm   r   rb   r   r   ZFeatureDefinition.__init__   s    4*	r   c                s    R V P                    RV P                   R2pVRRP                  R V P                   4       4      ,           R,           ,          pVR,          pV# )zDEF_FEATURE NAME "z" TAG "rI   r   c              3   s.   "   T F  pR V R2x  K  	  R# 5i)zLOOKUP "r?   Nr   )r2   Zlr3   r   r4   Z,FeatureDefinition.__str__.<locals>.<genexpr>   s     D|!1o|r>   r-   zEND_FEATURE
)r8   rd   r6   rm   )r	   r
   r3   r   r   ZFeatureDefinition.__str__   sT    "499+WTXXJcBsSXXDt||DDDtKK
r   )rm   r8   rd   r   rA   r   r   r   rl   rl      s      r   rl   c                   s0   a  ] tR t^t o RR ltR tRtV tR# )LookupDefinitionNc                s    \         P                  W4       Wn        W n        W0n        W@n        WPn        W`n        Wpn        Wn	        Wn
        Wn        R # r   )r%   r   r8   process_baseprocess_marksmark_glyph_set	directionreversalcommentscontextsubpos)r	   r8   ro   rp   rq   rr   rs   rt   ru   rv   rw   r   s   &&&&&&&&&&&&r   r   ZLookupDefinition.__init__   sG     	4*	(*,"  r   c                s   R V P                    R2pTRV P                  ;'       d    R;'       g    R 2,          pV P                  '       dv   VR,          pV P                  '       d   VRV P                   R2,          pMK\	        V P                  \
        4      '       d   VRV P                   R2,          pMVR,          pM	VR,          pV P                  e   VR	V P                   2,          pV P                  '       d
   VR
,          pV P                  e*   V P                  P                  RR4      pVRV R2,          pV P                  '       d2   VRRP                  R V P                   4       4      ,           ,          pM	VR,          pV P                  '       d   VRV P                   2,          pV P                  '       d   VRV P                   2,          pV# )zDEF_LOOKUP "r?   r   ZPROCESS_BASEZ	SKIP_BASEz PROCESS_MARKS zMARK_GLYPH_SET "ZALLz SKIP_MARKSz DIRECTION z	 REVERSALr-   z\nz
COMMENTS "c              3   r.   r   r/   r2   Zcr3   r   r4   Z+LookupDefinition.__str__.<locals>.<genexpr>  s     #ALqCFFLr5   z
IN_CONTEXT
END_CONTEXT)r8   ro   rp   rq   rW   r0   rr   rs   rt   Zreplaceru   r6   rv   rw   )r	   r
   rt   r@   r   r   ZLookupDefinition.__str__  s   TYYKq)4$$77FF;GHH$$C""")$*=*=)>a@@D..444--.a00u= C>>%[ 011C===;C==$}},,T59H\(1--C<<<4$))#ADLL#AAAAC..C888Rz?"C888Rz?"C
r   )
rt   ru   rr   rq   r8   rw   ro   rp   rs   rv   r   rA   r   r   r   rn   rn      s     4 r   rn   c                   0   a  ] tR tRt o RR ltR tRtV tR# )SubstitutionDefinitioni%  Nc                rL   r   )r%   r   mapping)r	   r{   r   rN   r   r   ZSubstitutionDefinition.__init__&  s    4*r   c                s    R pV P                   P                  4        FE  w  r#RP                  R V 4       4      pRP                  R V 4       4      pVRV RV R2,          pKG  	  VR,          pV# )zAS_SUBSTITUTION
rH   c              3   r.   r   r/   r1   r3   r   r4   1SubstitutionDefinition.__str__.<locals>.<genexpr>-       .#Q#a&&#r5   c              3   r.   r   r/   )r2   Zdr3   r   r4   r|   .  r}   r5   ZSUBz
WITHz	
END_SUB
ZEND_SUBSTITUTION)r{   r   r6   )r	   r
   ZsrcZdst   &   r   r   ZSubstitutionDefinition.__str__*  ss    !**,HC''.#..C''.#..CSVC544C - 	!!
r   )r{   r   rA   r   r   r   rz   rz   %  s      r   rz   c                       ] tR tRtRtR# )SubstitutionSingleDefinitioni4  r   Nr&   r   r   r   r   r   4  r'   r   r   c                   r   )SubstitutionMultipleDefinitioni8  r   Nr&   r   r   r   r   r   8  r'   r   r   c                   r   )SubstitutionLigatureDefinitioni<  r   Nr&   r   r   r   r   r   <  r'   r   r   c                   r   )SubstitutionAlternateDefinitioni@  r   Nr&   r   r   r   r   r   @  r'   r   r   c                   r   )+SubstitutionReverseChainingSingleDefinitioniD  r   Nr&   r   r   r   r   r   D  r'   r   r   c                   ry   )PositionAttachDefinitioniH  Nc                rZ   r   )r%   r   coveragecoverage_to)r	   r   r   r   rE   r   r   Z!PositionAttachDefinition.__init__I  s    4* &r   c                s    R P                  R V P                   4       4      pRV R2pV P                   F+  w  rR P                  R V 4       4      pW! RV R2,          pK-  	  VR,          pV# )rH   c              3   r.   r   r/   rx   r3   r   r4   3PositionAttachDefinition.__str__.<locals>.<genexpr>O  s     9=a3q66=r5   zAS_POSITION
ATTACHz
TOc              3   r.   r   r/   rx   r3   r   r4   r   R       8x!s1vvxr5   z AT ANCHOR "r?   
END_ATTACH
END_POSITION)r6   r   r   )r	   r   r
   Zanchorr~   r   r   Z PositionAttachDefinition.__str__N  sv    7794==99#H:T2 $ 0 0Hww8x88HZ|F8155C !1 	++
r   )r   r   r   rA   r   r   r   r   r   H  s     '
 r   r   c                   ry   )PositionAttachCursiveDefinitioniX  Nc                rZ   r   )r%   r   coverages_exitcoverages_enter)r	   r   r   r   rE   r   r   Z(PositionAttachCursiveDefinition.__init__Y  s    4*,.r   c                s    R pV P                    F'  pRP                  R V 4       4      pVRV 2,          pK)  	  V P                   F'  pRP                  R V 4       4      pVRV 2,          pK)  	  VR,          pV# )zAS_POSITION
ATTACH_CURSIVErH   c              3   r.   r   r/   rx   r3   r   r4   :PositionAttachCursiveDefinition.__str__.<locals>.<genexpr>a  r   r5   z
EXIT c              3   r.   r   r/   rx   r3   r   r4   r   d  r   r5   z
ENTER r   )r   r6   r   r	   r
   r   r@   r   r   Z'PositionAttachCursiveDefinition.__str__^  s    +++Hww8x88HWXJ''C , ,,Hww8x88HXhZ((C - 	++
r   )r   r   r   rA   r   r   r   r   r   X  s     /
	 	r   r   c                   ry   )PositionAdjustPairDefinitionij  Nc                r_   r   )r%   r   coverages_1coverages_2adjust_pair)r	   r   r   r   r   rb   r   r   Z%PositionAdjustPairDefinition.__init__k  s"    4*&&&r   c           
     s   R pV P                    F'  pRP                  R V 4       4      pVRV 2,          pK)  	  VR,          pV P                   F'  pRP                  R V 4       4      pVRV 2,          pK)  	  VR,          pV P                  P	                  4        F  w  w  r4w  rVVRV RV RV V R2,          pK!  	  VR,          pV# )	zAS_POSITION
ADJUST_PAIR
r   c              3   r.   r   r/   rx   r3   r   r4   7PositionAdjustPairDefinition.__str__.<locals>.<genexpr>t       91Ar5   z FIRST r-   c              3   r.   r   r/   rx   r3   r   r4   r   x  r   r5   z SECOND  BY
END_ADJUST
END_POSITION)r   r6   r   r   r   )r	   r
   r   Zid_1Zid_2Zpos_1Zpos_2r   r   r   Z$PositionAdjustPairDefinition.__str__q  s    *((Hxx999HWXJ''C ) 	t((Hxx999HXhZ((C ) 	t,0,<,<,B,B,D(LT.5QtfAdV3ugeWB77C -E++
r   )r   r   r   r   rA   r   r   r   r   r   j  s     ' r   r   c                   ry   )PositionAdjustSingleDefinitioni  Nc                rL   r   )r%   r   adjust_single)r	   r   r   rN   r   r   Z'PositionAdjustSingleDefinition.__init__  s    4**r   c                s    R pV P                    F*  w  r#RP                  R V 4       4      pW RV 2,          pK,  	  VR,          pV# )zAS_POSITION
ADJUST_SINGLErH   c              3   r.   r   r/   rx   r3   r   r4   Z9PositionAdjustSingleDefinition.__str__.<locals>.<genexpr>  r   r5   r   r   )r   r6   )r	   r
   r   rw   r~   r   r   Z&PositionAdjustSingleDefinition.__str__  sR    *!//MHww8x88HZs3%((C 0 	++
r   )r   r   rA   r   r   r   r   r     s     + r   r   c                   ry   )ContextDefinitioni  Nc                s|    \         P                  W4       Wn        Ve   TM. V n        Ve	   W0n        R # . V n        R # r   )r%   r   ex_or_inleftright)r	   r   r   r   r   rb   r   r   ZContextDefinition.__init__  s3    4*  ,D"	#/U
R
r   c                s   V P                   R ,           pV P                   F(  pRP                  R V 4       4      pVRV R 2,          pK*  	  V P                   F(  pRP                  R V 4       4      pVRV R 2,          pK*  	  VR,          pV# )r-   rH   c              3   r.   r   r/   rx   r3   r   r4   ,ContextDefinition.__str__.<locals>.<genexpr>  r   r5   z LEFTc              3   r.   r   r/   rx   r3   r   r4   r     r   r5   z RIGHTZEND_CONTEXT)r   r   r6   r   r   r@   r   r   ZContextDefinition.__str__  s    mmd"		Hww8x88HU8*B''C " 

Hww8x88HVH:R((C # 	}
r   )r   r   r   )NNNrA   r   r   r   r   r     s     8	 	r   r   c                   ry   )AnchorDefinitioni  Nc                sx    \         P                  W4       Wn        W n        W0n        W@n        WPn        W`n        R # r   )r%   r   r8   r=   
glyph_name	componentlockedrw   )r	   r8   r=   r   r   r   rw   r   s   &&&&&&&&r   r   ZAnchorDefinition.__init__  s.    4*	$"r   c                s    V P                   ;'       d    R ;'       g    RpRV P                   RV P                   RV P                   RV P                   V RV P
                   R2# )z LOCKEDrH   zDEF_ANCHOR "z" ON z GLYPH z COMPONENT r   z END_ANCHOR)r   r8   r=   r   r   rw   )r	   r   r3   r   r   ZAnchorDefinition.__str__  sh    **00b499+ &88*doo&$..)h488*K)	
r   )r   r=   r   r   r8   rw   r   rA   r   r   r   r   r     s     	
 	
r   r   c                   ry   )SettingDefinitioni  Nc                rZ   r   )r%   r   r8   r   )r	   r8   r   r   rE   r   r   ZSettingDefinition.__init__  s    4*	
r   c                s$   V P                   R J d   V P                   # \        V P                   \        \        34      '       d4   RP                  R V P                    4       4      pV P                   RV 2# V P                   RV P                    2# )Tr   c              3   r.   r   r/   )r2   Zvr3   r   r4   Z,SettingDefinition.__str__.<locals>.<genexpr>  s     8ZSVVZr5   )r   r8   rW   rY   Zlistr6   )r	   r   r3   r   r   ZSettingDefinition.__str__  su    ::ii[!djj5$-00HH8TZZ88Eii[%))))Adjj\**r   )r8   r   r   rA   r   r   r   r   r     s     
+ +r   r   N)!ZfontTools.voltLib.errorr    Ztypingr   r   Zobjectr   r%   r(   r)   r7   rB   rK   rT   rX   r^   rc   rj   rl   rn   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      sc   0 * *"f "	 		 	
Ly 
Li 2=i =2(
 (': '2(
 (,8J 8 y $	 $	 7y 7tY 	#9 		%; 		%; 		&< 		2H 	y  i $9 .Y 	 &
y 
,+	 +r   