+
   QIc                   sZ    ^ RI t ^ RI5 ^ RIt]! R4      t ! R R]P
                  4      tR# )i    N)Z*u<   かきくけこさしすせそたちつてとはひふへほc                   s   a a ] tR t^t oRtRtRtRtRV 3R llt]	R 4       t
]	RR l4       t]	R 4       t]	R 4       tRR ltR tR	 tR
 tRR ltRtVtV ;t# )KanaSegmentNc                sb   < V'       g   V P                  VR 4      p\        \        V `  W4       R# ) N)"_KanaSegment__get_kana_typing_ruleZsuperr    __init__)selfencharsjachars	__class__s   &&&$/usr/share/ibus-anthy/engine/kana.pyr   ZKanaSegment.__init__%   s'    11'2>Gk4)';    c                s    Wn         VR 8X  d
   R V n        R # V P                  R 8X  d   V P                  4        V P                  R 8X  d&   V P                  R 8w  d   V P	                  4        R # R # R # N)_prefs_kana_typing_rule_method_init_kana_typing_method_kana_voiced_consonant_rule _init_kana_voiced_consonant_rule)clsprefs   &&r   INIT_KANA_TYPING_RULEZ!KanaSegment.INIT_KANA_TYPING_RULE*   se    
D=+/C(''4/((***d2''4/002 0 3r	   c                s    V P                   pVR 8X  d   VP                  RR4      pVR 8X  d   RpWn        VP                  RR4      pV P                  VP                  4       9  d
   R V n        R # R # )Nkana-typing-rulemethodZjplist)r   	get_valuer   keys)r   r   r   keymap   &&  r   r   Z$KanaSegment._init_kana_typing_method6   sg    

T>__%7BFT>F'-$!3V<''v{{}<+/C( =r	   c                s   V P                   p/ V n        V P                  pVP                  R R4      V,          pVP	                  4        F  pW4,          pVP                  V4      pVR8X  d   K%  V\        R4      8X  d=   \        \        P                  4       4       F  w  rxWv,           p	WP                  V	&   K  	  V\        R4      8X  g   K  \        \        P                  4       4       F  w  rxWv,           p	WP                  V	&   K  	  K  	  R# )r   r   r   i0  i0  N)r   r   r   r   r   Ztyping_from_config_keyZchrr   Zkana_voiced_consonant_no_ruleZitemsZ"kana_semi_voiced_consonant_no_rule)
r   r   r   r   gkeyvaluekeyZ	no_voicedZvoicedZrules
   &         r   r   Z,KanaSegment._init_kana_voiced_consonant_ruleB   s    

 +-'--!3V<VDKKMDLE..t4CbyF#:@@BC &I$?D<B33D9 D F#?EEGH &I$?D<B33D9 I "r	   c                st    Wn         VR 8X  d+   VR8w  d"   RV n        RV n        V P                  V4       R# R# R# )r   N)r   r   r   r   )r   r   Zsectionr   r   s   &&&&&r   RESETZKanaSegment.RESET]   s<    
((Ud]+/C(.2C+%%e, .;(r	   c                s&   V P                   pR pV P                  pVR 8w  d[   VP                  V4      pVR8X  d   R # TpVP                  RR4      V,          pVP	                  V4      pVR8X  d   R pVR 8X  d   TpV# \
        P	                  W4      pV# )Nr   r   r   )r   r   Ztyping_to_config_keyr   getZkana_typing_rule_static)r   r   Zretvalr   r   r   r   r   s   &&&     r   Z__get_kana_typing_ruleZ"KanaSegment.__get_kana_typing_rulee   s    ..T> --g6DrzG__%7@HFJJw'E{}  ,//@Er	   c                s(    V P                   \        9  # r
   )_jachars_UNFINISHED_HIRAGANA)r   s   &r   is_finishedZKanaSegment.is_finishedz   s    MM%9::r	   c                s   VR 8X  g   VR8X  d   . # V P                   '       du   V P                   V,           pV P                  R8w  d   V P                  P                  VR4      pX'       d!   V P                  V,           V n        W0n         . # \	        V4      .# V P                  V,           V n        V P                  V P                  R4      V n         . # ) r   N)r    r   r   _encharsr    r   )r   encharZtextr   r   r   appendZKanaSegment.append}   s    T>Vr\I=====6)D//47::>>tTJ $ 6 '	'((.33DMM2F	r	   c                s    VR 8X  g   VR8X  d   . # V P                   R8X  d*   Wn         V P                  V P                   R4      V n        . # \        V4      .# )r#   r   )r$   r   r    r    )r   r%   r   r   prependZKanaSegment.prepend   sP    T>Vr\I==B"M 77rJDMIF#$$r	   c                s   VR8X  d   \        V P                  4      ^,
          pV^ 8  g   V\        V P                  4      8  d   \        R4      hV P                  4       '       d   RV n        RV n        R# \        V P                  4      pW! RP                  V4      V n        V P                  V P                  R4      V n        R# )i   zOut of boundr   N)Zlenr$   Z
IndexErrorr"   r    r   Zjoinr   )r   Zindexr   s   && r   popZKanaSegment.pop   s    B;&*E19T]]!33^,,DMDM4==)GGGG,DM 77rJDMr	   )r$   r    )r   r   r
   )r(   )Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r   Z_kana_voiced_consonant_dictr   Zclassmethodr   r   r   r   r   r"   r&   r'   r)   Z__static_attributes__Z__classdictcell__Z__classcell__)r   Z__classdict__s   @@r   r    r       s     F#"&"&<
 	3 	3 	0 	0 C C4 - -*; %K Kr	   r    )ZsysZtablesZsegmentZsetr!   ZSegmentr    ) r	   r   <module>r*      s0   0   YZ CK'// CKr	   