
    ,hhH                       S /r SrSrSrSSKrSSKrSSKrSSKrSSK	rSSK
rSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSKJr  SSKJr  SS	KJ r J!r!J"r"J#r#J$r$J%r%  \ r&\"r'\#r(\$r)\%r*S
 r+S r,S r-S r.S r/S r0S r1S r2S r3S r4S r5S r6S r7\Rp                  " S\Rr                  5      r:S r;S r<S r=S r>\?" \R                  5      rASJS jrBS rCS rDS rES  rF0 4S! jrG " S" S#\H5      rIS$ rJS0 4S% jrK " S& S'5      rL " S( S)\5      rM " S* S+\L5      rN " S, S-\5      rO " S. S/\L5      rP " S0 S1\P5      rQSKS2 jqRS3 rSSLS4 jrT\P" 5       rU\Q" 5       rV\N" 5       rWSLS5 jrX  SMS6 jrY  SNS7 jrZSLS8 jr[SOS9 jr\ " S: S;5      r]\]" 5       r^ " S< S=5      r_S> r`S? raSPS@ jrbSLSASBSC.SD jjrcSE rdSF reSG rfSH rg\hSI:X  a  \g" 5         gg)QhelpzKa-Ping Yee <ping@lfw.org>z26 February 2001zGuido van Rossum, for an excellent programming language.
Tommy Burnette, the original creator of manpy.
Paul Prescod, for all his work on onlinehelp.
Richard Chamberlain, for the first implementation of textdoc.
    N)deque)Repr)format_exception_only)	get_pagerplain
