
    4Ysh(                        d dl Z d dlmZ d dlmZmZmZ  G d d      Zeeeeef   ee   f      Z	 G d d      Z
 G d d	e
      Zej                  j                  j                  ej                  j                  j                  z   ej                  j                   j                  z   ej                  _        ej"                  e_        ej&                  e_        ej*                  e_        ej.                  e_        ej2                  e_        ej                  e_        ej                  j                  ej                  _        ej                  j                   ej                  _        ej                  j                  ej                  _        ej>                  e_         ejB                  e_"        ejF                  e_$        y)
    N)filterfalse)ListTupleUnionc                       e Zd Zd Zd Zy)_lazyclasspropertyc                 V    || _         |j                  | _        |j                  | _        y )N)fn__doc____name__)selfr
   s     q/var/www/sten-cake5-migrate2.hellocrow.space/lexinfo-master/env/lib/python3.12/site-packages/pyparsing/unicode.py__init__z_lazyclassproperty.__init__	   s    zz    c                 (   t        |      t        d      r!t        fdj                  dd  D              ri _        | j
                  j                  }|j                  vr| j                        j                  |<   j                  |   S )N_internc              3   P   K   | ]  }j                   t        |d g       u   yw)r   N)r   getattr).0
superclassclss     r   	<genexpr>z-_lazyclassproperty.__get__.<locals>.<genexpr>   s+      .
 KK7:y"==.
s   #&   )typehasattrany__mro__r   r
   r   )r   objr   attrnames     ` r   __get__z_lazyclassproperty.__get__   s    ;s)CsI&# .
!kk!"o.
 +
 CK77##3;;&$(GGCLCKK!{{8$$r   N)r   
__module____qualname__r   r     r   r   r   r      s    $
%r   r   c                       e Zd ZU dZg Zeed<   ed        Zed        Z	ed        Z
ed        Zed        Zed        Zed	        Zy
)unicode_seta  
    A set of Unicode characters, for language-specific strings for
    ``alphas``, ``nums``, ``alphanums``, and ``printables``.
    A unicode_set is defined by a list of ranges in the Unicode character
    set, in a class attribute ``_ranges``. Ranges can be specified using
    2-tuples or a 1-tuple, such as::

        _ranges = [
            (0x0020, 0x007e),
            (0x00a0, 0x00ff),
            (0x0100,),
            ]

    Ranges are left- and right-inclusive. A 1-tuple of (x,) is treated as (x, x).

    A unicode set can also be defined using multiple inheritance of other unicode sets::

        class CJK(Chinese, Japanese, Korean):
            pass
    _rangesc           	         g }| j                   D ]B  }|t        u r n8t        |dd      D ]&  }|j                  t	        |d   |d   dz                ( D t        t        |            D cg c]  }t        |       c}S c c}w )Nr&   r#   r   r   )r   r%   r   extendrangesortedsetchr)r   retccrrcs        r   _chars_for_rangeszunicode_set._chars_for_ranges7   s    ++ 	5B[ b)R0 5

5A2
345	5
 !'s3x 011A111s   *A?c                 h    dj                  t        t        j                  | j                              S )z+all non-whitespace characters in this range )joinr   strisspacer2   r   s    r   
printableszunicode_set.printablesA   s$     ww{3;;0E0EFGGr   c                 h    dj                  t        t        j                  | j                              S )z'all alphabetic characters in this ranger4   )r5   filterr6   isalphar2   r8   s    r   alphaszunicode_set.alphasF   $     wwvckk3+@+@ABBr   c                 h    dj                  t        t        j                  | j                              S )z*all numeric digit characters in this ranger4   )r5   r;   r6   isdigitr2   r8   s    r   numszunicode_set.numsK   r>   r   c                 4    | j                   | j                  z   S )z)all alphanumeric characters in this range)r=   rA   r8   s    r   	alphanumszunicode_set.alphanumsP   s     zzCHH$$r   c                     dj                  t        t        dj                  t        t        j
                  | j                              dz   dz   dz                     S )zVall characters in this range that are valid identifier characters, plus underscore '_'r4   u:   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzªµºu|   ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ_)r5   r+   r,   r;   r6   isidentifierr2   r8   s    r   
identcharszunicode_set.identcharsU   sc     wwGGF3#3#3S5J5JKLRS UU 	
 		
r   c                     dj                  t        t        | j                  dz   dj                  | j                  D cg c]  }d|z   j                         s| c}      z                     S c c}w )zu
        all characters in this range that are valid identifier body characters,
        plus the digits 0-9
        r4   
0123456789rE   )r5   r+   r,   rG   r2   rF   )r   r1   s     r   identbodycharszunicode_set.identbodycharsc   sn     wwNN"#gg$'$9$9VqcAg=S=S=UV

 
	
 Ws   A/A/N)r   r!   r"   r   r&   UnicodeRangeList__annotations__r   r2   r9   r=   rA   rC   rG   rJ   r#   r   r   r%   r%      s    * !#G"2 2 H H C C C C % % 
 
 
 
r   r%   c                   `   e Zd ZU dZdej
                  fgZeed<    G d de	      Z
 G d de	      Z G d d	e	      Z G d
 de	      Z G d de	      Z G d de	      Z G d de	      Z G d de	      ZeZ G d deee      Z G d de	      Z G d de	      Z G d de	      Z G d de	      Zy)pyparsing_unicodezF
    A namespace class for defining common language unicode_sets.
        r&   c                   $    e Zd ZU dZddgZeed<   y)pyparsing_unicode.Latin1z/Unicode set for Latin-1 Unicode Character Range)rO   ~   )      r&   Nr   r!   r"   r   r&   rK   rL   r#   r   r   Latin1rQ   }   s    9%
