<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Ť˙fxE  c               @   sK  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Td Z e j d e  Z e j d e e f  Z	 e
 j d d  Z Gd	 d
   d
  Z d d   Z d d   e j D Z d d   Z d d   Z Gd d   d  Z e d k rGd Z xK d d d d f D]7 Z e d e  e d j e e e    e   q	Wn  d S(   u6  distutils.fancy_getopt

Wrapper around the standard getopt module that provides the following
additional features:
  * short and long options are tied together
  * options have help strings, so fancy_getopt could potentially
    create a complete usage summary
  * options set attributes of a passed-in object
i    N(   u   *u   [a-zA-Z](?:[a-zA-Z0-9-]*)u   ^%s$u   ^(%s)=!(%s)$u   -u   _c             B   sÚ   |  Ee  Z d  Z d Z d d d  Z d d   Z d d   Z d d d d	  Z d
 d   Z	 d d   Z
 d d   Z d d   Z d d   Z d d   Z d d d d  Z d d   Z d d d  Z d d d d  Z d S(   u   FancyGetoptuŐ  Wrapper around the standard 'getopt()' module that provides some
    handy extra functionality:
      * short and long options are tied together
      * options have help strings, and help text can be assembled
        from them
      * options set attributes of a passed-in object
      * boolean options can have "negative aliases" -- eg. if
        --quiet is the "negative alias" of --verbose, then "--quiet"
        on the command line sets 'verbose' to false
    c             C   st   | |  _  i  |  _ |  j  r( |  j   n  i  |  _ i  |  _ g  |  _ g  |  _ i  |  _ i  |  _ i  |  _	 g  |  _
 d  S(   N(   u   option_tableu   option_indexu   _build_indexu   aliasu   negative_aliasu
   short_optsu	   long_optsu
   short2longu	   attr_nameu	   takes_argu   option_order(   u   selfu   option_table(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   __init__)   s    											u   FancyGetopt.__init__c             C   s6   |  j  j   x" |  j D] } | |  j  | d <q Wd  S(   Ni    (   u   option_indexu   clearu   option_table(   u   selfu   option(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   _build_indexQ   s    u   FancyGetopt._build_indexc             C   s   | |  _  |  j   d  S(   N(   u   option_tableu   _build_index(   u   selfu   option_table(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   set_option_tableV   s    	u   FancyGetopt.set_option_tablec             C   sR   | |  j  k r" t d |   n, | | | f } |  j j |  | |  j  | <d  S(   Nu'   option conflict: already an option '%s'(   u   option_indexu   DistutilsGetoptErroru   option_tableu   append(   u   selfu   long_optionu   short_optionu   help_stringu   option(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu
   add_optionZ   s    u   FancyGetopt.add_optionc             C   s   | |  j  k S(   uc   Return true if the option table for this parser has an
        option with long name 'long_option'.(   u   option_index(   u   selfu   long_option(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu
   has_optionc   s    u   FancyGetopt.has_optionc             C   s   | j  t  S(   u   Translate long option name 'long_option' to the form it
        has as an attribute of some object: ie., translate hyphens
        to underscores.(   u	   translateu   longopt_xlate(   u   selfu   long_option(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   get_attr_nameh   s    u   FancyGetopt.get_attr_namec             C   s   t  | t  s t  xp | j   D]b \ } } | |  j k rY t d | | | f   n  | |  j k r" t d | | | f   q" q" Wd  S(   Nu(   invalid %s '%s': option '%s' not definedu0   invalid %s '%s': aliased option '%s' not defined(   u
   isinstanceu   dictu   AssertionErroru   itemsu   option_indexu   DistutilsGetoptError(   u   selfu   aliasesu   whatu   aliasu   opt(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   _check_alias_dictn   s    u   FancyGetopt._check_alias_dictc             C   s   |  j  | d  | |  _ d S(   u'   Set the aliases for this option parser.u   aliasN(   u   _check_alias_dictu   alias(   u   selfu   alias(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   set_aliasesx   s    u   FancyGetopt.set_aliasesc             C   s   |  j  | d  | |  _ d S(   uÚ   Set the negative aliases for this option parser.
        'negative_alias' should be a dictionary mapping option names to
        option names, both the key and value must already be defined
        in the option table.u   negative aliasN(   u   _check_alias_dictu   negative_alias(   u   selfu   negative_alias(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   set_negative_aliases}   s    u    FancyGetopt.set_negative_aliasesc             C   s  g  |  _  g  |  _ |  j j   i  |  _ xa|  j D]V} t |  d k rb | \ } } } d } n: t |  d k r | \ } } } } n t d | f   t | t	  sž t |  d k  rŃ t
 d |   n  | d k pű t | t	  oű t |  d k st
 d |   n  | |  j | <|  j  j |  | d d	 k rq| rQ| d
 } n  | d d  } d |  j | <na |  j j |  } | d k	 rĹ|  j | rľt
 d | | f   n  | |  j  d <n  d |  j | <|  j j |  } | d k	 r&|  j | |  j | k r&t
 d | | f   q&n  t j |  sHt
 d |   n  |  j |  |  j | <| r2 |  j j |  | |  j | d <q2 q2 Wd S(   u   Populate the various data structures that keep tabs on the
        option table.  Called by 'getopt()' before it can do anything
        worthwhile.
        i   i    i   u   invalid option tuple: %ri   u9   invalid long option '%s': must be a string of length >= 2i   u:   invalid short option '%s': must a single character or Noneu   =u   :u>   invalid negative alias '%s': aliased option '%s' takes a valueug   invalid alias '%s': inconsistent with aliased option '%s' (one of them takes a value, the other doesn'tuE   invalid long option name '%s' (must be letters, numbers, hyphens onlyNi˙˙˙˙i˙˙˙˙i˙˙˙˙(   u	   long_optsu
   short_optsu
   short2longu   clearu   repeatu   option_tableu   lenu
   ValueErroru
   isinstanceu   stru   DistutilsGetoptErroru   Noneu   appendu	   takes_argu   negative_aliasu   getu   aliasu
   longopt_reu   matchu   get_attr_nameu	   attr_name(   u   selfu   optionu   longu   shortu   helpu   repeatu   alias_to(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   _grok_option_table   s^    				"! u   FancyGetopt._grok_option_tablec             C   s>  | d k r" t j d d  } n  | d k r@ t   } d
 } n d } |  j   d j |  j  } y" t	 j	 | | |  j
  \ } } Wn4 t	 j k
 rş } z t |   WYd d } ~ Xn Xxh| D]`\ } } t |  d k r| d d k r|  j | d } n> t |  d k r,| d d  d k s2t  | d d  } |  j j |  }	 |	 rc|	 } n  |  j | s¸| d k st d	   |  j j |  }	 |	 rŻ|	 } d } q¸d } n  |  j | }
 | rü|  j j |
  d k	 rüt | |
 d  d } n  t | |
 |  |  j j | | f  qÂ W| r6| | f S| Sd S(   u  Parse command-line options in args. Store as attributes on object.

        If 'args' is None or not supplied, uses 'sys.argv[1:]'.  If
        'object' is None or not supplied, creates a new OptionDummy
        object, stores option values there, and returns a tuple (args,
        object).  If 'object' is supplied, it is modified in place and
        'getopt()' just returns 'args'; in both cases, the returned
        'args' is a modified copy of the passed-in 'args' list, which
        is left untouched.
        i   Nu    i   i    u   -u   --u    u   boolean option can't have valueTF(   u   Noneu   sysu   argvu   OptionDummyu   Trueu   Falseu   _grok_option_tableu   joinu
   short_optsu   getoptu	   long_optsu   erroru   DistutilsArgErroru   lenu
   short2longu   AssertionErroru   aliasu   getu	   takes_argu   negative_aliasu	   attr_nameu   repeatu   getattru   setattru   option_orderu   append(   u   selfu   argsu   objectu   created_objectu
   short_optsu   optsu   msgu   optu   valu   aliasu   attr(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   getoptŇ   sF    		
"".			
u   FancyGetopt.getoptc             C   s)   |  j  d k r t d   n |  j  Sd S(   uŤ   Returns the list of (option, value) tuples processed by the
        previous run of 'getopt()'.  Raises RuntimeError if
        'getopt()' hasn't been called yet.
        u!   'getopt()' hasn't been called yetN(   u   option_orderu   Noneu   RuntimeError(   u   self(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   get_option_order  s    u   FancyGetopt.get_option_orderc             C   sđ  d } x| |  j  D]q } | d } | d } t |  } | d d k rS | d } n  | d	 k	 rl | d } n  | | k r | } q q W| d d d } d } | | }	 d | }
 | rĂ | g } n	 d g } x|  j  D]} | d	 d
  \ } } } t | |	  } | d d k r'| d d  } n  | d	 k rt| rZ| j d | | | d f  qź| j d | | f  nH d | | f } | rŤ| j d | | | d f  n | j d |  x) | d d	  D] } | j |
 |  qÍWqÖ W| S(   u   Generate help text (a list of strings, one per suggested line of
        output) from the option table for this FancyGetopt object.
        i    i   u   =i   i   iN   u    u   Option summary:Ni   u     --%-*s  %su
     --%-*s  u   %s (-%s)u     --%-*si˙˙˙˙i˙˙˙˙i˙˙˙˙(   u   option_tableu   lenu   Noneu	   wrap_textu   append(   u   selfu   headeru   max_optu   optionu   longu   shortu   lu	   opt_widthu
   line_widthu
   text_widthu
   big_indentu   linesu   helpu   textu	   opt_names(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   generate_help  sF    



	!	u   FancyGetopt.generate_helpc             C   sG   | d  k r t j } n  x( |  j |  D] } | j | d  q( Wd  S(   Nu   
(   u   Noneu   sysu   stdoutu   generate_helpu   write(   u   selfu   headeru   fileu   line(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu
   print_helph  s    u   FancyGetopt.print_helpN(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   _build_indexu   set_option_tableu
   add_optionu
   has_optionu   get_attr_nameu   _check_alias_dictu   set_aliasesu   set_negative_aliasesu   _grok_option_tableu   getoptu   get_option_orderu   generate_helpu
   print_help(   u
   __locals__(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   FancyGetopt   s   
(	
M=
Ou   FancyGetoptc             C   s)   t  |   } | j |  | j | |  S(   N(   u   FancyGetoptu   set_negative_aliasesu   getopt(   u   optionsu   negative_optu   objectu   argsu   parser(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   fancy_getopto  s    u   fancy_getoptc             C   s   i  |  ] } d  t  |   q S(   u    (   u   ord(   u   .0u   _wschar(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu
   <dictcomp>u  s   	 u
   <dictcomp>c             C   s  |  d k r g  St |   | k r) |  g S|  j   }  |  j t  }  t j d |   } d d   | D } g  } x| r}g  } d } xt | rú t | d  } | | | k rŇ | j | d  | d =| | } q | rö | d	 d d k rö | d
 =n  Pq W| rd| d k rC| j | d d |   | d | d  | d <n  | d d d k rd| d =qdn  | j d j |   qr W| S(   uś   wrap_text(text : string, width : int) -> [string]

    Split 'text' into multiple lines of no more than 'width' characters
    each, and return the list of strings that results.
    u   ( +|-+)c             S   s   g  |  ] } | r |  q S(    (    (   u   .0u   ch(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu
   <listcomp>  s   	 u   wrap_text.<locals>.<listcomp>i    i   u    Nu    i˙˙˙˙i˙˙˙˙(	   u   Noneu   lenu
   expandtabsu	   translateu   WS_TRANSu   reu   splitu   appendu   join(   u   textu   widthu   chunksu   linesu   cur_lineu   cur_lenu   l(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu	   wrap_textw  s:    		
u	   wrap_textc             C   s   |  j  t  S(   uX   Convert a long option name to a valid Python identifier by
    changing "-" to "_".
    (   u	   translateu   longopt_xlate(   u   opt(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   translate_longopt­  s    u   translate_longoptc             B   s)   |  Ee  Z d  Z d Z g  d d  Z d S(   u   OptionDummyu_   Dummy class just used as a place to hold command-line option
    values as instance attributes.c             C   s%   x | D] } t  |  | d  q Wd S(   uk   Create a new OptionDummy instance.  The attributes listed in
        'options' will be initialized to None.N(   u   setattru   None(   u   selfu   optionsu   opt(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   __init__¸  s    u   OptionDummy.__init__N(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__(   u
   __locals__(    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   OptionDummy´  s   u   OptionDummyu   __main__u˘   Tra-la-la, supercalifragilisticexpialidocious.
How *do* you spell that odd word, anyways?
(Someone ask Mary -- she'll know [or she'll
say, "How should I know?"].)i
   i   i   i(   u	   width: %du   
(   u   __doc__u   sysu   stringu   reu   getoptu   distutils.errorsu   longopt_patu   compileu
   longopt_reu   neg_alias_reu   stru	   maketransu   longopt_xlateu   FancyGetoptu   fancy_getoptu
   whitespaceu   WS_TRANSu	   wrap_textu   translate_longoptu   OptionDummyu   __name__u   textu   wu   printu   join(    (    (    u;   /opt/alt/python33/lib64/python3.3/distutils/fancy_getopt.pyu   <module>	   s(   $
˙ S6