+
    Qi  c                  sn   R t ^ RIHt RtRtRtRtRt^ RIH	t	H
t
 ^ RIt]P                  ! R	R
4       ^ RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ]
'       d   ^RIH t   ! R R4      t!]!! 4       .t" ! R R]PF                  4      t$R# )z5Produces braille presentation for accessible objects.)annotationsz$Id$z
$Revision$z$Date$z-Copyright (c) 2005-2009 Sun Microsystems Inc.ZLGPL)AnyTYPE_CHECKINGNAtspiz2.0)r   )braille)debug)focus_manager)	generator)messages)object_properties)settings)settings_manager)AXObject)AXText)AXUtilities)shortRoleNames)scriptc                  s*    ] tR t^<tRtRR R lltRtR# )SpaceztA dummy class to indicate we want to insert a space into an
utterance, but only if there is text prior to the space.c                    V ^8  d   QhRRRR/# )   	delimiterstrreturnNone Zformat   ";/usr/lib/python3.14/site-packages/orca/braille_generator.py__annotate__ZSpace.__annotate__?   s     # ## # #    c                	s    Wn         R # )Nr   )selfr   s   &&r   __init__ZSpace.__init__?   s    "r   r   N )__name__
__module____qualname____firstlineno____doc__r    __static_attributes__r   r   r   r   r   <   s    @# #r   r   c                  s	  a  ] tR t^DtRt]P                  P                  ]P                  P                  ]P                  P                  ]P                  P                  ]P                  P                  ]P                  P                  3tR V 3R llt]R 4       tR R ltR R ltR	 R
 ltR V 3R lltERFR R lltR R lt]R R l4       t]R R l4       t]R R l4       tR R lt]R R l4       t]R R l4       tR V 3R lltR V 3R  llt]R! R" l4       tR# R$ lt R% R& lt!R' R( lt"R) R* lt#R+ R, lt$R- R. lt%R/ R0 lt&R1 R2 lt'R3 R4 lt(R5 R6 lt)R7 R8 lt*R9 R: lt+R; R< lt,R= R> lt-R? R@ lt.RA RB lt/RC RD lt0RE RF lt1RG RH lt2RI RJ lt3RK RL lt4RM RN lt5RO RP lt6RQ RR lt7RS RT lt8RU RV lt9RW RX lt:RY RZ lt;R[ R\ lt<R] R^ lt=R_ R` lt>Ra Rb lt?Rc Rd lt@Re Rf ltARg Rh ltBRi Rj ltCRk Rl ltDRm Rn ltERo Rp ltFRq Rr ltGRs Rt ltHRu Rv ltIRw Rx ltJRy Rz ltKR{ R| ltLR} R~ ltMR R ltNR R ltOR R ltPR R ltQR R ltRR R ltSR R ltTR R ltUR R ltVR R ltWR R ltXR R ltYR R ltZR R lt[R R lt\R R lt]R R lt^R R lt_R R lt`R R ltaR R ltbR R ltcR R ltdR R lteR R ltfR R ltgR R lthR R ltiR R ltjR R ltkR R ltlR R ltmR R ltnR R ltoR R ltpR R ltqR R ltrR R ltsR R lttR R ltuR R ltvR R ltwR R ltxR R ltyR R ltzR R lt{R R lt|R R lt}R R lt~R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR ER  ltER ER ltER ER ltER ER ltER ER ltER	 ER
 ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER  ltER! ER" ltER# ER$ ltER% ER& ltER' ER( ltER) ER* ltER+ ER, ltER- ER. ltER/ ER0 ltER1 ER2 ltER3 ER4 ltER5 ER6 ltER7 ER8 ltER9 ER: ltER; ER< ltER= ER> ltER? ER@ ltERA ERB ltERC ERD ltEREtV ;t# (G  BrailleGeneratorz:Produces a list of braille Regions for accessible objects.c               r   )r   r   zscript.Scriptr   r   r   r   r   r   r   BrailleGenerator.__annotate__N   s     , ,} , ,r   c                	s(   < \         SV `  VR 4       R# )r   N)superr    )r   r   	__class__s   &&r   r    ZBrailleGenerator.__init__N   s    +r   c                s   a  V 3R lpV# )zDecorator for logging.c                 s   < S! V / VB pR SP                    R2V.p\        P                  ! \        P                  VR4       V# )zBRAILLE GENERATOR: :T)r#   r   print_tokens
LEVEL_INFO)argsZkwargsresulttokensfuncs   *,  r   wrapperZ6BrailleGenerator.log_generator_output.<locals>.wrapperU   sF    4*6*F+DMM?!<fEFu//>Mr   r   )r3   r4   s   f r   log_generator_outputZ%BrailleGenerator.log_generator_outputQ   s    	
 r   c               r   r   objAtspi.Accessibler   z	list[Any]r   r   r   r   r   r*   \   s     9( 9($4 9( 9(r   c                s  a \         P                  ! 4       P                  R4      '       gU   \         P                  ! 4       P                  R4      '       g+   \        P                  ! \        P
                  RR4       . R.# S\        P                  ! 4       P                  4       8X  d   VP                  RR4      '       g   RVR&   V P                  ! S3/ VB p V^ ,          pV EF  p\        V\        P                  \        P                  34      '       d   VP                  S8X  d   Tp W4.# \        V\        P                  4      '       dH   \         P"                  ! S4      '       d,   \$        P&                  ! VP                  4      S8X  d   Tp W4.# \        V\        P                  4      '       g   K  \         P(                  ! S4      '       g   K  \$        P&                  ! VP                  4      S8X  g   EK  Tp W4.# 	  V3R lp\+        \-        Wc4      4      pR	SR
V.p\        P.                  ! \        P
                  VR4       \1        V4      ^8X  d
   V^ ,          pW4.#   \         d    Rp ELi ; i)z;Returns a [result, focused_region] list for presenting obj.ZenableBrailleZenableBrailleMonitorz&BRAILLE GENERATOR: generation disabledTN
formatTypeZfocusedc                s(  < \        V \        P                  \        P                  34      '       g   R # \        P
                  ! SV P                  4      '       g   R # \        P                  ! S4      \        P                  ! V P                  4      8H  # )F)	
isinstancer   	ComponentTextr   Zhave_same_role
accessibler   Zget_name)regionr7   s   &r   predZ/BrailleGenerator.generate_braille.<locals>.pred   se    !&7+<+<gll*KLL "11#v7H7HII ((-1B1B6CTCT1UUUr   z9BRAILLE GENERATOR: Could not determine focused region forzCandidates:)r   get_managerget_settingr   Zprint_messager/   r   get_locus_of_focusgetgenerateZ
IndexErrorr:   r   r;   r<   r=   r   Zis_combo_boxr   
get_parentZis_table_celllistZfilterr.   len)	r   r7   r0   r1   focused_regionr>   r?   Z
candidatesr2   s	   &f,      r   generate_brailleZ!BrailleGenerator.generate_braille\   s     ++-99/JJ#//1==>TUU 0 02Z\`a:-++-@@BB88L$//!*Ds+d+	"#AYN F&7#4#4gll"CDDIZIZ^aIa!'6 ''5 &',,//K4L4LS4Q4Q&&v'8'89S@!'. ''- &'"3"3449R9RSV9W9W&&v'8'89S@!'& ''= V fT23JQ=*6Fu//>:!#!+A''C  	"!N	"s   	I( (I98I9c               s$    V ^8  d   QhRRRRRR/# )r   	last_charr   	next_charr   boolr   r   r   r   r   r*      s!     # ## ## #$ #r   c                	s    VP                  4       '       g   VP                  4       '       d   R # . ROp. ROpW9   g   W#9   d   R# W9   g   W$9   d   R # VP                  4       # )FT)(Z[Z{Z<)
Z.Z?Z!r-   Z,Z;)Z]Z}Z>)ZisspaceZisalnum)r   rJ   rK   Zopening_punctuationZclosing_punctuations   &&&  r   _needs_separatorZ!BrailleGenerator._needs_separator   sY    )"3"3"5"52P+y/O+y/O  ""r   c               r   )r   contentsz,list[tuple[Atspi.Accessible, int, int, str]]r   z/tuple[list[list[Any]], Atspi.Accessible | None]r   r   r   r   r   r*      s     "& "&>"& 
9	"&r   c                s   . pRpRpV P                   P                  P                  4       w  rg\        V4       EF  w  rV	w  rrV P	                  WWVV\        V4      R7      w  rV'       g   K6  W8X  d   Yu;8:  d   V8  d   M MTpV'       d   V'       d   R;ppVP                  '       d   VP                  R,          pV^ ,          P                  '       d   V^ ,          P                  ^ ,          pV P                  VV4      '       d'   VP                  ^ \        P                  ! R4      4       VR,          pVP                  V4       EK  	  W53# )z-Generates braille for the specified contents.N)startOffset	endOffsetcaretOffsetstringZindexZtotal r"   )_scriptZ	utilitiesZget_caret_contextZ	enumeraterI   rG   rT   rO   Zinsertr   Regionappend)r   rP   r0   r1   Zlast_regionrH   r7   offsetZicontentaccstartZendrT   ZregionsZf_regionrJ   rK   s   &&,               r   generate_contentsZ"BrailleGenerator.generate_contents   s&    ll,,>>@#H-JA&-#C $ 5 5#RXs8} !6 !.G ze33!)w(**	I%%% + 2 22 6I1:$$$ '
 1 1! 4I((I>>NN1gnnS&9:!"+KMM'"+ .. %%r   c               r   )r   r7   r8   r   r   r   r   r   r   r   r*      s     < <+; < <r   c                	s  < \         P                  ! 4       P                  R 4      \        P                  8X  dE   \
        P                  ! VP                  R\        P                  ! V4      4      4      pV'       d   V# \        SV `(  ! V3/ VB # )ZbrailleRolenameStylerole)r   r@   rA   r
   ZBRAILLE_ROLENAME_STYLE_SHORTr   rC   r   get_roler+   get_localized_role_name)r   r7   r0   Zrvr,   s   &&, r   ra   Z(BrailleGenerator.get_localized_role_name   sl    '')556LM889##DHHVX5F5Fs5K$LMB	w.s;d;;r   c               s$    V ^8  d   QhRRRRRR/# )r   r[   r   r   r   r   r   r   r   r   r   r*      s!      # #  r   c                	s   R pRp\        V\        4      '       d   TpV# V'       d   \        V\        4      '       d   V'       d)   \        V^ ,          \        4      '       d   VR,          pK0  V'       d%   \        VR,          \        4      '       d   V^ R pK,  V Fn  p\        V\        4      '       d   V'       d   W5P                  ,          pRpK7  V P                  V4      pV'       d   V'       d   V V V 2pKb  V'       d   Kl  TpKp  	  V# )rU   N:i   NNrV   )r:   r   rF   r   r   
