python (3.11.7)

(root)/
lib/
python3.11/
__pycache__/
tabnanny.cpython-311.pyc

e#,dZdZddlZddlZddlZgdZdadadZdZ	Gdde
Zd	ZGd
dZ
dZd
Zedkre	dSdS)aThe Tab Nanny despises ambiguous indentation.  She knows no mercy.

tabnanny -- Detection of ambiguous indentation

For the time being this module is intended to be called as a script.
However it is possible to import it into an IDE and use the function
check() described below.

Warning: The API provided by this module is likely to change in future
releases; such changes may not be backward compatible.
6N)checkNannyNagprocess_tokenscd}|D]3}tj|t|zd}4tjddS)N 
)sysstderrwritestr)argssepargs   </BuggyBox/python/3.11.7/bootstrap/lib/python3.11/tabnanny.pyerrprintr sY
C
s3xx(((JTcxddl}	|tjddd\}}n'#|j$r}t	|Yd}~dSd}~wwxYw|D]%\}}|dkr
t
dza|dkr
tdza&|s#t	dtjdddS|D]}t|dS)Nrqvz-qz-vzUsage:z[-v] file_or_directory ...)getoptrargverrorr
filename_onlyverboser)roptsrmsgoars       rmainr!'sMMM]]38ABB<66
dd<


""199)A-M99kG38A;(DEEE
c



s+2
AAAc*eZdZdZdZdZdZdZdS)rzk
    Raised by process_tokens() if detecting an ambiguous indent.
    Captured and handled in check().
    c2|||c|_|_|_dSN)linenorline)selfr%rr&s    r__init__zNannyNag.__init__@s+13(TXtyyyrc|jSr$)r%r's r
get_linenozNannyNag.get_linenoBs
{rc|jSr$)rr*s rget_msgzNannyNag.get_msgDs	xrc|jSr$)r&r*s rget_linezNannyNag.get_lineFs
yrN)__name__
__module____qualname____doc__r(r+r-r/rrrr;sZ===rrc|tj|rtj|strt|dtj|}|D]}tj||}tj|rtj|r+tj|dddkrt|dS	tj|}n,#t$r}t|d|Yd}~dSd}~wwxYwtdkrtd|z	ttj|jn_#tj$r3}t|d|Yd}~|dSd}~wt&$r3}t|d	|Yd}~|dSd}~wt($r}|}|}trHtd
||fztd|t|nAd|vrd
|zd
z}t0rt|nt||t3|Yd}~|dSd}~wwxYw	|n#|wxYwtrt|ddSdS)a~check(file_or_dir)

    If file_or_dir is a directory and not a symbolic link, then recursively
    descend the directory tree named by file_or_dir, checking all .py files
    along the way. If file_or_dir is an ordinary Python source file, it is
    checked for whitespace related problems. The diagnostic messages are
    written to standard output using the print statement.
    z: listing directoryNz.pyz
: I/O Error: rzchecking %r ...z: Token Error: z: Indentation Error: z)%r: *** Line %d: trouble in tab city! ***zoffending line: r	"z: Clean bill of health.)ospathisdirislinkrprintlistdirjoinnormcasertokenizeopenOSErrorrrgenerate_tokensreadline
TokenErrorcloseIndentationErrorrr+r/r-rrepr)	filenamesnamefullnamefrnagbadliner&s	         rrrIsU
w}}T
27>>$#7#7
	5TTT3444
4  	 	 Dw||D$//H

h''
 GNN8,,
   bcc++u44hM$cc2333{{
$&'''x/
;;<<<<$$$4555(	
					%cc:;;; 	
					..""||~~	3=wOPPPE$$0111#++--    d{{3:#3D
3eDkkkkgtDzz222	
						=0	
								5
TTT34444455smD!!
E
+EE
+&FLK/"G6L
K/H1L
K/B8K*L*K//LLcBeZdZd\ZZdZdZdZdZdZ	dZ
dZd	S)

Whitespacez 	c||_tjtj}}g}dx}x}}|jD]c}||kr|dz}|dz}||krJ|dz}|dz}|t	|kr|dg|t	|z
dzzz}||dz||<d}c||_||_t||f|_t	|dk|_	dS)Nrr)
rawrQSTlennnttuplenorm	is_simple)	r'wsrTrUcountbrWrXchs	         rr(zWhitespace.__init__s|Z\1A(		BQwwEEqE!VE

??!QC1s5zz>A+=$>>E 8a<a%LL!O	UqrcV|j\}}tt|dz
|SNr)rZmaxrV)r'r]trailings   rlongest_run_of_spacesz Whitespace.longest_run_of_spacess')x3u::a<***rc|j\}}d}t|t|D]}|||z||zz}||||jzzzS)Nr)rZrangerVrX)r'tabsizer]rcilis      rindent_levelzWhitespace.indent_levelsb)x
wE

++	,	,Aaj58++BB'R$'\222rc"|j|jkSr$)rZ)r'others  requalzWhitespace.equalsyEJ&&rcxt||dz}g}td|dzD]l}||||kr>||||||fm|Srarbrdrfrjappendr'rlrWr tss     rnot_equal_witnesszWhitespace.not_equal_witness**,,++--
/
/12
31Q3--	5	5B  $$(:(:2(>(>>>2,,R00 --b113555rc^|j|jkrdS|jr|jr|j|jkSt||dz}td|dzD]1}||||krdS2dS)NFrT)rWr[rXrbrdrfrj)r'rlrWrrs    rlesszWhitespace.lesss6UW5>	'eo	'7eh&&**,,++--
/
/12
31Q3--		B  $$(:(:2(>(>>>uu?trcxt||dz}g}td|dzD]l}||||kr>||||||fm|Srarorqs     rnot_less_witnesszWhitespace.not_less_witnessrtrN)r0r1r2rTrUr(rdrjrmrsrwryr4rrrQrQsDAq*)))2+++333.'''			0"					rrQcd|D}d}t|dkr|dz}|dzd|zS)Nc3@K|]}t|dVdS)rN)r).0tups  r	<genexpr>z#format_witnesses.<locals>.<genexpr>
s,
'
'cc#a&kk
'
'
'
'
'
'rzat tab sizersr	z, )rVr>)wfirstsprefixs   rformat_witnessesrsM
'
'Q
'
'
'F
F
1vvzz#C<$))F++++rctj}tj}tj}tjtjf}t
dg}d}|D] \}}}	}
}||krd}||krd}t
|}|d|sD|d|}
dt|
z}t|	d||||||krd}|d=|rt||vrpd}t
|}|d|sD|d
|}
dt|
z}t|	d||"dS)Nrrrzindent not greater e.g. zindent not equal e.g. )r@INDENTDEDENTNEWLINECOMMENTNLrQrwryrrrprmrs)tokensrrrJUNKindentscheck_equaltypetokenstartendr&thisguywitnessrs               rrrs
_F
_FGX[(D"~~GK+1,4,4'ueS$7??KK
V^^K ''G2;##G,,
4!"+66w??03CG3L3LLuQxd333NN7####
V^^K
	4T--K &&G2;$$W--
4!"+77@@.1A'1J1JJuQxd333Y,4,4r__main__)r3__version__r8rr@__all__rrrr!	ExceptionrrrQrrr0r4rr<module>rs

$				




1
1
1

(y;5;5;5zDDDDDDDDL,,,444444nzDFFFFFr