+
    PjM                        R t ^ RIt^ RItR.tRt ! R R]4      t ! R R]4      t ! R R	]	4      t
 ! R
 R]
4      t ! R R]
4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR  tR! tR" tR# tR$ tR% tR.R& ltR' tR( tR) t R* t! ! R+ R,]"4      t#R/R- lt$R# )0a  Pythonic command-line interface parser that will make you smile.

* http://docopt.org
* Repository and issue-tracker: https://github.com/docopt/docopt
* Licensed under terms of MIT license (see LICENSE-MIT)
* Copyright (c) 2013 Vladimir Keleshev, vladimir@keleshev.com

Ndocoptz0.6.2c                       ] tR t^tRtRtR# )DocoptLanguageErrorz4Error in construction of usage-message by developer. N__name__
__module____qualname____firstlineno____doc____static_attributes__r       ;/var/www/idalgo/venv/lib/python3.14/site-packages/docopt.pyr   r      s    >r   r   c                   2   a  ] tR t^t o RtRtRR ltRtV tR# )
DocoptExitz;Exit in case user invoked program with incorrect arguments. c                |    \         P                  WR ,           V P                  ,           P                  4       4       R# )
N)
SystemExit__init__usagestrip)selfmessages   &&r   r   DocoptExit.__init__   s&    DT>DJJ#>"E"E"GHr   r   N)r   )	r   r   r	   r
   r   r   r   r   __classdictcell____classdict__s   @r   r   r      s     EEI Ir   r   c                   R   a  ] tR t^ t o R tR tR tR	R ltR t]	R 4       t
RtV tR# )
Patternc                0    \        V 4      \        V4      8H  # Nrepr)r   others   &&r   __eq__Pattern.__eq__"   s    DzT%[((r   c                *    \        \        V 4      4      # r!   )hashr#   r   s   &r   __hash__Pattern.__hash__%   s    DJr   c                F    V P                  4        V P                  4        V # r!   )fix_identitiesfix_repeating_argumentsr)   s   &r   fixPattern.fix(   s    $$&r   Nc                \   \        V R4      '       g   V # Vf#   \        \        V P                  4       4      4      MTp\	        V P
                  4       FV  w  r#\        VR4      '       g/   W19   g   Q hWP                  V4      ,          V P
                  V&   KE  VP                  V4       KX  	  R# )z>Make pattern-tree tips point to same object if they are equal.childrenN)hasattrlistsetflat	enumerater2   indexr-   )r   uniqics   &&  r   r-   Pattern.fix_identities-   s    tZ((K)-tC		$%4dmm,DA1j))y y#'

1#6a   & -r   c                   V P                   P                   Uu. uF  p\        VP                  4      NK  	  ppV EF   pV Uu. uF  qP                  V4      ^8  g   K  VNK  	  up F  p\	        V4      \
        J g&   \	        V4      \        J de   VP                  '       dS   VP                  f	   . Vn        M<\	        VP                  4      \        Jd    VP                  P                  4       Vn        \	        V4      \        J g)   \	        V4      \        J g   K  VP                  ^ 8X  g   K  ^ Vn        K  	  EK  	  V # u upi u upi )z5Fix elements that should accumulate/increment values.)eitherr2   r4   counttypeArgumentOptionargcountvaluesplitCommand)r   r;   r>   casees   &    r   r.   Pattern.fix_repeating_arguments9   s    ,0KK,@,@A,@q$qzz",@AD!%;AA):aa;7h&$q'V*;


