__init__.py000064400000005647150044141150006664 0ustar00""" Pygments ~~~~~~~~ Pygments is a syntax highlighting package written in Python. It is a generic syntax highlighter for general use in all kinds of software such as forum systems, wikis or other applications that need to prettify source code. Highlights are: * a wide range of common languages and markup formats is supported * special attention is paid to details, increasing quality by a fair amount * support for new languages and formats are added easily * a number of output formats, presently HTML, LaTeX, RTF, SVG, all image formats that PIL supports, and ANSI sequences * it is usable as a command-line tool and as a library * ... and it highlights even Brainfuck! The `Pygments master branch`_ is installable with ``easy_install Pygments==dev``. .. _Pygments master branch: https://github.com/pygments/pygments/archive/master.zip#egg=Pygments-dev :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ from io import StringIO, BytesIO __version__ = '2.18.0' __docformat__ = 'restructuredtext' __all__ = ['lex', 'format', 'highlight'] def lex(code, lexer): """ Lex `code` with the `lexer` (must be a `Lexer` instance) and return an iterable of tokens. Currently, this only calls `lexer.get_tokens()`. """ try: return lexer.get_tokens(code) except TypeError: # Heuristic to catch a common mistake. from pip._vendor.pygments.lexer import RegexLexer if isinstance(lexer, type) and issubclass(lexer, RegexLexer): raise TypeError('lex() argument must be a lexer instance, ' 'not a class') raise def format(tokens, formatter, outfile=None): # pylint: disable=redefined-builtin """ Format ``tokens`` (an iterable of tokens) with the formatter ``formatter`` (a `Formatter` instance). If ``outfile`` is given and a valid file object (an object with a ``write`` method), the result will be written to it, otherwise it is returned as a string. """ try: if not outfile: realoutfile = getattr(formatter, 'encoding', None) and BytesIO() or StringIO() formatter.format(tokens, realoutfile) return realoutfile.getvalue() else: formatter.format(tokens, outfile) except TypeError: # Heuristic to catch a common mistake. from pip._vendor.pygments.formatter import Formatter if isinstance(formatter, type) and issubclass(formatter, Formatter): raise TypeError('format() argument must be a formatter instance, ' 'not a class') raise def highlight(code, lexer, formatter, outfile=None): """ This is the most high-level highlighting function. It combines `lex` and `format` in one function. """ return format(lex(code, lexer), formatter, outfile) __main__.py000064400000000541150044141150006631 0ustar00""" pygments.__main__ ~~~~~~~~~~~~~~~~~ Main entry point for ``python -m pygments``. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys from pip._vendor.pygments.cmdline import main try: sys.exit(main(sys.argv)) except KeyboardInterrupt: sys.exit(1) __pycache__/__init__.cpython-311.pyc000064400000007413150044141150013215 0ustar00 ]bg @dZddlmZmZdZdZgdZdZd dZd d Z dS) a Pygments ~~~~~~~~ Pygments is a syntax highlighting package written in Python. It is a generic syntax highlighter for general use in all kinds of software such as forum systems, wikis or other applications that need to prettify source code. Highlights are: * a wide range of common languages and markup formats is supported * special attention is paid to details, increasing quality by a fair amount * support for new languages and formats are added easily * a number of output formats, presently HTML, LaTeX, RTF, SVG, all image formats that PIL supports, and ANSI sequences * it is usable as a command-line tool and as a library * ... and it highlights even Brainfuck! The `Pygments master branch`_ is installable with ``easy_install Pygments==dev``. .. _Pygments master branch: https://github.com/pygments/pygments/archive/master.zip#egg=Pygments-dev :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. )StringIOBytesIOz2.18.0restructuredtext)lexformat highlightc ||S#t$r<ddlm}t |t rt ||rtdwxYw)z Lex `code` with the `lexer` (must be a `Lexer` instance) and return an iterable of tokens. Currently, this only calls `lexer.get_tokens()`. r) RegexLexerz4lex() argument must be a lexer instance, not a class) get_tokens TypeErrorpip._vendor.pygments.lexerr isinstancetype issubclass)codelexerr s n/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/__init__.pyrr#s %%% 999999 eT " " +z%'D'D +*++ + s AANcx |sWt|ddrtp t}||||S|||dS#t $r<ddlm}t|trt||rt dwxYw)a Format ``tokens`` (an iterable of tokens) with the formatter ``formatter`` (a `Formatter` instance). If ``outfile`` is given and a valid file object (an object with a ``write`` method), the result will be written to it, otherwise it is returned as a string. encodingNr) Formatterz;format() argument must be a formatter instance, not a class) getattrrrrgetvaluer pip._vendor.pygments.formatterrrrr)tokens formatteroutfile realoutfilers rrr4s  .!)Z>>L799ZPXPZPZK   V[ 1 1 1'')) )   VW - - - - - <<<<<< i & & +:i+K+K +*++ + sAA3A33AB9c@tt||||S)zp This is the most high-level highlighting function. It combines `lex` and `format` in one function. )rr)rrrrs rrrMs #dE""Iw 7 77)N) __doc__iorr __version__ __docformat____all__rrrrrr&s4!  " ( ( ("2888888r__pycache__/__main__.cpython-311.pyc000064400000001440150044141150013170 0ustar00 ]bgadZddlZddlmZ ejeejdS#e$rejdYdSwxYw)z pygments.__main__ ~~~~~~~~~~~~~~~~~ Main entry point for ``python -m pygments``. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)main)__doc__syspip._vendor.pygments.cmdlinerexitargvKeyboardInterruptn/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/__main__.pyrs ------ CHTT#(^^ CHQKKKKKKs.AA__pycache__/cmdline.cpython-311.pyc000064400000073207150044141150013075 0ustar00 ]bgh\\dZddlZddlZddlZddlZddlmZddlmZm Z ddl m Z m Z m Z mZmZmZmZddlmZmZmZmZmZmZddlmZddlmZmZdd lmZm Z m!Z!m"Z"m#Z#dd l$m%Z%dd l&m'Z'm(Z(dd l)m*Z*m+Z+dd l,m-Z-m.Z.dZ/dZ0dZ1dZ2dZ3dZ4Gddej5Z5ej6fdZ7dS)z pygments.cmdline ~~~~~~~~~~~~~~~~ Command line interface. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)dedent) __version__ highlight) ClassNotFound OptionErrordocstring_headline guess_decodeguess_decode_from_terminalterminal_encodingUnclosingTextIOWrapper)get_all_lexersget_lexer_by_name guess_lexerload_lexer_from_fileget_lexer_for_filenamefind_lexer_class_for_filename) TextLexer)LatexEmbeddedLexerLatexFormatter)get_all_formattersget_formatter_by_nameload_formatter_from_fileget_formatter_for_filenamefind_formatter_class)TerminalFormatter)Terminal256FormatterTerminalTrueColorFormatter)get_all_filtersfind_filter_class)get_all_stylesget_style_by_namecZi}|s|S|D]}|s|d}|D]r}|} |dd\}}|}|}|||<^#t$rd||<YowxYw|S)N,=T)stripsplit ValueError)o_strsoptso_stro_argso_argo_keyo_vals m/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/cmdline.py_parse_optionsr1!s D   $ ${{}}  S!! $ $EKKMME $${{322 u  $U  # # #"U  # $ KsABB'&B'cg}|s|S|D]\}d|vr?|dd\}}||t|gfE||if]|S)N:r%)r'appendr1)f_strsfiltersf_strfnamefoptss r0_parse_filtersr:6sG (( %<< ;;sA..LE5 NNE>5'#:#:; < < < < NNE2; ' ' ' ' NcB |dkrIt|}td|jdtt|jn|dkrIt |}td|jdtt|jnI|dkrCt |}td|dtt|jdS#ttf$r"t|d tj Yd SwxYw) Nlexerz Help on the z lexer: formatterz formatter:filterz filter:rz not found!filer%) rprintnamer__doc__rrAttributeErrorr(sysstderr)whatrCclss r0 _print_helprJCs7 7??#D))C 2222 3 3 3 &%% & & & & [ &t,,C 6666 7 7 7 &%% & & & & X  #D))C //// 0 0 0 &%% & & &q J ' """4444qqsC'C++/DDc||dkrttdtdg}tD]T\}}}}d|dz||rdd|zdzpdf}||U||D]}td j|dS|d krttd td g}t D]m}t|} d|jdz| |j r dd|j zdzpdf}||n||D]}td j|dS|d krttdtdtD]E} t| }td| zdztdt|FdS|dkrttdtdtD]G} t| }td| zdztdt|FdSdS)Nr=zLexers:z~~~~~~~z, r3z (filenames )z* {} {} {}r>z Formatters:z ~~~~~~~~~~~r?zFilters:z~~~~~~~~z* z stylezStyles:)rBr joinr4sortformatrraliases filenamesrrr r!) rHinfofullnamenamesexts_tupirIdocrCs r0 _print_listr\Ws w  i i(6(8(8   $HeT199U##C'AMDIIdOO;cAGRIC KK      2 2A ,$,a0 1 1 1 1 2 2     m m%''  C$S))C99S[))C/cm7B 499S]#;#;;cA7HEGIC KK      2 2A ,$,a0 1 1 1 1 2 2     j j#%% 4 4D#D))C $+# $ $ $ 2+C0022 3 3 3 3 4 4   i i"$$ 4 4D#D))C $+# $ $ $ 2+C0022 3 3 3 3   4 4r;c(ddl}i}d|vr&i}tD]\}}}}|||d||<||d<d|vr?i}tD])}t|} |j|j| d||j<*||d<d|vr;i}tD]%} t| }d t|i|| <&||d <d |vr;i}tD]%} t| }d t|i|| <&||d <| |tj dS) Nrr=)rRrS mimetypeslexersr>)rRrSr[ formattersr?r[r6rNstyles)jsonr rrrRrSrCrrr r!dumprFstdout) requested_itemsrbresultrTrUrVrSr^rIr[rCs r0_print_list_as_jsonrgsKKK F/!!5C5E5E   1HeY  &&DNN  xo%%%''  C$S))C; ]DNN $|?""#%%  D#D))C)#..DJJ!y/!!"$$  D#D))C)#..DJJ xIIfcj!!!!!r;cP&jr|dSjrtdtddSfd}j3t }tD]\}}|r| || d| d|r!|tj dSj stdd ghd &d jD}t&fd |Dr!|tj dS|s&}j s|D]}t!|nt#|dSjrk|d s!|tj dSj\}} |dvr!|tj dSt'|| St)jpg} jpgD]6} | dd\} } | | | <"#t0$rd| | <Y3wxYw| d| d} | d| d}jr9t7j}|t8}t|jddSjritjj !} tE|| }n#tF$r t8}YnwxYwt|jddSj$}j%}|Ɖj&}|s!|tj dSj'sj(r!|tj dS || d<tS|fi| }n3#tF$r&}t|tj Yd}~dSd}~wwxYwt|*|pddSj%!|tj dStWj,pg}t[j.}d}j'}|r|rd|vr} d}d} d|vr|/dd\}} d| vrd} |r| rta|| fi| }n ta|fi| }n~#tF$r'}td|tj Yd}~dSd}~wwxYw tc|fi| }n;#tdtFf$r'}td|tj Yd}~dSd}~wwxYwd}j(r_j3rtdtj dSj(} ti|d5}|!}dddn #1swxYwYn4#tj$r'}td|tj Yd}~dSd}~wwxYw| stm|\}} |s to||fi| }n1#tF$r^}j8r+ tE|fi| }n>#tF$rt9d,i| }Yn&wxYwtd|tj Yd}~dSYd}~nd}~wtd$r'}td|tj Yd}~dSd}~wwxYwnj3sptjj !}| sts|tj\}} |s+ tE|fi| }n<#tF$rt9d,i| }Yn$wxYwn|stdtj dS|D]I\}} |j:|fi|#tF$r(}td|tj Yd}~dSd}~wwxYwj;}j&}|r|rd|vr} d}d} d|vr|/dd\}} d| vrd} |r| rty|| fi| }n ty|fi| }n~#tF$r'}td|tj Yd}~dSd}~wwxYw tS|fi| }n;#tdtFf$r'}td|tj Yd}~dSd}~wwxYw|r|sJ t{|fi| }n;#tdtFf$r'}td|tj Yd}~dSd}~wwxYw ti|d} n#tj$r'}td |tj Yd}~dSd}~wwxYw|sjt|j?d!dd"vr td,i| }n;d#t|j?d$dvr td,i| }n td,i| }tjCj } |s(|r| |_DnttjC|_D|sitjFd%vr[|jGd&vrRt| |jD'} d|_D ddlI}!|!jJK| ddd(d)} n#t$rYnwxYw| d*d}"t|"dkr6t|tr!|"d}#|"d}$t|#|$|}j3sH t|||| |r| Rn#|r| RwwxYwdS tjj S}%|%snY| s ts|%tjd}%t|%||| t| d+r| U |r| RdSdS#t$rY|r| RdSdSwxYw#|r| RwwxYw)-NrzPygments version uD, (c) 2006-2024 by Georg Brandl, Matthäus Chajdas and contributors.c|tfdtD S)Nc3.K|]\}}|k |VdSN).0kvopts r0 z5main_inner..is_only_option..s+GGVaa3hhqhhhhGGr;)anyvarsitems)rpargnss`r0is_only_optionz"main_inner..is_only_options<GGGGtE{{'8'8':':GGGGGGGr;LrbrM-V>r=rNr?r>c8g|]}|dS)s)rstrip)rmargs r0 zmain_inner..s"444SC444r;c3 K|]}|vV dSrkrl)rmr} allowed_typess r0rqzmain_inner..s(99Cs-'999999r;H)r=r>r?r$r%T inencodingencoding outencoding)rrNr@z.pyr3zError:z5Error: -s option not usable when input file specifiedrbzError: cannot read infile:z7Error: when using -s a lexer has to be selected with -lwbzError: cannot open outfile: COLORTERM) truecolor24bit256TERM)win32cygwin)Terminal Terminal256)rF)convertr& autoresetwrap escapeinsideflushrl)Whelp print_helpVrBrrwsetrsrtadddiscardrFrGrbmainrrr\rgrrJr1OPr'r(getNrrrRCstdinbufferreadrrSafl INPUTFILErget_style_defsr:Fboolxrsplitrrrr{open Exceptionr rgr add_filterorrosenvironrrrrdrr platformrCr colorama.initialise initialise wrap_stream ImportErrorlen isinstancerrrclosereadlinehasattrrKeyboardInterrupt)'parserrurvarg_setrnrolargsr}rHrC parsed_optsp_optvaluerrr=inpS_opta_optf_optfmtererrF_optsallow_custom_lexer_formatter lexernamefilenamecodeinfninfpr8r9outfnoutfilecoloramarleftrightliners' ` @r0 main_innerrs@ zq w *+*** + + +qHHHHH w%%KK%%''  DAq  A     cj ) ) )1z  "d   AAA 44EG444 99995999 9 9    cj ) ) )1 "!Ez ' ! !C     !  & & &q w'~c""    cj ) ) )1W d 7 7 7   cj ) ) )14&&&!B//KB&& &++c1--KD%!&K   & & &!%K    & {z/J/JKKJ//-1L1LMMK w-eg66 =E emAq wi##%%  ;;;EE   EEE  emAq GE GE     cj ) ) )1 7 eo    cj ) ) )1 #(K )%??;??EE    #CJ ' ' ' '11111  e""5;B//000q w#*%%%qEGMr * *F$(==  EI ' EY,>,> )##%.%5%5c1%=%=NHd}} $KK04@@3>@@EE1JJkJJE    h#*5555qqqqq  ))CC{CC/   h#*5555qqqqq  D 2 7  Iz # # # #1 dD!! #Tyy{{ # # # # # # # # # # # # # # #    .#* E E E E11111  2+D11 D*  .tTII[II    79 +D @ @K @ @(999 ) 8 8K 8 89(Ccj999911111   h#*5555qqqqq   Wy$$&& K9$ JJ D* 1 1#D88K88  1 1 1!00K00 1 1  Kz # # # #1 u  E U , ,e , , , ,    (Ccj 1 1 1 1111111  GE GE  ' EUNN %<<%*\\#q%9%9NHd}}#KK4XtDD7BDDEE5UJJkJJE    h#*5555qqqqq  -eCC{CC/   h#*5555qqqqq  $  25HHKHH/   h#*5555qqqqq  5$''GG    /3: F F F F11111  9z~~k"--1GGG2AA[AA"*..4444,;;{;;)88K88*# ;  ;'ENN/sz::EN  OS\%888 z000(5>JJJ O & & & &)55TU6OOGG    D ??>266L <A*UN"C"CAQ"466 7  dE5' 2 2 2     q  $y'0022!J5dCIFFqID$ug6667G,,$MMOOO $    !           sH44IILL,+L,5O O8O33O8AS S>S99S> TU!UUV>V2& V>2V66V>9V6:V>> W/W**W/ X Z0#Y<+ X98Y<9YY<YY<< Z0 Z++Z0 \\'&\']!! ^+^^-A_55 `&?`!!`&* `88a0 a++a08 bb>b99b>c dc??d%h hhj))kBm## n -n n  n n%ceZdZddZdS) HelpFormatterrxNc|- tjjdz }n#t$rYnwxYwtj|||||dS)Nrx)shutilget_terminal_sizecolumnsrargparser__init__)selfprogindent_incrementmax_help_positionwidths r0rzHelpFormatter.__init__sz = 022:Q>    ''d4D(95 B B B B Bs  --)rxrN)__name__ __module__ __qualname__rrlr;r0rrs.BBBBBBr;rc d}tj|dt}|d}|}|ddd|d d d |d ddd|ddd|dddd|dddd|ddd|ddd !|d"}|d#d d$ |d%d d& |d'd d( |d)d*dd +|d,}|}|d-d.d/|d0d1d2d34|d5d6d7|d8d d9 |d:d;d?|d@d dA |dBdCd dD |dEdFdG||dHdI} t||S#t$rYdJSt$r|j rttj KtdLtj KtdMtj KtdNtj KtdOtj KtdLtj Kttj KdJdIl} | jtj} | dP} t%| dQkrQ| dR| dSdTdJdHdIz } ttj KtdUtj Kt| tj KtdVtj KYdHSwxYw)Wz( Main command line entry point. z?Highlight an input file and write the result to an output file.F) descriptionadd_helpformatter_classzMain operationz-lLEXERz~Specify the lexer to use. (Query names with -L.) If not given and -g is not present, the lexer is guessed from the filename.)metavarrz-g store_truez`Guess the lexer from the file contents, or pass through as plain text if nothing can be guessed.)actionrz-FzFILTER[:options]r4znAdd a filter to the token stream. (Query names with -L.) Filter options are given after a colon if necessary.)rrrz-f FORMATTERzSpecify the formatter to use. (Query names with -L.) If not given, the formatter is guessed from the output filename, and defaults to the terminal formatter if the output is to the terminal or an unknown file extension.z-OzOPTION=value[,OPTION=value,...]zyGive options to the lexer and formatter as a comma-separated list of key-value pairs. Example: `-O bg=light,python=cool`.z-Pz OPTION=valuezGive a single option to the lexer and formatter - with this you can pass options whose value contains commas and equal signs. Example: `-P "heading=Pygments, the Python highlighter"`.z-o OUTPUTFILEz8Where to write the output. Defaults to standard output.r?z5Where to read the input. Defaults to standard input.)nargsrzOperation flagsz-vzbPrint a detailed traceback on unhandled exceptions, which is useful for debugging and bug reports.z-sa!Process lines one at a time until EOF, rather than waiting to process the entire file. This only works for stdin, only for lexers with no line-spanning constructs, and is intended for streaming input such as you get from `tail -f`. Example usage: `tail -f sql.log | pygmentize -s -l sql`.z-xaAllow custom lexers and formatters to be loaded from a .py file relative to the current working directory. For example, `-l ./customlexer.py -x`. By default, this option expects a file with a class named CustomLexer or CustomFormatter; you can also specify your own class name with a colon (`-l ./lexer.py:MyLexer`). Users should be very careful not to use this option with untrusted files, because it will import and run them.z--jsonz=Output as JSON. This can be only used in conjunction with -L.)rdefaultrz*Special modes - do not do any highlightingz-SzSTYLE -f formatterzqPrint style definitions for STYLE for a formatter given with -f. The argument given by -a is formatter dependent.z-L*WHATzList lexers, formatters, styles or filters -- give additional arguments for the thing(s) you want to list (e.g. "styles"), or omit them to list everything.)rrrz-NFILENAMEzGuess and print out a lexer name based solely on the given filename. Does not take input or highlight anything. If no specific lexer can be determined, "text" is printed.z-CzXLike -N, but print out a lexer name based solely on a given content from standard input.z-Hstorerx)NAMETYPEzrPrint detailed help for the object of type , where is one of "lexer", "formatter" or "filter".)rrrrryzPrint the package version.z-hz--helpzPrint this help.z-aARGzKFormatter-specific additional argument for the -S (print style sheet) mode.r%Nrr@zA*****************************************************************z3An unhandled exception occurred while highlighting.z9Please report the whole traceback to the issue tracker atz..z (f{}) z*** Error while highlighting:z>*** If this is a bug you want to report, please rerun with -v.)rArgumentParserradd_argument_groupadd_mutually_exclusive_group add_argument parse_argsrBrokenPipeErrorrrorBrFrG tracebackformat_exceptionexc_infor&rrQr') argsdescr operationlexerselflagsspecial_modes_group special_modesrur rTmsgs r0rrs MD  $5BDDDF))*:;;I5577H  gOPPP  \3444 (?@@@ k1222  7.///  nXDEEE  l GIII3 DFFF  % %&7 8 8E  \3444  \CDDD  \6777 x'/ !33466'DDFFM *  C<===  j6777  \/000 WA/?CDDD \ )+++ h| !!!$$ e%   d122h ' 'E&%((( qq  7  sz " " " " ( , , , , Gz # # # # Mz # # # # Bz # # # # ( , , , , sz " " " " )y)3<>>:2hnn t99>> <&&tBx~~d';';A'>'D'D'F'Fqrr'JKK KC 3: -CJ???? c #### N:    qq1s J R)GRR)8rDrrFrrtextwraprpip._vendor.pygmentsrrpip._vendor.pygments.utilrrrr r r r pip._vendor.pygments.lexersr rrrrr#pip._vendor.pygments.lexers.specialr%pip._vendor.pygments.formatters.latexrrpip._vendor.pygments.formattersrrrrr(pip._vendor.pygments.formatters.terminalr+pip._vendor.pygments.formatters.terminal256rrpip._vendor.pygments.filtersrrpip._vendor.pygments.stylesr r!r1r:rJr\rgrrargvrrlr;r0r s 77777777PPPPPPPPPPPPPPPP999999TTTTTTTTOOOOOOOOOOOOOOFFFFFFhhhhhhhhKKKKKKKKIIIIIIII*   (040404f*"*"*"XL L L ^ BBBBBH*BBBhLLLLLLr;__pycache__/console.cpython-311.pyc000064400000005776150044141150013132 0ustar00 ]bg.dZdZiZded<edzed<edzed<edzed<ed zed <ed zed <ed zed<edzed<gdZgdZdZeeeD]#\ZZedezzee<eddezzzee<edz Z$[[[eded<dZ dZ dZ dS)z pygments.console ~~~~~~~~~~~~~~~~ Format colored console output. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. z 39;49;00mreset01mbold02mfaint03mstandout04m underline05mblink06moverline)blackredgreenyellowbluemagentacyangray) brightblack brightred brightgreen brightyellow brightblue brightmagenta brightcyanwhitez%im<rctdSNrcodesm/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/console.py reset_colorr*(s >r(c>t||ztdzSr$r%) color_keytexts r)colorizer.,s  d "U7^ 33r(cg}|dd|ddcxkrdkr-nn*|td|dd}|dd|ddcxkrdkr-nn*|td|dd}|dd|ddcxkrdkr-nn*|td |dd}|t||||td d |S) z Format ``text`` with a color and/or some attributes:: color normal color *color* bold color _color_ underlined color +color+ blinking color Nr"+r *r_r rr)appendr&join)attrr-results r) ansiformatr80sWF BQBx49######### eGn%%%AbDz BQBx49######### eFm$$$AbDz BQBx49######### eK()))AbDz MM%+ MM$ MM%.!!! 776??r(N) __doc__escr& dark_colors light_colorsxzipdarklightr*r.r8r'r(r)rAsI  b {"ge f ug%Kj5[kug%Kj*** 888 3{L11  KD% /E$K"q&))E%LFAA%vg444r(__pycache__/filter.cpython-311.pyc000064400000006675150044141150012754 0ustar00 ]bgvNdZddZdZGddZGddeZdS) z pygments.filter ~~~~~~~~~~~~~~~ Module that implements the default filter. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. Nc4fd}|D]}|||}|S)z Use this method to apply an iterable of filters to a stream. If lexer is given it's forwarded to the filter, otherwise the filter receives `None`. c3DK||Ed{VdSN)filter)filter_streamlexers l/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/filter.py_applyzapply_filters.._applys3>>%00000000000)rfiltersrr rs ` r apply_filtersr sC 11111))(( Mr cht|jtft|d|j|dS)z Decorator that converts a function into a filter:: @simplefilter def lowercase(self, lexer, stream, options): for ttype, value in stream: yield ttype, value.lower() __module__)r__doc__function)type__name__FunctionFiltergetattrr)fs r simplefilterrs>  ^-a..900  r ceZdZdZdZdZdS)Filterzl Default filter. Subclass this class or use the `simplefilter` decorator to create own filters. c ||_dSr)optionsselfrs r __init__zFilter.__init__/s  r ctr)NotImplementedErrorrrrs r rz Filter.filter2s!###r N)rr __qualname__rrrr r r rr)s< $$$$$r rc"eZdZdZdZdZdZdS)rz Abstract class used by `simplefilter` to create simple function filters on the fly. The `simplefilter` decorator automatically creates subclasses of this class for functions passed to it. Nc t|dst|jjdt j|fi|dS)Nrz used without bound function)hasattr TypeError __class__rrrrs r rzFunctionFilter.__init__?sOtZ(( Xt~6VVVWW W(((((((r c#NK||||jEd{VdSr)rrr"s r rzFunctionFilter.filterDs6== ===========r )rrr#rrrrr r r rr6sC H))) >>>>>r rr)rrrrrr r r r*s        $ $ $ $ $ $ $ $>>>>>V>>>>>r __pycache__/formatter.cpython-311.pyc000064400000011610150044141150013453 0ustar00 ]bg&PdZddlZddlmZddlmZdgZdZGddZdS)z pygments.formatter ~~~~~~~~~~~~~~~~~~ Base formatter class. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) get_bool_opt)get_style_by_name FormattercNt|trt|S|SN) isinstancestrr)styles o/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatter.py _lookup_styler s'%( ''' Lc<eZdZdZdZgZgZdZdZd dZ dZ dZ dS) ra Converts a token stream to text. Formatters should have attributes to help selecting them. These are similar to the corresponding :class:`~pygments.lexer.Lexer` attributes. .. autoattribute:: name :no-value: .. autoattribute:: aliases :no-value: .. autoattribute:: filenames :no-value: You can pass options as keyword arguments to the constructor. All formatters accept these basic options: ``style`` The style to use, can be a string or a Style subclass (default: "default"). Not used by e.g. the TerminalFormatter. ``full`` Tells the formatter to output a "full" document, i.e. a complete self-contained document. This doesn't have any effect for some formatters (default: false). ``title`` If ``full`` is true, the title that should be used to caption the document (default: ''). ``encoding`` If given, must be an encoding name. This will be used to convert the Unicode token strings to byte strings in the output. If it is "" or None, Unicode strings will be written to the output file, which most file-like objects do not support (default: None). ``outencoding`` Overrides ``encoding`` if given. NTc bt|dd|_t|dd|_|dd|_|ddpd|_|jd vrd |_|d p|j|_||_dS) z As with lexers, this constructor takes arbitrary optional arguments, and if you override it, you should first process your own options, then call the base class implementation. r defaultfullFtitleencodingN)guesschardetzutf-8 outencoding)r getr rrrroptions)selfrs r __init__zFormatter.__init__Ss #7;;w #B#BCC  &%88 [["--  J55= =0 0 0#DM M22Cdm  r rcdS)a This method must return statements or declarations suitable to define the current style for subsequent highlighted text (e.g. CSS classes in the `HTMLFormatter`). The optional argument `arg` can be used to modify the generation and is formatter dependent (it is standardized because it can be given on the command line). This method is called by the ``-S`` :doc:`command-line option `, the `arg` is then given by the ``-a`` option. r)rargs r get_style_defszFormatter.get_style_defscs rr c|jr(tj|jd|}|||S)z This method must format the tokens from the `tokensource` iterable and write the formatted version to the file object `outfile`. Formatter options can control how exactly the tokens are converted. )rcodecslookupformat_unencoded)r tokensourceoutfiles r formatzFormatter.formatrsD = ?5fmDM2215g>>G$$[':::r c|Srr)clsnames r __class_getitem__zFormatter.__class_getitem__s r )r) __name__ __module__ __qualname____doc__r*aliases filenames unicodeoutputrrr'r+rr r rrs|''T DG IM     ; ; ;r ) r/r"pip._vendor.pygments.utilrpip._vendor.pygments.stylesr__all__r rrr r r6s 222222999999 - hhhhhhhhhhr __pycache__/lexer.cpython-311.pyc000064400000122605150044141150012576 0ustar00 ]bgdZddlZddlZddlZddlmZmZddlmZddl m Z m Z m Z m Z mZddlmZmZmZmZmZmZddlmZgdZejd Zgd Zed ZGd d eZGddeZ Gdde Z!Gdde"Z#GddZ$e$Z%Gdde&Z'GddZ(dZ)GddZ*e*Z+dZ,Gdd Z-Gd!d"eZ.Gd#d$eZ/Gd%d&e e/Z0Gd'd(Z1Gd)d*e0Z2d+Z3Gd,d-e/Z4Gd.d/e0e4Z5dS)0z pygments.lexer ~~~~~~~~~~~~~~ Base lexer classes. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) apply_filtersFilter)get_filter_by_name)ErrorTextOther Whitespace _TokenType) get_bool_opt get_int_opt get_list_optmake_analysatorFuture guess_decode) regex_opt) Lexer RegexLexerExtendedRegexLexerDelegatingLexer LexerContextincludeinheritbygroupsusingthisdefaultwordsline_rez.*? ))sutf-8)szutf-32)szutf-32be)szutf-16)szutf-16becdS)N)xs k/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/lexer.pyr%"s#ceZdZdZdZdS) LexerMetaz This metaclass automagically converts ``analyse_text`` methods into static methods which always return float values. ctd|vrt|d|d<t||||S)N analyse_text)rtype__new__)mcsnamebasesds r$r,zLexerMeta.__new__+s< Q   /.0A B BAn ||Cua000r&N)__name__ __module__ __qualname____doc__r,r"r&r$r(r(%s- 11111r&r(cbeZdZdZdZgZgZgZgZdZ dZ dZ dZ dZ dZdZdZdZd d Zd ZdS) ra" Lexer for a specific language. See also :doc:`lexerdevelopment`, a high-level guide to writing lexers. Lexer classes have attributes used for choosing the most appropriate lexer based on various criteria. .. autoattribute:: name :no-value: .. autoattribute:: aliases :no-value: .. autoattribute:: filenames :no-value: .. autoattribute:: alias_filenames .. autoattribute:: mimetypes :no-value: .. autoattribute:: priority Lexers included in Pygments should have two additional attributes: .. autoattribute:: url :no-value: .. autoattribute:: version_added :no-value: Lexers included in Pygments may have additional attributes: .. autoattribute:: _example :no-value: You can pass options to the constructor. The basic options recognized by all lexers and processed by the base `Lexer` class are: ``stripnl`` Strip leading and trailing newlines from the input (default: True). ``stripall`` Strip all leading and trailing whitespace from the input (default: False). ``ensurenl`` Make sure that the input ends with a newline (default: True). This is required for some lexers that consume input linewise. .. versionadded:: 1.3 ``tabsize`` If given and greater than 0, expand tabs in the input (default: 0). ``encoding`` If given, must be an encoding name. This encoding will be used to convert the input string to Unicode, if it is not already a Unicode string (default: ``'guess'``, which uses a simple UTF-8 / Locale / Latin1 detection. Can also be ``'chardet'`` to use the chardet library, if it is installed. ``inencoding`` Overrides the ``encoding`` if given. Nrc ||_t|dd|_t|dd|_t|dd|_t |dd|_|dd |_|d p|j|_g|_ t|d d D]}| |d S)a This constructor takes arbitrary options as keyword arguments. Every subclass must first process its own options and then call the `Lexer` constructor, since it processes the basic options like `stripnl`. An example looks like this: .. sourcecode:: python def __init__(self, **options): self.compress = options.get('compress', '') Lexer.__init__(self, **options) As these options must all be specifiable as strings (due to the command line usage), there are various utility functions available to help with that, see `Utilities`_. stripnlTstripallFensurenltabsizerencodingguess inencodingfiltersr"N) optionsr r7r8r9r r:getr;r>r add_filter)selfr?filter_s r$__init__zLexer.__init__s& #GY== $Wj%@@ $Wj$?? "7Iq99  J88  L11BT]  #GY;; % %G OOG $ $ $ $ % %r&c`|jrd|jjd|jdSd|jjdS)Nz)r? __class__r1rBs r$__repr__zLexer.__repr__sC < BWt~'>WWdlWWW WAt~'>AAA Ar&c ~t|ts t|fi|}|j|dS)z8 Add a new stream filter to this lexer. N) isinstancerrr>append)rBrCr?s r$rAzLexer.add_filtersG'6** =(<.streamersC66t<<  1ad   r&)rcrr>)rBrN unfilteredrjstreams`` r$ get_tokenszLexer.get_tokenssd++D11       ?"64<>>F r&ct)aS This method should process the text and return an iterable of ``(index, tokentype, value)`` tuples where ``index`` is the starting position of the token within the input text. It must be overridden by subclasses. It is recommended to implement it as a generator to maximize effectiveness. )NotImplementedError)rBrNs r$rgzLexer.get_tokens_unprocesseds "!r&)F)r1r2r3r4r.aliases filenamesalias_filenames mimetypespriorityurl version_added_examplerDrIrAr*rcrmrgr"r&r$rr1s88v DG IOIH CMH%%%<BBB %%%   "///b0 " " " " "r&r) metaclassc"eZdZdZefdZdZdS)ra  This lexer takes two lexer as arguments. A root lexer and a language lexer. First everything is scanned using the language lexer, afterwards all ``Other`` tokens are lexed using the root lexer. The lexers from the ``template`` lexer package use this base lexer. c l|di||_|di||_||_tj|fi|dSNr") root_lexerlanguage_lexerneedlerrD)rB _root_lexer_language_lexer_needler?s r$rDzDelegatingLexer.__init__-sV%+0000-o8888  t''w'''''r&cd}g}g}|j|D]U\}}}||jur.|r&|t ||fg}||z }=||||fV|r$|t ||ft ||j|S)N)r}rgr~rLrX do_insertionsr|)rBrNbuffered insertions lng_bufferirhris r$rgz&DelegatingLexer.get_tokens_unprocessed3s  *AA$GG - -GAq!DK$%%s8}}j&ABBB!#JA !!1a),,,,  ;   s8}}j9 : : :Z!_CCHMMOO Or&N)r1r2r3r4rrDrgr"r&r$rr#sL>C(((( OOOOOr&rceZdZdZdS)rzI Indicates that a state should include rules from another state. Nr1r2r3r4r"r&r$rrJs Dr&rceZdZdZdZdS)_inheritzC Indicates the a state should inherit from its superclass. cdS)Nrr"rHs r$rIz_inherit.__repr__Usyr&N)r1r2r3r4rIr"r&r$rrQs-r&rceZdZdZdZdZdS)combinedz: Indicates a state combined from multiple states. c8t||Srf)tupler,)clsargss r$r,zcombined.__new__`s}}S$'''r&cdSrfr")rBrs r$rDzcombined.__init__cs r&N)r1r2r3r4r,rDr"r&r$rr[s<(((     r&rc<eZdZdZdZd dZd dZd dZdZdZ dS) _PseudoMatchz: A pseudo match object constructed from a string. c"||_||_dSrf)_text_start)rBstartrNs r$rDz_PseudoMatch.__init__ms  r&Nc|jSrf)rrBargs r$rz_PseudoMatch.startqs {r&c:|jt|jzSrf)rrXrrs r$endz_PseudoMatch.endts{S__,,r&c2|rtd|jS)Nz No such group) IndexErrorrrs r$groupz_PseudoMatch.groupws  ._-- -zr&c|jfSrf)rrHs r$groupsz_PseudoMatch.groups|s  }r&ciSrfr"rHs r$ groupdictz_PseudoMatch.groupdicts r&rf) r1r2r3r4rDrrrrrr"r&r$rrhs---- r&rcdfd }|S)zL Callback that yields multiple actions for each group in the match. Nc 3KtD]\}}|t|tur8||dz}|r||dz||fVV||dz}|Y|r||dz|_||t ||dz||D]}|r|V |r||_dSdS)N) enumerater+r rrposrr)lexermatchctxractiondataitemrs r$callbackzbygroups..callbacks*"4 ' 'IAv~f++{{1q5));++a!e,,fd::::{{1q5))#5"'++a!e"4"4 &u'3EKKA4F4F'M'Ms!T!T'''"&JJJ  "iikkCGGG " "r&rfr")rrs` r$rrs(""""""& Or&ceZdZdZdS)_ThiszX Special singleton used for indicating the caller class. Used by ``using``. Nrr"r&r$rrsr&rc idvr>d}t|ttfr|d<nd|fd<turdfd }ndfd }|S)a Callback that processes the match with a different lexer. The keyword arguments are forwarded to the lexer, except `state` which is handled separately. `state` specifies the state that the new lexer will start in, and can be an enumerable such as ('root', 'inline', 'string') or a simple string which is assumed to be on top of the root state. Note: For that to work, `_other` must not be an `ExtendedRegexLexer`. statestackrootNc3(K r( |j|jdi }n|}|}|j|fiD]\}}}||z||fV|r||_dSdSr{)updater?rGrrgrrr) rrrlxsrrhri gt_kwargskwargss r$rzusing..callbacks  em,,,$U_..v.. A424U[[]]PPiPP " "1a!eQk!!!! &))++ & &r&c3K |jdi }|}|j|fi D]\}}}||z||fV|r||_dSdSr{)rr?rrgrrr) rrrrrrrhri_otherrrs r$rzusing..callbacks MM%- ( ( (!!&!!B A424U[[]]PPiPP " "1a!eQk!!!! &))++ & &r&rf)poprKlistrr)rrrrrs`` @r$rrsI& JJw   a$ ' ' -!"Ig  "(!Ig  ~~ & & & & & & & & & & & & & & & & Or&ceZdZdZdZdS)rz Indicates a state or state action (e.g. #pop) to apply. For example default('#pop') is equivalent to ('', Token, '#pop') Note that state tuples may be used as well. .. versionadded:: 2.0 c||_dSrf)r)rBrs r$rDzdefault.__init__s  r&N)r1r2r3r4rDr"r&r$rrs-r&rc eZdZdZddZdZdS)rz Indicates a list of literal words that is transformed into an optimized regex that matches any of the words. .. versionadded:: 2.0 rc0||_||_||_dSrf)rprefixsuffix)rBrrrs r$rDzwords.__init__s   r&cDt|j|j|jS)Nrr)rrrrrHs r$r@z words.getsDK LLLLr&N)rr)r1r2r3r4rDr@r"r&r$rrsF  MMMMMr&rc>eZdZdZdZdZdZdZd dZdZ d Z dS) RegexLexerMetazw Metaclass for RegexLexer, creates the self._tokens attribute from self.tokens on the first instantiation. ct|tr|}tj||jS)zBPreprocess the regular expression component of a token definition.)rKrr@recompiler)rregexrflagsrs r$_process_regexzRegexLexerMeta._process_regexs6 eV $ $ IIKKEz%((..r&cjt|tust|s Jd||S)z5Preprocess the token component of a token definition.z0token type must be simple type or callable, not )r+r callable)rtokens r$_process_tokenzRegexLexerMeta._process_tokens<E{{j((HUOO(( Hu H H)(; r&c2t|trJ|dkrdS||vr|fS|dkr|S|dddkrt|dd SJd|t|trfd |jz}|xjd z c_g}|D]?}||ks Jd ||||||@|||<|fSt|tr|D]}||vs|d vs Jd|z|SJd |)z=Preprocess the state transition action of a token definition.#pop#pushNz#pop:Fzunknown new state z_tmp_%drzcircular state ref )rrzunknown new state def )rKrTintr_tmpnameextend_process_stater)r new_state unprocessed processed tmp_stateitokensistates r$_process_new_statez!RegexLexerMeta._process_new_states i % % AF""rk))!|#g%%  2A2'))IabbM****@@9@@@@u  8 , , A!CL0I LLA LLG# F F***,L&,L,L***s11+2;V E EFFFF#*Ii <   5 ) ) A# 2 2+--"3333(61434  @@9@@ @ @5r&c 0t|ts Jd||ddks Jd|||vr||Sgx}||<|j}||D]}t|trK||ks Jd|||||t|ct|t ryt|trL||j ||}| tj dj d|ft|tus Jd| ||d||}n4#t"$r'} t%d |dd |d |d | | d} ~ wwxYw||d } t)|dkrd}n||d||}| || |f|S)z%Preprocess a single state definition.zwrong state name r#zinvalid state name zcircular state reference rNzwrong rule def zuncompilable regex z in state z of z: r)rKrTflagsrrrrrrrrLrrrr+rr Exception ValueErrorrrX) rrrrtokensrtdefrrexerrrs r$rzRegexLexerMeta._process_state)sr%%%DD'D5'D'DDD%Qx3 ?e ? ? I  U# #$&&5!& 3 3D$(( u}}}&K%&K&K}}} c00i14T<<===$)) $(( 224:{IVV  rz"~~3T9EFFF::&&&(B$(B(B&&& r((a&%@@ r r r !gtAw!g!gE!g!gY\!g!gbe!g!ghhnqq r&&tAw//E4yyA~~ 22473> KK  MM3y1 2 2 2 2 sE:: F+"F&&F+Ncix}|j|<|p |j|}t|D]}|||||S)z-Preprocess a dictionary of token definitions.) _all_tokensrrr)rr. tokendefsrrs r$process_tokendefzRegexLexerMeta.process_tokendefTsZ,.. COD)1D!1 )__ < >(B//D $  C C u!::e,,# %*F5M!&+kk'&:&: %!!! !)4K&)ooeT:: &7<[]23C#(++g"6"6K*5{)BK&&"D3 C< s$A:: BB4C C$#C$cd|jvrSi|_d|_t|dr|jrn-|d||_tj |g|Ri|S)z:Instantiate cls after preprocessing its token definitions._tokensrtoken_variantsr) rrrhasattrrrrrr+__call__)rrkwdss r$rzRegexLexerMeta.__call__s CL ( ( COCLs,-- L#2D L!222s7H7H7J7JKK }S040004000r&rf) r1r2r3r4rrrrrrrr"r&r$rrs ///  !A!A!AF)))V///b 1 1 1 1 1r&rc,eZdZdZejZiZddZdS)rz Base for simple stateful regular expression-based lexers. Simplifies the lexing process so that you need only provide a list of states and regular expressions. rc#Kd}|j}t|}||d} |D]p\}}} |||} | rZ|Bt|tur||| fVn||| Ed{V| }| t | trk| D]g} | dkr(t|dkr| 0| dkr| |dR| | hnpt | tr,t| t|kr|dd=n5|| d=n/| dkr| |dn Jd| ||d}nVr ||d krd g}|d }|td fV|dz }|t||fV|dz }n#t$rYdSwxYw) z~ Split ``text`` into (tokentype, text) pairs. ``stack`` is the initial stack (default: ``['root']``) rrrNrrFwrong state def: rRr)rrr+r rrrKrrXrrLrabsr rr) rBrNrrr statestack statetokensrexmatchrrmrs r$rgz!RegexLexer.get_tokens_unprocesseds L %[[  2/ 1 /:0 0 +&)HT3'')<<:55"%vqwwyy"88888'-vdA6666666%%''C ,%i77L)2==#(F??'*:':':(2(8(8(8%*g%5%5$.$5$5jn$E$E$E$E$.$5$5e$<$<$<$<=( 377 L #9~~Z@@$.qrrNN$.yzz$:$:&'11&--jn====K*Ki*K*KKK5&/ 2&? E?F CyD((&,X &/&7 !:t3333q ud3i////1HCC!EEa1 s(G! G!! G/.G/Nr) r1r2r3r4r MULTILINErrrgr"r&r$rrsB LE0F;;;;;;r&rc eZdZdZddZdZdS)rz9 A helper object that holds lexer position data. Ncb||_||_|pt||_|pdg|_dS)Nr)rNrrXrr)rBrNrrrs r$rDzLexerContext.__init__s4 ##d))&vh r&c8d|jd|jd|jdS)Nz LexerContext(z, ))rNrrrHs r$rIzLexerContext.__repr__s)KtyKKdhKKDJKKKKr&NN)r1r2r3r4rDrIr"r&r$rrsF'''' LLLLLr&rceZdZdZddZdS)rzE A RegexLexer that uses a context object to store its state. Nc#`K|j}|st|d}|d}n|}||jd}|j} |D]\}}}|||j|j} | r|vt |tur8|j|| fV| |_n(||| |Ed{V|s||jd}|5t|tr|D]} | dkr2t|jdkr|j :| dkr&|j |jdf|j | nt|tr;t|t|jkr |jdd=nD|j|d=n9|dkr&|j |jdn Jd |||jd}n |j|jkrdS||jd kr3dg|_|d}|jt d fV|xjdz c_/|jt"||jfV|xjdz c_n#t$$rYdSwxYwn) z Split ``text`` into (tokentype, text) pairs. If ``context`` is given, use this lexer context instead. rrrrNrrFr rR)rrrrNrrr+r rrKrrXrrLrr rrr) rBrNcontextrrr rrrrrs r$rgz)ExtendedRegexLexer.get_tokens_unprocesseds  L  tQ''C#F+KKC#CIbM2K8D3 /:2 2 +&)HT37CG44!)<<:55"%'617799"<<<<&'eeggCGG'-vdAs';';;;;;;;;#,G.7 " .F  ,%i77L)2<<#(F??'*39~~'9'9(+ %*g%5%5$'I$4$4SYr]$C$C$C$C$'I$4$4U$;$;$;$;<( 377 L"9~~SY??$'IabbMM$'Iijj$9$9&'11I,,SYr];;;;K*Ki*K*KKK5&/ " &> EC!F w#'))CG},,%+H &/&7 !gtT11111  '5$sw-7777GGqLGGG!EEe3 sJ,AJ0,J J+*J+r)r1r2r3r4rgr"r&r$rr s8@@@@@@r&rc#Kt|} t|\}}n#t$r |Ed{VYdSwxYwd}d}|D]\}}}||}d} |r|t|z|kr|| ||z } | r||| fV|t| z }|D]\} } } || | fV|t| z } ||z } t|\}}n#t$rd}YnwxYw|r|t|z|k| t|kr$|||| dfV|t|| z z }|rQ|pd}|D]\}}}|||fV|t|z } t|\}}n#t$rd}YdSwxYw|OdSdS)ag Helper for lexers which must combine the results of several sublexers. ``insertions`` is a list of ``(index, itokens)`` pairs. Each ``itokens`` iterable should be inserted at position ``index`` into the token stream given by the ``tokens`` argument. The result is a combined token stream. TODO: clean up the code here. NTrF)iternext StopIterationrX)rrrrrealposinsleftrrhriolditmpvalit_indexit_tokenit_valueps r$rrSs{j!!Jj))ww  GG%%1a ?G !c!ff*--tEAI~&F 'q&((((3v;;&07 ) ),(Hx11113x==(19D !%j!1!1ww      !c!ff*-- #a&&==1ah& & & & s1vv} $G  ,Q  GAq!1a-    s1vv GG !*--NE77   G EE       s0&<<9C  CCE** E:9E:ceZdZdZdZdS)ProfilingRegexLexerMetaz>Metaclass for ProfilingRegexLexer, collects regex timing info.ct|tr"t|j|j|jn|t j|tjffd }|S)Nrcjd fddg}tj}|||}tj}|dxxdz cc<|dxx||z z cc<|S)Nrrr!r) _prof_data setdefaulttimer) rNrendposinfot0rest1rcompiledrrs r$ match_funcz:ProfilingRegexLexerMeta._process_regex..match_funcs>"%00%3xHHDB..sF33CB GGGqLGGG GGGrBw GGGJr&) rKrrrrrrsysmaxsize)rrrrr3r2rs` ` @@r$rz&ProfilingRegexLexerMeta._process_regexs eU # # EK #(<111CCC:c6**),         r&N)r1r2r3r4rr"r&r$r'r's)HHr&r'c"eZdZdZgZdZddZdS)ProfilingRegexLexerzFDrop-in replacement for RegexLexer that does profiling of its regexes.rc#~Kjjit||Ed{Vjj}t d|Dfdd}td|D}ttdjj t||fztdtdd ztd |D]}td |ztddS) Nc3K|]Y\\}}\}}|t|ddddd|d|zd|z|z fVZdS)zu'z\\\NAi)reprr[rQ).0rrnrhs r$ z=ProfilingRegexLexer.get_tokens_unprocessed..s@@+FQFQ477==//77EEcrcJ4!8TAX\3@@@@@@r&c|jSrf)_prof_sort_index)r#rBs r$r%z.sAd&;$<r&T)keyreversec3&K|] }|dV dS)Nr")r>r#s r$rAz=ProfilingRegexLexer.get_tokens_unprocessed..s&++!++++++r&z2Profiling result for %s lexing %d chars in %.3f mszn==============================================================================================================z$%-20s %-64s ncalls tottime percall)rrzn--------------------------------------------------------------------------------------------------------------z%-20s %-65s %5d %8.4f %8.4f) rGr*rLrrgrsortedrsumprintr1rX)rBrNrrawdatar sum_totalr0s` r$rgz*ProfilingRegexLexer.get_tokens_unprocessedso !((,,,44T4GGGGGGGGG.+//11@@/6}}@@@=<<<" $$$ ++d+++++   B~&D 9=> ? ? ? i 47IIJJJ i 5 5A /!3 4 4 4 4 ir&Nr)r1r2r3r4r*rCrgr"r&r$r7r7s9PPJr&r7)6r4rr4r,pip._vendor.pygments.filterrrpip._vendor.pygments.filtersrpip._vendor.pygments.tokenrrrr r pip._vendor.pygments.utilr r r rrrpip._vendor.pygments.regexoptr__all__rrrV staticmethod_default_analyser+r(rrrTrrrrrrrrrrrrrrrrrr'r7r"r&r$rUsg ========;;;;;;QQQQQQQQQQQQQQ****************333333 * * * "*W  ,,,  < .. 1 1 1 1 1 1 1 1o"o"o"o"o"io"o"o"o"dOOOOOeOOON     c    (**      u    64  uww///d         M M M M MF M M M d1d1d1d1d1Yd1d1d1N^^^^^.^^^^B L L L L L L L LEEEEEEEEP===@n,*0Gr&__pycache__/modeline.cpython-311.pyc000064400000003320150044141150013243 0ustar00 ]bgRdZddlZdgZejdejZdZddZdS) z pygments.modeline ~~~~~~~~~~~~~~~~~ A simple modeline parser (based on pymodeline). :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. Nget_filetype_from_bufferze (?: vi | vim | ex ) (?: [<=>]? \d* )? : .* (?: ft | filetype | syn | syntax ) = ( [^:\s]+ ) cht|}|r|dSdS)N) modeline_researchgroup)lms n/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/modeline.pyget_filetype_from_liner s71Awwqzzc|}|d| dz dD]}t|}|r|cSt|ddD]0}|t|krt||}|r|cS1dS)zL Scan the buffer for modelines and return filetype if one is found. rN) splitlinesr rangelen)buf max_lineslineslineretis r rrs NN  Eb)Ab()$T**  JJJ  9b" % % s5zz>>(q22C  4r )r)__doc__re__all__compileVERBOSErr rr r r sp % &bjZ  r __pycache__/plugin.cpython-311.pyc000064400000005476150044141150012763 0ustar00 ]bgcDdZddlmZdZdZdZdZdZdZd Z d Z d Z d S) a pygments.plugin ~~~~~~~~~~~~~~~ Pygments plugin interface. lexer plugins:: [pygments.lexers] yourlexer = yourmodule:YourLexer formatter plugins:: [pygments.formatters] yourformatter = yourformatter:YourFormatter /.ext = yourformatter:YourFormatter As you can see, you can define extensions for the formatter with a leading slash. syntax plugins:: [pygments.styles] yourstyle = yourstyle:YourStyle filter plugin:: [pygments.filter] yourfilter = yourfilter:YourFilter :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. ) entry_pointszpygments.lexerszpygments.formatterszpygments.styleszpygments.filtersct}t|dr||S||gS)Nselect)group)rhasattrrget) group_namegroupss l/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/plugin.pyiter_entry_pointsr +sI ^^Fvx  *}}:}...zz*b)))c#dKttD]}|VdSN)r LEXER_ENTRY_POINTload entrypoints r find_plugin_lexersr7sA'(9::  oo  r c#rKttD]}|j|fV dSr)r FORMATTER_ENTRY_POINTnamerrs r find_plugin_formattersr<sH'(=>>11 oz000000011r c#rKttD]}|j|fV dSr)r STYLE_ENTRY_POINTrrrs r find_plugin_stylesrAsH'(9::11 oz000000011r c#rKttD]}|j|fV dSr)r FILTER_ENTRY_POINTrrrs r find_plugin_filtersrFsH'(:;;11 oz000000011r N) __doc__importlib.metadatarrrrrr rrrrr r r"s!!D,+++++%-%' * * *   111 111 11111r __pycache__/regexopt.cpython-311.pyc000064400000011672150044141150013315 0ustar00 ]bg dZddlZddlmZddlmZddlmZddlmZej dZ edZ dZ d Z d d ZdS) a pygments.regexopt ~~~~~~~~~~~~~~~~~ An algorithm that generates optimized regexes for matching long lists of literal strings. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)escape) commonprefix)groupby) itemgetterz [\[\^\\\-\]]cldtdd|zdzS)N[c0d|zS)N\)group)ms n/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/regexopt.pyzmake_charset..s )9]) CS_ESCAPEsubjoin)letterss r make_charsetrs0 992777;K;KLL Ls RRrc  |rdpd}|sdS|d t|dkr|t z|zS s!|t|dddzdz|zSt dkrg}g}|D]@}t|dkr||+||At|dkr@|r)|t|dzdzt |z|zS|t |z|zSt |}|rAt| |t|zt fd |Ddz|zSd |D}t |}|rWt| |tt fd |Ddzt|ddd z|zS|dd t| fdDz|zS)zEReturn a regex that matches any string in the sorted list of strings.)rrNz(?:?|c$g|] }|d SN).0splens r z#regex_opt_inner..?s!999Aqx999rc$g|] }|dddS)Nr)rr s r r"z#regex_opt_inner..Bs",,,q1TTrT7,,,rc3.K|]}|d VdSrr)rr slens r z"regex_opt_inner..Hs-$@$@1QvvY$@$@$@$@$@$@rr$c3\K|]'}tt|ddV(dS)rrN)regex_opt_innerlist)rr s r r'z"regex_opt_inner..MsRLL!eAh44LLLLLLrc(|ddkS)Nrr)r firsts r rz!regex_opt_inner..Ns1q9Ir) lenrr)appendrrsortedrr) strings open_paren close_paren oneletterrestr prefix strings_revsuffixr,r!r&s @@@r r)r)s$*K r AJE 7||qF5MM)K77  OGABBK???   5zzQ   A1vv{{  #### A y>>A   <!OD"$=$==C"9--.0;<< Y 7 77+E E ' " "F 6{{F6NN*99999995AAB -,G,,,K + & &F 16{{f$@$@$@$@$@$@$@@@%HHIVDDbD\""#%01 1  LL%g/I/I/I/IJJLLL L L L  rrcLt|}|t|dz|zS)zReturn a compiled regex that matches any string in the given list. The strings to match must be literal strings, not regexes. They will be regex-escaped. *prefix* and *suffix* are pre- and appended to the final regex. ()r/r))r0r5r7s r regex_optr:Rs)WooG OGS11 1F ::r)rr)__doc__reros.pathr itertoolsroperatorrcompiler FIRST_ELEMENTrr)r:rrr rBs     BJ ' '  1 SSS555p ; ; ; ; ; ;r__pycache__/scanner.cpython-311.pyc000064400000011451150044141150013104 0ustar00 ]bg HdZddlZGddeZGddZdS)a pygments.scanner ~~~~~~~~~~~~~~~~ This library implements a regex based scanner. Some languages like Pascal are easy to parse but have some keywords that depend on the context. Because of this it's impossible to lex that just by using a regular expression lexer like the `RegexLexer`. Have a look at the `DelphiLexer` to get an idea of how to use this scanner. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. NceZdZdZdS) EndOfTextzZ Raise if end of text is reached and the user tried to call a match function. N)__name__ __module__ __qualname____doc__m/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/scanner.pyrrsr rc`eZdZdZd dZdZeeejZdZdZdZ dZ d Z d S) Scannerzp Simple scanner All method patterns are regular expression strings (not compiled expressions!) rc||_t||_d|_d|_||_d|_d|_i|_dS)z{ :param text: The text which should be scanned :param flags: default regular expression flags rN) datalen data_length start_posposflagslastmatch _re_cache)selftextrs r __init__zScanner.__init__#sG  t99   r c"|j|jkS)z.`True` if the scanner reached the end of text.)rrrs r eosz Scanner.eos1sx4+++r c|jrt||jvr"tj||j|j|<|j||j|jS)z Apply `pattern` on the current position and return the match object. (Doesn't touch pos). Use this for lookahead. ) rrrrecompilerrrrrpatterns r checkz Scanner.check6s` 8 ++  $. ( (&(j$*&E&EDN7 #~g&,,TYAAAr c0||duS)zdApply a pattern on the current position and check if it patches. Doesn't touch pos. N)r#r!s r testz Scanner.testBszz'""$..r c|jrt||jvr"tj||j|j|<|j|_|j||j|j }|dS| |_ | |_ | |_dS)a Scan the text for the given pattern and update pos/match and related fields. The return value is a boolean that indicates if the pattern matched. The matched value is stored on the instance as ``match``, the last value is stored as ``last``. ``start_pos`` is the position of the pointer before the pattern was matched, ``pos`` is the end position. NFT)rrrrr rrrrrstartrendgroup)rr"ms r scanz Scanner.scanHs 8 ++  $. ( (&(j$*&E&EDN7 #J N7 # ) )$)TX > > 955577WWYY tr c0|ddS)zScan exactly one char..N)r+rs r get_charzScanner.get_char_s #r c:d|jj|j|jfzS)Nz <%s %d/%d>) __class__rrrrs r __repr__zScanner.__repr__cs' N # H     r N)r) rrrrrrpropertyr#r%r+r.r1r r r r r s    ,,, (3 $ $C B B B/// .     r r )rr RuntimeErrorrr r r r r4s   M M M M M M M M M M r __pycache__/sphinxext.cpython-311.pyc000064400000033326150044141150013512 0ustar00 ]bg-tdZddlZddlmZddlmZddlmZddlm Z dZ dZ d Z d Z Gd d eZd ZdS)a pygments.sphinxext ~~~~~~~~~~~~~~~~~~ Sphinx extension to generate automatic documentation of lexers, formatters and filters. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)nodes)ViewList) Directive)nested_parse_with_titlesz .. module:: %s %s %s z` .. class:: %s :Short names: %s :Filenames: %s :MIME types: %s %s %s zA .. class:: %s :Short names: %s :Filenames: %s %s z' .. class:: %s :Name: %s %s cDeZdZdZdZdZdZdZiZdZ dZ dZ dZ d Z d S) PygmentsDoczn A directive to collect all lexers/formatters/filters and generate autoclass directives for them. Frct|_|jddkr|}n|jddkr|}n[|jddkr|}n5|jddkr|}ntdtj }t| dd }t|j |||jD]+}|j jjj|,|jS) Nrlexers formattersfilterslexers_overviewz,invalid argument for "pygmentsdoc" directive )source)set filenames argumentsdocument_lexersdocument_formattersdocument_filtersdocument_lexers_overview Exceptionrcompoundrsplitrstatedocumentsettingsrecord_dependenciesaddchildren)selfoutnodevlfns o/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/sphinxext.pyrunzPygmentsDoc.runGs+ >!  ( (&&((CC ^A , . .**,,CC ^A ) + +''))CC ^A "3 3 3//11CCJKK K~ ciioob 1 1 1 R666. E EB J  ( < @ @ D D D D}c  ddlm}ddlm}g}g d}t |dD]\}}||d}|j|jz} ||d|j d | d d  d d pd d |d|dd|dgd} fd| D fd fd} || |dddd||  D]?} || d| d| dd| dd@|| d |S)zGenerate a tabular overview of all lexers. The columns are the lexer name, the extensions handled by this lexer (or "None"), the aliases and a link to the lexer class.rLEXERS)find_lexer_classc|r d|d|dS|S)N`z `_)nameurls r' format_linkz9PygmentsDoc.document_lexers_overview..format_linkes( ,+4++3++++Kr)cB|ddS)Nr )lowerxs r'z6PygmentsDoc.document_lexers_overview..jsAaDGMMOOr)keyr , *\*_\None.)r1 extensionsaliasesclasscHg|]tfdDS)cJg|]}| t| Sr0)len).0rowcolumns r' zCPygmentsDoc.document_lexers_overview...vs.PPPCCKPs3v;//PPPr))max)rIrKtables @r'rLz8PygmentsDoc.document_lexers_overview..vsG666$PPPP5PPPQQ666r)cg}t|D]H\}}|r)|||0|d|zId|S)zFormat a table row )zipappendljustjoin)columnsr#lengthcolcolumn_lengthss r' write_rowz7PygmentsDoc.document_lexers_overview..write_rowyswC">7;; + + +JJsyy001111JJs6z****88C== r)c&dD}|S)zWrite a table separator rowcg|]}d|zS)=r0)rIcs r'rLzQPygmentsDoc.document_lexers_overview..write_seperator..s111Q3q5111r)r0)seprXrYs r'write_seperatorz=PygmentsDoc.document_lexers_overview..write_seperators"11.111C9c? "r)Namez Extension(s)z Short name(s)z Lexer classr1rCrDz :class:`~rEr/r) $pip._vendor.pygments.lexers._mappingr,pip._vendor.pygments.lexersr-sorteditemsralias_filenamesrRr2rTreplace)r"r,r-r#r3 classnamedata lexer_clsrC column_namesr_rJrXrNrYs @@@r'rz$PygmentsDoc.document_lexers_overviewZs @?????@@@@@@    &fllnn:S:STTT  OIt((a11I",y/HHJ LL# DGY];;"ii 33;;CGGOOPSUYZZd^d99T!W-- G11i11     BAA 6666(4666 ! ! ! ! ! # # # # # # ??$$%%% 99V^_mTTUUU ??$$%%% . .C JJyyF L!I+CL+++ -- . . . . ??$$%%%yy~~r)c ddlm}ddlm}ddl}ddl}g}i}i}t |dD]P\}} | d} t| dd|g} |j | j t| |} | j std|d| j } t| t r| d} t| d d}|r|||jjd z d z |z }|d }|st-d|d|| dr<| dd}| dz } | d|dz } |D] }| d|dz } | jr d| j}nd}|| g|d| dpdd| dddddpdd| dpd| |f| |vr6| j }t|t r|d}||| <Rt |d D]\} }|| t-d!| || dd"}|t>| |d#tA|zfz|D]} |tB| z d|S)$Nrr+)pygmentsc|dSNrr0r6s r'r8z-PygmentsDoc.document_lexers.. AaDr)r9z Warning: z does not have a docstring.utf8_exampletests examplefileszutf-8)encodingzEmpty example file 'z ' for lexer rAz .. admonition:: Example z .. code-block:: z z rz.. versionadded:: rr;r@r<r=r>r?c|dSrnr0r6s r'r8z-PygmentsDoc.document_lexers..ror)zMissing docstring for rB-)"rar, pip._vendorrlinspectpathlibrcrd __import__rr __file__getattr__doc__print isinstancebytesdecodePath getabsfileparent read_textr splitlines version_added setdefaultrRrTrfstriprstrip MODULEDOCrHLEXERDOC)r"r,rlrzr{r#modulesmoduledocstringsrgrhmodulemodcls docstring example_filepcontent lexer_nameline version_linemoddocr headings r'rzPygmentsDoc.document_lexerss??????((((((%fllnn..III, 2, 2OIt!WFVT4)==C N  s| , , ,#y))C; JH)HHHIII I)U++ 5%,,V44 "3 D99L ;LL!3!3H!=!=>>EL,-/;<++w+77(#'|''$''(((7;!%aJ!DDI!LJ!L!L!LLI ' 2 2 4 4;;!%:$%:%:%::   "GC4EGG !   vr * * 1 1 $q'"",f $q'""**366>>sDIISV $q'"",f 3   ---fe,,3#]]622F+1 ($W]]__..III , ,NFF'/ A A ABBB&v.99;;A>DDFFMMcRRG JJyFGSW5E#FF G G G , , 8d?++++ ,wws||r)c jddlm}g}t|dD]\}}|d}t |dd|g}|j|jt||}|j }t|tr| d}|j } |t| d|dpdd|d d d pd|fzd |S) Nr) FORMATTERSc|dSrnr0r6s r'r8z1PygmentsDoc.document_formatters..s !r)r9rpr;rAr@rur<r=r)pip._vendor.pygments.formattersrrcrdr|rr r}r~rrrr__name__rRFMTERDOCrTrf) r"rr#rgrhrrrrrs r'rzPygmentsDoc.document_formatterss<>>>>>>%j&6&6&8&8nnMMM / /OIt!WFVT4)==C N  s| , , ,#y))C I)U++ 5%,,V44 lG JJx7DIId1g,>,>,H&#'99T!W#5#5#=#=c5#I#I#SV#,#.. / / / /wws||r)cddlm}g}|D]\}}|jt j|jj|j }t|tr| d}| t|j||fzd|S)Nr)FILTERSrpr)pip._vendor.pygments.filtersrrdrr sysr __module__r}rrrrrR FILTERDOCrrT)r"rr#r1rrs r'rzPygmentsDoc.document_filterss888888  D DID# N  s{3>:C D D D I)U++ 5%,,V44 JJyCL$ #BB C C C Cwws||r)N)rr __qualname__r has_contentrequired_argumentsoptional_argumentsfinal_argument_whitespace option_specr(rrrrr0r)r'rr<sK %K&:::x???B$     r)rc<|dtdS)N pygmentsdoc) add_directiver)apps r'setuprsm[11111r))rrdocutilsrdocutils.statemachinerdocutils.parsers.rstrsphinx.util.nodesrrrrrrrr0r)r'rs   ************666666      wwwww)wwwt22222r)__pycache__/style.cpython-311.pyc000064400000016477150044141150012630 0ustar00 ]bg2dZddlmZmZiddddddd d d d d ddddddddddddddddddd d!d"Zid#dd$dd%dd&d d'd d(d d)dd*dd+dd,dd-dd.dd/dd0dd1dd2d!ZeeZGd3d4eZ Gd5d6e 7Z d8S)9z pygments.style ~~~~~~~~~~~~~~ Basic style object. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. )TokenSTANDARD_TYPES ansiblack000000ansired7f0000 ansigreen007f00 ansiyellow7f7fe0ansiblue00007f ansimagenta7f007fansicyan007f7fansigraye5e5e5ansibrightblack555555 ansibrightredff0000ansibrightgreen00ff00ansibrightyellowffff00ansibrightblue0000ffansibrightmagentaff00ffansibrightcyan00ffff ansiwhiteffffffz #ansiblackz #ansidarkredz#ansidarkgreenz #ansibrownz #ansidarkbluez #ansipurplez #ansitealz#ansilightgrayz #ansidarkgrayz#ansiredz #ansigreenz #ansiyellowz #ansibluez #ansifuchsiaz#ansiturquoisez #ansiwhitec2eZdZdZdZdZdZdZdZdS) StyleMetact||||}tD]}||jvr d|j|<d}ix}|_|jD]}|D]}||vr||jd} |j|d} | r|gd} n-d| vr|tur|tdd} n | dd} | ||<|j|dD]} | dkr | dkrd| d<| dkrd| d<!| d krd| d <-| d krd| d <9| d krd| d <E| dkrd| d <Q| dd dkr|| d d| d<v| dddkr|| dd| d<| dkrd| d<| dkrd| d<| dkrd| d<|| | d<ΐ|S)Ncb|tvr|S|dddkrV|dd}t|dkr|St|dkr#|ddz|ddzz|ddzzSn4|dkrdS|ds|d r|SJd |) Nr#r(varcalcFzwrong color format ) ansicolorslen startswith)textcols k/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/style.py colorformatz&StyleMeta.__new__..colorformatBsz!! AaCyC122hs88q==JXX]]q6A:A 2SVaZ??#r'' 4??6+B+B  8888 8 85) r(rrrr(r(rrr noinheritboldr*noboldritalicr.noitalic underliner- nounderlinezbg:zborder:romanr,sansmono) type__new__rstyles_stylessplitgetparentr) mcsnamebasesdctobjtokenr7rJttypendef styledefsstyledefs r6rHzStyleMeta.__new__<sll3eS11# ' 'ECJ&&$& 5! 9 9 9!#"#+Z' 8' 8E& 8& 8G##{{5<66JNN5"55;;== #u}999DD I--%u2D2D"5>!!!,DD7D!% # ub 9 9 ? ? A A88H;..!V++"#Q!X--"#Q!X--"#Q!Z//"#Q![00"#Q!]22"#Q!"1".."-+hqrrl";";Q!"1"22"-+hqrrl";";Q!W,,"#Q!V++"#Q!V++"#Q"-+h"7"7Q58& 8P r8c  |j|}dx}}|d}|tvr t|}|tvr|}t|}|d}|tvr t|}|tvr|}t|}|pdt |dt |dt |d|pd|dpdt |dpdt |dpdt |d pd||d S) Nrr@r*r.r-rBr,rArF) colorr:r<r>bgcolorborderrCrDrE ansicolor bgansicolor)rJ_deprecated_ansicolorsr1_ansimapbool)clsrStr\r]rYrZs r6style_for_tokenzStyleMeta.style_for_token~s K "&& K! * * **51E J  IUOEA$ , , ,,W5G j !Kw'G"MT 1JJ 1JJ 1JJ#OtaDLD 1JJ.$ 1JJ.$ 1JJ.$%'   r8c t|SN)listras r6 list_styleszStyleMeta.list_stylessCyyr8c||jvSre)rJ)rarTs r6 styles_tokenzStyleMeta.styles_tokens ##r8c#PK|jD]}|||fVdSre)rJrc)rarSs r6__iter__zStyleMeta.__iter__sC[ 4 4E,,U333 3 3 3 3 4 4r8c*t|jSre)r2rJrgs r6__len__zStyleMeta.__len__s3;r8N) __name__ __module__ __qualname__rHrcrhrjrlrnr8r6r&r&:sr@@@D   <$$$444     r8r&c6eZdZdZdZdZdZdZdZiZ dZ gZ dZ d S) Stylez#ffffffz#ffffccinherit transparentz#000000z#ffffc0unnamedFN) rorprqbackground_colorhighlight_colorline_number_colorline_number_background_colorline_number_special_color$line_number_special_background_colorrIrOaliasesweb_style_gallery_excluderrr8r6rtrtsZ! O"$1 !*,5(F DG !&r8rt) metaclassN) __doc__pip._vendor.pygments.tokenrrr_r^setr1rGr&rtrrr8r6rs5=<<<<<<<  x    (     8   x X x  h  ! "h# $% *+Ik  ,  Z =j&#%! '!"&#$+%(S]] m m m m m m m m `!&!&!&!&!&i!&!&!&!&!&!&r8__pycache__/token.cpython-311.pyc000064400000016543150044141150012602 0ustar00 ]bgRdZGddeZeZejZejZejZejZejZej Z ej Z ej Z e j Z e j Z ejZejZejZejZee_e e_ e e_ dZdZiedededededed e d e jd e jd e jd e jde jde jde de jde jde jjdie jde jde jde jde jde j de j j!de j"de j#de jde jde j$d e j%d!e j%jd"e j%j&d#e j%j'd$e j%j!d%ie d&e j(d'e d(e j)d)e j*d*e j+d+e j,d,e j-d-e j.d.e jd/e j/d0e j0d1e jd2e j1d3e j2d4e j3d5e d6ie j4d7e j5d8e j6d9e j7d:e j7j8d;e j9d<ed=ej:d>ed?ej;d@edAej<dBej=dCej>dDej?dEej2dFej@dGedHejAdIejBdJejdKejCdLejDdMejEdNejFdOejGdPejHdQejIdRejJdSi ZKdTS)Uz pygments.token ~~~~~~~~~~~~~~ Basic token types and the standard tokens. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. c<eZdZdZdZdZdZdZdZdZ dZ dS) _TokenTypeNcvg}|}||||j}|||SN)appendparentreverse)selfbufnodes k/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/token.pysplitz_TokenType.splitsG JJt   ;D  c,t|_dSr)setsubtypes)r argss r __init__z_TokenType.__init__s rcl||up0t||juo|dt||kSr)type __class__len)r vals r __contains__z_TokenType.__contains__s>s{ II ' $  T Ot # rc|r|dst||St||fz}t ||||j|||_|S)N)isuppertuple__getattribute__rsetattrraddr)r rnews r __getattr__z_TokenType.__getattr__"s| 5#a&..** 5))$44 4''c3 #  rc@d|rdpdzd|zS)NToken.)joinr s r __repr__z_TokenType.__repr__+s%$,3,"->>rc|Srr(s r __copy__z_TokenType.__copy__. rc|Srr+)r memos r __deepcopy__z_TokenType.__deepcopy__2r-r) __name__ __module__ __qualname__rr rrr"r)r,r0r+rr rr s F   ???rrc ||vS)z Return True if ``ttype`` is a subtype of ``other``. exists for backwards compatibility. use ``ttype in other`` now. r+)ttypeothers r is_token_subtyper7Us E>rct|tr|S|stSt}|dD]}t ||}|S)a} Convert a string into a token type:: >>> string_to_token('String.Double') Token.Literal.String.Double >>> string_to_token('Token.Literal.Number') Token.Literal.Number >>> string_to_token('') Token Tokens that are already tokens are returned unchanged: >>> string_to_token(String) Token.Literal.String r%) isinstancerr$r getattr)sr items r string_to_tokentyper=^s\ !Z    D ##tT"" Krr&wescerrxkkckdknkpkrktnnanbbpncnondninenffmpynlnnnxntnvvcvgvivmlldr;sasbscdlsds2seshsisxsrs1ssmmbmfmhmiilmooowppmcchcmcpcpfc1csggdgegrghgigogpgsgugesgtN)L__doc__rrr$Text WhitespaceEscapeErrorOtherKeywordNameLiteralStringNumber PunctuationOperatorCommentGenericr7r=Constant Declaration NamespacePseudoReservedType AttributeBuiltinClass DecoratorEntity ExceptionFunctionMagicPropertyLabelTagVariableGlobalInstanceDateAffixBacktickChar DelimiterDocDoubleHeredocInterpolRegexSingleSymbolBinFloatHexIntegerLongOctWordMarkerHashbang MultilinePreproc PreprocFileSpecialDeletedEmphHeadingInsertedOutputPromptStrong Subheading EmphStrong TracebackSTANDARD_TYPESr+rr rs((((((((V   z _    - z -   > - -   :[ 2[ 2[3 [  5 [  5 [ 3[ 3[ 4[ 4[ 4[ N4[ 4[ L4[" 3#[$ N4%[& L4'[( L4)[[* J4+[, M4-[. N4/[0 K41[2 N43[4 M45[6 M47[8 M49[: J4;[< N4=[> J4?[@ H4A[B M4C[D M4E[F M4G[H M4I[J M4K[[[N 3O[P L4Q[T 3U[V L4W[X O4Y[Z K4[[\ 4][^ J4_[` M4a[b M4c[d N4e[f O4g[h L4i[j L4k[l M4m[n M4o[r 3s[[[t J4u[v L4w[x J4y[z N4{[| N4}[~ J4[B 3C[D M4E[H3I[J4K[N 3O[P 4Q[R 4S[T O4U[V 5W[X N4Y[Z O4[[[^ 3 O4 L4 M4 O4 4 N4 N4 N4 4 5 4u[[r__pycache__/unistring.cpython-311.pyc000064400000102112150044141150013470 0ustar00 ]bgvdZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Z gd!Z!d"Z"d#Z#d$Z$e%d%krbd&d'l&Z&ggd(Z'e(e)d)*5Z*e*+Z,d'd'd'n #1swxYwYe,d'e,-d+Z.e,e,-d,d'Z/e0d-D]Z1e2e1Z3e&j4e3Z5e6e3d.krd/e3zZ3ne6e3d0vrd/e3zZ3e'7e5g8e3e39re'd18e3d2e3z9re'd38e3e(e)d4d)*5Z*e*:e.e;e'D]AZ5d5<e$e'e5Z=e*:e5d6e=d7Be;e'Z!e!>d1e!>d3e*:d8e!d7e*:d9e&j?d7e*:e/d'd'd'd'S#1swxYwYd'Sd'S):af pygments.unistring ~~~~~~~~~~~~~~~~~~ Strings of all Unicode characters of a certain category. Used for matching in Unicode-aware languages. Run to regenerate. Inspired by chartypes_create.py from the MoinMoin project. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. u--Ÿu`­؀-؅؜۝܏࣢᠎​-‏‪-‮⁠-⁤⁦--𑂽𑃍𛲠-𛲣𝅳-𝅺󠀁󠀠-󠁿uV͸-͹΀-΃΋΍΢԰՗-՘֋-֌֐׈-׏׫-׮׵-׿؝܎݋-݌޲-޿߻-߼࠮-࠯࠿࡜-࡝࡟࡫-࢟ࢵࢾ-࣒঄঍-঎঑-঒঩঱঳-঵঺-঻৅-৆৉-৊৏-৖৘-৛৞৤-৥৿-਀਄਋-਎਑-਒਩਱਴਷਺-਻਽੃-੆੉-੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺-઻૆૊૎-૏૑-૟૤-૥૲-૸଀଄଍-଎଑-଒଩଱଴଺-଻୅-୆୉-୊୎-୕୘-୛୞୤-୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎-௏௑-௖௘-௥௻-௿఍఑఩఺-఼౅౉౎-౔౗౛-౟౤-౥౰-౷಍಑಩಴಺-಻೅೉೎-೔೗-ೝ೟೤-೥೰ೳ-೿ഄ഍഑൅൉൐-൓൤-൥඀-ඁ඄඗-඙඲඼඾-඿෇-෉෋-෎෕෗෠-෥෰-෱෵-฀฻-฾๜-຀຃຅-ຆຉ຋-ຌຎ-ຓຘຠ຤຦ຨ-ຩຬ຺຾-຿໅໇໎-໏໚-໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎-჏቉቎-቏቗቙቞-቟኉኎-኏኱኶-኷኿዁዆-዇዗጑጖-጗፛-፜፽-፿᎚-᎟᏶-᏷᏾-᏿᚝-᚟᛹-᛿ᜍ᜕-ᜟ᜷-᜿᝔-᝟᝭᝱᝴-᝿៞-៟៪-៯៺-៿᠏᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮-᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜-᨝᩟᩽-᩾᪊-᪏᪚-᪟᪮-᪯ᪿ-᫿ᭌ-᭏᭽-᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻-᲼᳈-᳏ᳺ-᳿᷺἖-἗἞-἟὆-὇὎-὏὘὚὜὞὾-὿᾵῅῔-῕῜῰-῱῵῿⁥⁲-⁳₏₝-₟⃀-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴-⭵⮖-⮗⯉⯿Ⱟⱟ⳴-⳸⴦⴨-⴬⴮-⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹏-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗-゘㄀-㄄㄰㆏ㆻ-ㆿ㇤-㇯㈟㋿䶶-䶿鿰-鿿꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ꞻ-ꟶ꠬-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎-꩏꩚-꩛꫃-꫚꫷-꬀꬇-꬈꬏-꬐꬗-꬟꬧꬯ꭦ-꭯꯮-꯯꯺-꯿힤-힯퟇-퟊퟼-퟿﩮-﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯂-﯒﵀-﵏﶐-﶑﷈-﷯﷾-﷿︚-︟﹓﹧﹬-﹯﹵﻽-﻾＀﾿-￁￈-￉￐-￑￘-￙￝-￟￧￯-￸￾-￿𐀌𐀧𐀻𐀾𐁎-𐁏𐁞-𐁿𐃻-𐃿𐄃-𐄆𐄴-𐄶𐆏𐆜-𐆟𐆡-𐇏𐇾-𐉿𐊝-𐊟𐋑-𐋟𐋼-𐋿𐌤-𐌬𐍋-𐍏𐍻-𐍿𐎞𐏄-𐏇𐏖-𐏿𐒞-𐒟𐒪-𐒯𐓔-𐓗𐓼-𐓿𐔨-𐔯𐕤-𐕮𐕰-𐗿𐜷-𐜿𐝖-𐝟𐝨-𐟿𐠆-𐠇𐠉𐠶𐠹-𐠻𐠽-𐠾𐡖𐢟-𐢦𐢰-𐣟𐣳𐣶-𐣺𐤜-𐤞𐤺-𐤾𐥀-𐥿𐦸-𐦻𐧐-𐧑𐨄𐨇-𐨋𐨔𐨘𐨶-𐨷𐨻-𐨾𐩉-𐩏𐩙-𐩟𐪠-𐪿𐫧-𐫪𐫷-𐫿𐬶-𐬸𐭖-𐭗𐭳-𐭷𐮒-𐮘𐮝-𐮨𐮰-𐯿𐱉-𐱿𐲳-𐲿𐳳-𐳹𐴨-𐴯𐴺-𐹟𐹿-𐻿𐼨-𐼯𐽚-𐿿𑁎-𑁑𑁰-𑁾𑃂-𑃌𑃎-𑃏𑃩-𑃯𑃺-𑃿𑄵𑅇-𑅏𑅷-𑅿𑇎-𑇏𑇠𑇵-𑇿𑈒𑈿-𑉿𑊇𑊉𑊎𑊞𑊪-𑊯𑋫-𑋯𑋺-𑋿𑌄𑌍-𑌎𑌑-𑌒𑌩𑌱𑌴𑌺𑍅-𑍆𑍉-𑍊𑍎-𑍏𑍑-𑍖𑍘-𑍜𑍤-𑍥𑍭-𑍯𑍵-𑏿𑑚𑑜𑑟-𑑿𑓈-𑓏𑓚-𑕿𑖶-𑖷𑗞-𑗿𑙅-𑙏𑙚-𑙟𑙭-𑙿𑚸-𑚿𑛊-𑛿𑜛-𑜜𑜬-𑜯𑝀-𑟿𑠼-𑢟𑣳-𑣾𑤀-𑧿𑩈-𑩏𑪄-𑪅𑪣-𑪿𑫹-𑯿𑰉𑰷𑱆-𑱏𑱭-𑱯𑲐-𑲑𑲨𑲷-𑳿𑴇𑴊𑴷-𑴹𑴻𑴾𑵈-𑵏𑵚-𑵟𑵦𑵩𑶏𑶒𑶙-𑶟𑶪-𑻟𑻹-𑿿𒎚-𒏿𒑯𒑵-𒑿𒕄-𒿿𓐯-𔏿𔙇-𖟿𖨹-𖨿𖩟𖩪-𖩭𖩰-𖫏𖫮-𖫯𖫶-𖫿𖭆-𖭏𖭚𖭢𖭸-𖭼𖮐-𖸿𖺛-𖻿𖽅-𖽏𖽿-𖾎𖾠-𖿟𖿢-𖿿𘟲-𘟿𘫳-𚿿𛄟-𛅯𛋼-𛯿𛱫-𛱯𛱽-𛱿𛲉-𛲏𛲚-𛲛𛲤-𜿿𝃶-𝃿𝄧-𝄨𝇩-𝇿𝉆-𝋟𝋴-𝋿𝍗-𝍟𝍹-𝏿𝑕𝒝𝒠-𝒡𝒣-𝒤𝒧-𝒨𝒭𝒺𝒼𝓄𝔆𝔋-𝔌𝔕𝔝𝔺𝔿𝕅𝕇-𝕉𝕑𝚦-𝚧𝟌-𝟍𝪌-𝪚𝪠𝪰-𝿿𞀇𞀙-𞀚𞀢𞀥𞀫-𞟿𞣅-𞣆𞣗-𞣿𞥋-𞥏𞥚-𞥝𞥠-𞱰𞲵-𞷿𞸄𞸠𞸣𞸥-𞸦𞸨𞸳𞸸𞸺𞸼-𞹁𞹃-𞹆𞹈𞹊𞹌𞹐𞹓𞹕-𞹖𞹘𞹚𞹜𞹞𞹠𞹣𞹥-𞹦𞹫𞹳𞹸𞹽𞹿𞺊𞺜-𞺠𞺤𞺪𞺼-𞻯𞻲-𞿿🀬-🀯🂔-🂟🂯-🂰🃀🃐🃶-🃿🄍-🄏🅬-🅯🆭-🇥🈃-🈏🈼-🈿🉉-🉏🉒-🉟🉦-🋿🛕-🛟🛭-🛯🛺-🛿🝴-🝿🟙-🟿🠌-🠏🡈-🡏🡚-🡟🢈-🢏🢮-🣿🤌-🤏🤿🥱-🥲🥷-🥹🥻🦣-🦯🦺-🦿🧃-🧏🨀-🩟🩮-🿿𪛗-𪛿𫜵-𫜿𫠞-𫠟𬺢-𬺯𮯡-𯟿𯨞-󠀀󠀂-󠀟󠂀-󠃿󠇰-󯿿󿿾-󿿿􏿾-􏿿u-󰀀-󿿽􀀀-􏿽u-\-u2a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķ-ĸĺļľŀłńņň-ʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌ-ƍƒƕƙ-ƛƞơƣƥƨƪ-ƫƭưƴƶƹ-ƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜ-ǝǟǡǣǥǧǩǫǭǯ-ǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿ-ɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐ-ϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻ-ϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎ-ӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶ-ᾷιῂ-ῄῆ-ῇῐ-ΐῖ-ῗῠ-ῧῲ-ῴῶ-ῷℊℎ-ℏℓℯℴℹℼ-ℽⅆ-ⅉⅎↄⰰ-ⱞⱡⱥ-ⱦⱨⱪⱬⱱⱳ-ⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ-ⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꟺꬰ-ꭚꭠ-ꭥꭰ-ꮿff-stﬓ-ﬗa-z𐐨-𐑏𐓘-𐓻𐳀-𐳲𑣀-𑣟𖹠-𖹿𝐚-𝐳𝑎-𝑔𝑖-𝑧𝒂-𝒛𝒶-𝒹𝒻𝒽-𝓃𝓅-𝓏𝓪-𝔃𝔞-𝔷𝕒-𝕫𝖆-𝖟𝖺-𝗓𝗮-𝘇𝘢-𝘻𝙖-𝙯𝚊-𝚥𝛂-𝛚𝛜-𝛡𝛼-𝜔𝜖-𝜛𝜶-𝝎𝝐-𝝕𝝰-𝞈𝞊-𝞏𝞪-𝟂𝟄-𝟉𝟋𞤢-𞥃uʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥ-ۦߴ-ߵߺࠚࠤࠨॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼ-ⱽⵯⸯ々〱-〵〻ゝ-ゞー-ヾꀕꓸ-ꓽꘌꙿꚜ-ꚝꜗ-ꜟꝰꞈꟸ-ꟹꧏꧦꩰꫝꫳ-ꫴꭜ-ꭟー゙-゚𖭀-𖭃𖾓-𖾟𖿠-𖿡un ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮ-ٯٱ-ۓەۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএ-ঐও-নপ-রলশ-হঽৎড়-ঢ়য়-ৡৰ-ৱৼਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલ-ળવ-હઽૐૠ-ૡૹଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହଽଡ଼-ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠ-ౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠ-ೡೱ-ೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะา-ำเ-ๅກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ະາ-ຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥ-ၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮ-ᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳱᳵ-ᳶℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪ-ꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽ-ꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂꫛ-ꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ𐀀-𐀋𐀍-𐀦𐀨-𐀺𐀼-𐀽𐀿-𐁍𐁐-𐁝𐂀-𐃺𐊀-𐊜𐊠-𐋐𐌀-𐌟𐌭-𐍀𐍂-𐍉𐍐-𐍵𐎀-𐎝𐎠-𐏃𐏈-𐏏𐑐-𐒝𐔀-𐔧𐔰-𐕣𐘀-𐜶𐝀-𐝕𐝠-𐝧𐠀-𐠅𐠈𐠊-𐠵𐠷-𐠸𐠼𐠿-𐡕𐡠-𐡶𐢀-𐢞𐣠-𐣲𐣴-𐣵𐤀-𐤕𐤠-𐤹𐦀-𐦷𐦾-𐦿𐨀𐨐-𐨓𐨕-𐨗𐨙-𐨵𐩠-𐩼𐪀-𐪜𐫀-𐫇𐫉-𐫤𐬀-𐬵𐭀-𐭕𐭠-𐭲𐮀-𐮑𐰀-𐱈𐴀-𐴣𐼀-𐼜𐼧𐼰-𐽅𑀃-𑀷𑂃-𑂯𑃐-𑃨𑄃-𑄦𑅄𑅐-𑅲𑅶𑆃-𑆲𑇁-𑇄𑇚𑇜𑈀-𑈑𑈓-𑈫𑊀-𑊆𑊈𑊊-𑊍𑊏-𑊝𑊟-𑊨𑊰-𑋞𑌅-𑌌𑌏-𑌐𑌓-𑌨𑌪-𑌰𑌲-𑌳𑌵-𑌹𑌽𑍐𑍝-𑍡𑐀-𑐴𑑇-𑑊𑒀-𑒯𑓄-𑓅𑓇𑖀-𑖮𑗘-𑗛𑘀-𑘯𑙄𑚀-𑚪𑜀-𑜚𑠀-𑠫𑣿𑨀𑨋-𑨲𑨺𑩐𑩜-𑪃𑪆-𑪉𑪝𑫀-𑫸𑰀-𑰈𑰊-𑰮𑱀𑱲-𑲏𑴀-𑴆𑴈-𑴉𑴋-𑴰𑵆𑵠-𑵥𑵧-𑵨𑵪-𑶉𑶘𑻠-𑻲𒀀-𒎙𒒀-𒕃𓀀-𓐮𔐀-𔙆𖠀-𖨸𖩀-𖩞𖫐-𖫭𖬀-𖬯𖭣-𖭷𖭽-𖮏𖼀-𖽄𖽐𗀀-𘟱𘠀-𘫲𛀀-𛄞𛅰-𛋻𛰀-𛱪𛱰-𛱼𛲀-𛲈𛲐-𛲙𞠀-𞣄𞸀-𞸃𞸅-𞸟𞸡-𞸢𞸤𞸧𞸩-𞸲𞸴-𞸷𞸹𞸻𞹂𞹇𞹉𞹋𞹍-𞹏𞹑-𞹒𞹔𞹗𞹙𞹛𞹝𞹟𞹡-𞹢𞹤𞹧-𞹪𞹬-𞹲𞹴-𞹷𞹹-𞹼𞹾𞺀-𞺉𞺋-𞺛𞺡-𞺣𞺥-𞺩𞺫-𞺻𠀀-𪛖𪜀-𫜴𫝀-𫠝𫠠-𬺡𬺰-𮯠丽-𪘀u&DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼuA-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸA-Z𐐀-𐐧𐒰-𐓓𐲀-𐲲𑢠-𑢿𖹀-𖹟𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊𞤀-𞤡uःऻा-ीॉ-ौॎ-ॏং-ঃা-ীে-ৈো-ৌৗਃਾ-ੀઃા-ીૉો-ૌଂ-ଃାୀେ-ୈୋ-ୌୗா-ிு-ூெ-ைொ-ௌௗఁ-ఃు-ౄಂ-ಃಾೀ-ೄೇ-ೈೊ-ೋೕ-ೖം-ഃാ-ീെ-ൈൊ-ൌൗං-ඃා-ෑෘ-ෟෲ-ෳ༾-༿ཿါ-ာေးျ-ြၖ-ၗၢ-ၤၧ-ၭႃ-ႄႇ-ႌႏႚ-ႜាើ-ៅះ-ៈᤣ-ᤦᤩ-ᤫᤰ-ᤱᤳ-ᤸᨙ-ᨚᩕᩗᩡᩣ-ᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ-᭄ᮂᮡᮦ-ᮧ᮪ᯧᯪ-ᯬᯮ᯲-᯳ᰤ-ᰫᰴ-ᰵ᳡ᳲ-ᳳ᳷〮-〯ꠣ-ꠤꠧꢀ-ꢁꢴ-ꣃꥒ-꥓ꦃꦴ-ꦵꦺ-ꦻꦽ-꧀ꨯ-ꨰꨳ-ꨴꩍꩻꩽꫫꫮ-ꫯꫵꯣ-ꯤꯦ-ꯧꯩ-ꯪ꯬𑀀𑀂𑂂𑂰-𑂲𑂷-𑂸𑄬𑅅-𑅆𑆂𑆳-𑆵𑆿-𑇀𑈬-𑈮𑈲-𑈳𑈵𑋠-𑋢𑌂-𑌃𑌾-𑌿𑍁-𑍄𑍇-𑍈𑍋-𑍍𑍗𑍢-𑍣𑐵-𑐷𑑀-𑑁𑑅𑒰-𑒲𑒹𑒻-𑒾𑓁𑖯-𑖱𑖸-𑖻𑖾𑘰-𑘲𑘻-𑘼𑘾𑚬𑚮-𑚯𑚶𑜠-𑜡𑜦𑠬-𑠮𑠸𑨹𑩗-𑩘𑪗𑰯𑰾𑲩𑲱𑲴𑶊-𑶎𑶓-𑶔𑶖𑻵-𑻶𖽑-𖽾𝅥-𝅦𝅭-𝅲u҈-҉᪾⃝-⃠⃢-⃤꙰-꙲ù-ͯ҃-֑҇-ֽֿׁ-ׂׄ-ׇׅؐ-ًؚ-ٰٟۖ-ۜ۟-ۤۧ-۪ۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢ-ॣঁ়ু-ৄ্ৢ-ৣ৾ਁ-ਂ਼ੁ-ੂੇ-ੈੋ-੍ੑੰ-ੱੵઁ-ં઼ુ-ૅે-ૈ્ૢ-ૣૺ-૿ଁ଼ିୁ-ୄ୍ୖୢ-ୣஂீ்ఀఄా-ీె-ైొ-్ౕ-ౖౢ-ౣಁ಼ಿೆೌ-್ೢ-ೣഀ-ഁ഻-഼ു-ൄ്ൢ-ൣ්ි-ුූัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-ཱ༹༙༵༷-ཾྀ-྄྆-྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္-်ွ-ှၘ-ၙၞ-ၠၱ-ၴႂႅ-ႆႍႝ፝-፟ᜒ-᜔ᜲ-᜴ᝒ-ᝓᝲ-ᝳ឴-឵ិ-ួំ៉-៓៝᠋-᠍ᢅ-ᢆᢩᤠ-ᤢᤧ-ᤨᤲ᤹-᤻ᨗ-ᨘᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀ-ᮁᮢ-ᮥᮨ-ᮩ᮫-ᮭ᯦ᯨ-ᯩᯭᯯ-ᯱᰬ-ᰳᰶ-᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸-᳹᷀-᷹᷻-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙〭-゚꙯ꙴ-꙽ꚞ-ꚟ꛰-꛱ꠂ꠆ꠋꠥ-ꠦ꣄-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꧥꨩ-ꨮꨱ-ꨲꨵ-ꨶꩃꩌꩼꪰꪲ-ꪴꪷ-ꪸꪾ-꪿꫁ꫬ-ꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-𐇽𐋠︯𐍶-𐍺𐨁-𐨃𐨅-𐨆𐨌-𐨏𐨸-𐨿𐨺𐫥-𐫦𐴤-𐽆𐴧-𐽐𑀁𑀸-𑁆𑁿-𑂁𑂳-𑂶𑂹-𑂺𑄀-𑄂𑄧-𑄫𑄭-𑅳𑄴𑆀-𑆁𑆶-𑆾𑇉-𑇌𑈯-𑈱𑈴𑈶-𑈷𑈾𑋟𑋣-𑋪𑌀-𑌁𑌻-𑌼𑍀𑍦-𑍬𑍰-𑍴𑐸-𑐿𑑂-𑑄𑑆𑑞𑒳-𑒸𑒺𑒿-𑓀𑓂-𑓃𑖲-𑖵𑖼-𑖽𑖿-𑗀𑗜-𑗝𑘳-𑘺𑘽𑘿-𑙀𑚫𑚭𑚰-𑚵𑚷𑜝-𑜟𑜢-𑜥𑜧-𑜫𑠯-𑠷𑠹-𑠺𑨁-𑨊𑨳-𑨸𑨻-𑨾𑩇𑩑-𑩖𑩙-𑩛𑪊-𑪖𑪘-𑪙𑰰-𑰶𑰸-𑰽𑰿𑲒-𑲧𑲪-𑲰𑲲-𑲳𑲵-𑲶𑴱-𑴶𑴺𑴼-𑴽𑴿-𑵅𑵇𑶐-𑶑𑶕𑶗𑻳-𑻴𖫰-𖫴𖬰-𖬶𖾏-𖾒𛲝-𛲞𝅧-𝅩𝅻-𝆂𝆅-𝆋𝆪-𝆭𝉂-𝉄𝨀-𝨶𝨻-𝩬𝩵𝪄𝪛-𝪟𝪡-𝪯𞀀-𞀆𞀈-𞀘𞀛-𞀡𞀣-𞀤𞀦-𞣐𞀪-𞣖𞥄-𞥊󠄀-󠇯u0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9𐒠-𐒩𐴰-𐴹𑁦-𑁯𑃰-𑃹𑄶-𑄿𑇐-𑇙𑋰-𑋹𑑐-𑑙𑓐-𑓙𑙐-𑙙𑛀-𑛉𑜰-𑜹𑣠-𑣩𑱐-𑱙𑵐-𑵙𑶠-𑶩𖩠-𖩩𖭐-𖭙𝟎-𝟿𞥐-𞥙uPᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ𐅀-𐅴𐍁𐍊𐏑-𐏕𒐀-𒑮u²-³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵𐄇-𐄳𐅵-𐅸𐆊-𐆋𐋡-𐋻𐌠-𐌣𐡘-𐡟𐡹-𐡿𐢧-𐢯𐣻-𐣿𐤖-𐤛𐦼-𐦽𐧀-𐧏𐧒-𐧿𐩀-𐩈𐩽-𐩾𐪝-𐪟𐫫-𐫯𐭘-𐭟𐭸-𐭿𐮩-𐮯𐳺-𐳿𐹠-𐹾𐼝-𐼦𐽑-𐽔𑁒-𑁥𑇡-𑇴𑜺-𑜻𑣪-𑣲𑱚-𑱬𖭛-𖭡𖺀-𖺖𝋠-𝋳𝍠-𝍸𞣇-𞣏𞱱-𞲫𞲭-𞲯𞲱-𞲴🄀-🄌u_‿-⁀⁔︳-︴﹍-﹏_u<\-֊־᐀᠆‐-―⸗⸚⸺-⸻⹀〜〰゠︱-︲﹘﹣-u)\]}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩〉》」』】〕〗〙〛〞-〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」u»’”›⸃⸅⸊⸍⸝⸡u$«‘‛-“‟‹⸂⸄⸉⸌⸜⸠u!-#%-'*,.-/:-;?-@\\¡§¶-·¿;·՚-՟։׀׃׆׳-״؉-؊،-؍؛؞-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।-॥॰৽੶૰಄෴๏๚-๛༄-༒༔྅࿐-࿔࿙-࿚၊-၏჻፠-፨᙭-᙮᛫-᛭᜵-᜶។-៖៘-៚᠀-᠅᠇-᠊᥄-᥅᨞-᨟᪠-᪦᪨-᪭᭚-᭠᯼-᯿᰻-᰿᱾-᱿᳀-᳇᳓‖-‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾-⳿⵰⸀-⸁⸆-⸈⸋⸎-⸖⸘-⸙⸛⸞-⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹎、-〃〽・꓾-꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎-꣏꣸-꣺꣼꤮-꤯꥟꧁-꧍꧞-꧟꩜-꩟꫞-꫟꫰-꫱꯫︐-︖︙︰﹅-﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪-﹫!-#%-'*,.-/:-;?-@\。、-・𐄀-𐄂𐎟𐏐𐕯𐡗𐤟𐤿𐩐-𐩘𐩿𐫰-𐫶𐬹-𐬿𐮙-𐮜𐽕-𐽙𑁇-𑁍𑂻-𑂼𑂾-𑃁𑅀-𑅃𑅴-𑅵𑇅-𑇈𑇍𑇛𑇝-𑇟𑈸-𑈽𑊩𑑋-𑑏𑑛𑑝𑓆𑗁-𑗗𑙁-𑙃𑙠-𑙬𑜼-𑜾𑠻𑨿-𑩆𑪚-𑪜𑪞-𑪢𑱁-𑱅𑱰-𑱱𑻷-𑻸𒑰-𒑴𖩮-𖩯𖫵𖬷-𖬻𖭄𖺗-𖺚𛲟𝪇-𝪋𞥞-𞥟u(\[{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「uJ$¢-¥֏؋߾-߿৲-৳৻૱௹฿៛₠-₿꠸﷼﹩$¢-£¥-₩𞲰u\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄-΅᾽᾿-῁῍-῏῝-῟῭-`´-῾゛-゜꜀-꜖꜠-꜡꞉-꞊꭛﮲-﯁^` ̄🏻-🏿u#+<->|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚-↛↠↣↦↮⇎-⇏⇒⇔⇴-⋿⌠-⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𞻰-𞻱u¦©®°҂֍-֎؎-؏۞۩۽-۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎-࿏࿕-࿘႞-႟᎐-᎙᥀᧞-᧿᭡-᭪᭴-᭼℀-℁℃-℆℈-℉℔№-℗℞-℣℥℧℩℮℺-℻⅊⅌-⅍⅏↊-↋↕-↙↜-↟↡-↢↤-↥↧-↭↯-⇍⇐-⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅-⭆⭍-⭳⭶-⮕⮘-⯈⯊-⯾⳥-⳪⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒-〓〠〶-〷〾-〿㆐-㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㋾㌀-㏿䷀-䷿꒐-꓆꠨-꠫꠶-꠷꠹꩷-꩹﷽¦│■-○-�𐄷-𐄿𐅹-𐆉𐆌-𐆎𐆐-𐆛𐆠𐇐-𐇼𐡷-𐡸𐫈𑜿𖬼-𖬿𖭅𛲜𝀀-𝃵𝄀-𝄦𝄩-𝅘𝅥𝅲𝅪-𝅬𝆃-𝆄𝆌-𝆩𝆮-𝇨𝈀-𝉁𝉅𝌀-𝍖𝠀-𝧿𝨷-𝨺𝩭-𝩴𝩶-𝪃𝪅-𝪆𞲬🀀-🀫🀰-🂓🂠-🂮🂱-🂿🃁-🃏🃑-🃵🄐-🅫🅰-🆬🇦-🈂🈐-🈻🉀-🉈🉐-🉑🉠-🉥🌀-🏺🐀-🛔🛠-🛬🛰-🛹🜀-🝳🞀-🟘🠀-🠋🠐-🡇🡐-🡙🡠-🢇🢐-🢭🤀-🤋🤐-🤾🥀-🥰🥳-🥶🥺🥼-🦢🦰-🦹🧀-🧂🧐-🧿🩠-🩭u
u
u    -    uZ0-9A-Z_a-zªµ·ºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶ-ͷͻ-ͽͿΆ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԯԱ-Ֆՙՠ-ֈ֑-ֽֿׁ-ׂׄ-ׇׅא-תׯ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺ߽ࠀ-࠭ࡀ-࡛ࡠ-ࡪࢠ-ࢴࢶ-ࢽ࣓-ࣣ࣡-ॣ०-९ॱ-ঃঅ-ঌএ-ঐও-নপ-রলশ-হ়-ৄে-ৈো-ৎৗড়-ঢ়য়-ৣ০-ৱৼ৾ਁ-ਃਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹ਼ਾ-ੂੇ-ੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલ-ળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ૹ-૿ଁ-ଃଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହ଼-ୄେ-ୈୋ-୍ୖ-ୗଡ଼-ଢ଼ୟ-ୣ୦-୯ୱஂ-ஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఀ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-్ౕ-ౖౘ-ౚౠ-ౣ౦-౯ಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕ-ೖೞೠ-ೣ೦-೯ೱ-ೲഀ-ഃഅ-ഌഎ-ഐഒ-ൄെ-ൈൊ-ൎൔ-ൗൟ-ൣ൦-൯ൺ-ൿං-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-ෳก-ฺเ-๎๐-๙ກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘-༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟፩-፱ᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲ-ᝳក-៓ៗៜ-៝០-៩᠋-᠍᠐-᠙ᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧚ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧ᪰-᪽ᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿ᳐-᳔᳒-᳹ᴀ-᷹᷻-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‿-⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙-゚ゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞹꟷ-ꠧꡀ-ꡳꢀ-ꣅ꣐-꣙꣠-ꣷꣻꣽ-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꧠ-ꧾꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯪ꯬-꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﱝﱤ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷹ︀-️︠-︯︳-︴﹍-﹏ﹱﹳﹷﹹﹻﹽﹿ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ𐀀-𐀋𐀍-𐀦𐀨-𐀺𐀼-𐀽𐀿-𐁍𐁐-𐁝𐂀-𐃺𐅀-𐅴𐇽𐊀-𐊜𐊠-𐋐𐋠𐌀-𐌟𐌭-𐍊𐍐-𐍺𐎀-𐎝𐎠-𐏃𐏈-𐏏𐏑-𐏕𐐀-𐒝𐒠-𐒩𐒰-𐓓𐓘-𐓻𐔀-𐔧𐔰-𐕣𐘀-𐜶𐝀-𐝕𐝠-𐝧𐠀-𐠅𐠈𐠊-𐠵𐠷-𐠸𐠼𐠿-𐡕𐡠-𐡶𐢀-𐢞𐣠-𐣲𐣴-𐣵𐤀-𐤕𐤠-𐤹𐦀-𐦷𐦾-𐦿𐨀-𐨃𐨅-𐨆𐨌-𐨓𐨕-𐨗𐨙-𐨵𐨸-𐨿𐨺𐩠-𐩼𐪀-𐪜𐫀-𐫇𐫉-𐫦𐬀-𐬵𐭀-𐭕𐭠-𐭲𐮀-𐮑𐰀-𐱈𐲀-𐲲𐳀-𐳲𐴀-𐴧𐴰-𐴹𐼀-𐼜𐼧𐼰-𐽐𑀀-𑁆𑁦-𑁯𑁿-𑂺𑃐-𑃨𑃰-𑃹𑄀-𑄴𑄶-𑄿𑅄-𑅆𑅐-𑅳𑅶𑆀-𑇄𑇉-𑇌𑇐-𑇚𑇜𑈀-𑈑𑈓-𑈷𑈾𑊀-𑊆𑊈𑊊-𑊍𑊏-𑊝𑊟-𑊨𑊰-𑋪𑋰-𑋹𑌀-𑌃𑌅-𑌌𑌏-𑌐𑌓-𑌨𑌪-𑌰𑌲-𑌳𑌵-𑌹𑌻-𑍄𑍇-𑍈𑍋-𑍍𑍐𑍗𑍝-𑍣𑍦-𑍬𑍰-𑍴𑐀-𑑊𑑐-𑑙𑑞𑒀-𑓅𑓇𑓐-𑓙𑖀-𑖵𑖸-𑗀𑗘-𑗝𑘀-𑙀𑙄𑙐-𑙙𑚀-𑚷𑛀-𑛉𑜀-𑜚𑜝-𑜫𑜰-𑜹𑠀-𑠺𑢠-𑣩𑣿𑨀-𑨾𑩇𑩐-𑪃𑪆-𑪙𑪝𑫀-𑫸𑰀-𑰈𑰊-𑰶𑰸-𑱀𑱐-𑱙𑱲-𑲏𑲒-𑲧𑲩-𑲶𑴀-𑴆𑴈-𑴉𑴋-𑴶𑴺𑴼-𑴽𑴿-𑵇𑵐-𑵙𑵠-𑵥𑵧-𑵨𑵪-𑶎𑶐-𑶑𑶓-𑶘𑶠-𑶩𑻠-𑻶𒀀-𒎙𒐀-𒑮𒒀-𒕃𓀀-𓐮𔐀-𔙆𖠀-𖨸𖩀-𖩞𖩠-𖩩𖫐-𖫭𖫰-𖫴𖬀-𖬶𖭀-𖭃𖭐-𖭙𖭣-𖭷𖭽-𖮏𖹀-𖹿𖼀-𖽄𖽐-𖽾𖾏-𖾟𖿠-𖿡𗀀-𘟱𘠀-𘫲𛀀-𛄞𛅰-𛋻𛰀-𛱪𛱰-𛱼𛲀-𛲈𛲐-𛲙𛲝-𛲞𝅥-𝅩𝅭-𝅲𝅻-𝆂𝆅-𝆋𝆪-𝆭𝉂-𝉄𝐀-𝑔𝑖-𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒹𝒻𝒽-𝓃𝓅-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔞-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕒-𝚥𝚨-𝛀𝛂-𝛚𝛜-𝛺𝛼-𝜔𝜖-𝜴𝜶-𝝎𝝐-𝝮𝝰-𝞈𝞊-𝞨𝞪-𝟂𝟄-𝟋𝟎-𝟿𝨀-𝨶𝨻-𝩬𝩵𝪄𝪛-𝪟𝪡-𝪯𞀀-𞀆𞀈-𞀘𞀛-𞀡𞀣-𞀤𞀦-𞀪𞠀-𞣄𞣐-𞣖𞤀-𞥊𞥐-𞥙𞸀-𞸃𞸅-𞸟𞸡-𞸢𞸤𞸧𞸩-𞸲𞸴-𞸷𞸹𞸻𞹂𞹇𞹉𞹋𞹍-𞹏𞹑-𞹒𞹔𞹗𞹙𞹛𞹝𞹟𞹡-𞹢𞹤𞹧-𞹪𞹬-𞹲𞹴-𞹷𞹹-𞹼𞹾𞺀-𞺉𞺋-𞺛𞺡-𞺣𞺥-𞺩𞺫-𞺻𠀀-𪛖𪜀-𫜴𫝀-𫠝𫠠-𬺡𬺰-𮯠丽-𪘀󠄀-󠇯uA-Z_a-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶ-ͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮ-ٯٱ-ۓەۥ-ۦۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴ-ߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএ-ঐও-নপ-রলশ-হঽৎড়-ঢ়য়-ৡৰ-ৱৼਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલ-ળવ-હઽૐૠ-ૡૹଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହଽଡ଼-ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠ-ౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠ-ೡೱ-ೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาเ-ๆກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ະາຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥ-ၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮ-ᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳱᳵ-ᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪ-ꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞹꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽ-ꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﱝﱤ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷹﹱﹳﹷﹹﹻﹽﹿ-ﻼA-Za-zヲ-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ𐀀-𐀋𐀍-𐀦𐀨-𐀺𐀼-𐀽𐀿-𐁍𐁐-𐁝𐂀-𐃺𐅀-𐅴𐊀-𐊜𐊠-𐋐𐌀-𐌟𐌭-𐍊𐍐-𐍵𐎀-𐎝𐎠-𐏃𐏈-𐏏𐏑-𐏕𐐀-𐒝𐒰-𐓓𐓘-𐓻𐔀-𐔧𐔰-𐕣𐘀-𐜶𐝀-𐝕𐝠-𐝧𐠀-𐠅𐠈𐠊-𐠵𐠷-𐠸𐠼𐠿-𐡕𐡠-𐡶𐢀-𐢞𐣠-𐣲𐣴-𐣵𐤀-𐤕𐤠-𐤹𐦀-𐦷𐦾-𐦿𐨀𐨐-𐨓𐨕-𐨗𐨙-𐨵𐩠-𐩼𐪀-𐪜𐫀-𐫇𐫉-𐫤𐬀-𐬵𐭀-𐭕𐭠-𐭲𐮀-𐮑𐰀-𐱈𐲀-𐲲𐳀-𐳲𐴀-𐴣𐼀-𐼜𐼧𐼰-𐽅𑀃-𑀷𑂃-𑂯𑃐-𑃨𑄃-𑄦𑅄𑅐-𑅲𑅶𑆃-𑆲𑇁-𑇄𑇚𑇜𑈀-𑈑𑈓-𑈫𑊀-𑊆𑊈𑊊-𑊍𑊏-𑊝𑊟-𑊨𑊰-𑋞𑌅-𑌌𑌏-𑌐𑌓-𑌨𑌪-𑌰𑌲-𑌳𑌵-𑌹𑌽𑍐𑍝-𑍡𑐀-𑐴𑑇-𑑊𑒀-𑒯𑓄-𑓅𑓇𑖀-𑖮𑗘-𑗛𑘀-𑘯𑙄𑚀-𑚪𑜀-𑜚𑠀-𑠫𑢠-𑣟𑣿𑨀𑨋-𑨲𑨺𑩐𑩜-𑪃𑪆-𑪉𑪝𑫀-𑫸𑰀-𑰈𑰊-𑰮𑱀𑱲-𑲏𑴀-𑴆𑴈-𑴉𑴋-𑴰𑵆𑵠-𑵥𑵧-𑵨𑵪-𑶉𑶘𑻠-𑻲𒀀-𒎙𒐀-𒑮𒒀-𒕃𓀀-𓐮𔐀-𔙆𖠀-𖨸𖩀-𖩞𖫐-𖫭𖬀-𖬯𖭀-𖭃𖭣-𖭷𖭽-𖮏𖹀-𖹿𖼀-𖽄𖽐𖾓-𖾟𖿠-𖿡𗀀-𘟱𘠀-𘫲𛀀-𛄞𛅰-𛋻𛰀-𛱪𛱰-𛱼𛲀-𛲈𛲐-𛲙𝐀-𝑔𝑖-𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒹𝒻𝒽-𝓃𝓅-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔞-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕒-𝚥𝚨-𝛀𝛂-𝛚𝛜-𝛺𝛼-𝜔𝜖-𝜴𝜶-𝝎𝝐-𝝮𝝰-𝞈𝞊-𝞨𝞪-𝟂𝟄-𝟋𞠀-𞣄𞤀-𞥃𞸀-𞸃𞸅-𞸟𞸡-𞸢𞸤𞸧𞸩-𞸲𞸴-𞸷𞸹𞸻𞹂𞹇𞹉𞹋𞹍-𞹏𞹑-𞹒𞹔𞹗𞹙𞹛𞹝𞹟𞹡-𞹢𞹤𞹧-𞹪𞹬-𞹲𞹴-𞹷𞹹-𞹼𞹾𞺀-𞺉𞺋-𞺛𞺡-𞺣𞺥-𞺩𞺫-𞺻𠀀-𪛖𪜀-𫜴𫝀-𫠝𫠠-𬺡𬺰-𮯠丽-𪘀)CcCfCnCoCsLlLmLoLtLuMcMeMnNdNlNoPcPdPePfPiPoPsScSkSmSoZlZpZsc@dd|DS)Nc3>K|]}t|VdSNglobals.0cats o/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/unistring.py zcombine..Ss*22c799S>222222)join)argss r)combiner.Rs# 7722T222 2 22r+ctdd}|D]}||dd|DS)Nr!c3>K|]}t|VdSr#r$r&s r)r*zallexcept..Zs*55c799S>555555r+)catsremover,)r-newcatsargs r) allexceptr5VsT111gGs 7755W555 5 55r+c#^Kg}|D]}t|dkr]|rC|ddtt|dz kr|dd|f|d<Z|||fr|||f|D]\}}||kr|V|d|VdS)N-)lenchrordappend) char_listbufcabs r) _handle_runsrD]s C  q66Q;; #s2wqzSQ]]22r71:q/B Aq6"""" JJ1v    1 66GGGG****     r+__main__r9N) xid_start xid_continuezutf-8)encodingzCc =z def combine(ii\)-[\]^rFrBrGwr!z = z zcats = z# Generated from unidata )@__doc__rrrrrrrr r r r r rrrrrrrrrrrrrrrrrrrGrFr1r.r5rD__name__ unicodedata categoriesopen__file__fpreadcontentfindheaderfooterrangecoder<rAcategoryr(r= setdefaultr> isidentifierwritesortedr,valr2unidata_versionr+r)rfss  [BM>)HKW[hXUId AD@Cor;rANm }_^M @&  1Zc  AE |||333666" z!266J h ) ) )R''))*gll6*** +F W\\.1122 3Fh11 CII"k"1%% 3q66V  qAA SVV5 5 5qAc2&&--a000 >>   . { # * *1 - - - !G ! ! # # 1 ~ & - -a 0 0 0 hg . . ." 6*%% - -C'',,z#7788C HH+++++ , , , ,vj!! K    N### '4'''((( N[-HNNNOOO ;s%-BBB;C$J,,J03J0__pycache__/util.cpython-311.pyc000064400000036711150044141150012436 0ustar00 ]bg/'dZddlZddlmZejdZejdejejzejzZ ejdej ejzejzZ ejdej Z Gdd eZGd d eZd"d Zd#dZd#dZd#dZdZdZdZdZdZiZdZdZd$dZd%dZGddZ dZ!dZ"dZ#Gd d!eZ$dS)&z pygments.util ~~~~~~~~~~~~~ Utility functions. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) TextIOWrapperz[/\\ ]z ]*> z<(.+?)(\s.*?)?>.*?z\s*<\?xml[^>]*\?>ceZdZdZdS) ClassNotFoundzCRaised if one of the lookup functions didn't find a matching class.N__name__ __module__ __qualname____doc__j/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/util.pyrrsMMMMr rceZdZdZdS) OptionErrorz This exception will be raised by all option processing functions if the type or value of the argument is not correct. Nrr r r rr"sr rFc |||}|r|}||vrItd|dt t ||S)z} If the key `optname` from the dictionary is not in the sequence `allowed`, raise an error, otherwise return it. z%Value for option {} must be one of {}z, )getlowerrformatjoinmapstr)optionsoptnamealloweddefaultnormcasestrings r get_choice_optr(sw [[' * *F  WAHHRVR[R[\_`cel\m\mRnRnooppp Mr c|||}t|tr|St|trt|St|tst d|d|d|dvrdS|dvrdSt d|d|d) a@ Intuitively, this is `options.get(optname, default)`, but restricted to Boolean value. The Booleans can be represented as string, in order to accept Boolean value from the command line arguments. If the key `optname` is present in the dictionary `options` and is not associated with a Boolean, raise an `OptionError`. If it is absent, `default` is returned instead. The valid string values for ``True`` are ``1``, ``yes``, ``true`` and ``on``, the ones for ``False`` are ``0``, ``no``, ``false`` and ``off`` (matched case-insensitively). Invalid type for option z%; use 1/0, yes/no, true/false, on/off)1yestrueonT)0nofalseoffFInvalid value )r isinstanceboolintrrrrrrrs r get_bool_optr.5s[[' * *F&$ = FC =F||  $ $ =<&<<<<<== = 5 5 5t 6 6 6u<6<<<<<== =r c|||} t|S#t$rtd|d|dt$rtd|d|dwxYw)z?As :func:`get_bool_opt`, but interpret the value as an integer.rr z ; you must give an integer valuer))rr, TypeErrorr ValueErrorr-s r get_int_optr2Rs [[' * *F86{{ 8887&7777788 8 888767777788 88s 'AA'c|||}t|tr|St|tt frt |St d|d|d)z If the key `optname` from the dictionary `options` is a string, split it at whitespace and return it. If it is already a list or a tuple, it is returned as a list. rr z; you must give a list value)rr*rsplitlisttupler)rrrvals r get_list_optr8^s ++gw ' 'C#s4yy{{ C$ ' '4Cyy3#33W33344 4r c@|jsdSg}|jD]A}|r+|d|zAd|S)N )r strip splitlinesappendrlstrip)objreslines r docstring_headlinerCns ;r C !!##..00 ::<<  JJsTZZ\\) * * * *  773<<    r cDfd}j|_t|S)zAReturn a static text analyser function that returns float values.c  |}n#t$rYdSwxYw|sdS tdtdt|S#tt f$rYdSwxYw)Ngg?) Exceptionminmaxfloatr1r0)textrvfs r text_analysez%make_analysator..text_analyse|s 4BB   33  3 sCU2YY//00 0I&   33 s  *AA%$A%)r staticmethod)rLrMs` r make_analysatorrOzs6     9L  % %%r c|d}|dkr|d|}n|}|dr dt|ddDd}n#t $rYdSwxYwtjd |d tj }| |d SdS) aCheck if the given regular expression matches the last part of the shebang if one exists. >>> from pygments.util import shebang_matches >>> shebang_matches('#!/usr/bin/env python', r'python(2\.\d)?') True >>> shebang_matches('#!/usr/bin/python2.4', r'python(2\.\d)?') True >>> shebang_matches('#!/usr/bin/python-ruby', r'python(2\.\d)?') False >>> shebang_matches('#!/usr/bin/python/ruby', r'python(2\.\d)?') False >>> shebang_matches('#!/usr/bin/startsomethingwith python', ... r'python(2\.\d)?') True It also checks for common windows executable file extensions:: >>> shebang_matches('#!C:\\Python2.4\\Python.exe', r'python(2\.\d)?') True Parameters (``'-f'`` or ``'--foo'`` are ignored so ``'perl'`` does the same as ``'perl -e'``) Note that this method automatically searches the whole string (eg: the regular expression is wrapped in ``'^$'``)  rNz#!c@g|]}||d|S)-) startswith).0xs r z#shebang_matches..s@55515"#,,s"3"35Q555r F^z(\.(exe|cmd|bat|bin))?$T) findrrT split_path_rer4r< IndexErrorrecompile IGNORECASEsearch)rJregexindex first_linefounds r shebang_matchesrfs8 IIdOOE zz&5&\'')) ZZ\\ T"" 55 3 3JqrrN4H4H4J4J K K555579EE   55  >>>> NN <<   *4 5s#AB(( B65B6ct|}|dS|d}tj|tj|duS)zCheck if the doctype matches a regular expression (if present). Note that this method only checks the first part of a DOCTYPE. eg: 'html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"' NF)doctype_lookup_reragroupr^r_Imatchr<)rJrbmdoctypes r doctype_matchesros_   &&AyuggajjG :eRT " " ( ( 9 9 EEr c"t|dS)z3Check if the file looks like it has a html doctype.html)ro)rJs r html_doctype_matchesrrs 4 ) ))r c2t|rdSt|} t|S#t$rRt |}|YdSt|dddu}|t|<|cYSwxYw)z2Check if a doctype exists or if we have some tags.TNi) xml_decl_rerlhash_looks_like_xml_cacheKeyErrorriratag_re)rJkeyrmrKs r looks_like_xmlrzst t**C$S))   $ $T * * =44 ]]4; ' 't 3%'c" s :&B#0BBc"d|dz zd|dzzfS)zoGiven a unicode character code with length greater than 16 bits, return the two 16 bit surrogate pair. i iir )cs r surrogatepairr~s! a2g 1u9!5 77r cg}d|zdz}d|dzzdz}|||zdz|r!|D]}|||zdznC|D]@}t|dz}|||ddz|d zdzA||d zd |S) z)Formats a sequence of strings for output.r;rhz = (,"NrY)rQ)r>reprr) var_nameseqraw indent_levellines base_indent inner_indentirs r format_linesrs E $q(K,*+a/L LLx'&0111 > 1 1A LL)C/ 0 0 0 0 1 > >AQW A LL#2#.26< = = = = LLs"### 99U  r r cg}t}|D]5}||vs||vr ||||6|S)za Returns a list with duplicates removed from the iterable `it`. Order is preserved. )setr>add)it already_seenlstseenrs r duplicates_removedrs\ C 55D  99\))  1   Jr ceZdZdZdZdS)FuturezGeneric class to defer some work. Handled specially in RegexLexerMeta, to support regex string construction at first use. ctN)NotImplementedErrorselfs r rz Future.gets!!r N)rrr r rr r r rr s- """""r rc |d}|dfS#t$rf ddl}|}|}||fcYS#ttf$r|d}|dfcYcYSwxYwwxYw)zDecode *text* with guessed encoding. First try UTF-8; this should fail for non-UTF-8 encodings. Then try the preferred locale encoding. Fall back to latin-1, which always works. zutf-8rNlatin1)decodeUnicodeDecodeErrorlocalegetpreferredencoding LookupError)rJr prefencodings r guess_decoders "{{7##W} """ " MMM!6688L;;==D% % % %"K0 " " ";;x((D> ! ! ! ! ! " "s, B /AB *BB BB ct|ddr4 ||j}||jfS#t$rYnwxYwt |S)zDecode *text* coming from terminal *term*. First try the terminal encoding, if given. Then try UTF-8. Then try the preferred locale encoding. Fall back to latin-1, which always works. encodingN)getattrrrrr)rJterms r guess_decode_from_terminalr(sqtZ&&' ';;t}--D& &"    D    s6 AAcbt|ddr|jSddl}|S)z7Return our best guess of encoding for the given *term*.rNr)rrrr)rrs r terminal_encodingr9s9tZ&&}MMM  & & ( ((r ceZdZdZdS)UnclosingTextIOWrapperc.|dSr)flushrs r closezUnclosingTextIOWrapper.closeCs r N)rrr rr r r rrAs#r r)NFr)Fr)r )%r r^iorr_r\DOTALL MULTILINEVERBOSErir`rxrkrtr1rrFrrr.r2r8rCrOrfrorrrvrzr~rrrrrrrr r r rs  9%% BJ Y *,, /MBI- < > >bj-rt44 NNNNNJNNN)    ====: 8 8 8 8 4 4 4 4 ! ! !&&&"***Z F F F***     888&     """""""""""*")))]r cmdline.py000064400000056150150044141150006533 0ustar00""" pygments.cmdline ~~~~~~~~~~~~~~~~ Command line interface. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import sys import shutil import argparse from textwrap import dedent from pip._vendor.pygments import __version__, highlight from pip._vendor.pygments.util import ClassNotFound, OptionError, docstring_headline, \ guess_decode, guess_decode_from_terminal, terminal_encoding, \ UnclosingTextIOWrapper from pip._vendor.pygments.lexers import get_all_lexers, get_lexer_by_name, guess_lexer, \ load_lexer_from_file, get_lexer_for_filename, find_lexer_class_for_filename from pip._vendor.pygments.lexers.special import TextLexer from pip._vendor.pygments.formatters.latex import LatexEmbeddedLexer, LatexFormatter from pip._vendor.pygments.formatters import get_all_formatters, get_formatter_by_name, \ load_formatter_from_file, get_formatter_for_filename, find_formatter_class from pip._vendor.pygments.formatters.terminal import TerminalFormatter from pip._vendor.pygments.formatters.terminal256 import Terminal256Formatter, TerminalTrueColorFormatter from pip._vendor.pygments.filters import get_all_filters, find_filter_class from pip._vendor.pygments.styles import get_all_styles, get_style_by_name def _parse_options(o_strs): opts = {} if not o_strs: return opts for o_str in o_strs: if not o_str.strip(): continue o_args = o_str.split(',') for o_arg in o_args: o_arg = o_arg.strip() try: o_key, o_val = o_arg.split('=', 1) o_key = o_key.strip() o_val = o_val.strip() except ValueError: opts[o_arg] = True else: opts[o_key] = o_val return opts def _parse_filters(f_strs): filters = [] if not f_strs: return filters for f_str in f_strs: if ':' in f_str: fname, fopts = f_str.split(':', 1) filters.append((fname, _parse_options([fopts]))) else: filters.append((f_str, {})) return filters def _print_help(what, name): try: if what == 'lexer': cls = get_lexer_by_name(name) print(f"Help on the {cls.name} lexer:") print(dedent(cls.__doc__)) elif what == 'formatter': cls = find_formatter_class(name) print(f"Help on the {cls.name} formatter:") print(dedent(cls.__doc__)) elif what == 'filter': cls = find_filter_class(name) print(f"Help on the {name} filter:") print(dedent(cls.__doc__)) return 0 except (AttributeError, ValueError): print(f"{what} not found!", file=sys.stderr) return 1 def _print_list(what): if what == 'lexer': print() print("Lexers:") print("~~~~~~~") info = [] for fullname, names, exts, _ in get_all_lexers(): tup = (', '.join(names)+':', fullname, exts and '(filenames ' + ', '.join(exts) + ')' or '') info.append(tup) info.sort() for i in info: print(('* {}\n {} {}').format(*i)) elif what == 'formatter': print() print("Formatters:") print("~~~~~~~~~~~") info = [] for cls in get_all_formatters(): doc = docstring_headline(cls) tup = (', '.join(cls.aliases) + ':', doc, cls.filenames and '(filenames ' + ', '.join(cls.filenames) + ')' or '') info.append(tup) info.sort() for i in info: print(('* {}\n {} {}').format(*i)) elif what == 'filter': print() print("Filters:") print("~~~~~~~~") for name in get_all_filters(): cls = find_filter_class(name) print("* " + name + ':') print(f" {docstring_headline(cls)}") elif what == 'style': print() print("Styles:") print("~~~~~~~") for name in get_all_styles(): cls = get_style_by_name(name) print("* " + name + ':') print(f" {docstring_headline(cls)}") def _print_list_as_json(requested_items): import json result = {} if 'lexer' in requested_items: info = {} for fullname, names, filenames, mimetypes in get_all_lexers(): info[fullname] = { 'aliases': names, 'filenames': filenames, 'mimetypes': mimetypes } result['lexers'] = info if 'formatter' in requested_items: info = {} for cls in get_all_formatters(): doc = docstring_headline(cls) info[cls.name] = { 'aliases': cls.aliases, 'filenames': cls.filenames, 'doc': doc } result['formatters'] = info if 'filter' in requested_items: info = {} for name in get_all_filters(): cls = find_filter_class(name) info[name] = { 'doc': docstring_headline(cls) } result['filters'] = info if 'style' in requested_items: info = {} for name in get_all_styles(): cls = get_style_by_name(name) info[name] = { 'doc': docstring_headline(cls) } result['styles'] = info json.dump(result, sys.stdout) def main_inner(parser, argns): if argns.help: parser.print_help() return 0 if argns.V: print(f'Pygments version {__version__}, (c) 2006-2024 by Georg Brandl, Matthäus ' 'Chajdas and contributors.') return 0 def is_only_option(opt): return not any(v for (k, v) in vars(argns).items() if k != opt) # handle ``pygmentize -L`` if argns.L is not None: arg_set = set() for k, v in vars(argns).items(): if v: arg_set.add(k) arg_set.discard('L') arg_set.discard('json') if arg_set: parser.print_help(sys.stderr) return 2 # print version if not argns.json: main(['', '-V']) allowed_types = {'lexer', 'formatter', 'filter', 'style'} largs = [arg.rstrip('s') for arg in argns.L] if any(arg not in allowed_types for arg in largs): parser.print_help(sys.stderr) return 0 if not largs: largs = allowed_types if not argns.json: for arg in largs: _print_list(arg) else: _print_list_as_json(largs) return 0 # handle ``pygmentize -H`` if argns.H: if not is_only_option('H'): parser.print_help(sys.stderr) return 2 what, name = argns.H if what not in ('lexer', 'formatter', 'filter'): parser.print_help(sys.stderr) return 2 return _print_help(what, name) # parse -O options parsed_opts = _parse_options(argns.O or []) # parse -P options for p_opt in argns.P or []: try: name, value = p_opt.split('=', 1) except ValueError: parsed_opts[p_opt] = True else: parsed_opts[name] = value # encodings inencoding = parsed_opts.get('inencoding', parsed_opts.get('encoding')) outencoding = parsed_opts.get('outencoding', parsed_opts.get('encoding')) # handle ``pygmentize -N`` if argns.N: lexer = find_lexer_class_for_filename(argns.N) if lexer is None: lexer = TextLexer print(lexer.aliases[0]) return 0 # handle ``pygmentize -C`` if argns.C: inp = sys.stdin.buffer.read() try: lexer = guess_lexer(inp, inencoding=inencoding) except ClassNotFound: lexer = TextLexer print(lexer.aliases[0]) return 0 # handle ``pygmentize -S`` S_opt = argns.S a_opt = argns.a if S_opt is not None: f_opt = argns.f if not f_opt: parser.print_help(sys.stderr) return 2 if argns.l or argns.INPUTFILE: parser.print_help(sys.stderr) return 2 try: parsed_opts['style'] = S_opt fmter = get_formatter_by_name(f_opt, **parsed_opts) except ClassNotFound as err: print(err, file=sys.stderr) return 1 print(fmter.get_style_defs(a_opt or '')) return 0 # if no -S is given, -a is not allowed if argns.a is not None: parser.print_help(sys.stderr) return 2 # parse -F options F_opts = _parse_filters(argns.F or []) # -x: allow custom (eXternal) lexers and formatters allow_custom_lexer_formatter = bool(argns.x) # select lexer lexer = None # given by name? lexername = argns.l if lexername: # custom lexer, located relative to user's cwd if allow_custom_lexer_formatter and '.py' in lexername: try: filename = None name = None if ':' in lexername: filename, name = lexername.rsplit(':', 1) if '.py' in name: # This can happen on Windows: If the lexername is # C:\lexer.py -- return to normal load path in that case name = None if filename and name: lexer = load_lexer_from_file(filename, name, **parsed_opts) else: lexer = load_lexer_from_file(lexername, **parsed_opts) except ClassNotFound as err: print('Error:', err, file=sys.stderr) return 1 else: try: lexer = get_lexer_by_name(lexername, **parsed_opts) except (OptionError, ClassNotFound) as err: print('Error:', err, file=sys.stderr) return 1 # read input code code = None if argns.INPUTFILE: if argns.s: print('Error: -s option not usable when input file specified', file=sys.stderr) return 2 infn = argns.INPUTFILE try: with open(infn, 'rb') as infp: code = infp.read() except Exception as err: print('Error: cannot read infile:', err, file=sys.stderr) return 1 if not inencoding: code, inencoding = guess_decode(code) # do we have to guess the lexer? if not lexer: try: lexer = get_lexer_for_filename(infn, code, **parsed_opts) except ClassNotFound as err: if argns.g: try: lexer = guess_lexer(code, **parsed_opts) except ClassNotFound: lexer = TextLexer(**parsed_opts) else: print('Error:', err, file=sys.stderr) return 1 except OptionError as err: print('Error:', err, file=sys.stderr) return 1 elif not argns.s: # treat stdin as full file (-s support is later) # read code from terminal, always in binary mode since we want to # decode ourselves and be tolerant with it code = sys.stdin.buffer.read() # use .buffer to get a binary stream if not inencoding: code, inencoding = guess_decode_from_terminal(code, sys.stdin) # else the lexer will do the decoding if not lexer: try: lexer = guess_lexer(code, **parsed_opts) except ClassNotFound: lexer = TextLexer(**parsed_opts) else: # -s option needs a lexer with -l if not lexer: print('Error: when using -s a lexer has to be selected with -l', file=sys.stderr) return 2 # process filters for fname, fopts in F_opts: try: lexer.add_filter(fname, **fopts) except ClassNotFound as err: print('Error:', err, file=sys.stderr) return 1 # select formatter outfn = argns.o fmter = argns.f if fmter: # custom formatter, located relative to user's cwd if allow_custom_lexer_formatter and '.py' in fmter: try: filename = None name = None if ':' in fmter: # Same logic as above for custom lexer filename, name = fmter.rsplit(':', 1) if '.py' in name: name = None if filename and name: fmter = load_formatter_from_file(filename, name, **parsed_opts) else: fmter = load_formatter_from_file(fmter, **parsed_opts) except ClassNotFound as err: print('Error:', err, file=sys.stderr) return 1 else: try: fmter = get_formatter_by_name(fmter, **parsed_opts) except (OptionError, ClassNotFound) as err: print('Error:', err, file=sys.stderr) return 1 if outfn: if not fmter: try: fmter = get_formatter_for_filename(outfn, **parsed_opts) except (OptionError, ClassNotFound) as err: print('Error:', err, file=sys.stderr) return 1 try: outfile = open(outfn, 'wb') except Exception as err: print('Error: cannot open outfile:', err, file=sys.stderr) return 1 else: if not fmter: if os.environ.get('COLORTERM','') in ('truecolor', '24bit'): fmter = TerminalTrueColorFormatter(**parsed_opts) elif '256' in os.environ.get('TERM', ''): fmter = Terminal256Formatter(**parsed_opts) else: fmter = TerminalFormatter(**parsed_opts) outfile = sys.stdout.buffer # determine output encoding if not explicitly selected if not outencoding: if outfn: # output file? use lexer encoding for now (can still be None) fmter.encoding = inencoding else: # else use terminal encoding fmter.encoding = terminal_encoding(sys.stdout) # provide coloring under Windows, if possible if not outfn and sys.platform in ('win32', 'cygwin') and \ fmter.name in ('Terminal', 'Terminal256'): # pragma: no cover # unfortunately colorama doesn't support binary streams on Py3 outfile = UnclosingTextIOWrapper(outfile, encoding=fmter.encoding) fmter.encoding = None try: import colorama.initialise except ImportError: pass else: outfile = colorama.initialise.wrap_stream( outfile, convert=None, strip=None, autoreset=False, wrap=True) # When using the LaTeX formatter and the option `escapeinside` is # specified, we need a special lexer which collects escaped text # before running the chosen language lexer. escapeinside = parsed_opts.get('escapeinside', '') if len(escapeinside) == 2 and isinstance(fmter, LatexFormatter): left = escapeinside[0] right = escapeinside[1] lexer = LatexEmbeddedLexer(left, right, lexer) # ... and do it! if not argns.s: # process whole input as per normal... try: highlight(code, lexer, fmter, outfile) finally: if outfn: outfile.close() return 0 else: # line by line processing of stdin (eg: for 'tail -f')... try: while 1: line = sys.stdin.buffer.readline() if not line: break if not inencoding: line = guess_decode_from_terminal(line, sys.stdin)[0] highlight(line, lexer, fmter, outfile) if hasattr(outfile, 'flush'): outfile.flush() return 0 except KeyboardInterrupt: # pragma: no cover return 0 finally: if outfn: outfile.close() class HelpFormatter(argparse.HelpFormatter): def __init__(self, prog, indent_increment=2, max_help_position=16, width=None): if width is None: try: width = shutil.get_terminal_size().columns - 2 except Exception: pass argparse.HelpFormatter.__init__(self, prog, indent_increment, max_help_position, width) def main(args=sys.argv): """ Main command line entry point. """ desc = "Highlight an input file and write the result to an output file." parser = argparse.ArgumentParser(description=desc, add_help=False, formatter_class=HelpFormatter) operation = parser.add_argument_group('Main operation') lexersel = operation.add_mutually_exclusive_group() lexersel.add_argument( '-l', metavar='LEXER', help='Specify the lexer to use. (Query names with -L.) If not ' 'given and -g is not present, the lexer is guessed from the filename.') lexersel.add_argument( '-g', action='store_true', help='Guess the lexer from the file contents, or pass through ' 'as plain text if nothing can be guessed.') operation.add_argument( '-F', metavar='FILTER[:options]', action='append', help='Add a filter to the token stream. (Query names with -L.) ' 'Filter options are given after a colon if necessary.') operation.add_argument( '-f', metavar='FORMATTER', help='Specify the formatter to use. (Query names with -L.) ' 'If not given, the formatter is guessed from the output filename, ' 'and defaults to the terminal formatter if the output is to the ' 'terminal or an unknown file extension.') operation.add_argument( '-O', metavar='OPTION=value[,OPTION=value,...]', action='append', help='Give options to the lexer and formatter as a comma-separated ' 'list of key-value pairs. ' 'Example: `-O bg=light,python=cool`.') operation.add_argument( '-P', metavar='OPTION=value', action='append', help='Give a single option to the lexer and formatter - with this ' 'you can pass options whose value contains commas and equal signs. ' 'Example: `-P "heading=Pygments, the Python highlighter"`.') operation.add_argument( '-o', metavar='OUTPUTFILE', help='Where to write the output. Defaults to standard output.') operation.add_argument( 'INPUTFILE', nargs='?', help='Where to read the input. Defaults to standard input.') flags = parser.add_argument_group('Operation flags') flags.add_argument( '-v', action='store_true', help='Print a detailed traceback on unhandled exceptions, which ' 'is useful for debugging and bug reports.') flags.add_argument( '-s', action='store_true', help='Process lines one at a time until EOF, rather than waiting to ' 'process the entire file. This only works for stdin, only for lexers ' 'with no line-spanning constructs, and is intended for streaming ' 'input such as you get from `tail -f`. ' 'Example usage: `tail -f sql.log | pygmentize -s -l sql`.') flags.add_argument( '-x', action='store_true', help='Allow custom lexers and formatters to be loaded from a .py file ' 'relative to the current working directory. For example, ' '`-l ./customlexer.py -x`. By default, this option expects a file ' 'with a class named CustomLexer or CustomFormatter; you can also ' 'specify your own class name with a colon (`-l ./lexer.py:MyLexer`). ' 'Users should be very careful not to use this option with untrusted ' 'files, because it will import and run them.') flags.add_argument('--json', help='Output as JSON. This can ' 'be only used in conjunction with -L.', default=False, action='store_true') special_modes_group = parser.add_argument_group( 'Special modes - do not do any highlighting') special_modes = special_modes_group.add_mutually_exclusive_group() special_modes.add_argument( '-S', metavar='STYLE -f formatter', help='Print style definitions for STYLE for a formatter ' 'given with -f. The argument given by -a is formatter ' 'dependent.') special_modes.add_argument( '-L', nargs='*', metavar='WHAT', help='List lexers, formatters, styles or filters -- ' 'give additional arguments for the thing(s) you want to list ' '(e.g. "styles"), or omit them to list everything.') special_modes.add_argument( '-N', metavar='FILENAME', help='Guess and print out a lexer name based solely on the given ' 'filename. Does not take input or highlight anything. If no specific ' 'lexer can be determined, "text" is printed.') special_modes.add_argument( '-C', action='store_true', help='Like -N, but print out a lexer name based solely on ' 'a given content from standard input.') special_modes.add_argument( '-H', action='store', nargs=2, metavar=('NAME', 'TYPE'), help='Print detailed help for the object of type , ' 'where is one of "lexer", "formatter" or "filter".') special_modes.add_argument( '-V', action='store_true', help='Print the package version.') special_modes.add_argument( '-h', '--help', action='store_true', help='Print this help.') special_modes_group.add_argument( '-a', metavar='ARG', help='Formatter-specific additional argument for the -S (print ' 'style sheet) mode.') argns = parser.parse_args(args[1:]) try: return main_inner(parser, argns) except BrokenPipeError: # someone closed our stdout, e.g. by quitting a pager. return 0 except Exception: if argns.v: print(file=sys.stderr) print('*' * 65, file=sys.stderr) print('An unhandled exception occurred while highlighting.', file=sys.stderr) print('Please report the whole traceback to the issue tracker at', file=sys.stderr) print('.', file=sys.stderr) print('*' * 65, file=sys.stderr) print(file=sys.stderr) raise import traceback info = traceback.format_exception(*sys.exc_info()) msg = info[-1].strip() if len(info) >= 3: # extract relevant file and position info msg += '\n (f{})'.format(info[-2].split('\n')[0].strip()[1:]) print(file=sys.stderr) print('*** Error while highlighting:', file=sys.stderr) print(msg, file=sys.stderr) print('*** If this is a bug you want to report, please rerun with -v.', file=sys.stderr) return 1 console.py000064400000003266150044141150006562 0ustar00""" pygments.console ~~~~~~~~~~~~~~~~ Format colored console output. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ esc = "\x1b[" codes = {} codes[""] = "" codes["reset"] = esc + "39;49;00m" codes["bold"] = esc + "01m" codes["faint"] = esc + "02m" codes["standout"] = esc + "03m" codes["underline"] = esc + "04m" codes["blink"] = esc + "05m" codes["overline"] = esc + "06m" dark_colors = ["black", "red", "green", "yellow", "blue", "magenta", "cyan", "gray"] light_colors = ["brightblack", "brightred", "brightgreen", "brightyellow", "brightblue", "brightmagenta", "brightcyan", "white"] x = 30 for dark, light in zip(dark_colors, light_colors): codes[dark] = esc + "%im" % x codes[light] = esc + "%im" % (60 + x) x += 1 del dark, light, x codes["white"] = codes["bold"] def reset_color(): return codes["reset"] def colorize(color_key, text): return codes[color_key] + text + codes["reset"] def ansiformat(attr, text): """ Format ``text`` with a color and/or some attributes:: color normal color *color* bold color _color_ underlined color +color+ blinking color """ result = [] if attr[:1] == attr[-1:] == '+': result.append(codes['blink']) attr = attr[1:-1] if attr[:1] == attr[-1:] == '*': result.append(codes['bold']) attr = attr[1:-1] if attr[:1] == attr[-1:] == '_': result.append(codes['underline']) attr = attr[1:-1] result.append(codes[attr]) result.append(text) result.append(codes['reset']) return ''.join(result) filter.py000064400000003566150044141150006410 0ustar00""" pygments.filter ~~~~~~~~~~~~~~~ Module that implements the default filter. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ def apply_filters(stream, filters, lexer=None): """ Use this method to apply an iterable of filters to a stream. If lexer is given it's forwarded to the filter, otherwise the filter receives `None`. """ def _apply(filter_, stream): yield from filter_.filter(lexer, stream) for filter_ in filters: stream = _apply(filter_, stream) return stream def simplefilter(f): """ Decorator that converts a function into a filter:: @simplefilter def lowercase(self, lexer, stream, options): for ttype, value in stream: yield ttype, value.lower() """ return type(f.__name__, (FunctionFilter,), { '__module__': getattr(f, '__module__'), '__doc__': f.__doc__, 'function': f, }) class Filter: """ Default filter. Subclass this class or use the `simplefilter` decorator to create own filters. """ def __init__(self, **options): self.options = options def filter(self, lexer, stream): raise NotImplementedError() class FunctionFilter(Filter): """ Abstract class used by `simplefilter` to create simple function filters on the fly. The `simplefilter` decorator automatically creates subclasses of this class for functions passed to it. """ function = None def __init__(self, **options): if not hasattr(self, 'function'): raise TypeError(f'{self.__class__.__name__!r} used without bound function') Filter.__init__(self, **options) def filter(self, lexer, stream): # pylint: disable=not-callable yield from self.function(lexer, stream, self.options) filters/__init__.py000064400000116710150044141150010326 0ustar00""" pygments.filters ~~~~~~~~~~~~~~~~ Module containing filter lookup functions and default filters. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from pip._vendor.pygments.token import String, Comment, Keyword, Name, Error, Whitespace, \ string_to_tokentype from pip._vendor.pygments.filter import Filter from pip._vendor.pygments.util import get_list_opt, get_int_opt, get_bool_opt, \ get_choice_opt, ClassNotFound, OptionError from pip._vendor.pygments.plugin import find_plugin_filters def find_filter_class(filtername): """Lookup a filter by name. Return None if not found.""" if filtername in FILTERS: return FILTERS[filtername] for name, cls in find_plugin_filters(): if name == filtername: return cls return None def get_filter_by_name(filtername, **options): """Return an instantiated filter. Options are passed to the filter initializer if wanted. Raise a ClassNotFound if not found. """ cls = find_filter_class(filtername) if cls: return cls(**options) else: raise ClassNotFound(f'filter {filtername!r} not found') def get_all_filters(): """Return a generator of all filter names.""" yield from FILTERS for name, _ in find_plugin_filters(): yield name def _replace_special(ttype, value, regex, specialttype, replacefunc=lambda x: x): last = 0 for match in regex.finditer(value): start, end = match.start(), match.end() if start != last: yield ttype, value[last:start] yield specialttype, replacefunc(value[start:end]) last = end if last != len(value): yield ttype, value[last:] class CodeTagFilter(Filter): """Highlight special code tags in comments and docstrings. Options accepted: `codetags` : list of strings A list of strings that are flagged as code tags. The default is to highlight ``XXX``, ``TODO``, ``FIXME``, ``BUG`` and ``NOTE``. .. versionchanged:: 2.13 Now recognizes ``FIXME`` by default. """ def __init__(self, **options): Filter.__init__(self, **options) tags = get_list_opt(options, 'codetags', ['XXX', 'TODO', 'FIXME', 'BUG', 'NOTE']) self.tag_re = re.compile(r'\b({})\b'.format('|'.join([ re.escape(tag) for tag in tags if tag ]))) def filter(self, lexer, stream): regex = self.tag_re for ttype, value in stream: if ttype in String.Doc or \ ttype in Comment and \ ttype not in Comment.Preproc: yield from _replace_special(ttype, value, regex, Comment.Special) else: yield ttype, value class SymbolFilter(Filter): """Convert mathematical symbols such as \\ in Isabelle or \\longrightarrow in LaTeX into Unicode characters. This is mostly useful for HTML or console output when you want to approximate the source rendering you'd see in an IDE. Options accepted: `lang` : string The symbol language. Must be one of ``'isabelle'`` or ``'latex'``. The default is ``'isabelle'``. """ latex_symbols = { '\\alpha' : '\U000003b1', '\\beta' : '\U000003b2', '\\gamma' : '\U000003b3', '\\delta' : '\U000003b4', '\\varepsilon' : '\U000003b5', '\\zeta' : '\U000003b6', '\\eta' : '\U000003b7', '\\vartheta' : '\U000003b8', '\\iota' : '\U000003b9', '\\kappa' : '\U000003ba', '\\lambda' : '\U000003bb', '\\mu' : '\U000003bc', '\\nu' : '\U000003bd', '\\xi' : '\U000003be', '\\pi' : '\U000003c0', '\\varrho' : '\U000003c1', '\\sigma' : '\U000003c3', '\\tau' : '\U000003c4', '\\upsilon' : '\U000003c5', '\\varphi' : '\U000003c6', '\\chi' : '\U000003c7', '\\psi' : '\U000003c8', '\\omega' : '\U000003c9', '\\Gamma' : '\U00000393', '\\Delta' : '\U00000394', '\\Theta' : '\U00000398', '\\Lambda' : '\U0000039b', '\\Xi' : '\U0000039e', '\\Pi' : '\U000003a0', '\\Sigma' : '\U000003a3', '\\Upsilon' : '\U000003a5', '\\Phi' : '\U000003a6', '\\Psi' : '\U000003a8', '\\Omega' : '\U000003a9', '\\leftarrow' : '\U00002190', '\\longleftarrow' : '\U000027f5', '\\rightarrow' : '\U00002192', '\\longrightarrow' : '\U000027f6', '\\Leftarrow' : '\U000021d0', '\\Longleftarrow' : '\U000027f8', '\\Rightarrow' : '\U000021d2', '\\Longrightarrow' : '\U000027f9', '\\leftrightarrow' : '\U00002194', '\\longleftrightarrow' : '\U000027f7', '\\Leftrightarrow' : '\U000021d4', '\\Longleftrightarrow' : '\U000027fa', '\\mapsto' : '\U000021a6', '\\longmapsto' : '\U000027fc', '\\relbar' : '\U00002500', '\\Relbar' : '\U00002550', '\\hookleftarrow' : '\U000021a9', '\\hookrightarrow' : '\U000021aa', '\\leftharpoondown' : '\U000021bd', '\\rightharpoondown' : '\U000021c1', '\\leftharpoonup' : '\U000021bc', '\\rightharpoonup' : '\U000021c0', '\\rightleftharpoons' : '\U000021cc', '\\leadsto' : '\U0000219d', '\\downharpoonleft' : '\U000021c3', '\\downharpoonright' : '\U000021c2', '\\upharpoonleft' : '\U000021bf', '\\upharpoonright' : '\U000021be', '\\restriction' : '\U000021be', '\\uparrow' : '\U00002191', '\\Uparrow' : '\U000021d1', '\\downarrow' : '\U00002193', '\\Downarrow' : '\U000021d3', '\\updownarrow' : '\U00002195', '\\Updownarrow' : '\U000021d5', '\\langle' : '\U000027e8', '\\rangle' : '\U000027e9', '\\lceil' : '\U00002308', '\\rceil' : '\U00002309', '\\lfloor' : '\U0000230a', '\\rfloor' : '\U0000230b', '\\flqq' : '\U000000ab', '\\frqq' : '\U000000bb', '\\bot' : '\U000022a5', '\\top' : '\U000022a4', '\\wedge' : '\U00002227', '\\bigwedge' : '\U000022c0', '\\vee' : '\U00002228', '\\bigvee' : '\U000022c1', '\\forall' : '\U00002200', '\\exists' : '\U00002203', '\\nexists' : '\U00002204', '\\neg' : '\U000000ac', '\\Box' : '\U000025a1', '\\Diamond' : '\U000025c7', '\\vdash' : '\U000022a2', '\\models' : '\U000022a8', '\\dashv' : '\U000022a3', '\\surd' : '\U0000221a', '\\le' : '\U00002264', '\\ge' : '\U00002265', '\\ll' : '\U0000226a', '\\gg' : '\U0000226b', '\\lesssim' : '\U00002272', '\\gtrsim' : '\U00002273', '\\lessapprox' : '\U00002a85', '\\gtrapprox' : '\U00002a86', '\\in' : '\U00002208', '\\notin' : '\U00002209', '\\subset' : '\U00002282', '\\supset' : '\U00002283', '\\subseteq' : '\U00002286', '\\supseteq' : '\U00002287', '\\sqsubset' : '\U0000228f', '\\sqsupset' : '\U00002290', '\\sqsubseteq' : '\U00002291', '\\sqsupseteq' : '\U00002292', '\\cap' : '\U00002229', '\\bigcap' : '\U000022c2', '\\cup' : '\U0000222a', '\\bigcup' : '\U000022c3', '\\sqcup' : '\U00002294', '\\bigsqcup' : '\U00002a06', '\\sqcap' : '\U00002293', '\\Bigsqcap' : '\U00002a05', '\\setminus' : '\U00002216', '\\propto' : '\U0000221d', '\\uplus' : '\U0000228e', '\\bigplus' : '\U00002a04', '\\sim' : '\U0000223c', '\\doteq' : '\U00002250', '\\simeq' : '\U00002243', '\\approx' : '\U00002248', '\\asymp' : '\U0000224d', '\\cong' : '\U00002245', '\\equiv' : '\U00002261', '\\Join' : '\U000022c8', '\\bowtie' : '\U00002a1d', '\\prec' : '\U0000227a', '\\succ' : '\U0000227b', '\\preceq' : '\U0000227c', '\\succeq' : '\U0000227d', '\\parallel' : '\U00002225', '\\mid' : '\U000000a6', '\\pm' : '\U000000b1', '\\mp' : '\U00002213', '\\times' : '\U000000d7', '\\div' : '\U000000f7', '\\cdot' : '\U000022c5', '\\star' : '\U000022c6', '\\circ' : '\U00002218', '\\dagger' : '\U00002020', '\\ddagger' : '\U00002021', '\\lhd' : '\U000022b2', '\\rhd' : '\U000022b3', '\\unlhd' : '\U000022b4', '\\unrhd' : '\U000022b5', '\\triangleleft' : '\U000025c3', '\\triangleright' : '\U000025b9', '\\triangle' : '\U000025b3', '\\triangleq' : '\U0000225c', '\\oplus' : '\U00002295', '\\bigoplus' : '\U00002a01', '\\otimes' : '\U00002297', '\\bigotimes' : '\U00002a02', '\\odot' : '\U00002299', '\\bigodot' : '\U00002a00', '\\ominus' : '\U00002296', '\\oslash' : '\U00002298', '\\dots' : '\U00002026', '\\cdots' : '\U000022ef', '\\sum' : '\U00002211', '\\prod' : '\U0000220f', '\\coprod' : '\U00002210', '\\infty' : '\U0000221e', '\\int' : '\U0000222b', '\\oint' : '\U0000222e', '\\clubsuit' : '\U00002663', '\\diamondsuit' : '\U00002662', '\\heartsuit' : '\U00002661', '\\spadesuit' : '\U00002660', '\\aleph' : '\U00002135', '\\emptyset' : '\U00002205', '\\nabla' : '\U00002207', '\\partial' : '\U00002202', '\\flat' : '\U0000266d', '\\natural' : '\U0000266e', '\\sharp' : '\U0000266f', '\\angle' : '\U00002220', '\\copyright' : '\U000000a9', '\\textregistered' : '\U000000ae', '\\textonequarter' : '\U000000bc', '\\textonehalf' : '\U000000bd', '\\textthreequarters' : '\U000000be', '\\textordfeminine' : '\U000000aa', '\\textordmasculine' : '\U000000ba', '\\euro' : '\U000020ac', '\\pounds' : '\U000000a3', '\\yen' : '\U000000a5', '\\textcent' : '\U000000a2', '\\textcurrency' : '\U000000a4', '\\textdegree' : '\U000000b0', } isabelle_symbols = { '\\' : '\U0001d7ec', '\\' : '\U0001d7ed', '\\' : '\U0001d7ee', '\\' : '\U0001d7ef', '\\' : '\U0001d7f0', '\\' : '\U0001d7f1', '\\' : '\U0001d7f2', '\\' : '\U0001d7f3', '\\' : '\U0001d7f4', '\\' : '\U0001d7f5', '\\' : '\U0001d49c', '\\' : '\U0000212c', '\\' : '\U0001d49e', '\\' : '\U0001d49f', '\\' : '\U00002130', '\\' : '\U00002131', '\\' : '\U0001d4a2', '\\' : '\U0000210b', '\\' : '\U00002110', '\\' : '\U0001d4a5', '\\' : '\U0001d4a6', '\\' : '\U00002112', '\\' : '\U00002133', '\\' : '\U0001d4a9', '\\' : '\U0001d4aa', '\\