_as_string)r   r[   r   ZcombinedZpriorZelements   &&&   r   rb   ZBrailleGenerator._as_string   s    gs##H$ # GT22 jU;;!"+je<<!!B-"gu--% 1 11H E OOG4EE&.Z	{5'#B%X#( # r   c               r   r6   r   r   r   r   r   r*      s     % %.> %9 %r   c                	s0    \         P                  ! R 4      .# r!   )r   rX   r   r7   r0      &&,r   _generate_result_separatorZ+BrailleGenerator._generate_result_separator   s    s#$$r   c               r   r6   r   r   r   r   r   r*      s      -= ) r   c                	s   VP                  R 4      '       d-   \        P                  ! 4       P                  R4      '       g   . # . pVP                  R\        P
                  ! V4      4      p\        P                  ! 4       P                  R4      p\        P                  P                  \        P                  P                  \        P                  P                  \        P                  P                  \        P                  P                  .p\        P                  ! \        P                  ! V4      4      '       d&   VP!                  \        P
                  ! V4      4       V\"        P$                  8X  dD   VP'                  \        P                  P(                  \        P                  P*                  .4       \        P,                  ! V4      pV'       d)   VP!                  \.        P0                  V,          4       V# V\"        P2                  8X  dA   VP                  RR4      '       g)   WF9  d#   VP!                  V P4                  ! V3/ VB 4       V# )isProgressBarUpdatebrailleProgressBarUpdatesr_   brailleVerbosityLevelZ
readingRowF)rC   r   r@   rA   r   r`   r   RoleUNKNOWNREDUNDANT_OBJECTZFILLERZEXTENDEDZLINKr   Zis_list_boxrE   rY   r
   VERBOSITY_LEVEL_BRIEFextendZICONZCANVASZget_heading_levelr	   ZROLE_HEADING_LEVEL_BRAILLEZVERBOSITY_LEVEL_VERBOSEra   )r   r7   r0   r1   r_   verbosity_levelZdo_not_presentlevel   &&,     r   _generate_accessible_roleZ*BrailleGenerator._generate_accessible_role   s    88)**#//1==>YZZIxx 1 1# 67*668DDE\]**,,

33

))

++

	) ""8#6#6s#;<<!!("3"3C"89h<<<!!5::??EJJ4E4E"FG--c2MM+FFNO   @ @@88L%00T5OMM$66sCdCDr   c               r   r6   r   r   r   r   r   r*     s      4D QZ r   c                	s    . p\        \        P                  ! V4      4      pV^ 8  d&   VP                  \        P
                  ! V4      4       V# i    )rG   r   Z get_unfocused_alerts_and_dialogsrY   r   Zdialog_count_braille)r   r7   r0   r1   Zalert_and_dialog_count   &&,  r    _generate_alert_and_dialog_countZ1BrailleGenerator._generate_alert_and_dialog_count  sC    !$[%Q%QRU%V!W!A%MM(778NOPr   c               r   r6   r   r   r   r   r   r*     s      '7 I r   c                	s:   \         P                  ! 4       P                  R 4      '       g   . # V P                  P	                  4       P                  4       '       d   . # . pRVR&   RVR&   \        P                  ! V4      pV'       d<   \        P                  ! V4      V P                  9   d   \        P                  ! V4      pV'       d   . p\        P                  ! V4      '       g@   VP                  4        UUu/ uF  w  rgVR8w  g   K  WgbK  	  pppV P                  ! V3/ VB pV'       d.   V'       d&   VP                  \        P                   ! R4      4       VP#                  V4       \        P                  ! V4      pK  VP%                  4        V# u uppi )ZenableBrailleContextFincludeContextancestorr9   r_   r"   )r   r@   rA   rW   get_table_navigator'last_input_event_was_navigation_commandr   Zget_parent_checkedr`   SKIP_CONTEXT_ROLESr   Zis_layout_onlyZitemsrD   rY   r   rX   rm   Zreverse)	r   r7   r0   r1   ZparentZparent_resultZkZvZparent_argss	   &&,      r   _generate_ancestorsZ$BrailleGenerator._generate_ancestors  s5   ++-99:PQQI<<++-UUWWI!&'\,,S1x((0D4K4KK008FM--f5504

