1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
Ë
ñúhŽãó¢—UddlmZddlZddlZddlZddlZddlmZm    Z    ddl
m Z ddl m Z mZmZmZmZmZmZmZmZmZmZddlmZddlmZmZddlmZdd    l m!Z!dd
l"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,dd l-m.Z.dd l/m0Z0dd l1m2Z2m3Z3ddl4m5Z5ddl6m7Z7ddl8m9Z9m:Z:ddl;m<Z<m=Z=m>Z>m?Z?ddl@mAZAddlBmCZCddlDmEZEmFZFddlGmZmHZHddlImJZJeeKdfZLejšdk(ZNdZOie+e«“e,ed¬«“e#ed¬«“e#j ed¬«“e&ed ¬«“e&j,ed¬«“e)j¢ed!¬«“e'j¤ed¬«“e'j¦ed"¬«“e'j¨edd¬#«“e'jªed"d¬#«“e'j¬ed¬«“e'j®ed!d¬$«“e'j°ed%¬«“e'j²ed%¬«“e'j´ed¬«“e'j¶ed&¬«“e*ed'¬«e(ed ¬«e%j¸ed(¬«e%jºed"¬«e%j¼ed¬)«e%j¾ed!d¬$«e%jÀed¬)«e%jHed(¬«e$ed%d¬#«i    ¥Zad*ebd+<ie+e«“e,ed,¬«“e#ed¬«“e#j ed-¬«“e&ed&¬«“e&j,ed-¬«“e)j¢ed.¬«“e'j¤ed-¬«“e'j¦ed/¬«“e'j¨ed-d¬#«“e'jªed/d¬#«“e'j¬ed-¬«“e'j®ed.d¬$«“e'j°ed(¬«“e'j²ed(¬«“e'j´ed-¬«“e'j¶ed&¬«“e*ed'¬«e(ed&¬«e%j¸ed(¬«e%jºed/¬«e%j¼ed¬)«e%j¾ed.d¬$«e%jÀed¬)«e%jHed(¬«e$ed%d¬#«i    ¥Zcd*ebd0<eaecd1œZdd2ZeGd3„d4e«ZfGd5„d6ef«ZgGd7„d8ef«ZheeieifZjGd9„d:e«ZkGd;„d<«ZlGd=„d>eA«Zm                        dd?„Zneod@k(r‡ddlpZpddlZepjâdA¬B«ZrerjçdCdDdE¬F«erjçdGdHdIdJddK¬L«erjçdMdNdOdJdPdQ¬L«erjçdRdSdTdJdU¬V«erjçdWdXeidYddZ¬[«erjçd\d]d^dJdPd_¬L«erjçd`dadJdbdPdc¬d«erjçdedfdgddh¬i«erjçdjdkdlddm¬i«erjçdndoddpdq¬r«erjçdsdteiddudv¬w«erjçdxeiddydz¬w«erjé«Zudd{lvm<Z<e<eujîeujð¬|«Z;eujòd}k(r‚ejôj÷«Z|eme|eujúeujüeujþeujeujeujeujeujh¬~«    Z…n{emj eujòeujúeujüeujþeujeujeujeujeujh¬«    Z…e;je…euj¬€«yy)‚é)Ú annotationsN)ÚABCÚabstractmethod)ÚPath) ÚAnyÚDictÚIterableÚListÚ
NamedTupleÚOptionalÚSequenceÚSetÚTupleÚTypeÚUnion)ÚLexer)Úget_lexer_by_nameÚguess_lexer_for_filename)ÚStyle)Úget_style_by_name)
ÚCommentÚErrorÚGenericÚKeywordÚNameÚNumberÚOperatorÚStringÚTokenÚ
Whitespace)Ú ClassNotFound)ÚLines)ÚPaddingÚPaddingDimensionsé)Ú
loop_first©Úcell_len)ÚColorÚ    blend_rgb)ÚConsoleÚConsoleOptionsÚ JustifyMethodÚ RenderResult)Ú JupyterMixin)Ú Measurement)ÚSegmentÚSegments)rÚ    StyleType)ÚText.Úwin32ÚmonokaiÚwhite©ÚcolorT©ÚdimÚcyanÚblueÚmagentaÚgreen)r9Ú    underline)r9ÚboldÚredÚ bright_blueÚyellowÚ
bright_red)rAúDict[TokenType, Style]Ú
ANSI_LIGHTÚ bright_blackÚ bright_cyanÚbright_magentaÚ bright_greenÚ    ANSI_DARK)Ú
ansi_lightÚ    ansi_darkécó4—eZdZdZedd„«Zedd„«Zy)Ú SyntaxThemezBase class for a syntax theme.có—t‚)z'Get a style for a given Pygments token.©ÚNotImplementedError)ÚselfÚ
token_types  úJH:\Change_password\venv_build\Lib\site-packages\pip/_vendor/rich/syntax.pyÚget_style_for_tokenzSyntaxTheme.get_style_for_tokenó
€ô"Ð!ócó—t‚)zGet the background color.rS©rUs rWÚget_background_stylez SyntaxTheme.get_background_style„rYrZN©rVÚ    TokenTypeÚreturnr©r`r)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrXr]©rZrWrQrQ|s+„Ù(àò"óð"ðò"óñ"rZrQcó(—eZdZdZdd„Zdd„Zdd„Zy)    ÚPygmentsSyntaxThemez.Syntax theme that delegates to Pygments theme.có—i|_t|t«r    t|«|_n||_|jj |_t|j¬«|_    y#t
$rtd«|_YŒRwxYw)NÚdefault©Úbgcolor)
Ú _style_cacheÚ
isinstanceÚstrrÚ_pygments_style_classr!Úbackground_colorÚ_background_colorrÚ_background_style)rUÚthemes  rWÚ__init__zPygmentsSyntaxTheme.__init__sx€Ø46ˆÔÜ eœSÔ !ð JÜ->¸uÓ-EÕ*ð*/ˆDÔ &à!%×!;Ñ!;×!LÑ!LˆÔÜ!&¨t×/EÑ/EÔ!FˆÕøô !ò JÜ->¸yÓ-IÖ*ð Jús™A(Á(BÂBc    óV—    |j|S#t$rŽ    |jj|«}|d}|d}t    |rd|znd|rd|zn |j
|d|d|d¬«}n##t$rt    j «}YnwxYw||j|<Y|SwxYw)    z"Get a style from a Pygments class.r9rlú#z#000000rAÚitalicr@)r9rlrArxr@)rmÚKeyErrorrpÚstyle_for_tokenrrrÚnull)rUrVÚpygments_styler9rlÚstyles      rWrXz'PygmentsSyntaxTheme.get_style_for_tokenšsɀð    2Ø×$Ñ$ ZÑ0Ð 0øÜò    2ð Ø!%×!;Ñ!;×!KÑ!KÈJÓ!Wð' wÑ/Ø(¨Ñ3ÜÙ).˜# š+°IÙ-4˜C 'šM¸$×:PÑ:PØ'¨Ñ/Ø)¨(Ñ3Ø,¨[Ñ9ô ‘øô ò %ÜŸ
™
› ’ð %úð-2ˆD× Ñ ˜jÒ )؈ ð!    2ús1‚‘    B(›A2¶<B(Á2BÂB(ÂBÂB(Â'B(có—|jS©N©rsr\s rWr]z(PygmentsSyntaxTheme.get_background_style°ó€Ø×%Ñ%Ð%rZN)rtzUnion[str, Type[PygmentsStyle]]r`ÚNoner^ra©rbrcrdrerurXr]rfrZrWrhrhŠs„Ù8ó Góô,&rZrhcó(—eZdZdZdd„Zdd„Zdd„Zy)    ÚANSISyntaxThemez$Syntax theme to use standard colors.có„—||_tj«|_tj«|_i|_yr)Ú    style_maprr{Ú_missing_stylersrm)rUr‡s  rWruzANSISyntaxTheme.__init__·s-€Ø"ˆŒÜ#Ÿj™j›lˆÔÜ!&§¡£ˆÔØ46ˆÕrZcóꗠ   |j|S#t$rX|jj}t    |«}|j
}|r||«}||}n|dd}|rŒ||j|<|cYSwxYw)zLook up style in the style map.Néÿÿÿÿ)rmryr‡ÚgetÚtuplerˆ)rUrVÚ    get_styleÚtokenr}Ú_styles      rWrXz#ANSISyntaxTheme.get_style_for_token½s€ð    Ø×$Ñ$ ZÑ0Ð 0øÜò    ðŸ™×*Ñ*ˆIܘ*Ó%ˆEØ×'Ñ'ˆEÙÙ" 5Ó)ØÐ%Ø"EØØ˜c˜r˜
ò ð -2ˆD× Ñ ˜jÑ )ØŠLð    ús‚‘A A2ÁA2Á1A2có—|jSrr€r\s rWr]z$ANSISyntaxTheme.get_background_styleÑrrZN)r‡rFr`r‚r^rarƒrfrZrWr…r…´s„Ù.ó7ó ô(&rZr…có>—eZdZUdZded<ded<ded<dZded    <y
) Ú_SyntaxHighlightRangezÞ
    A range to highlight in a Syntax object.
    `start` and `end` are 2-integers tuples, where the first integer is the line number
    (starting from 1) and the second integer is the column index (starting from 0).
    r3r}ÚSyntaxPositionÚstartÚendFÚboolÚ style_beforeN)rbrcrdreÚ__annotations__r—rfrZrWr’r’Øs%…ñð ÓØ ÓØ    ÓØ€L$ÔrZr’có —eZdZdZdd„Zdd„Zy)ÚPaddingPropertyz"Descriptor to get and set padding.có—|jS)zSpace around the Syntax.)Ú_padding)rUÚobjÚobjtypes   rWÚ__get__zPaddingProperty.__get__ès €à|‰|ÐrZcó8—tj|«|_yr)r#Úunpackrœ)rUrÚpaddings   rWÚ__set__zPaddingProperty.__set__ìs€Ü—~‘~ gÓ.ˆ rZN)rÚSyntaxržz Type[Syntax]r`zTuple[int, int, int, int])rr¤r¢r$r`r‚)rbrcrdrerŸr£rfrZrWršršås„Ù,óô/rZršcóþ—eZdZUdZded<ded<edd„«Zedddd    d    d    d
dd    dd d œ                                                                                                                     d d „Ze    «Z
edd    eddd    dd    d    d
dd    dd f                                                                                                                            d!d„«Z ed"d#d„«Z d$d„Z d%d„Zed&d„«Zed'd„«Z    d"                    d(d„Z    d)                                    d*d„Zd+d,d„Zed-d„«Zd.d„Z                        d/d„Z                        d0d„Z                        d1d„Zd2d„Zd3d„Zy    )4r¤a¤Construct a Syntax object to render syntax highlighted code.
 
    Args:
        code (str): Code to highlight.
        lexer (Lexer | str): Lexer to use (see https://pygments.org/docs/lexers/)
        theme (str, optional): Color theme, aka Pygments style (see https://pygments.org/docs/styles/#getting-a-list-of-available-styles). Defaults to "monokai".
        dedent (bool, optional): Enable stripping of initial whitespace. Defaults to False.
        line_numbers (bool, optional): Enable rendering of line numbers. Defaults to False.
        start_line (int, optional): Starting number for line numbers. Defaults to 1.
        line_range (Tuple[int | None, int | None], optional): If given should be a tuple of the start and end line to render.
            A value of None in the tuple indicates the range is open in that direction.
        highlight_lines (Set[int]): A set of line numbers to highlight.
        code_width: Width of code to render (not including line numbers), or ``None`` to use all available width.
        tab_size (int, optional): Size of tabs. Defaults to 4.
        word_wrap (bool, optional): Enable word wrapping.
        background_color (str, optional): Optional background color, or None to use theme color. Defaults to None.
        indent_guides (bool, optional): Show indent guides. Defaults to False.
        padding (PaddingDimensions): Padding to apply around the syntax. Defaults to 0 (no padding).
    zType[PygmentsStyle]rprQÚ_themecóx—t|t«r|S|tvrtt|«}|St    |«}|S)zGet a syntax theme instance.)rnrQÚRICH_SYNTAX_THEMESr…rh)ÚclsÚnamerts   rWÚ    get_themezSyntax.get_themesD€ô dœKÔ (؈Kà Ô%Ñ %Ü#Ô$6°tÑ$<Ó=ˆEðˆ ô(¨Ó-ˆE؈ rZFr%Nér) rtÚdedentÚ line_numbersÚ
start_lineÚ
line_rangeÚhighlight_linesÚ
code_widthÚtab_sizeÚ    word_wraprqÚ indent_guidesr¢c ól—||_||_||_||_||_||_|xs
t «|_|    |_|
|_    | |_
| |_ | r t| ¬«n    t«|_ | |_tj |«|_|j%|«|_g|_y)Nrk)ÚcodeÚ_lexerr­r®r¯r°Úsetr±r²r³r´rqrÚbackground_stylerµr#r¡rœr«r¦Ú_stylized_ranges)rUr·Úlexerrtr­r®r¯r°r±r²r³r´rqrµr¢s               rWruzSyntax.__init__s¤€ð$ˆŒ    ØˆŒ ؈Œ Ø(ˆÔØ$ˆŒØ$ˆŒØ.Ò7´#³%ˆÔØ$ˆŒØ ˆŒ Ø"ˆŒØ 0ˆÔá/?ŒEÐ*Õ +ÄUÃWð     Ôð+ˆÔÜŸ™ wÓ/ˆŒ à—n‘n UÓ+ˆŒ Ø=?ˆÕrZzutf-8cóŽ—t|«j|¬«}|s|j||¬«}|||||||||    |
| | | ||¬«S)aConstruct a Syntax object from a file.
 
        Args:
            path (str): Path to file to highlight.
            encoding (str): Encoding of file.
            lexer (str | Lexer, optional): Lexer to use. If None, lexer will be auto-detected from path/file content.
            theme (str, optional): Color theme, aka Pygments style (see https://pygments.org/docs/styles/#getting-a-list-of-available-styles). Defaults to "emacs".
            dedent (bool, optional): Enable stripping of initial whitespace. Defaults to True.
            line_numbers (bool, optional): Enable rendering of line numbers. Defaults to False.
            start_line (int, optional): Starting number for line numbers. Defaults to 1.
            line_range (Tuple[int, int], optional): If given should be a tuple of the start and end line to render.
            highlight_lines (Set[int]): A set of line numbers to highlight.
            code_width: Width of code to render (not including line numbers), or ``None`` to use all available width.
            tab_size (int, optional): Size of tabs. Defaults to 4.
            word_wrap (bool, optional): Enable word wrapping of code.
            background_color (str, optional): Optional background color, or None to use theme color. Defaults to None.
            indent_guides (bool, optional): Show indent guides. Defaults to False.
            padding (PaddingDimensions): Padding to apply around the syntax. Defaults to 0 (no padding).
 
        Returns:
            [Syntax]: A Syntax object that may be printed to the console
        )Úencoding)r·) rtr­r®r°r¯r±r²r³r´rqrµr¢)rÚ    read_textÚ guess_lexer)r©Úpathr¾r¼rtr­r®r°r¯r±r²r³r´rqrµr¢r·s                 rWÚ    from_pathzSyntax.from_path<sh€ôRD‹z×#Ñ#¨XÐ#Ó6ˆáØ—O‘O D¨tOÓ4ˆEáØ Ø ØØØ%Ø!Ø!Ø+Ø!ØØØ-Ø'Øô
ð    
rZcó`—d}d}|r     t||«}|sO    tjj    |«\}}|r*|j d«j «}t|«}|r)|jr|jd}|S|j}|S#t$rYŒ‰wxYw#t$rYŒGwxYw)a­Guess the alias of the Pygments lexer to use based on a path and an optional string of code.
        If code is supplied, it will use a combination of the code and the filename to determine the
        best lexer to use. For example, if the file is ``index.html`` and the file contains Django
        templating syntax, then "html+django" will be returned. If the file is ``index.html``, and no
        templating language is used, the "html" lexer will be used. If no string of code
        is supplied, the lexer will be chosen based on the file extension..
 
        Args:
            path (AnyStr): The path to the file containing the code you wish to know the lexer for.
            code (str, optional): Optional string of code that will be used as a fallback if no lexer
                is found for the supplied path.
 
        Returns:
            str: The name of the Pygments lexer that best matches the supplied path/code.
        Nrjú.r)