ww"$aggd2"#''--/7g%aF):qzzQAG <   B;s   EEEc           	     x   . pV ..pV'       Ed   VP                  ^ 4      pV Uu. uF  p\        V4      NK  	  pp\        V9   d}   V Uu. uF  p\        V4      \        J g   K  VNK  	  up^ ,          pVP                  VP                  V4      4       VP                   F  pVP                  V.V,           4       K  	  K  \        V9   d}   V Uu. uF  p\        V4      \        J g   K  VNK  	  up^ ,          pVP                  VP                  V4      4       VP                  \        VP                  4      V,           4       EKB  \        V9   d}   V Uu. uF  p\        V4      \        J g   K  VNK  	  up^ ,          pVP                  VP                  V4      4       VP                  \        VP                  4      V,           4       EK  \        V9   d}   V Uu. uF  p\        V4      \        J g   K  VNK  	  up^ ,          pVP                  VP                  V4      4       VP                  \        VP                  4      V,           4       EKP  \        V9   d   V Uu. uF  p\        V4      \        J g   K  VNK  	  up^ ,          p	VP                  VP                  V	4      4       VP                  \        V	P                  4      ^,          V,           4       EK  VP                  V4       EK  \        V U
u. uF  p
\        V
!  NK  	  up
!  # u upi u upi u upi u upi u upi u upi u up
i )zATransform pattern into an equivalent, with only top-level Either.)popr@   Eitherr8   r2   appendRequiredr4   Optional
AnyOptions	OneOrMore)r   retgroupsr2   r;   typesr>   requiredoptional	oneormorerH   s   &          r   r>   Pattern.eitherG   sn   
 &fzz!}H&./hT!WhE/%-CXaF1B!!XCAFX^^F34AMM1#.1 )U"'/Gx!47h3FAAxGJX^^H56d8#4#45@AU"'/Gx!47h3FAAxGJX^^H56d8#4#45@Au$'/Ix!47j3HAAxI!LX^^H56d8#4#45@Ae#(0I1DGy4HQQI!L	X^^I67d9#5#56:XEF

8$c2c!c2331 0C
 H H J J
 3sG   L
L$LL#+L#L(2L(L-9L-&L2 L2L7r   r!   )r   r   r	   r
   r%   r*   r/   r-   r.   propertyr>   r   r   r   s   @r   r   r       s2     ) 

'  4  4r   r   c                   @   a  ] tR t^kt o RR ltR tR tRR ltRtV t	R# )ChildPatternNc                    Wn         W n        R # r!   namerD   r   r^   rD   s   &&&r   r   ChildPattern.__init__m       	
r   c                n    V P                   P                  : R V P                  : RV P                  : R2# )(, ))	__class__r   r^   rD   r)   s   &r   __repr__ChildPattern.__repr__q   s!    #~~66		4::NNr   c                <    V'       d   \        V 4      V9   d   V .# . # r!   )r@   )r   rT   s   &*r   r6   ChildPattern.flatt   s    "d4jE&9vArAr   c                ^   Vf   . MTpV P                  V4      w  r4Vf   RW3# VR V W^,           R  ,           pV Uu. uF!  qfP                  V P                  8X  g   K  VNK#  	  pp\        V P                  4      \        \
        39   d   \        V P                  4      \        J d   ^pM6\        VP                  4      \        J d   VP                  .MVP                  pV'       g   Wn        RWRV.,           3# V^ ,          ;P                  V,          un        RWR3# RWRV.,           3# u upi NFT)single_matchr^   r@   rD   intr4   str)	r   left	collectedposmatchleft_a	same_name	increments	   &&&      r   rs   ChildPattern.matchw   s   #+B	&&t,
=$))Tc
T'(^+ )A	1VVtyy-@QQ		A