LVtqtL $f D D-gnnS12MM-(008F Ms   ;FFc               r   r6   r   r   r   r   r   r*   2  s     	 	2B 	y 	r   c                	s    \         P                  ! 4       P                  R 4      pV\        P                  8X  d   . # . p\
        P                  ! V4      pV'       d    VP                  RV,           R,           4       V# )rh   rM   rN   )r   r@   rA   r
   rl   r   Zget_acceleratorrY   )r   r7   r0   rn   r1   Zaccelerator   &&,   r   _generate_keyboard_acceleratorZ/BrailleGenerator._generate_keyboard_accelerator2  sb    *668DDE\]h<<<I..s3MM#+c12r   c               r   r6   r   r   r   r   r   r*   @  s      0@ Y r   c                	sx    V P                  4       ^ ,          pW18w  d   V P                  V4      ^ ,          pV .# . # rr   )Z$_get_most_recent_progress_bar_updateZ"_get_progress_bar_number_and_count)r   r7   r0   r\   Znumberrs   r   _generate_progress_bar_indexZ-BrailleGenerator._generate_progress_bar_index?  s>    779!<:<<SA!DFh= 	r   c               r   r6   r   r   r   r   r   r*   I  s      0@ Y r   c                	s    V P                   ! V3/ VB pV\        P                  ! 4       P                  4       8X  d   V'       g   R .# V# )rU   )Z_generate_value_as_percentager   r@   rB   r   r7   r0   r1      &&, r   _generate_progress_bar_valueZ-BrailleGenerator._generate_progress_bar_valueH  s?    33C@4@-++-@@BB64Kr   c               s    V ^8  d   QhRR/# )r   r   intr   r   r   r   r   r*   P  s      3 r   c                	s   < \         P                  ! 4       P                  R 4      pVf   \        SV `  4       # \        V4      # )ZprogressBarBrailleInterval)r   r@   rA   r+   !_get_progress_bar_update_intervalr   )r   Zintervalr,   s   & r   r   Z2BrailleGenerator._get_progress_bar_update_intervalP  s;    #//1==>Z[7<>>8}r   c               r   )r   r7   r8   r   rL   r   r   r   r   r   r*   W  s      H H7G HTX Hr   c                	s~   < \         P                  ! 4       P                  R 4      '       g   R# \        SV `  ! V3/ VB # )rg   F)r   r@   rA   r+   #_should_present_progress_bar_update)r   r7   r0   r,   s   &&,r   r   Z4BrailleGenerator._should_present_progress_bar_updateW  s6    ++-99:UVVw:3G$GGr   c               r   r6   r   r   r   r   r   r*   `  s     9 9!1 9i 9r   c                	s    \         P                  ! 4       P                  R 4      '       d   . # \        P                  ! V4      '       g   \        P
                  ! V4      '       g   . # \        P                  .# )ZdisableBrailleEOL)r   r@   rA   r   is_editableZis_coder	   ZEOL_INDICATOR_BRAILLErc   rd   r   _generate_eolZBrailleGenerator._generate_eol_  sW    '')556IJJI'',,0C0CC0H0HI!7788r   c               r   r6   r   r   r   r   r   r*   l  s      ,<  r   c                s   VP                  R4      RJ d   . # VP                  R4      '       d   . # V P                  P                  4       P                  4       '       d   . # \        P
                  ! V4      ;'       g    \        P                  ! V4      pV'       g   \        P                  ! V4      '       dW   \        P                  ! V4      w  rEpV^ 8w  g   VP                  4       '       g   . # \        P                  ! V4      '       d   . # V P                  ! V3/ VB pV'       d   V\        P                  ! R4      .,          pV# )zEProvides the default/role-agnostic information to present before obj.ru   Frf   r"   )rC   rW   rw   rx   r   r   Zis_terminalZis_labelr   Zget_line_at_offsetZstripZget_flows_fromrz   r   rX   )r   r7   r0   Zis_text_arearT   r]   Z_endr1   rp   r   _generate_default_prefixZ)BrailleGenerator._generate_default_prefixl  s     88$%.I88)**I<<++-UUWWI #..s3SS{7N7Ns7S;//44"(";";C"@F4z	))#..	))#66w~~c*++Fr   c               r   r6   r   r   r   r   r   r*     s      2B y r   c                s   VP                  R4      R8X  dR   \        P                  ! WP                  V P                  ! V3/ VB V P
                  ! V3/ VB ,           4      4      .pV# V P                  ! V3/ VB pV\        P                  ! WP                  V P                  ! V3/ VB V P                  ! V3/ VB ,           V P                  ! V3/ VB ,           V P
                  ! V3/ VB ,           V P                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      4      .,          pW0P                  ! V3/ VB ,          pV# )z5Provides a default/role-agnostic presentation of obj.r9   rv   )rC   r   r;   rb   #_generate_accessible_label_and_namerq   r   _generate_text_content_generate_value_generate_state_required_generate_state_invalid_generate_default_suffixr~   r   r   _generate_default_presentationZ/BrailleGenerator._generate_default_presentation  sY    88L!Z/''__<<SIDI223?$?@AB CF M..s;d;7$$88EE++C8489$$S1D12 ..s;d;< --c:T:	;
 ,,S9D9:;< = 	= 	//<t<<r   c               r   r6   r   r   r   r   r   r*     s      ,<  r   c                s   . pV P                   ! V3/ VB pV'       dL   V\        P                  ! R4      .,          pV\        P                  ! WP	                  V4      4      .,          pV P
                  ! V3/ VB pV'       dL   V\        P                  ! R4      .,          pV\        P                  ! WP	                  V4      4      .,          pV# )zDProvides the default/role-agnostic information to present after obj.r"   )Z _generate_accessible_descriptionr   rX   r;   rb   Z_generate_state_current)r   r7   r0   r1   ZdescriptionZcurrentr{   r   r   Z)BrailleGenerator._generate_default_suffix  s     ;;CH4Hw~~c*++Fw((ook.JKLLF..s;d;w~~c*++Fw((oog.FGHHFr   c               r   r6   r   r   r   r   r   r*     s      )9 i r   c                s   V P                   ! V3/ VB pT\        P                  ! TT P                  V P                  ! V3/ VB ;'       g    V P
                  ! V3/ VB 4      V P                  V P                  ! V3/ VB 4      VP                  R4      VP                  R4      VP                  R4      4      .,          pV P                  ! V3/ VB pV'       d5   V\        P                  ! RV P                  V4      ,           4      .,          pV P                  ! V3/ VB pV'       d5   V\        P                  ! RV P                  V4      ,           4      .,          pV P                  ! V3/ VB pV'       d5   V\        P                  ! RV P                  V4      ,           4      .,          pW0P                  ! V3/ VB ,          pV# )z<Provides a default/role-agnostic generation of text objects.rQ   rR   rS   r"   )r   r   r<   rb   r   Z%_generate_accessible_placeholder_textr   rC   r   rX   r   Z_generate_state_read_onlyr   )r   r7   r0   r1   ZinvalidZrequiredZreadonlys   &&,    r   _generate_text_objectZ&BrailleGenerator._generate_text_object  s    ..s;d;7<<OO88EE O OAA#NNP OOD..s;d;<HH]#HH[!HH]#% & 	& ..s;d;w~~cDOOG,D&DEFFF00==gnnS4??8+D%DEFFF11#>>gnnS4??8+D%DEFFF//<t<<r   c               r   r6   r   r   r   r   r   r*          @ @/? @I @r   c                (    V P                   ! V3/ VB # )z1Generates braille for the accelerator-label role.r   rc   rd   r   _generate_accelerator_labelZ,BrailleGenerator._generate_accelerator_label       223?$??r   c               r   r6   r   r   r   r   r   r*           #3 	 r   c                b   V P                   ! V3/ VB '       d   V P                  ! V3/ VB # V P                  ! V3/ VB pV\        P                  ! WP                  V P                  ! V3/ VB V P                  ! V3/ VB ,           4      4      .,          pW0P                  ! V3/ VB ,          pV# )z%Generates braille for the alert role.	_generate_text_substringr   r   r   r;   rb   r   rq   r   r~   r   r   _generate_alertZ BrailleGenerator._generate_alert       ((555--c:T::..s;d;7$$88EE..s;d;<=> ? 	? 	//<t<<r   c               r   r6   r   r   r   r   r   r*          @ @'7 @I @r   c                r   )z)Generates braille for the animation role.r   rc   rd   r   _generate_animationZ$BrailleGenerator._generate_animation  r   r   c               r   r6   r   r   r   r   r   r*     s     	 	)9 	i 	r   c                
   V P                   ! V3/ VB pV\        P                  ! WP                  V P                  ! V3/ VB V P
                  ! V3/ VB ,           4      4      .,          pW0P                  ! V3/ VB ,          pV# )z+Generates braille for the application role.r   r   r;   rb   r   rq   r   r~   r   r   _generate_applicationZ&BrailleGenerator._generate_application       ..s;d;7$$88EE..s;d;<=> ? 	? 	//<t<<r   c               r   r6   r   r   r   r   r   r*          @ @#3 @	 @r   c                r   )z%Generates braille for the arrow role.r   rc   rd   r   _generate_arrowZ BrailleGenerator._generate_arrow  r   r   c               r   r6   r   r   r   r   r   r*     s      %5 ) r   c                r   )z'Generates braille for the article role.r   r~   r   r   _generate_articleZ"BrailleGenerator._generate_article  r   r   c               r   r6   r   r   r   r   r   r*     s      -= ) r   c                r   )zEGenerates braille for the article role when the article is in a feed.r   r~   r   r   _generate_article_in_feedZ*BrailleGenerator._generate_article_in_feed  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z%Generates braille for the audio role.r   rc   rd   r   _generate_audioZ BrailleGenerator._generate_audio  r   r   c               r   r6   r   r   r   r   r   r*          @ @*: @y @r   c                r   )z,Generates braille for the autocomplete role.r   rc   rd   r   _generate_autocompleteZ'BrailleGenerator._generate_autocomplete  r   r   c               r   r6   r   r   r   r   r   r*     s      )9 i r   c                s    V P                   ! V3/ VB pV\        P                  ! RV P                  V P                  ! V3/ VB V P
                  ! V3/ VB ,           4      ,           4      .,          pV# )z+Generates braille for the block-quote role.r"   )r   r   rX   rb   rq   _generate_nesting_levelr~   r   r   _generate_block_quoteZ&BrailleGenerator._generate_block_quote  sw     ++C8487>>#**37$7((556)7 #7 8 9 	9 r   c               r   r6   r   r   r   r   r   r*   $       @ @&6 @9 @r   c                r   )z(Generates braille for the calendar role.r   rc   rd   r   _generate_calendarZ#BrailleGenerator._generate_calendar$  r   r   c               r   r6   r   r   r   r   r   r*   )       
 