rr!ÚosrÁÚsplitextÚlstripÚlowerrÚaliasesrª)r©rÁr·r¼Ú
lexer_nameÚ_ÚextÚ    extensions        rWrÀzSyntax.guess_lexer{sÁ€ð""&ˆØˆ
Ù ð Ü0°°tÓ<ñð ÜŸ™×)Ñ)¨$Ó/‘3ÙØ #§
¡
¨3£× 5Ñ 5Ó 7IÜ-¨iÓ8Eñ ؏}Š}Ø"Ÿ]™]¨1Ñ-
ðÐð#ŸZ™Z
àÐøô%!ò Ùð ûô!ò Ùð ús#ˆ B—AB!    BÂBÂ!    B-Â,B-cóT—|jj«|jz}|S)zGet the base style.)r¦r]rº)rUÚ default_styles  rWÚ_get_base_stylezSyntax._get_base_style¥s%€àŸ ™ ×8Ñ8Ó:¸T×=RÑ=RÑRˆ ØÐrZcóP—|jj|«}|jS)zÞGet a color (if any) for the given token.
 
        Args:
            token_type (TokenType): A token type tuple from Pygments.
 
        Returns:
            Optional[Color]: Color from theme, or None for no color.
        )r¦rXr9)rUrVr}s   rWÚ_get_token_colorzSyntax._get_token_colorªs"€ð— ‘ ×/Ñ/°