pipe_pagerplain_pagertempfile_pager	tty_pagerc                  h   / n / n[         R                   H  n[        R                  R                  U=(       d    S5      n[        R                  R	                  U5      nX1;  d  MQ  [        R                  R                  U5      (       d  Mw  U R                  U5        UR                  U5        M     U $ N.)syspathosabspathnormcaseisdirappend)dirsnormdirsdirnormdirs       ./opt/python-3.13.8/usr/lib/python3.13/pydoc.pypathdirsr   _   s{    DHxxggoocjS)''""3'"rww}}S'9'9KKOOG$  K    c                     [         R                  R                  U R                  5      nUc  g U R                  R                  S5      S S  H  n[        X5      nM     [        R                  " U5      (       d  g U$ )Nr   )	r   modulesget
__module____qualname__splitgetattrinspectisclass)funcclsnames      r   
_findclassr+   k   sc    
++//$//
*C
{!!'',Sb1c  2??3Jr   c                    [         R                  " U 5      (       ar  U R                  R                  nU R                  n[         R
                  " U5      (       a'  [        [        X!S 5      S5      U R                  L a  UnGOUR                  nGO[         R                  " U 5      (       a+  U R                  n[        U 5      nUb  [        X15      U La  g GOl[         R                  " U 5      (       ac  U R                  nU R                  n[         R
                  " U5      (       a#  UR                  S-   U-   U R                  :X  a  UnOUR                  nO[        U [        5      (       a4  U R                  n[        U R                  5      nUb  [        X15      U La  g O[         R                  " U 5      (       d  [         R                   " U 5      (       an  U R                  nU R"                  n[        X15      U La  g [         R$                  " U 5      (       a+  [        USS 5      n[        U[&        5      (       a	  X;   a  XA   $ Og UR(                   H  n [+        [        XQ5      5      nUc  M  Us  $    g ! [,         a     M1  f = f)N__func__r   	__slots__)r&   ismethodr-   __name____self__r'   r%   	__class__
isfunctionr+   	isbuiltinr#   
isinstancepropertyfgetismethoddescriptorisdatadescriptor__objclass__ismemberdescriptordict__mro__
_getowndocAttributeError)objr*   selfr)   slotsbasedocs          r   _finddocrE   u   s   ||$$||OOD!!GD-z:cllJC..C			C	 	 ||o;'#,C7 8			3		||||OOD!!#d*c.>.>>C..C	C	"	"||";'#,C7 8		#	#C	(	(G,D,DS,I,I||3S(%%c**Cd3E%&&4={"	WT01C ?J  	  		s   I00
I>=I>c                      [         R                  U S5      nUc  g U [        La0  [        U 5      R                  n[	        U[
        5      (       a  X!:X  a  g U$ ! [         a     g f = f)N__doc__)object__getattribute__typerG   r5   strr?   )r@   rD   typedocs      r   r>   r>      sb    
%%c95;d?3i''G'3''GN
 s   A 8A A 
A$#A$c                     [        U 5      nUc   [        U 5      n[	        U[
        5      (       d  g [        R                  " U5      $ ! [        [        4 a     g f = fN)r>   rE   r?   	TypeErrorr5   rK   r&   cleandoc)rH   rD   s     r   _getdocrQ      s^     V
C
{	6"C c3C  	 	* 		s   A AAc                     [        U 5      =(       d    [        R                  " U 5      nU=(       a&    [        R                  " SSUR                  5       5      =(       d    S$ )Nz^ *
 )rQ   r&   getcommentsresubrstrip)rH   results     r   getdocrY      s>    V_; 3 3F ;F:bffWb&--/:@b@r   c                    U R                  5       R                  S5      n[        U5      S:X  a  US   S4$ [        U5      S:  a1  US   R                  5       (       d  US   SR	                  USS  5      4$ SSR	                  U5      4$ )N
   r   rS      )stripr$   lenrW   join)rD   liness     r   splitdocrb      s~    IIKd#E
5zQQx|	Uqq!2!2Qx59---tyyr   c                     [         R                  " U 5      nU(       a2  [        U SS5      nUS:w  a  S[        U5      -
  OS nUR	                  US9$  g ! [
        [        4 ak    [        U SS 5      nU(       aR  US S S:X  a  S	USS  -   n[        U S
S 5      b3  [        R                  " SU5      nU(       a  S	XER                  5       S  -   nUs $ f = f)Nr0   rS   <lambda>P   )	max_width__text_signature__r]   z($(r1   z)\(\w+(?:(?=\))|,\s*(?:/(?:(?=\))|,\s*))?))
r&   	signaturer%   r_   format
ValueErrorrO   rU   matchend)rH   ri   r*   rf   argspecms         r   _getargspecrp      s    %%f-	6:r2D,0J,>c$iDI##i#88	    	" 
&"6=r{d"+vz40<HHI7S!GEEGH$55G
s   AA A8CCc                 b    U R                   nU R                  U:w  a  U R                  S-   U-   nU$ r   )r0   r"   rH   modnamer*   s      r   	classnamert      s3    ??DG#  3&-Kr   c                     SU R                   ;   aO  U R                   R                  S5      S   nU R                  U:w  a  U R                  b  U R                  S-   U-   $ U$ U R                  U:w  a  U R                  $ g )Nr   r   )r#   
rpartitionr"   rr   s      r   
parentnamerw      s     f!!!""--c215'F,=,=,I$$s*T11K'$$$ (r   c                 Z   [         R                  " U 5      =(       d    [         R                  " U 5      =(       dm    [         R                  " U 5      =(       dP    [         R                  " U 5      =(       d3    [         R
                  " U 5      =(       d    [         R                  " U 5      (       + $ rN   )r&   ismoduler'   	isroutineisframeistracebackiscode)rH   s    r   isdatar~      sy      ( FGOOF,C F!!&)F-4__V-DF##F+F/6~~f/EG Gr   c                 |    U(       a4  US   R                  U R                  US   5      5      n USS  nU(       a  M4  U $ )Nr\   r   r]   )r`   r$   )textpairss     r   replacer     s=    
Qx}}TZZa12ab	 % Kr   c                     [        U 5      U:  a>  [        SUS-
  S-  5      n[        SUS-
  U-
  5      nU S U S-   U [        U 5      U-
  S  -   $ U $ )Nr      r]   ...)r_   max)r   maxlenpreposts       r   cramr   
  s`    
4y6!fQh]#1fQhsl#DSzE!DT4$999Kr   z at 0x[0-9a-f]{6,16}(>+)$c                 .    [         R                  SU 5      $ )Nz\1)_re_stripidrV   )r   s    r   stripidr     s     ??5$''r   c                     [         R                  " U 5      (       a  g[         R                  " U 5      (       a3  [        U SS 5      n[         R                  " U5      =(       d    US L (       + $ g)NTr1   F)r&   r/   r4   r%   ry   )fnrA   s     r   _is_bound_methodr     sW    
 r:t,$$T*<tt|==r   c                    0 n[         R                  " U [         R                  5       H	  u  p#SX'   M     U R                   H  nUR	                  [        U5      5        M     UR                  5        H  n[        X5      X'   M     U$ Nr\   )r&   
getmembersrz   	__bases__update
allmethodskeysr%   )clmethodskeyvaluerC   s        r   r   r   %  sn    G((W->->?
 @z$'( ||~r' Nr   c                     / n/ nU  H4  nU" U5      (       a  UR                  U5        M#  UR                  U5        M6     X#4$ rN   r   )s	predicateyesnoxs        r   _split_listr   /  s@     C	BQ<<JJqMIIaL	 
 7Nr   c                 n   U S;   a  gU R                  S5      (       a  U R                  S5      (       a  gU R                  S5      (       a  [        US5      (       a  gU[        La4  U [        ;   a*  [        [        X S 5      [        R                  5      (       a  gUb  X;   $ U R                  S5      (       + $ )	N>   rG   __date____file__r0   __path____spec__r.   
__author__
__cached__
__loader__r"   __credits____package____version____builtins__r#   __firstlineno____static_attributes__r   __r\   __fieldsTF)
startswithendswithhasattr
__future___future_feature_namesr5   r%   _Feature)r*   allr@   s      r   visiblenamer   B  s      < <
 tt!4!4QsY 7 7
*)>!>gc.
0C0CDD
{??3'''r   c                 $   / n[         R                  " U 5       Hs  u  p#pE[         R                  " U5      (       a'  Sn[        U[        5      (       a  UR
                  c  SnOUS:X  a  [        U5      (       a  SnUR                  X#XE45        Mu     U$ )Ndata descriptorreadonly propertymethodstatic method)r&   classify_class_attrsr9   r5   r6   fsetr   r   )rH   resultsr*   kindr)   r   s         r   r   r   [  s    G$+$@$@$H S##E**$D%**uzz/A*X"25"9"9"DC/0 %I Nr   c           	         ^ [        US/ 5      n [        U5       VVs0 s H  u  p4XC[        U5      -
  _M     snnmU4S jnU R	                  US9  g s  snnf ! [         a    0 m N*f = f)Nr   c                 8   > TR                  U S   S5      U S   4$ Nr   )r!   )attrfield_orders    r   <lambda>!sort_attributes.<locals>.<lambda>q  s    KOODGQ7aAr   r   )r%   	enumerater_   rO   sort)attrsrH   fieldsir*   keyfuncr   s         @r   sort_attributesr   h  sp     VY+F=Fv=NO=N	tFm+=NO BG	JJ7J	 P s!   A AA A A'&A'c                     [         R                  " S[        SS9  [        R                  R                  U 5      (       aP  S HJ  n[        R                  R                  [        R                  R                  U SU-   5      5      (       d  MJ    g   g)Nz,The pydoc.ispackage() function is deprecatedr]   )
stacklevel)z.pyz.pyc__init__TF)warningswarnDeprecationWarningr   r   r   isfiler`   )r   exts     r   	ispackager   v  sb    MM@$4	ww}}T"Cww~~bggll4c1ABCC # r   c                    Sn [         R                  " U R                  5      nU GH$  u  p4    nU[         R                  :X  a  X-  nM#  U[         R                  :X  a  [
        R                  " 5          [
        R                  " S[        5        [        R                  " U5      nS S S 5        [        W[        5      (       d    g UR                  5       R                  S5      S   R                  5       s  $ U[         R                  :X  a  US;   a  X-  nM  U[         R                   [         R"                  [         R$                  4;  d  GM%    g    g ! , (       d  f       N= f! [         R&                  [(        [*        4 a     g f = f)NrS   ignorer[   r   )rh   ))tokenizegenerate_tokensreadlineSTRINGNEWLINEr   catch_warningssimplefilterSyntaxWarningastliteral_evalr5   rK   r^   r$   OPCOMMENTNLENCODING
TokenErrorUnicodeDecodeErrorSyntaxError)filestringtokenstok_type
tok_stringr   	docstrings          r   source_synopsisr     s,    F))$--8-3)H!Q8??*$X---,,.))(MB # 0 0 8I / ")S11 (..t4Q7==??X[[(Z:-E$("2"2HKKARAR!SS .4"  /. !3[A sC   A.E! 22E$E! 1E! 5AE! E! E! 
E	E! !FFc                    [         R                  " U 5      R                  nUR                  U S5      u  p4Ub  X2:  Gae  U R	                  [        [        R                  R                  5      5      (       a  [        R                  R                  nOTU R	                  [        [        R                  R                  5      5      (       a  [        R                  R                  nOS nUc.   [        R                  " U 5      nU   [        U5      nS S S 5        OU" SU 5      n[        R                   R#                  SU US9n [        R$                  R'                  U5      n	[(        R*                  S	 U	R,                  (       a  U	R,                  R/                  5       S   OS nX$4X'   U$ ! [         a     g f = f! , (       d  f       N%= f!    g = f)NNN__temp__loaderr   )r   statst_mtimer!   r   tuple	importlib	machineryBYTECODE_SUFFIXESSourcelessFileLoaderEXTENSION_SUFFIXESExtensionFileLoaderr   openOSErrorr   utilspec_from_file_location
_bootstrap_loadr   r    rG   
splitlines)
filenamecachemtime
lastupdaterX   
loader_clsr   r   specmodules
             r   synopsisr    sx   GGH&&E8\:JZ/U9#6#6#H#HIJJ",,AAJuY%8%8%K%KLMM",,@@JJ}}X.
 (.   
H5F>>99*hAG : ID"--33D9 J'7=~~V^^..034F /M)   s*   (F%  F5>G %
F21F25
GG
c                        \ rS rSrS rS rSrg)ErrorDuringImporti  c                     [        U[        5      (       d(  [        U5      U l        X l        UR
                  U l        O0[        R                  " S[        5        Uu  U l        U l        U l        Xl
        g )NzCA tuple value for exc_info is deprecated, use an exception instance)r5   r   rJ   excr   __traceback__tbr   r   r   r  )rA   r  exc_infos      r   r   ErrorDuringImport.__init__  sW    (E**H~DH!J,,DGMM_,. -5)DHdj$' r   c                 r    U R                   R                  nSU R                  < SU< SU R                  < 3$ )Nzproblem in  - z: )r  r0   r  r   )rA   r  s     r   __str__ErrorDuringImport.__str__  s&    hh+/==#tzzJJr   )r  r  r  r   N)r0   r"   r#   r   r   r   r    r   r   r  r    s    !Kr   r  c                 |   [         R                  R                  n[        U S5       nXR	                  [        U5      5      :H  nS S S 5        [        R                  R                  U 5      n[        R                  R                  U5      u  pVW(       a   [         R                  R                  XP5      nO[         R                  R                  XP5      n[         R                  R                  XPUS9n [         R                  R                  U5      $ ! , (       d  f       N= f! [          a  n	[#        X	5      eS n	A	ff = f)Nrbr   )r  r	  MAGIC_NUMBERr  readr_   r   r   basenamesplitext_bootstrap_externalr  SourceFileLoaderr
  r  r  BaseExceptionr  )
r   magicr   is_bytecoder  r*   r   r   r  errs
             r   
importfiler/    s    NN''E	dD	TyyU44 
ww%H  *ID..CCDO..??K>>11$V1LD+##))$// 
	  +**+s#   D1D! 
D!
D;+D66D;c                     U(       a  U [         R                  ;   a  U [         R                  ;  am  [         R                   Vs/ s H  o3R                  U S-   5      (       d  M  UPM!     nnU /U-    H)  n[         R                  U   X%'   [         R                  U	 M+     [        R
                  " U 5      nU$ s  snf ! [         a  nU [         R                  ;   a'  [        [         R                  U    R                  U5      e[        U5      [        L a  [        UR                  U5      e[        U[        5      (       a  UR                  U :X  a   S nAg [        X5      eS nAff = fr   )r   r    builtin_module_namesr   r  import_moduler+  r  r   rJ   r   r  r5   ImportErrorr*   )r   	forceloadr  ro   subsr   r  r.  s           r   
safeimportr6    s   /
 ,3333 $';;K;a,,tcz2J;K 6D=C!$S!1EJC( ) ((. M) L  /3;;#CKK$5$>$>DD#Y+%#CLL#66[))chh$.> $D../s8   AB; B6#B6)AB; 6B; ;
E"BEEE"c                       \ rS rSr\R
                  R                  SS\R                  SS -  5      r	SS jr
SS jr\=r=r=r=r=rr\R&                  " S5      4S	 jrS
rg)Doci  
PYTHONDOCSz%https://docs.python.org/%d.%d/libraryNr]   c                    X4U-   n [         R                  " U5      (       a  U R                  " U6 $ [         R                  " U5      (       a  U R                  " U6 $ [         R
                  " U5      (       a  U R                  " U6 $  [         R                  " U5      (       a  U R                  " U6 $ U R                  " U6 $ ! [         a     NEf = frN   )r&   ry   	docmoduler'   docclassrz   
docroutiner?   r9   docdatadocother)rA   rH   r*   argss       r   documentDoc.document  s    ~$
	''0E)Ev&&t}}d/C(C  (($1G*G( ##F++DLL$4G-G}}d##  		s   )C  )C  )C   
CCc                 |    SU=(       a    S[        U5      -   < S[        U5      R                  < 3n[        U5      e)Nz!don't know how to document object z	 of type )reprrJ   r0   rO   )rA   rH   r*   r@  messages        r   failDoc.fail'  s6     %S4:%%tF|'<'<>  r   stdlibc                     [         R                  " U5      n[        R                  R                  SU R                  5      n[        R                  R                  U5      n[        U[        [        5      5      (       a  UR                  S;   dJ  UR                  U5      (       a  UR                  [        R                  R                  US5      5      (       d  UR                  S;  a  UR                  S5      (       a;  SR                  UR                  S5      UR                  R!                  5       5      nU$ [        R                  R                  XAR                  R!                  5       S	-   5      n U$ S nU$ ! [         a    Sn GNrf = f)
N
(built-in)r9  )	errno
exceptionsgcmarshalposixsignalr   _thread	zipimportzsite-packages)z	xml.etreeztest.test_pydoc.pydoc_mod)zhttp://zhttps://z
{}/{}.html/.html)r&   
getabsfilerO   r   environr!   r9  r   r   r5   rJ   r0   r   r`   rj   rW   lower)rA   rH   basedirr   doclocs        r   	getdoclocDoc.getdocloc/  s3   	 %%f-D doo>''""7+vtBx((__ !9 9 oog&&//"'',,w"HIIOO#MM  !899%,,V]]3-?AVAVAXY
  foo.C.C.E.OP  F'  	 D	 s   E; ;F
Fr"  rN   )r0   r"   r#   r   r   rW  r!   r   version_infor9  rA  rG  r;  r<  r=  r?  docpropertyr>  	sysconfigget_pathr[  r   r"  r   r   r8  r8    sm     G"%"2"22A"6!78J$ ! LPOIOO:OO;(1(:(:8(D r   r8  c                   @    \ rS rSrS rS rS rS rS r\r	S r
\rSrg	)
HTMLRepriK  c                 v    [         R                  " U 5        S=U l        U l        SU l        S=U l        U l        g N   
   d   r   r   maxlistmaxtuplemaxdict	maxstringmaxotherrA   s    r   r   HTMLRepr.__init__M  1    d'))t}),,r   c           	      $    [        USSSSSS5      $ )N&z&amp;<z&lt;>z&gt;)r   rA   r   s     r   escapeHTMLRepr.escapeS  s    tS'3VDDr   c                 .    [         R                  " X5      $ rN   )r   rE  rA   rH   s     r   rE  HTMLRepr.reprV  s    yy&&r   c           	      P   [        [        U5      S5      (       aV  SSR                  [        U5      R                  R	                  5       5      -   n[        X5      (       a  [        X5      " X5      $ U R                  [        [        [        U5      5      U R                  5      5      $ Nr0   repr_r   )r   rJ   r`   r0   r$   r%   rv  r   r   rE  rm  rA   r   level
methodnames       r   repr1HTMLRepr.repr1Y  sw    47J'' 388DG,<,<,B,B,D#EEJt((t0::{{4Q 0$--@AAr   c                     [        XR                  5      n[        U5      nSU;   a1  S[        USS5      ;  a   SUS   -   U R	                  U5      -   US   -   $ [
        R                  " SSU R	                  U5      5      $ )N\\\rS   rr   z-((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)z<span class="repr">\1</span>)r   rl  rE  r   rv  rU   rV   rA   r   r  testtestreprs        r   repr_stringHTMLRepr.repr_string`  s{    A~~&:4<D%(DD !$t{{4'888A;FFvvF5kk(+- 	-r   c           	           U R                  [        [        [        U5      5      U R                  5      5      $ !   U R                  SUR
                  R                  -  5      s $ = fNz<%s instance>)rv  r   r   rE  rl  r2   r0   rA   r   r  s      r   repr_instanceHTMLRepr.repr_instancem  sQ    	G;;tGDG$4dnnEFF	G;;1E1EEFFs	   69 *A%rk  ri  rm  rl  rj  N)r0   r"   r#   r   r   rv  rE  r  r  repr_strr  repr_unicoder   r"  r   r   rb  rb  K  s1    -E'B	- HG Lr   rb  c                   $   \ rS rSr\" 5       r\R                  r\R                  rS rSS jr	  SS jr
S rS rS rS	 rS
 rS rS rS rS rS rS0 0 0 4S jrSS jrSS jrSS0 0 4S jrS rSS0 0 0 SS4S jrSS jr\rSS jrSS jrSrg)HTMLDociu  c                     SU< SU< S3$ )NzN<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Python: z</title>
</head><body>
z
</body></html>r"  )rA   titlecontentss      r   pageHTMLDoc.page~  s     H& 	&r   c                 *    SU< SU=(       d    S< S3$ )NzU
<table class="heading">
<tr class="heading-text decor">
<td class="title">&nbsp;<br>z</td>
<td class="extra">&nbsp;z</td></tr></table>
    r"  )rA   r  extrass      r   headingHTMLDoc.heading  s     &$H$& 	&r   Nc                     Uc  SSU-  -   S-   nSU< SU< S3nU(       a  USU< SU< S	U< S
U< SU< S3-   nOUSU< SU< SU< S3-   nUSU-  -   $ )Nz<span class="code">r  z</span>z-<p>
<table class="section">
<tr class="decor zD-decor heading-text">
<td class="section-title" colspan=3>&nbsp;<br>z</td></tr>
    z
<tr><td class="decor z-decor" rowspan=2>z</td>
<td class="decor z-decor" colspan=2>z</td></tr>
<tr><td></td>z-decor">z	</td><td>z.
<td class="singlecolumn">%s</td></tr></table>r"  )	rA   r  r)   r  widthprelude
marginaliagaprX   s	            r   sectionHTMLDoc.section  s{     .E1AAIMJ
 	
  :sGS: :F
 8;ZN NF IHTTTr   c                 2    SU-  nU R                   " U/UQ76 $ )Nz&<strong class="bigsection">%s</strong>)r  )rA   r  r@  s      r   
bigsectionHTMLDoc.bigsection  s     85@||E)D))r   c                 f    U R                  UR                  5       5      n[        USSSSSSSS5	      $ )N

z
 
rD  r  r[   <br>
)rv  
expandtabsr   ru  s     r   	preformatHTMLDoc.preformat  s7    {{4??,-tVWfg (D(< 	<r   c                     Sn[        U5      S-   S-  n[        S5       HG  nUS-   n[        XE-  XE-  U-   5       H#  nU[        U5      :  d  M  X2" X   5      -   S-   nM%     US-   nMI     SU-  $ )NrS   r      z<td class="multicolumn">r  r  z<table><tr>%s</tr></table>)r_   range)rA   listrj   rX   rowscolr   s          r   multicolumnHTMLDoc.multicolumn  s    D	A!#8C88F48TXd]3s4y=#fTWo5@F 4 g%F  ,f44r   c                     SU-  $ )Nz<span class="grey">%s</span>r"  ru  s     r   greyHTMLDoc.grey  s    !?$!FFr   c                 @    U H  nX;   d  M
  SX1   < SU< S3s  $    U$ )N	<a href=""></a>r"  )rA   r*   dictsr<   s       r   namelinkHTMLDoc.namelink  s%    D|04
DAA  r   c           	          UR                   [        R                  R                  UR                  5      pC[        XC5      (       a0  [        XC5      UL a"  SUR                   < SU< S[        X5      < S3$ [        X5      $ )Nr  .html#r  r  )r0   r   r    r!   r"   r   r%   rt   )rA   rH   rs   r*   r  s        r   	classlinkHTMLDoc.classlink  s^    8I8I(Jf6  WV%:f%Dy'AC C))r   c                    S nUR                   [        R                  R                  UR                  5      pT[        XT5      (       a  [        XT5      UL aw  SUR                  ;   aH  UR                  R                  S5      S   nUR                  U:w  a  UR                   < SU< 3nO%SU-  nOUR                  U:w  a  SUR                   -  nU(       a  SU< S[        X5      < S3$ [        X5      $ )	Nr   r   r  z#%s%s.htmlr  r  r  )
r0   r   r    r!   r"   r   r%   r#   rv   rw   )rA   rH   rs   linkr*   r  s         r   
parentlinkHTMLDoc.parentlink  s    8I8I(Jf6  WV%:f%Df)))**55c:1=$$/+1??DAD 4<D$$/$v6D,0*V2MNNf..r   c                 @    SUR                   < SUR                   < S3$ Nr  z.html">r  )r0   ry  s     r   
modulelinkHTMLDoc.modulelink  s    -3__fooNNr   c                     Uu  p#pEU(       a  U R                  U5      $ U(       a  U< SU< S3nOSU-  nU(       a  SU-  nOUnSU< SU< S3$ )Nr   rU  r  z"<strong>%s</strong>&nbsp;(package)r  r  r  )r  )rA   
modpkginfor*   r   r   shadowedurlr   s           r   
modpkglinkHTMLDoc.modpkglink  sR    *4'I99T?""&-Cd"C7$>DD(+T22r   c                     SU< SU< S3$ )Nz<a href="file:r  r  r"  )rA   r  r   s      r   filelinkHTMLDoc.filelink  s    -0$77r   c                 $   U=(       d    U R                   n/ nSn[        R                  " S5      nUR                  X5      =n	(       Ga  U	R	                  5       u  pUR                  U" XU
 5      5        U	R                  5       u  ppnnU(       a4  U" U5      R                  SS5      nUR                  SU< SU< S35        GOU(       a/  S[        U5      -  nUR                  SU< SU" U5      < S35        OU(       a/  S	[        U5      -  nUR                  SU< SU" U5      < S35        OU(       aE  XUS
-    S:X  a%  UR                  SU R                  UU5      -   5        OdUR                  SU-  5        OOXUS
-    S:X  a#  UR                  U R                  UXSU5      5        O!UR                  U R                  UU5      5        UnUR                  X5      =n	(       a  GM  UR                  U" XS  5      5        SR                  U5      $ )Nr   zJ\b((http|https|ftp)://\S+[\w/]|RFC[- ]?(\d+)|PEP[- ]?(\d+)|(self\.)?(\w+))"z&quot;r  r  r  z(https://www.rfc-editor.org/rfc/rfc%d.txtz!https://peps.python.org/pep-%04d/r\   rh   zself.zself.<strong>%s</strong>rS   )rv  rU   compilesearchspanr   groupsr   intr  r`   )rA   r   rv  funcsclassesr   r   herepatternrl   startrm   r   schemerfcpepselfdotr*   r  s                      r   markupHTMLDoc.markup  s    &4;;** 3 4 ~~d11e1JENN6$E"23438<<>0C7DSk))#x8SAB@3s8KVC[IJ9CHDVC[IJ CE?c)NN7T]]4-I#IJNN#=#DE#a%C't}}T77KLt}}T7;<D3 ~~d11e114 	vd5k*+wwwr   c                    SnU H  n[        U[        5      (       au  Uu  pgUS-   nX@R                  Xb5      -   nU(       aK  Xs4:w  aE  / nU H#  n	UR                  U R                  X5      5        M%     US-   SR	                  U5      -   S-   nUS-   nM  [        U[
        5      (       d  M  USU R                  XRW5      -  -   nM     SU-  $ )	NrS   z<dt class="heading-text">rh   , r   z
</dt>z<dd>
%s</dd>
z<dl>
%s</dl>
)r5   r   r  r   r`   r  
formattree)
rA   treers   parentrX   entrycbasesparentsrC   s
             r   r  HTMLDoc.formattree#  s    E%'' "==.."<<Ui/ G %t~~d'DE !&#c\DIIg,>>DF)+E4(("3dooA7' #' '  !6))r   c           
        ^  UR                   n UR                  nUR                  S5      n/ n[	        [        U5      S-
  5       H4  nUR                  SSR                  US US-    5      < SXh   < S35        M6     SR                  XvSS  -   5      n	SU	-  n
 [        R                  " U5      n[        R                  R                  U5      nT R                  X5      n/ n[        US	5      (       a]  [!        UR"                  5      nUS S
 S:X  a  USS  S:X  a  US
S R%                  5       nUR                  ST R'                  U5      -  5        [        US5      (       a3  UR                  T R'                  [!        UR(                  5      5      5        U(       a  U
SSR                  U5      -  -   n
T R+                  U5      nUb  S[-        5       -  nOSnT R/                  U
SU-   U-   5      n[        R0                  " U[        R2                  5      n/ 0 nn[        R0                  " U[        R4                  5       H`  u  nnUc$  [        R6                  " U5      =(       d    UUL d  M-  [9        UXQ5      (       d  M@  UR                  UU45        SU-   =UU'   UU'   Mb     U H  u  nnUR:                   H  nUR                   UR<                  nn[>        R@                  RC                  U5      nUU:w  d  MB  U(       d  MK  [        UU5      (       d  M^  [E        UU5      UL d  Mo  UU;  d  Mw  US-   U-   =UU'   UU'   M     M     / 0 nn[        R0                  " U[        RF                  5       H  u  nnUc?  [        RH                  " U5      (       d$  [        R6                  " U5      =(       d    UUL d  MH  [9        UXQ5      (       d  M[  UR                  UU45        SU-   UU'   [        RJ                  " U5      (       d  M  UU   UU'   M     / n[        R0                  " U[L        5       H,  u  nn[9        UXQ5      (       d  M  UR                  UU45        M.     T RO                  [Q        U5      T RR                  UU5      nU=(       a    SU-  nUSU-  -   n[        US5      (       a  / n[T        RV                  " URX                  5       H  u  nnn UR                  UUU S45        M     UR[                  5         T R]                  UT R^                  5      n!UT Ra                  SSU!5      -   nO3U(       a,  T R]                  UU 4S j5      n!UT Ra                  SSU!5      -   nU(       a  U VVs/ s H  u  nnUPM
     n"nnT Rc                  [        Rd                  " U"S5      U5      /n!U H*  u  nnU!R                  T Rg                  UUUUU5      5        M,     UT Ra                  SS S!R                  U!5      5      -   nU(       aW  / n!U H*  u  nnU!R                  T Rg                  UUUUU5      5        M,     UT Ra                  S"S#S!R                  U!5      5      -   nU(       aT  / n!U H'  u  nnU!R                  T Rg                  UU5      5        M)     UT Ra                  S$S%S&R                  U!5      5      -   n[        US'5      (       aE  T RO                  [!        URh                  5      T RR                  5      n!UT Ra                  S(S)U!5      -   n[        US*5      (       aE  T RO                  [!        URj                  5      T RR                  5      n!UT Ra                  S+S,U!5      -   nU$ ! [         a    S n GNSf = f! [         a    Sn GNf = fs  snnf )-Nr   r\   r  z.html" class="white">r  r   !<strong class="title">%s</strong>rK  r      $Revision: $z
version %sr   z (%s)r  z-<br><a href="%(docloc)s">Module Reference</a>rS   z<a href=".">index</a><br>#r  z#-z<span class="code">%s</span>z
<p>%s</p>
r   r   zPackage Contentszpkg-contentc                 ,   > TR                  U S   5      $ r   )r  )trA   s    r   r   #HTMLDoc.docmodule.<locals>.<lambda>  s    4??1Q4#8r   ModulesClassesindexrD  	Functions	functionsDatadatar  r   Authorauthorr   Creditscredits)6r0   __all__r?   r$   r  r_   r   r`   r&   rV  urllibparsequoter  rO   r   rK   r   r^   rv  r   r[  localsr  r   ry   r'   	getmoduler   r   r"   r   r    r!   r%   rz   r4   r3   r~   r  rY   r  pkgutiliter_modulesr   r   r  r  r  r  getclasstreerA  r   r   )#rA   rH   r*   modignoredr   partslinksr   
linkednameheadr   r  r  infoversionrZ  rX   r    r  cdictr   r   rC   rs   r  r  fdictr  rD   modpkgsimporterispkgr  	classlists#   `                                  r   r;  HTMLDoc.docmodule6  s   	..C 

3s5z!|$ALL%1+&23 % XXeBCj01
2Z?	$%%f-D,,$$T*C}}S/H 6=))&,,-Gs|11gbclc6I!"R...0KKt{{7';;<6:&&KKC$89:'DIIdO33D'DvxOFFd$?($JV$ST$$VW-=-=>R!,,VW__EJC""5)3V>sC00NNC<003c	9E#Ju F "JC#}}dooW1d?vv'&#2F2Fvs+t3"e|7>7IC7OOE#Jt ( " 2u!,,VW5F5FGJC$$U++%%e,66AsC00LL#u.!%E#J))%00s%, H !,,VV<JC3,,S%L) = kk&.$..%G:4s:-#--6:&&G,3,@,@,Q('5ua89 -RLLN''AHdoo"M8= =F''8:Hdoo=(4 4F 3:;7<C7I; 4 4Y BDIKH%
UeS$u MN &doo7CHHX$68 8FH#
UeS$u MN $doo[#((8*<> >FH"
UeS 9: #dooh 79 9F6<(({{3v'8'8#94>>JHdooh(KKF6=)){{3v'9'9#:DNNKHdooiHMMF_  	C	  	$#H	$N <s*   ] A]2 )^]/.]/2^^c                 6  ^ ^^^^^^^ ^! TR                   nU=(       d    UnTR                  n/ n	U	R                  m  " U 4S jS5      n
U
" 5       m[        [        R
                  " T5      5      n[        U5      S:  aN  TR                  5         T " S5        U H(  nT " ST R                  UTR                  5      -  5        M*     T " S5        UUUUUUU U 4S jnUUU U 4S jnUUUUUUU U 4S	 jn[        T5       VVVVs/ s H  u  nnnn[        UTS
9(       d  M  UUUU4PM!     nnnnn0 mU H+  u  nnnnSW-   S-   U-   =TU'   n [        TU5      n UTU'   M-     U(       a  U(       a  UR                  5       m!OUS   S   m![!        UU!4S j5      u  nnT["        R$                  La  T!["        R$                  L a  UnMd  T!TL a  SnOST R                  T!TR                  5      -  nUS-  n['        UT5        U" SU-  US 5      nU" SU-  US 5      nU" SU-  US 5      nU" SU-  US 5      nU" SU-  US 5      nU" SU-  US 5      nUnU(       a  M  SR)                  U	5      n	WU:X  a  SU< S U< S!3nOS"U< S#U< S$U< S%3nU(       aM  / nU H.  nUR                  T R                  UTR                  5      5        M0     US&S'R)                  U5      -  -   nSn[+        T5      nU(       a  US(:w  a  UT R-                  U5      -   S)-   n[/        T5      nU(       a  UU=(       d    S-   nT R1                  UT R2                  TTT5      nU=(       a    S*U-  nT R5                  US+U	S,U5      $ s  snnnnf ! [         a     GN3f = f! [         a     GMj  f = f)-Nc                   (   > \ rS rSrS rU 4S jrSrg)(HTMLDoc.docclass.<locals>.HorizontalRulei  c                     SU l         g r   needonern  s    r   r   1HTMLDoc.docclass.<locals>.HorizontalRule.__init__  	     r   c                 F   > U R                   (       a  T" S5        SU l         g )Nz<hr>
r\   r%  rA   pushs    r   maybe.HTMLDoc.docclass.<locals>.HorizontalRule.maybe      <<N r   r%  Nr0   r"   r#   r   r   r,  r   r+  s   r   HorizontalRuler#        !! !r   r1  r]   z&<dl><dt>Method resolution order:</dt>
z<dd>%s</dd>
</dl>
c                 ,  > [        X5      u  p1U(       aV  T
R                  5         T" U 5        U H8  u  pEpg [        TU5      nT" TR                  XtTT	TTTU5      5        T" S5        M:     U$ ! [         a    T" TR                  XtT5      5         N2f = f)Nr[   r   r,  r%   rA  	Exceptionr>  )msgr   r   okr*   r   homeclsr   r  r  hrmdictr  rH   r+  rA   s           r   spillHTMLDoc.docclass.<locals>.spill  s    #E5IB
S	24.DQ ' 5 T]]5(-wvwP QJ 35 L % = T\\%s;<=s   A.."BBc                    > [        X5      u  p1U(       a<  TR                  5         T
" U 5        U H  u  pEpgT
" TR                  XtT	5      5        M      U$ rN   r   r,  r>  r7  r   r   r8  r*   r   r9  r   r:  r  r+  rA   s           r   spilldescriptors*HTMLDoc.docclass.<locals>.spilldescriptors  I    #E5IB
S	24.De378 35Lr   c                 x  > [        X5      u  p1U(       a  TR                  5         T" U 5        U H  u  pEpgTR                  [        TU5      UT5      n[	        U5      n	U	(       d  T" SU-  5        O=TR                  [	        U5      TR                  TT
T5      n	SU	-  n	T" SU< U	< S35        T" S5        M     U$ )Nz<dl><dt>%s</dl>
z <dd><span class="code">%s</span><dl><dt>r3  r[   )r   r,  r?  r%   rY   r  r  )r7  r   r   r8  r*   r   r9  r   rC   rD   r  r  r:  r;  r  rH   r+  rA   s             r   	spilldata#HTMLDoc.docclass.<locals>.spilldata  s    #E5IB
S	24.D==)>cJD -C0478"kk&-*/%A@3FdC@AJ 35 Lr   r@   r  -r   c                    > U S   TL $ Nr]   r"  r  	thisclasss    r   r   "HTMLDoc.docclass.<locals>.<lambda>      AaDI<Mr   defined hereinherited from %sz:<br>
z
Methods %sc                     U S   S:H  $ Nr\   r   r"  r  s    r   r   rN         AaDH$4r   zClass methods %sc                     U S   S:H  $ Nr\   zclass methodr"  rT  s    r   r   rN  "      AaDN$:r   zStatic methods %sc                     U S   S:H  $ Nr\   r   r"  rT  s    r   r   rN  $      AaDO$;r   zReadonly properties %sc                     U S   S:H  $ Nr\   r   r"  rT  s    r   r   rN  &      qt7J/Jr   zData descriptors %sc                     U S   S:H  $ Nr\   r   r"  rT  s    r   r   rN  (      qt7H/Hr   zData and other attributes %sc                     U S   S:H  $ Nr\   r  r"  rT  s    r   r   rN  *      !r   rS   	<a name="z">class <strong></strong></a>z<strong>z</strong> = <a name="z">class r  (%s)r  ()r  z&<span class="code">%s<br>&nbsp;</span>r  r   )r0   r   r   r   r&   getmror_   r,  r  r"   r   r   r%   r6  rO   popleftr   builtinsrH   r   r`   rp   rv  rY   r  r  r  )"rA   rH   r*   r  r  r  r  realnamer  r  r1  mrorC   r<  rA  rF  r   r)   r   r   r   r9  anchor	inheritedtagr  r  declrn   rD   r:  r;  r+  rM  s"   `` ```                        @@@@r   r<  HTMLDoc.docclass  s    ??x  	! 	!  GNN6*+s8a<HHJ:;_t~~d6<6G6G(I I J  O	 	$	 		 	& 0DF/K3/K+T4e&1 *$c5)/K 	 3 ).%Cw"%*s"2S"88E#J-
  &e */ KKM	!!HQK	*52MNE9X__,hoo1M!f$$)DNN9;A;L;L-N N9CE6* ,,e46E,s2E:<E-3U;=E$%=%CU%JLE$%:S%@%%HJE<sBE68E EC eF 778$8h E 
 dH&EGt~~dF4E4EFG FTYYw%777Ef%w$$++g..7DVn#)$Ckk#t~~uguED>D||E7Ha==a3     s0   >M0

M0
M8N	8
NN	
NNc                 H    U R                  SU R                  U5      -   5      $ N=)r  rE  ry  s     r   formatvalueHTMLDoc.formatvalueI  s    yytyy0011r   c	                 z   UR                   n	U=(       d    U	nUc  UnUc  SOUR                   S-   U-   n
SnSnS n[        U5      (       an  UR                  nXL a  [        USS 5      nO[        R
                  " U5      (       a  SU R                  X5      -  nOSU R                  UR                  U5      -  nOv[        R                  " U5      (       d  [        R                  " U5      (       a>   UR                  nUc  SU R                  X5      -  nOXLa  SU R                  X5      -   nOUn[        R                  " U5      (       aZ  UbW  UR                  UR                  :w  d   UR                  UR                  S	-   U	-   :w  a  U R                  X5      nU(       a  S
U-  n[        R                   " U5      (       d  [        R"                  " U5      (       a  SnOSnX):X  a  SU
< SU	< S3nOcUbP  [        R$                  " Xy/ 5      UL a6  SUR                   S-   U	-   < SU	< S3nSnUR'                  S5      (       a  SnOU	nSU
< SU< SU< 3nS n[        R(                  " U5      (       a3  [+        U5      nU(       a!  U	S:X  a  SU-  nUR,                  (       d  USS nU(       d  SnUU-   U R/                  U5      -   U=(       a    U R1                  SU-  5      -   nU(       a  SU-  $ U R3                  [5        U5      U R6                  XEU5      nU=(       a    SU-  nSU< SU< S3$ ! [         a     GNf = f)NrS   rI  Fr-    class method of %s method of %s instance unbound %s method from r    from %sasync re  z
"><strong>rf  z
<a href="#r  r  Tz</strong></a> = rd   z$<strong>%s</strong> <em>lambda</em> r\   r   (...)z$<span class="heading-text">%s</span>z<dl><dt>%s</dt></dl>
z%<dd><span class="code">%s</span></dd>rE  z</dt>r3  )r0   r   r1   r%   r&   r'   r  r2   r8   ismethodwrapperr:   r?   r3   r"   r#   r  iscoroutinefunctionisasyncgenfunctiongetattr_staticr   rz   rp   __annotations__rv  r  r  rY   r  )rA   rH   r*   r  r  r  r   r   r9  rl  rn  noteskipdocsimfuncimselfobjclasspnameasyncqualifierr  reallinkrn   rq  rD   s                          r   r=  HTMLDoc.docroutineM  s
    ??x?G
"s:TAF##__F| T:((,t~~f/JJ/$..$$c3+ +((00%%f--D!.. :/$..2OOD,#dnnX&CCDFf%%'*=!3!337#7#7##=#HHOOF0E!E)''//**622%NN>DhOE&&rR8FBKK#%0(<??8,,D#h(EV$$!&)G8z1>E --%amGG%G(<< AHyy?$FGI +d22++vICGACGC15s;;u " s   /L, ,
L:9L:c                     / nUR                   nU(       a  U" SU-  5        U R                  [        U5      U R                  5      nU(       a  U" SU-  5        U" S5        SR	                  U5      $ )Nz!<dl><dt><strong>%s</strong></dt>
z&<dd><span class="code">%s</span></dd>
r3  rS   )r   r  rY   r  r`   	rA   rH   r*   r  r   r  r   r+  rD   s	            r   r>  HTMLDoc.docdata  s`    ~~5<=kk&.$..9:S@AYwwwr   c                 V    U=(       a    SU-  =(       d    SnXPR                  U5      -   $ )Nz<strong>%s</strong> = rS   rE  )rA   rH   r*   r  r  lhss         r   r?  HTMLDoc.docother  s)    6/$6<"YYv&&&r   c                 6   / nUc  0 n[         R                  " U/5       H:  u  pEn[        S U 5       5      (       a  M  UR                  USXeU;   45        SX%'   M<     UR	                  5         U R                  X0R                  5      nU R                  USU5      $ )Nc              3   ^   #    U  H#  nS [        U5      s=:*  =(       a    S:*  Os  v   M%     g7f)i   i  N)ord.0chs     r   	<genexpr> HTMLDoc.index.<locals>.<genexpr>  s$     @4RFc"g////4s   +-rS   r\   r   )r  r  anyr   r   r  r  r  )rA   r   r  r  r  r*   r  r  s           r   r   HTMLDoc.index  s    X%,%9%93%%@!HE@4@@@NND"eX-=>?HN &A 	##G__=sGX66r   r"  rS   )   rS   Nr  rN   r   NNN) r0   r"   r#   r   rb  _repr_instancerE  rv  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r;  r<  rv  r=  r>  r^  r?  r   r   r"  r   r   r  r  u  s    
 ZND""F
&& 3419U**
<
5 G*/&O38 #'b"b % R*&tl %)d"b [>z2 '+RdR<h  K'
7r   r  c                   0    \ rS rSrS rS rS r\rS rSr	g)TextRepri  c                 v    [         R                  " U 5        S=U l        U l        SU l        S=U l        U l        g rd  rh  rn  s    r   r   TextRepr.__init__  rp  r   c                 2   [        [        U5      S5      (       aV  SSR                  [        U5      R                  R	                  5       5      -   n[        X5      (       a  [        X5      " X5      $ [        [        [        U5      5      U R                  5      $ r|  )
r   rJ   r`   r0   r$   r%   r   r   rE  rm  r~  s       r   r  TextRepr.repr1  sn    47J'' 388DG,<,<,B,B,D#EEJt((t0::GDG$dmm44r   c                     [        XR                  5      n[        U5      nSU;   a"  S[        USS5      ;  a  SUS   -   U-   US   -   $ U$ )Nr  r  rS   r  r   )r   rl  rE  r   r  s        r   r  TextRepr.repr_string  sT    A~~&:4<D%(DD !$t+hqk99r   c                      [        [        [        U5      5      U R                  5      $ !   SUR                  R
                  -  s $ = fr  )r   r   rE  rl  r2   r0   r  s      r   r  TextRepr.repr_instance  s=    	:Q($..99	:"Q[[%9%999s	   '* Ar  N)
r0   r"   r#   r   r   r  r  r  r  r   r"  r   r   r  r    s    -5 H:r   r  c                       \ rS rSr\" 5       r\R                  rS rSS jrS r	SS jr
SS jrSS jrS	 rSS
 jrSS jr\rSSSS.S jjrSrg)TextDoci  c                 2    SR                  S U 5       5      $ )NrS   c              3   0   #    U  H  oS -   U-   v   M     g7f)Nr"  r  s     r   r  TextDoc.bold.<locals>.<genexpr>  s     5"Dy2~s   )r`   ru  s     r   boldTextDoc.bold  s    ww5555r   c                     U(       d  gUR                  S5       Vs/ s H  o2U-   R                  5       PM     nnSR                  U5      $ s  snf )NrS   r[   )r$   rW   r`   )rA   r   prefixlinera   s        r   indentTextDoc.indent  sF    B6:jj6FG6Fd4-'')6FGyy Hs   Ac                 t    U R                  U5      R                  5       nU R                  U5      S-   U-   S-   $ )Nr[   r  )r  rW   r  )rA   r  r  clean_contentss       r   r  TextDoc.section  s7    X.557yy$&7&@@r   Nc           	      @  ^ SnU H  n[        U[        5      (       aL  Uu  pxXT-   [        UT5      -   nU(       a)  X4:w  a#  U4S jU 5       n	USSR                  U	5      -  -   nUS-   nMd  [        U[        5      (       d  M{  XPR                  UTWUS-   5      -   nM     U$ )NrS   c              3   <   >#    U  H  n[        UT5      v   M     g 7frN   rt   )r  r  rs   s     r   r  %TextDoc.formattree.<locals>.<genexpr>  s     DeyG44es   rg  r  r[       )r5   r   rt   r`   r  r  )
rA   r  rs   r  r  rX   r  r  r  r  s
     `       r   r  TextDoc.formattree   s    E%'' 9Q+@@Ui/DeDG#ftyy/A&AAF$E4((//7Av#8 8  r   c           
         UR                   n[        [        U5      5      u  pVU R                  SX%=(       a    SU-   -   5      n[	        USS 5      nU R                  U5      n	U	b  XpR                  SU	S-   5      -   nU(       a  XpR                  SU5      -   n/ n
[        R                  " U[        R                  5       HQ  u  pUc$  [        R                  " U5      =(       d    UUL d  M,  [        XU5      (       d  M?  U
R                  X45        MS     / n[        R                  " U[        R                  5       Hl  u  pUc?  [        R                  " U5      (       d$  [        R                  " U5      =(       d    UUL d  MG  [        XU5      (       d  MZ  UR                  X45        Mn     / n[        R                  " U[        5       H*  u  p[        XU5      (       d  M  UR                  X45        M,     / n[        5       n[!        US5      (       a  ["        R$                  " UR&                  5       HF  u  nnnUR)                  U5        U(       a  UR                  US-   5        M5  UR                  U5        MH     UR+                  5         XpR                  S	S
R-                  U5      5      -   n/ n[        R                  " U[        R.                  5       HC  u  pUR                   R1                  US-   5      (       d  M*  UU;  d  M2  UR                  U5        ME     U(       a3  UR+                  5         XpR                  SS
R-                  U5      5      -   nU
(       a  U
 VVs/ s H  u  pUPM	     nnnU R3                  [        R4                  " US5      U5      /nU
 H&  u  pUR                  U R7                  XU5      5        M(     XpR                  SS
R-                  U5      5      -   nU(       aQ  / nU H&  u  pUR                  U R7                  XU5      5        M(     XpR                  SS
R-                  U5      5      -   nU(       aP  / nU H%  u  pUR                  U R9                  XUSS95        M'     XpR                  SS
R-                  U5      5      -   n[!        US5      (       aN  [;        UR<                  5      nUS S S:X  a  USS  S:X  a  USS R?                  5       nXpR                  SU5      -   n[!        US5      (       a'  XpR                  S[;        UR@                  5      5      -   n[!        US5      (       a'  XpR                  S[;        URB                  5      5      -   n[!        US5      (       a'  XpR                  S[;        URD                  5      5      -   n [        RF                  " U5      nXpR                  S U5      -   nU$ s  snnf ! [H         a    Sn N*f = f)!NNAMEr  r	  zMODULE REFERENCEa.  

The following documentation is automatically generated from the Python
source files.  It may be incomplete, incorrect or include features that
are considered implementation detail and may vary between Python
implementations.  When in doubt, consult the module reference at the
location listed above.
DESCRIPTIONr   
 (package)zPACKAGE CONTENTSr[   r   
SUBMODULESr\   CLASSES	FUNCTIONSF   )r   DATAr   r  r  r   r  VERSIONr   DATEr   AUTHORr   CREDITSrK  FILE)%r0   rb   rY   r  r%   r[  r&   r   r'   r  r   r   rz   r4   r~   setr   r  r  r   addr   r`   ry   r   r  r  rA  r?  rK   r   r^   r   r   r   rV  rO   )rA   rH   r*   r  r  synopdescrX   r   rZ  r  r   r   r  r  r  modpkgs_namesr  rs   r  
submodulesr  r  r  r   s                            r   r;  TextDoc.docmodule  s   vf~.fd.E&FGfi.'ll+=v I @  F ll=$??F!,,VW__EJC%%e,66As00NNC<0 F !,,VW5F5FGJC$$U++%%e,66As00LL#. H !,,VV<JC3V,,SL) = 6:&&,3,@,@,Q('5!!'*NN7\#9:NN7+ -R LLNll"DIIg$68 8F 
!,,VW5E5EFJC~~((44M9Q!!#& G OOlldii
35 5F 189:3I9$$Y2D: ;H%
e$ ?@ &ll9dii6IJJFH#
e$ ?@ $ll;		(8KLLFH"
e$r JK #ll6499X3FGGF6=))&,,-Gs|11gbclc6I!"R...0ll9g>>F6:&&ll63v3GHHF6<((ll8S9J9J5KLLF6=))ll9c&:L:L6MNNF	 %%f-D ,,vt44G :@  	 D	 s   "W!W W"!W"c                   ^ ^^^^^ TR                   nU=(       d    UnTR                  nTR                  4S jnX%:X  a  ST R                  U5      -   nOT R                  U5      S-   U-   nU(       a"  [	        Xv5      n	USSR                  U	5      -  -   n/ n
U
R                  m[        T5      nU(       a  US:w  a  T" X+-   S-   5        [        T5      nU(       a  T" US-   5        [        [        R                  " T5      5      n[        U5      S:  a*  T" S	5        U H  nT" S
U" U5      -   5        M     T" S5        [        S [        R                  T5       5       [         R"                  S9n[        U5      nSnU(       aG  T" S5        US U  H  nT" S
U-   5        M     UU:  a  T" S[!        UU-
  5      -   S-   5        T" S5         " U4S jS5      nU" 5       mUUUUU 4S jnUUUU 4S jnUUUUU 4S jn[%        T5       VVVVs/ s H  u  nnnn['        UTS9(       d  M  UUUU4PM!     nnnnnU(       a  U(       a  UR)                  5       mOUS   S   m[+        UU4S j5      u  nnT[,        R.                  La  T[,        R.                  L a  UnMd  TTL a  SnOS[1        TTR                  5      -  n[3        UT5        U" SU-  US 5      nU" SU-  US 5      nU" S U-  US! 5      nU" S"U-  US# 5      nU" S$U-  US% 5      nU" S&U-  US' 5      nUnU(       a  M  SR                  U
5      n
U
(       d  US-   $ US-   T R5                  U
R7                  5       S(5      -   S-   $ s  snnnnf ))Nc                     [        X5      $ rN   r  )r  ro   s     r   makename"TextDoc.docclass.<locals>.makename|  s    Q?"r   class z	 = class rg  r  rh  r[   r]   zMethod resolution order:r  rS   c              3      #    U  HN  nUR                   R                  S 5      (       a  M%  UR                  S:X  d  M7  [        UR                   5      v   MP     g7f)r   rk  N)r0   r   r"   rK   )r  r)   s     r   r  #TextDoc.docclass.<locals>.<genexpr>  sI      S*E3LL++C0 58^^z5Q S*Es   $AAAr   r  zBuilt-in subclasses:z    ... and z other subclassesc                   (   > \ rS rSrS rU 4S jrSrg)(TextDoc.docclass.<locals>.HorizontalRulei  c                     SU l         g r   r%  rn  s    r   r   1TextDoc.docclass.<locals>.HorizontalRule.__init__  r(  r   c                 F   > U R                   (       a  T" S5        SU l         g )NzF----------------------------------------------------------------------r\   r%  r*  s    r   r,  .TextDoc.docclass.<locals>.HorizontalRule.maybe  r.  r   r%  Nr/  r0  s   r   r1  r    r2  r   r1  c           
        > [        X5      u  p1U(       aL  TR                  5         T" U 5        U H.  u  pEpg [        T
U5      nT" TR                  UUT	T
U5      5        M0     U$ ! [         a    T" TR                  XtT	5      5         MY  f = frN   r5  )r7  r   r   r8  r*   r   r9  r   r:  r  rH   r+  rA   s           r   r<  TextDoc.docclass.<locals>.spill  s    #E5IB
S	24.DE ' 5 T]]5(,c67D E 35 L % = T\\%s;<=s   A$$"B
	B
c                    > [        X5      u  p1U(       a<  TR                  5         T
" U 5        U H  u  pEpgT
" TR                  XtT	5      5        M      U$ rN   r?  r@  s           r   rA  *TextDoc.docclass.<locals>.spilldescriptors  rC  r   c                   > [        X5      u  p1U(       aW  T
R                  5         T" U 5        U H9  u  pEpg[        U5      n [        TU5      n	T" TR                  XTSUS9S-   5        M;     U$ ! [         a    UR
                  U   n	 N<f = f)Nr  r   rD   r[   )r   r,  rY   r%   r?   __dict__r?  )r7  r   r   r8  r*   r   r9  r   rD   r@   r:  r  rH   r+  rA   s             r   rF  #TextDoc.docclass.<locals>.spilldata  s    #E5IB
S	24.D -C5%fd3 s#bcJ  35 L	 * 5%..t45s   A//B
BrH  r   c                    > U S   TL $ rK  r"  rL  s    r   r   "TextDoc.docclass.<locals>.<lambda>  rO  r   rP  rQ  zMethods %s:
c                     U S   S:H  $ rS  r"  rT  s    r   r   r    rU  r   zClass methods %s:
c                     U S   S:H  $ rW  r"  rT  s    r   r   r    rX  r   zStatic methods %s:
c                     U S   S:H  $ rZ  r"  rT  s    r   r   r    r[  r   zReadonly properties %s:
c                     U S   S:H  $ r]  r"  rT  s    r   r   r    r^  r   zData descriptors %s:
c                     U S   S:H  $ r`  r"  rT  s    r   r   r    ra  r   zData and other attributes %s:
c                     U S   S:H  $ rc  r"  rT  s    r   r   r    rd  r   z |  )r0   r   r"   r  mapr`   r   rp   rY   r   r&   ri  r_   sortedrJ   __subclasses__rK   rX  r   r   rj  r   rk  rH   rt   r   r  rW   ) rA   rH   r*   r  r  rl  r  r  r  r  r  rn   rD   rm  rC   
subclassesno_of_subclassesMAX_SUBCLASSES_TO_DISPLAYsubclassnamer1  r<  rA  rF  r   r)   r   r   ro  rp  r:  r+  rM  s    `` `                         @@@r   r<  TextDoc.docclassv  s   ??x   ++ 	# tyy22EIIdOk1H<E(*GFTYYw%777Ef%w$$&'Vnt GNN6*+s8a<+,Vhtn,- H S$*=*=f*E S		


 z?$%!'( *+E,E FVl*+ !G";;^),EEFG() * H	! 	! 	 	"	 		 	  0DF/K3/K+T4e&1 *$c5)/K 	 3 KKM	!!HQK	*52MNE9X__,hoo1M!f$$)Ii6<6G6G-I I E6* /C/46E/#5u:<E036;=E$%@3%F%JLE$%=%CU%HJE?#Eu68E EC eF 99X&4<t|dkk(//*;VDDtKKU3s   
M+
&
M+
c                 *    SU R                  U5      -   $ rt  r  ry  s     r   rv  TextDoc.formatvalue  s    TYYv&&&r   c                    UR                   nU=(       d    UnUc  UnSnSnS n	[        U5      (       ab  UR                  n
XL a  [        USS 5      n	O[        R
                  " U
5      (       a  S[        X5      -  nOS[        U
R                  U5      -  nOj[        R                  " U5      (       d  [        R                  " U5      (       a2   UR                  nUc  S[        X5      -  nOXLa  S[        X5      -   nOUn	[        R                  " U	5      (       aT  UbQ  U	R                  UR                  :w  d   U	R                  UR                  S-   U-   :w  a  [        X5      nU(       a  S	U-  n[        R                   " U5      (       d  [        R"                  " U5      (       a  S
nOSnX&:X  a  U R%                  U5      nONUb4  [        R&                  " XF/ 5      UL a  SnUR)                  S5      (       a  SnU R%                  U5      S-   U-   nS n[        R*                  " U5      (       aB  [-        U5      nU(       a0  US:X  a*  U R%                  U5      S-   nUR.                  (       d  USS nU(       d  SnX-   U-   U-   nU(       a  US-   $ [1        U5      =(       d    SnUS-   U=(       a"    U R3                  U5      R5                  5       S-   -   $ ! [         a     GNf = f)NrS   Fr-   ry  rz  r{  r|  r   r}  r~  T = rd   z lambda r\   r   r  r[   )r0   r   r1   r%   r&   r'   rt   r2   r8   r  r:   r?   r3   r"   r#   rw   r  r  r  r  r   rz   rp   r  rY   r  rW   )rA   rH   r*   r  r   r9  rl  r  r  r  r  r  r  r  r  rn   rq  rD   s                     r   r=  TextDoc.docroutine  s   ??x?GF##__F| T:((,y/EE/)$$c3+ +((00%%f--?!.. :/)H2JJD,#i&>>DFf%%'*=!3!337#7#7##=#HHv+E!E)''//**622%NNIIh'E&&rR8FB??8,,DIIdOe+h6EV$$!&)G8z1		$*4 --%amGG%/$6$;.&BC$;#"J$++c*:*A*A*Cd*JKKe " s   K 
KKc                     / nUR                   nU(       a  U" U R                  U5      5        U" S5        [        U5      =(       d    SnU(       a  U" U R                  U5      5        U" S5        SR	                  U5      $ )Nr[   rS   )r   r  rY   r  r`   r  s	            r   r>  TextDoc.docdataY  sb    ~~4!JVn"S!"Jwwwr   r  c                l   U R                  U5      nU(       a6  U=(       a    US-   =(       d    SU-   n	U[        U	5      -
  n
U
S:  a  US U
 S-   nU=(       a    U R                  U5      S-   =(       d    SU-   n	U(       d  [        U5      nU(       a#  U	SU R	                  [        U5      5      -   S-   -  n	U	$ )Nr   rS   r   r   r[   )rE  r_   r  rY   r  rK   )rA   rH   r*   r  r  r   rD   r  rE  r  chops              r   r?  TextDoc.docotheri  s     yy )TE\/R47DCI%DaxUde 304506B$>.CD4;;s3x00477Dr   r"  )r  )NrS   r   )NNNNr  )r0   r"   r#   r   r  r  rE  r  r  r  r  r;  r<  rv  r=  r>  r^  r?  r   r"  r   r   r  r    sg    
 ZND6 A dLSLj'HLT  K$ r   r  c                       \ rS rSrS rSrg)_PlainTextDocix  c                     U$ rN   r"  ru  s     r   r  _PlainTextDoc.boldz  s    r   r"  N)r0   r"   r#   r   r  r   r"  r   r   r  r  x  s    r   r  c                 .    [        5       q[        X5        g rN   )r   pager)r   r  s     r   r  r    s     KE	$r   c                    [         R                  " U 5      (       a\  U R                  [        R                  ;   a  SU R                  -   $ [        U S5      (       a  SU R                  -   $ SU R                  -   $ [         R                  " U 5      (       a  SU R                  -   $ [         R                  " U 5      (       a@  SU R                  R                  < SU R                  R                  < SU R                  < 3$ [         R                  " U 5      (       a@  SU R                  R                  < SU R                  R                  < SU R                  < 3$ [         R                  " U 5      (       a  S	U R                  -   $ [         R                  " U 5      (       a  S
U R                  -   $ [         R                  " U 5      (       a  SU R                  -   $ [        U 5      R                  $ )Nzbuilt-in module r   zpackage zmodule zbuilt-in function zgetset descriptor r   zmember descriptor r  z	function zmethod )r&   ry   r0   r   r1  r   r4   isgetsetdescriptorr:   r"   r;   r'   r3   r/   rJ   )things    r   describer    so   >>S555%665*%%..u~~--#enn44!!%(())5+=+=+F+FNN 	 !!%(())5+=+=+F+FNN 	 u%..((%  U^^++5>>));r   c                 x   U R                  S5       Vs/ s H  o"(       d  M  UPM     nnSu  pEU[        U5      :  a@  [        SR                  US US-    5      U5      nU(       a  XeS-   pTOOU[        U5      :  a  M@  U(       a  UnO[        nX5S   H  n [        Xr5      nM     U$ s  snf ! [         a       g f = f)Nr   r   r\   )r$   r_   r6  r`   rk  r%   r?   )r   r4  partr  r  n
nextmodulerH   s           r   locater    s    "jjo6odToE6IF
c%j.t! 5yA
:1uq c%j. b		V*F 
 M 7  		s   
B&B&B++
B98B9c                     [        U [        5      (       a  [        X5      nUc  [        SU -  5      eX 4$ [	        U SS 5      nU [        U[        5      (       a  U4$ S 4$ )Nz~No Python documentation found for %r.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.r0   )r5   rK   r  r3  r%   )r  r4  rH   r*   s       r   resolver    sq    %)> , /44 5 5 }uj$/js33d====r   c                    Uc  [         n[        X5      u  pE[        U5      n[        R                  " U5      nU(       a!  SU;   a  USUS UR                  S5       -   -  nOU(       a  XtLa  USUR                  -   -  n[        R                  " U5      (       d  [        R                  " U5      (       dt  [        R                  " U5      (       dY  [        R                  " U5      (       d>  [        U5      (       d.  [        US5      (       a  UR                  nO[        U5      nUS-  nX-  S-   UR                  XE5      -   $ )Nr   z in z in module 
__origin__ objectr  )r   r  r  r&   r  rfindr0   ry   r'   rz   r9   rQ   r   r  rJ   rA  )r  r  r4  rendererrH   r*   r  r  s           r   
render_docr    s    5,LFFDv&Ft.tzz#///	F(//V$$oof%%''&&v..foo 6<((&&F&\FID<& 8#4#4V#BBBr   c                    Uc   [        U [        5      (       a  U nO\[        U SS 5      n[        U[        5      (       d:  [        U SS 5      n[        U[        5      (       d  [        U 5      R                  S-   n[        [        XU5      SU< 35        g  [        XU[        5      nUR                  U5        g ! [         a  nU(       a  e [        U5         S nAg S nAff = f! [         a  n[        U5      n S nANVS nAff = f)Nr#   r0   r  Help on )r5   rK   r%   rJ   r0   r  r  r3  print	plaintextwrite)r  r  r4  outputis_cliwhatr  r   s           r   rD   rD     s     ~	%%%und;!$,,"5*d;D%dC00#E{33i?*U95$7JK	5I>A 	Q  	#JJ	  	CA	s0   BB8 C" 8
CCC"
D,C<<Dc                    [        X5      u  p#[        R                  [        U5      [        R	                  X#5      5      n[        US-   SSS9 nUR                  U5        S S S 5        [        SUS-   5        g ! , (       d  f       N= f)NrU  wutf-8)encodingwrote)r  htmlr  r  rA  r  r"  r   )r  r4  rH   r*   r  r   s         r   writedocr,    sf    5,LF99Xf%t}}V'BCD	dWncG	4

4 
5	'4'>" 
5	4s   A88
Bc                 h    Uc  0 n[         R                  " U /U5       H  u  p4n[        U5        M     g rN   )r  walk_packagesr,  )r   pkgpathdoner  rs   r  s         r   	writedocsr1    s5    |BT$+$9$93%$I 5 %J
r   c                      \ rS rSr0 SS_SS_SS_SS_SS	_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S_0 S!S"_S#S$_S%S&_SS'_S$S(_S)S*_S+S,_S-S._S/S0_S1S_S2S_S3S4_S5S6_S7S8_SS9_S:S;_S	S<_ES=S>0ErS? V VVs/ s H  nS@  H  o!U-   PM	     M     snnn rSASBSCSD/\Q7SESFSGSHSISJSK.r0 SLSM_SNSO_SPSQ_SRSS_STSU_SVSW_SXSY_SZS[_S\S]_S^S__S`Sa_SbSc_SdSe_SfSe_SgSh_SiSh_r\R                  5        H4  u  r	r
\
 H(  r\R                  \\	5      r\	\;  a  \Sj-   \	-   r\\\'   M*     M6     C	C
CC0 SkSl_S[Sm_SnSo_SpSq_SrSs_StSu_SvSw_SxSy_SzS{_S|S}_S~S_SS_SS_SS_SS_SSk_SSk_0 SS_SUS_SS_SS_SS_SS$_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_E0 SS_SS_SS_SS_SS_SS_SS_SS_SS_S_S_SS_SS|_SS_SS_SS_SS_SS_E0 SS_SS_SS_SS_SOS_SS_SS_SS_SS_S,S_SS_SS
_SS_SS_S]S_SS_SS7_ES$SSSSSS.ErSS jr\S 5       r\S 5       rS r\" 5       r\4S jrS rS rSS jrS rSS jrS rS rS rSS jrSS jrS r SS jr!Sr"gs  snnn f )Helperi
  FalserS   NoneTrueandBOOLEANaswithassert)r;  rS   async)r<  rS   await)r=  rS   break)r>  	while forclass)r@  zCLASSES SPECIALMETHODScontinue)rA  r?  def)functionrS   del)rD  BASICMETHODSelififelse)rH  r?  excepttryfinallyfor)rL  zbreak continue whilefromimportglobal)rO  znonlocal NAMESPACES)rG  
TRUTHVALUE)rN  MODULESin)rR  SEQUENCEMETHODSis
COMPARISONlambda)rV  r  nonlocal)rW  zglobal NAMESPACESnotorpass)rZ  rS   raise)r[  
EXCEPTIONSreturn)r]  r  )rJ  r\  while)r^  zbreak continue if TRUTHVALUE)r:  z CONTEXTMANAGERS EXCEPTIONS yieldyield)r_  rS   )bfr  u'r  rd  z'''r  z""")+rI  ***rT  z//%<<>>rr  |^~rs  rt  <=>===!=<>)rs  rt  rn  ro  rp  rq  rr  )rI  rm  )z+=z-=z*=z/=z%=z&=z|=z^=z<<=z>>=z**=z//=)ri  rj  rr  rk  rl  rm  )jJ)STRINGS	OPERATORSrU  UNARYAUGMENTEDASSIGNMENTBITWISECOMPLEXrh  zOPERATORS FORMATTINGrg  POWER,zTUPLES LISTS FUNCTIONSr   z ATTRIBUTES FLOAT MODULES OBJECTSr   ELLIPSIS:zSLICINGS DICTIONARYLITERALS@z	def classr  ru  z:=ASSIGNMENTEXPRESSIONSr   PRIVATENAMESr   zPRIVATENAMES SPECIALMETHODS`
BACKQUOTESrh   zTUPLES FUNCTIONS CALLSr   [zLISTS SUBSCRIPTS SLICINGS]rD  TYPES)typeszRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspect)stringsz4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPESSTRINGMETHODS)zstring-methodszSTRINGS FORMATTING
FORMATTING)formatstringsrv  UNICODE)r  z:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPESNUMBERS)numberszINTEGER FLOAT COMPLEX TYPESINTEGER)integersz	int rangeFLOAT)floatingz
float mathrz  )	imaginaryzcomplex cmath	SEQUENCES)typesseqz$STRINGMETHODS FORMATTING range LISTSMAPPINGSDICTIONARIESr  )typesfunctionsz	def TYPESMETHODS)typesmethodszclass def CLASSES TYPESCODEOBJECTS)zbltin-code-objectszcompile FUNCTIONS TYPESTYPEOBJECTS)zbltin-type-objectsztypes TYPESFRAMEOBJECTS
TRACEBACKSNONE)zbltin-null-objectrS   )zbltin-ellipsis-objectSLICINGSSPECIALATTRIBUTES)specialattrsrS   r  )r  z!class SPECIALMETHODS PRIVATENAMESrQ  )typesmodulesrN  PACKAGESEXPRESSIONS)zoperator-summaryzlambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIESrv  
PRECEDENCEOBJECTS)objectsr  SPECIALMETHODS)specialnameszbBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS NUMBERMETHODS CLASSESrE  )customizationzhash repr str SPECIALMETHODSATTRIBUTEMETHODS)zattribute-accesszATTRIBUTES SPECIALMETHODSCALLABLEMETHODS)zcallable-typeszCALLS SPECIALMETHODSrS  )sequence-typesz(SEQUENCES SEQUENCEMETHODS SPECIALMETHODSMAPPINGMETHODS)r  zMAPPINGS SPECIALMETHODSNUMBERMETHODS)znumeric-typesz*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODS	EXECUTION)	execmodelz%NAMESPACES DYNAMICFEATURES EXCEPTIONS
NAMESPACES)namingz3global nonlocal ASSIGNMENT DELETION DYNAMICFEATURESDYNAMICFEATURES)zdynamic-featuresrS   SCOPINGFRAMESr\  )rM  ztry except finally raiseCONVERSIONS)conversionsrS   IDENTIFIERS)identifierszkeywords SPECIALIDENTIFIERSSPECIALIDENTIFIERS)z
id-classesrS   )zatom-identifiersrS   LITERALS)zatom-literalsz=STRINGS NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALSTUPLESTUPLELITERALS)	exprlistszTUPLES LITERALSLISTS)ztypesseq-mutableLISTLITERALSr  )listszLISTS LITERALS)typesmappingDICTIONARYLITERALSr  )r<   zDICTIONARIES LITERALS
ATTRIBUTES)zattribute-referencesz(getattr hasattr setattr ATTRIBUTEMETHODS
SUBSCRIPTS)subscriptionsrS  r  )slicingsrS  CALLS)callsr  )powerr  rw  )unaryr  BINARY)binaryr  SHIFTING)shiftingr  ry  )bitwiser  )comparisonszEXPRESSIONS BASICMETHODS)booleanszEXPRESSIONS TRUTHVALUE	ASSERTION
ASSIGNMENT)
assignmentrx  rx  )	augassignr  )zassignment-expressionsrS   DELETION	RETURNING)compoundzfor while break continue)truthz if while and or not BASICMETHODS)debuggerpdb)zcontext-managersr:  )	IMPORTINGCONDITIONALLOOPINGrP  	DEBUGGINGCONTEXTMANAGERSNc                     Xl         X l        g rN   _input_output)rA   inputr#  s      r   r   Helper.__init__  s    r   c                 H    U R                   =(       d    [        R                  $ rN   )r  r   stdinrn  s    r   r  Helper.input  s    {{'cii'r   c                 H    U R                   =(       d    [        R                  $ rN   )r  r   stdoutrn  s    r   r#  Helper.output  s    ||)szz)r   c                     [         R                  " 5       S   S   S:X  a  U " 5         gSU R                  R                  < SU R                  R                  < S3$ )Nr\   r   ?rS   rs  r   z
 instance>)r&   stackr2   r"   r#   rn  s    r   __repr__Helper.__repr__  sO    ==?1a C'F ( &*^^%>%>%)^^%@%@B 	Br   c                 &   XR                   La   U R                  U5        g U R                  5         U R                  5         U R                  R	                  S5        g ! [         a(  nU R                  R	                  U S35         S nAg S nAff = f)Nr[   a  
You are now leaving help and returning to the Python interpreter.
If you want to ask for help on a particular object directly from the
interpreter, you can type "help(object)".  Executing "help('string')"
has the same effect as typing a particular string at the help> prompt.
)_GoInteractiver   r3  r#  r"  introinteract)rA   requestr.  s      r   __call__Helper.__call__  sw    ---.		'" JJLMMOKK    .!!SE*--.s   A 
B(BBc                    U R                   R                  S5          U R                  S5      nU(       d  g  UR                  5       n[        U5      S:  a'  US   US   s=:X  a  S;   a  O  OUS   USS ;  a  USS nUR                  5       S;   a  g US	:X  a  U R                  5         OU R                  U5        M  ! [        [        4 a     g f = f)
Nr[   zhelp> r]   r   r   rc  r\   )qquitexitr   )
r#  r"  getlineKeyboardInterruptEOFErrorr^   r_   rX  r  r   )rA   r  s     r   r  Helper.interact  s    $,,x0w mmoG Gq WQZ72;%L*%L
'!B-7!!B-}}"77& 

		'"#  &x0 s   B= =CCc                     U R                   [        R                  L a  [        U5      $ U R                  R	                  U5        U R                  R                  5         U R                   R                  5       $ rN   )r  r   r  r#  r"  flushr   )rA   prompts     r   r   Helper.getline  sQ    ::"= KKf%KK::&&((r   c                    [        U[        5      (       Ga^  UR                  5       nUS:X  a  U R                  5         GOiUS:X  a  U R	                  5         GOQUS:X  a  U R                  5         GO9US:X  a  U R                  5         GO!US S S:X  a#  U R                  UR                  5       S   5        OXR                  ;   a  U R                  U5        OUS;   a   [        [        U5      S	U R                  US
9  OXR                  ;   a  U R                  U5        OXR                  ;   a  U R                  U5        OlU(       a  [        US	U R                  US
9  ON[        [        S	U R                  US
9  O3[        U[         5      (       a  U " 5         O[        US	U R                  US
9  U R"                  R%                  S5        g )Nkeywordssymbolstopicsr       zmodules r\   )r6  r4  r5  zHelp on %s:)r#  r$  r[   )r5   rK   r^   listkeywordslistsymbols
listtopicslistmodulesr$   r
  
showsymbolrD   evalr  r	  	showtopicr  r3  r#  r"  )rA   r  r$  s      r   r   Helper.help  sE   gs##mmoG*$d&7&7&9I%t'7'7'9H$doo&7I%t'7'7'9!
*  !34LL($//'*B55DM=fUMM)4>>'+BKK')@#g}T\\RXYc=fM(($&'=fM$r   c                     U R                   R                  SR                  S[        R                  S S -  5      5        g )Na  Welcome to Python {0}'s help utility! If this is your first time using
Python, you should definitely check out the tutorial at
https://docs.python.org/{0}/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To get a list of available
modules, keywords, symbols, or topics, enter "modules", "keywords",
"symbols", or "topics".

Each module also comes with a one-line summary of what it does; to list
the modules whose name or summary contain a given string such as "spam",
enter "modules spam".

To quit this help utility and return to the interpreter,
enter "q", "quit" or "exit".
z%d.%dr]   )r#  r"  rj   r   r]  rn  s    r   r  Helper.intro  s7       F7S%%bq))*!	,r   c                    [        U5      nX2-  n[        U5      U-   S-
  U-  n[        U5       H  n[        U5       Ht  nXu-  U-   nU[        U5      :  d  M  U R                  R	                  X   5        XrS-
  :  d  MB  U R                  R	                  SSUS-
  [        X   5      -
  -  -   5        Mv     U R                  R	                  S5        M     g )Nr\   rD  r[   )r  r_   r  r#  r"  )	rA   itemscolumnsr  colwr  rowr  r   s	            r   r  Helper.list&  s    uE
W$q(W4;CW~J$s5z>KK%%eh/q[())#tax#eh-7O0P*PQ & KKd# r   c                     U R                   R                  S5        U R                  U R                  R	                  5       5        g )NzN
Here is a list of the Python keywords.  Enter any keyword to get more help.

)r#  r"  r  r	  r   rn  s    r   r  Helper.listkeywords3  s4      	 			$--$$&'r   c                     U R                   R                  S5        U R                  U R                  R	                  5       5        g )Nzx
Here is a list of the punctuation symbols which Python assigns special meaning
to. Enter any symbol to get more help.

)r#  r"  r  r
  r   rn  s    r   r  Helper.listsymbols:  s4      	
 			$,,##%&r   c                     U R                   R                  S5        U R                  U R                  R	                  5       SS9  g )NzN
Here is a list of available topics.  Enter any topic name to get more help.

r   )r  )r#  r"  r  r  r   rn  s    r   r  Helper.listtopicsB  s8      	 			$++""$a	0r   c                     SS K nU R                  R                  XR                  R                  U5      5      nU(       d(  U R                  R                  S[        U5      -  5        g [        U[        5      (       a  U R                  XB5      $ Uu  pV UR                  R                  U   nUR                  5       S-   nU(       a  U=(       d    SS-   U-   nU(       aR  SS KnSSR                  UR                  5       5      -   S-   n	UR!                  U	S	5      n
US
SR                  U
5      -  -  nU R"                  c  [%        USU< 35        g U R                  R                  U5        g ! [         a    U R                  R                  S5         g f = f! [         a*    U R                  R                  S[        U5      -  5         g f = f)Nr   t
Sorry, topic and keyword documentation is not available because the
module "pydoc_data.topics" could not be found.
zno documentation found for %s
r[   rS   rD  Related help topics: r  H   z
%s
r  )pydoc_data.topicsr3  r#  r"  r  r!   r	  rE  r5   rK   r  KeyErrorr^   textwrapr`   r$   wrapr  r  )rA   topic
more_xrefs
pydoc_datatargetlabelxrefsrD   r)  r   wrapped_texts              r   r  Helper.showtopicI  s   	$ (9(9%(@AKK?$u+MNfc"">>&55	##**51C iikD [bC'*4E*TYYu{{}-EELD#==r2L8dii555C<<#%+,KKc"?  	KK   	   	KK?$u+MN	s#   E+ F +%FF1G
	G
c                 t    SS K nU R                  R                  XR                  R                  U5      5      nU(       d  [        S5      e[        U[        5      (       a  U R                  XB5      $ Uu  pVUR                  R                  U   nU(       a  U=(       d    SS-   U-   nXv4$ ! [         a     gf = f)Nr   )r$  rS   zcould not find topicrS   rD  )	r'  r3  r  r!   r	  rk   r5   rK   	_gettopic)rA   r+  r,  r-  r.  r/  r0  rD   s           r   r4  Helper._gettopicm  s    	
$ (9(9%(@A344fc"">>&55&&u-[bC'*4Ez  	

	
s   B* *
B76B7c                 l    U R                   U   nUR                  S5      u  p4nU R                  X55        g )NrD  )r
  	partitionr  )rA   symbolr.  r+  r   r0  s         r   r  Helper.showsymbol  s0    f% **3/%u$r   c                 v  ^ U(       a6  U R                   R                  SR                  U5      5        [        U5        g U R                   R                  S5        0 nU4S jmU4S jn[	        5       R                  TUS9  U R                  UR                  5       5        U R                   R                  S5        g )Nzy
Here is a list of modules whose name or summary contains '{}'.
If there are any, enter a module name to get more help.

zI
Please wait a moment while I gather a list of all available modules...

c                 h    U(       a  USS  S:X  a  US S S-   nUR                  S5      S:  a  SX1'   g g )N	.__init__r  r   r   r\   )find)r   rs   r  r    s       r   callback$Helper.listmodules.<locals>.callback  s@    wrs|{:%crl\9G<<$q('(G$ )r   c                    > T" S U S 5        g rN   r"  )rs   r?  s    r   onerror#Helper.listmodules.<locals>.onerror  s    w-r   rB  z
Enter any module name to get more help.  Or, type "modules spam" to search
for modules whose name or summary contain the string "spam".
)r#  r"  rj   aproposModuleScannerrunr  r   )rA   r   r    rB  r?  s       @r   r  Helper.listmodules  s    KK  F3K	
 CLKK   G6= )
.O':IIglln%KK  r   r  r   )F)r  re   r  )#r0   r"   r#   r   r	  _strprefixes_symbols_inverser
  r  r+  symbols_r8  r!   r  r   r6   r  r#  r  rH   r  r  r  r   r   r  r  r  r  r  r  r4  r  r  r   )r  pr  s   000r   r3  r3  
  s   $$$ 	$ 	y	$
 	f$ 	.$ 	$ 	$ 	'$ 	4$ 	-$ 	$ 	&$ 	$ 	%$  	%!$" 	5#$$ 	.%$& 	'$( 	3)$* 	"+$, 	'-$. 	'/$0 	l1$2 	)3$4 	55$6 	y7$8 	i9$: 	;$< 	(=$> 	)?$@ 	$A$B 	:C$D 	<E$F 	G$HN $8L#7aAEE#7LL%e;l;N?!B4
#g 	% 	/	
 	z 	* 	[ 	i 	% 	^ 	+ 	\ 	% 	% 	(  	(!G$ ,113xF[[/FF"#-$GFO	  4 	xV =V 	 (V
 	AV 	4V 	 (V 	=V 	,V 	+V 	1V 	IV 	NV 	4V  	>!V" 	H#V$ 	<%V& 	'V( 	g)V* 	)+V, 	9-V. 	1/V0 	A1V2 	-3V4 	H5V6 	 .7V> 	]?V@ 	mAVB 	'CVD 	 4EVJ 	IKVL 	MMVN 	EOVP 	 /QVT 	GUVV 	 ,WVZ 	K[V\ 	W]V^ 	3_V` 	<aVb 	,cVd 	@eVf 	*gVh 	EiVj 	0kVl 	0mVn 	 8oVr 	+sVt 	9uVv 	5wVx 	3yVz 	>{V| 	?}V~ 	ZV@ 	:AVB 	3CVD 	)EVF 	)GVH 	)IVJ 	+KVL 	/MVN 	-OVP 	AQVR 	9SVT 	XUVV 	;WVX 	=YVZ 	 !?[V\ 	E]V^ 	X_V` ;C(7kVFp ( ( * *B XN-  #*) *,&$('1"#H6%
_
 Ms   ;Ir3  c                       \ rS rSrSS jrSrg)rF  i  Nc                 
   U(       a  UR                  5       nSU l        0 n[        R                   H  nUS:w  d  M  SXV'   Uc  U" S US5        M  [	        U5      R
                  =(       d    SnUR                  S5      S   nUS-   U-   nUR                  5       R                  U5      S:  d  M}  U" S Xh5        M     [        R                  " US9 GHM  u  pn
U R                  (       a    GO7Uc  U" S US5        M*   U	R                  U5      nUR                  n[        US	5      (       a`   UR                  U5      n[!        ["        R$                  " U5      5      =(       d    Sn[        US
5      (       a  UR'                  U5      nO`S nO] [(        R*                  R-                  U5      nUR
                  (       a  UR
                  R1                  5       S   OSn[3        USS 5      nUS-   U-   nUR                  5       R                  U5      S:  d  GMD  U" XU5        GMP     U(       a  U" 5         g g ! [         a     GMp  f = f! [         a    U(       a  U" U5         GM  f = f! [.         a    U(       a  U" U5         GM  f = f)NF__main__r\   rS   r[   r   r  rD  
get_sourceget_filenamer   )rX  r  r   r1  
__import__rG   r$   r>  r  r.  	find_specr   r   r   rP  r6  r   ioStringIOrQ  r  r  r  r3  r  r%   )rA   r?  r   	completerrB  seenrs   r*   r  r  r  r  r   sourcer   r  s                   r   rG  ModuleScanner.run  s8   ciik	//G*$ !;T7B/%g.66<"D::d+A.D"U?T1Dzz|((-2 w5 0 )0(=(=g(N$Huyy{w+#--g6D 6<00!!'!2!27!;
 +2;;v+>?E2Dv~66%227;#!!*!5!5!;!;D!A
 >D^^6>>446q9QSD"6*T:D-::<$$S)Q.TD1I )OL K ; #  % !"#G, ! ' !"#G, !s6   :H1)I	I$1
I ?I I! I!$JJ)r  r  )r0   r"   r#   r   rG  r   r"  r   r   rF  rF    s    8r   rF  c                     S nS n[         R                  " 5          [         R                  " S5        [        5       R	                  XUS9  S S S 5        g ! , (       d  f       g = f)Nc                 T    USS  S:X  a  US S S-   n[        X=(       a    SU-   5        g Nr<  r=  r  z- )r   )r   rs   r  s      r   r?  apropos.<locals>.callback  s1    23<;&crl\1Gg+t,r   c                     g rN   r"  rs   s    r   rB  apropos.<locals>.onerror  s    r   r   rD  )r   r   filterwarningsrF  rG  )r   r?  rB  s      r   rE  rE    sG    -		 	 	")H7; 
#	"	"s   /A
A"c                   ^^^^^	^
 SS K mSS KmSS Km	SS Km
 " S STR                  R
                  5      m " U	4S jSTR                  R                  5      m " UUUUU
4S jST
R                  5      nU" XU5      nUR                  5         UR                  (       do  UR                  (       a  UR                  (       dM  [        R                  " S5        UR                  (       d&  UR                  (       d  M:  UR                  (       d  MM  U$ )	Nr   c                        \ rS rSrS rS rSrg)!_start_server.<locals>.DocHandleri3	  c                 B   U R                   R                  S5      (       a  SnOSnU R                  S5        U R                  SSU-  5        U R	                  5         U R
                  R                  U R                  U R                   U5      R                  S5      5        g )Nz.csstext/css	text/html   zContent-Typez%s; charset=UTF-8r(  )	r   r   send_responsesend_headerend_headerswfiler"  
urlhandlerencode)rA   content_types     r   do_GET(_start_server.<locals>.DocHandler.do_GET5	  s     yy!!&)))*s#^-@<-OPJJT__		<))/:r   c                     g rN   r"  )rA   r@  s     r   log_message-_start_server.<locals>.DocHandler.log_messageE	  s    r   r"  N)r0   r"   r#   r   rp  rs  r   r"  r   r   
DocHandlerrd  3	  s    	: 	r   ru  c                   .   > \ rS rSrS rU 4S jrS rSrg) _start_server.<locals>.DocServeriI	  c                     Xl         U R                   U4U l        X0l        U R                  R	                  X R                  U R
                  5        SU l        g NF)hostaddressr?  rC   r   handlerr  )rA   rz  portr?  s       r   r   )_start_server.<locals>.DocServer.__init__K	  s?    I IIt,DL$MIIt\\4<<@DIr   c                    > U R                   (       dZ  TR                  U R                  R                  5       // / S5      u  pnU(       a  U R	                  5         U R                   (       d  MZ  U R                  5         g r   )r  selectsocketfilenohandle_requestserver_close)rA   rdwrexr  s       r   serve_until_quit1_start_server.<locals>.DocServer.serve_until_quitR	  sZ    ii#]]DKK,>,>,@+A2r1M
'') iii r   c                     U R                   R                  U 5        U R                  (       a  U R                  U 5        g g rN   )rC   server_activater?  rn  s    r   r  0_start_server.<locals>.DocServer.server_activateY	  s,    II%%d+}}d# r   )r{  r?  rz  r  N)r0   r"   r#   r   r   r  r  r   )r  s   r   	DocServerrw  I	  s    		 	$r   r  c                   @   > \ rS rSrU4S jrU UUU4S jrS rS rSrg)#_start_server.<locals>.ServerThreadi^	  c                    > Xl         X l        [        U5      U l        TR                  R                  U 5        SU l        S U l        S U l        g ry  )	rm  rz  r  r}  Threadr   servingerror	docserver)rA   rm  rz  r}  	threadings       r   r   ,_start_server.<locals>.ServerThread.__init__`	  sA    (OID	DI%%d+ DLDJ!DNr   c                 l  >  TR                   R                  Tl        TTl        TR                  R
                  Tl        [        U R                  5      Tl        T" U R                  U R                  U R                  5      nXl        UR                  5         g ! [         a  nX l         S nAg S nAff = frN   )server
HTTPServerrC   r|  rF  MessageMessageClassstaticmethodrm  rz  r}  readyr  r  r6  r  )rA   docsvrr.  ru  r  emailhttps      r   rG  '_start_server.<locals>.ServerThread.runi	  s    	!!%!7!7	$.	!*/--*?*?
'(4T__(E
%"499diiD!''') ! 

!s   BB 
B3#B..B3c                     SU l         UR                  U l        UR                  U l        SU R                  U R                  4-  U l        g )NTzhttp://%s:%d/)r  rz  server_portr}  r  )rA   r  s     r   r  )_start_server.<locals>.ServerThread.readyv	  s:    DLDI**DI&$))TYY)??DHr   c                 p    SU R                   l        U R                  5         S U l         SU l        S U l        g )NTF)r  r  r`   r  r  rn  s    r   stop(_start_server.<locals>.ServerThread.stop|	  s.    "&DNNIIK "DN DLDHr   )r  r  rz  r}  r  r  rm  N)	r0   r"   r#   r   r   rG  r  r  r   )ru  r  r  r  r  s   r   ServerThreadr  ^	  s    	"	! 	!	@	r   r  g{Gz?)http.serveremail.messager  r  r  BaseHTTPRequestHandlerr  r  r  r  r  r  timesleep)rm  hostnamer}  r  threadru  r  r  r  r  r  s        @@@@@@r   _start_serverr    s    p T[[77 ,$DKK** $*& &y'' &P *5F
LLN llFNNv7G7G

3 llFNNNv7G7G7GMr   c                   ^^^	^
^^^^^  " U4S jS[         5      nU" 5       mU4S jmU4S jm
U4S jmU4S jmU4S jmU4S jmU4S	 jm	U4S
 jmUUU	U
UUUU4S jnU R                  S5      (       a  U SS  n US:X  a  [        R                  R	                  [        R                  R                  [        5      5      n[        R                  R                  X@5      n[        U5       nSR                  UR                  5       5      sS S S 5        $ US:X  a  U" U 5      $ [        SU< SU < 35      e! , (       d  f       N!= f)Nc                   "   > \ rS rSrU 4S jrSrg)_url_handler.<locals>._HTMLDoci	  c           	      B   > SnSU-  nSU< SU< ST" 5       < SU< S3	$ )Nzpydoc_data/_pydoc.cssz1<link rel="stylesheet" type="text/css" href="%s">zH<!DOCTYPE>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Pydoc: z	</title>
z</head><body>z*<div style="clear:both;padding-top:.5em;">z</div>
</body></html>r"  )rA   r  r  css_pathcss_linkhtml_navbars        r   r  #_url_handler.<locals>._HTMLDoc.page	  s/    .HC  HkmX? ?r   r"  N)r0   r"   r#   r   r  r   )r  s   r   _HTMLDocr  	  s    	? 	?r   r  c            	        > TR                  [        R                  " 5       < S[        R                  " 5       S   < S[        R                  " 5       < S35      n SU < STR                  [        R                  " SS95      < S	3$ )
Nz [r   r  r  z=
            <div style='float:left'>
                Python <br>T)tersea  
            </div>
            <div style='float:right'>
                <div style='text-align:center'>
                  <a href="index.html">Module Index</a>
                  : <a href="topics.html">Topics</a>
                  : <a href="keywords.html">Keywords</a>
                </div>
                <div>
                    <form action="get" style='display:inline;'>
                      <input type=text name=key size=15>
                      <input type=submit value="Get">
                    </form>&nbsp;
                    <form action="search" style='display:inline;'>
                      <input type=text name=key size=15>
                      <input type=submit value="Search">
                    </form>
                </div>
            </div>
            )rv  platformpython_versionpython_buildpython_compiler)r  r+  s    r   r  !_url_handler.<locals>.html_navbar	  sg    ++x/F/F/H/7/D/D/Fq/I/7/G/G/IK L0 DKK(9(9(EF+H 	Hr   c                    > S n TR                  S5      n[        R                   Vs/ s H  nUS:w  d  M  UPM     nnTR                  X05      nUSTR	                  SSU5      -   /n0 n[        R
                   H#  nUR                  TR                  Xe5      5        M%     UR                  S5        SS	R                  U5      4$ s  snf )
Nc                     SU < SU < S3$ r  r"  r*   s    r   	bltinlink3_url_handler.<locals>.html_index.<locals>.bltinlink	      15t<<r   z/<strong class="title">Index of Modules</strong>rO  z<p>zBuilt-in Modulesr   zf<p align=right class="heading-text grey"><strong>pydoc</strong> by Ka-Ping Yee&lt;ping@lfw.org&gt;</p>zIndex of ModulesrS   )	r  r   r1  r  r  r   r   r   r`   )r  r  r*   namesr  rW  r   r+  s          r   
html_index _url_handler.<locals>.html_index	  s    	= ,,=
 #&":": (":$J& ": (##E5UT__&3 3 4 88COODJJs12  	'	( "2778#444(s
   
CCc                   >^	 / m	U	4S jn[         R                  " 5          [         R                  " S5        S n[        5       R	                  XUS9  S S S 5        S n/ nT
R                  S5      nT	 H  u  pgUR                  U" U5      U-   5        M!     UT
R                  SU -  SS	R                  U5      5      -   nS
U4$ ! , (       d  f       Nu= f)Nc                 d   > USS  S:X  a  US S S-   nTR                  X=(       a    SU-   45        g r\  r   )r   rs   r  search_results      r   r?  3_url_handler.<locals>.html_search.<locals>.callback	  s;    rs|{*!#2,5  '+?D4K!@Ar   r   c                     g rN   r"  r_  s    r   rB  2_url_handler.<locals>.html_search.<locals>.onerror	  s    r   rD  c                     SU < SU < S3$ r  r"  r  s    r   r  4_url_handler.<locals>.html_search.<locals>.bltinlink	  r  r   z-<strong class="title">Search Results</strong>zkey = %sr   r  zSearch Results)	r   r   ra  rF  rG  r  r   r  r`   )r   r?  rB  r  r   r  r*   r  r  r  r+  s            @r   html_search!_url_handler.<locals>.html_search	  s     	B
 $$&##H-Ow?	 '	= ,,;
 (JDNN9T?T12 (T__gv{{7';= =))% '&s   2C
Cc                     > S n TR                  S5      n[        [        R                  R	                  5       5      nTR                  X 5      nUTR                  SSU5      -   nSU4$ )Nc                     SU < SU < S3$ Nz<a href="topic?key=r  r  r"  r  s    r   r  4_url_handler.<locals>.html_topics.<locals>.bltinlink 
      6:DAAr   $<strong class="title">INDEX</strong>Topicsr   )r  r  r3  r  r   r  r  )r  r  r  r  r+  s       r   html_topics!_url_handler.<locals>.html_topics	  sl    	B ,,2
 v}}))+,##E5T__gx) )!!r   c                     > TR                  S5      n [        [        R                  R	                  5       5      nS nTR                  X5      nU TR                  SSU5      -   nSU4$ )Nr  c                     SU < SU < S3$ r  r"  r  s    r   r  6_url_handler.<locals>.html_keywords.<locals>.bltinlink
  r  r   Keywordsr   )r  r  r3  r	  r   r  r  )r  r  r  r  r+  s       r   html_keywords#_url_handler.<locals>.html_keywords
  sl    ,,2
 v++-.	B ##E5T__+ +8##r   c                   > [         R                  " 5       n[        X5      nUR                  U 5      u  p4XR                  ;   a  SnOSnTR                  SU-  5      nSTR                  U5      -  nTR                  U SU5      nU(       a@  [        UR                  5       5      nS nTR                  XG5      nTR                  SSU5      nU< SU < 3S	R                  XcU45      4$ )
NKEYWORDTOPICr  z<pre>%s</pre>r   c                     SU < SU < S3$ r  r"  r  s    r   r  7_url_handler.<locals>.html_topicpage.<locals>.bltinlink-
  s    :>EEr   r%  rD  rS   )rT  rU  r3  r4  r	  r  r  r  r  r$   r  r  r`   )	r+  bufhtmlhelpr  r0  r  r  r  r+  s	           r   html_topicpage$_url_handler.<locals>.html_topicpage
  s    kkm##",,U3%%%EE,,/%7
 #T[[%::??57H=5;;=)EF $$U6ELL!8'5IE %(E235 	5r   c                 ~   > [        U SS9nUc  U S:w  a  [        S5      e[        U5      nTR                  X5      nX#4$ )Nr\   )r4  r5  zcould not find object)r  rk   r  rA  )r  r@   r  contentr+  s       r   html_getobj!_url_handler.<locals>.html_getobj5
  sE    SA&;3&=455--)~r   c                    > TR                  S5      nSR                  U4S j[        [        U5      U5       5       5      nUTR	                  U SU5      -   nSU -  U4$ )Nz$<strong class="title">Error</strong>r  c              3   F   >#    U  H  nTR                  U5      v   M     g 7frN   )rv  )r  r  r+  s     r   r  3_url_handler.<locals>.html_error.<locals>.<genexpr>A
  s%      FD 6:t{{400Ds   !r  z
Error - %s)r  r`   r   rJ   r  )r  r  r  r  r+  s       r   
html_error _url_handler.<locals>.html_error=
  sf    ,,2
 ;; F4T#YDF FT__S'8DDc!8++r   c                 V  > U nU R                  S5      (       a  U S S n  U S;   a
  T
" 5       u  p#OU S:X  a
  T" 5       u  p#OU S:X  a
  T" 5       u  p#OuSU ;   ad  U R                  S5      u  pEn US:X  a  T" U 5      u  p#OJUS:X  a   T" U 5      u  p#O8US	:X  a  U S;   a
  T
" 5       u  p#O" T	" U 5      u  p#O[        S
5      eT	" U 5      u  p# TR	                  X#5      $ ! [         a    T	" U 5      u  p# N'f = f! [         a    T" U 5      u  p# NAf = f! [         a  nT" X5      u  p# S nAN^S nAff = f)NrU  )rS   r   r  r	  ru  z
search?keyz	topic?keyzget?keyzbad pydoc url)r   r7  rk   r6  r  )r  complete_urlr  r  opr   r  r+  r  r  r  r  r  r  r  s          r   get_html_page#_url_handler.<locals>.get_html_pageF
  sc   <<  cr(C 	;m#!+w!,w
"!.w ]]3/
s%%0%5NE7;&:)7)<w 9_m+)3wA-8-=NE7 %_55!,S!1w yy((% & :)4S)9w:  * A-;C-@NE7A  	;':NE7	;sv   D
 D
  D
 *D
 ;D
 
C D
 $
C0 /D
 C-*D
 ,C--D
 0DD
 DD
 

D(
D##D(rT  r\   rf  rS   rg  zunknown content type z	 for url )r  r   r   r   dirnamerealpathr   r`   r  	readlinesrO   )r  ro  r  r  	path_herer  fpr+  r  r  r  r  r  r  r  r  s          @@@@@@@@@r   _url_handlerr  	  s    ?7 ?$ :DH650*<" $52,&) &)P ~~c!"gz!GGOOBGG$4$4X$>?	77<<	/(^r772<<>* ^		$S!!
L#N
OO ^s   +D55
ET	localhost)open_browserr  c                   SS K n[        [        X 5      nUR                  (       a  [	        UR                  5        g UR
                  (       a  SnU(       a  UR                  UR                  5         [	        SUR                  5        [	        U5        UR
                  (       ab  [        S5      nUR                  5       nUS:X  a  O@US:X  a  UR                  UR                  5        O[	        U5        UR
                  (       a  Mb  UR
                  (       a  UR                  5         [	        S5        g g g ! [        [        4 a    [	        5          NKf = f! UR
                  (       a  UR                  5         [	        S5        f f = f)Nr   z"Server commands: [b]rowser, [q]uitzServer ready atzserver> r  r`  zServer stopped)
webbrowserr  r  r  r   r  r  r  r  rX  r  r  r  )r}  r  r  r  serverthreadserver_help_msgcmds          r   browser	  {
  s0     x>Ll  !>OOL,,-	(#\%5%56/"&&J'iik#:CZOOL$4$45/* &&& ##!!#&' $'   "8, 	G	 ##!!#&' $s1   2AD5 E >D5 5EE EE /Fc                 t    [        U [        5      =(       a"    U R                  [        R                  5      S:  $ r   )r5   rK   r>  r   sep)r   s    r   ispathr  
  s%    a5!&&.A"55r   c                    SU ;   d-  [         R                  U ;   d  [         R                  " 5       U ;   a  g [         R                  R	                  [
        5      n[         R                  R	                  U5      nU R                  5       nX0;   a5  [         R                  R                  X25      (       d  UR                  U5        UR                  S[         R                  " 5       5        U$ )NrS   r   )
r   curdirgetcwdr   r  r   copysamefileremoveinsert)
given_pathargv0
stdlib_dir
script_dirrevised_paths        r   _get_revised_pathr  
  s     
Z299
2biikZ6O *J'J??$L(8(8(P(PJ'299;'r   c                      [        [        R                  [        R                  S   5      n U b  U [        R                  S S & g g r   )r  r   r   argv)r  s    r   _adjust_cli_sys_pathr  
  s4    
 %SXXsxx{;L"  r   c                     SS K n  " S S[        5      n[        5          U R                  [        R                  SS  S5      u  p#SnSnSnSnSnU H@  u  pU	S:X  a  S	nS	nU	S
:X  a  [        U
5          g U	S:X  a  S	nU
nU	S:X  a  S	nU	S:X  d  M<  S	nU
nMB     U(       a  [        XxUS9  g U(       d  UeU GH  n[        U5      (       aH  [        R                  R                  U5      (       d$  [        SU-  5        [        R                  " S5         [        U5      (       a/  [        R                  R                  U5      (       a  [        U5      nU(       aN  [        U5      (       a1  [        R                  R                  U5      (       a  [!        U5        M  [#        U5        M  [$        R%                  US	S9  GM     g ! [&        [(        4 a-  n[        U5        [        R                  " S5         S nAGMC  S nAff = f! U R*                  U4 az    [        R                  R-                  [        R                  R/                  [        R                  S   5      5      S   n[        SR1                  U[        R2                  S95         g f = f)Nr   c                       \ rS rSrSrg)cli.<locals>.BadUsagei
  r"  N)r0   r"   r#   r   r   r"  r   r   BadUsager  
  s    tr   r   r\   zbk:n:p:wFr  z-bTz-kz-pz-wz-n)r  r  zfile %r does not exist)r$  a  pydoc - the Python documentation tool

{cmd} <name> ...
    Show text documentation on something.  <name> may be the name of a
    Python keyword, topic, function, module, or package, or a dotted
    reference to a class or function within a module or module in a
    package.  If <name> contains a '{sep}', it is used as the path to a
    Python source file to document. If name is 'keywords', 'topics',
    or 'modules', a listing of these things is displayed.

{cmd} -k <keyword>
    Search for a keyword in the synopsis lines of all available modules.

{cmd} -n <hostname>
    Start an HTTP server with the given hostname (default: localhost).

{cmd} -p <port>
    Start an HTTP server on the given port on the local machine.  Port
    number 0 can be used to get an arbitrary unused port.

{cmd} -b
    Start an HTTP server on an arbitrary unused port and open a web browser
    to interactively browse documentation.  This option can be used in
    combination with -n and/or -p.

{cmd} -w <name> ...
    Write out the HTML documentation for a module to a file in the current
    directory.  If <name> contains a '{sep}', it is treated as a filename; if
    it names a directory, documentation is written for all the contents.
)r  r  )getoptr6  r  r   r  rE  r	  r  r   r   existsr   r  r   r/  r   r1  r,  r   r3  r  r  r(  r'  rj   r  )r!  r   optsr@  writingstart_serverr  r}  r  optvalargr   r  s                 r   clir)  
  s   #9#M!]]388AB<<
HCd{##d{d{#d{d{#   4F8^Cc{{277>>##6#6.45#;;277>>##6#6$S/Cc{{rww}}S'9'9!# IIc$I/   !23 e LL(# !ggrww//<=a@ : FsF;	!!si   AG< 2G< G< &A'G< BF<G< F< G< "F<6G< <G9!G4-G< 4G99G< <B	JJrO  r   r  )r   ) Python Library Documentation: %sr   N)r*  r   NF)rS   N)rg  )ir	  r   r   r   r   r   rk  importlib._bootstrapr  importlib._bootstrap_externalimportlib.machineryimportlib.utilr&   rT  r   r  r  rU   r   r_  r  r   urllib.parser
  r   collectionsr   reprlibr   	tracebackr   _pyrepl.pagerr   r   r	   r
   r   r   getpager	pipepager
plainpagertempfilepagerttypagerr   r+   rE   r>   rQ   rY   rb   rp   rt   rw   r~   r   r   r  
IGNORECASEr   r   r   r   r   r  all_feature_namesr   r   r   r   r   r   r  r6  r  r/  r6  r8  rb  r  r  r  r  r  r  r  r   r!  r+  r  r  rD   r,  r1  r3  r   rF  rE  r  r  r	  r  r  r  r)  r0   r"  r   r   <module>r;     sb  P ()
     $    	 	   	 
        +C C 	


0d! A
 *%G jj5r}}E(

" J889 (2
2   %NK	 K&+$  ! (X6 6t(t (TN	7c N	7d:t :@Oc ObG  6* yO	y> KLC6 DE!2#] ]~ x; ;z
<VriPX (4+  (J68#T!l zE r   