
    ,hh                       S r / SQrSSKrSSKrSSKrSSKJr	J
r
  SrSrSrSrS	rS
rSr " S S\5      rS r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rS r " S S\5      r " S S\5      r " S S\5      r\" 5       r " S  S!\5      r  " S" S#\5      r! " S$ S%\5      r" " S& S'\"5      r# " S( S)\"5      r$ " S* S+\5      r% " S, S-\5      r& " S. S/\5      r' " S0 S1\5      r( " S2 S3\5      r) " S4 S5\5      r* " S6 S7\%5      r+ " S8 S9\5      r, " S: S;\5      r- " S< S=\5      r. " S> S?\.5      r/ " S@ SA\/5      r0 " SB SC\\.5      r1g)Dz1.1)ArgumentParserArgumentErrorArgumentTypeErrorBooleanOptionalActionFileTypeHelpFormatterArgumentDefaultsHelpFormatterRawDescriptionHelpFormatterRawTextHelpFormatterMetavarTypeHelpFormatter	NamespaceActionONE_OR_MOREOPTIONALPARSER	REMAINDERSUPPRESSZERO_OR_MORE    N)gettextngettextz==SUPPRESS==?*+zA......_unrecognized_argsc                   &    \ rS rSrS rS rS rSrg)_AttributeHolderk   c                    [        U 5      R                  n/ n0 nU R                  5        H  nUR                  [	        U5      5        M     U R                  5        H8  u  pVUR                  5       (       a  UR                  U< SU< 35        M4  XcU'   M:     U(       a  UR                  S[	        U5      -  5        U< SSR                  U5      < S3$ )N=z**%s(, ))type__name__	_get_argsappendrepr_get_kwargsisidentifierjoin)self	type_namearg_strings	star_argsargnamevalues          1/opt/python-3.13.8/usr/lib/python3.13/argparse.py__repr___AttributeHolder.__repr__t   s    J''		>>#CtCy) $++-KD  """"dE#:;"'$	 .
 vY78$dii&<==    c                 H    [        U R                  R                  5       5      $ N)list__dict__itemsr,   s    r3   r)   _AttributeHolder._get_kwargs   s    DMM'')**r6   c                     / $ r8    r<   s    r3   r&   _AttributeHolder._get_args   s    	r6   r?   N)r%   
__module____qualname____firstlineno__r4   r)   r&   __static_attributes__r?   r6   r3   r   r   k   s    >+r6   r   c                 d    U c  / $ [        U 5      [        L a  U S S  $ SS KnUR                  U 5      $ Nr   )r$   r9   copy)r;   rG   s     r3   _copy_itemsrH      s5    }	 E{dQx99Ur6   c                       \ rS rSr   S!S jrS rS r " S S\5      rS r	S	 r
S
 rS 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 rS rS rS rS rS rS rS rS r S r!g)#r      Nc                    Uc#  SS K nUR                  5       R                  nUS-  nXl        X l        [        U[        US-
  US-  5      5      U l        X@l        SU l	        SU l
        SU l        U R                  U S 5      U l        U R                  U l        [        R                   " S[        R"                  5      U l        [        R                   " S5      U l        g )Nr         z\s+z\n\n\n+)shutilget_terminal_sizecolumns_prog_indent_incrementminmax_max_help_position_width_current_indent_level_action_max_length_Section_root_section_current_section_recompileASCII_whitespace_matcher_long_break_matcher)r,   progindent_incrementmax_help_positionwidthrN   s         r3   __init__HelpFormatter.__init__   s     =,,.66EQJE
!1"%&7&)%"*6F6J&K#M "#!]]46 $ 2 2#&;;vsyy#A #&;;z#: r6   c                 l    U =R                   U R                  -  sl         U =R                  S-  sl        g N   rW   rR   rX   r<   s    r3   _indentHelpFormatter._indent   s'     6 66qr6   c                 l    U =R                   U R                  -  sl         U =R                  S-  sl        g ri   rk   r<   s    r3   _dedentHelpFormatter._dedent   s'     6 66qr6   c                   $    \ rS rSrSS jrS rSrg)HelpFormatter._Section   Nc                 6    Xl         X l        X0l        / U l        g r8   )	formatterparentheadingr;   )r,   ru   rv   rw   s       r3   rf   HelpFormatter._Section.__init__   s    &N K"LDJr6   c           	         U R                   b  U R                  R                  5         U R                  R                  nU" U R                   VVs/ s H
  u  p#U" U6 PM     snn5      nU R                   b  U R                  R                  5         U(       d  gU R                  [        LaK  U R                  b>  U R                  R                  n[        S5      [        U R                  S9-  nSUSU4-  nOSnU" SXtS/5      $ s  snnf )N z%(heading)s:)rw   %*s%s

)rv   ru   rl   _join_partsr;   ro   rw   r   rW   _dict)r,   r+   funcargs	item_helpcurrent_indentheading_textrw   s           r3   format_help"HelpFormatter._Section.format_help   s    {{&&&(>>--DDJJGJjddDkJGHI{{&&&(  ||8+0H!%!?!? 043MM#~r<&HH w4899# Hs   D
)ru   rw   r;   rv   r8   )r%   rA   rB   rC   rf   r   rD   r?   r6   r3   rZ   rr      s    		:r6   rZ   c                 P    U R                   R                  R                  X45        g r8   )r\   r;   r'   )r,   r   r   s      r3   	_add_itemHelpFormatter._add_item   s    ##**D<8r6   c                     U R                  5         U R                  X R                  U5      nU R                  UR                  / 5        X l        g r8   )rl   rZ   r\   r   r   )r,   rw   sections      r3   start_sectionHelpFormatter.start_section   s;    --&;&;WEw**B/ 'r6   c                 Z    U R                   R                  U l         U R                  5         g r8   )r\   rv   ro   r<   s    r3   end_sectionHelpFormatter.end_section   s     $ 5 5 < <r6   c                 Z    U[         La"  Ub  U R                  U R                  U/5        g g g r8   )r   r   _format_text)r,   texts     r3   add_textHelpFormatter.add_text   s-    xD$4NN4,,tf5 %5r6   c                 X    U[         La!  XX44nU R                  U R                  U5        g g r8   )r   r   _format_usage)r,   usageactionsgroupsprefixr   s         r3   	add_usageHelpFormatter.add_usage   s-     61DNN4--t4 !r6   c                    UR                   [        La  U R                  n[        U" U5      5      U R                  -   /nU R                  U5       H0  nUR                  [        U" U5      5      U R                  -   5        M2     [        U5      n[        U R                  U5      U l        U R                  U R                  U/5        g g r8   )helpr   _format_action_invocationlenrW   _iter_indented_subactionsr'   rT   rY   r   _format_action)r,   actionget_invocationinvocation_lengths	subactionaction_lengths         r3   add_argumentHelpFormatter.add_argument  s    ;;h& ";;N"%nV&<"=@T@T"T!U!;;FC	"))#nY.G*H4K_K_*_` D   23M&)$*A*A*7'9D# NN4..9 'r6   c                 8    U H  nU R                  U5        M     g r8   )r   )r,   r   r   s      r3   add_argumentsHelpFormatter.add_arguments  s    Ff% r6   c                     U R                   R                  5       nU(       a0  U R                  R                  SU5      nUR	                  S5      S-   nU$ )N

r|   )r[   r   ra   substrip)r,   r   s     r3   r   HelpFormatter.format_help  sI    !!--/++//=D::d#d*Dr6   c                 x    SR                  U Vs/ s H  nU(       d  M  U[        Ld  M  UPM     sn5      $ s  snf )Nrz   )r+   r   )r,   part_stringsparts      r3   r}   HelpFormatter._join_parts%  sC    ww$0:$0D $($8 $0: ; 	; :s   777c                   ^ Uc  [        S5      nUb  U[        U R                  S9-  nGOUc  U(       d  S[        U R                  S9-  nGOUGc  S[        U R                  S9-  n/ n/ nU H8  nUR                  (       a  UR	                  U5        M'  UR	                  U5        M:     U R
                  n	U	" Xg-   U5      n