T{*DJJ3&	.25;;.?3.Fekk]"'++ 'U$777aL)+))U/// Bs   D*D*r]   r!   )
r   r   r	   r
   r   rg   r6   rs   r   r   r   s   @r   r[   r[   k   s      OB0 0r   r[   c                   2   a  ] tR t^t o R tR tR tRtV tR# )ParentPatternc                &    \        V4      V n        R # r!   )r4   r2   )r   r2   s   &*r   r   ParentPattern.__init__   s    Xr   c                ~    V P                   P                  : R RP                  R V P                   4       4      : R2# )rc   rd   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir!   r"   .0ru   s   & r   	<genexpr>)ParentPattern.__repr__.<locals>.<genexpr>   s     $DmT!WWm   re   )rf   r   joinr2   r)   s   &r   rg   ParentPattern.__repr__   s1    >>2299$Ddmm$DDF 	Fr   c           	         \        V 4      V9   d   V .# \        V P                   Uu. uF  q"P                  ! V!  NK  	  up. 4      # u upi r!   )r@   sumr2   r6   )r   rT   r;   s   &* r   r6   ParentPattern.flat   s>    :6MDMM:MqFFENM:B??:s   A)r2   N)	r   r   r	   r
   r   rg   r6   r   r   r   s   @r   rz   rz      s     'F@ @r   rz   c                   6   a  ] tR t^t o R t]R 4       tRtV tR# )rA   c                    \        V4       F<  w  r#\        V4      \        J g   K  V\        V P                  VP                  4      3u # 	  R# NNN)r7   r@   rA   r^   rD   r   rp   nps   &&  r   rm   Argument.single_match   s@    dODAAw("(499agg666 $ r   c                    \         P                  ! R V4      ^ ,          p\         P                  ! RV\         P                  R7      pT ! Y#'       d   V^ ,          4      # R4      # )z(<\S*?>)\[default: (.*)\]flagsN)refindallI)class_sourcer^   rD   s   &&  r   parseArgument.parse   sI    zz*f-a0

.bddCdE!H88488r   r   N)	r   r   r	   r
   rm   classmethodr   r   r   r   s   @r   rA   rA      s      9 9r   rA   c                   0   a  ] tR t^t o RR ltR tRtV tR# )rF   c                    Wn         W n        R # r!   r]   r_   s   &&&r   r   Command.__init__   ra   r   c                    \        V4       FP  w  r#\        V4      \        J g   K  VP                  V P                  8X  d   V\        V P                  R 4      3u #  R# 	  R# )Tr   )r7   r@   rA   rD   r^   rF   r   s   &&  r   rm   Command.single_match   sU    dODAAw("77dii'gdii666 $ r   r]   NF)r   r   r	   r
   r   rm   r   r   r   s   @r   rF   rF      s      r   rF   c                   V   a  ] tR t^t o RR lt]R 4       tR t]R 4       t	R t
RtV tR# )	rB   Nc                    VR9   g   Q hWuV n         V n        W4uV n        V n        VRJ d   V'       d
   RV n        R# TV n        R# )    FN)r      shortlongrC   rD   )r   r   r   rC   rD   s   &&&&&r   r   Option.__init__   sA    6!!! %
DI$,!tz"e^T
e
r   c                   R	w  r#rEVP                  4       P                  R4      w  rgpVP                  RR4      P                  RR4      pVP                  4        F;  p	V	P	                  R4      '       d   T	pK  V	P	                  R4      '       d   T	pK9  ^pK=  	  V'       d;   \
        P                  ! RV\
        P                  R7      p
V
'       d
   V