! 	
r   rV   c                   "    e Zd ZU dZdgZeed<   y)pyparsing_unicode.LatinAz/Unicode set for Latin-A Unicode Character Range)   i  r&   NrU   r#   r   r   LatinArX          9%
! 	
r   rZ   c                   "    e Zd ZU dZdgZeed<   y)pyparsing_unicode.LatinBz/Unicode set for Latin-B Unicode Character Range)i  iO  r&   NrU   r#   r   r   LatinBr]      r[   r   r^   c                   $    e Zd ZU dZg dZeed<   y)pyparsing_unicode.Greekz.Unicode set for Greek Unicode Character Ranges)#)iB  iE  )ip  iw  )iz  i  )i  i  )i  )i  i  )i  i  )i  i  )i&  i*  )i^  )i`  )if  ij  )i   i  )i  i  )i   iE  )iH  iM  )iP  iW  )iY  )i[  )i]  )i_  i}  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  )i)!  )i'  i'  )ie  )i@ i )i )i  iE )i i r&   NrU   r#   r   r   Greekr`      s    8$%
! $	
r   ra   c                   $    e Zd ZU dZg dZeed<   y)pyparsing_unicode.Cyrillicz0Unicode set for Cyrillic Unicode Character Range))i   i/  )i  i  )i+  )ix  )i-  i-  )i@  ir  )it  i  )i.  i/  r&   NrU   r#   r   r   Cyrillicrc      s    :	%
! 		
r   rd   c                   $    e Zd ZU dZg dZeed<   y)pyparsing_unicode.Chinesez/Unicode set for Chinese Unicode Character Range))i.  i.  )i.  i.  )i1  i1  )i 4  iM  ) N  i  )i   i  )i   im  )ip  i  )io io )i i )i i; )i@ iH )i   i֦ )i  i4 )i@ i )i  i )i i )i  i r&   NrU   r#   r   r   Chineserf      s    9%
! 	
r   rh   c                   b    e Zd ZU dZg Zeed<    G d de      Z G d de      Z	 G d de      Z
y	)
pyparsing_unicode.Japanesez`Unicode set for Japanese Unicode Character Range, combining Kanji, Hiragana, and Katakana rangesr&   c                   $    e Zd ZU dZddgZeed<   y) pyparsing_unicode.Japanese.Kanjiz-Unicode set for Kanji Unicode Character Range)rg   i  )i 0  i?0  r&   NrU   r#   r   r   Kanjirl      s    ;  )G% r   rm   c                   $    e Zd ZU dZg dZeed<   y)#pyparsing_unicode.Japanese.Hiraganaz0Unicode set for Hiragana Unicode Character Range))iA0  i0  )0  0  )i0  )ip  )i )iP iR )i  r&   NrU   r#   r   r   Hiraganaro      s    >)G% r   rr   c                   $    e Zd ZU dZg dZeed<   y)#pyparsing_unicode.Japanese.Katakanaz1Unicode set for Katakana  Unicode Character Range)	)rp   i0  )rq   i0  )i1  i1  )i2  i2  )ie  i  )i  )id ig )i i )i r&   NrU   r#   r   r   Katakanart      s    ?
)G% 
r   ru   N)r   r!   r"   r   r&   rK   rL   r%   rm   rr   ru   r#   r   r   Japaneserj      s4    j$&!&	K 	
	{ 
		{ 	r   rv   c                   $    e Zd ZU dZg dZeed<   y)pyparsing_unicode.Hangulz7Unicode set for Hangul (Korean) Unicode Character Range))i   i  )i.0  i/0  )i11  i1  )i 2  i2  )i`2  i{2  )i~2  )i`  i|  )i   i  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  r&   NrU   r#   r   r   Hangulrx     s    A%
! 	
r   ry   c                       e Zd ZdZy)pyparsing_unicode.CJKzTUnicode set for combined Chinese, Japanese, and Korean (CJK) Unicode Character RangeN)r   r!   r"   r   r#   r   r   CJKr{     s    ^r   r|   c                   $    e Zd ZU dZddgZeed<   y)pyparsing_unicode.Thaiz,Unicode set for Thai Unicode Character Range)i  i:  )i?  i[  r&   NrU   r#   r   r   Thair~     s    6%57G$H!Hr   r   c                   $    e Zd ZU dZg dZeed<   y)pyparsing_unicode.Arabicz.Unicode set for Arabic Unicode Character Range))i   i  )i  i  )i   i  r&   NrU   r#   r   r   Arabicr     s    8%
! 	
r   r   c                   $    e Zd ZU dZg dZeed<   y)pyparsing_unicode.Hebrewz.Unicode set for Hebrew Unicode Character Range)	)i  i  )i  i  )i  i  )i  i6  )i8  i<  )i>  )i@  iA  )iC  iD  )iF  iO  r&   NrU   r#   r   r   Hebrewr   '  s    8
%
! 
	
r   r   c                   $    e Zd ZU dZddgZeed<   y)pyparsing_unicode.Devanagariz2Unicode set for Devanagari Unicode Character Range)i 	  i	  )i  i  r&   NrU   r#   r   r   
Devanagarir   5  s    <%57G$H!Hr   r   N)r   r!   r"   r   sys
maxunicoder&   rK   rL   r%   rV   rZ   r^   ra   rd   rh   rv   ry   Koreanr|   r   r   r   r   r#   r   r   rN   rN   v   s     #%cnn!5 6G6
 

 

 
&
 &
P
; 

+ 
.#; #J
 
( Fgx I{ I
 

 
I[ Ir   rN   )%r   	itertoolsr   typingr   r   r   r   intrK   r%   rN   rv   rm   r&   rr   ru   r      العربيةrh      中文rd      кириллицаra      Ελληνικάr      עִברִית	   日本語   漢字   カタカナ   ひらがなr   	   한국어r   	   ไทยr      देवनागरीr#   r   r   <module>r      s    ! % %% %( eCHouSz9:; T
 T
nAI AIJ $$,,  ))112  ))112    " $5#;#;   ,44  '8'A'A  $%6%<%<  "#4#;#;   /88  $5$>$>$D$D    !*;*D*D*M*M    '*;*D*D*M*M    '/66  /44  ->-I-I  *r   