$4 
 
r   c                @   V P                   ! V3/ VB pT\        P                  ! YP                  V P                  ! V3/ VB V P
                  ! V3/ VB ;'       g    V P                  ! V3/ VB ,           4      4      .,          pW0P                  ! V3/ VB ,          pV# )z&Generates braille for the canvas role.r   r   r;   rb   r   Z&_generate_accessible_image_descriptionrq   r   r~   r   r   _generate_canvasZ!BrailleGenerator._generate_canvas)       ..s;d;7$$88EE<<SIDI C C55cBTBDEF G 	G
 	//<t<<r   c               r   r6   r   r   r   r   r   r*   5       @ @%5 @) @r   c                r   )z'Generates braille for the caption role.r   rc   rd   r   _generate_captionZ"BrailleGenerator._generate_caption5  r   r   c               r   r6   r   r   r   r   r   r*   :  r   r   c                r   )z%Generates braille for the chart role.r   rc   rd   r   _generate_chartZ BrailleGenerator._generate_chart:  r   r   c               r   r6   r   r   r   r   r   r*   ?  s      '7 I r   c                s   V P                   ! V3/ VB pV\        P                  ! WP                  V P                  ! V3/ VB V P
                  ! V3/ VB ,           V P                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      V P                  V P                  ! V3/ VB 4      R7      .,          pW0P                  ! V3/ VB ,          pV# )z)Generates braille for the check-box role.Z	indicator)
r   r   r;   rb   r   rq   r   r   _generate_state_checkedr   r~   r   r   _generate_check_boxZ$BrailleGenerator._generate_check_box?  s     ..s;d;7$$88EE..s;d;<--c:T:; ,,S9D9:;
 ood&B&B3&O$&OPR S 	S 	//<t<<r   c               r   r6   r   r   r   r   r   r*   M        -= ) r   c                ~   V P                   ! V3/ VB pV\        P                  ! WP                  V P                  ! V3/ VB V P
                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      V P                  V P                  ! V3/ VB 4      R7      .,          pW0P                  ! V3/ VB ,          pV# )z/Generates braille for the check-menu-item role.r   )	r   r   r;   rb   r   rq   r|   r   r   r~   r   r   _generate_check_menu_itemZ*BrailleGenerator._generate_check_menu_itemM  s     ..s;d;7$$88EE..s;d;<33C@4@AB ood&B&B3&O$&OPR S 	S 	//<t<<r   c               r   r6   r   r   r   r   r   r*   Z       @ @+; @	 @r   c                r   )z-Generates braille for the color-chooser role.r   rc   rd   r   _generate_color_chooserZ(BrailleGenerator._generate_color_chooserZ  r   r   c               r   r6   r   r   r   r   r   r*   _  s      +; 	 r   c                0   V P                   ! V3/ VB '       d   V P                  ! V3/ VB pMV P                  ! V3/ VB p\        P                  ! WP                  W0P                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      4      .pV# )z-Generates braille for the column-header role.r   _generate_text_liner   r   r;   rb   rq   Z_generate_table_sort_orderr   r7   r0   liner1   rs   r   _generate_column_headerZ(BrailleGenerator._generate_column_header_       ((555++C848D;;CH4HD##55cBTBB33C@4@ABC D
 r   c               r   r6   r   r   r   r   r   r*   n  s      '7 I r   c                s   \         P                  ! V4      '       d   V P                  ! V3/ VB # V P                  ! V3/ VB pV P                  ! V3/ VB pV'       d   \        V^ ,          4      ^,           pM^ pV\        P                  ! WP                  VV P                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      V4      .,          pW0P                  ! V3/ VB ,          pV# )z)Generates braille for the combo-box role.)r   r   r   r   r   rG   r   r;   rb   r   rq   r   r   r7   r0   r1   ZlabelrZ   r{   r   _generate_combo_boxZ$BrailleGenerator._generate_combo_boxn  s     ""3''--c:T::..s;d;88EEq]Q&FF7$$#33C@4@"A#==cJTJ"K LMSU V 	V 	//<t<<r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z'Generates braille for the comment role.r   rc   rd   r   _generate_commentZ"BrailleGenerator._generate_comment  r   r   c               r   r6   r   r   r   r   r   r*          @ @.> @9 @r   c                r   )z0Generates braille for the content-deletion role.r   rc   rd   r   _generate_content_deletionZ+BrailleGenerator._generate_content_deletion  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z1Generates braille for the content-insertion role.r   rc   rd   r   _generate_content_insertionZ,BrailleGenerator._generate_content_insertion  r   r   c               r   r6   r   r   r   r   r   r*          @ @)9 @i @r   c                r   )z+Generates braille for the date-editor role.r   rc   rd   r   _generate_date_editorZ&BrailleGenerator._generate_date_editor  r   r   c               r   r6   r   r   r   r   r   r*          @ @(8 @Y @r   c                r   )z*Generates braille for the definition role.r   rc   rd   r   _generate_definitionZ%BrailleGenerator._generate_definition  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z0Generates braille for the description-list role.r   rc   rd   r   _generate_description_listZ+BrailleGenerator._generate_description_list  r   r   c               r   r6   r   r   r   r   r   r*     s      .> 9 r   c                    V P                   ! V3/ VB pV\        P                  ! RV P                  V P                  ! V3/ VB 4      ,           4      .,          pV# )z0Generates braille for the description-term role.r"   )r   r   rX   rb   Z_generate_term_value_countr~   r   r   _generate_description_termZ+BrailleGenerator._generate_description_term  s]     ++C8487>>#++C848): #: ; < 	<r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z1Generates braille for the description-value role.r   rc   rd   r   _generate_description_valueZ,BrailleGenerator._generate_description_value  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z-Generates braille for the desktop-frame role.r   rc   rd   r   _generate_desktop_frameZ(BrailleGenerator._generate_desktop_frame  r   r   c               r   r6   r   r   r   r   r   r*     s     0 0*: 0y 0r   c                r   )z,Generates braille for the desktop-icon role.)_generate_iconrc   rd   r   _generate_desktop_iconZ'BrailleGenerator._generate_desktop_icon       ""3/$//r   c               r   r6   r   r   r   r   r   r*          
 