^ ,          MR pV ! W#WE4      # )
Nz  , =---r   r   NNr   F)r   	partitionreplacerE   
startswithr   r   r   )r   option_descriptionr   r   rC   rD   options_descriptionsmatcheds   &&         r   r   Option.parse   s    ';$X"4":":"<"F"Ft"LK//#s+33C=A||D!!c"" ! jj!4kNG")GAJtEe833r   c                n    \        V4       F%  w  r#V P                  VP                  8X  g   K"  W#3u # 	  R# r   )r7   r^   r   s   &&  r   rm   Option.single_match   s1    dODAyyAFF"t $ r   c                B    V P                   ;'       g    V P                  # r!   )r   r   r)   s   &r   r^   Option.name   s    yy&&DJJ&r   c           	     x    R V P                   : RV P                  : RV P                  : RV P                  : R2	# )zOption(rd   re   r   r)   s   &r   rg   Option.__repr__   s(    +/::tyy+/==$**F 	Fr   )rC   r   r   rD   r   )r   r   r	   r
   r   r   r   rm   rY   r^   rg   r   r   r   s   @r   rB   rB      sD     D 4 4  ' 'F Fr   rB   c                   *   a  ] tR t^t o RR ltRtV tR# )rN   Nc                    Vf   . MTpTpTpV P                    F%  pVP                  W44      w  rcpV'       d   K!  RW3u # 	  RW43# rl   r2   rs   )r   rp   rq   lr;   r   r   s   &&&    r   rs   Required.match   sS    #+B	AGGAMMG7d--  Qzr   r   r!   r   r   r	   r
   rs   r   r   r   s   @r   rN   rN      s      r   rN   c                   *   a  ] tR t^t o RR ltRtV tR# )rO   Nc                h    Vf   . MTpV P                    F  pVP                  W4      w  rApK  	  RW3# )NTr   )r   rp   rq   r   ms   &&&  r   rs   Optional.match   s:    #+B	A!"!9AY T$$r   r   r!   r   r   s   @r   rO   rO      s     % %r   rO   c                       ] tR t^tRtRtR# )rP   z*Marker/placeholder for [options] shortcut.r   Nr   r   r   r   rP   rP      s    4r   rP   c                   *   a  ] tR t^t o RR ltRtV tR# )rQ   Nc                   \        V P                  4      ^8X  g   Q hVf   . MTpTpTpRpRp^ pV'       dC   V P                  ^ ,          P                  W44      w  rcpYv'       d   ^M^ ,          pWS8X  d   MTpKJ  V^8  d   RW43# RW3# )r   NTF)lenr2   rs   )r   rp   rq   r   r;   l_r   timess   &&&     r   rs   OneOrMore.match   s    4==!Q&&&#+B	 MM!,2218MG'Qq(EwBA::d%%r   r   r!   r   r   s   @r   rQ   rQ      s     & &r   rQ   c                   *   a  ] tR tRt o RR ltRtV tR# )rL   i  Nc                    Vf   . MTp. pV P                    F4  pVP                  W4      ;w  p rgV'       g   K#  VP                  V4       K6  	  V'       d   \        VR R7      # RW3# )Nc                 &    \        V ^,          4      # )r   r   )outcomes   &r   <lambda>Either.match.<locals>.<lambda>  s    S_r   )keyF)r2   rs   rM   min)r   rp   rq   outcomesr   r   r   r   s   &&&     r   rs   Either.match  sg    #+B	A&'ggd&>>MGQw(  x%DEEd%%r   r   r!   r   r   s   @r   rL   rL     s     	& 	&r   rL   c                   2   a  ] tR tRt o R tR tR tRtV tR# )TokenStreami!  c                h    T \        VR 4      '       d   VP                  4       MT,          p W n        R# )rE   N)r3   rE   error)r   r   r   s   &&&r   r   TokenStream.__init__#  s%    '&'":":F