' : '\U0001d5c9', '\\' : '\U0001d5ca', '\\' : '\U0001d5cb', '\\' : '\U0001d5cc', '\\' : '\U0001d5cd', '\\' : '\U0001d5ce', '\\' : '\U0001d5cf', '\\' : '\U0001d5d0', '\\' : '\U0001d5d1', '\\' : '\U0001d5d2', '\\' : '\U0001d5d3', '\\' : '\U0001d504', '\\' : '\U0001d505', '\\' : '\U0000212d', '\\

' : '\U0001d507', '\\' : '\U0001d508', '\\' : '\U0001d509', '\\' : '\U0001d50a', '\\' : '\U0000210c', '\\' : '\U00002111', '\\' : '\U0001d50d', '\\' : '\U0001d50e', '\\' : '\U0001d50f', '\\' : '\U0001d510', '\\' : '\U0001d511', '\\' : '\U0001d512', '\\' : '\U0001d513', '\\' : '\U0001d514', '\\' : '\U0000211c', '\\' : '\U0001d516', '\\' : '\U0001d517', '\\' : '\U0001d518', '\\' : '\U0001d519', '\\' : '\U0001d51a', '\\' : '\U0001d51b', '\\' : '\U0001d51c', '\\' : '\U00002128', '\\' : '\U0001d51e', '\\' : '\U0001d51f', '\\' : '\U0001d520', '\\
' : '\U0001d521', '\\' : '\U0001d522', '\\' : '\U0001d523', '\\' : '\U0001d524', '\\' : '\U0001d525', '\\' : '\U0001d526', '\\' : '\U0001d527', '\\' : '\U0001d528', '\\' : '\U0001d529', '\\' : '\U0001d52a', '\\' : '\U0001d52b', '\\' : '\U0001d52c', '\\' : '\U0001d52d', '\\' : '\U0001d52e', '\\' : '\U0001d52f', '\\' : '\U0001d530', '\\' : '\U0001d531', '\\' : '\U0001d532', '\\' : '\U0001d533', '\\' : '\U0001d534', '\\' : '\U0001d535', '\\' : '\U0001d536', '\\' : '\U0001d537', '\\' : '\U000003b1', '\\' : '\U000003b2', '\\' : '\U000003b3', '\\' : '\U000003b4', '\\' : '\U000003b5', '\\' : '\U000003b6', '\\' : '\U000003b7', '\\' : '\U000003b8', '\\' : '\U000003b9', '\\' : '\U000003ba', '\\' : '\U000003bb', '\\' : '\U000003bc', '\\' : '\U000003bd', '\\' : '\U000003be', '\\' : '\U000003c0', '\\' : '\U000003c1', '\\' : '\U000003c3', '\\' : '\U000003c4', '\\' : '\U000003c5', '\\' : '\U000003c6', '\\' : '\U000003c7', '\\' : '\U000003c8', '\\' : '\U000003c9', '\\' : '\U00000393', '\\' : '\U00000394', '\\' : '\U00000398', '\\' : '\U0000039b', '\\' : '\U0000039e', '\\' : '\U000003a0', '\\' : '\U000003a3', '\\' : '\U000003a5', '\\' : '\U000003a6', '\\' : '\U000003a8', '\\' : '\U000003a9', '\\' : '\U0001d539', '\\' : '\U00002102', '\\' : '\U00002115', '\\' : '\U0000211a', '\\' : '\U0000211d', '\\' : '\U00002124', '\\' : '\U00002190', '\\' : '\U000027f5', '\\' : '\U00002192', '\\' : '\U000027f6', '\\' : '\U000021d0', '\\' : '\U000027f8', '\\' : '\U000021d2', '\\' : '\U000027f9', '\\' : '\U00002194', '\\' : '\U000027f7', '\\' : '\U000021d4', '\\' : '\U000027fa', '\\' : '\U000021a6', '\\' : '\U000027fc', '\\' : '\U00002500', '\\' : '\U00002550', '\\' : '\U000021a9', '\\' : '\U000021aa', '\\' : '\U000021bd', '\\' : '\U000021c1', '\\' : '\U000021bc', '\\' : '\U000021c0', '\\' : '\U000021cc', '\\' : '\U0000219d', '\\' : '\U000021c3', '\\' : '\U000021c2', '\\' : '\U000021bf', '\\' : '\U000021be', '\\' : '\U000021be', '\\' : '\U00002237', '\\' : '\U00002191', '\\' : '\U000021d1', '\\' : '\U00002193', '\\' : '\U000021d3', '\\' : '\U00002195', '\\' : '\U000021d5', '\\' : '\U000027e8', '\\' : '\U000027e9', '\\' : '\U00002308', '\\' : '\U00002309', '\\' : '\U0000230a', '\\' : '\U0000230b', '\\' : '\U00002987', '\\' : '\U00002988', '\\' : '\U000027e6', '\\' : '\U000027e7', '\\' : '\U00002983', '\\' : '\U00002984', '\\' : '\U000000ab', '\\' : '\U000000bb', '\\' : '\U000022a5', '\\' : '\U000022a4', '\\' : '\U00002227', '\\' : '\U000022c0', '\\' : '\U00002228', '\\' : '\U000022c1', '\\' : '\U00002200', '\\' : '\U00002203', '\\' : '\U00002204', '\\' : '\U000000ac', '\\' : '\U000025a1', '\\' : '\U000025c7', '\\' : '\U000022a2', '\\' : '\U000022a8', '\\' : '\U000022a9', '\\' : '\U000022ab', '\\' : '\U000022a3', '\\' : '\U0000221a', '\\' : '\U00002264', '\\' : '\U00002265', '\\' : '\U0000226a', '\\' : '\U0000226b', '\\' : '\U00002272', '\\' : '\U00002273', '\\' : '\U00002a85', '\\' : '\U00002a86', '\\' : '\U00002208', '\\' : '\U00002209', '\\' : '\U00002282', '\\' : '\U00002283', '\\' : '\U00002286', '\\' : '\U00002287', '\\' : '\U0000228f', '\\' : '\U00002290', '\\' : '\U00002291', '\\' : '\U00002292', '\\' : '\U00002229', '\\' : '\U000022c2', '\\' : '\U0000222a', '\\' : '\U000022c3', '\\' : '\U00002294', '\\' : '\U00002a06', '\\' : '\U00002293', '\\' : '\U00002a05', '\\' : '\U00002216', '\\' : '\U0000221d', '\\' : '\U0000228e', '\\' : '\U00002a04', '\\' : '\U00002260', '\\' : '\U0000223c', '\\' : '\U00002250', '\\' : '\U00002243', '\\' : '\U00002248', '\\' : '\U0000224d', '\\' : '\U00002245', '\\' : '\U00002323', '\\' : '\U00002261', '\\' : '\U00002322', '\\' : '\U000022c8', '\\' : '\U00002a1d', '\\' : '\U0000227a', '\\' : '\U0000227b', '\\' : '\U0000227c', '\\' : '\U0000227d', '\\' : '\U00002225', '\\' : '\U000000a6', '\\' : '\U000000b1', '\\' : '\U00002213', '\\' : '\U000000d7', '\\
' : '\U000000f7', '\\' : '\U000022c5', '\\' : '\U000022c6', '\\' : '\U00002219', '\\' : '\U00002218', '\\' : '\U00002020', '\\' : '\U00002021', '\\' : '\U000022b2', '\\' : '\U000022b3', '\\' : '\U000022b4', '\\' : '\U000022b5', '\\' : '\U000025c3', '\\' : '\U000025b9', '\\' : '\U000025b3', '\\' : '\U0000225c', '\\' : '\U00002295', '\\' : '\U00002a01', '\\' : '\U00002297', '\\' : '\U00002a02', '\\' : '\U00002299', '\\' : '\U00002a00', '\\' : '\U00002296', '\\' : '\U00002298', '\\' : '\U00002026', '\\' : '\U000022ef', '\\' : '\U00002211', '\\' : '\U0000220f', '\\' : '\U00002210', '\\' : '\U0000221e', '\\' : '\U0000222b', '\\' : '\U0000222e', '\\' : '\U00002663', '\\' : '\U00002662', '\\' : '\U00002661', '\\' : '\U00002660', '\\' : '\U00002135', '\\' : '\U00002205', '\\' : '\U00002207', '\\' : '\U00002202', '\\' : '\U0000266d', '\\' : '\U0000266e', '\\' : '\U0000266f', '\\' : '\U00002220', '\\' : '\U000000a9', '\\' : '\U000000ae', '\\' : '\U000000ad', '\\' : '\U000000af', '\\' : '\U000000bc', '\\' : '\U000000bd', '\\' : '\U000000be', '\\' : '\U000000aa', '\\' : '\U000000ba', '\\
' : '\U000000a7', '\\' : '\U000000b6', '\\' : '\U000000a1', '\\' : '\U000000bf', '\\' : '\U000020ac', '\\' : '\U000000a3', '\\' : '\U000000a5', '\\' : '\U000000a2', '\\' : '\U000000a4', '\\' : '\U000000b0', '\\' : '\U00002a3f', '\\' : '\U00002127', '\\' : '\U000025ca', '\\' : '\U00002118', '\\' : '\U00002240', '\\' : '\U000022c4', '\\' : '\U000000b4', '\\' : '\U00000131', '\\' : '\U000000a8', '\\' : '\U000000b8', '\\' : '\U000002dd', '\\' : '\U000003f5', '\\' : '\U000023ce', '\\' : '\U00002039', '\\' : '\U0000203a', '\\' : '\U00002302', '\\<^sub>' : '\U000021e9', '\\<^sup>' : '\U000021e7', '\\<^bold>' : '\U00002759', '\\<^bsub>' : '\U000021d8', '\\<^esub>' : '\U000021d9', '\\<^bsup>' : '\U000021d7', '\\<^esup>' : '\U000021d6', } lang_map = {'isabelle' : isabelle_symbols, 'latex' : latex_symbols} def __init__(self, **options): Filter.__init__(self, **options) lang = get_choice_opt(options, 'lang', ['isabelle', 'latex'], 'isabelle') self.symbols = self.lang_map[lang] def filter(self, lexer, stream): for ttype, value in stream: if value in self.symbols: yield ttype, self.symbols[value] else: yield ttype, value class KeywordCaseFilter(Filter): """Convert keywords to lowercase or uppercase or capitalize them, which means first letter uppercase, rest lowercase. This can be useful e.g. if you highlight Pascal code and want to adapt the code to your styleguide. Options accepted: `case` : string The casing to convert keywords to. Must be one of ``'lower'``, ``'upper'`` or ``'capitalize'``. The default is ``'lower'``. """ def __init__(self, **options): Filter.__init__(self, **options) case = get_choice_opt(options, 'case', ['lower', 'upper', 'capitalize'], 'lower') self.convert = getattr(str, case) def filter(self, lexer, stream): for ttype, value in stream: if ttype in Keyword: yield ttype, self.convert(value) else: yield ttype, value class NameHighlightFilter(Filter): """Highlight a normal Name (and Name.*) token with a different token type. Example:: filter = NameHighlightFilter( names=['foo', 'bar', 'baz'], tokentype=Name.Function, ) This would highlight the names "foo", "bar" and "baz" as functions. `Name.Function` is the default token type. Options accepted: `names` : list of strings A list of names that should be given the different token type. There is no default. `tokentype` : TokenType or string A token type or a string containing a token type name that is used for highlighting the strings in `names`. The default is `Name.Function`. """ def __init__(self, **options): Filter.__init__(self, **options) self.names = set(get_list_opt(options, 'names', [])) tokentype = options.get('tokentype') if tokentype: self.tokentype = string_to_tokentype(tokentype) else: self.tokentype = Name.Function def filter(self, lexer, stream): for ttype, value in stream: if ttype in Name and value in self.names: yield self.tokentype, value else: yield ttype, value class ErrorToken(Exception): pass class RaiseOnErrorTokenFilter(Filter): """Raise an exception when the lexer generates an error token. Options accepted: `excclass` : Exception class The exception class to raise. The default is `pygments.filters.ErrorToken`. .. versionadded:: 0.8 """ def __init__(self, **options): Filter.__init__(self, **options) self.exception = options.get('excclass', ErrorToken) try: # issubclass() will raise TypeError if first argument is not a class if not issubclass(self.exception, Exception): raise TypeError except TypeError: raise OptionError('excclass option is not an exception class') def filter(self, lexer, stream): for ttype, value in stream: if ttype is Error: raise self.exception(value) yield ttype, value class VisibleWhitespaceFilter(Filter): """Convert tabs, newlines and/or spaces to visible characters. Options accepted: `spaces` : string or bool If this is a one-character string, spaces will be replaces by this string. If it is another true value, spaces will be replaced by ``·`` (unicode MIDDLE DOT). If it is a false value, spaces will not be replaced. The default is ``False``. `tabs` : string or bool The same as for `spaces`, but the default replacement character is ``»`` (unicode RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK). The default value is ``False``. Note: this will not work if the `tabsize` option for the lexer is nonzero, as tabs will already have been expanded then. `tabsize` : int If tabs are to be replaced by this filter (see the `tabs` option), this is the total number of characters that a tab should be expanded to. The default is ``8``. `newlines` : string or bool The same as for `spaces`, but the default replacement character is ``¶`` (unicode PILCROW SIGN). The default value is ``False``. `wstokentype` : bool If true, give whitespace the special `Whitespace` token type. This allows styling the visible whitespace differently (e.g. greyed out), but it can disrupt background colors. The default is ``True``. .. versionadded:: 0.8 """ def __init__(self, **options): Filter.__init__(self, **options) for name, default in [('spaces', '·'), ('tabs', '»'), ('newlines', '¶')]: opt = options.get(name, False) if isinstance(opt, str) and len(opt) == 1: setattr(self, name, opt) else: setattr(self, name, (opt and default or '')) tabsize = get_int_opt(options, 'tabsize', 8) if self.tabs: self.tabs += ' ' * (tabsize - 1) if self.newlines: self.newlines += '\n' self.wstt = get_bool_opt(options, 'wstokentype', True) def filter(self, lexer, stream): if self.wstt: spaces = self.spaces or ' ' tabs = self.tabs or '\t' newlines = self.newlines or '\n' regex = re.compile(r'\s') def replacefunc(wschar): if wschar == ' ': return spaces elif wschar == '\t': return tabs elif wschar == '\n': return newlines return wschar for ttype, value in stream: yield from _replace_special(ttype, value, regex, Whitespace, replacefunc) else: spaces, tabs, newlines = self.spaces, self.tabs, self.newlines # simpler processing for ttype, value in stream: if spaces: value = value.replace(' ', spaces) if tabs: value = value.replace('\t', tabs) if newlines: value = value.replace('\n', newlines) yield ttype, value class GobbleFilter(Filter): """Gobbles source code lines (eats initial characters). This filter drops the first ``n`` characters off every line of code. This may be useful when the source code fed to the lexer is indented by a fixed amount of space that isn't desired in the output. Options accepted: `n` : int The number of characters to gobble. .. versionadded:: 1.2 """ def __init__(self, **options): Filter.__init__(self, **options) self.n = get_int_opt(options, 'n', 0) def gobble(self, value, left): if left < len(value): return value[left:], 0 else: return '', left - len(value) def filter(self, lexer, stream): n = self.n left = n # How many characters left to gobble. for ttype, value in stream: # Remove ``left`` tokens from first line, ``n`` from all others. parts = value.split('\n') (parts[0], left) = self.gobble(parts[0], left) for i in range(1, len(parts)): (parts[i], left) = self.gobble(parts[i], n) value = '\n'.join(parts) if value != '': yield ttype, value class TokenMergeFilter(Filter): """Merges consecutive tokens with the same token type in the output stream of a lexer. .. versionadded:: 1.2 """ def __init__(self, **options): Filter.__init__(self, **options) def filter(self, lexer, stream): current_type = None current_value = None for ttype, value in stream: if ttype is current_type: current_value += value else: if current_type is not None: yield current_type, current_value current_type = ttype current_value = value if current_type is not None: yield current_type, current_value FILTERS = { 'codetagify': CodeTagFilter, 'keywordcase': KeywordCaseFilter, 'highlight': NameHighlightFilter, 'raiseonerror': RaiseOnErrorTokenFilter, 'whitespace': VisibleWhitespaceFilter, 'gobble': GobbleFilter, 'tokenmerge': TokenMergeFilter, 'symbols': SymbolFilter, } filters/__pycache__/__init__.cpython-311.pyc000064400000116367150044141150014676 0ustar00 ]bgȝ dZddlZddlmZmZmZmZmZmZm Z ddl m Z ddl m Z mZmZmZmZmZddlmZdZdZd Zd fd ZGd d e ZGdde ZGdde ZGdde ZGddeZGdde ZGdde Z Gdde Z!Gdde Z"eeeee e!e"edZ#dS)z pygments.filters ~~~~~~~~~~~~~~~~ Module containing filter lookup functions and default filters. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)StringCommentKeywordNameError Whitespacestring_to_tokentype)Filter) get_list_opt get_int_opt get_bool_optget_choice_opt ClassNotFound OptionError)find_plugin_filterscn|tvr t|StD]\}}||kr|cSdS)z2Lookup a filter by name. Return None if not found.NFILTERSr) filternamenameclss v/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/filters/__init__.pyfind_filter_classrsOWz""(** c :  JJJ  4c Zt|}|r|di|Std|d)zReturn an instantiated filter. Options are passed to the filter initializer if wanted. Raise a ClassNotFound if not found. zfilter z not foundN)rr)roptionsrs rget_filter_by_namer sF J ' 'C @s~~W~~>j>>>???rc#TKtEd{VtD] \}}|V dS)z'Return a generator of all filter names.Nr)r_s rget_all_filtersr!-sL&((a rc|SNr)xs rr%5s1rc#.Kd}||D]W}||}}||kr||||fV|||||fV|}X|t|kr|||dfVdSdS)Nr)finditerstartendlen) ttypevalueregex specialttype replacefunclastmatchr(r)s r_replace_specialr24s D&&[[]]EIIKKs D==tEz** * * *KKeCi(8999999 s5zzU455\!!!!!!rceZdZdZdZdZdS) CodeTagFilteraOHighlight special code tags in comments and docstrings. Options accepted: `codetags` : list of strings A list of strings that are flagged as code tags. The default is to highlight ``XXX``, ``TODO``, ``FIXME``, ``BUG`` and ``NOTE``. .. versionchanged:: 2.13 Now recognizes ``FIXME`` by default. c tj|fi|t|dgd}tjddd|D|_dS)Ncodetags)XXXTODOFIXMEBUGNOTEz\b({})\b|c:g|]}|tj|Sr)reescape).0tags r z*CodeTagFilter.__init__..Rs5> > > "c> IcNN> > > r)r __init__r r>compileformatjointag_re)selfrtagss rrCzCodeTagFilter.__init__Ns(((((GZCCCEEj!3!3CHH> > &*> > > 5 5 " "    rc#K|j}|D]S\}}|tjvs|tvr1|tjvr#t |||tjEd{VM||fVTdSr#)rGrDocrPreprocr2Special)rHlexerstreamr-r+r,s rfilterzCodeTagFilter.filterVs " # #LE5 ""GO+++E5%QQQQQQQQQQUl""""  # #rN__name__ __module__ __qualname____doc__rCrPrrrr4r4As<     #####rr4c ,eZdZdZidddddddd d d d d ddddddddddddddddddd d!d"d#id$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEidFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgidhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~d}ddddddddddiddddddddddddddddddddddddddddddddddidddddddddddddddddddddddd“ddēddƓddȓddʓdd̓iddΓddГddғddԓdd֓ddؓddړddܓddޓddddddddddddddddiddddddddddddddddddddddddddd d d d d dddidddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2id3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTidUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd Ziddddddddddddddddddddddddddddddddddidddddddddddddddddddddddddddddddd“dÐdēidŐdƓdǐdȓdɐdʓdːd̓d͐dΓdϐdГdѐdғdӐdԓdՐd֓dאdؓdِdړdېdܓdݐdޓdߐdddddddiddddddddddddddddddddddddddddddddddid d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*id+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLidMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddeddfddgddhd did idjd dkddlddmddnddoddpddqddrddsddtd!dud#dvd%dwd'dxd)dyd+dzd-id{d/d|d1d}d3d~d5dd7dd9dd;dd=dd?ddAddCddEddddddddddiddddGddIddKddMddOddQddSddUddWddYdd[dd]dd_ddaddcddeiddgddiddkddmddoddqddsdduddwddydd{dd}dd}ddddddddiddddddddddddddddddddddddÓdĐdœdƐdǓdȐdɓddddidddddddddddddddddddddddddddddڐdۓdܐdݓddidddddddddd“ddēddƓddȓddʓdd̓ddΓddГddғddԓdd֓ddؓddړiddܓddޓddddddddddddddddddddddddddddddiddddddddddddd d d dd dd d dd ddddddddddddidddddddd dddd"dd$dd&dd(dd*d d,d!d.d"d0d#d2d$d4d%d6d&d8id'd:d(d<d)d>d*d@d+dBd,dDd-dFd.dHd/dJd0dLd1dNd2dPd3dRd4dTd5dVd6dXd7dZid8d\d9d^d:d`d;dbd<ddd=dfd>dhd?djd@dldAdndBdpdCdrdDdEdFdGdHdtdIdvdJdwidKdxdLdydMdNdOdPdQdRdSdTdUdzdVd{dWd|dXd}dYd~dZdd[d\d]d^d_d`dadbdcddidedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddiZeedZdZdZdS( SymbolFilteraConvert mathematical symbols such as \ in Isabelle or \longrightarrow in LaTeX into Unicode characters. This is mostly useful for HTML or console output when you want to approximate the source rendering you'd see in an IDE. Options accepted: `lang` : string The symbol language. Must be one of ``'isabelle'`` or ``'latex'``. The default is ``'isabelle'``. z\alphauαz\betauβz\gammauγz\deltauδz \varepsilonuεz\zetauζz\etauηz \varthetauθz\iotauιz\kappauκz\lambdauλz\muuμz\nuuνz\xiuξz\piuπz\varrhouρz\sigmauσz\tauuτz\upsilonuυz\varphiuφz\chiuχz\psiuψz\omegauωz\GammauΓz\DeltauΔz\ThetauΘz\LambdauΛz\XiuΞz\PiuΠz\SigmauΣz\UpsilonuΥz\PhiuΦz\PsiuΨz\OmegauΩz \leftarrowu←z\longleftarrowu⟵z \rightarrowu→z\longrightarrowu⟶z \Leftarrowu⇐z\Longleftarrowu⟸z \Rightarrowu⇒z\Longrightarrowu⟹z\leftrightarrowu↔z\longleftrightarrowu⟷z\Leftrightarrowu⇔z\Longleftrightarrowu⟺z\mapstou↦z \longmapstou⟼z\relbaru─z\Relbaru═z\hookleftarrowu↩z\hookrightarrowu↪z\leftharpoondownu↽z\rightharpoondownu⇁z\leftharpoonupu↼z\rightharpoonupu⇀z\rightleftharpoonsu⇌z\leadstou↝z\downharpoonleftu⇃z\downharpoonrightu⇂z\upharpoonleftu↿z\upharpoonrightu↾z \restrictionz\uparrowu↑z\Uparrowu⇑z \downarrowu↓z \Downarrowu⇓z \updownarrowu↕z \Updownarrowu⇕z\langleu⟨z\rangleu⟩z\lceilu⌈z\rceilu⌉z\lflooru⌊z\rflooru⌋z\flqq«z\frqq»z\botu⊥z\topu⊤z\wedgeu∧z \bigwedgeu⋀z\veeu∨z\bigveeu⋁z\forallu∀z\existsu∃z\nexistsu∄z\neg¬z\Boxu□z\Diamondu◇z\vdashu⊢z\modelsu⊨z\dashvu⊣z\surdu√z\leu≤z\geu≥z\llu≪z\ggu≫z\lesssimu≲z\gtrsimu≳z \lessapproxu⪅z \gtrapproxu⪆z\inu∈z\notinu∉z\subsetu⊂z\supsetu⊃z \subsetequ⊆z \supsetequ⊇z \sqsubsetu⊏z \sqsupsetu⊐z \sqsubsetequ⊑z \sqsupsetequ⊒z\capu∩z\bigcapu⋂z\cupu∪z\bigcupu⋃z\sqcupu⊔z \bigsqcupu⨆z\sqcapu⊓z \Bigsqcapu⨅z \setminusu∖z\proptou∝z\uplusu⊎z\bigplusu⨄z\simu∼z\dotequ≐z\simequ≃z\approxu≈z\asympu≍z\congu≅z\equivu≡z\Joinu⋈z\bowtieu⨝z\precu≺z\succu≻z\precequ≼z\succequ≽z \parallelu∥z\mid¦z\pm±z\mpu∓z\times×z\div÷z\cdotu⋅z\staru⋆z\circu∘z\daggeru†z\ddaggeru‡z\lhdu⊲z\rhdu⊳z\unlhdu⊴z\unrhdu⊵z \triangleleftu◃z\trianglerightu▹z \triangleu△z \trianglequ≜z\oplusu⊕z \bigoplusu⨁z\otimesu⊗z \bigotimesu⨂z\odotu⊙z\bigodotu⨀z\ominusu⊖z\oslashu⊘z\dotsu…z\cdotsu⋯z\sumu∑z\produ∏z\coprodu∐z\inftyu∞z\intu∫z\ointu∮z \clubsuitu♣z \diamondsuitu♢z \heartsuitu♡z \spadesuitu♠z\alephuℵz \emptysetu∅z\nablau∇z\partialu∂z\flatu♭z\naturalu♮z\sharpu♯z\angleu∠z \copyright©z\textregistered®z\textonequarter¼z \textonehalf½¾ªºu€£¥¢¤°) z\textthreequartersz\textordfemininez\textordmasculinez\euroz\poundsz\yenz \textcentz \textcurrencyz \textdegreez\u𝟬z\u𝟭z\u𝟮z\u𝟯z\u𝟰z\u𝟱z\u𝟲z\u𝟳z\u𝟴z\u𝟵z\u𝒜z\uℬz\u𝒞z\u𝒟z\uℰz\uℱz\u𝒢z\uℋz\uℐz\u𝒥z\u𝒦z\uℒz\uℳz\u𝒩z\u𝒪z\

