
    "jTb                     .   d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZ ddlmZ ddlmZmZmZmZ ddlZddlmZ ddlmZ ddlmZ dd	lmZmZ dd
lmZ ddl m!Z!m"Z"m#Z#m$Z$ ddl%m&Z& ddl'm(Z(m)Z)m*Z* ddl+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= ddl>m?Z?m@Z@ dZA eB ee(                    ZC ee*          ZD ejE        dd eDD             eF          ZGeeFdz   ejH        ddI                    eC           d e;eC                    f         ZJ e=d          ZK e=d          ZLeKM                    eLd           eKN                    dd d!g"          ddddd#de?jO        dfd$e6d%e1d&e2d'eeGdz   ejH        d(          f         d)e4d*eJd+e3d,e7d-dfd.            ZPeKN                    d/d0d1g"          dde?jO        dfd2eeF ejQ        d3          f         d4e5d*eJd+e3d,e7d-dfd5            ZReKN                    d$g d6"          ddd7d7d#e?jO        dfd8eeF ejQ        d9          f         d&e2d:eeSeF         dz   ejH        d;          f         d<eeT ejH        d=          f         d>eeT ejH        d?          f         d)e4d+e3d,e7d-dfd@            ZUeKN                    dAdBg"          	 	 dxd2eeF ejQ        d3          f         dCeeT ejH        dD          f         d,e7fdE            ZVeKN                    dFg dG"          	 	 	 	 dyd2eeF ejQ        d3          f         dHeeT ejH        dIdJ          f         dKeeT ejH        dLdMdN          f         dOeeWdz   ejH        dPdQdR          f         d,e7d-dfdS            ZXeKN                    dTg dU"          	 	 	 	 	 dzd2eeF ejQ        d3          f         dVeeFdz   ejQ        dW          f         dXeedz   ejH        dYdLdZ          f         d[eeT ejH        d\          f         d]eeT ejH        d^          f         d,e7d-dfd_            ZYd`e)d2eFdaeFdz  dbeFdVeFdceFd,eFdz  d-dfddZZdeZ[ej\        d-eFdz  fdf            Z]dceFd-eWedg         z  fdhZ^eLN                    ddig"          e?jO        dfd2eeF ejQ        d3          f         d+e3d,e7d-dfdj            Z_eLN                    dkdldmg"          de?jO        dfd2eeF ejQ        d3          f         dne8d+e3d,e7d-df
do            Z`eLN                    dpdqdrg"          d7e?jO        dfd2eeF ejQ        d3          f         dseeT ejH        dtdudv          f         d+e3d,e7d-df
dw            ZadS ){a  Contains commands to interact with spaces on the Hugging Face Hub.

Usage:
    # list spaces on the Hub
    hf spaces ls

    # list spaces with a search query
    hf spaces ls --search "chatbot"

    # get info about a space
    hf spaces info enzostvs/deepsite
    N)deque)Path)TYPE_CHECKING	AnnotatedLiteralget_args)version)assert_never)multi_replica_reload_events)ApiGetReloadEventSourceDataReloadRegion)
SpaceStage)CLIErrorRemoteEntryNotFoundErrorRepositoryNotFoundErrorRevisionNotFoundError)hf_hub_download)ExpandSpaceProperty_THfApiSpaceSort_T)
StatusLineare_progress_bars_disableddisable_progress_barsenable_progress_bars   )	AuthorOpt	FilterOptFormatWithAutoOptLimitOptRevisionOpt	SearchOptTokenOpt
VolumesOptapi_object_to_dict
get_hf_apimake_expand_properties_parserparse_volumestyper_factory)OutputFormatWithAutooutz6.1.0SpaceSortEnumc                     i | ]}||S  r-   ).0ss     d/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/huggingface_hub/cli/spaces.py
<dictcomp>r1   L   s    +H+H+HQAq+H+H+H    )typezComma-separated properties to return. When used, only the listed properties (and id) are returned. Example: '--expand=likes,tags'. Valid: , .)helpcallbackz Interact with spaces on the Hub.)r6   z&Manage volumes for a Space on the Hub.volumes)namez	list | lszhf spaces ls --limit 10z4hf spaces ls --search "chatbot" --author huggingface)examples
   searchauthorfiltersortzSort results.limitexpandformattokenreturnc           	          t          |          }|r|j        nd}	d |                    ||| |	||          D             }
t          j        |
           dS )zList spaces on the Hub.rC   Nc                 ,    g | ]}t          |          S r-   r$   )r.   
space_infos     r0   
<listcomp>zspaces_ls.<locals>.<listcomp>s   s0     
 
 
 	:&&
 
 
r2   )r>   r=   r<   r?   r@   rA   )r%   valuelist_spacesr*   table)r<   r=   r>   r?   r@   rA   rB   rC   apisort_keyresultss              r0   	spaces_lsrQ   \   s    * 5
!
!
!C!+tzztH
 
// * 
 

 
 
G Igr2   infoz hf spaces info enzostvs/deepsitez>hf spaces info gradio/theme_builder --expand sdk,runtime,likesspace_idz)The space ID (e.g. `username/repo-name`).revisionc                    t          |          }	 |                    | ||          }nJ# t          $ r}t          d|  d          |d}~wt          $ r}t          d| d|  d          |d}~ww xY wt          j        |           dS )	z"Get info about a space on the Hub.rF   )repo_idrT   rA   zSpace 'z' not found.Nz
Revision 'z' not found on ''.)r%   rI   r   r   r   r*   dict)rS   rT   rA   rB   rC   rN   rR   es           r0   spaces_inforZ      s     5
!
!
!CS~~h&~QQ" @ @ @777788a?  S S SJHJJhJJJKKQRRSHTNNNNNs    + 
A2A		A2A--A2)z!hf spaces search "generate image"zFhf spaces search "identify objects in pictures" --sdk gradio --limit 5zDhf spaces search "remove background from photo" --description --jsonFqueryzSearch query.sdkz,Filter by SDK (e.g. gradio, docker, static).include_non_runningz&Include non-running spaces in results.descriptionzShow AI-generated descriptions.c                    t          |          }|                    | ||||          }	g }
t          j        |	|          D ]u}|j        |j        |j        |j        |j        r|j        j	        nd|j
        |j        t          |j        d          ndd}|r
|j        |d<   |
                    |           vt          j        |
           |st          j        d           dS dS )z/Search spaces on the Hub using semantic search.rF   )r[   r>   r\   r]   rC   N   )idtitler\   likesstagecategoryscorer^   z4Use --description to show AI-generated descriptions.)r%   search_spaces	itertoolsislicera   rb   r\   rc   runtimerd   ai_categorysemantic_relevancy_scoreroundai_short_descriptionappendr*   rM   hint)r[   r>   r\   r]   r^   r@   rB   rC   rN   rP   itemsritems                r0   spaces_searchrt      s   & 5
!
!
!C/    G Egu--  $W5W()	;QY__t=>=W=cU15q999im
 
  	9"#"8DTIe IGHHHHHI Ir2   zdev-modez(hf spaces dev-mode my-user-name/deepsitestopzStop dev mode.c                 T   t          |          }|r*|                    |            t          d|  d           dS |                    |            |                    |           }t          |j        d|j        dk    rdnd          }|rd	| nd}t          d
|j                    t          j
        dt          j        dt          j        dt          j        di}t                      }	 |                    |           }|j        t          d           dS |j        j        |vrn:|                    ||j        j                            t%          j        d           v|j        j        t          j        k    r%|                    d|j        j         d           dS |                    d           t          d           t          d           t          d           d|j         d}	|r|	d| z  }	|j         d}
t          d|	            t          d           t          d           t          d           t          d|
 d           t          d           t          d|
 |            t          d |
 |            t          d           t          d!           dS )"ax  
    Enable or disable dev mode on a Space.

    Spaces Dev Mode eases the debugging of your application and makes iterating on Spaces faster by allowing you to
    restart your application without stopping the Space container itself. This feature is available as part of a PRO
    or Team & Enterprise plan.

    See docs: https://huggingface.co/docs/hub/spaces-dev-mode
    rF   zDev mode disabled for ''Nzdev-mode-folderdocker z/home/user/appzfolder=zWDev mode is currently building, track the progress here: https://huggingface.co/spaces/zbuilding...zapp starting...Tz Runtime of the space unavailabler   zDev mode is not ready (stage='z')zDev mode ready!zConnect to dev environment:zWeb:zhttps://huggingface.co/spaces/z/dev-mode/vscode-web?z@ssh.hf.spacez  * VSCode: zLocal:z;1. Add your SSH key to https://huggingface.co/settings/keysz2. SSH with `ssh -i <your_key> `z
   Or openz.  * VSCode: vscode://vscode-remote/ssh-remote+z.  * Cursor: cursor://vscode-remote/ssh-remote+zXPS: Dev mode stops after 48h of inactivity, don't forget to save your changes regularly.)r%   disable_space_dev_modeprintenable_space_dev_moderI   getattr	card_datar\   ra   r   BUILDINGRUNNING_BUILDINGAPP_STARTINGRUNNING_APP_STARTINGr   rj   rd   updatetimesleepRUNNINGdone	subdomain)rS   ru   rC   rN   rR   folderfolder_query_param"intermediate_statuses_and_messagesstatusvscode_web_urlssh_hosts              r0   dev_moder      s   ( 5
!
!
!C ""8,,,3333444h'''>>(##DT^%6dh(>R>RXhiiF/5=+6+++2	
mdhdk
m
mnnn]#]!2'):	*& \\F~~h''<4555F<%GGG89KLMMM
1 |Z///KT\5GKKKLLL
KK!"""	
'(((	"III	&MMMSdgSSSN 320222.///H	
)
)
)***	"III	(OOO	
GHHH	
7H
7
7
7888	,	
M8
MV
M
MNNN	
M8
MV
M
MNNN	"III	
deeeeer2   logs)z hf spaces logs username/my-spacez(hf spaces logs username/my-space --buildz#hf spaces logs -f username/my-spacez&hf spaces logs -n 50 username/my-spacebuildz--buildzdFetch the container build logs instead of the run logs. Useful when a Space is stuck in BUILD_ERROR.followz-fz--followz|Follow log output (stream until the server closes the stream). Without this flag, only currently available logs are printed.tailz-nz--tailz1Number of lines to show from the end of the logs.c                 H   |r|t          d          t          |          }|                    | ||          }|t          ||          }d}|D ].}|                                }	t          j        |	           |	rd}/|s|st          j        d|  d	           dS dS dS )
a<  Fetch the run or build logs of a Space.

    By default, prints currently available run logs and exits (non-blocking, like
    `docker logs`). Use --follow/-f to stream until the server closes the stream.
    Use --build to see the container build logs instead (useful when a Space is
    stuck in BUILD_ERROR).
    NzcCannot use --follow and --tail together. Use --follow to stream logs or --tail to show recent logs.rF   )r   r   )maxlenFTzNo run logs found for space z2. Try passing --build to fetch build logs instead.)r   r%   fetch_space_logsr   stripr*   textrp   )
rS   r   r   r   rC   rN   r   
found_logsline
clean_lines
             r0   spaces_logsr     s    V  
$"q
 
 	
 5
!
!
!CfEEDT$'''J  ZZ\\
 	J ne nllllmmmmmn n n nr2   z
hot-reload)zihf spaces hot-reload username/repo-name app.py     # Open an interactive editor to the remote app.py filezohf spaces hot-reload username/repo-name -f app.py  # Take local version from ./app.py and patch app.py remotelyzchf spaces hot-reload username/repo-name app.py -f src/app.py # Take local version from ./src/app.pyfilenamez~Path to the Python file in the Space repository. Can be omitted when --local-file is specified and path in repository matches.
local_filez--local-filez<Path of local file. Interactive editor mode if not specifiedskip_checksz%Skip hot-reload compatibility checks.skip_summaryz2Skip summary display after hot-reload is triggeredc           	         t          j        dt           j        j                   t	          |          }|s|                    |           }|j        dk    rt          d|j         d          |j        x}t          d|            |j	        x}	t          d	|  d
          t          j        |	          t          j        t                    k     rt          dt           d|	 d          |j        x}
t          d|            nd}
|r)t          |          }||                                n|}n |r|s@	 |                    d| d           n&# t$          $ r}t          d|  d          |d}~ww xY wt'          j                    }t*          j                            |j        |          }t3                      x}st5                       	 t7          d| ||j                   n8# t8          $ r+ t          j        | dt           j        j                   Y nw xY w|st;                       n# |st;                       w w xY wt=          |          }|dk    rt'          j                    }tA          j!        |j        |d           t*          j                            ||          }t          j        d           t          j        d|            t          j        d|  d| d| d           dS |dk    rt          d          |d k    rt          d!|           nt          d"          |"                    d| |||
d#          }|i|#                                $                    tK          j&                              r1t          j        d$|j'         d%           t          j        d&           |s5t          j        d'           tQ          || |
|j'        |r|n|||(           dS dS ))u  
    Hot-reload any Python file of a Space without a full rebuild + restart.

    ⚠ This feature is experimental ⚠

    Only works with Gradio SDK (6.1+)
    Opens an interactive editor unless --local-file/-f is specified.

    This command patches the live Python process using https://github.com/breuleux/jurigged
    (AST-based diffing, in-place function updates, etc.), integrated with Gradio's native hot-reload support
    (meaning that Gradio demo object changes are reflected in the UI)

    The command creates a remote commit.
    If you are working from a local clone, run `git pull --autostash` afterwards
    to bring the commit back and keep your local git state in sync.
    z2This feature is experimental and subject to changefgrF   gradioz5Hot-reloading is only available on Gradio SDK. Found z SDKNz"Unable to read cardData for Space z Unable to read sdk_version from z	 cardDataz!Hot-reloading requires Gradio >= z (found )z(Unexpected `None` running SHA for Space spaceT)	repo_typerV   writezWrite access check to z8 repository failed. Make sure that you are authenticated)r   rV   r   	local_dirz2 not found in remote repository. Assuming new fileno-tty)dirs_exist_okz*No TTY detected. Non-interactive fallback:z- Edit z- Run `hf spaces hot-reload  z -f r{   	no-editorzONo editor found in local environment. Use -f flag to hot-reload from local pathr   z>Editor returned a non-zero exit code while attempting to edit z4Either filename or --local-file/-f must be specified)r   rV   path_or_fileobjpath_in_repoparent_commit_hot_reloadzCreated commit z in remote Space repository.z]Consider running `git pull --autostash` to stay synced if you are working from a local clone.zHot-reload summary:)rN   rS   current_sha