r   c                J    \        V 4      '       d   V P                  ^ 4      # R# r   N)r   rK   r)   s   &r   moveTokenStream.move'  s    !$iitxx{1T1r   c                :    \        V 4      '       d
   V ^ ,          # R# r   r   r)   s   &r   currentTokenStream.current*  s    d))tAw--r   )r   N)	r   r   r	   r
   r   r   r   r   r   r   s   @r   r   r   !  s     2. .r   r   c                   V P                  4       P                  R4      w  r#pVP                  R4      '       g   Q hY4u;8X  d   R8X  d   M MRMTpV Uu. uF  qUP                  V8X  g   K  VNK  	  ppV P                  \
        J dO   V. 8X  dH   V Uu. uF;  qUP                  '       g   K  VP                  P                  V4      '       g   K9  VNK=  	  pp\        V4      ^8  d0   V P	                  V: RRP                  R V 4       4      : R24      h\        V4      ^8  dW   VR8X  d   ^M^ p\        RW'4      pVP                  V4       V P                  \
        J d   \        RY'V'       d   TMR	4      pV.# \        V^ ,          P                  V^ ,          P                  V^ ,          P                  V^ ,          P                  4      pVP                  ^ 8X  d(   Ve#   V P	                  R
VP                  ,          4      hMHVfE   V P                  4       f#   V P	                  RVP                  ,          4      hV P                  4       pV P                  \
        J d   Ve   TMR	Vn        V.# u upi u upi )z-long ::= '--' chars [ ( ' ' | '=' ) chars ] ;r   r   r   Nz is not a unique prefix: rd   c              3   8   "   T F  qP                   x  K  	  R # 5ir!   )r   r   os   & r   r   parse_long.<locals>.<genexpr>8  s     +DGqFFGr   ?Tz%s must not have an argument%s requires argument)r   r   r   r   r   r   r   r   rB   rM   r   rC   rD   r   )tokensr   r   eqrD   r   similarrC   s   &&      r   
parse_longr   .  s   kkm--c2ODe??4    %2%D5E!4'QVVt^qq'G4||z!gm%Lg1AFF4E4Ed4K11gL
7|all $))+DG+D"DF G 	G	W	c	1q4(q<<:%tThUDIA 3J 71:##WQZ__1:&&
(8(8:::? ll#AAFF#JKK ! }>>#+ ,,'='FGG<<:%$0edAG3J3 5Ls   I1,I1I6+I6I6c                   V P                  4       pVP                  R4      '       d   VP                  R4      '       d   Q hVP                  R4      p. pVR8w  Ed   RV^ ,          ,           VR,          r5V Uu. uF  qfP                  V8X  g   K  VNK  	  pp\	        V4      ^8  d$   V P                  RV\	        V4      3,          4      h\	        V4      ^8  dB   \        VR^ 4      pVP                  V4       V P
                  \        J d   \        VR^ R4      pM\        WW^ ,          P                  V^ ,          P                  V^ ,          P                  4      pRpVP                  ^ 8w  dG   VR8X  d<   V P                  4       f   V P                  RV,          4      hV P                  4       pMTpRpV P
                  \        J d   Ve   TMRVn        VP                  V4       EK  V# u upi )	z-shorts ::= '-' ( chars )* [ [ ' ' ] chars ] ;r   r   r   r   NNz$%s is specified ambiguously %d timesNTr   )r   r   lstripr   r   r   rB   rM   r   r   rC   rD   r   )	r   r   tokenrp   parsedr   r   r   rD   s	   &&       r   parse_shortsr   O  s   KKMEC  )9)9$)?)???<<DF
"*DGmT"Xt%:gE)911g:w<!,,E %s7|4 5 6 6\AudA&ANN1||z)5$40uajooqz**GAJ,<,<>AEzzQ2:~~'/$ll+AE+IJJ"KKME ED||z)#(#4%$aM1 ;s   8G+G+c                     \        \        P                  ! R RV 4      \        4      p\	        W!4      pVP                  4       e(   VP                  RRP                  V4      ,          4      h\        V!  # )z([\[\]\(\)\|]|\.\.\.)z \1 zunexpected ending: %rr   )	r   r   subr   
parse_exprr   r   r   rN   )r   r   r   results   &&  r   parse_patternr   r  s_     8'6J,.F(F~~#ll2SXXf5EEFFVr   c                `   \        W4      pV P                  4       R8w  d   V# \        V4      ^8  d   \        V!  .MTpV P                  4       R8X  dA   V P	                  4        \        W4      pT\        V4      ^8  d   \        V!  .MT,          pKU  \        V4      ^8  d   \        V!  .# T# )zexpr ::= seq ( '|' seq )* ;|)	parse_seqr   r   rN   r   rL   )r   r   seqr   s   &&  r   r   r   {  s    
F
$C~~3
!$SAhn3F
..
c
!(c#hl8S>"; #FaFFO;V;r   c                    . pV P                  4       R9  dE   \        W4      pV P                  4       R8X  d   \        V!  .pV P                  4        W#,          pKY  V# )zseq ::= ( atom [ '...' ] )* ;z...)N]re   r  )r   
parse_atomrQ   r   )r   r   r   atoms   &&  r   r  r    sR    F
..
"7
7&*>>u$t$%DKKMMr   c                   V P                  4       p. pVR9   dk   V P                  4        RR\        .RR\        ./V,          w  rEV! \	        W4      !  pV P                  4       V8w  d   V P                  RV,          4      hV.# VR8X  d   V P                  4        \        4       .# VP                  R4      '       d   VR8w  d   \        W4      # VP                  R	4      '       d   VR9  d   \        W4      # VP                  R
4      '       d   VP                  R4      '       g   VP                  4       '       d   \        V P                  4       4      .# \        V P                  4       4      .# )zXatom ::= '(' expr ')' | '[' expr ']' | 'options'
| long | shorts | argument | command ;
z([rc   re   [r  zunmatched '%s'r   r   r   <>)r   r   )r   r   rN   rO   r   r   rP   r   r   r   endswithisupperrA   rF   )r   r   r   r   matchingpatterns   &&    r   r  r    s-    NNEF} 3/3hHO*V56;;=H$,,/%788x	)	~			$		ETM&**			#		5#;F,,			#		5>>##6#6%--//'((&''r   c                l   . pV P                  4       Ee   V P                  4       R8X  d#   Y0 Uu. uF  p\        RV4      NK  	  up,           # V P                  4       P                  R4      '       d   V\        W4      ,          pK  V P                  4       P                  R4      '       d*   V P                  4       R8w  d   V\	        W4      ,          pK  V'       d#   Y0 Uu. uF  p\        RV4      NK  	  up,           # VP                  \        RV P                  4       4      4       EK'  V# u upi u upi )zParse command-line argument vector.