u𝗉z\u𝗊z\u𝗋z\u𝗌z\u𝗍z\u𝗎z\u𝗏z\u𝗐z\u𝗑z\u𝗒z\u𝗓z\u𝔄z\u𝔅z\uℭz\

u𝔇z\u𝔈z\u𝔉z\u𝔊z\uℌz\uℑz\u𝔍z\u𝔎z\u𝔏z\u𝔐z\u𝔑z\u𝔒z\u𝔓z\u𝔔z\uℜz\u𝔖z\u𝔗z\u𝔘z\u𝔙z\u𝔚z\u𝔛z\u𝔜z\uℨz\u𝔞z\u𝔟z\u𝔠z\
u𝔡z\u𝔢z\u𝔣z\u𝔤z\u𝔥z\u𝔦z\u𝔧z\u𝔨z\u𝔩z\u𝔪z\u𝔫z\u𝔬z\u𝔭z\u𝔮z\u𝔯z\u𝔰z\u𝔱z\u𝔲z\u𝔳z\u𝔴z\u𝔵z\u𝔶z\u𝔷z\z\z\z\z \z\z\z\z\z\z \z\z\z\z\z\z\z\z \z\z\z\z\z\z\z\z \z\z\z\z \z\z\z\z\u𝔹z \uℂz\uℕz\uℚz\uℝz\uℤz \z\z \z\z \z\z \z\z\z\z\z\z \z \z \z \z\z\z\z\z\z\z\z \z\z\z\z\z\z\u∷z\z\z\z\z \z \z \z \z\z\z \z \z\u⦇z\u⦈z \u⟦z \u⟧z \u⦃z \u⦄z\z\z \z\z\z\z\z\z \z \z \z\z\z \z \z \z \u⊩z \u⊫z \z\z\z\z\z \z \z \z \z\z\z\z \z \z \z \z \z \z \z \z\z\z\z\z \z \z \z \z \z \z\z\z\u≠z\z\z\z \z\z\z\u⌣z\z\u⌢z\z \z\z\z \z \z \z\z \z \z\z\
z\z\z \u∙z\z \z \z\z\z\z\z\z\z \z \z\z\z \z \z\z\z \z \z\z\z\z\z \z \z \z \z \z\z \z \z\z \z\z \z\z \z\z\z \z \z \­z \¯z \z \z\z\z\z \
§z \¶z \¡z\¿z\z \z\z\z \z \z\u⨿z\u℧z \u◊z\u℘z\u≀z \u⋄z\´z\uız \¨z \¸z\u˝z\uϵz \u⏎z\u‹z\u›z\u⌂z\<^sub>u⇩z\<^sup>u⇧z\<^bold>u❙z\<^bsub>u⇘z\<^esub>u⇙z\<^bsup>u⇗z\<^esup>u⇖)isabellelatexc vtj|fi|t|dddgd}|j||_dS)Nlangrtru)r rCrlang_mapsymbols)rHrrws rrCzSymbolFilter.__init__sK(((((gv)73ZAA}T* rc#\K|D]&\}}||jvr||j|fV ||fV'dSr#)ryrHrNrOr+r,s rrPzSymbolFilter.filters^" # #LE5 $$T\%000000Ul""""  # #rN) rRrSrTrU latex_symbolsisabelle_symbolsrxrCrPrrrrWrWash!  E<E<E <E < E < E < E <E <E <E <E <E <E <E <E <E   \?g@ \AgB \CgD \EgggF \GgH \IgJ \KgL \MgN \OgP \QgR \SgT \UgV \WgX \YgZ \[g\ \]g^ \_g` \agb \cgd \egf \ggggh \igj \kgl \mgn \ogp \qgr \sgt \ugv \wgx \ygz \{g| \}g~ \g@ \AgB \CgD \EgF \GgH \IgggJ \KgL \MgN \OgP \QgR \SgT \UgV \WgX \YgZ \[g\ \]g^ \_g` \agb \cgd \egf \ggh \igj \kgggl \mgn \ogp \qgr \sgt \ugv \wgx \ygz \{g| \}g~ \g@ \AgB \CgD \EgF \GgH \IgJ \KgL \MgggN \OgP \QgR \SgT \UgV \WgX \YgZ \[g\ \]g^ \_g` \agb \cgd \egf \ggh \igj \kgl \mgn \ogggp \qgr \sgt \ugv \wgx \ygz \{g| \}g~ \g@ \AgB \CgD \EgF \GgH \IgJ \KgL \MgN \OgP \QgggR \SgT \UgV \WgX \YgZ \[g\ \]g^ \_g` \agb \cgd \egf \ggh \igj \kgl \mgn \ogp \qgr \sgggt \ugv \wgx \ygz \{g| \}g~ \g@ \AgB \CgD \EgF \GgH !\IgJ \KgL !\MgN \OgP \QgR \SgT \UgggV \WgX \YgZ \[g\ \]g^ \_g` \agb \cgd \egf \ggh \igj \kgl \mgn \ogp \qgr \sgt \ugv \wgggx \ygz \{g| \}g~ \g@ \AgB \CgD \EgF \GgH \IgJ \KgL \MgN \OgP \QgR \SgT \UgV \WgX \YgggZ \[g\ \]g^ \_g` \agb \cgd \egf \ggh \igj \kgl \mgn \ogp \qgr \sgt \ugv \wgx \ygz \{ggg| \}g~ \g@ \AgB \CgD \EgF \GgH \IgJ \KgL \MgN \OgP \QgR \SgT \UgV \WgX \YgZ \[g\ \]ggg^ \_g` \agb \cgd \egf \ggh \igj \kgl \mgn \ogp \qgr \sgt \ugv \wgx \ygz \{g| \}g~ \ggg@ \AgB \CgD \EgF \GgH \IgJ \KgL \MgN \OgP \QgR \SgT \UgV \WgX \YgZ \[g\ \]g^ \_g` \agggb \cgd \egf \ggh \igj \kgl \mgn \ogp \qgr \sgt \ugv \wgx \ygz \{g| \}g~ \g@ \A gB \C gggD \E gF \G gH \I gJ \K gL \M gN \O gP \Q gR \S gT \U gV \W gX \Y gZ \[ g\ \] g^ \_ g` \a gb \c gd \e gggf \g gh \i gj \k gl \m gn \o gp \q gr \s gt \u gv \w gx \y gz \{ g| \} g~ \ g@ \A gB \C gD \E gF \G gggH \I gJ \K gL \M gN \O gP \Q gR \S gT \U gV \W gX \Y gZ \[ g\ \] g^ \_ g` \a gb \c gd \e gf \g gh \i gggj \k gl \m gn \o gp \q gr \s gt \u gv \w gx \y gz \{ g| \} g~ \ g@ \A gB \C gD \E gF \G gH \I gJ \K ggL \M ggR .GGH+++ #####rrWceZdZdZdZdZdS)KeywordCaseFilteraConvert keywords to lowercase or uppercase or capitalize them, which means first letter uppercase, rest lowercase. This can be useful e.g. if you highlight Pascal code and want to adapt the code to your styleguide. Options accepted: `case` : string The casing to convert keywords to. Must be one of ``'lower'``, ``'upper'`` or ``'capitalize'``. The default is ``'lower'``. c tj|fi|t|dgdd}tt||_dS)Ncase)lowerupper capitalizer)r rCrgetattrstrconvert)rHrrs rrCzKeywordCaseFilter.__init__sO(((((gv>>>IIsD)) rc#lK|D].\}}|tvr|||fV(||fV/dSr#)rrr{s rrPzKeywordCaseFilter.filtersa" # #LE5T\\%0000000Ul""""  # #rNrQrrrrrs<  *** #####rrceZdZdZdZdZdS)NameHighlightFilteraHighlight a normal Name (and Name.*) token with a different token type. Example:: filter = NameHighlightFilter( names=['foo', 'bar', 'baz'], tokentype=Name.Function, ) This would highlight the names "foo", "bar" and "baz" as functions. `Name.Function` is the default token type. Options accepted: `names` : list of strings A list of names that should be given the different token type. There is no default. `tokentype` : TokenType or string A token type or a string containing a token type name that is used for highlighting the strings in `names`. The default is `Name.Function`. c tj|fi|tt|dg|_|d}|rt ||_dStj |_dS)Nnames tokentype) r rCsetr rgetr rrFunction)rHrrs rrCzNameHighlightFilter.__init__sn(((((gw;;<< KK ,,  +0;;DNNN!]DNNNrc#bK|D])\}}|tvr||jvr |j|fV#||fV*dSr#)rrrr{s rrPzNameHighlightFilter.filtersa" # #LE5}}$*!4!4ne+++++Ul""""  # #rNrQrrrrrs<.+++#####rrceZdZdS) ErrorTokenN)rRrSrTrrrrrsDrrceZdZdZdZdZdS)RaiseOnErrorTokenFilterzRaise an exception when the lexer generates an error token. Options accepted: `excclass` : Exception class The exception class to raise. The default is `pygments.filters.ErrorToken`. .. versionadded:: 0.8 c tj|fi||dt|_ t |jt stdS#t$rtdwxYw)Nexcclassz)excclass option is not an exception class) r rCrr exception issubclass Exception TypeErrorrrHrs rrCz RaiseOnErrorTokenFilter.__init__s((((( Z<< Kdni88    K K KIJJ J Ks !AA1c#bK|D])\}}|tur||||fV*dSr#)rrr{s rrPzRaiseOnErrorTokenFilter.filtersQ"  LE5~~nnU+++,      rNrQrrrrrs?  KKKrrceZdZdZdZdZdS)VisibleWhitespaceFilteruTConvert tabs, newlines and/or spaces to visible characters. Options accepted: `spaces` : string or bool If this is a one-character string, spaces will be replaces by this string. If it is another true value, spaces will be replaced by ``·`` (unicode MIDDLE DOT). If it is a false value, spaces will not be replaced. The default is ``False``. `tabs` : string or bool The same as for `spaces`, but the default replacement character is ``»`` (unicode RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK). The default value is ``False``. Note: this will not work if the `tabsize` option for the lexer is nonzero, as tabs will already have been expanded then. `tabsize` : int If tabs are to be replaced by this filter (see the `tabs` option), this is the total number of characters that a tab should be expanded to. The default is ``8``. `newlines` : string or bool The same as for `spaces`, but the default replacement character is ``¶`` (unicode PILCROW SIGN). The default value is ``False``. `wstokentype` : bool If true, give whitespace the special `Whitespace` token type. This allows styling the visible whitespace differently (e.g. greyed out), but it can disrupt background colors. The default is ``True``. .. versionadded:: 0.8 c tj|fi|dD]j\}}||d}t|tr%t |dkrt |||Ut |||r|pdkt|dd}|jr|xjd|dz zz c_|j r|xj dz c_ t|d d |_ dS) N))spaces·)tabsrY)newlinesrnFtabsize  wstokentypeT) r rCr isinstancerr*setattrr rrr wstt)rHrrdefaultoptrs rrCz VisibleWhitespaceFilter.__init__3s(((((2 = =MD'++dE**C#s## =CA dC((((dS_W%:<<<<gy!44 9 - II! , ,II = " MMT !MM ->> rc# K|jr^|jpd|jpd |jpdt jd} fd}|D]#\}}t |||t|Ed{V$dS|j|j|jc |D]S\}}r|d} r|d }r|d}||fVTdS)Nr rz\sc8|dkrS|dkrS|dkrS|S)Nrrrr)wscharrrrs rr/z3VisibleWhitespaceFilter.filter..replacefuncKs2S==!Mt^^Kt^^#O r) rrrrr>rDr2rreplace) rHrNrOr-r/r+r,rrrs @@@rrPzVisibleWhitespaceFilter.filterDsa 9 #['CF9$D},HJu%%E       !' 9 9 u+E5%,79999999999 9 9&*[$)T] "FD( & # # u7!MM#v66E6!MM$55E:!MM$99EUl"""" # #rNrQrrrrrs<:???"#####rrc$eZdZdZdZdZdZdS) GobbleFilterazGobbles source code lines (eats initial characters). This filter drops the first ``n`` characters off every line of code. This may be useful when the source code fed to the lexer is indented by a fixed amount of space that isn't desired in the output. Options accepted: `n` : int The number of characters to gobble. .. versionadded:: 1.2 c Vtj|fi|t|dd|_dS)Nnr)r rCr rrs rrCzGobbleFilter.__init__rs1(((((Wc1--rch|t|kr ||ddfSd|t|z fS)Nrr)r*)rHr,lefts rgobblezGobbleFilter.gobblevs; #e**  <? "tc%jj(( (rc#`K|j}|}|D]\}}|d}||d|\|d<}tdt |D]$}||||\||<}%d|}|dkr||fVdS)Nrrrr)rsplitrranger*rF) rHrNrOrrr+r,partsis rrPzGobbleFilter.filter|s F" # #LE5KK%%E#{{58T:: U1Xt1c%jj)) < <#';;uQx#;#; q44IIe$$E{{Ul""" # #rN)rRrSrTrUrCrrPrrrrrdsK  ...))) # # # # #rrceZdZdZdZdZdS)TokenMergeFilterzwMerges consecutive tokens with the same token type in the output stream of a lexer. .. versionadded:: 1.2 c *tj|fi|dSr#)r rCrs rrCzTokenMergeFilter.__init__s (((((((rc#bKd}d}|D]\}}||ur||z }|||fV|}|}|||fVdSdSr#r)rHrNrO current_type current_valuer+r,s rrPzTokenMergeFilter.filters  " & &LE5 $$& +& 5555$ %  # - - - - - - $ #rNrQrrrrrs< ))) . . . . .rr) codetagify keywordcase highlight raiseonerror whitespacer tokenmergery)$rUr>pip._vendor.pygments.tokenrrrrrrr pip._vendor.pygments.filterr pip._vendor.pygments.utilr r r rrrpip._vendor.pygments.pluginrrrr!r2r4rWrrrrrrrrrrrrrs   ......////////////////;;;;;; @ @ @"- " " " "#####F###@K #K #K #K #K #6K #K #K #\########8&#&#&#&#&#&&#&#&#R        f:L#L#L#L#L#fL#L#L#^$#$#$#$#$#6$#$#$#N.....v...2$')--"&"  rformatter.py000064400000010446150044141150007121 0ustar00""" pygments.formatter ~~~~~~~~~~~~~~~~~~ Base formatter class. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import codecs from pip._vendor.pygments.util import get_bool_opt from pip._vendor.pygments.styles import get_style_by_name __all__ = ['Formatter'] def _lookup_style(style): if isinstance(style, str): return get_style_by_name(style) return style class Formatter: """ Converts a token stream to text. Formatters should have attributes to help selecting them. These are similar to the corresponding :class:`~pygments.lexer.Lexer` attributes. .. autoattribute:: name :no-value: .. autoattribute:: aliases :no-value: .. autoattribute:: filenames :no-value: You can pass options as keyword arguments to the constructor. All formatters accept these basic options: ``style`` The style to use, can be a string or a Style subclass (default: "default"). Not used by e.g. the TerminalFormatter. ``full`` Tells the formatter to output a "full" document, i.e. a complete self-contained document. This doesn't have any effect for some formatters (default: false). ``title`` If ``full`` is true, the title that should be used to caption the document (default: ''). ``encoding`` If given, must be an encoding name. This will be used to convert the Unicode token strings to byte strings in the output. If it is "" or None, Unicode strings will be written to the output file, which most file-like objects do not support (default: None). ``outencoding`` Overrides ``encoding`` if given. """ #: Full name for the formatter, in human-readable form. name = None #: A list of short, unique identifiers that can be used to lookup #: the formatter from a list, e.g. using :func:`.get_formatter_by_name()`. aliases = [] #: A list of fnmatch patterns that match filenames for which this #: formatter can produce output. The patterns in this list should be unique #: among all formatters. filenames = [] #: If True, this formatter outputs Unicode strings when no encoding #: option is given. unicodeoutput = True def __init__(self, **options): """ As with lexers, this constructor takes arbitrary optional arguments, and if you override it, you should first process your own options, then call the base class implementation. """ self.style = _lookup_style(options.get('style', 'default')) self.full = get_bool_opt(options, 'full', False) self.title = options.get('title', '') self.encoding = options.get('encoding', None) or None if self.encoding in ('guess', 'chardet'): # can happen for e.g. pygmentize -O encoding=guess self.encoding = 'utf-8' self.encoding = options.get('outencoding') or self.encoding self.options = options def get_style_defs(self, arg=''): """ This method must return statements or declarations suitable to define the current style for subsequent highlighted text (e.g. CSS classes in the `HTMLFormatter`). The optional argument `arg` can be used to modify the generation and is formatter dependent (it is standardized because it can be given on the command line). This method is called by the ``-S`` :doc:`command-line option `, the `arg` is then given by the ``-a`` option. """ return '' def format(self, tokensource, outfile): """ This method must format the tokens from the `tokensource` iterable and write the formatted version to the file object `outfile`. Formatter options can control how exactly the tokens are converted. """ if self.encoding: # wrap the outfile in a StreamWriter outfile = codecs.lookup(self.encoding)[3](outfile) return self.format_unencoded(tokensource, outfile) # Allow writing Formatter[str] or Formatter[bytes]. That's equivalent to # Formatter. This helps when using third-party type stubs from typeshed. def __class_getitem__(cls, name): return cls formatters/__init__.py000064400000012411150044141150011035 0ustar00""" pygments.formatters ~~~~~~~~~~~~~~~~~~~ Pygments formatters. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import sys import types import fnmatch from os.path import basename from pip._vendor.pygments.formatters._mapping import FORMATTERS from pip._vendor.pygments.plugin import find_plugin_formatters from pip._vendor.pygments.util import ClassNotFound __all__ = ['get_formatter_by_name', 'get_formatter_for_filename', 'get_all_formatters', 'load_formatter_from_file'] + list(FORMATTERS) _formatter_cache = {} # classes by name _pattern_cache = {} def _fn_matches(fn, glob): """Return whether the supplied file name fn matches pattern filename.""" if glob not in _pattern_cache: pattern = _pattern_cache[glob] = re.compile(fnmatch.translate(glob)) return pattern.match(fn) return _pattern_cache[glob].match(fn) def _load_formatters(module_name): """Load a formatter (and all others in the module too).""" mod = __import__(module_name, None, None, ['__all__']) for formatter_name in mod.__all__: cls = getattr(mod, formatter_name) _formatter_cache[cls.name] = cls def get_all_formatters(): """Return a generator for all formatter classes.""" # NB: this returns formatter classes, not info like get_all_lexers(). for info in FORMATTERS.values(): if info[1] not in _formatter_cache: _load_formatters(info[0]) yield _formatter_cache[info[1]] for _, formatter in find_plugin_formatters(): yield formatter def find_formatter_class(alias): """Lookup a formatter by alias. Returns None if not found. """ for module_name, name, aliases, _, _ in FORMATTERS.values(): if alias in aliases: if name not in _formatter_cache: _load_formatters(module_name) return _formatter_cache[name] for _, cls in find_plugin_formatters(): if alias in cls.aliases: return cls def get_formatter_by_name(_alias, **options): """ Return an instance of a :class:`.Formatter` subclass that has `alias` in its aliases list. The formatter is given the `options` at its instantiation. Will raise :exc:`pygments.util.ClassNotFound` if no formatter with that alias is found. """ cls = find_formatter_class(_alias) if cls is None: raise ClassNotFound(f"no formatter found for name {_alias!r}") return cls(**options) def load_formatter_from_file(filename, formattername="CustomFormatter", **options): """ Return a `Formatter` subclass instance loaded from the provided file, relative to the current directory. The file is expected to contain a Formatter class named ``formattername`` (by default, CustomFormatter). Users should be very careful with the input, because this method is equivalent to running ``eval()`` on the input file. The formatter is given the `options` at its instantiation. :exc:`pygments.util.ClassNotFound` is raised if there are any errors loading the formatter. .. versionadded:: 2.2 """ try: # This empty dict will contain the namespace for the exec'd file custom_namespace = {} with open(filename, 'rb') as f: exec(f.read(), custom_namespace) # Retrieve the class `formattername` from that namespace if formattername not in custom_namespace: raise ClassNotFound(f'no valid {formattername} class found in {filename}') formatter_class = custom_namespace[formattername] # And finally instantiate it with the options return formatter_class(**options) except OSError as err: raise ClassNotFound(f'cannot read {filename}: {err}') except ClassNotFound: raise except Exception as err: raise ClassNotFound(f'error when loading custom formatter: {err}') def get_formatter_for_filename(fn, **options): """ Return a :class:`.Formatter` subclass instance that has a filename pattern matching `fn`. The formatter is given the `options` at its instantiation. Will raise :exc:`pygments.util.ClassNotFound` if no formatter for that filename is found. """ fn = basename(fn) for modname, name, _, filenames, _ in FORMATTERS.values(): for filename in filenames: if _fn_matches(fn, filename): if name not in _formatter_cache: _load_formatters(modname) return _formatter_cache[name](**options) for _name, cls in find_plugin_formatters(): for filename in cls.filenames: if _fn_matches(fn, filename): return cls(**options) raise ClassNotFound(f"no formatter found for file name {fn!r}") class _automodule(types.ModuleType): """Automatically import formatters.""" def __getattr__(self, name): info = FORMATTERS.get(name) if info: _load_formatters(info[0]) cls = _formatter_cache[info[1]] setattr(self, name, cls) return cls raise AttributeError(name) oldmod = sys.modules[__name__] newmod = _automodule(__name__) newmod.__dict__.update(oldmod.__dict__) sys.modules[__name__] = newmod del newmod.newmod, newmod.oldmod, newmod.sys, newmod.types formatters/__pycache__/__init__.cpython-311.pyc000064400000017167150044141150015412 0ustar00 ]bg fdZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z gde ezZiZiZdZd Zd Zd Zd ZddZdZGddejZejeZeeZejejeeje<e`e`e`e`dS)z pygments.formatters ~~~~~~~~~~~~~~~~~~~ Pygments formatters. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)basename) FORMATTERS)find_plugin_formatters) ClassNotFound)get_formatter_by_nameget_formatter_for_filenameget_all_formattersload_formatter_from_filec|tvrEtjtj|x}t|<||St||S)zBReturn whether the supplied file name fn matches pattern filename.)_pattern_cacherecompilefnmatch translatematch)fnglobpatterns y/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__init__.py _fn_matchesrs\ >!!)+G4Ed4K4K)L)LL.&}}R   $  % %b ) ))c~t|dddg}|jD]!}t||}|t|j<"dS)z4Load a formatter (and all others in the module too).N__all__) __import__rgetattr_formatter_cachename) module_namemodformatter_nameclss r_load_formattersr"$sQ [$yk : :C+))c>**%(""))rc#KtjD];}|dtvrt|dt|dV>>>rCustomFormatterc  i}t|d5}t||dddn #1swxYwY||vrtd|d|||}|di|S#t$r}td|d|d}~wt$rt $r}td|d}~wwxYw) a# Return a `Formatter` subclass instance loaded from the provided file, relative to the current directory. The file is expected to contain a Formatter class named ``formattername`` (by default, CustomFormatter). Users should be very careful with the input, because this method is equivalent to running ``eval()`` on the input file. The formatter is given the `options` at its instantiation. :exc:`pygments.util.ClassNotFound` is raised if there are any errors loading the formatter. .. versionadded:: 2.2 rbNz no valid z class found in z cannot read z: z%error when loading custom formatter: r.)openexecreadrOSError Exception)filename formatternamer0custom_namespacefformatter_classerrs rr r TsZK (D ! ! -Q + , , , - - - - - - - - - - - - - - -  0 0 0 UM U U8 U UVV V*=9))))) >>><8<r\s ??????>>>>>>333333 = = =?CtJ?O?O P***)))      KKKKDDDD, # # # # #%" # # # X  X  v''' H M6=&*flllrformatters/__pycache__/_mapping.cpython-311.pyc000064400000010222150044141150015426 0ustar00 ]bgPxidddddddddd d d d d ddddddddddddddddddd d!d"d#iZd$S)%BBCodeFormatter)zpygments.formatters.bbcodeBBCode)bbcodebbzFormat tokens with BBcodes. These formatting codes are used by many bulletin boards, so you can highlight your sourcecode with pygments before posting it there.BmpImageFormatter)pygments.formatters.imgimg_bmp)bmpbitmap)z*.bmpzwCreate a bitmap image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.GifImageFormatter)rimg_gif)gif)z*.gifztCreate a GIF image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.GroffFormatter)zpygments.formatters.groffgroff)rtroffroffrzFFormat tokens with groff escapes to change their color and font style. HtmlFormatter)zpygments.formatters.htmlHTML)html)z*.htmlz*.htmzFormat tokens as HTML 4 ```` tags. By default, the content is enclosed in a ``
`` tag, itself wrapped in a ``
`` tag (but see the `nowrap` option). The ``
``'s CSS class can be set by the `cssclass` option. IRCFormatter)zpygments.formatters.ircIRC)ircrrz&Format tokens with IRC color sequencesImageFormatter)rimg)rIMGpng)z*.pngztCreate a PNG image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.JpgImageFormatter)rimg_jpg)jpgjpeg)z*.jpgzuCreate a JPEG image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.LatexFormatter)zpygments.formatters.latexLaTeX)latextex)z*.texzUFormat tokens as LaTeX code. This needs the `fancyvrb` and `color` standard packages. NullFormatter)pygments.formatters.otherz Text only)textnull)z*.txtz1Output the text unchanged without any formatting.PangoMarkupFormatter)zpygments.formatters.pangomarkupz Pango Markup)pango pangomarkuprzFFormat tokens as Pango Markup code. It can then be rendered to an SVG.RawTokenFormatter)r&z Raw tokens)rawtokens)z*.rawz@Format tokens as a raw representation for storing token streams. RtfFormatter)zpygments.formatters.rtfRTF)rtf)z*.rtfzFormat tokens as RTF markup. This formatter automatically outputs full RTF documents with color information and other useful stuff. Perfect for Copy and Paste into Microsoft(R) Word(R) documents. SvgFormatter)zpygments.formatters.svgSVG)svg)z*.svgzFormat tokens as an SVG graphics file. This formatter is still experimental. Each line of code is a ```` element with explicit ``x`` and ``y`` coordinates containing ```` elements with the individual token styles.Terminal256Formatter)pygments.formatters.terminal256 Terminal256) terminal256 console256256rzFormat tokens with ANSI color sequences, for output in a 256-color terminal or console. Like in `TerminalFormatter` color sequences are terminated at newlines, so that paging the output works correctly.TerminalFormatter)zpygments.formatters.terminalTerminal)terminalconsolerzFormat tokens with ANSI color sequences, for output in a text console. Color sequences are terminated at newlines, so that paging the output works correctly.TerminalTrueColorFormatter)r6TerminalTrueColor) terminal16m console16m16mrzFormat tokens with ANSI color sequences, for output in a true-color terminal or console. Like in `TerminalFormatter` color sequences are terminated at newlines, so that paging the output works correctly.TestcaseFormatter)r&Testcase)testcaserz0Format tokens as appropriate for a new testcase.N) FORMATTERSry/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/_mapping.pyrJs.zZNg  ~  t TVtSxhTtH D!"!#U#$J% rHformatters/__pycache__/bbcode.cpython-311.pyc000064400000010703150044141150015056 0ustar00 ]bg DdZddlmZddlmZdgZGddeZdS)z pygments.formatters.bbcode ~~~~~~~~~~~~~~~~~~~~~~~~~~ BBcode formatter. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. ) Formatter) get_bool_optBBCodeFormatterc4eZdZdZdZddgZgZdZdZdZ dS) ra Format tokens with BBcodes. These formatting codes are used by many bulletin boards, so you can highlight your sourcecode with pygments before posting it there. This formatter has no support for background colors and borders, as there are no common BBcode tags for that. Some board systems (e.g. phpBB) don't support colors in their [code] tag, so you can't use the highlighting together with that tag. Text in a [code] tag usually is shown with a monospace font (which this formatter can do with the ``monofont`` option) and no spaces (which you need for indentation) are removed. Additional options accepted: `style` The style to use, can be a string or a Style subclass (default: ``'default'``). `codetag` If set to true, put the output into ``[code]`` tags (default: ``false``) `monofont` If set to true, add a tag to show the code with a monospace font (default: ``false``). BBCodebbcodebbc tj|fi|t|dd|_t|dd|_i|_|dS)NcodetagFmonofont)r__init__r_code_monostyles _make_styles)selfoptionss w/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/bbcode.pyr zBBCodeFormatter.__init__3s`4++7+++!'9e<< !':u==   c|jD]v\}}dx}}|dr#|d|dz }d|z}|dr |dz }d|z}|dr |d z }d |z}|d r |d z }d |z}||f|j|<wdS)Ncolorz [color=#{}]z[/color]boldz[b]z[/b]italicz[i]z[/i] underlinez[u]z[/u])styleformatr)rttypendefstartends rrzBBCodeFormatter._make_styles;s: , ,KE4 ECG} '--d7m<<< 3&F| #slH~ #slK  #sl"'DK  ! , ,rc|jr|d|jr|dd}d}|D]k\}}||jvr|j}||jv||kr||z }*|r;|j|\}}|d|||f|}|}l|r;|j|\}}|d|||f|jr|d|jr|d|js|jr|ddSdS)Nz[code]z[font=monospace]rz[/font]z[/code] )rwriterrparentjoin) r tokensourceoutfilelastvallasttypervaluer r!s rformat_unencodedz BBCodeFormatter.format_unencodedNs : $ MM( # # # : . MM, - - -' ! !LE5t{** t{**  5 B!%X!6JE3MM"''5'3*?"@"@AAA   :X.JE3 MM"''5'3"788 9 9 9 : % MM) $ $ $ : % MM) $ $ $ :  MM$       rN) __name__ __module__ __qualname____doc__namealiases filenamesr rr,rrrrsa8 DGI,,,&     rN)r0pip._vendor.pygments.formatterrpip._vendor.pygments.utilr__all__rr4rrr8s{544444222222  Z Z Z Z Z iZ Z Z Z Z rformatters/__pycache__/groff.cpython-311.pyc000064400000017431150044141150014750 0ustar00 ]bgPdZddlZddlmZddlmZmZdgZGddeZdS)z pygments.formatters.groff ~~~~~~~~~~~~~~~~~~~~~~~~~ Formatter for groff output. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) Formatter) get_bool_opt get_int_optGroffFormattercLeZdZdZdZgdZgZdZdZdZ dZ dZ d Z d Z d S) ra Format tokens with groff escapes to change their color and font style. .. versionadded:: 2.11 Additional options accepted: `style` The style to use, can be a string or a Style subclass (default: ``'default'``). `monospaced` If set to true, monospace font will be used (default: ``true``). `linenos` If set to true, print the line numbers (default: ``false``). `wrap` Wrap lines to the specified number of characters. Disabled if set to 0 (default: ``0``). groff)rtroffroffc tj|fi|t|dd|_t|dd|_d|_t |dd|_d|_i|_ | dS)N monospacedTlinenosFrwrap) r__init__rr r _linenorr_linelenstyles _make_styles)selfoptionss v/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/groff.pyrzGroffFormatter.__init__-s4++7+++&w dCC#GY>>  33    cv|jrdnd}|jrdnd}|jrdnd}|jD]\}}dx}}|dr#|d |dz }d |z}|d r ||z }||z}|d r ||z }||z}|d r#|d|d z }d|z}||f|j|<dS)Nz\f[CR]z\f[R]z\f[CB]z\f[B]z\f[CI]z\f[I]colorz\m[{}]z\m[]bolditalicbgcolorz\M[{}]z\M[])r styleformatr)rregularrrttypendefstartends rrzGroffFormatter._make_styles:s #<))H O9yy"o;8: , ,KE4 ECG} $))$w-888mF| $ mH~ $mI $))$y/:::m!&DK   , ,rct}|jD](\}}|d||d)t|D]#}|d|zdz|zdz$dS)Nrz .defcolor z rgb # )setraddsortedwrite)routfilecolors_r"rs r_define_colorszGroffFormatter._define_colorsQsz * *GAtG}( 4=)))F^^ J JE MM,.9EADH I I I I J Jrc~|xjdz c_|d|jdkrdpd|jfzdS)Nz%s% 4d r&r)rr*)rr+s r _write_linenozGroffFormatter._write_lineno[sG   i4<1#4#=#CT\"RRSSSSSrct|d}|jrdnd}d}||jkrt dt j||jz D]/}|||jz||jz|jz}||dz|zz }0||jz}|dkr||| dz dz }||_n5|j|z|jkrd|z|z}||_n|}|xj|z c_|S)Nr&z rrr0)lenrstripr rrangemathfloorr)rlinelengthspacenewlineichunk remainders r _wrap_linezGroffFormatter._wrap_line`sT[[&&''</R DI  1dj$));<<== 2 2Qty[49TY)>>?EDL501*I1}}4 1 .. ) ]V #di / /e|t+G"DMMG MMV #MMrc6|ddddddddd d }|}|D]}t|t|kry|d d dd d}||d|d dzdz}|S)N\z\[u005C].z \[char46]'z\[u0027]`z\[u0060]~z\[u007E]unicode_escaper0xu00z\[u])replacer3encodedecodeupper)rtextcopycharunis r _escape_charszGroffFormatter._escape_charsws||D+..GC..GD+..GC--GC--  B BD4yyC ....kk"233VXXabb"WS%((UWW||D&3qrr7*:S*@AA rc r|||d|jr|||D]W\}}||jvr|j}||jv|j|\}}|dD]}|jdkr||}|r\|rZ| | d}|dkr+|d |||fn;|| | d| dr@|jr||d|_ |dd|_ Y|ddS)Nz .nf \f[CR] Trr&rz .fi)r.r*r r1rparent splitlinesrr?rRr4joinendswithr) r tokensourcer+r!valuer#r$r8rNs rformat_unencodedzGroffFormatter.format_unencodeds G$$$ &''' < (   w ' ' '' * *LE5t{** t{**U+JE3((.. * *9q==??400DISI--dkk$.?.?@@Drzz bggudC.@&A&ABBBMM$"4"4T[[5F5F"G"GHHH==&&*|***7333()  d+++() # *&  grN)__name__ __module__ __qualname____doc__namealiases filenamesrrr.r1r?rRrZrrrrs, D&&&GI   ,,,.JJJTTT .&     r) r^r6pip._vendor.pygments.formatterrpip._vendor.pygments.utilrr__all__rrbrrrfs 444444????????  XXXXXYXXXXXrformatters/__pycache__/html.cpython-311.pyc000064400000124261150044141150014611 0ustar00 ]bgU VdZddlZddlZddlZddlZddlmZddlmZddl m Z m Z m Z ddl mZmZmZ ddlZn #e$rdZYnwxYwdgZedd ed d ed d eddeddiZefdZdZdZdZdezdzZdZdZGddeZdS)z pygments.formatters.html ~~~~~~~~~~~~~~~~~~~~~~~~ Formatter for HTML output. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)StringIO) Formatter)TokenTextSTANDARD_TYPES) get_bool_opt get_int_opt get_list_opt HtmlFormatter&z&z>"z"'z'c,||S)z as well as single and double quotes for HTML.) translate)texttables u/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/html.py escape_htmlr&s >>%  cd|ds|dr|Sd|zS)Ncalcvar#) startswith)colors rwebifyr+s< 5#3#3E#:#: U{rctj|}|r|Sd}|+d|dz|z}|j}tj|}|+||zS)N-)rgetparent)ttypefnameanames r_get_ttype_classr(2se  u % %E  E -eBi%' "5)) - 5=rz/* generated by Pygments Copyright 2006-2024 by the Pygments team. Licensed under the BSD license, see LICENSE for details. */ %(styledefs)s a %(title)s

%(title)s

a5 %(title)s

%(title)s

z c0eZdZdZdZdgZddgZdZdZdZ d Z d Z d%d Z d%d Z d%dZdZdZedZedZedZdZdZdZdZdZdZdZdZdZejddZ d Z!d!Z"d"Z#d#Z$d$Z%d S)&r a, Format tokens as HTML 4 ```` tags. By default, the content is enclosed in a ``
`` tag, itself wrapped in a ``
`` tag (but see the `nowrap` option). The ``
``'s CSS class can be set by the `cssclass` option. If the `linenos` option is set to ``"table"``, the ``
`` is
    additionally wrapped inside a ```` which has one row and two
    cells: one containing the line numbers and one containing the code.
    Example:

    .. sourcecode:: html

        
1
            2
def foo(bar):
              pass
            
(whitespace added to improve clarity). A list of lines can be specified using the `hl_lines` option to make these lines highlighted (as of Pygments 0.11). With the `full` option, a complete HTML 4 document is output, including the style definitions inside a ``

%(title)s

''' DOC_HEADER_EXTERNALCSS = '''\ %(title)s

%(title)s

''' DOC_FOOTER = '''\ ''' class HtmlFormatter(Formatter): r""" Format tokens as HTML 4 ```` tags. By default, the content is enclosed in a ``
`` tag, itself wrapped in a ``
`` tag (but see the `nowrap` option). The ``
``'s CSS class can be set by the `cssclass` option. If the `linenos` option is set to ``"table"``, the ``
`` is
    additionally wrapped inside a ```` which has one row and two
    cells: one containing the line numbers and one containing the code.
    Example:

    .. sourcecode:: html

        
1
            2
def foo(bar):
              pass
            
(whitespace added to improve clarity). A list of lines can be specified using the `hl_lines` option to make these lines highlighted (as of Pygments 0.11). With the `full` option, a complete HTML 4 document is output, including the style definitions inside a ``

u𝒫z\u𝒬z\uℛz\u𝒮z\u𝒯z\u𝒰z\u𝒱z\u𝒲z\u𝒳z\u𝒴z\u𝒵z\u𝖺z\u𝖻z\u𝖼z\u𝖽z\u𝖾z\u𝖿z\u𝗀z\u𝗁z\u𝗂z\u𝗃z\u𝗄z\u𝗅z\u𝗆z\u𝗇z\u𝗈z\

' : '\U0001d4ab', '\\' : '\U0001d4ac', '\\' : '\U0000211b', '\\' : '\U0001d4ae', '\\' : '\U0001d4af', '\\' : '\U0001d4b0', '\\' : '\U0001d4b1', '\\' : '\U0001d4b2', '\\' : '\U0001d4b3', '\\' : '\U0001d4b4', '\\' : '\U0001d4b5', '\\' : '\U0001d5ba', '\\' : '\U0001d5bb', '\\' : '\U0001d5bc', '\\' : '\U0001d5bd', '\\' : '\U0001d5be', '\\' : '\U0001d5bf', '\\' : '\U0001d5c0', '\\' : '\U0001d5c1', '\\' : '\U0001d5c2', '\\' : '\U0001d5c3', '\\' : '\U0001d5c4', '\\' : '\U0001d5c5', '\\' : '\U0001d5c6', '\\' : '\U0001d5c7', '\\' : '\U0001d5c8', '\\