"2 
y 
r   c                :   V P                   ! V3/ VB pV\        P                  ! WP                  V P                  ! V3/ VB V P
                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      4      .,          pW0P                  ! V3/ VB ,          pV# )z$Generates braille for the dial role.r   r   r;   rb   r   r   rq   r   r~   r   r   _generate_dialZBrailleGenerator._generate_dial       ..s;d;7$$88EE$$S1D12..s;d;<=> ? 	?
 	//<t<<r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z&Generates braille for the dialog role.)r   r   r;   rb   r   rq   Z _generate_accessible_static_textr   r~   r   r   _generate_dialogZ!BrailleGenerator._generate_dialog       ..s;d;7$$88EE..s;d;<55cBTBCDE F 	F
 	//<t<<r   c               r   r6   r   r   r   r   r   r*          @ @,< @ @r   c                r   )z.Generates braille for the directory_pane role.r   rc   rd   r   _generate_directory_paneZ)BrailleGenerator._generate_directory_pane  r   r   c               r   r6   r   r   r   r   r   r*          	 	&6 	9 	r   c                s    V P                   ! V3/ VB pV\        P                  ! VRV P                  V P                  ! V3/ VB 4      VP                  R4      VP                  R4      4      .,          pV# )z-Generates braille for document-related roles.rU   rQ   rR   )r   r   r<   rb   r   rC   r~   r   r   _generate_documentZ#BrailleGenerator._generate_document  ss     ..s;d;7<<OOD..s;d;<HH]#HH[!	# $ 	$
 r   c               r   r6   r   r   r   r   r   r*          4 4,< 4 4r   c                r   )z.Generates braille for the document-email role.r   rc   rd   r   _generate_document_emailZ)BrailleGenerator._generate_document_email       &&s3d33r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z.Generates braille for the document-frame role.r   rc   rd   r   _generate_document_frameZ)BrailleGenerator._generate_document_frame  r   r   c               r   r6   r   r   r   r   r   r*     s     4 43C 4PY 4r   c                r   )z5Generates braille for the document-presentation role.r   rc   rd   r   _generate_document_presentationZ0BrailleGenerator._generate_document_presentation  r   r   c               r   r6   r   r   r   r   r   r*     s     4 42B 4y 4r   c                r   )z4Generates braille for the document-spreadsheet role.r   rc   rd   r   _generate_document_spreadsheetZ/BrailleGenerator._generate_document_spreadsheet  r   r   c               r   r6   r   r   r   r   r   r*     s     4 4+; 4	 4r   c                r   )z-Generates braille for the document-text role.r   rc   rd   r   _generate_document_textZ(BrailleGenerator._generate_document_text  r   r   c               r   r6   r   r   r   r   r   r*     s     4 4*: 4y 4r   c                r   )z,Generates braille for the document-web role.r   rc   rd   r   _generate_document_webZ'BrailleGenerator._generate_document_web  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   z,Generates braille for the dpub section role.r   rc   rd   r   _generate_dpub_landmarkZ(BrailleGenerator._generate_dpub_landmark  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   r   r   rc   rd   r   _generate_dpub_sectionZ'BrailleGenerator._generate_dpub_section  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z,Generates braille for the drawing-area role.r   rc   rd   r   _generate_drawing_areaZ'BrailleGenerator._generate_drawing_area  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z'Generates braille for the editbar role.r   rc   rd   r   _generate_editbarZ"BrailleGenerator._generate_editbar  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z(Generates braille for the embedded role.r   rc   rd   r   _generate_embeddedZ#BrailleGenerator._generate_embedded  r   r   c               r   r6   r   r   r   r   r   r*          7 7#3 7	 7r   c                r   )z%Generates braille for the entry role.r   rc   rd   r   _generate_entryZ BrailleGenerator._generate_entry       ))#666r   c               r   r6   r   r   r   r   r   r*          @ @"2 @y @r   c                r   )z$Generates braille for the feed role.r   rc   rd   r   _generate_feedZBrailleGenerator._generate_feed  r   r   c               r   r6   r   r   r   r   r   r*           2 2*: 2y 2r   c                r   )z,Generates braille for the file-chooser role.r   rc   rd   r   _generate_file_chooserZ'BrailleGenerator._generate_file_chooser        $$S1D11r   c               r   r6   r   r   r   r   r   r*   %       @ @$4 @ @r   c                r   )z&Generates braille for the filler role.r   rc   rd   r   _generate_fillerZ!BrailleGenerator._generate_filler%  r   r   c               r   r6   r   r   r   r   r   r*   *  r   r   c                r   )z,Generates braille for the font-chooser role.r   rc   rd   r   _generate_font_chooserZ'BrailleGenerator._generate_font_chooser*  r   r   c               r   r6   r   r   r   r   r   r*   /  r   r   c                r   )z&Generates braille for the footer role.r   rc   rd   r   _generate_footerZ!BrailleGenerator._generate_footer/  r   r   c               r   r6   r   r   r   r   r   r*   4  r   r   c                r   )z(Generates braille for the footnote role.r   rc   rd   r   _generate_footnoteZ#BrailleGenerator._generate_footnote4  r   r   c               r   r6   r   r   r   r   r   r*   9  s      "2 y r   c                r   )z$Generates braille for the form role.r   r~   r   r   _generate_formZBrailleGenerator._generate_form9  r   r   c               r   r6   r   r   r   r   r   r*   G  s     
 
#3 
	 
r   c                r   )z%Generates braille for the frame role.)r   r   r;   rb   r   rq   rt   r   r~   r   r   _generate_frameZ BrailleGenerator._generate_frameG  r   r   c               r   r6   r   r   r   r   r   r*   S  r   r   c                r   )z*Generates braille for the glass-pane role.r   rc   rd   r   _generate_glass_paneZ%BrailleGenerator._generate_glass_paneS  r   r   c               r   r6   r   r   r   r   r   r*   X  s      &6 9 r   c                r   )z(Generates braille for the grouping role.r   r~   r   r   _generate_groupingZ#BrailleGenerator._generate_groupingX  r   r   c               r   r6   r   r   r   r   r   r*   f  r   r   c                r   )z&Generates braille for the header role.r   rc   rd   r   _generate_headerZ!BrailleGenerator._generate_headerf  r   r   c               r   r6   r   r   r   r   r   r*   k  s      %5 ) r   c                r   )z'Generates braille for the heading role.r"   )r   r   rX   rb   rq   r~   r   r   _generate_headingZ"BrailleGenerator._generate_headingk  s]     ++C8487>>#**37$7)9 #9 : ; 	;r   c               r   r6   r   r   r   r   r   r*   s  r   r   c                r   )z.Generates braille for the html-container role.r   rc   rd   r   _generate_html_containerZ)BrailleGenerator._generate_html_containers  r   r   c               r   r6   r   r   r   r   r   r*   x  r   r   c                r   )z$Generates braille for the icon role.r   r~   r   r   r   ZBrailleGenerator._generate_iconx  r   r   c               r   r6   r   r   r   r   r   r*     s     	 	#3 		 	r   c                r   )z%Generates braille for the image role.r   r~   r   r   _generate_imageZ BrailleGenerator._generate_image  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z)Generates braille for the image-map role.r   rc   rd   r   _generate_image_mapZ$BrailleGenerator._generate_image_map  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z(Generates braille for the info-bar role.r   rc   rd   r   _generate_info_barZ#BrailleGenerator._generate_info_bar  r   r   c               r   r6   r   r   r   r   r   r*          @ @1A @i @r   c                r   )z3Generates braille for the input-method-window role.r   rc   rd   r   _generate_input_method_windowZ.BrailleGenerator._generate_input_method_window  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z.Generates braille for the internal-frame role.r   rc   rd   r   _generate_internal_frameZ)BrailleGenerator._generate_internal_frame  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z%Generates braille for the label role.r   rc   rd   r   _generate_labelZ BrailleGenerator._generate_label  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z(Generates braille for the landmark role.r   rc   rd   r   _generate_landmarkZ#BrailleGenerator._generate_landmark  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z,Generates braille for the layered-pane role.r   rc   rd   r   _generate_layered_paneZ'BrailleGenerator._generate_layered_pane  r   r   c               r   r6   r   r   r   r   r   r*     s     
 
'7 
I 
r   c                r   )z)Generates braille for the level-bar role.r   r~   r   r   _generate_level_barZ$BrailleGenerator._generate_level_bar  r   r   c               r   r6   r   r   r   r   r   r*     s      "2 y r   c                s   V P                   ! V3/ VB pT\        P                  ! YP                  V P                  ! V3/ VB ;'       g    V P
                  ! V3/ VB 4      4      .,          pV P                  ! V3/ VB pV'       d5   V\        P                  ! RV P                  V4      ,           4      .,          pW0P                  ! V3/ VB ,          pV# )z$Generates braille for the link role.r"   )	r   r   ZLinkrb   r   r   rq   rX   r   )r   r7   r0   r1   Zrolenamers   r   _generate_linkZBrailleGenerator._generate_link  s     ..s;d;7<<99#FF @ @223?$?BC D 	D
 11#>>w~~cDOOH,E&EFGGF//<t<<r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z$Generates braille for the list role.r   rc   rd   r   _generate_listZBrailleGenerator._generate_list  r   r   c               r   r6   r   r   r   r   r   r*     s      &6 9 r   c                s   V P                   ! V3/ VB pV P                  ! V3/ VB pV'       d   \        V^ ,          4      ^,           pM^ pV\        P                  ! WP                  VV P                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      V4      .,          pW0P                  ! V3/ VB ,          pV# )z(Generates braille for the list-box role.)	r   r   rG   r   r;   rb   Z_generate_focused_itemrq   r   r   r{   r   _generate_list_boxZ#BrailleGenerator._generate_list_box  s     ..s;d;88EEq]Q&FF7$$#::3G$G"H#==cJTJ"K LMSU V 	V 	//<t<<r   c               r   r6   r   r   r   r   r   r*     s      '7 I r   c                sf   V P                   ! V3/ VB '       d   V P                  ! V3/ VB # V P                  ! V3/ VB pV P                  ! V3/ VB pV'       d   \        P
                  ! V4      '       dr   V\        P                  ! VRV P                  V P                  ! V3/ VB 4      VP                  R4      VP                  R4      VP                  R4      4      .,          pMaT\        P                  ! TT P                  T;'       g,    V P                  ! V3/ VB V P                  ! V3/ VB ,           4      4      .,          pV P                  ! V3/ VB pV'       d5   V\        P                  ! RV P                  V4      ,           4      .,          pW0P                   ! V3/ VB ,          pV# )z)Generates braille for the list-item role.rU   rQ   rR   rS   r"   )r   r   r   r   r   r   r   r<   rb   r   rC   r;   r   _generate_state_expandedr   rX   _generate_descendants)r   r7   r0   r1   r   ro   r{   r   _generate_list_itemZ$BrailleGenerator._generate_list_item  s    ((555--c:T::..s;d;''4t4K++C00w|| 2 23 ?$ ?@'%') * *F w(( !; !;(P(PQT(]X\(]--c:T:); <= > >F
 ,,S9D9w~~cDOOE,B&BCDDF,,S9D99r   c               r   r6   r   r   r   r   r   r*     s     @ @!1 @i @r   c                r   )z#Generates braille for the log role.r   rc   rd   r   _generate_logZBrailleGenerator._generate_log  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z$Generates braille for the mark role.r   rc   rd   r   _generate_markZBrailleGenerator._generate_mark  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z'Generates braille for the marquee role.r   rc   rd   r   _generate_marqueeZ"BrailleGenerator._generate_marquee  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z$Generates braille for the math role.r   rc   rd   r   _generate_mathZBrailleGenerator._generate_math  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z-Generates braille for the math-enclosed role.r   rc   rd   r   _generate_math_enclosedZ(BrailleGenerator._generate_math_enclosed  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z+Generates braille for the math-fenced role.r   rc   rd   r   _generate_math_fencedZ&BrailleGenerator._generate_math_fenced  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z-Generates braille for the math-fraction role.r   rc   rd   r   _generate_math_fractionZ(BrailleGenerator._generate_math_fraction  r   r   c               r   r6   r   r   r   r   r   r*   $  r   r   c                r   )z0Generates braille for the math-multiscript role.r   rc   rd   r   _generate_math_multiscriptZ+BrailleGenerator._generate_math_multiscript$  r   r   c               r   r6   r   r   r   r   r   r*   )  r   r   c                r   )z)Generates braille for the math-root role.r   rc   rd   r   _generate_math_rootZ$BrailleGenerator._generate_math_root)  r   r   c               r   r6   r   r   r   r   r   r*   .  r   r   c                r   )z(Generates braille for the math-row role.r   rc   rd   r   _generate_math_rowZ#BrailleGenerator._generate_math_row.  r   r   c               r   r6   r   r   r   r   r   r*   3  s     @ @2B @y @r   c                r   )z4Generates braille for the math script subsuper role.r   rc   rd   r   _generate_math_script_subsuperZ/BrailleGenerator._generate_math_script_subsuper3  r   r   c               r   r6   r   r   r   r   r   r*   8  s      @ @3C @PY @r   c                r   )z5Generates braille for the math script underover role.r   rc   rd   r   _generate_math_script_underoverZ0BrailleGenerator._generate_math_script_underover8  r   r   c               r   r6   r   r   r   r   r   r*   =  r   r   c                r   )z*Generates braille for the math-table role.r   rc   rd   r   _generate_math_tableZ%BrailleGenerator._generate_math_table=  r   r   c               r   r6   r   r   r   r   r   r*   B       	 	"2 	y 	r   c                r   )z$Generates braille for the menu role.r   r~   r   r   _generate_menuZBrailleGenerator._generate_menuB  r   r   c               r   r6   r   r   r   r   r   r*   M  r   r   c                r   )z(Generates braille for the menu-bar role.r   rc   rd   r   _generate_menu_barZ#BrailleGenerator._generate_menu_barM  r   r   c               r   r6   r   r   r   r   r   r*   R  s      '7 I r   c                r   )z)Generates braille for the menu-item role.r   )	r   r   r;   rb   r   r  r|   Z$_generate_state_checked_if_checkabler   r~   r   r   _generate_menu_itemZ$BrailleGenerator._generate_menu_itemR  s     ..s;d;7$$88EE--c:T:;33C@4@AB ood&O&OPS&\W[&\]_ ` 	` 	//<t<<r   c               r   r6   r   r   r   r   r   r*   _  s      *: y r   c                r   )z,Generates braille for the notification role.r   r~   r   r   _generate_notificationZ'BrailleGenerator._generate_notification_  r   r   c               r   r6   r   r   r   r   r   r*   m  r   r   c                r   )z+Generates braille for the option-pane role.r   rc   rd   r   _generate_option_paneZ&BrailleGenerator._generate_option_panem  r   r   c               r   r6   r   r   r   r   r   r*   r       7 7"2 7y 7r   c                r   )z$Generates braille for the page role.r   rc   rd   r   _generate_pageZBrailleGenerator._generate_pager  r   r   c               r   r6   r   r   r   r   r   r*   w  s     
 
