+
    i4c                         ^ RI Hu Ht ^ RIHt ^ RIHt ^ RIHt RRRRR	R
RRRRRRRRRRRRRRRRRR/t	 ! R R]
4      t ! R R]
4      t ! R R]4      tR# )    N)Lexer)VoltLibError)open	DEF_GLYPHparse_def_glyph_	DEF_GROUPparse_def_group_
DEF_SCRIPTparse_def_script_
DEF_LOOKUPparse_def_lookup_
DEF_ANCHORparse_def_anchor_	GRID_PPEMparse_ppem_PRESENTATION_PPEMPPOSITIONING_PPEMCOMPILER_USEEXTENSIONLOOKUPSparse_noarg_option_COMPILER_USEPAIRPOSFORMAT2CMAP_FORMATparse_cmap_formatDO_NOT_TOUCH_CMAPc                      a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$R"t%V t&R## )$Parserc                L   \         P                  ! 4       V n        \        4       V n        \        4       V n        / V n        \        4       V n        \        4       V n	        \        4       V n
        R R uV n        V n        R V n        V P                  V4       V P                  4        R # N)astVoltFiledoc_OrderedSymbolTableglyphs_SymbolTablegroups_anchors_scripts_langs_lookups_next_token_type_next_token_next_token_location_make_lexer_advance_lexer_)selfpaths   &&x/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/fontTools/voltLib/parser.py__init__Parser.__init__   sx    LLN	)+"}#!m#37/t/$(!    c                   \        VR 4      '       d   \        VRR4      pVP                  4       pM/Tp\        VR4      ;_uu_ 4       pVP                  4       pRRR4       \	        XV4      V n        R#   + '       g   i     L#; i)readnameNr)hasattrgetattrr5   r   r   lexer_)r.   file_or_pathfilenamedatafs   &&   r0   r,   Parser.make_lexer_$   sf    <((|VT:H$$&D#HlC((Avvx )D(+ )(s   A33B	c           	        V P                   P                  pV P                  e   V P                  4        V P                  \
        P                  4       9   d:   \        V \
        V P                  ,          4      pVP                  V! 4       4       Kz  V P                  R4      '       d    V P                   # \        RRP                  \        \
        P                  4       4      4      ,           V P                  4      hV P                   # )NENDz	Expected z, )r    
statementsr)   r-   
cur_token_PARSE_FUNCSkeysr9   appendis_cur_keyword_r   joinsortedcur_token_location_)r.   rB   funcs   &  r0   parseParser.parse.   s    YY))
##/!+"2"2"44t[%AB!!$&)%%e,, yy	 #$))F;3C3C3E,F"GG,,  yyr3   c           	        V P                  R 4      '       g   Q hV P                  pV P                  4       pV P                  R4       V P	                  4       pV^ 8  d   \        RV P                  4      hRpV P                  R8X  dH   V P                  R4       V P	                  4       .pV^ ,          ^ 8  d   \        RV P                  4      hM2V P                  R8X  d"   V P                  R4       V P                  4       pRpV P                  R8X  d+   V P                  R4       V P                  4       pVR9   g   Q hRpV P                  R8X  d"   V P                  R4       V P	                  4       pV P                  R	4       V P                  P                  V4      e   \        R
W#3,          V4      h\        P                  ! W#WEWaR7      pV P                  P                  W'4       V# )r   IDzInvalid glyph IDNUNICODEzInvalid glyph UNICODEUNICODEVALUESTYPE
COMPONENTS	END_GLYPHz#Glyph "%s" (gid %i) already definedlocation)BASELIGATUREMARK	COMPONENT)rG   rJ   expect_string_expect_keyword_expect_number_r   r*   parse_unicode_values_expect_name_r"   resolver   GlyphDefinitiondefine)r.   rV   r6   gidgunicodegtype
components	def_glyphs   &       r0   r   Parser.parse_def_glyph_>   s   ##K0000++""$T"!!#7143K3KLLy(  +++-.H{Q"#:D<T<TUU 0  1113Hv%  (%%'EEEEE
|+  .,,.J[)<<%15CX  ''x

	 	D,r3   c                   V P                  R 4      '       g   Q hV P                  pV P                  4       pRpV P                  R8X  d   V P	                  4       pV P                  R4       V P                  P                  V4      e   \        RV,          V4      h\        P                  ! W#VR7      pV P                  P                  W$4       V# )r   NENUM	END_GROUPzBGlyph group "%s" already defined, group names are case insensitiverU   )rG   rJ   r[   r*   parse_enum_r\   r$   r`   r   r   GroupDefinitionrb   )r.   rV   r6   enum	def_groups   &    r0   r	   Parser.parse_def_group_c   s    ##K0000++""$v%##%D[)<<%1359: 
 ''XF	D,r3   c                   V P                  R 4      '       g   Q hV P                  pRpV P                  R8X  d"   V P                  R4       V P	                  4       pV P                  R4       V P	                  4       pV P
                  P                  V4      e   \        RV,          V4      hV P                  P                  4        . pV P                  R8w  d   V P                  4        V P                  4       pV P                  R4       V P                  P                  VP                  4      e    \        RVP                  : RV: R	2V4      hV P                  P                  VP                  V4       VP                  V4       K  V P                  R4       V P                  P                  4        \         P"                  ! W#WAR