Ó;ˆØ{‰{ÐrZcó´—t|jt«r |jS    t|jdd|j¬«S#t
$rYywxYw)z–The lexer for this syntax, or None if no lexer was found.
 
        Tries to find the lexer by name if a string was passed to the constructor.
        FT©ÚstripnlÚensurenlÚtabsizeN)rnr¸rrr³r!r\s rWr¼z Syntax.lexer¶sV€ô d—k‘k¤5Ô )Ø—;‘;Ð ð    Ü$Ø— ‘ ØØØŸ ™ ô    ð øô ò    Ùð    ús¨"A Á     AÁAcó4—tddd|j¬«S)z;A Pygments Lexer to use if one is not specified or invalid.ÚtextFTrÔ)rr³r\s rWÚ default_lexerzSyntax.default_lexerÉs!€ô!Ø ØØØ—M‘Mô    
ð    
rZcó^‡‡‡‡    ‡
‡ —|j«}|jrdnd}t|||j|j ¬«}|j
j Š|jxs |jЉ€|j‰«n|r,|\Š
Š    dˆˆfd„ Š d    ˆˆ    ˆ
ˆ fd„ }|j|««n)|jˆfd„‰j‰«D««|j|jd|j›«|jr|j|«|S)
aHighlight code and return a Text instance.
 
        Args:
            code (str): Code to highlight.
            line_range(Tuple[int, int], optional): Optional line range to highlight.
 
        Returns:
            Text: A text instance containing highlighted syntax.
        rjÚleft)Újustifyr}r³Úno_wrapc3ó•K—‰sJ‚‰j‰«D])\}}|sŒ    |jd«\}}}|||zf–—|rŒ!Œ+y­w)zSplit tokens to one per line.ú