commit_sha
local_pathr   rC   ))typersechocolorsBRIGHT_BLACKr%   rI   r\   r   r   sdk_versionr	   parseVersionHOT_RELOADING_MIN_GRADIOshastras_posix
auth_checkr   tempfileTemporaryDirectoryospathjoinr9   r   r   r   r   r   _editor_openmkdtempshutilcopytreeupload_fileresolveis_relative_tor   cwdoid_spaces_hot_reload_summary)rS   r   r   r   r   rC   rN   rI   r   r   r   r   rY   temp_dirpbar_disabled
editor_respersistent_temp_dircommit_infos                     r0   spaces_hot_reloadr   K  s   d 
KDIbcccc
5
!
!
!C ^^H--
>X%%gS]Saggghhh#--I6JJJKKK$00K9QhQQQRRR=%%8P(Q(QQQo?Wooaloooppp%>)K2PhPPQQQ 3  -O__
,4,<:&&((((	 *O 
		%$     
 +   oXooo  .00W\\(-::
!;!=!== 	$!###	'! !"-	     ( 	w 	w 	wK8WWW\a\h\uvvvvvv	w ! '$&&& ! '$&&&&'!*--
!!"*"2"4"4OHM+>dSSSS&98DDJKDEEEK.*..///K]x]](]]PZ]]]^^^F$$lmmm??h\fhhiii  MNNN//"! "  K *"4"4"6"6"E"Edhjj"Q"QSkoSSSTTTsttt 

)***"#"%/=zzX	
 	
 	
 	
 	
 	


 

sB    E 
E<#E77E<G/ .H8 /2H$!H8 #H$$H8 8IrN   r   r   r   c                 z   |                      |          x}j        |k    rc|||k    rnZt          j        dt          j        j        d           t          j        d           |                      |          x}j        |k    c|j        |k    rt          d| d|j                   |j	        x}t          d| d          |j
        x}	t          d	| d
          |	j        dk    rt          j        d|	j                   d S |j        x}
t          d          |j        x}t          d          dt           dt"          ffddt$          dd ffd}t'          ||
|d |	j        D             |          D ]}|d         dk    r ||d                     |d         dk    rt          j        d|d          d           K|d         dk    rt          j        d           l|d         dk    r/t          j        d|d          t          j        j                    t)          |           d S )!Nz"Waiting for up-to-date Space infosT)r   errr`   zExpected SHA z after hot-reload but got z!Unable to read SpaceRuntime from z infoszSpace z2 current running version has not been hot-reloadedcreatedzDFailed creating hot-reloaded commit. hot_reloading.replica_statuses=z)Unexpected None host on hotReloaded Spacez.Unexpected None subdomain on hotReloaded SpaceregionrD   c                      d}| d         | d         k    r|d| d         dz
   z  }n|d| d         dz
   d| d          z  }|S )Nr4   	startLineendLinezline r   zlines -r-   )r   resr   s     r0   render_regionz1_spaces_hot_reload_summary.<locals>.render_region  st    +&"33346+.2444CCIF;/!3IIfY6GIIIC