7      pV P
                  P                  W64       V# )r
   NNAMETAGz=Script "%s" already defined, script tags are case insensitive
END_SCRIPTEND_LANGSYSz
Language "z" already defined in script "z%", language tags are case insensitiverU   )rG   rJ   r*   r\   r[   r&   r`   r   r'   enter_scoper-   parse_langsys_tagrb   rF   
exit_scoper   ScriptDefinition)r.   rV   r6   rx   langslang
def_scripts   &      r0   r   Parser.parse_def_script_u   s   ##L1111++v%  (&&(DU#!!#==  %13589 
 	!,.!&&(D  /{{""488,8"<@HHcK 
 KKtxx.LL\* ))$UN
S-r3   c                   V P                  R 4      '       g   Q hV P                  pRpV P                  R8X  d"   V P                  R4       V P	                  4       pV P                  R4       V P	                  4       p. pV P                  R8w  dE   V P                  4        V P                  4       pV P                  R4       VP                  V4       KU  \        P                  ! W#WAR7      pV# )DEF_LANGSYSNrr   rs   ru   END_FEATURErU   )
rG   rJ   r*   r\   r[   r-   parse_feature_rF   r   LangSysDefinition)r.   rV   r6   rx   featuresfeaturedef_langsyss   &      r0   rw   Parser.parse_langsys_   s    ##M2222++v%  (&&(DU#!!#-/!))+G  /OOG$++DxSr3   c                   V P                  R 4      '       g   Q hV P                  pV P                  R4       V P                  4       pV P                  R4       V P                  4       p. pV P                  R8w  d5   V P                  R4       V P                  4       pVP                  V4       KE  \        P                  ! W#WAR7      pV# )DEF_FEATURErr   rs   r   LOOKUPrU   )rG   rJ   r\   r[   r*   rF   r   FeatureDefinition)r.   rV   r6   rx   lookupslookupr   s   &      r0   r   Parser.parse_feature_   s    ##M2222++V$""$U#!!#-/  *((*FNN6"''7Nr3   c                   V P                  R 4      '       g   Q hV P                  pV P                  4       pV^ ,          P                  4       '       g   \	        RV,          V4      hV P
                  P                  V4      e   \	        RV,          V4      hRpV P                  R8X  d   V P                  4        M#V P                  R8X  d   V P                  4        RpRpRpV P                  R8X  d   V P                  4        V P                  R	8X  d"   V P                  4        V P                  4       pMV P                  R
8X  d   V P                  4        MV P                  R8X  d   V P                  4        RpMpV P                  \        P                  8X  d   V P                  4       pM@\	        RV P                  ,          V4      hV P                  R8X  d   V P                  4        RpRpV P                  R8X  d+   V P                  R4       V P                  4       pVR9   g   Q hRpV P                  R8X  d   V P                  R4       RpRpV P                  R8X  d2   V P                  R4       V P                  4       P                  RR4      p. p	V P                  R9   d   V P                  4       p	K#  V P                  4       p
RpRpV
R8X  d   V P!                  V4      pM+V
R8X  d   V P#                  4       pM\	        RV
,          V4      h\$        P&                  ! VVVVVVVV	VVVR7      pV P
                  P)                  W-4       V# )r   z)Lookup name "%s" must start with a letterNz>Lookup "%s" already defined, lookup names are case insensitiveTPROCESS_BASE	SKIP_BASEFPROCESS_MARKSMARK_GLYPH_SETALLNONEz3Expected ALL, NONE, MARK_GLYPH_SET or an ID. Got %s
SKIP_MARKS	DIRECTIONREVERSALCOMMENTSz\n
AS_SUBSTITUTIONAS_POSITIONz/Expected AS_SUBSTITUTION or AS_POSITION. Got %srU   )LTRRTLEXCEPT_CONTEXT
IN_CONTEXT)rG   rJ   r[   isalphar   r(   r`   r*   r-   r)   r   STRINGr\   r_   replaceparse_context_parse_substitution_parse_position_r   LookupDefinitionrb   )r.   rV   r6   process_baseprocess_marksmark_glyph_set	directionreversalcommentscontextas_pos_or_subsubpos
def_lookups   &             r0   r   Parser.parse_def_lookup_   s%   ##L1111++""$Aw  ;dBH  ==  &246:; 
 ~-!,! L.!#33##%!%!4!4!6!!U*##%!!V+##% %&&%,,6 $ 3 3 5" $ 5 57 
 -!!M	{*  -))+I...z)  ,Hz)  ,**,44UDAH"BB))+G))+--**84Cm+&&(CDV  ))

 	T.r3   c                   V P                   p. pV P                  R9   d   RpRpV P                  4       pV P                  R8w  d   . p. pV P                  R9   dN   V P                  4       pV P                  4       pVR8X  d   VP	                  V4       KK  VP	                  V4       K^  V P                  R4       \        P                  ! WVWqR7      pVP	                  V4       K  V P                  R4       K  V# )r   NEND_CONTEXTLEFTrU   r   )r   RIGHT)rJ   r*   r_   parse_coverage_rF   r\   r   ContextDefinition)	r.   rV   contextssidecoverageex_or_inleftrightr   s	   &        r0   r   Parser.parse_context_  s    ++"BBDH((*H=0&&*;;,,.D#335Hv~H-X.$$]3//E ($$]3r3   c                   V P                  R 4      '       g   Q hV P                  p. p. pV P                  R8w  d   \        RV4      hV P                  R8X  dt   V P	                  R4       VP                  V P                  4       4       V P	                  R4       VP                  V P                  4       4       V P	                  R4       K  V P	                  R4       \        V Uu. uF  p\        V4      NK  	  up4      p\        V Uu. uF  p\        V4      NK  	  up4      pV^8  d   V^8  d   \        RV4      h\        \        \        V4      \        V4      4      4      pV^8X  d   V^8X  d   V UU	u. uF  qU F  qP                  4       NK  	  K  	  p
