ó
    b‡Ej¿Y  ã                   ó  • S 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
Jr  SSKrSSKrS r " S S5      r " S	 S
\5      r\" S/ SQ5      r " S S\5      rS r " S S\5      r " S S\5      r " S S\5      rSS jrg)z=Extract reference documentation from the NumPy source tree.

é    N)Úwarn)Ú
namedtuple)ÚCallableÚMappingc                 ó  • U (       a<  U S   R                  5       (       d$  U S	 U (       a  U S   R                  5       (       d  M$  U (       a<  U S   R                  5       (       d$  U S	 U (       a  U S   R                  5       (       d  M$  U $ )z<Remove leading and trailing blank lines from a list of linesr   éÿÿÿÿ©Ústrip)Úls    ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pyarrow/vendored/docscrape.pyÚstrip_blank_linesr      s]   € æ
�A�a‘D—J‘J—L‘LØˆaˆDö �A�a‘D—J‘J—L“Læ
�A�b‘E—K‘K—M‘MØˆbˆEö �A�b‘E—K‘K—M“Mà€Hó    c                   ó^   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rSS jrS rSrg)ÚReaderé   z!A line-based string reader.

    c                 óˆ   • [        U[        5      (       a  Xl        OUR                  S5      U l        U R	                  5         g)zK
Parameters
----------
data : str
   String with lines separated by '\n'.

Ú
N)Ú
isinstanceÚlistÚ_strÚsplitÚreset)ÚselfÚdatas     r   Ú__init__ÚReader.__init__#   s/   € ô �dœD×!Ñ!Ø�IàŸ
™
 4Ó(ˆDŒIà�
‰
�r   c                 ó    • U R                   U   $ ©N)r   ©r   Úns     r   Ú__getitem__ÚReader.__getitem__2   s   € Ø�y‰y˜‰|Ðr   c                 ó   • SU l         g )Nr   )Ú_l©r   s    r   r   ÚReader.reset5   s	   € Øˆ�r   c                 óx   • U R                  5       (       d%  X R                     nU =R                  S-  sl        U$ g)Né   Ú )Úeofr$   )r   Úouts     r   ÚreadÚReader.read8   s-   € Ø�x‰x�z‰zØ—w‘w‘-ˆCØ�GŠG�q‰L�GØˆJàr   c                 ó†   • X R                   S   H/  nUR                  5       (       a    g U =R                   S-  sl         M1     g ©Nr(   )r$   r
   )r   r   s     r   Úseek_next_non_empty_lineÚReader.seek_next_non_empty_line@   s/   € Ø—g‘g�h“ˆAØ�w‰w�y‰yÙà—’˜1‘—ò	  r   c                 óF   • U R                   [        U R                  5      :¬  $ r   ©r$   Úlenr   r%   s    r   r*   Ú
Reader.eofG   s   € Ø�w‰wœ#˜dŸi™i›.Ñ(Ð(r   c                 óè   • U R                   nXS   H]  nU" U5      (       a  XU R                    s  $ U =R                   S-  sl         U R                  5       (       d  ML  XU R                   S-    s  $    / $ r/   )r$   r*   )r   Úcondition_funcÚstartÚlines       r   Úread_to_conditionÚReader.read_to_conditionJ   se   € Ø—‘ˆØ˜“LˆDÙ˜d×#Ñ#Ø $§'¡'Ð*Ò*Ø�GŠG�q‰L�GØ�x‰x�z‹zØ $§'¡'¨!¡)Ð,Ò,ñ !ð ˆ	r   c                 óJ   • U R                  5         S nU R                  U5      $ )Nc                 ó,   • U R                  5       (       + $ r   r	   ©r9   s    r   Úis_emptyÚ0Reader.read_to_next_empty_line.<locals>.is_emptyW   s   € Ø—z‘z“|Ô#Ð#r   )r0   r:   )r   r?   s     r   Úread_to_next_empty_lineÚReader.read_to_next_empty_lineT   s&   € Ø×%Ñ%Ô'ò	$ð ×%Ñ% hÓ/Ð/r   c                 ó*   • S nU R                  U5      $ )Nc                 óz   • U R                  5       =(       a%    [        U R                  5       5      [        U 5      :H  $ r   )r
   r4   Úlstripr>   s    r   Úis_unindentedÚ:Reader.read_to_next_unindented_line.<locals>.is_unindented]   s'   € Ø—J‘J“L×F¤c¨$¯+©+«-Ó&8¼CÀ»IÑ&EÐGr   )r:   )r   rF   s     r   Úread_to_next_unindented_lineÚ#Reader.read_to_next_unindented_line\   s   € ò	Hà×%Ñ% mÓ4Ð4r   c                 ór   • U R                   U-   [        U R                  5      :  a  X R                   U-      $ g©Nr)   r3   r   s     r   ÚpeekÚReader.peeka   s.   € Ø�7‰7�Q‰;œ˜TŸY™Y›Ó'ØŸ™ !™Ñ$Ð$àr   c                 ó^   • SR                  U R                  5      R                  5       (       + $ rK   )Újoinr   r
   r%   s    r   r?   ÚReader.is_emptyg   s!   € Ø—7‘7˜4Ÿ9™9Ó%×+Ñ+Ó-Ô-Ð-r   )r$   r   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r!   r   r,   r0   r*   r:   rA   rH   rL   r?   Ú__static_attributes__© r   r   r   r      s>   † ñòòòòòò)òò0ò5ô