r2   eventc                    | d         d         dk    r:t          j        dd           t          j        | d         d         d           d S | d         d         d	k    rRt          j        d
 | d         d                    d           t          j        | d         d         d           d S | d         d         dk    r6t          j        d| d         d          d| d         d          d           d S | d         d         dk    r6t          j        d| d         d          d| d         d          d           d S | d         d         dk    r6t          j        d| d         d          d| d         d          d           d S | d         d         dk    rRt          j        d | d         d                    d           t          j        | d         d         d           d S | d         d         dk    r>| d         d         rt          j        dd           d S t          j        dd           d S | d         d         dk    rF| d         d         rt          j        d dd           d S t          j        d d d           d S t          j        d!|            t          rt          | d         d                    d S d S )"Ndatakinderroru"   ✘ Unexpected hot-reloading errorT)bold	traceback)italic	exceptionu   ✘ Exception at r   addu   ✔︎ Created 
objectNamer   
objectTypedeleteu   ∅ Deleted r   u   ✔︎ Updated runu   ▶ Run 	codeLinesuiupdatedu   ⟳ UI updatedu   ∅ UI untouchedfiler   u   ✔︎ z createdz updatedu    ❓ Unknown update event: event=)r   r   r   r
   )r   r   r   s    r0   display_eventz1_spaces_hot_reload_summary.<locals>.display_event  s:   = G++K<4HHHHKfk24@@@@@@6]6"k11KTMM%-:Q,R,RTT[_````Kfk24@@@@@@6]6"e++Ke%-*EeefVbHceelpqqqqqq6]6"h..KbuV}\'BbbU6]S_E`bbimnnnnnn6]6"h..Ke%-*EeefVbHceelpqqqqqq6]6"e++KK==vx1H#I#IKKRVWWWWKfk24@@@@@@6]6"d**V}Y' ;,4888888.T::::::6]6"f,,V}Y' E8h888tDDDDDD8h888tDDDDDDK=U==>>> 4U6]62333334 4r2   c                     g | ]\  }}|S r-   r-   )r.   hash_s      r0   rJ   z._spaces_hot_reload_summary.<locals>.<listcomp>!  s    KKKqKKKr2   )r   hostr   replica_hashesrC   r   replicaHashz---- Replica r   z ----	fullMatchu   ✔︎ Same as first replicawarningu   ⚠ messager   )rI   r   r   r   r   r   r   r   r   rj   hot_reloadingr   echoreplica_statusesr   r   r   r   r   r   r
   )rN   rS   r   r   r   r   rC   rI   rj   r   