If options_first:
    argv ::= [ long | shorts ]* [ argument ]* [ '--' [ argument ]* ] ;
else:
    argv ::= [ long | shorts | argument ]* [ '--' [ argument ]* ] ;

Nr   r   )r   rA   r   r   r   rM   r   )r   r   options_firstr   vs   &&&  r   
parse_argvr    s     F
..

&>>t#?1XdA.???^^((..j11F^^((--&..2Bc2Il633F?1XdA.???MM(478M @ @s   D, D1c                 6   \         P                  ! R V 4      R,          p\        VR,          VR,          4       UUu. uF  w  r#W#,           NK  	  pppV Uu. uF0  qDP                  R4      '       g   K  \        P                  V4      NK2  	  ppV# u uppi u upi )z
 *(<\S+?>|-\S+?)r   :NN   :r   Nr  r   )r   rE   zipr   rB   r   )docrE   s1s2r   r   s   &     r   parse_defaultsr    sz    HH)3/3E#&uSz5;#?@#?RWW#?E@(-C1c1Bv||AGC N	 ACs   BB3Bc                     \         P                  ! R V 4      p\        V4      ^8  d   \        R4      h\        V4      ^8  d   \        R4      h\         P                  ! RRP	                  VR,          4      4      ^ ,          P                  4       # )z([Uu][Ss][Aa][Gg][Ee]:)z&"usage:" (case-insensitive) not found.z*More than one "usage:" (case-insensitive).z\n\s*\nr   r   )r   rE   r   r   r   r   )r  usage_splits   & r   printable_usager    sq    ((5s;K
;!!"JKK
;!!"NOO88JB 89!<BBDDr   c                    a V P                  4       R ,          oRRP                  V3R lSR ,           4       4      ,           R,           # )r   z( r   c              3   F   <"   T F  qS^ ,          8X  d   RMTx  K  	  R# 5i)r   z) | (Nr   )r   r   pus   & r   r   formal_usage.<locals>.<genexpr>  s     HA2a5j7a7s   !z ))rE   r   )r  r   s   &@r   formal_usager"    s9    				 	$B#((HBHHH4OOr   c                    V '       dj   \         ;QJ d    R  V 4       F  '       g   K   RM	  RM! R  V 4       4      '       d0   \        VP                  R4      4       \        P                  ! 4        V'       d_   \         ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d#   \        V4       \        P                  ! 4        R# R# R# )c              3   f   "   T F'  qP                   R9   ;'       d    VP                  x  K)  	  R# 5i)-hN)r%  z--helpr]   r   s   & r   r   extras.<locals>.<genexpr>  s'     NgVV//<<QWW<gs   /1TFr   c              3   f   "   T F'  qP                   R 8H  ;'       d    VP                  x  K)  	  R# 5i)z	--versionNr]   r   s   & r   r   r&    s&     J'Qvv,888's   11N)anyprintr   sysexit)helpversionr   r  s   &&&&r   extrasr.    sy    NgNNgNNNciio
33J'J333J'JJJg
 Kwr   c                   &   a  ] tR tRt o R tRtV tR# )Dicti  c                n    R RP                  R \        V P                  4       4       4       4      ,          # )z{%s}z,
 c              3   4   "   T F  pR V,          x  K  	  R# 5i)z%r: %rNr   )r   r:   s   & r   r    Dict.__repr__.<locals>.<genexpr>  s     #O:NQHqLL:Ns   )r   sorteditemsr)   s   &r   rg   Dict.__repr__  s'    #O&:N#OOOOr   r   N)r   r   r	   r
   rg   r   r   r   s   @r   r0  r0    s     P Pr   r0  c                   Vf   \         P                  R,          p\        V 4      \        n        \        V 4      p\        \        \        P                  4      V4      p\        \        V\        4      \        V4      V4      p\        VP                  \        4      4      pVP                  \        4       F.  p\        V 4      p	\        \        V	4      V,
          4      Vn        K0  	  \!        W#W4       VP#                  4       P%                  V4      w  rpV