õ.r   r   c                   ó   • \ rS rSrS rSrg)Ú
ParseErrorék   c                 ól   • U R                   S   n[        U S5      (       a  U< SU R                  < 3nU$ )Nr   Ú	docstringú in )ÚargsÚhasattrr\   )r   Úmessages     r   Ú__str__ÚParseError.__str__l   s/   € Ø—)‘)˜A‘,ˆÜ�4˜×%Ñ%Û$+¨T¯^«^Ð<ˆGØˆr   rW   N)rQ   rR   rS   rT   ra   rV   rW   r   r   rY   rY   k   s   † õr   rY   Ú	Parameter)ÚnameÚtypeÚdescc                   óF  • \ rS 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0 0ErSDS jrS rS rS r	S r
S rS rS rS rSES  jrS!rS"rS#rS$\-   \-   S%-   \-   S&-   r\R)                  S'S(5      r\R)                  S)S*5      rS+r\R0                  " S,\-   S--   5      r\R0                  " S.\-   S/-   \-   S0-   S&-   S1-   \-   5      rS2rS3 rS4 rS5 rS6 r\ S7 5       r!SFS8 jr"SGS9 jr#SHS: jr$S; r%S< r&S= r'S> r(S? r)S@ r*SA r+SISB jr,SCr-g)JÚNumpyDocStringév   z{Parses a numpydoc string to an abstract representation

Instances define a mapping from section title to structured data.

Ú	Signaturer)   ÚSummaryúExtended SummaryÚ
ParametersÚReturnsÚYieldsÚReceivesÚRaisesÚWarnsúOther ParametersÚ
AttributesÚMethodsúSee AlsoÚNotesÚWarningsÚ
ReferencesÚExamplesÚindexNc                 ó  • Un[         R                  " U5      R                  S5      n[        U5      U l        [
        R                  " U R                  5      U l         U R                  5         g ! [         a  nX4l        e S nAff = f)Nr   )ÚtextwrapÚdedentr   r   Ú_docÚcopyÚdeepcopyÚsectionsÚ_parsed_dataÚ_parserY   r\   )r   r\   ÚconfigÚorig_docstringÚes        r   r   ÚNumpyDocString.__init__’   sg   € Ø"ˆÜ—O’O IÓ.×4Ñ4°TÓ:ˆ	ä˜9Ó%ˆŒ	Ü ŸMšM¨$¯-©-Ó8ˆÔð	Ø�K‰K�MøÜó 	Ø(ŒKØûð	ús   ÁA/ Á/
BÁ9B Â Bc                 ó    • U R                   U   $ r   )rƒ   )r   Úkeys     r   r!   ÚNumpyDocString.__getitem__Ÿ   s   € Ø× Ñ  Ñ%Ð%r   c                 óf   • XR                   ;  a  U R                  SU-  SS9  g X R                   U'   g )NzUnknown section %sF©Úerror)rƒ   Ú_error_location)r   rŠ   Úvals      r   Ú__setitem__ÚNumpyDocString.__setitem__¢   s5   € Ø×'Ñ'Ó'Ø× Ñ Ð!5¸Ñ!;À5Ð ÒIà%(×Ñ˜cÒ"r   c                 ó,   • [        U R                  5      $ r   )Úiterrƒ   r%   s    r   Ú__iter__ÚNumpyDocString.__iter__¨   s   € Ü�D×%Ñ%Ó&Ð&r   c                 ó,   • [        U R                  5      $ r   )r4   rƒ   r%   s    r   Ú__len__ÚNumpyDocString.__len__«   s   € Ü�4×$Ñ$Ó%Ð%r   c                 óÊ  • U R                   R                  5         U R                   R                  5       (       a  gU R                   R                  5       R	                  5       nUR                  S5      (       a  gU R                   R                  S5      R	                  5       n[        U5      S:¼  ar  [        U5      S1S14;   a_  [        U5      [        U5      :w  aG  SR                  U R                   R                  S S	 5      S
-   nU R                  SU< SU< SU< 3SS9  UR                  S[        U5      -  5      =(       d    UR                  S[        U5      -  5      $ )NFú
.. index::Tr(   é   Ú-Ú=r   é   z...z'potentially wrong underline length... 
z 
z in 
r�   )r   r0   r*   rL   r
   Ú
startswithr4   ÚsetrO   r   r�   )r   Úl1Úl2Úsnips       r   Ú_is_at_sectionÚNumpyDocString._is_at_section®   s	  € Ø�	‰	×*Ñ*Ô,à�9‰9�=‰=�?‰?Øà�Y‰Y�^‰^Ó×#Ñ#Ó%ˆà�=‰=˜×&Ñ&Øà�Y‰Y�^‰^˜AÓ×$Ñ$Ó&ˆÜˆr‹7�a‹<œS ›W¨#¨°°¨Ó6¼CÀ»GÄsÈ2ÃwÓ<NØ—9‘9˜TŸY™YŸ^™^¨B¨QÐ/Ó0°Ñ6ˆDØ× Ò Û$&«ªDð"2Ø9>ð !ñ @à�}‰}˜S¤ R£™[Ó)×G¨R¯]©]¸3¼sÀ2»w¹;Ó-GÐGr   c                 óâ   • SnSn[        U5       H  u  p$UR                  5       (       d  M    O   [        US S S2   5       H  u  p4UR                  5       (       d  M    O   X[        U5      U-
   $ )Nr   r   )Ú	enumerater
   r4   )r   ÚdocÚiÚjr9   s        r   Ú_stripÚNumpyDocString._stripÀ   sh   € ØˆØˆÜ  –~‰GˆAØ�z‰z�|‹|Ùñ &ô ! ¡T r T¡Ö+‰GˆAØ�z‰z�|‹|Ùñ ,ð ”S˜“X˜a‘ZÐ Ð r   c                 ó®  • U R                   R                  5       nU R                  5       (       d¥  U R                   R                  5       (       d†  U R                   R	                  S5      R                  5       (       d  US/-  nXR                   R                  5       -  nU R                  5       (       d!  U R                   R                  5       (       d  M†  U$ )Nr   r)   )r   rA   r¥   r*   rL   r
   )r   Úsections     r   Ú_read_to_next_sectionÚ$NumpyDocString._read_to_next_sectionÍ   s“   € Ø—)‘)×3Ñ3Ó5ˆà×%Ñ%×'Ñ'°·	±	·±·±Ø—9‘9—>‘> "Ó%×+Ñ+×-Ñ-Ø˜B˜4‘�à—y‘y×8Ñ8Ó:Ñ:ˆGð	 ×%Ñ%×'Ñ'°·	±	·±·³ð ˆr   c              #   óp  #   • U R                   R                  5       (       d“  U R                  5       nUS   R                  5       nUR	                  S5      (       a	  X!SS  4v •  O/[        U5      S:  a	  [        v •  OX R                  USS  5      4v •  U R                   R                  5       (       d  M’  g g 7f)Nr   ú..r(   rŸ   )r   r*   r°   r
   r    r4   ÚStopIterationr¬   )r   r   rd   s      r   Ú_read_sectionsÚNumpyDocString._read_sectionsØ   sˆ   é € Ø—)‘)—-‘-—/‘/Ø×-Ñ-Ó/ˆDØ˜‘7—=‘=“?ˆDà�‰˜t×$Ñ$Ø  ˜H�nÓ$Ü�T“˜Q“Ü#Ó#àŸK™K¨¨Q¨R¨Ó1Ð1Ò1ð —)‘)—-‘-—/•/ùs   ‚B0B6Â4B6c                 óØ  • [        U5      n[        U5      n/ nUR                  5       (       d¼  UR                  5       R	                  5       nSU;   a2  UR                  SSS9u  pgUR	                  5       UR	                  5       pvOU(       a  SUpvOUSpvUR                  5       n[        U5      n[        U5      nUR                  [        XgU5      5        UR                  5       (       d  M¼  U$ )Nz :r(   )Úmaxsplitr)   )