space_hostspace_subdomainr   replica_stream_eventr   s       ``        @r0   r   r     s    111:
6+
E
E+";";8U\=V\`aaaa
1	 111:
6+
E
E
 ~##]z]]Z^]]^^^%%.K8KKKLLL ..7\\\\]]]y((
\=;Y\\]]] o%
.BCCC%//8GHHHl s      48 4T 4 4 4 4 4 4 4> !<!KKM,JKKK! ! ! / /  '722M.w78888!&)]::KK(<V(DKKKLLLL!&)[88J56666!&)Y66K@3I>@@U\E^_____-....!/ /r2   ))codezcode --wait)nvimr  )nanor  )vimr  )vir  c                      dD ]/} t          j        | d                                          x}r|c S 0t          D ]\  }}t	          j        |          |c S d S )N)	HF_EDITORVISUALEDITORry   )r   getenvr   PREFERRED_EDITORSr   which)envcommandbinary_patheditor_commands       r0   _get_editor_commandr  9  s~    0  iR((..0007 	NNN	'8 " "#^<$$0!!!! 14r2   )r   r   c                    t           j                                        rt           j                                        sdS t	                      x}dS g t          j        |          | }t          j        |d          }|j	        S )Nr   r   T)start_new_session)
sysstdinisattystdoutr  shlexsplit
subprocessr   
returncode)r   r  r  r   s       r0   r   r   D  s}    I 3:#4#4#6#6 x-///8{8N++8Z8G
.D
9
9
9C>r2   z&hf spaces volumes ls username/my-spacec                    t          |          }|                    |           }|j        t          d|  d          |j        j        pg }d |D             }t          j        |           t          j        d|  d           dS )z List volumes mounted in a Space.rF   Nz!Runtime not available for Space 'rW   c                 ,    g | ]}t          |          S r-   rH   r.   vs     r0   rJ   zvolumes_ls.<locals>.<listcomp>_  s!    444q""444r2   Use `hf spaces volumes set I -v hf://<repo_type>/<repo_id>:/<mount_path>` to set volumes for a Space.)r%   rI   rj   r   r8   r*   rM   rp   )rS   rB   rC   rN   rR   r8   rq   s          r0   
volumes_lsr%  N  s     5
!
!
!C>>(##D|G8GGGHHHl"(bG44G444EIeHyhyyy    r2   setzPhf spaces volumes set username/my-space -v hf://models/username/my-model:/modelszhf spaces volumes set username/my-space -v hf://buckets/username/my-bucket:/data -v hf://datasets/username/my-dataset:/datasets:rovolumec                    t          |          }|st          d          t          |          }|                    | |           t	          j        d| d |D                        t	          j        d|  d           d	S )
z"Set (replace) volumes for a Space.z7At least one volume must be specified with -v/--volume.rF   )r8   zVolumes setc                 6    g | ]}|                                 S r-   )to_hf_handler!  s     r0   rJ   zvolumes_set.<locals>.<listcomp>y  s"    9\9\9\q!..:J:J9\9\9\r2   )rS   r8   zUse `hf spaces volumes ls z` to list volumes for a Space.N)r'   r   r%   set_space_volumesr*   resultrp   )rS   r'  rB   rC   r8   rN   s         r0   volumes_setr-  f  s     F##G RPQQQ
5
!
!
!C(G444J}x9\9\T[9\9\9\]]]]HR(RRRSSSSSr2   r   z*hf spaces volumes delete username/my-spacez0hf spaces volumes delete username/my-space --yesyesz-yz--yesz#Answer Yes to prompt automatically.c                     t          j        d|  d|           t          |          }|                    |            t          j        d|            t          j        d|  d           d	S )
z Remove all volumes from a Space.z0You are about to remove all volumes from Space 'z'. Proceed?)r.  rF   zVolumes deleted)rS   r#  r$  N)r*   confirmr%   delete_space_volumesr,  rp   )rS   r.  rB   rC   rN   s        r0   volumes_deleter2  }  s    * KX8XXX^abbbb
5
!
!
!CX&&&J 84444Hyhyyy    r2   )FN)FFNN)NNFFN)b__doc__enum	functoolsrh   r   r  r   r  r  r   r   collectionsr   pathlibr   typingr   r   r   r   r   	packagingr	   typing_extensionsr
   "huggingface_hub._hot_reload.clientr   !huggingface_hub._hot_reload.typesr   r   huggingface_hub._space_apir   huggingface_hub.errorsr   r   r   r   huggingface_hub.file_downloadr   huggingface_hub.hf_apir   r   r   huggingface_hub.utilsr   r   r   r   