'       d/   V. 8X  d(   \'        R VP                  4       V,            4       4      # \        4       h)a  Parse `argv` based on command-line interface described in `doc`.

`docopt` creates your command-line interface based on its
description that you pass as `doc`. Such description can contain
--options, <positional-argument>, commands, which could be
[optional], (required), (mutually | exclusive) or repeated...

Parameters
----------
doc : str
    Description of your command-line interface.
argv : list of str, optional
    Argument vector to be parsed. sys.argv[1:] is used if not
    provided.
help : bool (default: True)
    Set to False to disable automatic help on -h or --help
    options.
version : any object
    If passed, the object will be printed if --version is in
    `argv`.
options_first : bool (default: False)
    Set to True to require options preceed positional arguments,
    i.e. to forbid options and positional arguments intermix.

Returns
-------
args : dict
    A dictionary, where keys are names of command-line elements
    such as e.g. "--verbose" and "<path>", and values are the
    parsed values of those elements.

Example
-------
>>> from docopt import docopt
>>> doc = '''
Usage:
    my_program tcp <host> <port> [--timeout=<seconds>]
    my_program serial <port> [--baud=<n>] [--timeout=<seconds>]
    my_program (-h | --help | --version)

Options:
    -h, --help  Show this screen and exit.
    --baud=<n>  Baudrate [default: 9600]
'''
>>> argv = ['tcp', '127.0.0.1', '80', '--timeout', '30']
>>> docopt(doc, argv)
{'--baud': '9600',
 '--help': False,
 '--timeout': '30',
 '--version': False,
 '<host>': '127.0.0.1',
 '<port>': '80',
 'serial': False,
 'tcp': True}

See also
--------
* For video introduction see http://docopt.org
* Full documentation is available in README.rst as well as online
  at https://github.com/docopt/docopt#readme

r   c              3   P   "   T F  qP                   VP                  3x  K  	  R # 5ir!   r]   r   s   & r   r   docopt.<locals>.<genexpr>B  s     L0J!VVQWW%0Js   $&)r*  argvr  r   r   r  r   r"  r  r   r4   r5   r6   rB   rP   r2   r.  r/   rs   r0  )r  r:  r,  r-  r  r   r  pattern_optionsaodoc_optionsr   rp   rq   s   &&&&&        r   r   r     s    ~ |xx|&s+JS!GL)9)9:GDG k$
3T']#%D',,v./Oll:&$S)3{+o=> ' 4$$&{{}2248G942:L0JLLL
,r   r   )NTNF)%r   r*  r   __all____version__	Exceptionr   r   r   objectr   r[   rz   rA   rF   rB   rN   rO   rP   rQ   rL   r4   r   r   r   r   r   r  r  r  r  r  r"  r.  dictr0  r   r   r   r   <module>rC     s"    	 *?) ?
I IH4f H4V07 0B@G @9| 9h  %F\ %FP
} 
%} %5 5
& &,&] &
.$ 
.B F
<	(40EP
P4 P
Vr   