N)Ú
get_tokensÚ    partition)rVrŽÚ
line_tokenÚnew_liner·r¼s    €€rWÚ line_tokenizez'Syntax.highlight.<locals>.line_tokenizeùs\øèø€á L˜5à-2×-=Ñ-=¸dÓ-CòDÑ)˜
 EÚ#Ø:?¿/¹/È$Ó:OÑ7˜J¨°%Ø",¨j¸8Ñ.CÐ"CÒCó$ñDùsƒA¢ AÁAc3ó<•K—t‰    ««}d}‰r‰dz
nd}||kr1    t|«\}}|df–—|jd«r|dz }||krŒ1|D]2\}}|‰|«f–—|jd«sŒ$|dz }‰sŒ,|‰k\sŒ2yy#t$rYŒCwxYw­w)zConvert tokens to spans.rr%Nrà)ÚiterÚnextÚ StopIterationÚendswith)
ÚtokensÚline_noÚ _line_startÚ _token_typerŽrVÚ_get_theme_styleÚline_endÚ
line_startrås
      €€€€rWÚtokens_to_spansz)Syntax.highlight.<locals>.tokens_to_spanssÉøèø€ä!¡-£/Ó2FؐGÙ4> *¨q¢.ÀAKð" KÒ/ð"Ü15°f³Ñ.˜K¨ð % d˜mÒ+Ø Ÿ>™>¨$Ô/Ø# q™L˜Gð" KÓ/ð.4ò&Ñ)˜
 EØ$Ñ&6°zÓ&BÐCÒCØ Ÿ>™>¨$Õ/Ø# q™L˜GÚ'¨G°xÓ,?Ù %ñ &øô  -ò"Ù!ð"üs?ƒ!B¥B ³!BÁ%BÁ;BÂB    B     BÂBÂBÂBc3ó8•K—|]\}}|‰|«f–—Œy­wrrf)Ú.0rVrŽrïs   €rWú    <genexpr>z#Syntax.highlight.<locals>.<genexpr>s(øèø€ò#á)˜
 EðÑ,¨ZÓ8Ô9ñ#ùsƒzon )r`zIterable[Tuple[Any, str]])r`z%Iterable[Tuple[str, Optional[Style]]])rÐÚtransparent_backgroundr4r³r´r¦rXr¼rÚÚappendÚ append_tokensrárqÚstylizer»Ú_apply_stylized_ranges) rUr·r°Ú