_cli_utilsr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   _outputr)   r*   r   sorted_EXPAND_PROPERTIES_SORT_OPTIONSEnumr   r+   Optionr   	ExpandOpt
spaces_clivolumes_cli	add_typerr  autorQ   ArgumentrZ   listboolrt   r   intr   r   r   r  cacher  r   r%  r-  r2  r-   r2   r0   <module>rS     s             				       



               > > > > > > > > > > > >        * * * * * * J J J J J J W W W W W W W W 1 1 1 1 1 1 u u u u u u u u u u u u 9 9 9 9 9 9 L L L L L L L L L L u u u u u u u u u u u u                              / . . . . . . . #  VHH%:;;<< %%	/+H+H-+H+H+HsSSS $JEL {  [_  [d  [d  ew  [x  [x  {  {  {../ABB  	 ] BCCC
m!IJJJ 
  [y  1 1 1 !>     	 4 9   /***	,	     
   < 
*H    ! 4 9 ^U^1\]]]]^  	
  
   $       jnhmY^ 4 9#I #IS.%.o>>>>?#I#I 
49t#\U\7e%f%f%ff	g#I #4;c)d)d)d#de	#I
 43T!U!U!UUV#I #I #I #I 
#I #I #I #IL 2    BG<f <f^U^1\]]]]^<f
D,%,,<====
><f <f <f <f <f~ 
     " 	 	 	32n 2n^U^1\]]]]^2nw	
 	
 	
	2n  P	
 	
 	
	2n" d
D	
 	
 	
	#2n2 32n4 
52n 2n 2n 2nj      ( 	 	_dmr/C
 C
<	
 	
 	
	C
 d
 R	
 	
 	
	C
 tO	
 	
 	
	C
* 43Z![![![[\+C
, D,%,4h"i"i"iij-C
. /C
0 
1C
 C
 C
 C
LT/	T/T/ tT/ 	T/
 T/ T/ :T/ 
T/ T/ T/ T/n  S4Z    S S73H+I%I     0    !5 9 ^U^1\]]]]^  
	   $ 	Z 	M     4 9	T T^U^1\]]]]^TT T 	T
 
T T T T  4:     	 4 9 ^U^1\]]]]^	6	
 	
 	
	
   
     r2   