&6 
9 
r   c                r   )z(Generates braille for the page-tab role.)r   r   r;   rb   r   rq   r|   r   r~   r   r   _generate_page_tabZ#BrailleGenerator._generate_page_tabw  s     ..s;d;7$$88EE..s;d;<33C@4@ABC D 	D
 	//<t<<r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z-Generates braille for the page-tab-list role.r   rc   rd   r   _generate_page_tab_listZ(BrailleGenerator._generate_page_tab_list  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z%Generates braille for the panel role.r   r~   r   r   _generate_panelZ BrailleGenerator._generate_panel  r   r   c               r   r6   r   r   r   r   r   r*     s     7 7'7 7I 7r   c                r   )z)Generates braille for the paragraph role.r   rc   rd   r   _generate_paragraphZ$BrailleGenerator._generate_paragraph  r   r   c               r   r6   r   r   r   r   r   r*     s     7 7+; 7	 7r   c                r   )z-Generates braille for the password-text role.r   rc   rd   r   _generate_password_textZ(BrailleGenerator._generate_password_text  r   r   c               r   r6   r   r   r   r   r   r*     s     0 0(8 0Y 0r   c                r   )z*Generates braille for the popup-menu role.)r"  rc   rd   r   _generate_popup_menuZ%BrailleGenerator._generate_popup_menu  r   r   c               r   r6   r   r   r   r   r   r*     s      *: y r   c                s   VP                  R4      '       d   V P                  ! V3/ VB '       g   . # V P                  ! V3/ VB pV'       g   . # V P                  ! V3/ VB pV\        P
                  ! WP                  V P                  ! V3/ VB V,           V P                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      4      .,          pW@P                  ! V3/ VB ,          pV# )z,Generates braille for the progress-bar role.rf   )rC   r   r   r   r   r;   rb   r   rq   r}   r   )r   r7   r0   Zvaluer1   rs   r   _generate_progress_barZ'BrailleGenerator._generate_progress_bar  s     xx-..::3G$GGI11#>>I..s;d;7$$88EE..s;d;< 11#>>?@A B 	B 	//<t<<r   c               r   r6   r   r   r   r   r   r*     s     
 
)9 
i 
r   c                r   )z+Generates braille for the push-button role.)r   r   r;   rb   r   r  rq   r   r~   r   r   _generate_push_buttonZ&BrailleGenerator._generate_push_button  s     ..s;d;7$$88EE--c:T:;..s;d;<=> ? 	?
 	//<t<<r   c               r   r6   r   r   r   r   r   r*     s     7 7.> 79 7r   c                r   )z0Generates braille for the push-button-menu role.)r0  rc   rd   r   _generate_push_button_menuZ+BrailleGenerator._generate_push_button_menu  r   r   c               r   r6   r   r   r   r   r   r*     s      *: y r   c                s   V P                   ! V3/ VB pV P                  ! V3/ VB pV'       d5   V\        P                  ! RV P	                  V4      ,           4      .,          pV\        P
                  ! WP	                  V P                  ! V3/ VB V P                  ! V3/ VB ,           4      V P	                  V P                  ! V3/ VB 4      R7      .,          pW0P                  ! V3/ VB ,          pV# )z,Generates braille for the radio-button role.r"   r   )