base_stylerÝrÙròrïr¼rðrñrås  `     @@@@@rWÚ    highlightzSyntax.highlightÓsý€ð×)Ñ)Ó+ˆ
à#×:Ò:‰IÀð    ôØØØ—]‘]ØŸ™Ð&ô    
ˆð  Ÿ;™;×:Ñ:Ðà—
‘
Ò0˜d×0Ñ0ˆà ˆ=Ø K‰K˜Õ áð(2Ñ$
˜HöD÷&ð&ð.×"Ñ"¡?Ó#4Õ5ð×"Ñ"ó#à-2×-=Ñ-=¸dÓ-Cô#ôð×$Ñ$Ð0Ø— ‘ ˜s 4×#8Ñ#8Ð"9Ð:Ô;à ×  Ò  Ø × 'Ñ '¨Ô -àˆ rZcóR—|jjt||||««y)a
        Adds a custom style on a part of the code, that will be applied to the syntax display when it's rendered.
        Line numbers are 1-based, while column indexes are 0-based.
 
        Args:
            style (StyleType): The style to apply.
            start (Tuple[int, int]): The start of the range, in the form `[line number, column index]`.
            end (Tuple[int, int]): The end of the range, in the form `[line number, column index]`.
            style_before (bool): Apply the style before any existing styles.
        N)r»r÷r’)rUr}r”r•r—s     rWÚ stylize_rangezSyntax.stylize_range(s&€ð"     ×Ñ×$Ñ$Ü ! %¨°°\Ó Bõ    
rZcó´—|jj«|jz}|j}| |jrt j «S|jtj«}| |jr|xst j «St|j«|j«|¬«}t j|«S)N)Ú
cross_fade) r¦r]rºrlÚis_system_definedr)rjrÒrr4r*Ú get_truecolorÚ from_triplet)rUÚblendrºrqÚforeground_colorÚ    new_colors      rWÚ_get_line_numbers_colorzSyntax._get_line_numbers_color=s´€ØŸ;™;×;Ñ;Ó=À×@UÑ@UÑUÐØ+×3Ñ3ÐØ Ð #Ð'7×'IÒ'IÜ—=‘=“?Ð "Ø×0Ñ0´·±Ó<ÐØ Ð #Ð'7×'IÒ'IØ#Ò6¤u§}¡}£Ð 6ÜØ × *Ñ *Ó ,Ø × *Ñ *Ó ,Øô
ˆ    ô
×!Ñ! )Ó,Ð,rZcó¤—d}|jrAtt|j|jj d«z««t z}|S)z?Get the number of characters used to render the numbers column.rrà)r®Úlenror¯r·ÚcountÚNUMBERS_COLUMN_DEFAULT_PADDING)rUÚ column_widths  rWÚ_numbers_column_widthzSyntax._numbers_column_widthLsJ€ðˆ Ø × Ò ä”C˜Ÿ™¨$¯)©)¯/©/¸$Ó*?Ñ?Ó@ÓAÜ0ñ1ð ðÐrZc
óŒ—|j«}|jr3tj«td¬«tj«fS|jdvrÅtj
||j jtj«t|j«¬«|j«}tj
||j jtj«td|jd«¬«|j«}n|td¬«z}|td¬«z}|||fS)z>Get background, number, and highlight styles for line numbers.Tr:)Ú256Ú    truecolorr8gÍÌÌÌÌÌì?)rAr9F) rÐrörr{Ú color_systemÚchainr¦rXrr4rrº)rUÚconsolerºÚ number_styleÚhighlight_number_styles     rWÚ_get_number_styleszSyntax._get_number_stylesWsý€à×/Ñ/Ó1ÐØ × 2Ò 2Ü—:‘:“<¤¨4¤´%·*±*³,Ð>Ð >Ø × Ñ Ð#7Ñ 7Ü Ÿ;™;ؠؗ ‘ ×/Ñ/´·
±
Ó;ܘD×8Ñ8Ó:Ô;Ø×%Ñ%ó    ˆLô &+§[¡[ؠؗ ‘ ×/Ñ/´·
±
Ó;ܘ4 t×'CÑ'CÀCÓ'HÔIØ×%Ñ%ó    &Ñ "ð,¬e¸¬oÑ=ˆLØ%5¼À%Ô8HÑ%HÐ "Ø Ð/EÐEÐErZcó~—|j\}}}}||z}|j5|j|jz|zdz}t|j|«S|jj «}|j|z|rt d„|D««ndz}|jr|dz }t|j|«S)Nr%c3ó2K—|]}t|«–—Œy­wrr')rôÚlines  rWrõz*Syntax.__rich_measure__.<locals>.<genexpr>zsèø€Ò4 d”8˜D—>Ñ4ùs‚r)r¢r²r r0r·Ú
splitlinesÚmaxr®)    rUrÚoptionsrËÚrightrÜr¢ÚwidthÚliness             rWÚ__rich_measure__zSyntax.__rich_measure__nsÁ€ð!ŸL™Lшˆ5!Tؘ‘,ˆØ ?‰?Ð &Ø—O‘O d×&@Ñ&@Ñ@À7ÑJÈQÑNˆEܘt×9Ñ9¸5ÓAÐ AØ—    ‘    ×$Ñ$Ó&ˆà × &Ñ &Øñ á8=ŒsÑ4¨eÔ4Ô4À1ñ Fð    ð
× Ò Ø Q‰JˆEܘ4×5Ñ5°uÓ=Ð=rZc#óÆK—t|j||««}t|j«r)t    ||j «|j¬«–—y|–—y­w)N©r}Úpad)r2Ú _get_syntaxÚanyr¢r#rÐ)rUrrÚsegmentss    rWÚ__rich_console__zSyntax.__rich_console__€sLèø€ô˜D×,Ñ,¨W°gÓ>Ó?ˆÜ ˆt|‰|Ô Ü˜(¨$×*>Ñ*>Ó*@ÀdÇlÁlÔSÓ Sà‹Nùs‚AA!c#óÆ    K—|j«j}|j\}}}}||z}|j€7|jr|j
|j z
dz
n |j
|z
n |j}    td|    «}    |j|j«\}
} |j| |j«} |js/|js"|js|
s| jd«|j«|jjt «zt#d¬«z|j$z} |j&r0|j(s$| j+|j,| ¬«} d| _| jr,|j1| |j3|    ¬    «¬
«Ed{–—†y|j5| |j3|    dd ¬ «|j$dd¬ «}|D] }|Ed{–—†Œy|jxsd\}}d}|rtd|dz
«}| j7d|
¬«}|jr|t9|«kDry|||}|j&r©|j(s|j«|jjt «zt#d¬«z|j$z} t;d«j=|«j+|j,| t#d¬«z¬«j7dd¬«}|j }|j3|    ¬    «}|j>j@}tB}|d«}|jDrdnd}|jG|«\}}}tI||jJ|z«D]@\}}|jr(|j5||j3dd ¬«|| ¬«}nMtM|j1|d¬««} |jNr| g}n!|jQ| |j
|| ¬«g}|jr˜|d|zdz|«}!tS|«D]y\}"}#|"r`tU|«jW|dz
«dz}$||«r!||t#d¬««–—||$|«–—n|d|«–—||$|«–—n|!–—|#Ed{–—†|–—Œ{Œ,|D]}#|#Ed{–—†|–—ŒŒCy7Œ7ŒÞ7Œ+7Œ­w)zc
        Get the Segments for the Syntax object, excluding any vertical/horizontal padding
        Nr%rràTr:)r}Úcrop)r)rrÜ)rÚheightrÝ)r}r#Ú    new_lines)NN)Ú allow_blankF)rxz> u❱ )r*rÝr"Ú)r•ú rOrBr8z  ),rÐrör¢r²r®Ú    max_widthr rÚ _process_coder·rür°r´Ú remove_suffixr¦rXrrrºrµÚ
