K iv)ddlZddlmZddlmZGddZeeeeefeefZ GddZ Gdd e Z y) N) filterfalse)UnionceZdZdZdZy)_lazyclasspropertycV||_|j|_|j|_yN)fn__doc____name__)selfr s W/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pyparsing/unicode.py__init__z_lazyclassproperty.__init__ szz   c( t|tdr!tfdjddDri_|j j }|jvr|j j|<j|S)N_internc3PK|]}jt|dguyw)rN)rgetattr).0 superclassclss r z-_lazyclassproperty.__get__..s+.  KK7:y"= =. s#&)typehasattrany__mro__rr r )r objrattrnames ` r __get__z_lazyclassproperty.__get__s ;s)CsI&#. !kk!"o. + CK77## 3;; &$(GGCLCKK !{{8$$rN)r __module__ __qualname__rrrr rrs $ %rrceZdZUdZgZeed<edee fdZ ede fdZ ede fdZ ede fdZ ede fdZede fd Zede fd Zed Zy ) 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 _rangesreturnc g}|jD]B}|turn8t|ddD]&}|jt |d|ddz(Dt dt |DS)Nr%r"rrc32K|]}t|ywr)chrrcs r rz0unicode_set._chars_for_ranges..?s/c!f/s)rr$rextendrangesortedset)rretccrrs r _chars_for_rangeszunicode_set._chars_for_ranges7ss++ 5B[ b)R0 5 5A2 34 5 5 /c#h///rchdjttj|jS)z+all non-whitespace characters in this range)joinrstrisspacer4rs r printableszunicode_set.printablesAs$ww{3;;0E0EFGGrchdjttj|jS)z'all alphabetic characters in this ranger6)r7filterr8isalphar4r:s r alphaszunicode_set.alphasF$wwvckk3+@+@ABBrchdjttj|jS)z*all numeric digit characters in this ranger6)r7r=r8isdigitr4r:s r numszunicode_set.numsKr@rc4|j|jzS)z)all alphanumeric characters in this range)r?rCr:s r alphanumszunicode_set.alphanumsPszzCHH$$rc djttttj |j tdzS)zVall characters in this range that are valid identifier characters, plus underscore '_'r6uABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzªµºÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ_)r7r/r0r=r8 isidentifierr4r:s r identcharszunicode_set.identcharsUsJww F3++S-B-BCD   rctd|jD}djt|t|jztdzS)u all characters in this range that are valid identifier body characters, plus the digits 0-9, and · (Unicode MIDDLE DOT) c3HK|]}d|zjs|yw)_N)rGr+s r rz-unicode_set.identbodychars..is$ q0F0F0HA s""r6u 0123456789·)r0r4r7r/rH)ridentifier_charss r identbodycharszunicode_set.identbodycharscsV  ,,  ww #c#..&99C % ! rroc$eZdZUdZgdZeed<y)pyparsing_unicode.Chinesez/Unicode set for Chinese Unicode Character Range))i.i.)i.i.)i1i1)i4iM)Ni)ii)iim)ipi)ioio)ii)ii;)i@iH)ii֦)ii4)i@i)i i)ii)iir%NrZr"rr Chineserqs=% ! rrsceZdZdZGddeZGddeZGddeZeZeZ eZ ejejzejzZ y) pyparsing_unicode.Japanesez`Unicode set for Japanese Unicode Character Range, combining Kanji, Hiragana, and Katakana rangesc$eZdZUdZddgZeed<y) pyparsing_unicode.Japanese.Kanjiz-Unicode set for Kanji Unicode Character Range)rri)i0i?0r%NrZr"rr Kanjirws ;  )G% rrxc$eZdZUdZgdZeed<y)#pyparsing_unicode.Japanese.Hiraganaz0Unicode set for Hiragana Unicode Character Range))iA0i0)00)i0)ip)i)iPiR)ir%NrZr"rr Hiraganarzs B)G% rr}c$eZdZUdZgdZeed<y)#pyparsing_unicode.Japanese.Katakanaz1Unicode set for Katakana Unicode Character Range) )r{i0)r|i0)i1i1)i2i2)iei)i)idig)ii)ir%NrZr"rr Katakanars C )G% rrN) r r r!r r$rxr}r漢字 カタカナ ひらがなr%r"rr Japaneserusdn K  {  {    MM   rrc$eZdZUdZgdZeed<y)pyparsing_unicode.Hangulz7Unicode set for Hangul (Korean) Unicode Character Range))ii)i.0i/0)i11i1)i2i2)i`2i{2)i~2)i`i|)ii)ii)ii)ii)ii)ii)ii)iir%NrZr"rr HangulrsE% ! rrceZdZdZy)pyparsing_unicode.CJKzTUnicode set for combined Chinese, Japanese, and Korean (CJK) Unicode Character RangeN)r r r!r r"rr CJKr0sbrrc$eZdZUdZddgZeed<y)pyparsing_unicode.Thaiz,Unicode set for Thai Unicode Character Range)ii:)i?i[r%NrZr"rr Thair3s:  % ! rrc$eZdZUdZgdZeed<y)pyparsing_unicode.Arabicz.Unicode set for Arabic Unicode Character Range))ii)ii)iir%NrZr"rr Arabicr:s<% ! rrc$eZdZUdZgdZeed<y)pyparsing_unicode.Hebrewz.Unicode set for Hebrew Unicode Character Range) )ii)ii)ii)ii6)i8i<)i>)i@iA)iCiD)iFiOr%NrZr"rr HebrewrBs< % ! rrc$eZdZUdZddgZeed<y)pyparsing_unicode.Devanagariz2Unicode set for Devanagari Unicode Character Range)i i )iir%NrZr"rr DevanagarirPs@  % ! rrN)#r r r!r sys maxunicoder%rRrSr$r[rarerirlrorsrrKoreanrrrrrBMPالعربية中文кириллицаΕλληνικάעִברִית 日本語 한국어 ไทยदेवनागरीr"rr rVrV{s  !G         & & P  ;   + ., ;, \  (Fcgxc {        [  !CN F!NIII)rrV) r itertoolsrtypingrrrTtupleintrRr$rVr"rr rsX !%%(eCHouSz9:;Y8Y8xg* g*r