r   Z_generate_radio_button_groupr   rX   rb   r;   r   rq   )_generate_state_selected_for_radio_buttonr   )r   r7   r0   r1   Zgrouprs   r   _generate_radio_buttonZ'BrailleGenerator._generate_radio_button  s     ..s;d;11#>>w~~cDOOE,B&BCDDF7$$88EE..s;d;<= ood&T&TUX&a\`&ab	d e 	e
 	//<t<<r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z/Generates braille for the radio-menu-item role.r   )	r   r   r;   rb   r   rq   r|   r2  r   r~   r   r   _generate_radio_menu_itemZ*BrailleGenerator._generate_radio_menu_item  s     ..s;d;7$$88EE..s;d;<33C@4@AB ood&T&TUX&a\`&abd e 	e 	//<t<<r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z&Generates braille for the rating role.r   rc   rd   r   _generate_ratingZ!BrailleGenerator._generate_rating  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z/Generates braille for the region landmark role.r   rc   rd   r   _generate_regionZ!BrailleGenerator._generate_region  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z)Generates braille for the root-pane role.r   rc   rd   r   _generate_root_paneZ$BrailleGenerator._generate_root_pane  r   r   c               r   r6   r   r   r   r   r   r*     s      (8 Y r   c                r   )z*Generates braille for the row-header role.r   r   rs   r   _generate_row_headerZ%BrailleGenerator._generate_row_header  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z%Generates braille for the ruler role.r   rc   rd   r   _generate_rulerZ BrailleGenerator._generate_ruler  r   r   c               r   r6   r   r   r   r   r   r*     s     
 
(8 
Y 
r   c                r   )z*Generates braille for the scroll-bar role.r   r~   r   r   _generate_scroll_barZ%BrailleGenerator._generate_scroll_bar  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z+Generates braille for the scroll-pane role.r   rc   rd   r   _generate_scroll_paneZ&BrailleGenerator._generate_scroll_pane  r   r   c               r   r6   r   r   r   r   r   r*     s     7 7%5 7) 7r   c                r   )z'Generates braille for the section role.r   rc   rd   r   _generate_sectionZ"BrailleGenerator._generate_section  r   r   c               r   r6   r   r   r   r   r   r*   !  r   r   c                r   )z)Generates braille for the separator role.r   rc   rd   r   _generate_separatorZ$BrailleGenerator._generate_separator!  r   r   c               r   r6   r   r   r   r   r   r*   &  r   r   c                r   )z&Generates braille for the slider role.r   r~   r   r   _generate_sliderZ!BrailleGenerator._generate_slider&  r   r   c               r   r6   r   r   r   r   r   r*   2  s     7 7)9 7i 7r   c                r   )z+Generates braille for the spin-button role.r   rc   rd   r   _generate_spin_buttonZ&BrailleGenerator._generate_spin_button2  r   r   c               r   r6   r   r   r   r   r   r*   7  r   r   c                r   )z*Generates braille for the split-pane role.r   rc   rd   r   _generate_split_paneZ%BrailleGenerator._generate_split_pane7  r   r   c               r   r6   r   r   r   r   r   r*   <  r   r   c                r   )z&Generates braille for the static role.r   rc   rd   r   _generate_staticZ!BrailleGenerator._generate_static<  r   r   c               r   r6   r   r   r   r   r   r*   A  s      (8 Y r   c                sx   V P                   ! V3/ VB pV\        P                  ! WP                  V P                  ! V3/ VB V P
                  ! V3/ VB ,           4      4      .,          pV\        P                  ! R4      .,          pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pV# )z*Generates braille for the status-bar role.r"   )	r   r   r;   rb   r   rq   rX   r  r   r~   r   r   _generate_status_barZ%BrailleGenerator._generate_status_barA  s     ..s;d;7$$88EE..s;d;<=> ? 	? 	7>>#&'',,S9D99//<t<<r   c               r   r6   r   r   r   r   r   r*   N  r   r   c                r   )z)Generates braille for the subscript role.r   rc   rd   r   _generate_subscriptZ$BrailleGenerator._generate_subscriptN  r   r   c               r   r6   r   r   r   r   r   r*   S  r   r   c                r   )z*Generates braille for the suggestion role.r   rc   rd   r   _generate_suggestionZ%BrailleGenerator._generate_suggestionS  r   r   c               r   r6   r   r   r   r   r   r*   X  r   r   c                r   )z+Generates braille for the superscript role.r   rc   rd   r   _generate_superscriptZ&BrailleGenerator._generate_superscriptX  r   r   c               r   r6   r   r   r   r   r   r*   ]  r   r   c                sN   V P                   ! V3/ VB pV\        P                  ! WP                  V P                  ! V3/ VB V P
                  ! V3/ VB ,           4      V P                  V P                  ! V3/ VB 4      R7      .,          pW0P                  ! V3/ VB ,          pV# )z&Generates braille for the switch role.r   )r   r   r;   rb   r   rq   Z"_generate_state_checked_for_switchr   r~   r   r   _generate_switchZ!BrailleGenerator._generate_switch]  s     ..s;d;7$$88EE..s;d;<= ood&M&Mc&ZUY&Z[	] ^ 	^
 	//<t<<r   c               r   r6   r   r   r   r   r   r*   i  r   r   c                r   )z%Generates braille for the table role.r   rc   rd   r   _generate_tableZ BrailleGenerator._generate_tablei  r   r   c               r   r6   r   r   r   r   r   r*   n  s      (8 Y r   c                s   . pV P                   ! V3/ VB pV'       d5   V\        P                  ! RV P                  V4      ,           4      .,          pV P                  ! V3/ VB '       d   V P
                  ! V3/ VB pWS,          pV# . pWPP                  ! V3/ VB ,          pT\        P                  ! YP                  V P                  ! V3/ VB V P                  ! V3/ VB ;'       g    V P                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      4      .,          pWS,          pWPP                  ! V3/ VB ,          pV# )z*Generates braille for the table-cell role.r"   )_generate_tree_item_levelr   rX   rb   r   r   Z _generate_state_checked_for_cellr;   Z-_generate_column_header_if_toggle_and_no_textZ/_generate_real_active_descendant_displayed_textr   r  r   )r   r7   r0   Zsuffix