SR                  XZ4 Vs/ s H  o(       d  M  UPM     sn5      nU R                  U R                  -
  m[        U5      [        U5      -   T:  Ga  U R                  Xc5      nU R                  Xs5      nS
U4S jjn[        U5      [        U5      -   ST-  ::  ab  S[        U5      [        U5      -   S-   -  nU(       a%  U" U/U-   X5      nUR                  U" X5      5        OyU(       a  U" U/U-   X5      nOdU/nO`S[        U5      -  nX-   nU" UU5      n[        U5      S:  a0  / nUR                  U" X5      5        UR                  U" X5      5        U/U-   nSR                  U5      nU< U< S	3$ s  snf )Nzusage: rb   z%(prog)s c                   > / n/ n[        U5      nUb  [        U5      S-
  nOUS-
  nU  Hk  nUS-   [        U5      -   T:  a1  U(       a*  UR                  USR                  U5      -   5        / nUS-
  nUR                  U5        U[        U5      S-   -  nMm     U(       a#  UR                  USR                  U5      -   5        Ub  US   US  US'   U$ )Nrj   r   r   )r   r'   r+   )	partsindentr   lineslineindent_lengthline_lenr   
text_widths	           r3   	get_lines.HelpFormatter._format_usage.<locals>.get_linesQ  s    ED$'KM)#&v;?#01#4 %#a<#d)3j@T!LL#((4.)@A#%D'4q'8HD) CIM1 !& Vchhtn%<=)#(8MN#;a Lr6   g      ?rj   r|   r   r8   )r~   r   rQ   option_stringsr'   _format_actions_usager+   rV   rW   r   _get_actions_usage_partsextend)r,   r   r   r   r   rb   	optionalspositionalsr   formataction_usages	opt_parts	pos_partsr   r   r   r   r   s                     @r3   r   HelpFormatter._format_usage*  s0   >y\F Ddjj11E ]74::!66E ]$** 55D IK!(($$V,&&v.	 " //F!)"96BLHH$)=C)=Aa)=CDE t';';;J6{SZ'*4 !99)L	 99+N	!, v;T*dZ.?? CK#d)$;a$?@F  )4&9*<f MYy%AB" )4&9*<f M!% !3v;.F%1E%eV4E5zA~ "Yy%ABYy%AB!FUNE 		%( $U++u Ds   
IIc                 B    SR                  U R                  X5      5      $ )Nr   )r+   r   )r,   r   r   s      r3   r   #HelpFormatter._format_actions_usage  s    xx55gFGGr6   c                    [        5       n0 nU H  nUR                  (       d  [        SU 35      e[        S UR                   5       5      (       a  ME   UR	                  UR                  S   5      nU[        UR                  5      -   nXU UR                  :X  a"  UR                  UR                  5        XTXg4'   M  M     / nU H  n	U	R                  [        L a  S n
OU	R                  (       d?  U R                  U	5      nU R                  X5      n
X;   a  U
S   S:X  a  U
S   S:X  a  U
SS n
OvU	R                  S   nU	R                  S:X  a  U	R                  5       n
O+U R                  U	5      nU R                  X5      nU< SU< 3n
U	R                  (       d
  X;  a  S	U
-  n
UR!                  U
5        M     [        5       n[#        US
S9 H  u  pgXFU4   nXU  Vs/ s H	  oc  M  UPM     nn[        U5      nUR                  (       a  US:  a  SOSu  nnOSu  nnUUS   -   US'   US   U-   US'   [%        US S US9 H'  u  nn
UU;  d  M  U
S-   UU'   UR'                  U5        M)     US   XU-   S-
  '   [)        UU-   U5       H  nS UU'   M
     M     U Vs/ s H	  oc  M  UPM     sn$ ! [         a     GM  f = fs  snf s  snf )Nzempty group c              3   D   #    U  H  oR                   [        L v   M     g 7fr8   )r   r   ).0r   s     r3   	<genexpr>9HelpFormatter._get_actions_usage_parts.<locals>.<genexpr>  s     N9Mv;;(*9Ms    r   []rj   r   [%s]T)reverse())rz   rz   z[])startz |)set_group_actions
ValueErrorallindexr   updater   r   r   #_get_default_metavar_for_positional_format_argsnargsformat_usage!_get_default_metavar_for_optionalrequiredr'   sorted	enumerateaddrange)r,   r   r   group_actionsinsertsgroupr   endr   r   r   defaultoption_stringargs_stringinserted_separators_indicesitemgroup_parts
group_sizeopencloseis                        r3   r   &HelpFormatter._get_actions_usage_parts  s   E'' <w!788N9M9MNNN0e&:&:1&=> c%"6"677%)=)==!(()=)=>*/EJ' > $ F {{h& **BB6J((9 *Aw#~$r(c/#Abz !' 5 5a 8 <<1$!..0D
 #DDVLG"&"3"3F"DK&3[AD 6+F!D=D LLK P '*e# $7JE3J'E,1,<Q,<D4,<KQ[)J~~&01nd(e"e!KN2KN)"o5KO$["%5UC477#d{E!H/33A6	 D
 -8OE*$q()5:-s3a 4! 8( "';;;O  j R$ <s*   J2 K*KK	)K	2
K Kc                     SU;   a  U[        U R                  S9-  n[        U R                  U R                  -
  S5      nSU R                  -  nU R                  XU5      S-   $ )Nz%(prog)r      r   r   )r   rQ   rT   rV   rW   
_fill_text)r,   r   r   r   s       r3   r   HelpFormatter._format_text  s^    $DJJ//Dt';';;R@
t+++t86AAr6   c                    [        U R                  S-   U R                  5      n[        U R                  U-
  S5      nX R
                  -
  S-
  nU R                  U5      nUR                  (       d  U R
                  SU4nSU-  nO<[        U5      U::  a  U R
                  SXE4nSU-  nSnOU R
                  SU4nSU-  nUnU/nUR                  (       a  UR                  R                  5       (       ag  U R                  U5      n	U	(       aN  U R                  X5      n
UR                  SWSU
S   4-  5        U
SS   H  nUR                  SUSU4-  5        M     O'UR                  S5      (       d  UR                  S5        U R                  U5       H#  nUR                  U R                  U5      5        M%     U R!                  U5      $ )	NrL   r   rz   r{   z	%*s%-*s  r   rj   r|   )rS   rY   rU   rT   rV   rW   r   r   r   r   _expand_help_split_linesr'   endswithr   r   r}   )r,   r   help_position
help_widthaction_widthaction_headertupindent_firstr   	help_text
help_linesr   r   s                r3   r   HelpFormatter._format_action  s   D33a7 335}4b9
$';';;a?66v> {{&&M9C%OM </&&LGC'#-ML &&M9C%OM(L  ;;6;;,,..))&1I!..yE
Y,JqM)JJK&qrNDLLmR-F!FG + ''--LL 77?ILL,,Y78 @ &&r6   c                 n   UR                   (       d7  U R                  U5      nSR                  U R                  X5      " S5      5      $ UR                  S:X  a  SR                  UR                   5      $ U R                  U5      nU R                  X5      nSR                  UR                   5      S-   U-   $ )Nr   rj   r   r"   )r   r   r+   _metavar_formatterr   r   r   )r,   r   r   r   s       r3   r   'HelpFormatter._format_action_invocation  s    $$>>vFG88D33FDQGHH ||q yy!6!677
 @@H"//@yy!6!67#=KKr6   c                    ^ UR                   b  UR                   mO<UR                  b-  SSR                  [        [        UR                  5      5      -  mOUmU4S jnU$ )N{%s},c                 >   > [        T[        5      (       a  T$ T4U -  $ r8   )
isinstancetuple)
tuple_sizeresults    r3   r   0HelpFormatter._metavar_formatter.<locals>.format-  s"    &%((zJ..r6   )metavarchoicesr+   mapstr)r,   r   default_metavarr   r  s       @r3   r   HelpFormatter._metavar_formatter%  sO    >>%^^F^^'chhs3'?@@F$F	/
 r6   c                    U R                  X5      nUR                  c  SU" S5      -  nU$ UR                  [        :X  a  SU" S5      -  nU$ UR                  [        :X  a&  U" S5      n[	        U5      S:X  a  SU-  nU$ SU-  n U$ UR                  [
        :X  a  SU" S5      -  nU$ UR                  [        :X  a  SnU$ UR                  [        :X  a  S	U" S5      -  nU$ UR                  [        :X  a  S
nU$  [        UR                  5       Vs/ s H  nSPM     nnSR                  U5      U" UR                  5      -  nU$ s  snf ! [         a    [        S5      S ef = f)Nz%srj   r   rL   z[%s [%s ...]]z[%s ...]z%s [%s ...]r   z%s ...rz   zinvalid nargs valuer   )r  r   r   r   r   r   r   r   r   r   	TypeErrorr   r+   )r,   r   r  get_metavarr  r  r~   formatss           r3   r   HelpFormatter._format_args4  s   --fF<<KN*F. - \\X%k!n,F* ) \\\)!!nG7|q (72"  $g-  \\[("[^3F  \\Y&F  \\V#A.F  \\X%F B).v||)<=)<A4)<= XXg&V\\)BBF	 > B !67TABs   :E
 EE
 E
 
E!c                    [        [        U5      U R                  S9n[        U5       H  nX#   [        L d  M  X#	 M     [        U5       H(  n[        X#   S5      (       d  M  X#   R                  X#'   M*     UR                  S5      b%  SR                  [        [        US   5      5      US'   U R                  U5      U-  $ )Nr   r%   r  r"   )r   varsrQ   r9   r   hasattrr%   getr+   r  r  _get_help_string)r,   r   paramsr1   s       r3   r  HelpFormatter._expand_helpP  s    d6l4LD|x'L ! LDv|Z00%|44 ! ::i , $		#c6)3D*E FF9$$V,v55r6   c              #      #     UR                   nU R                  5         U" 5        S h  vN   U R                  5         g  N! [         a     g f = f7fr8   )_get_subactionsrl   ro   AttributeError)r,   r   get_subactionss      r3   r   'HelpFormatter._iter_indented_subactions\  sM     	#33N LLN%'''LLN (	  		s1   AA AA A
AAAAc                     U R                   R                  SU5      R                  5       nSS KnUR	                  X5      $ )Nr   r   )r`   r   r   textwrapwrap)r,   r   re   r2  s       r3   r  HelpFormatter._split_linesf  s7    ''++C6<<> 	}}T))r6   c                     U R                   R                  SU5      R                  5       nSS KnUR	                  XUUS9$ )Nr   r   )initial_indentsubsequent_indent)r`   r   r   r2  fill)r,   r   re   r   r2  s        r3   r   HelpFormatter._fill_textm  sD    ''++C6<<>}}T,2/5  7 	7r6   c                     UR                   $ r8   )r   r,   r   s     r3   r)  HelpFormatter._get_help_stringt      {{r6   c                 6    UR                   R                  5       $ r8   )destupperr;  s     r3   r   /HelpFormatter._get_default_metavar_for_optionalw  s    {{  ""r6   c                     UR                   $ r8   )r?  r;  s     r3   r   1HelpFormatter._get_default_metavar_for_positionalz  r=  r6   )rY   rW   r\   rR   rX   ra   rU   rQ   r[   r`   rV   )rL      Nr8   )"r%   rA   rB   rC   rf   rl   ro   objectrZ   r   r   r   r   r   r   r   r   r}   r   r   r   r   r   r   r  r   r  r   r  r   r)  r   r   rD   r?   r6   r3   r   r      s     #$#%	;@
:6 :@9(65
:"&;
V,pHT<lB.'`L&8
6*7#r6   r   c                       \ rS rSrS rSrg)r	   i~  c                 T   ^ SR                  U4S jUR                  SS9 5       5      $ )Nrz   c              3   .   >#    U  H
  nTU-   v   M     g 7fr8   r?   )r   r   r   s     r3   r   9RawDescriptionHelpFormatter._fill_text.<locals>.<genexpr>  s     P1Ov}1Os   T)keepends)r+   
splitlines)r,   r   re   r   s      `r3   r   &RawDescriptionHelpFormatter._fill_text  s#    wwP$1OPPPr6   r?   N)r%   rA   rB   rC   r   rD   r?   r6   r3   r	   r	   ~  s    Qr6   r	   c                       \ rS rSrS rSrg)r
   i  c                 "    UR                  5       $ r8   )rK  )r,   r   re   s      r3   r  !RawTextHelpFormatter._split_lines  s      r6   r?   N)r%   rA   rB   rC   r  rD   r?   r6   r3   r
   r
     s    !r6   r
   c                       \ rS rSrS rSrg)r   i  c                     UR                   nUc  SnSU;  aN  UR                  [        La;  [        [        /nUR
                  (       d  UR                  U;   a  U[        S5      -  nU$ )Nrz   z
%(default)z (default: %(default)s))r   r   r   r   r   r   r   r~   )r,   r   r   defaulting_nargss       r3   r)  .ArgumentDefaultsHelpFormatter._get_help_string  s^    {{<Dt#~~X-$,l#; ((FLL<L,LA788Dr6   r?   N)r%   rA   rB   rC   r)  rD   r?   r6   r3   r   r     s    
r6   r   c                        \ rS rSrS rS rSrg)r   i  c                 .    UR                   R                  $ r8   r$   r%   r;  s     r3   r   :MetavarTypeHelpFormatter._get_default_metavar_for_optional      {{###r6   c                 .    UR                   R                  $ r8   rV  r;  s     r3   r   <MetavarTypeHelpFormatter._get_default_metavar_for_positional  rX  r6   r?   N)r%   rA   rB   rC   r   r   rD   r?   r6   r3   r   r     s    $$r6   r   c                 8   U c  g U R                   (       a  SR                  U R                   5      $ U R                  S [        4;  au  U R                  n[	        U[
        5      (       d  U$ U R                  [        :X  a  [        U5      S:X  a  SU-  $ U R                  [        :X  a  SU-  $ SR                  U5      $ U R                  S [        4;  a  U R                  $ U R                  (       a,  SSR                  [        [        U R                  5      5      -  $ g )N/rL   z%s[, %s]r"   r  r  )r   r+   r  r   r  r  r   r   r   r   r?  r  r  r  )argumentr  s     r3   _get_action_namer^    s    		 	 xx//00			$!1	1""'5))N>>\)c'la.?''^^{*''99W%%	tX.	.}}			S(*:*:!;<<<r6   c                        \ rS rSrS rS rSrg)r   i  c                 0    [        U5      U l        X l        g r8   )r^  argument_namemessage)r,   r]  rb  s      r3   rf   ArgumentError.__init__  s    -h7r6   c                 z    U R                   c  SnO[        S5      nU[        U R                  U R                   S9-  $ )Nz%(message)sz'argument %(argument_name)s: %(message)s)rb  ra  )ra  r~   r   rb  )r,   r   s     r3   __str__ArgumentError.__str__  sA    %"F@AFT\\+/+=+=? ? 	?r6   )ra  rb  N)r%   rA   rB   rC   rf   re  rD   r?   r6   r3   r   r     s    ?r6   r   c                       \ rS rSrSrg)r   i  r?   N)r%   rA   rB   rC   rD   r?   r6   r3   r   r     s    r6   r   c                   F    \ rS rSr         SS jrS rS rS	S jrSrg)
r   i  Nc                     Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        Xl
        g r8   r   r?  r   constr   r$   r  r   r   r  
deprecated)r,   r   r?  r   rk  r   r$   r  r   r   r  rl  s               r3   rf   Action.__init__#  s<     -	

	 	$r6   c                 N    / SQnU Vs/ s H  o"[        X5      4PM     sn$ s  snf )Nrj  getattrr,   namesr1   s      r3   r)   Action._get_kwargs;  s+    
 9>>wt*+>>>   "c                      U R                   S   $ rF   )r   r<   s    r3   r   Action.format_usageK  s    ""1%%r6   c                 *    [        [        S5      5      e)Nz.__call__() not defined)NotImplementedErrorr~   r,   parser	namespacevaluesr   s        r3   __call__Action.__call__N  s    !!$=">??r6   )r  rk  r   rl  r?  r   r  r   r   r   r$   	NNNNNFNNFr8   )	r%   rA   rB   rC   rf   r)   r   r}  rD   r?   r6   r3   r   r     s5    l !%0? &@r6   r   c                   J   ^  \ rS rSrS\\SS\S4U 4S jjrSS jrS rSrU =r	$ )	r   iU  NFc
                 v  > / n
U HE  nU
R                  U5        UR                  S5      (       d  M,  SUSS  -   nU
R                  U5        MG     S H.  n[        5       U   [        Ld  M  SS KnUR                  USSS9  M0     U[        L a  S nU[        L a  S nU[        L a  S n[        TU ]  U
USUUUUUUU	S	9
  g )
N----no-rL   )r$   r  r  r   zP{name!r} is deprecated as of Python 3.12 and will be removed in Python {remove}.)      )remove)
r   r?  r   r   r$   r  r   r   r  rl  )r'   
startswithlocals_deprecated_defaultwarnings_deprecatedsuperrf   )r,   r   r?  r   r$   r  r   r   r  rl  _option_stringsr   
field_namer  	__class__s                 r3   rf   BooleanOptionalAction.__init__V  s     +M""=1''-- '-*; ;&&}5 , 9Jx
#+>>$$2"	 % $ 9 &&D))G))G*! 	 
	#r6   c                 x    X@R                   ;   a+  [        X R                  UR                  S5      (       + 5        g g )Nr  )r   setattrr?  r  ry  s        r3   r}  BooleanOptionalAction.__call__  s/    ///Iyym.F.Fw.O*OP 0r6   c                 8    SR                  U R                  5      $ )Nz | )r+   r   r<   s    r3   r   "BooleanOptionalAction.format_usage  s    zz$--..r6   r?   r8   )
r%   rA   rB   rC   r  rf   r}  r   rD   __classcell__r  s   @r3   r   r   U  s0     ),,!0#fQ/ /r6   r   c                   H   ^  \ rS rSr         SU 4S jjrSS jrSrU =r$ )_StoreActioni  c                    > US:X  a  [        S5      eUb  U[        :w  a  [        S[        -  5      e[        [        U ]  UUUUUUUUU	U
US9  g )Nr   znargs for store actions must be != 0; if you have nothing to store, actions such as store true or store const may be more appropriate nargs must be %r to supply constrj  )r   r   r  r  rf   r,   r   r?  r   rk  r   r$   r  r   r   r  rl  r  s               r3   rf   _StoreAction.__init__  sv     A: K L L (!2?(JKKlD*)! 	+ 	#r6   c                 0    [        X R                  U5        g r8   )r  r?  ry  s        r3   r}  _StoreAction.__call__  s    	99f-r6   r?   r  r8   r%   rA   rB   rC   rf   r}  rD   r  r  s   @r3   r  r    s/    
 !#>. .r6   r  c                   B   ^  \ rS rSr      SU 4S jjrSS jrSrU =r$ )_StoreConstActioni  c	                 6   > [         [        U ]  UUSUUUUUS9  g )Nr   )r   r?  r   rk  r   r   r   rl  )r  r  rf   
r,   r   r?  rk  r   r   r   r  rl  r  s
            r3   rf   _StoreConstAction.__init__  s2     	/)! 	0 	#r6   c                 D    [        X R                  U R                  5        g r8   )r  r?  rk  ry  s        r3   r}  _StoreConstAction.__call__  s    	99djj1r6   r?   NNFNNFr8   r  r  s   @r3   r  r    s&    
 !#&2 2r6   r  c                   4   ^  \ rS rSr    SU 4S jjrSrU =r$ )_StoreTrueActioni  c           
      4   > [         [        U ]  UUSUUUUS9  g )NT)r   r?  rk  rl  r   r   r   )r  r  rf   r,   r   r?  r   r   r   rl  r  s          r3   rf   _StoreTrueAction.__init__  s/     	.)! 	/ 	r6   r?   )FFNFr%   rA   rB   rC   rf   rD   r  r  s   @r3   r  r    s    
 ! r6   r  c                   4   ^  \ rS rSr    SU 4S jjrSrU =r$ )_StoreFalseActioni  c           
      4   > [         [        U ]  UUSUUUUS9  g )NF)r   r?  rk  r   r   r   rl  )r  r  rf   r  s          r3   rf   _StoreFalseAction.__init__  s/     	/)! 	0 	#r6   r?   )TFNFr  r  s   @r3   r  r    s    
 !# #r6   r  c                   H   ^  \ rS rSr         SU 4S jjrSS jrSrU =r$ )_AppendActioni  c                    > US:X  a  [        S5      eUb  U[        :w  a  [        S[        -  5      e[        [        U ]  UUUUUUUUU	U
US9  g )Nr   znargs for append actions must be != 0; if arg strings are not supplying the value to append, the append const action may be more appropriater  rj  )r   r   r  r  rf   r  s               r3   rf   _AppendAction.__init__  sv     A: O P P (!2?(JKKmT+)! 	, 	#r6   c                     [        X R                  S 5      n[        U5      nUR                  U5        [	        X R                  U5        g r8   )rp  r?  rH   r'   r  r,   rz  r{  r|  r   r;   s         r3   r}  _AppendAction.__call__  6    	99d3E"V	99e,r6   r?   r  r8   r  r  s   @r3   r  r    s/    
 !#>- -r6   r  c                   B   ^  \ rS rSr      SU 4S jjrSS jrSrU =r$ )_AppendConstActioni  c	                 8   > [         [        U ]  UUSUUUUUUS9	  g )Nr   )	r   r?  r   rk  r   r   r   r  rl  )r  r  rf   r  s
            r3   rf   _AppendConstAction.__init__  s5     	 $0)! 	1 		#r6   c                     [        X R                  S 5      n[        U5      nUR                  U R                  5        [        X R                  U5        g r8   )rp  r?  rH   r'   rk  r  r  s         r3   r}  _AppendConstAction.__call__3  s:    	99d3E"TZZ 	99e,r6   r?   r  r8   r  r  s   @r3   r  r    s&    
 !#(- -r6   r  c                   >   ^  \ rS rSr    SU 4S jjrSS jrSrU =r$ )_CountActioni:  c           
      4   > [         [        U ]  UUSUUUUS9  g )Nr   )r   r?  r   r   r   r   rl  )r  r  rf   r  s          r3   rf   _CountAction.__init__<  s.     	lD*)! 	+ 	#r6   c                 l    [        X R                  S 5      nUc  Sn[        X R                  US-   5        g )Nr   rj   )rp  r?  r  )r,   rz  r{  r|  r   counts         r3   r}  _CountAction.__call__L  s.    	99d3=E	99eai0r6   r?   )NFNFr8   r  r  s   @r3   r  r  :  s     
 !# 1 1r6   r  c                   >   ^  \ rS rSr\\SS4U 4S jjrSS jrSrU =r$ )_HelpActioniS  NFc           	      2   > [         [        U ]  UUUSUUS9  g )Nr   )r   r?  r   r   r   rl  )r  r  rf   )r,   r   r?  r   r   rl  r  s         r3   rf   _HelpAction.__init__U  s+     	k4))! 	* 	#r6   c                 D    UR                  5         UR                  5         g r8   )
print_helpexitry  s        r3   r}  _HelpAction.__call__c  s    r6   r?   r8   	r%   rA   rB   rC   r   rf   r}  rD   r  r  s   @r3   r  r  S  s      !!# r6   r  c                   @   ^  \ rS rSrS\\SS4U 4S jjrSS jrSrU =r$ )_VersionActionih  NFc                 X   > Uc  [        S5      n[        [        U ]  UUUSUS9  X l        g )Nz&show program's version number and exitr   )r   r?  r   r   r   )r~   r  r  rf   version)r,   r   r  r?  r   r   rl  r  s          r3   rf   _VersionAction.__init__j  s?     <=>Dnd,) 	- 	 r6   c                     U R                   nUc  UR                   nUR                  5       nUR                  U5        UR                  UR	                  5       [
        R                  5        UR                  5         g r8   )r  _get_formatterr   _print_messager   _sysstdoutr  )r,   rz  r{  r|  r   r  ru   s          r3   r}  _VersionAction.__call__{  s[    ,,?nnG))+	7#i335t{{Cr6   )r  r8   r  r  s   @r3   r  r  h  s#     !!" r6   r  c                   h   ^  \ rS rSr " S S\5      r\SSS4U 4S jjrSS.S jrS	 r	SS
 jr
SrU =r$ )_SubParsersActioni  c                   (   ^  \ rS rSrU 4S jrSrU =r$ )&_SubParsersAction._ChoicesPseudoActioni  c                    > U=pEU(       a  USSR                  U5      -  -  n[        [        R                  U 5      nUR	                  / XSUS9  g )Nz (%s)r"   )r   r?  r   r  )r+   r  r  _ChoicesPseudoActionrf   )r,   r1   aliasesr   r  r?  supr  s          r3   rf   /_SubParsersAction._ChoicesPseudoAction.__init__  sQ    !!G7TYYw%777)>>ECLL!(  *r6   r?   r  r  s   @r3   r  r    s    	* 	*r6   r  FNc           
         > X l         X0l        0 U l        / U l        [	        5       U l        [        [        U ]#  UU[        U R                  UUUS9  g )N)r   r?  r   r  r   r   r  )
_prog_prefix_parser_class_name_parser_map_choices_actionsr   r  r  r  rf   r   )	r,   r   rb   parser_classr?  r   r   r  r  s	           r3   rf   _SubParsersAction.__init__  s[     !) " "5/))) 	0 	r6   )rl  c                   UR                  S5      c  U R                  < SU< 3US'   UR                  SS5      nXR                  ;   a  [	        U [        S5      U-  5      eU H*  nXPR                  ;   d  M  [	        U [        S5      U-  5      e   SU;   a>  UR                  S5      nU R                  XU5      nU R                  R                  U5        U R                  " S0 UD6nXR                  U'   U H  nXR                  U'   M     U(       a6  U R                  R                  U5        U R                  R                  U5        U$ )Nrb   r   r  r?   zconflicting subparser: %szconflicting subparser alias: %sr   )r(  r  popr  r   r~   r  r  r'   r  r  r   r   )	r,   r1   rl  kwargsr  aliasr   choice_actionrz  s	            r3   
add_parser_SubParsersAction.add_parser  s;   ::f%(,(9(94@F6N**Y+(((a(C&Dt&KLLE---#!=>FH H  V::f%D 55dTJM!!((7 ##-f-&,d# E+1!!%(    &##G,r6   c                     U R                   $ r8   )r  r<   s    r3   r-  !_SubParsersAction._get_subactions  s    $$$r6   c                    US   nUSS  nU R                   [        La  [        X R                   U5         U R                  U   nXPR                  ;   a  UR                  [        S5      SU0-  5        UR                  US 5      u  p[        U
5      R                  5        H  u  p[        X+U5        M     U(       aF  [        U[        5      (       d  [        U[        / 5        [        U[        5      R!                  U5        g g ! [         a8    USR                  U R                  5      S.n[        S5      U-  n	[        X	5      ef = f)Nr   rj   r"   )parser_namer  z5unknown parser %(parser_name)r (choices: %(choices)s)z'command '%(parser_name)s' is deprecatedr  )r?  r   r  r  KeyErrorr+   r~   r   r  _warningparse_known_argsr&  r;   r'  _UNRECOGNIZED_ARGS_ATTRrp  r   )r,   rz  r{  r|  r   r  r.   	subparserr   msgsubnamespacekeyr2   s                r3   r}  _SubParsersAction.__call__  s5   QiQRj 99H$Iyy+6	+--k:I ***OOAGH*K89 : %.$>$>{D$Q!|,224JCIE* 5 9&=>>	#:B?I67>>{K +  	+#.#yy)>)>?ADKLtSC**		+s   D AE)r  r  r  r  r  r8   )r%   rA   rB   rC   r   r  r   rf   r  r-  r}  rD   r  r  s   @r3   r  r    s>    *v * 0 .3  D%#L #Lr6   r  c                       \ rS rSrSS jrSrg)_ExtendActioni  Nc                     [        X R                  S 5      n[        U5      nUR                  U5        [	        X R                  U5        g r8   )rp  r?  rH   r   r  r  s         r3   r}  _ExtendAction.__call__  r  r6   r?   r8   )r%   rA   rB   rC   r}  rD   r?   r6   r3   r  r    s    -r6   r  c                   *    \ rS rSrSS jrS rS rSrg)r   i  Nc                 4    Xl         X l        X0l        X@l        g r8   )_mode_bufsize	_encoding_errors)r,   modebufsizeencodingerrorss        r3   rf   FileType.__init__  s    
!r6   c                 ^  ^  US:X  a  ST R                   ;   a:  ST R                   ;   a  [        R                  R                  $ [        R                  $ [	        U 4S jS 5       5      (       a:  ST R                   ;   a  [        R
                  R                  $ [        R
                  $ [        S5      T R                   -  n[        U5      e [        UT R                   T R                  T R                  T R                  5      $ ! [         a!  nXS.n[        S5      n[        XT-  5      eS nAff = f)	N-rbc              3   @   >#    U  H  oTR                   ;   v   M     g 7fr8   )r  )r   cr,   s     r3   r   $FileType.__call__.<locals>.<genexpr>  s     4e$**_es   waxzargument "-" with mode %r)filenameerrorz$can't open '%(filename)s': %(error)s)r  r  stdinbufferanyr  r~   r   r   r  r  r	  OSErrorr   )r,   stringr  er   rb  s   `     r3   r}  FileType.__call__  s    S=djj ,/4::,=tzz((M4::M4e444-0DJJ->t{{))ODKKO34tzzA o%	4

DMM4>>& & 	4 &3D>?G#GN33	4s   
6D 
D,D''D,c           
      f   U R                   U R                  4nSU R                  4SU R                  4/nSR	                  U Vs/ s H  o3S:w  d  M
  [        U5      PM     snU VVs/ s H  u  pCUc  M
  U< SU< 3PM     snn-   5      n[        U 5      R                  < SU< S3$ s  snf s  snnf )Nr  r  r"   r   r    r!   r#   )r  r  r  r	  r+   r(   r$   r%   )r,   r   r  r0   kwargs_strs         r3   r4   FileType.__repr__)  s    zz4==(t~~.4<<0HI994E4C"9id3i4EAG 2gb!$ 2S1 22 3  :..99 F2s   	B(B('	B-4B-)r  r  r	  r  )r  r   NN)r%   rA   rB   rC   rf   r}  r4   rD   r?   r6   r3   r   r     s    "4(:r6   r   c                   &    \ rS rSrS rS rS rSrg)r   i5  c                 2    U H  n[        XX   5        M     g r8   )r  )r,   r  r1   s      r3   rf   Namespace.__init__<  s    DD- r6   c                 f    [        U[        5      (       d  [        $ [        U 5      [        U5      :H  $ r8   )r  r   NotImplementedr&  )r,   others     r3   __eq__Namespace.__eq__@  s(    %++!!DzT%[((r6   c                     XR                   ;   $ r8   )r:   )r,   r  s     r3   __contains__Namespace.__contains__E  s    mm##r6   r?   N)r%   rA   rB   rC   rf   r*  r-  rD   r?   r6   r3   r   r   5  s    .)
$r6   r   c                      ^  \ rS rSrU 4S jrS 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S jrS rS rS rS rSrU =r$ )_ActionsContaineriI  c                 :  > [         [        U ]  5         Xl        X0l        X l        X@l        0 U l        U R                  SS [        5        U R                  SS[        5        U R                  SS[        5        U R                  SS[        5        U R                  SS[        5        U R                  SS[        5        U R                  SS[        5        U R                  SS[        5        U R                  SS	[         5        U R                  SS
["        5        U R                  SS[$        5        U R                  SS[&        5        U R)                  5         / U l        0 U l        / U l        / U l        0 U l        [4        R6                  " S5      U l        / U l        g )Nr   storestore_const
store_truestore_falser'   append_constr  r   r  parsersr   z^-\d+$|^-\d*\.\d+$)r  r0  rf   descriptionargument_defaultprefix_charsconflict_handler_registriesregisterr  r  r  r  r  r  r  r  r  r  r  _get_handler_actions_option_string_actions_action_groups_mutually_exclusive_groups	_defaultsr]   r^   _negative_number_matcher_has_negative_number_optionals)r,   r8  r:  r9  r;  r  s        r3   rf   _ActionsContainer.__init__K  sT   
 	/1& 0( 0  	hl3h6h/@Ah.>?h/@Ah-8h0BCh6h4h	>:h	+<=h-8 	 &(# !*,'  ),4I(J% /1+r6   c                 D    U R                   R                  U0 5      nX4U'   g r8   )r<  
setdefault)r,   registry_namer2   rE  registrys        r3   r=  _ActionsContainer.register  s!    ##..}bA r6   c                 >    U R                   U   R                  X#5      $ r8   )r<  r(  )r,   rI  r2   r   s       r3   _registry_get_ActionsContainer._registry_get  s    .225BBr6   c                     U R                   R                  U5        U R                   H(  nUR                  U;   d  M  XR                     Ul        M*     g r8   )rC  r   r?  r?  r   )r,   r  r   s      r3   set_defaults_ActionsContainer.set_defaults  s>    f% mmF{{f$!'!4 $r6   c                     U R                    H0  nUR                  U:X  d  M  UR                  c  M$  UR                  s  $    U R                  R	                  US 5      $ r8   )r?  r?  r   rC  r(  )r,   r?  r   s      r3   get_default_ActionsContainer.get_default  sH    mmF{{d"v~~'A~~% $ ~~!!$--r6   c                 P   U R                   nU(       a  [        U5      S:X  a7  US   S   U;  a+  U(       a  SU;   a  [        S5      eU R                  " U0 UD6nOU R                  " U0 UD6nSU;  aC  US   nX@R
                  ;   a  U R
                  U   US'   OU R                  b  U R                  US'   U R                  U5      n[        U5      (       d  [        SU< S35      eU" S0 UD6nU R                  SUR                  UR                  5      n[        U5      (       d  [        U< S	35      eU[        L a  [        U< S
35      e[        U S5      (       a!   U R                  5       R                  US 5        U R!                  U5      $ ! [         a    [        S5      ef = f)Nrj   r   r?  z+dest supplied twice for positional argumentr   zunknown action ""r$   z is not callablez: is a FileType class object, instance of it must be passedr  z,length of metavar tuple does not match nargsr?   )r:  r   r   _get_positional_kwargs_get_optional_kwargsrC  r9  _pop_action_classcallablerM  r$   r   r'  r  r   r!  _add_action)r,   r   r  charsr?  action_classr   	type_funcs           r3   r   _ActionsContainer.add_argument  s    !!s4yA~$q'!*E*A&( !NOO00$A&AF ..??F F"&>D~~%$(NN4$8y!&&2$($9$9y! --f5%%lDEE'' &&vv{{FKKH		""Y@AA 2;> ? ? 4)**Q##%2264@ ''  Q !OPPQs    F F%c                 Z    [        U /UQ70 UD6nU R                  R                  U5        U$ r8   )_ArgumentGrouprA  r'   )r,   r   r  r   s       r3   add_argument_group$_ActionsContainer.add_argument_group  s/    t5d5f5""5)r6   c                 T    [        U 40 UD6nU R                  R                  U5        U$ r8   )_MutuallyExclusiveGrouprB  r'   )r,   r  r   s      r3   add_mutually_exclusive_group._ActionsContainer.add_mutually_exclusive_group  s*    '77''..u5r6   c                 r   U R                  U5        U R                  R                  U5        Xl        UR                   H  nXR
                  U'   M     UR                   HS  nU R                  R                  U5      (       d  M%  U R                  (       a  M8  U R                  R                  S5        MU     U$ )NT)	_check_conflictr?  r'   	containerr   r@  rD  matchrE  )r,   r   r   s      r3   r[  _ActionsContainer._add_action  s    V$ 	V$ $22M9?''6 3 $22M,,22=AA:::77>>tD 3 r6   c                 :    U R                   R                  U5        g r8   )r?  r  r;  s     r3   _remove_action _ActionsContainer._remove_action  s    V$r6   c                    0 nU R                    HC  nUR                  U;   a"  [        S5      n[        XCR                  -  5      eX2UR                  '   ME     0 nUR                    Hq  nUR                  U;  a;  U R	                  UR                  UR
                  UR                  S9X#R                  '   UR                   H  nX#R                     XV'   M     Ms     UR                   H]  nUR                  UL a  U nOX#R                  R                     nUR                  UR                  S9nUR                   H  nXU'   M	     M_     UR                   H#  nUR                  X`5      R                  U5        M%     g )Nz.cannot merge actions - two groups are named %r)titler8  r;  )r   )rA  rq  r~   r   rb  r8  r;  r   rB  
_containerrf  r   r?  r(  r[  )	r,   rj  title_group_mapr   r  	group_mapr   contmutex_groups	            r3   _add_container_actions(_ActionsContainer._add_container_actions  sb   ((E{{o- HI !455+0EKK( ) 	--E {{/1/3/F/F++ % 1 1%*%;%; 0G 0=,  ..$3KK$@	! / ." 99E9,&'7'7'='=>;; < )K  ..$/&! / :  ((FMM&'33F; )r6   c                     SU;   a  [        S5      n[        U5      eUR                  S5      nU[        [        [
        [        S4;  a  SUS'   [        X!/ S9$ )Nr   z1'required' is an invalid argument for positionalsr   r   Tr?  r   )r~   r!  r(  r   r   r   r   r   )r,   r?  r  r  r   s        r3   rW  (_ActionsContainer._get_positional_kwargs#  s[    GHCC.  

7#<HaHH!%F: Fb99r6   c                    / n/ nU H  nUS   U R                   ;  a'  UU R                   S.n[        S5      n[        Xa-  5      eUR                  U5        [	        U5      S:  d  M_  US   U R                   ;   d  Mt  UR                  U5        M     UR                  SS 5      nUc_  U(       a  US   nOUS   nUR                  U R                   5      nU(       d  [        S5      n[        UW-  5      eUR                  SS5      n[        X'US	9$ )
Nr   )optionr:  zNinvalid option string %(option)r: must start with a character %(prefix_chars)rrj   r?  z%dest= is required for options like %rr  r~   rz  )	r:  r~   r   r'   r   r  lstripreplacer   )	r,   r   r  r   long_option_stringsr   r  r?  dest_option_strings	            r3   rX  &_ActionsContainer._get_optional_kwargs2  s    !M #t'8'88"/(,(9(9; G H ,, !!-0=!A%-*:d>O>O*O#**=9 " zz&$'<"%8%;"%3A%6"%,,T->->?D?@ }!455<<S)D FnEEr6   c                 J    UR                  SU5      nU R                  SX35      $ )Nr   )r  rM  )r,   r  r   r   s       r3   rY  #_ActionsContainer._pop_action_classT  s%    Hg.!!(F;;r6   c                     SU R                   -  n [        X5      $ ! [         a#    [        S5      n[	        X R                   -  5      ef = f)Nz_handle_conflict_%sz%invalid conflict_resolution value: %r)r;  rp  r.  r~   r   )r,   handler_func_namer  s      r3   r>  _ActionsContainer._get_handlerX  sQ    1D4I4II	:433 	:;<CS#8#8899	:s	   
 -A	c                     / nUR                    H5  nX0R                  ;   d  M  U R                  U   nUR                  X445        M7     U(       a  U R                  5       nU" X5        g g r8   )r   r@  r'   r>  )r,   r   confl_optionalsr   confl_optionalr;  s         r3   ri  !_ActionsContainer._check_conflicta  sg     #22M ; ;;!%!<!<]!K&&'FG 3 #002V5 r6   c                     [        SS[        U5      5      nSR                  U VVs/ s H  u  pAUPM	     snn5      n[        WX5-  5      es  snnf )Nzconflicting option string: %szconflicting option strings: %sr"   )r   r   r+   r   )r,   r   conflicting_actionsrb  r   conflict_strings         r3   _handle_conflict_error(_ActionsContainer._handle_conflict_erroro  sb    :;235 ))(;%=(; *? &3(;%= > FG$=>>%=s   A
c                     U Hj  u  p1UR                   R                  U5        U R                  R                  US 5        UR                   (       a  MO  UR                  R                  U5        Ml     g r8   )r   r  r@  r  rj  rn  )r,   r   r  r   s       r3   _handle_conflict_resolve*_ActionsContainer._handle_conflict_resolvex  s_     &9!M !!((7''++M4@ (((  //7 &9r6   )rA  r?  rC  rE  rB  rD  r@  r<  r9  r;  r8  r:  r8   )r%   rA   rB   rC   rf   r=  rM  rP  rS  r   rb  rf  r[  rn  rw  rW  rX  rY  r>  ri  r  r  rD   r  r  s   @r3   r0  r0  I  sh    01l!C5.1(f

*%,<\: FD<:6?8 8r6   r0  c                   P   ^  \ rS rSrSU 4S jjrU 4S jrU 4S jrU 4S jrSrU =r	$ )ra  i  c                   > UR                   nU" SUR                  5        U" SUR                  5        U" SUR                  5        [        [
        U ]  nU" SSU0UD6  X l        / U l        UR                  U l	        UR                  U l
        UR                  U l        UR                  U l        UR                  U l        UR                  U l        g )Nr;  r:  r9  r8  r?   )rH  r;  r:  r9  r  ra  rf   rq  r   r<  r?  r@  rC  rE  rB  )r,   rj  rq  r8  r  r   
super_initr  s          r3   rf   _ArgumentGroup.__init__  s    ""!9#=#=>~y556!9#=#=>>49
5{5f5 
  %00!**&/&F&F#",,44 	+*3*N*N'r6   c                 d   > [         [        U ]  U5      nU R                  R	                  U5        U$ r8   )r  ra  r[  r   r'   r,   r   r  s     r3   r[  _ArgumentGroup._add_action  s-    ~t8@""6*r6   c                 b   > [         [        U ]  U5        U R                  R	                  U5        g r8   )r  ra  rn  r   r  r  s     r3   rn  _ArgumentGroup._remove_action  s&    nd26:""6*r6   c                 V   > SS K nUR                  S[        SS9  [        TU ]  " U0 UD6$ )Nr   z&Nesting argument groups is deprecated.rL   category
stacklevel)r  warnDeprecationWarningr  rb  r,   r   r  r  r  s       r3   rb  !_ArgumentGroup.add_argument_group  s7    4' 	 	

 w)4:6::r6   )r?  rC  r   rE  rB  r@  r<  rq  NN)
r%   rA   rB   rC   rf   r[  rn  rb  rD   r  r  s   @r3   ra  ra    s    O,
+; ;r6   ra  c                   D   ^  \ rS rSrSU 4S jjrS rS rU 4S jrSrU =r	$ )re  i  c                 D   > [         [        U ]  U5        X l        Xl        g r8   )r  re  rf   r   rr  )r,   rj  r   r  s      r3   rf    _MutuallyExclusiveGroup.__init__  s    %t5i@ #r6   c                     UR                   (       a  [        S5      n[        U5      eU R                  R	                  U5      nU R
                  R                  U5        U$ )Nz-mutually exclusive arguments must be optional)r   r~   r   rr  r[  r   r'   )r,   r   r  s      r3   r[  #_MutuallyExclusiveGroup._add_action  sK    ??CDCS/!,,V4""6*r6   c                 p    U R                   R                  U5        U R                  R                  U5        g r8   )rr  rn  r   r  r;  s     r3   rn  &_MutuallyExclusiveGroup._remove_action  s(    &&v.""6*r6   c                 V   > SS K nUR                  S[        SS9  [        TU ]  " U0 UD6$ )Nr   z0Nesting mutually exclusive groups is deprecated.rL   r  )r  r  r  r  rf  r  s       r3   rf  4_MutuallyExclusiveGroup.add_mutually_exclusive_group  s7    >' 	 	

 w3TDVDDr6   )rr  r   )F)
r%   rA   rB   rC   rf   r[  rn  rf  rD   r  r  s   @r3   re  re    s    $
+E Er6   re  c                     ^  \ rS rSrSSSS/ \SSSSSSS4U 4S jjrS rS rS	 rS
 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&S jrS&S jrS rS rS rS rS rS rS'S jrS'S  jrS'S! jr S(S" jr!S# r"S$ r#S%r$U =r%$ ))r   i  Nr  r  Tc           	        > [         [        U ]
  nU" UUU	U
S9  Uc0  [        R                  R                  [        R                  S   5      nXl        X l	        X@l
        X`l        Xl        Xl        Xl        Xl        U R                   nU" [#        S5      5      U l        U" [#        S5      5      U l        S U l        S nU R+                  SS U5        SU;   a  SOUS   nU R                  (       a)  U R-                  US-   US	-  S
-   S
[.        [#        S5      S9  U H[  n[1        U[        5      (       d  [3        S5      eU R5                  U5        UR6                  nU R6                  R9                  U5        M]     g )N)r8  r:  r9  r;  r   zpositional argumentsoptionsc                     U $ r8   r?   )r  s    r3   identity)ArgumentParser.__init__.<locals>.identity  s    Mr6   r$   r  hrL   r   zshow this help message and exit)r   r   r   z(parents must be a list of ArgumentParser)r  r   rf   _ospathbasenamer  argvrb   r   epilogformatter_classfromfile_prefix_charsadd_helpallow_abbrevexit_on_errorrb  r~   _positionals
_optionals_subparsersr=  r   r   r  r!  rw  rC  r   )r,   rb   r   r8  r  parentsr  r:  r  r9  r;  r  r  r  	superinit	add_groupr  default_prefixrv   defaultsr  s                       r3   rf   ArgumentParser.__init__  s^    .$8	k+#3#3	5 <88$$TYYq\2D	
.%:" (*++	%a(>&?@#AiL1	fdH- !$| 3a==s"N1$4V$;x89  ; Ffn55 JKK''/''HNN!!(+ r6   c                 N    / SQnU Vs/ s H  o"[        X5      4PM     sn$ s  snf )N)rb   r   r8  r  r;  r  ro  rq  s      r3   r)   ArgumentParser._get_kwargs&  s+    
 9>>wt*+>>>rt  c                    U R                   b  [        S [        S5      5      eUR                  S[	        U 5      5        SU;   d  SU;   aD  UR                  S[        S5      5      nUR                  SS 5      nU R                  X#5      U l         OU R                  U l         UR                  S5      cj  U R                  5       nU R                  5       nU R                  nUR                  U R                  XVS5        UR                  5       R                  5       US'   U R!                  US5      nU" S
S	/ 0UD6nU R                   R#                  U5        U$ )Nz(cannot have multiple subparser argumentsr  rq  r8  subcommandsrb   rz   r7  r   r?   )r  r   r~   rH  r$   r  rb  r  r(  r  _get_positional_actionsrB  r   r   r   r   rY  r[  )	r,   r  rq  r8  ru   r   r   parsers_classr   s	            r3   add_subparsersArgumentParser.add_subparsers5  s6   'a(R&STT 	.$t*5f 7JJw-(89E **]D9K#66uJD#00D ::f%++-I668K44F

KD&224::<F6N ..vyA;b;F;$$V, r6   c                     UR                   (       a  U R                  R                  U5        U$ U R                  R                  U5        U$ r8   )r   r  r[  r  r;  s     r3   r[  ArgumentParser._add_actionT  s?      OO''/  ))&1r6   c                 l    U R                    Vs/ s H  nUR                  (       d  M  UPM     sn$ s  snf r8   r?  r   r;  s     r3   _get_optional_actions$ArgumentParser._get_optional_actions[  s4    "mm*+F(( +* 	* *   11c                 l    U R                    Vs/ s H  nUR                  (       a  M  UPM     sn$ s  snf r8   r  r;  s     r3   r  &ArgumentParser._get_positional_actions`  s4    "mm.+F,, +. 	. .r  c                     U R                  X5      u  pU(       aM  [        S5      SR                  U5      -  nU R                  (       a  U R	                  U5        U$ [        S U5      eU$ Nzunrecognized arguments: %sr   )r  r~   r+   r  r  r   r,   r   r{  r  r  s        r3   
parse_argsArgumentParser.parse_argsi  s^    **4;
01CHHTNBC!!

3  $D#..r6   c                 "    U R                  XSS9$ )NF
intermixed)_parse_known_args2)r,   r   r{  s      r3   r  ArgumentParser.parse_known_argss  s    &&t5&IIr6   c                 4   Uc  [         R                  SS  nO[        U5      nUc
  [        5       nU R                   Hi  nUR
                  [        Ld  M  [        X$R
                  5      (       a  M4  UR                  [        Ld  MI  [        X$R
                  UR                  5        Mk     U R                   H.  n[        X%5      (       a  M  [        X%U R                  U   5        M0     U R                  (       a   U R                  XU5      u  p!OU R                  XU5      u  p![        U[         5      (       a/  UR#                  [%        U[         5      5        ['        U[         5        X!4$ ! [         a$  nU R                  [        U5      5         S nANpS nAff = fri   )r  r  r9   r   r?  r?  r   r'  r   r  rC  r  _parse_known_argsr   r  r  r  r   rp  delattr)r,   r   r{  r  r   r?  errs          r3   r  !ArgumentParser._parse_known_args2v  s=   <99QR=D :D !I mmF{{(*y++66~~X5	;;G	 $ NND9++	)=> #
 %"&"8"8*"U	4 #44TjQOI9566KK	+BCDI67 ! %

3s8$$%s   9E) )
F3FFc           	      	  ^ ^^^^^^ ^!^"^#^$^%^& T R                   b  T R                  T5      m0 mT R                   Hi  nUR                  n[	        UR                  5       HA  u  pgTR                  U/ 5      nUR                  US U 5        UR                  XVS-   S  5        MC     Mk     0 m!/ n	[        T5      n
[	        U
5       Hg  u  pkUS:X  a-  U	R                  S5        U
 H  nU	R                  S5        M     M8  T R                  U5      nUc  SnOUT!U'   SnU	R                  U5        Mi     SR                  U	5      m[        5       m#[        5       m$[        5       m&SUUU#U$U 4S jjm%UUUU U!U U%U&4S jnT R                  5       m"UUU"U U%U&4S	 jn/ m/ m S
nT!(       a  [        T!5      nOSnUU::  a  UnUU::  a  UT!;   a  OUS-  nUU::  a  M  U(       d  UU:w  a  U" U5      nUU:  a  UnMA  UnUT!;  a,  TUU nTR                  U5        T R                  TUU 5        UnU" U5      nUU::  a  M  U(       d  U" U5      nTR                  TUS  5        OTR                  TUS  5        T R                  TUS  5        SR                  T 5      m [        TT 5       VVs/ s H  u  nnUS:w  d  M  UPM     snnmT R                  SS5      mU" S
5      n[	        T 5       H!  u  nnU(       d    OUS:w  d  M  US-  nS TU'   M#     T Vs/ s H
  nUc  M  UPM     snm/ nT R                    H  nUT#;  d  M  UR"                  (       a  UR                  [%        U5      5        M8  UR&                  c  MG  [)        UR&                  [*        5      (       d  Mh  [-        TUR.                  5      (       d  M  UR&                  [1        TUR.                  5      L d  M  [3        TUR.                  T R5                  UUR&                  5      5        M     U(       a'  [7        S [9        S5      SR                  U5      -  5      eT R                   H  nUR"                  (       d  M  UR                   H  nUT$;   d  M    M0     UR                   Vs/ s H#  nUR:                  [<        Ld  M  [%        U5      PM%     nn[9        S5      n[7        S USR                  U5      -  5      e   TT4$ s  snnf s  snf s  snf )Nrj   r  r  AOrz   c                 J  > T	R                  U 5        TR                  X5      nU R                  (       d  U(       aT  T
R                  U 5        TR                  U / 5       H-  nUT
;   d  M  [	        S5      n[        U5      n[        XU-  5      e   U[        La  U " TTX25        g g )Nznot allowed with argument %s)r   _get_valuesr   r(  r~   r^  r   r   )r   argument_stringsr   argument_valuesconflict_actionr  action_nameaction_conflictsr{  seen_actionsseen_non_default_actionsr,   s          r3   take_action5ArgumentParser._parse_known_args.<locals>.take_action  s    V$"..vHO $$(8(,,V4'7';';FB'GO&*BB >?&6&G+F+4EFF	 (H h.tYG /r6   c                   > TU    n[        U5      S:  aL  SR                  U VVVVs/ s H  u  p#pEUPM
     snnnn5      nTU    US.n[        S5      n[        S X-  5      eUS   u  p#pETR                  n	/ n
 Uc*  TR                  TU    5        TR                  S5        U S-   $ UGb  U	" US5      nTR                  nUS:X  a  US   U;  a  US:w  a  U(       d	  US   U;   a  [        S	5      n[        X(U-  5      eU
R                  U/ U45        US   nXS   -   nTR                  nX>;   a(  X   nUSS  nU(       d  S =pEOUS   S
:X  a  S
nUSS  nOSnOTR                  X-   5        TR                  S5        U S-   nOoUS:X  a  U S-   nU/nU
R                  X'U45        OM[        S	5      n[        X(U-  5      eU S-   nTUS  nU	" UU5      nUU-   nTUU nU
R                  X'U45        OGMv  U
 HV  u  p'nUR                  (       a6  UT;  a0  TR                  [        S5      SU0-  5        TR                  U5        T" X'U5        MX     U$ s  snnnnf )Nrj   r"   )r}  matchesz4ambiguous option: %(option)s could match %(matches)sr   r  r  rz   zignored explicit argument %rr    z!option '%(option)s' is deprecatedr}  )r   r+   r~   r   _match_argumentr'   r:  r@  rl  r  r   )start_indexoption_tuplesr   r   sepexplicit_argr  r   r  match_argumentaction_tuples	arg_countr\  charoptionals_mapstopr   selected_patternsr.   arg_strings_patternextrasextras_patternoption_string_indicesr,   r  warneds                     r3   consume_optional:ArgumentParser._parse_known_args.<locals>.consume_optional  s    2+>M=!A%))DQ%SDQ@s &3DQ%S T"-k":wONO#D#*557DQ7G4F3 "11NM >MM+k":;"))#.&?*  + .vs ;I
 !--E!Q)!,E9(B.,q/U":"#$B"CC"/l8J"KK%,,fb--HI,Q/(,A(>(,(C(C(9%2%AF+7+;L#/59 9l!-aC!7&)/;AB/?&("MM$*=>*11#6#.?D! #a*Q ,~%,,fM-JK
   >?+F,4FGG (!OE(;EF(C% .v7H II 9,D&uT2D!((&)FGI R 0=+m$$f)DMM!$G"H#+]";#< =JJ}-F-8 0= Kw%Ss   Ic                 `  > T
R                   nTU S  nU" T	U5      n[        T	U5       H  u  pETX U-    nUR                  [        :X  a  TU    S:X  a  UR	                  S5        O>UR                  [
        :w  a*  TR                  SU X-   5      S:  a  UR	                  S5        X-  n U(       ae  UR                  (       aT  UR                  T;  aD  T
R                  [        S5      SUR                  0-  5        TR                  UR                  5        T" XF5        M     T	[        U5      S  T	S S & U $ )Nr  r  r   z*argument '%(argument_name)s' is deprecatedra  )_match_arguments_partialzipr   r   r  r   findrl  r?  r  r~   r   r   )r  match_partialselected_pattern
arg_countsr   r   r   r.   r  r   r,   r  r	  s          r3   consume_positionals=ArgumentParser._parse_known_args.<locals>.consume_positionalsH  s(    99M2;<@&{4DEJ &)j%A!";i0GH<<6)*;73>D)\\Y.+00k1<1HJMNOD)(F--&++V2KMM!$P"Q#2FKK"@#A BJJv{{+F)! &B( )Z)9:KNr6   r   r   z(the following arguments are required: %sr"   z#one of the arguments %s is requiredr   r8   )r  _read_args_from_filesrB  r   r   rH  r   iterr'   _parse_optionalr+   r   r  rT   r  r  r?  r   r^  r   r  r  r'  r?  rp  r  
_get_valuer   r~   r   r   )'r,   r.   r{  r  rv  r   r   mutex_action	conflictsarg_string_pattern_partsarg_strings_iter
arg_stringr  patternr
  r  r  max_option_string_indexnext_option_string_indexpositionals_end_indexstrings
stop_indexr   r  required_actionsr   r   rr  r  r  r  r  r  r  r   r  r  r  r	  s'   ```                          @@@@@@@@@@r3   r   ArgumentParser._parse_known_args  s   %%144[AK ::K'66M#,[-G-G#H,77bI	  r!23  1uv!67 $I ; !##% ,&'78MA T!(//4"2J,33C8 #3 !% 4 4Z @ (!G/<)!,!G(//8# 9( !gg&>? u#&5 	H 	H(a	 a	J 224	 	B  &)*?&@#&(#44 (3$*.EE+/DD(A-( +.EE +1I"I(;K(H% );6"7K"7K "77%k2JKg&%%&9+F^&_`6 +;7K9 44< ,[9J MM+jk23MM+kl34!!"5kl"CDWW^4N *-V^)DQ)DAS1)DQK"0"8"8b"A,Q/J!.11!8!OJ $F1I 2 "(9A1a9F mmF\)??$++,<V,DE 2"6>>377	6;;77')V[[*II	6;; $ GI $  a(R&Syy!12'3 4 4 44E~~~#22F!99 3 ,1+?+?=+? &8 ; 6-f5+?  = ABC'cCHHUO.CDD 5 &  g R :D=s$   S,SS S ?S%S%c                 H   / nU H  nU(       a  US   U R                   ;  a  UR                  U5        M0   [        USS  [        R                  " 5       [        R
                  " 5       S9 n/ nUR                  5       R                  5        H,  nU R                  U5       H  nUR                  U5        M     M.     U R                  U5      nUR                  U5        S S S 5        M     U$ ! , (       d  f       M  = f! [         a  n[        S [        U5      5      eS nAff = f)Nr   rj   )r  r  )r  r'   r   r  getfilesystemencodinggetfilesystemencodeerrorsreadrK  convert_arg_line_to_argsr  r   r  r   r  )r,   r.   new_arg_stringsr  	args_filearg_liner0   r  s           r3   r  $ArgumentParser._read_args_from_files  s   %J Ad6P6P!P&&z28jn'+'A'A'C%)%C%C%EGJS&((1(8(C(C(EH'+'D'DX'N + 2 23 7 (O )F '+&@&@&M'..{;G G &, G G  8'c#h778s6   4C=*A3C+C=+
C:	5C=:C==
D!DD!c                     U/$ r8   r?   )r,   r-  s     r3   r*  'ArgumentParser.convert_arg_line_to_args  s
    zr6   c                 z   U R                  U5      n[        R                  " X25      nUcx  S [        S5      [        [        S5      [
        [        S5      0nUR                  UR                  5      nUc$  [        SSUR                  5      UR                  -  n[        X5      e[        UR                  S5      5      $ )Nzexpected one argumentzexpected at most one argumentzexpected at least one argumentzexpected %s argumentzexpected %s argumentsrj   )_get_nargs_patternr]   rk  r~   r   r   r(  r   r   r   r   r   )r,   r   r  nargs_patternrk  nargs_errorsr  s          r3   r  ArgumentParser._match_argument  s    //7		-= =a/0!;<Q?@L
 ""6<<0C{56%||-/5||<  ,, 5;;q>""r6   c           	          [        [        U5      SS5       H  nUS U nSR                  U Vs/ s H  nU R                  U5      PM     sn5      n[        R
                  " Xb5      nUc  MT  UR                  5        Vs/ s H  n[        U5      PM     n	nUR                  5       [        U5      :  a=  X'R                  5          S:X  a'  U	(       a   U	S   (       d  U	S	 U	(       a  U	S   (       d  M  U	s  $    / $ s  snf s  snf )Nr   r   rz   r  )r   r   r+   r2  r]   rk  r   r   )
r,   r   r  r   actions_slicer   r  rk  r  r  s
             r3   r  'ArgumentParser._match_arguments_partial	  s     s7|Q+A#BQKMgg-:<-:6  $66v>-:< =GIIg;E 49LLNCN&#f+NCIIK#&9"::+IIK8C? "2J ! , 	< Ds   C6
=C;c                    U(       d  g US   U R                   ;  a  g XR                  ;   a  U R                  U   nX!S S 4/$ [        U5      S:X  a  g UR                  S5      u  p4nU(       a#  X0R                  ;   a  U R                  U   nX#XE4/$ U R	                  U5      nU(       a  U$ U R
                  R                  U5      (       a  U R                  (       d  g SU;   a  g S US S 4/$ )Nr   rj   r    r   )r:  r@  r   	partition_get_option_tuplesrD  rk  rE  )r,   r  r   r   r  r  r  s          r3   r  ArgumentParser._parse_optional	  s    !} 1 11 44400<Ft455 z?a ,6+?+?+D(L=$?$??00?FC>?? //
;  
 ((..z::66 * z4.//r6   c                    / nU R                   nUS   U;   a  US   U;   a  U R                  (       am  UR                  S5      u  pEnU(       d  S =pVU R                   H?  nUR	                  U5      (       d  M  U R                  U   nXqXV4nUR                  U5        MA     U$ US   U;   a  US   U;  a  UR                  S5      u  pEnU(       d  S =pVUS S n	USS  n
U R                   H~  nX:X  a'  U R                  U   nXqSU
4nUR                  U5        M/  U R                  (       d  MB  UR	                  U5      (       d  MZ  U R                  U   nXqXV4nUR                  U5        M     U$ [        S [        S5      U-  5      e)Nr   rj   r    rL   rz   zunexpected option string: %s)r:  r  r:  r@  r  r'   r   r~   )r,   r   r  r\  option_prefixr  r  r   r	  short_option_prefixshort_explicit_args              r3   r;  !ArgumentParser._get_option_tuplesB	  s    !!u$q)9U)B  3@3J3J33O0L)--C%)%@%@M$//>>!%!<!<]!K$SFc*	 &A> - 1&=+;5+H/</F/Fs/K,M%))"/"3!.qr!2!%!<!< 7!88GF 5GGCMM#&&&&=+C+CM+R+R!88GF BCMM#& "=   a(F&G-&WXXr6   c                    UR                   nUR                  nUc  U(       a  SnU$ SnU$ U[        :X  a  U(       a  SnU$ SnU$ U[        :X  a  U(       a  SnU$ SnU$ U[        :X  a  U(       a  SnU$ SnU$ U[
        :X  a  U(       a  S	nU$ S
nU$ U[        :X  a  U(       a  SnU$ SnU$ U[        :X  a  U(       a  SnU$ SnU$ U(       a  SU-  OSU-  nU$ )Nz([A])z(-*A-*)z(A?)z(-*A?-*)z(A*)z	(-*[A-]*)z(A+)z
(-*A[A-]*)z([AO]*)z(.*)z(A[AO]*)z(-*A[-AO]*)r   z(-*)z
([AO]{%d})z((?:-*A){%d}-*))r   r   r   r   r   r   r   r   )r,   r   r   r}  r3  s        r3   r2  !ArgumentParser._get_nargs_patternn	  sL    && ='-GM> ? 4=M> 9 h&,FM6 7 3=M6 1 l"&,FM. / 3>M. ) k!&,FM& ' 3?M& ! i)/IM  6<M  f_*0JM  7DM  h$*DM  17M  5;L50@QTY@YM r6   c                     U R                  X5      u  pU(       aM  [        S5      SR                  U5      -  nU R                  (       a  U R	                  U5        U$ [        S U5      eU$ r  )parse_known_intermixed_argsr~   r+   r  r  r   r  s        r3   parse_intermixed_args$ArgumentParser.parse_intermixed_args	  s^    55dF
01CHHTNBC!!

3  $D#..r6   c                     U R                  5       nU Vs/ s H!  nUR                  [        [        4;   d  M  UPM#     nnU(       a  [	        SUS   R                  -  5      eU R                  XSS9$ s  snf )Nz3parse_intermixed_args: positional arg with nargs=%sr   Tr  )r  r   r   r   r!  r  )r,   r   r{  r   r   as         r3   rE  *ArgumentParser.parse_known_intermixed_args	  s     224"- 5+ 33 + 5 --.qTZZ8 9 9 &&t4&HH5s
   A1A1c                 2   U(       d  UR                   [        :X  al  UR                  (       a  UR                  nOUR                  n[        U[        5      (       a+  U[        La"  U R                  X5      nU R                  X5        U$ U(       dV  UR                   [        :X  aB  UR                  (       d1  UR                  b  UR                  nU R                  X5        U$ Un U$ [        U5      S:X  a>  UR                   S [        4;   a(  Uu  nU R                  X5      nU R                  X5        U$ UR                   [        :X  a"  U Vs/ s H  oPR                  X5      PM     nnU$ UR                   [        :X  a6  U Vs/ s H  oPR                  X5      PM     nnU R                  XS   5        U$ UR                   [        :X  a  [        nU$ U Vs/ s H  oPR                  X5      PM     nnU H  nU R                  X5        M     U$ s  snf s  snf s  snf )Nrj   r   )r   r   r   rk  r   r  r  r   r  _check_valuer   r   r   r   )r,   r   r.   r2   r  vs         r3   r  ArgumentParser._get_values	  s   v||x7$$%%%%x*?6!!&0P I &,,,">''~~)!!&0@ 9 $8 3 "v||h7G'G%KJOOF7Ef,, ' \\Y&9DEA__V/EE$  \\V#9DEA__V/EEfAh/  \\X%E  :EEA__V/EE!!&,  % F F Fs   
H
 HHc                    U R                  SUR                  UR                  5      n[        U5      (       d  [        S5      n[	        XU-  5      e U" U5      nU$ ! [
         a  n[        U5      n[	        X5      eS nAf[        [        4 aH    [        UR                  S[        UR                  5      5      nXrS.n[        S5      n[	        XU-  5      ef = f)Nr$   z%r is not callabler%   )r$   r2   z!invalid %(type)s value: %(value)r)rM  r$   rZ  r~   r   r   r  r!  r   rp  r(   )	r,   r   r  r^  r  r  r  r1   r   s	            r3   r  ArgumentParser._get_value	  s    &&vv{{FKKH		""()Ci88	4z*F  ! 	-c(C,, :& 	46;;
D4EFD 6D78Cd
33		4s   A 
C&A<<ACc                 
   UR                   nUbt  [        U[        5      (       a  [        U5      nX#;  aN  [        U5      SR	                  [        [        UR                   5      5      S.n[        S5      n[        XU-  5      eg g )Nr"   )r2   r  z3invalid choice: %(value)r (choose from %(choices)s))r  r  r  r  r+   r  r~   r   )r,   r   r2   r  r   r  s         r3   rL  ArgumentParser._check_value
  sw    ..'3''w-#!$U#'99Sfnn-E#FHMN#F$J77	 $ r6   c                     U R                  5       nUR                  U R                  U R                  U R                  5        UR                  5       $ r8   )r  r   r   r?  rB  r   )r,   ru   s     r3   r   ArgumentParser.format_usage
  sB    '')	DJJ ;;	=$$&&r6   c                    U R                  5       nUR                  U R                  U R                  U R                  5        UR                  U R                  5        U R                   Hd  nUR                  UR                  5        UR                  UR                  5        UR                  UR                  5        UR                  5         Mf     UR                  U R                  5        UR                  5       $ r8   )r  r   r   r?  rB  r   r8  rA  r   rq  r   r   r   r  r   )r,   ru   action_groups      r3   r   ArgumentParser.format_help
  s    '')	 	DJJ ;;	= 	4++, !//L##L$6$67|778##L$?$?@!!#	 0 	4;;' $$&&r6   c                 4    U R                  U R                  S9$ )Nr   )r  rb   r<   s    r3   r  ArgumentParser._get_formatter5
  s    ###33r6   c                 j    Uc  [         R                  nU R                  U R                  5       U5        g r8   )r  r  r  r   r,   files     r3   print_usageArgumentParser.print_usage<
  s)    <;;DD--/6r6   c                 j    Uc  [         R                  nU R                  U R                  5       U5        g r8   )r  r  r  r   r[  s     r3   r  ArgumentParser.print_helpA
  s)    <;;DD,,.5r6   c                     U(       a,  U=(       d    [         R                  n UR                  U5        g g ! [        [        4 a     g f = fr8   )r  stderrwriter.  r  )r,   rb  r\  s      r3   r  ArgumentParser._print_messageF
  sB    &4;;D

7#  #G, s   5 AAc                 ~    U(       a   U R                  U[        R                  5        [        R                  " U5        g r8   )r  r  rb  r  )r,   statusrb  s      r3   r  ArgumentParser.exitR
  s%    5		&r6   c                     U R                  [        R                  5        U R                  US.nU R	                  S[        S5      U-  5        g )Nrb   rb  rL   z%(prog)s: error: %(message)s
)r]  r  rb  rb   r  r~   r,   rb  r   s      r3   r  ArgumentParser.errorW
  s=     	%		g6		!Q784?@r6   c                 z    U R                   US.nU R                  [        S5      U-  [        R                  5        g )Nri  z%(prog)s: warning: %(message)s
)rb   r  r~   r  rb  rj  s      r3   r  ArgumentParser._warningd
  s/    		g6A@ADH$++Vr6   )r  r  r  r  r  r  r  r  r  rb   r   r  r8   )r   N)&r%   rA   rB   rC   r   rf   r)   r  r[  r  r  r  r  r  r  r  r*  r  r  r  r;  r2  rF  rE  r  r  rL  r   r   r  r]  r  r  r  r  r  rD   r  r  s   @r3   r   r     s    . !!.!'+"&")"#;,B	?>*
.J$Lq!f	6#,",0\*X(\I,1f2
8 ''.47
6

AW Wr6   r   )2__version____all__osr  rer]   sysr  r   r~   r   r   r   r   r   r   r   r  rE  r   rH   r   r	   r
   r   r   r^  	Exceptionr   r   r   r  r   r  r  r  r  r  r  r  r  r  r  r  r   r   r0  ra  re  r   r?   r6   r3   <module>rt     s  B ,    *		. v >	"`F `FQ- Q!6 !M *$} $&.?I ?(		 	_@ _@F h 9/F 9/x".6 ".J2 22( &#) #&%-F %-P- -:16 12& *V :lL lL\-M -1:v 1:n$  $({8 {8|	(;& (;VEn E:WW%'8 WWr6   