pp	\        \        V
4      4      \        V
4      8w  d   \        P                  ! WR7      pV# V'       d   \        P                   ! WR7      pV# \        P"                  ! WR7      p V# V^8X  d!   V^8  d   \        P$                  ! WR7      pV# V^8  d   V^8X  d   \        P&                  ! WR7      pX# u upi u upi u up	pi )r   SUBzExpected SUBWITHEND_SUBEND_SUBSTITUTIONzInvalid substitution typerU   )rG   rJ   r*   r   r\   rF   r   maxlendictziptupleglyphSetsetr   SubstitutionAlternateDefinition+SubstitutionReverseChainingSingleDefinitionSubstitutionSingleDefinitionSubstitutionMultipleDefinitionSubstitutionLigatureDefinition)r.   r   rV   srcdestcovmax_srcmax_destmappingxglyphsr   s   &&          r0   r   Parser.parse_substitution_,  s   ##$56666++u$~x88%'  'JJt++-.  (KK,,./  +/03/3Cs3x3/0D1DSCD12 Q;8a<:HEEs5:uT{34a<HM /2?cs3ajjl3lcF?3v;3v;.99'U 
  IIC 
 ::7VC
 
	 \hl44WPC 
 q[X]44WPC
7 01 @s   %I	I$8 I)c                v   V P                  R 4      '       g   Q hV P                  pV P                  4       pVR9  d   \        RV4      hVR8X  d   V P	                  4       pMGVR8X  d   V P                  4       pM/VR8X  d   V P                  4       pMVR8X  d   V P                  4       pV P                  R4       X# )r   ATTACHATTACH_CURSIVEADJUST_PAIRADJUST_SINGLEz;Expected ATTACH, ATTACH_CURSIVE, ADJUST_PAIR, ADJUST_SINGLEEND_POSITION)r   r   r   r   )	rG   rJ   r_   r   parse_attach_parse_attach_cursive_parse_adjust_pair_parse_adjust_single_r\   )r.   rV   pos_typepositions   &   r0   r   Parser.parse_position_W  s    ##M2222++$$&WWMx  x))+H))113H&..0H(002H^,r3   c                   V P                  R 4      '       g   Q hV P                  pV P                  4       p. pV P                  R4       V P                  R8w  dW   V P                  4       pV P                  R4       V P                  R4       V P                  4       pVP                  WE34       Kg  V P                  R4       \        P                  ! W#VR7      pV# )r   TO
END_ATTACHATANCHORrU   )	rG   rJ   r   r\   r*   r[   rF   r   PositionAttachDefinition)r.   rV   r   coverage_tor   anchor_namer   s   &      r0   r   Parser.parse_attach_j  s    ##H----++'')T",.&&(C  &  *--/K12\*//H
 r3   c                   V P                  R 4      '       g   Q hV P                  p. p. pV P                  R8w  d3   V P                  R4       VP	                  V P                  4       4       KC  V P                  R8w  d3   V P                  R4       VP	                  V P                  4       4       KC  V P                  R4       \        P                  ! W#VR7      pV# )r   ENTEREXITr   rU   )rG   rJ   r*   r\   rF   r   r   PositionAttachCursiveDefinition)r.   rV   coverages_exitcoverages_enterr   s   &    r0   r   Parser.parse_attach_cursive_|  s    ##$45555++')  (!!$"6"6"89,.  )""4#7#7#9:\*66h
 r3   c                   V P                  R 4      '       g   Q hV P                  p. p. p/ pV P                  R8X  d4   V P                  4        V P	                  4       pVP                  V4       KD  V P                  R8X  d4   V P                  4        V P	                  4       pVP                  V4       KD  V P                  R8w  d[   V P                  4       pV P                  4       pV P                  R4       V P                  4       p	V P                  4       p
W3WGV3&   Kk  V P                  R4       \        P                  ! W#WAR7      pV# )r   FIRSTSECOND
END_ADJUSTBYrU   )rG   rJ   r*   r-   r   rF   r]   r\   
parse_pos_r   PositionAdjustPairDefinition)r.   rV   coverages_1coverages_2adjust_pair
coverage_1
coverage_2id_1id_2pos_1pos_2r   s   &           r0   r   Parser.parse_adjust_pair_  s'   ##M2222++')!--/Jz*(*!--/Jz*,.&&(D&&(D  &OO%EOO%E).Kt%\*33k
 r3   c                P   V P                  R 4      '       g   Q hV P                  p. pV P                  R8w  dF   V P                  4       pV P	                  R4       V P                  4       pVP                  W434       KV  V P	                  R4       \        P                  ! W!R7      pV# )r   r   r   rU   )	rG   rJ   r*   r   r\   r   rF   r   PositionAdjustSingleDefinition)r.   rV   adjust_single	coveragesr   r   s   &     r0   r   Parser.parse_adjust_single_  s    ##O4444++,.,,.I  &//#C  )!12\*55mWr3   c           
     `   V P                  R 4      '       g   Q hV P                  pV P                  4       pV P                  R4       V P	                  4       pV P                  R4       V P                  4       pV P                  R4       V P	                  4       pW@P                  9   dK   V P                  V,          P                  V4      pVe%   VP                  V8X  d   \        RV,          V4      hV P                  R8X  d   RpV P                  4        MRpV P                  R4       V P                  4       pV P                  R	4       \        P                  ! W#WEWxVR
7      pW@P                  9  d   \        4       V P                  V&   V P                  V,          P!                  W&4       V# )r   ONGLYPHrZ   z>Anchor "%s" already defined, anchor names are case insensitiveLOCKEDTFr   
END_ANCHORrU   )rG   rJ   r[   r\   r]   r_   r%   r`   	componentr   r*   r-   r   r   AnchorDefinitionr#   rb   )	r.   rV   r6   rc   
glyph_namer  anchorlockedr   s	   &        r0   r   Parser.parse_def_anchor_  sx   ##L1111++""$T"!!#W%&&(
[)'')	&]]:.66t<F!f&6&6)&C"8:>? 
 x'F!FT"oo\*%%zfH
 ]]*(3DMM*%j!((6r3   c                    V P                  4        V P                  R 4      '       g   Q hV P                  4       pV P                  R4       V P                  4       pW3# )	ADJUST_BYr   )r-   rG   r]   r\   )r.   
adjustmentsizes   &  r0   parse_adjust_by_Parser.parse_adjust_by_  sX    ##K0000((*
T"""$r3   c                   V P                  4        V P                  pV P                  R 4      '       g   Q V4       hRpRpRp/ p/ p/ pV P                  R8X  dJ   V P                  4        V P	                  4       pV P                  R8X  d   V P                  4       w  rWV	&   K)  V P                  R8X  dJ   V P                  4        V P	                  4       pV P                  R8X  d   V P                  4       w  rWV	&   K)  V P                  R8X  dJ   V P                  4        V P	                  4       pV P                  R8X  d   V P                  4       w  rWV	&   K)  V P                  R4       \        P                  ! W#WEWg4      # )POSNADVr  DXDYEND_POS)	r-   rJ   rG   r*   r]   r  r\   r   Pos)
r.   rV   advdxdyadv_adjust_bydx_adjust_bydy_adjust_byr  r  s
   &         r0   r   Parser.parse_pos_  sa   ++##E**4H4*u$!%%'C""k1#'#8#8#: 
&0d#t#!$$&B""k1#'#8#8#: 
%/T"t#!$$&B""k1#'#8#8#: 
%/T"Y'wws<NNr3   c                   V P                   p V P                  4       P                  R 4      pV Uu. uF  q3R8w  g   K  \        VR,          ^4      NK   	  ppT. 8w  d   T# R# u upi   \         d   p\        \        T4      T4      hRp?ii ; i), :   NNN)rJ   r[   splitint
ValueErrorr   str)r.   rV   unicode_valuesunierrs   &    r0   r^   Parser.parse_unicode_values_   s    ++	3!00288=N:HV.3SUI.c#b'2..NV "02!5~?4? W 	3s3x22	3s-   #A' A"A"A' "A' 'B2BBc                    V P                  R 4       V P                  p\        P                  ! V P	                  4       VR7      pV P                  R4       V# )rj   rU   END_ENUM)r\   rJ   r   Enumr   )r.   rV   rn   s   &  r0   rl   Parser.parse_enum_	  sG    V$++xx,,.BZ(r3   c           	     *   . pV P                   pV P                  R9   Edj   V P                  R8X  d$   V P                  4       pVP                  V4       KF  V P                  R 8X  dJ   V P	                  R 4       V P                  4       pVP                  \        P                  ! WBR7      4       K  V P                  R8X  dK   V P	                  R4       V P                  4       pVP                  \        P                  ! W@VR7      4       K  V P                  R8X  g   EK  V P	                  R4       V P                  4       pV P	                  R4       V P                  4       pVP                  \        P                  ! WVWR7      4       EK{  \        V4      # )r  GROUPRANGErj   rU   r   )r  r?  r@  rj   )rJ   r*   rl   rF   r\   r[   r   	GlyphName	GroupNameRanger   )r.   r   rV   rn   r6   startends   &      r0   r   Parser.parse_coverage_  s0   ++"EE6)'')%!!W,$$W-**,d FG!!W,$$W-**,d8 LM!!W,$$W-++-$$T*))+		%d NOXr3   c                8    V P                   P                  V4      # r   )r$   r`   )r.   
group_names   &&r0   resolve_groupParser.resolve_group'  s    ||##J//r3   c                8    V P                   P                  W4      # r   )r"   range)r.   rD  rE  s   &&&r0   glyph_rangeParser.glyph_range*  s    ||!!%--r3   c                    V P                   pV P                  pV P                  4       p\        P                  ! W#VR 7      pV# rU   rJ   rC   r]   r   SettingDefinition)r.   rV   	ppem_namevaluesettings   &    r0   r   Parser.parse_ppem_-  s;    ++OO	##%''	8Lr3   c                j    V P                   pV P                  pR p\        P                  ! W#VR7      pV# )TrU   )rJ   rC   r   rR  r.   rV   r6   rT  rU  s   &    r0   r   Parser.parse_noarg_option_4  s2    ++''hGr3   c                    V P                   pV P                  pV P                  4       V P                  4       V P                  4       3p\        P                  ! W#VR 7      pV# rP  rQ  rX  s   &    r0   r   Parser.parse_cmap_format;  sT    ++$$&(;(;(=t?R?R?TU''hGr3   c                h    V P                   \        P                  J ;'       d    V P                  V8H  # r   )cur_token_type_r   rr   rC   )r.   ks   &&r0   rG   Parser.is_cur_keyword_B  s(    $$

2NNA9MNr3   c                    V P                  4        V P                  \        P                  Jd   \	        R V P
                  4      hV P                  # )zExpected a string)r-   r]  r   r   r   rJ   rC   r.   s   &r0   r[   Parser.expect_string_E  >    u||32D4L4LMMr3   c                    V P                  4        V P                  \        P                  J d   V P                  V8X  d   V P                  # \        R V,          V P                  4      h)zExpected "%s"r-   r]  r   rr   rC   r   rJ   )r.   keywords   &&r0   r\   Parser.expect_keyword_K  sM    5::-$//W2L??"?W4d6N6NOOr3   c                    V P                  4        V P                  \        P                  J d   V P                  # \        R V P                  4      h)zExpected a namere  ra  s   &r0   r_   Parser.expect_name_Q  s>    5::-??",d.F.FGGr3   c                    V P                  4        V P                  \        P                  Jd   \	        R V P
                  4      hV P                  # )zExpected a number)r-   r]  r   NUMBERr   rJ   rC   ra  s   &r0   r]   Parser.expect_number_W  rc  r3   c                F   V P                   V P                  V P                  uV n        V n        V n         V P                  R 4      '       d   \        hV P                  P                  4       w  V n         V n        V n        R#   \         d    RRuT n         T n         R# i ; i)rA   N)
r)   r*   r+   r]  rC   rJ   rG   StopIterationr:   nextra  s   &r0   r-   Parser.advance_lexer_]  s    !!%% 	Hdot/G
		C##E**##
   "	% ) 	C7;T3D!4#3	Cs   A
B B B )r%   rC   rJ   r]  r    r"   r$   r'   r:   r(   r*   r+   r)   r&   N)'__name__
__module____qualname____firstlineno__r1   r,   rL   r   r	   r   rw   r   r   r   r   r   r   r   r   r   r   r  r   r^   rl   r   rI  rM  r   r   r   rG   r[   r\   r_   r]   r-   __static_attributes____classdictcell____classdict__s   @r0   r   r      s     , #J$!F$ Un6)V&$"6!F O@@.0.OPHC Cr3   r   c                   B   a  ] tR tRt o R tR tR tR tR	R ltRt	V t
R# )
r#   io  c                    / .V n         R # r   scopes_ra  s   &r0   r1   SymbolTable.__init__p      tr3   c                <    V P                   P                  / 4       R # r   r|  rF   ra  s   &r0   rv   SymbolTable.enter_scopes      Br3   c                :    V P                   P                  4        R # r   )r|  popra  s   &r0   ry   SymbolTable.exit_scopev  s    r3   c                0    W P                   R,          V&   R# )   Nr{  )r.   r6   items   &&&r0   rb   SymbolTable.definey  s    !%Rr3   c                    \        V P                  4       F   pVP                  V4      pV'       g   K  Vu # 	  V'       d7   X F0  pVP                  4       VP                  4       8X  g   K(  W5,          u # 	  R # r   )reversedr|  getlower)r.   r6   case_insensitivescoper  keys   &&&   r0   r`   SymbolTable.resolve|  s\    dll+E99T?Dt , 99;$**,. :%  r3   r{  N)T)rq  rr  rs  rt  r1   rv   ry   rb   r`   ru  rv  rw  s   @r0   r#   r#   o  s#      &	 	r3   r#   c                   <   a  ] tR tRt o R tR tRR ltR tRtV t	R# )	r!   i  c                    / .V n         R # r   r{  ra  s   &r0   r1   OrderedSymbolTable.__init__  r~  r3   c                <    V P                   P                  / 4       R # r   r  ra  s   &r0   rv   OrderedSymbolTable.enter_scope  r  r3   c                4    \         P                  WVR 7       R# ))r  N)r#   r`   )r.   r6   r  s   &&&r0   r`   OrderedSymbolTable.resolve  s    D9IJr3   c                B   \        V P                  4       F  pW9   g   K  W#9   g   K  \        VP                  4       4      P	                  V4      p\        VP                  4       4      P	                  V4      p\        VP                  4       4      WE^,            u # 	  R# )r  N)r  r|  listrE   index)r.   rD  rE  r  	start_idxend_idxs   &&&   r0   rL  OrderedSymbolTable.range  ss    dll+E~#, .44U;	uzz|,2237EJJL))kBB	 ,
 r3   r{  N)F)
rq  rr  rs  rt  r1   rv   r`   rL  ru  rv  rw  s   @r0   r!   r!     s      K r3   r!   )fontTools.voltLib.astvoltLibr   fontTools.voltLib.lexerr   fontTools.voltLib.errorr   ior   rD   objectr   r#   r!    r3   r0   <module>r     s    # # ) 0  ##%%%"$9 "7&. V	CV V	Cr& 2 r3   