ascii_onlyÚwith_indent_guidesr³ÚoverflowÚrenderÚupdateÚ render_linesÚsplitr    r4Újoinr±Ú __contains__r1Úlegacy_windowsrÚ    enumerater¯ÚlistrÞÚadjust_line_lengthr&roÚrjust)%rUrrröÚ_pad_topÚ    pad_rightÚ _pad_bottomÚpad_leftÚhorizontal_paddingr²Ú
ends_on_nlÚprocessed_coderÙr}Ú syntax_linesÚ syntax_liner¯Úend_lineÚ line_offsetrÚnumbers_column_widthÚrender_optionsÚhighlight_lineÚ_SegmenträÚ line_pointerrºrrrìrÚ wrapped_linesr&Úwrapped_line_left_padÚfirstÚ wrapped_lineÚ line_columns%                                     rWr$zSyntax._get_syntax‰sèø€ð"&×!5Ñ!5Ó!7×!NÑ!NÐØ59·\±\Ñ2ˆ)˜[¨(Ø%¨    Ñ1Ðð‰Ð&ð    ×$Ò$ð×"Ñ" T×%?Ñ%?Ñ?À!ÒCà×&Ñ&à ò  !ð—‘ð    ô˜˜JÓ'ˆ
à%)×%7Ñ%7¸¿    ¹    Ó%BÑ"ˆ
N؏~‰~˜n¨d¯o©oÓ>ˆà× Ó ¨¯«ÀÇÃÙØ×"Ñ" 4Ô(ð×$Ñ$Ó&Ø—+‘+×1Ñ1´'Ó:ñ;ä˜D”/ñ"ð×'Ñ'ñ(ð ð ×!Ò!¨'×*<Ò*<Ø×.Ñ.¨t¯}©}ÀEÐ.ÓJØ &” Ø×+Ò+Ø"Ÿ>™>Ø '§.¡.°z .Ó"Bð*ó÷ðð ð '×3Ñ3ØØ—N‘N¨¸DÈ&NÓQØ×/Ñ/ØØ"ð  4ó  ð$0ò+KØ*×*Ñ*ð+à à#Ÿ™Ò>°,ш
H؈ ٠ܘa ¨a¡Ó0ˆKØ*.¯*©*°TÀz¨*Ó*RˆØ ?Š?ØœS ›ZÒ'ØØ˜+ hÐ/ˆEà × Ò  g×&8Ò&8à×$Ñ$Ó&Ø—+‘+×1Ñ1´'Ó:ñ;ä˜D”/ñ"ð×'Ñ'ñ(ð ôT“
ß‘e“ß#Ñ# D§M¡M¸ÄÈeÔATÑ9TÐ#ÓUß‘t¨Ó.ð     ð $×9Ñ9ÐØ Ÿ™¨j˜Ó9ˆà×-Ñ-×:Ñ:ˆÜˆÙ˜D“>ˆà&×5Ò5‘t¸6ˆ ð × #Ñ # GÓ ,ñ        
Ø Ø Ø "ô' u¨d¯o©oÀ Ñ.KÓLó*    #‰MˆGT؏~Š~Ø '× 4Ñ 4ØØ"×)Ñ)°¸vÐ)ÓFØ*Ø2Ð2ð    !5ó!‘ ô  § ¡ ¨G¸  Ó <Ó=Ø—?’?Ø%- J‘Mð!×3Ñ3Ø$Ø*×4Ñ4Ø"2Ø$:Р:ð    4óð%Mð× Ò Ù(0ØÐ.Ñ.°Ñ4Ð6Fó)Ð%ô,6°mÓ+Dò #Ñ'E˜<ÙÜ&)¨'£l×&8Ñ&8Ð9MÐPQÑ9QÓ&RÐUXÑ&X˜ Ù)¨'Ô2Ù"*¨<¼ÀUÔ9KÓ"LÒLÙ"*¨;Ð8NÓ"OÓOá"*¨4Ð1GÓ"HÒHÙ"*¨;¸ Ó"EÓEà3Ò3Ø+×+Ð+Ø"“Nò #ð%2ò#LØ+×+Ð+Ø"“Nò#ñQ*    #ðmùð+ùð^,øð,úsJ‚F8S!Æ:SÆ;AS!Ç<SÇ=J4S!Ò1SÒ2S!ÓSÓ    S!ÓS!ÓS!ÓS!cóæ—|j}dgtjd|tj¬«Dcgc]}|j    «dz‘Œc}¢t |«dz‘}|j D]{}t||j«}t||j«}|€Œ2|€Œ5|jr|j|j||«Œ_|j|j||«Œ}ycc}w)zÛ
        Apply stylized ranges to a text instance,
        using the given code to determine the right portion to apply the style to.
 
        Args:
            text (Text): Text instance to apply the style to.
        rrà)Úflagsr%N) ÚplainÚreÚfinditerÚ    MULTILINEr”r    r»Ú#_get_code_index_for_syntax_positionr•r—Ústylize_beforer}rù)rUrÙr·ÚmatchÚnewlines_offsetsÚstylized_ranger”r•s        rWrúzSyntax._apply_stylized_rangessò€ðz‰zˆð ð    
