o ?OgA@s gdZddlZzddlmZWn eyddZYnwGdddeZeZgfdd Zgfd d Z d d Z ddZ ddZ ddZ edkr^ddlZeeejdddddgdSdS)) GetoptErrorerrorgetopt gnu_getoptN)gettextcCs|SN)srr-/opt/alt/python310/lib64/python3.10/getopt.py_)sr c@s&eZdZdZdZdddZddZdS)rcCs||_||_t|||dSr)msgopt Exception__init__)selfr rrrr r.szGetoptError.__init__cCs|jSr)r )rrrr __str__3szGetoptError.__str__N)r )__name__ __module__ __qualname__rr rrrrrr r+s   rcCs g}t|tdkr|g}nt|}|rp|ddrp|ddkrp|ddkr3|dd} ||fS|ddrNt||ddd||dd\}}nt||ddd||dd\}}|rp|ddrp|ddks"||fS)Nr r---)typelist startswithdo_longs do_shorts)args shortoptslongoptsoptsrrr r8s  (& rcCs@ g}g}t|tr|g}nt|}|dr |dd}d}n tjdr)d}nd}|r|ddkr@||dd7} ||fS|ddddkr^t||ddd||dd\}}n<|dddd kr|dd krt||ddd||dd\}}n|r||7} ||fS| |d|dd}|s-||fS) N+rTZPOSIXLY_CORRECTFrrrr) isinstancestrrrosenvirongetrrappend)rr r!r"Z prog_argsZall_options_firstrrr rcs:     ( ( rcCsz|d}Wn tyd}Ynw|d|||dd}}t||\}}|rF|durE|s:ttd|||d|dd}}n |durSttd|||d||p[df||fS)N=rzoption --%s requires argumentrz%option --%s must not have an argumentrr )index ValueError long_has_argsrr r))r"rr!rioptarghas_argrrr rs" rcsfdd|D}|sttd|vrdfSd|vr&dfSt|dkr5ttd|d }|d}|rF|dd }||fS) Ncsg|] }|r|qSr)r).0orrr sz!long_has_args..zoption --%s not recognizedFr*Trzoption --%s not a unique prefixr)rr lenendswith)rr!Z possibilitiesZ unique_matchr0rr3r r-s    r-cCs|dkrC|d|dd}}t||r4|dkr.|s#ttd|||d|dd}}|d}}nd}|d||f|dks||fS)Nr rrzoption -%s requires argumentr) short_has_argrr r))r"Z optstringr rrr/rrr rs    rcCsTtt|D]}|||krdkr nq|d|dSqttd||)N:rzoption -%s not recognized)ranger6rrr )rr r.rrr r8s r8__main__rza:bzalpha=Zbeta)__all__r&rr ImportErrorrrrrrrr-rr8rsysprintargvrrrr s(!    +2"