Údedent_linesr   r*   r,   r
   r   rH   r   Úappendrc   )	r   ÚcontentÚsingle_element_is_typeÚrÚparamsÚheaderÚarg_nameÚarg_typerf   s	            r   Ú_parse_param_listÚ NumpyDocString._parse_param_listä   sÂ   € Ü˜wÓ'ˆÜ�7‹OˆØˆØ—%‘%—'‘'Ø—V‘V“X—^‘^Ó%ˆFØ�v‹~Ø%+§\¡\°$À \Ð%CÑ"�Ø%-§^¡^Ó%5°x·~±~Ó7G™(æ)Ø)+¨V™hà)/°˜hà×1Ñ1Ó3ˆDÜ Ó%ˆDÜ$ TÓ*ˆDà�M‰Mœ) H¸Ó=Ô>ð —%‘%—'“'ð" ˆr   z:(?P<role>(py:)?\w+):z'`(?P<name>(?:~\w+\.)?[a-zA-Z0-9_\.-]+)`z(?P<name2>[a-zA-Z0-9_\.-]+)Ú(Ú|Ú)ÚroleÚrolenextrd   Únamenextz/(?P<description>\s*:(\s+(?P<desc>\S+.*))?)?\s*$z^\s*z\s*z^\s*(?P<allfuncs>z(?P<morefuncs>([,]\s+z)*)z(?P<trailing>[,\.])?r³   c                 ól  ^ ^• [        U5      n/ nUU 4S jn/ nU GH”  mTR                  5       (       d  M  T R                  R                  T5      nSnU(       aR  UR	                  S5      nUR	                  S5      (       a+  U(       a$  T R                  SUR                  S5      T4-  SS9  U(       d7  TR                  S5      (       a!  UR                  TR                  5       5        MÏ  U(       a©  / nUR	                  S	5      n UR                  5       (       d  OTU" U5      u  pšnUR                  Xš45        X‹S R                  5       nU(       a  US
   S:X  a  USS R                  5       nMj  [        [        SU/5      5      nUR                  Xt45        GM  T R                  ST< 35        GM—     U$ )z�
func_name : Descriptive text
    continued text
another_func_name : Descriptive text
func_name1, func_name2, :meth:`func_name`, func_name3

c                 ó
  >• TR                   R                  U 5      nU(       d  TR                  ST< 35        UR                  S5      nU(       a  UR                  S5      OUR                  S5      nX2UR	                  5       4$ )zMatch ':role:`name`' or 'name'.úError parsing See Also entry rÇ   rd   Úname2)Ú	_func_rgxÚmatchr�   ÚgroupÚend)ÚtextÚmrÇ   rd   r9   r   s       €€r   Úparse_item_nameÚ7NumpyDocString._parse_see_also.<locals>.parse_item_name-  sh   ø€ à—‘×$Ñ$ TÓ*ˆAÞØ×$Ñ$Ð'DÀTÁHÐ%MÔNØ—7‘7˜6“?ˆDÞ&*�1—7‘7˜6”?°·±¸Ó0@ˆDØ˜qŸu™u›wÐ&Ð&r   Nrf   ÚtrailingzGUnexpected comma or period after function list at index %d of line "%s"Fr�   Ú Úallfuncsr   Ú,r(   rÌ   )r¹   r
   Ú	_line_rgxrÏ   rÐ   r�   rÑ   r    rº   r   Úfilter)r   r»   ÚitemsrÔ   ÚrestÚ
line_matchÚdescriptionÚfuncsrÒ   rd   rÇ   Ú	match_endr9   s   `           @r   Ú_parse_see_alsoÚNumpyDocString._parse_see_also   s‹  ù€ ô ˜wÓ'ˆàˆö	'ð ˆÜˆDØ—:‘:—<‘<ÙàŸ™×-Ñ-¨dÓ3ˆJØˆKÞØ(×.Ñ.¨vÓ6�Ø×#Ñ# J×/Ñ/¶KØ×(Ñ(ð$Ø'1§~¡~°jÓ'AÀ4Ð&HñIà#ð )ñ %ö  4§?¡?°3×#7Ñ#7Ø—‘˜DŸJ™J›LÖ)ÞØ�Ø!×'Ñ'¨
Ó3�ØØŸ:™:Ÿ<™<ØÙ,;¸DÓ,AÑ)�D 	Ø—L‘L $ Ô.Ø 
Ð+×1Ñ1Ó3�DÞ  Q¡¨3£Ø# A B˜xŸ~™~Ó/˜ñ ô œF 4¨+¨Ó7Ó8�Ø—‘˜e˜]×+à×$Ñ$Ð'DÀTÁHÐ%M×Nñ; ð< ˆr   c                 ó$  • S n0 nUR                  S5      n[        U5      S:”  a   U" US   R                  S5      5      S   US'   U HD  nUR                  S5      n[        U5      S:”  d  M%  U" US   R                  S5      5      XES   '   MF     U$ )	z<
.. index: default
   :refguide: something, else, and more

c                 óL   • U  Vs/ s H  oR                  5       PM     sn$ s  snf r   r	   )ÚlstÚss     r   Ústrip_each_inÚ2NumpyDocString._parse_index.<locals>.strip_each_in]  s   € Ù'*Ó+¢s !—G‘G–I¡sÑ+Ð+ùÒ+s   …!z::r(   rÙ   r   ÚdefaultÚ:rŸ   )r   r4   )r   r¯   r»   rè   r+   r9   s         r   Ú_parse_indexÚNumpyDocString._parse_indexW  s�   € ò	,ð ˆØ—-‘- Ó%ˆÜˆw‹<˜!ÓÙ*¨7°1©:×+;Ñ+;¸CÓ+@ÓAÀ!ÑDˆC�	‰NÛˆDØ—:‘:˜c“?ˆDÜ�4‹y˜1�}Ù,¨T°!©W¯]©]¸3Ó-?Ó@�˜‘G“ñ ð ˆ
r   c                 óÚ  • U R                  5       (       a  g U R                  R                  5       nSR                  U Vs/ s H  o"R	                  5       PM     sn5      R	                  5       n[
        R                  " S5      nUR                  U5      (       a  X0S'   U R                  5       (       d  MŸ   Ub  XS'   U R                  5       (       d  U R                  5       U S'   ggs  snf )z%Grab signature (if given) and summaryNr×   z^([\w., ]+=)?\s*[\w\.]+\(.*\)$rj   rk   rl   )	r¥   r   rA   rO   r
   ÚreÚcompilerÏ   r°   )r   Úsummaryrç   Úsummary_strÚcompileds        r   Ú_parse_summaryÚNumpyDocString._parse_summaryj  sË   € à×Ñ× Ñ Øð Ø—i‘i×7Ñ7Ó9ˆGØŸ(™(±wÓ#?²w°!§G¡G¦I±wÑ#?Ó@×FÑFÓHˆKÜ—z’zÐ"CÓDˆHØ�~‰~˜k×*Ñ*Ø$/�[Ñ!Ø×*Ñ*×,Ñ,ÙØàÑØ%�‰Oà×"Ñ"×$Ñ$Ø'+×'AÑ'AÓ'CˆDÐ#Ò$ð %ùò $@s   ÁC(c           	      ó”  • U R                   R                  5         U R                  5         [        U R	                  5       5      n[        U VVs/ s H  u  p#UPM	     snn5      nSU;   nSU;   nU(       a  U(       a  Sn[        U5      eU(       d  SU;   a  Sn[        U5      eU GH  u  p#UR                  S5      (       d{  S UR                  S5       5       nSR                  U5      nU R                  U5      (       a<  U R                  S	U< S
SR                  U R                   R                  5      < 35        US;   a  U R                  U5      X'   M²  US;   a  U R                  USS9X'   MÌ  UR                  S5      (       a  U R                  X#5      U S'   Mø  US:X  a  U R                  U5      U S'   GM  X0U'   GM     g s  snnf )Nrn   ro   z5Docstring contains both a Returns and Yields section.rp   z5Docstring contains a Receives section but not Yields.r³   c              3   ó@   #   • U  H  oR                  5       v •  M     g 7fr   )Ú
capitalize)Ú.0rç   s     r   Ú	<genexpr>Ú(NumpyDocString._parse.<locals>.<genexpr>“  s   é € ÐFÒ3E¨aŸ<™<Ÿ>˜>Ò3Eùs   ‚r×   zThe section z appears twice in  r   )rm   rs   rt   ru   )rn   ro   rq   rr   rp   T)r¼   r›   r{   rv   )r   r   rô   r   rµ   r¡   Ú
ValueErrorr    r   rO   Úgetr�   r   rÂ   rì   râ   )r   r‚   r¯   r»   Úsection_namesÚhas_returnsÚ
has_yieldsÚmsgs           r   r„   ÚNumpyDocString._parse€  sš  € Ø�	‰	�‰ÔØ×ÑÔä˜×+Ñ+Ó-Ó.ˆÜ¹XÔFºXÑ)9¨›W¹XÒFÓGˆà =Ñ0ˆØ Ñ.ˆ
æž:ØIˆCÜ˜S“/Ð!Þ˜j¨MÓ9ØIˆCÜ˜S“/Ð!ä"*ÑˆWØ×%Ñ% d×+Ñ+ÙF°7·=±=ÀÔ3EÓF�ØŸ(™( 7Ó+�Ø—8‘8˜G×$Ñ$Ø×(Ò(Û,3°T·Y±Y¸t¿y¹y¿~¹~Õ5Nð*Pô Qð ð &ó &à $× 6Ñ 6°wÓ ?�“ØÐPÓPØ $× 6Ñ 6Ø°Dð !7ð !:�“à×#Ñ# L×1Ñ1Ø $× 1Ñ 1°'Ó C��W“Ø˜JÓ&Ø#'×#7Ñ#7¸Ó#@��ZÔ à '�W”ò' #+ùó Gs   ÁG
c                 óx   • [        U S5      (       a  U R                  $ [        U S5      (       a  U R                  $ g )NÚ_clsÚ_f)r_   r  r  r%   s    r   Ú_objÚNumpyDocString._obj¦  s2   € ä�4˜× Ñ Ø—9‘9ÐÜ�T˜4× Ñ Ø—7‘7ˆNØr   c                 ó  • U R                   bN   [        R                  " U R                   5      nUSU R                   R                   3-  nX(       a  SU S3OS-  nU(       a  [        U5      e[        U5        g ! [         a    S n NYf = f)Nz in the docstring of r]   Ú.r)   )r  ÚinspectÚgetsourcefileÚ	TypeErrorrQ   rü   r   )r   r  rŽ   Úfilenames       r   r�   ÚNumpyDocString._error_location®  s…   € Ø�9‰9Ñ ð Ü"×0Ò0°·±Ó;�ð Ð*¨4¯9©9×+=Ñ+=Ð*>Ð?Ñ?ˆCØ­�T˜(˜ 1Ñ%°rÑ9ˆCÞÜ˜S“/Ð!ä��Iøô ó  Ø’ð ús   � A: Á:B	ÂB	c                 ó"   • U[        U5      U-  /$ r   )r4   )r   rd   Úsymbols      r   Ú_str_headerÚNumpyDocString._str_header¾  s   € Ø”c˜$“i Ñ&Ð'Ð'r   c                 ó>   • U Vs/ s H  nSU-  U-   PM     sn$ s  snf )Nr×   rW   )r   r©   Úindentr9   s       r   Ú_str_indentÚNumpyDocString._str_indentÁ  s#   € Ù.1Ó2ªc d��F‘
˜TÔ!©cÑ2Ð2ùÒ2s   …c                 óP   • U S   (       a  U S   R                  SS5      /S/-   $ S/$ )Nrj   Ú*z\*r)   )Úreplacer%   s    r   Ú_str_signatureÚNumpyDocString._str_signatureÄ  s3   € Ø�×Ø˜Ñ%×-Ñ-¨c°5Ó9Ð:¸b¸TÑAÐAØˆtˆr   c                 ó,   • U S   (       a	  U S   S/-   $ / $ )Nrk   r)   rW   r%   s    r   Ú_str_summaryÚNumpyDocString._str_summaryÉ  s   € Ø�	�?Ø˜	‘? b TÑ)Ð)Øˆ	r   c                 ó,   • U S   (       a	  U S   S/-   $ / $ )Nrl   r)   rW   r%   s    r   Ú_str_extended_summaryÚ$NumpyDocString._str_extended_summaryÎ  s#   € ØÐ"×#ØÐ*Ñ+¨r¨dÑ2Ð2Øˆ	r   c                 ó  • / nX   (       aó  X R                  U5      -  nX    HÒ  n/ nUR                  (       a  UR                  UR                  5        UR                  (       a  UR                  UR                  5        USR	                  U5      /-  nUR
                  (       d  M…  SR	                  UR
                  5      R                  5       (       d  Mµ  X R                  UR
                  5      -  nMÔ     US/-  nU$ )Nz : r)   )r  rd   rº   re   rO   rf   r
   r  )r   rd   r+   ÚparamÚpartss        r   Ú_str_param_listÚNumpyDocString._str_param_listÓ  sÁ   € ØˆØ�:Ø×#Ñ# DÓ)Ñ)ˆCØœ�Ø�Ø—:—:Ø—L‘L §¡Ô,Ø—:—:Ø—L‘L §¡Ô,Ø˜Ÿ
™
 5Ó)Ð*Ñ*�Ø—:—:‘: "§'¡'¨%¯*©*Ó"5×";Ñ";×"=Ó"=Ø×+Ñ+¨E¯J©JÓ7Ñ7’Cñ $ð �B�4‰KˆCØˆ
r   c                 ó\   • / nX   (       a   X R                  U5      -  nX U   -  nUS/-  nU$ rK   )r  )r   rd   r+   s      r   Ú_str_sectionÚNumpyDocString._str_sectionã  s;   € ØˆØ�:Ø×#Ñ# DÓ)Ñ)ˆCØ˜‘:ÑˆCØ�B�4‰KˆCØˆ
r   c                 ó"  • U S   (       d  / $ / nX R                  S5      -  nUS/-  nSnU S    HÉ  u  pE[        U[        5      (       d   e/ nU HA  u  pxU(       a  SU< SU< S3n	OU(       a  SU< SU< S3n	OSU-  n	UR                  U	5        MC     SR	                  U5      n	X)/-  nU(       a'  X R                  S	R	                  U5      /5      -  nSnM©  S
nX R                  U R                  /5      -  nMË     U(       a  US/-  nUS/-  nU$ )Nrv   r)   Trë   z:`Ú`z`%s`_ú, r×   F)r  r   r   rº   rO   r  Úempty_description)
r   Ú	func_roler+   Úlast_had_descrà   rf   ÚlinksÚfuncrÇ   Úlinks
             r   Ú_str_see_alsoÚNumpyDocString._str_see_alsoë  s  € Ø�J×ØˆIØˆØ×Ñ 
Ó+Ñ+ˆØ�ˆt‰ˆØˆØ 
Ô+‰KˆEÜ˜e¤T×*Ñ*Ð*Ð*ØˆEÛ#‘
�ßÛ)-«tÐ4‘DßÛ)2³DÐ9‘Dà" T™>�DØ—‘˜TÖ"ñ $ð —9‘9˜UÓ#ˆDØ�6‰MˆCÞØ×'Ñ'¨¯©°$«Ð(8Ó9Ñ9�Ø $’à %�Ø×'Ñ'¨×)?Ñ)?Ð(@ÓAÑA’ñ% ,ö( Ø�B�4‰KˆCØ�ˆt‰ˆØˆ
r   c                 óð   • U S   n/ nSnUR                  SS5      nU(       a  SnUSU-  /-  nUR                  5        H,  u  pVUS:X  a  M  SnUSU< SS	R                  U5      < 3/-  nM.     U(       a  U$ g)
Nr{   Frê   r)   Tz.. index:: %sz   :z: r,  )rý   rÜ   rO   )r   Úidxr+   Úoutput_indexÚdefault_indexr¯   Ú
referencess          r   Ú
_str_indexÚNumpyDocString._str_index  sŠ   € Ø�7‰mˆØˆØˆØŸ™ 	¨2Ó.ˆÞØˆLØ� -Ñ/Ð0Ñ0ˆØ#&§9¡9¦;ÑˆGØ˜)Ó#ÙØˆLÙ£G¨T¯Y©Y°zÕ-BÐCÐDÑDŠCñ	 $/ö
 ØˆJØr   c                 ó¬  • / nX R                  5       -  nX R                  5       -  nX R                  5       -  nS H  nX R                  U5      -  nM     X R	                  S5      -  nX R                  U5      -  nS H  nX R	                  U5      -  nM     S H  nX R                  U5      -  nM     X R                  5       -  nSR                  U5      $ )N)rm   rn   ro   rp   rs   rq   rr   rx   )rw   ry   rz   )rt   ru   r   )r  r  r   r%  r(  r3  r:  rO   )r   r.  r+   Ú
param_listrç   s        r   ra   ÚNumpyDocString.__str__  sÚ   € ØˆØ×"Ñ"Ó$Ñ$ˆØ× Ñ Ó"Ñ"ˆØ×)Ñ)Ó+Ñ+ˆóBˆJà×'Ñ'¨
Ó3Ñ3ŠCñBð 	× Ñ  Ó,Ñ,ˆØ×!Ñ! )Ó,Ñ,ˆÛ4ˆAØ×$Ñ$ QÓ'Ñ'ŠCñ 5ã3ˆJØ×'Ñ'¨
Ó3Ñ3ŠCñ 4à�‰Ó Ñ ˆØ�y‰y˜‹~Ðr   )r   rƒ   r   )F)T)r�   )é   )r)   ).rQ   rR   rS   rT   rU   r‚   r   r!   r‘   r•   r˜   r¥   r¬   r°   rµ   rÂ   Ú_roleÚ_funcbacktickÚ
_funcplainÚ	_funcnamer  Ú_funcnamenextÚ_descriptionrï   rð   rÎ   rÚ   r-  râ   rì   rô   r„   Úpropertyr  r�   r  r  r  r  r   r%  r(  r3  r:  ra   rV   rW   r   r   rh   rh   v   sI  † ñðØ�Rðà�B�4ðð 	˜Bðð 	�bð	ð
 	�2ðð 	�"ðð 	�Bðð 	�"ðð 	�ðð 	˜Bðð 	�bðð 	�2ðð 	�Bðð 	�ðð 	�Bðð  	�bð!ð" 	�Bð#ð$ 	�ñ%€Hô*ò&ò)ò'ò&òHò$!ò	ò
2ôðN %€EØ>€MØ/€JØ�u‘˜}Ñ,¨tÑ3°jÑ@À4ÑG€IØ×%Ñ% f¨jÓ9€MØ!×)Ñ)¨&°*Ó=€MØE€LØ—
’
˜7 YÑ.°Ñ7Ó8€IØ—
’
ð	àñ	ð 	!ñ	!ð $1ñ	1ð 4:ñ	:ð 	ñ		ð 	 ñ	 ð 	ñ	ó€Ið Ðò5ònò&Dò,$(ðL ñó ðôô (ô3òò
ò
ò
ò òò@÷"r   rh   c                 ój   • [         R                  " SR                  U 5      5      R                  S5      $ )z"Deindent a list of lines maximallyr   )r}   r~   rO   r   )Úliness    r   r¹   r¹   .  s%   € ä�?Š?˜4Ÿ9™9 UÓ+Ó,×2Ñ2°4Ó8Ð8r   c                   ó8   ^ • \ rS rSrSS jrS rU 4S jrSrU =r$ )ÚFunctionDoci3  c                 ó²   • Xl         X l        Uc-  Uc  [        S5      e[        R                  " U5      =(       d    SnUc  0 n[
        R                  XU5        g )NzNo function or docstring givenr)   )r  r@  rü   r
  Úgetdocrh   r   )r   r1  rÇ   r©   r…   s        r   r   ÚFunctionDoc.__init__4  sO   € ØŒØŒ
à‰;Ø‰|Ü Ð!AÓBÐBÜ—.’. Ó&×,¨"ˆCØ‰>ØˆFÜ×Ñ ¨6Õ2r   c                 ó  • [        U R                  SU R                  R                  5      n[        R
                  " U R                  5      (       a.  [        U R                  SU R                  R                  5      nX!4$ U R                  nX!4$ )NrQ   Ú__call__)Úgetattrr  Ú	__class__rQ   r
  Úisclassr   )r   Ú	func_namer1  s      r   Úget_funcÚFunctionDoc.get_func@  sj   € Ü˜DŸG™G Z°·±×1HÑ1HÓIˆ	Ü�?Š?˜4Ÿ7™7×#Ñ#Ü˜4Ÿ7™7 J°·±×0@Ñ0@ÓAˆDð ˆÐð —7‘7ˆDØˆÐr   c                 ó0  >• SnU R                  5       u  p#SSS.nU R                  (       aP  U R                  U;  a  [        SU R                  -  5        USUR                  U R                  S5      < SU< S3-  nU[        TU ]  U R                  S	9-  nU$ )
Nr)   ÚfunctionÚmethod)r1  ÚmethzWarning: invalid role %sz.. z:: z
    

)r.  )rT  r@  Úprintrý   Úsuperra   )r   r+   r1  rS  ÚrolesrQ  s        €r   ra   ÚFunctionDoc.__str__H  sŒ   ø€ ØˆàŸ-™-›/‰ˆà#Ø!ñ#ˆð �:�:Ø�z‰z Ó&ÜÐ0°4·:±:Ñ=Ô>Ù¨U¯Y©Y°t·z±zÀ2Ö-FÛ-6ð8ñ 8ˆCð 	Œu‰w‰¨¯©ˆÐ4Ñ4ˆØˆ
r   )r  r@  )r1  NN)	rQ   rR   rS   rT   r   rT  ra   rV   Ú__classcell__)rQ  s   @r   rJ  rJ  3  s   ø† ô
3ò÷ó r   rJ  c                   ó   • \ rS rSrSS jrSrg)ÚObjDociZ  Nc                 óB   • Xl         Uc  0 n[        R                  XUS9  g )N©r…   )r  rh   r   )r   Úobjr©   r…   s       r   r   ÚObjDoc.__init__[  s$   € ØŒØ‰>ØˆFÜ×Ñ °&ÐÒ9r   )r  )NN)rQ   rR   rS   rT   r   rV   rW   r   r   r`  r`  Z  s   † ÷:r   r`  c                   óR   • \ rS rSrS/rSS\S4S jr\S 5       r\S 5       r	S r
S	rg)
ÚClassDocib  rO  Nr)   c                 ó¸  • [         R                  " U5      (       d  Ub  [        SU-  5      eXl        S[        R
                  ;   a  SSKJn  O
[        5       nUc  0 nUR                  SS5      U l
        U(       a  UR                  S5      (       d  US-  nX0l        Uc$  Uc  [        S5      e[        R                  " U5      n[        R!                  X5        UR                  S	/ 5      nXvL a  S nUR                  S
/ 5      nUR                  SS5      (       a±  X†La¬  S n	SU R"                  4SU R$                  44 Hˆ  u  p«X
   (       a  M  / n['        U5       Hc  nXØ;   d  U(       a  X×;  a  M   [        R                  " [)        U R                  U5      5      nUR+                  [-        USU	" U5      5      5        Me     XÀU
'   MŠ     g g g ! [.         a     M  f = f)Nz$Expected a class or None, but got %rÚsphinxr   )ÚALLÚshow_inherited_class_membersTr	  z&No class or documentation string givenÚmemberszexclude-membersÚshow_class_membersc                 ó4   • U (       d  / $ U R                  5       $ r   )Ú
splitlines)rç   s    r   Úsplitlines_xÚ'ClassDoc.__init__.<locals>.splitlines_x‡  s   € ÞØ�IàŸ<™<›>Ð)r   ru   rt   r)   )r
  rR  rü   r  ÚsysÚmodulesÚsphinx.ext.autodocri  Úobjectrý   Úshow_inherited_membersÚendswithÚ_modÚpydocrL  rh   r   ÚmethodsÚ
propertiesÚsortedrP  rº   rc   ÚAttributeError)r   Úclsr©   Ú
modulenameÚfunc_docr…   ri  Ú_membersÚ_excludero  ÚfieldrÜ   Údoc_listrd   Údoc_items                  r   r   ÚClassDoc.__init__f  sµ  € ä�Š˜s×#Ñ#¨©ÜÐCÀcÑIÓJÐJØŒ	à”s—{‘{Ó"Þ.ä“(ˆCà‰>ØˆFØ&,§j¡jØ*¨Dó'2ˆÔ#ö ˜j×1Ñ1°#×6Ñ6Ø˜#ÑˆJØŒ	à‰;Ø‰{Ü Ð!IÓJÐJÜ—,’,˜sÓ#ˆCä×Ñ Ô*à—:‘:˜i¨Ó,ˆØŠ?ØˆHØ—:‘:Ð/°Ó4ˆà�:‰:Ð*¨D×1Ñ1°hÒ6Iò*ð
 #,¨T¯\©\Ð!:Ø".°·±Ð!@ó!B‘�à—{‘{Ø!�HÜ & u¦˜Ø Ó,Þ!)¨dÓ.BÙ$ð!Ü',§|¢|´G¸D¿I¹IÀtÓ4LÓ'M˜HØ$ŸO™OÜ )¨$°±LÀÓ4JÓ KöMñ !.ð #+˜“Kò!Bð 7JÐ1øô$  .ó !Ú ð!ús   Å0AGÇ
GÇGc                 óB  • U R                   c  / $ [        R                  " U R                   5       VVs/ s H]  u  pUR                  S5      (       a  XR                  ;   d  M,  [        U[        5      (       d  MC  U R                  U5      (       d  M[  UPM_     snn$ s  snnf ©NÚ_)r  r
  Ú
getmembersr    Úextra_public_methodsr   r   Ú_is_show_member©r   rd   r1  s      r   ry  ÚClassDoc.methodsœ  sˆ   € à�9‰9ÑØˆIÜ'.×'9Ò'9¸$¿)¹)Ô'Dô 1Ò'D™˜ØŸ™¨×-Ñ-Ø×6Ñ6Ñ6ó ô ˜t¤X×.ó ð ×(Ñ(¨×.÷	 Ñ'Dò 1ð 	1ùó 1s   ³+BÁ"BÁ9BÂBc                 ó`  • U R                   c  / $ [        R                  " U R                   5       VVs/ s Hl  u  pUR                  S5      (       a  M  Ub2  [	        U[
        5      (       d  [        R                  " U5      (       d  MR  U R                  U5      (       d  Mj  UPMn     snn$ s  snnf r‡  )r  r
  r‰  r    r   rF  Úisdatadescriptorr‹  rŒ  s      r   rz  ÚClassDoc.properties¦  sŒ   € à�9‰9ÑØˆIÜ'.×'9Ò'9¸$¿)¹)Ô'Dô 1Ò'D™˜ØŸ™¨×,ó à‘\¤Z°´h×%?Ñ%?Ü×-Ò-¨d×3ó ð ×(Ñ(¨×.÷	 Ñ'Dò 1ð 	1ùó 1s   ³B*Á1B*ÂB*Â B*c                 ó\   • U R                   (       a  gXR                  R                  ;  a  gg)NTF)ru  r  Ú__dict__)r   rd   s     r   r‹  ÚClassDoc._is_show_member°  s$   € Ø×&×&ØØ—y‘y×)Ñ)Ó)ØØr   )r  rw  ru  )rQ   rR   rS   rT   rŠ  rJ  r   rF  ry  rz  r‹  rV   rW   r   r   rf  rf  b  sG   † à&˜<Ðà $°¸kØô4+ðl ñ1ó ð1ð ñ1ó ð1õr   rf  c                 óN  • UcV  [         R                  " U 5      (       a  SnO8[         R                  " U 5      (       a  SnO[        U [        5      (       a  SnOSnUc  0 nUS:X  a  [        U [        X#S9$ US;   a
  [        XUS9$ Uc  [        R                  " U 5      n[        XUS9$ )	NÚclassÚmodulerW  rt  )r  r©   r…   )rW  rX  )r©   r…   rb  )
r
  rR  Úismoduler   r   rf  rJ  rx  rL  r`  )rc  Úwhatr©   r…   s       r   Úget_doc_objectr™  ¸  sž   € Ø�|Ü�?Š?˜3×ÑØ‰DÜ×Ò˜c×"Ñ"Ø‰DÜ˜œX×&Ñ&Ø‰DàˆDØ�~ØˆàˆwƒÜ˜¤k°sÑJÐJØ	Ð'Ó	'Ü˜3°Ñ7Ð7à‰;Ü—,’,˜sÓ#ˆCÜ�c vÑ.Ð.r   )NNN)rU   r
  r}   rï   rx  Úwarningsr   Úcollectionsr   Úcollections.abcr   r   r€   rq  r   r   Ú	ExceptionrY   rc   rh   r¹   rJ  r`  rf  r™  rW   r   r   Ú<module>rž     s•   ðñó Û Û 	Û Ý Ý "ß -Û Û 
ò÷J.ñ J.ôZ�ô ñ �{Ò$<Ó=€	ôu�Wô uòp9ô
$�.ô $ôN:ˆ^ô :ôSˆ~ô Sõl/r   