ô  Ÿ[™[¨¨t¼2¿<¹<ÔHöàð— ‘ “  Ó!òð        
ô ‹I˜‰Mð    
Ðð#×3Ñ3ò     CˆNÜ7Ø  .×"6Ñ"6óˆEô6Ø  .×"4Ñ"4óˆCðÑ  S¡_Ø!×.Ò.Ø×'Ñ'¨×(<Ñ(<¸eÀSÕIà—L‘L ×!5Ñ!5°u¸cÕBñ     Cùòs·C.cóº—|jd«}|r|n|dz}|jrtj|«n|}|j|j«}||fS)a
        Applies various processing to a raw code string
        (normalises it so it always ends with a line return, dedents it if necessary, etc.)
 
        Args:
            code (str): The raw code string to process
 
        Returns:
            Tuple[bool, str]: the boolean indicates whether the raw code ends with a line return,
                while the string is the processed code.
        rà)rêr­ÚtextwrapÚ
expandtabsr³)rUr·rErFs    rWr0zSyntax._process_code4sY€ð—]‘] 4Ó(ˆ
Ù!+™°¸±ˆà/3¯{ª{ŒHO‰O˜NÔ +Àð    ð(×2Ñ2°4·=±=ÓAˆØ˜>Ð)Ð)rZ)rªúUnion[str, SyntaxTheme]r`rQ)r·ror¼zUnion[Lexer, str]rtrcr­r–r®r–r¯Úintr°ú-Optional[Tuple[Optional[int], Optional[int]]]r±úOptional[Set[int]]r²ú Optional[int]r³rdr´r–rqú Optional[str]rµr–r¢r$r`r‚) rÁror¾ror¼zOptional[Union[Lexer, str]]rtrcr­r–r®r–r°zOptional[Tuple[int, int]]r¯rdr±rfr²rgr³rdr´r–rqrhrµr–r¢r$r`z'Syntax'r)rÁror·rhr`rora)rVr_r`zOptional[Color])r`zOptional[Lexer])r`r)r·ror°rer`r4)F)
r}r3r”r“r•r“r—r–r`r‚)g333333Ó?)rÚfloatr`r))r`rd)rr+r`zTuple[Style, Style, Style])rz    'Console'rz'ConsoleOptions'r`z 'Measurement')rr+rr,r`r.)rr+rr,r`zIterable[Segment])rÙr4r`r‚)r·ror`zTuple[bool, str])rbrcrdrer˜Ú classmethodr«Ú DEFAULT_THEMEruršr¢rÂrÀrÐrÒÚpropertyr¼rÚrürþrr rr r'r$rúr0rfrZrWr¤r¤ðs…ñð(/Ó.Ø Óàò    óð    ð *7ØØ"ØØDHØ.2Ø$(ØØØ*.Ø#Ø%&ñ!$@àð$@ð!ð$@ð
'ð $@ð ð $@ðð$@ðð$@ðBð$@ð,ð$@ð"ð$@ðð$@ðð$@ð(ð$@ðð$@ð #ð!$@ð"
ó#$@ñLÓ€Gàð Ø-1Ø)6ØØ"Ø04ØØ.2Ø$(ØØØ*.Ø#Ø%&ð!<
àð<
ðð<
ð+ð    <
ð
'ð <
ð ð <
ðð<
ð.ð<
ðð<
ð,ð<
ð"ð<
ðð<
ðð<
ð(ð<
ðð<
ð #ð!<
ð"
ò#<
óð<
ð|ó'óð'óRó
 
ðòóðð$ò
óð
ðEIðSàðSðBðSð
ó    Sðt#ð 
àð
ðð
ðð    
ð
ð 
ð
ó 
ô* -ðòóðóFð.>Ø ð>Ø+;ð>à    ó>ð$ØðØ)7ðà    óðH#àðH#ð ðH#ð
ó    H#óTCôB*rZr¤có¤—t|«}|\}}||kDst|«|dzkry|dz
}||dz||z
dz
}t||«}|||zS)a
    Returns the index of the code string for the given positions.
 
    Args:
        newlines_offsets (Sequence[int]): The offset of each newline character found in the code snippet.
        position (SyntaxPosition): The position to search for.
 
    Returns:
        Optional[int]: The index of the code string for this position, or `None`
            if the given position's line number is out of range (if it's the column that is out of range
            we silently clamp its value so that it reaches the end of the line)
    r%N)r    Úmin)r^ÚpositionÚ lines_countÚ line_numberÚ column_indexÚ
line_indexÚ line_lengths       rWr[r[Isy€ôÐ&Ó'€Kà (Ñ€KØ[Ò ¤CÐ(8Ó$9¸[È1¹_Ò$MØØ˜q‘€JØ" :°¡>Ñ2Ð5EÀjÑ5QÑQÐTUÑU€Kä{ LÓ1€LØ ˜JÑ '¨,Ñ 6Ð6rZÚ__main__z&Render syntax to the console with Rich)Ú descriptionrÁÚPATHzpath to file, or - for stdin)ÚmetavarÚhelpz-cz --force-colorÚ force_colorÚ
store_truezforce color for non-terminals)ÚdestÚactionrjryz-iz--indent-guidesrµFzdisplay indent guidesz-lz--line-numbersr®zrender line numbers)r|r}ryz-wz--widthrz*width of output (default will auto-detect))Útyper|rjryz-rz--wrapr´zword wrap long linesz-sz --soft-wrapÚ    soft_wrapzenable soft wrapping mode)r}r|rjryz-tz--themertzpygments theme)r|rjryz-bz--background-colorrqzOverride background colorz-xz--lexerrÊz
Lexer name)rjr|ryz-pz    --paddingr¢r#)r~rjr|ryz--highlight-linerMz)The line number (not index!) to highlight)r+)Úforce_terminalrú-)    r·r¼r®r´rtrqrµr¢r±)r¼r®r´rtrqrµr¢r±)r)r^z Sequence[int]ror“r`rg)‰Ú
__future__rÚos.pathrÅrXÚsysraÚabcrrÚpathlibrÚtypingrrr    r
r r r rrrrÚpip._vendor.pygments.lexerrÚpip._vendor.pygments.lexersrrÚpip._vendor.pygments.stylerÚ PygmentsStyleÚpip._vendor.pygments.stylesrÚpip._vendor.pygments.tokenrrrrrrrrrr Úpip._vendor.pygments.utilr!Úpip._vendor.rich.containersr"Úpip._vendor.rich.paddingr#r$Ú_loopr&Úcellsr(r9r)r*rr+r,r-r.Újupyterr/Úmeasurer0Úsegmentr1r2r}r3rÙr4ror_ÚplatformÚWINDOWSrkÚPreprocÚWordÚBuiltinÚFunctionÚ    NamespaceÚClassÚ    ExceptionÚ    DecoratorÚVariableÚConstantÚ    AttributeÚTagÚDeletedÚInsertedÚHeadingÚ
SubheadingÚPromptrGr˜rLr¨r rQrhr…rdr“r’ršr¤r[rbÚargparseÚArgumentParserÚparserÚ add_argumentÚ
parse_argsÚargsÚpip._vendor.rich.consolerzrrÁÚstdinÚreadr·rÊr®r´rtrqrµr¢rMÚsyntaxrÂÚprintrrfrZrWú<module>r´sÒðÞ"ãÛ    Û
Ûß#Ý÷ ÷ ÷ ñ õ-ßSÝ=Ý9÷ ÷ ÷ õ4å-ß?åÝß#ßIÓIÝ!Ý ß&ß#Ýà #s(‰O€    à
,‰,˜'Ñ
!€Ø€ ð
&Ø    ‰5‹7ð&à‘˜GÔ$ð&ð ‰UtŒ_ð&ð ‡OO‘U Ô(ð    &ð
 ‰U˜Ô  ð &ð  ‡LL‘%˜fÔ%ð &ð ‡MM‘5˜yÔ)ð&ð    ‡LL‘%˜fÔ%ð&ð    ‡MM‘5˜wÔ'ð&ð    ‡NN‘E °$Ô7ð&ð    ‡JJ‘˜G¨tÔ4ð&ð    ‡NN‘E Ô'ð&ð    ‡NN‘E     °Ô5ð&ð    ‡MM‘5˜uÔ%ð&ð    ‡MM‘5˜uÔ%ð&ð     ‡NN‘E Ô'ð!&ð"    ‡HH‰e˜-Ô(ð#&ð$ ‰E˜Ô !Ø
‰E˜Ô Ø ‡OO‘U Ô.Ø ×Ñ‘e 'Ô*Ø ‡OO‘U Ô%Ø ×Ñ™ I°DÔ9Ø ‡NN‘E˜tÔ$Ø ‡MM‘5˜|Ô,Ø    ‰5u¨Ô -ñ5&€
Ð "óð:%Ø    ‰5‹7ð%à‘˜NÔ+ð%ð ‰UtŒ_ð%ð ‡OO‘U Ô/ð    %ð
 ‰U˜Ô 'ð %ð  ‡LL‘%˜mÔ,ð %ð ‡MM‘5Ð/Ô0ð%ð    ‡LL‘%˜mÔ,ð%ð    ‡MM‘5˜~Ô.ð%ð    ‡NN‘E  ¸Ô>ð%ð    ‡JJ‘˜N°dÔ;ð%ð    ‡NN‘E  Ô.ð%ð    ‡NN‘EР0°tÔ<ð%ð    ‡MM‘5˜|Ô,ð%ð    ‡MM‘5˜|Ô,ð%ð     ‡NN‘E  Ô.ð!%ð"    ‡HH‰e˜-Ô(ð#%ð$ ‰E˜Ô !Ø
‰E˜ Ô &Ø ‡OO‘U Ô.Ø ×Ñ‘e .Ô1Ø ‡OO‘U Ô%Ø ×Ñ™Ð$4¸4Ô@Ø ‡NN‘E˜tÔ$Ø ‡MM‘5˜|Ô,Ø    ‰5u¨Ô -ñ5%€    Ð !óð:%/¸YÑGÐØ!"Ðô "#ô "ô'&˜+ô'&ôT&kô&ðBs˜Cx‘€ô
˜Jô
÷/ñ/ôV    *ˆ\ôV    *ðr7Ø#ð7Ø/=ð7àó7ð6 ˆzÓÛÛà $ˆX× $Ñ $Ø<ô€Fð ×ÑØØØ +ðôð
 ×ÑØ ØØ ØØØ ,ð ôð ×ÑØ ØØ ØØØ $ð ôð ×ÑØ ØØ ØØ "ð ôð ×ÑØ ØØ Ø ØØ 9ð ôð ×ÑØ ØØ ØØØ #ð ôð ×ÑØ ØØØ ØØ (ð ôð ×ÑØ ˆi˜g¨yÐ?Oðôð ×ÑØ ØØ ØØ (ð ôð ×ÑØ ØØØ Ø ð ôð ×ÑØ ˆk ¨Q°YÀYðôð ×ÑØØ ØØ Ø 8ð ôð × Ñ Ó €Då0á T×%5Ñ%5¸T¿Z¹ZÔH€Gà ‡yyCÒØy‰y~‰~ÓˆÙØØ—/‘/Ø×*Ñ*Ø—n‘nØ—*’*Ø!×2Ò2Ø×,Ò,Ø—L’LØ!×0Ò0Ð1ô
 
‰ð×!Ò!Ø I‰IØ—/‘/Ø×*Ñ*Ø—n‘nØ—*’*Ø!×2Ò2Ø×,Ò,Ø—L’LØ!×0Ò0Ð1ð"ó
 
ˆð ‡M‚M& D§N¢N€MÕ3ðkrZ