node_levelr1   r{   r   _generate_table_cellZ%BrailleGenerator._generate_table_celln  sN    33C@4@
w~~cDOOJ,G&GHIIF((555//<t<FFM77DtDD7$$BB3O$OEEcRTR M M??LtLN --c:T:;<= > 	> 	//<t<<r   c               r   r6   r   r   r   r   r   r*     s      /? I r   c                sX   V P                   ! V3/ VB '       d   V P                  ! V3/ VB # RVR&   V P                  ! V3/ VB pV P                  ! V3/ VB pV'       d5   V\        P
                  ! RV P                  V4      ,           4      .,          pV P                  ! V3/ VB pV'       d5   V\        P
                  ! RV P                  V4      ,           4      .,          pV'       g	   V'       d   V\        P
                  ! R4      .,          pW0P                  ! V3/ VB ,          pV# )zDGenerates braille for the table-cell role in the context of its row.Fru   r"   )	r   r   r   Z_generate_table_cell_row_headerr   rX   rb   Z"_generate_table_cell_column_headerZ_generate_table_cell_row)r   r7   r0   r1   Z
row_headerZcolumn_headerr{   r   _generate_table_cell_in_rowZ,BrailleGenerator._generate_table_cell_in_row  s     ((555--c:T::!&..s;d;99#FF
w~~cDOOJ,G&GHIIF??LtLw~~cDOOM,J&JKLLFw~~c*++F//<t<<r   c               r   r6   r   r   r   r   r   r*     r  r   c                r   )z3Generates braille for the table-column-header role.r   rc   rd   r   _generate_table_column_headerZ.BrailleGenerator._generate_table_column_header  r   r   c               r   r6   r   r   r   r   r   r*     s      '7 I r   c                s   V P                   ! V3/ VB pV\        P                  ! WP                  V P                  ! V3/ VB V P
                  ! V3/ VB ,           V P                  ! V3/ VB ,           V P                  ! V3/ VB ,           V P                  ! V3/ VB ,           V P                  ! V3/ VB ,           V P                  ! V3/ VB ,           4      4      .,          pW0P                  ! V3/ VB ,          pV# )z)Generates braille for the table-row role.)r   r   r;   rb   r   r   r   rq   r   r   r  r   r~   r   r   _generate_table_rowZ$BrailleGenerator._generate_table_row  s    ..s;d;7$$88EE++C8489$$S1D12 ..s;d;< --c:T:	;
 ,,S9D9: --c:T:;<= > 	> 	//<t<<r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z0Generates braille for the table-row-header role.r   rc   rd   r   _generate_table_row_headerZ+BrailleGenerator._generate_table_row_header  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z1Generates braille for the tearoff-menu-item role.r   rc   rd   r   _generate_tearoff_menu_itemZ,BrailleGenerator._generate_tearoff_menu_item  r   r   c               r   r6   r   r   r   r   r   r*     s      &6 9 r   c                s    \         P                  ! VVP                  R4      VP                  R4      VP                  RVP                  R4      4      R7      .pV# )z(Generates braille for the terminal role.rQ   rR   rS   rZ   )Zstart_offsetZ
end_offsetZcaret_offset)r   r<   rC   r~   r   r   _generate_terminalZ#BrailleGenerator._generate_terminal  sR     ,,-0xx,-(1CD	F G
 r   c               r   r6   r   r   r   r   r   r*     r'  r   c                r   )z$Generates braille for the text role.r   rc   rd   r   _generate_textZBrailleGenerator._generate_text  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z%Generates braille for the timer role.r   rc   rd   r   _generate_timerZ BrailleGenerator._generate_timer  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z)Generates braille for the title-bar role.r   rc   rd   r   _generate_title_barZ$BrailleGenerator._generate_title_bar  r   r   c               r   r6   r   r   r   r   r   r*     s      +; 	 r   c                r   )z-Generates braille for the toggle-button role.r   )	r   r   r;   rb   r   r  rq   Z_generate_state_pressedr   r~   r   r   _generate_toggle_buttonZ(BrailleGenerator._generate_toggle_button  s     ..s;d;7$$88EE--c:T:;..s;d;<= ood&B&B3&O$&OPR S 	S 	//<t<<r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z(Generates braille for the tool-bar role.r   r~   r   r   _generate_tool_barZ#BrailleGenerator._generate_tool_bar  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z(Generates braille for the tool-tip role.r   rc   rd   r   _generate_tool_tipZ#BrailleGenerator._generate_tool_tip  r   r   c               r   r6   r   r   r   r   r   r*     r!  r   c                r   )z$Generates braille for the tree role.r   r~   r   r   _generate_treeZBrailleGenerator._generate_tree  r   r   c               r   r6   r   r   r   r   r   r*     s      '7 I r   c                s   V P                   ! V3/ VB '       d   V P                  ! V3/ VB pMO\        P                  ! WP	                  V P
                  ! V3/ VB V P                  ! V3/ VB ,           4      4      .pV P                  ! V3/ VB pV'       d5   V\        P                  ! RV P	                  V4      ,           4      .,          pV# )z)Generates braille for the tree-item role.r"   )	r   r   r   r;   rb   r   r  rH  rX   )r   r7   r0   r1   rI  rs   r   _generate_tree_itemZ$BrailleGenerator._generate_tree_item  s     ((555//<t<F''__<<SIDI11#>>?@A BF
 33C@4@
gnnS4??:+F%FGHHFr   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z*Generates braille for the tree-table role.r   rc   rd   r   _generate_tree_tableZ%BrailleGenerator._generate_tree_table  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z'Generates braille for the unknown role.r   rc   rd   r   _generate_unknownZ"BrailleGenerator._generate_unknown  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z%Generates braille for the video role.r   rc   rd   r   _generate_videoZ BrailleGenerator._generate_video  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z(Generates braille for the viewport role.r   rc   rd   r   _generate_viewportZ#BrailleGenerator._generate_viewport  r   r   c               r   r6   r   r   r   r   r   r*     r   r   c                r   )z&Generates braille for the window role.r   rc   rd   r   _generate_windowZ!BrailleGenerator._generate_window  r   r   r   r!   )r#   r$   r%   r&   r'   r   ri   ZMENUZMENU_BARZPAGE_TAB_LISTrk   rj   Z	COMBO_BOXry   r    Zstaticmethodr5   rI   rO   r^   ra   rb   re   rq   rt   rz   r|   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r"  r#  r$  r%  r&  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r(   Z__classcell__)r,   s   @r   r)   r)   D   s]   D**//**--**22**55**,,**..0, ,  9(v#"&H< < 0%
  >    4	     H H 9 96,B@
@
	@
@
@
@

@
@
@
(@
@
@
@
@
@
@
@
0


@
	4
4
4
4
4
4
@
@
@
@
@
7
@
2
@
2
@
@

@
@
@

	@
@
@
@
7
@
@

 @
":@
@
@
@
@
@
@
@
@
@
@
@
@
	@
@
7

@
7
7
0
*
7
 @
@
@
@

@
7
@

7
@
@
@
@
@

@
2&@
 @
@
7
@
@
	@
	"@
@
@
@
@ @r   r)   )%r'   Z
__future__r    Z__id__Z__version__Z__date__Z__copyright__Z__license__Ztypingr   r   ZgiZrequire_versionZgi.repositoryr   rU   r   r   r   r   r   r	   r
   r   Z	ax_objectr   Zax_textr   Zax_utilitiesr   Zbraille_rolenamesr   r   r   ZSPACEZ	Generatorr)   r   r   r   <module>r^     s   4 < #? % 	   7E "            % -# # 
	^@y** ^@r   