asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T PKTe[0Z__init__.cpython-36.pycnu[3 \e*@sdZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z dddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-g*Z y ddl Z Wne k rdZ YnXd.Zd/Zd0Zd1ZejZd2Zd2Zd2Zd2Zd3ZeZd4Zd5ZeZd6Zd7ZdZedededededediZeeeeeeeed8Z d9d Z!d:dZ"e#ed;rndd?Z$ej%j&e"j'j(Z)d@dAZ*e re j+Z,ndZ,dBdCZ-dDdEZ.GdFdde/Z0e0a1dGd+Z2dHd*Z3dId%Z4GdJdKdKe/Z5GdLdMdMe5Z6GdNdOdOe5Z7dPZ8e5e8fe6dQfe7dRfdSZ9GdTd d e/Z:e:Z;GdUdde/Zej?Z@gZAdYdZZBd[d\ZCGd]d d e>ZDGd^ddeDZEGd_d d eEZFGd`dadaeEZGeGeZHeHZIGdbdcdce/ZJddd&ZKded"ZLGdfdgdge/ZMGdhdde>ZNGdidjdjeNZOeNaPGdkdde/ZQeOeZReReN_ReMeNjReN_SdldZTd}dmd!ZUdndZVeVZWdodZXd2dpdqdZYdrd)ZZdsd(Z[dtd#Z\dudZ]dvd$Z^dwdZ_eAfdxd'Z`ddlaZaeajbe`GdyddeDZcdadd~dzd{Zed|dZfdS)z Logging package for Python. Based on PEP 282 and comments thereto in comp.lang.python. Copyright (C) 2001-2016 Vinay Sajip. All Rights Reserved. To use, simply 'import logging' and log away! N)Template BASIC_FORMATBufferingFormatterCRITICALDEBUGERRORFATAL FileHandlerFilter FormatterHandlerINFO LogRecordLogger LoggerAdapterNOTSET NullHandler StreamHandlerWARNWARNING addLevelName basicConfigcaptureWarningscriticaldebugdisableerror exceptionfatal getLevelName getLoggergetLoggerClassinfolog makeLogRecordsetLoggerClassshutdownwarnwarninggetLogRecordFactorysetLogRecordFactory lastResortraiseExceptionsz&Vinay Sajip Z productionz0.5.1.2z07 February 2010T2( )rrrrrr rrcCs4tj|}|dk r|Stj|}|dk r,|Sd|S)a Return the textual representation of logging level 'level'. If the level is one of the predefined levels (CRITICAL, ERROR, WARNING, INFO, DEBUG) then you get the corresponding string. If you have associated levels with names using addLevelName then the name you have associated with 'level' is returned. If a numeric value corresponding to one of the defined levels is passed in, the corresponding string representation is returned. Otherwise, the string "Level %s" % level is returned. NzLevel %s) _levelToNameget _nameToLevel)levelresultr7(/usr/lib64/python3.6/logging/__init__.pyrxs  c Cs(tz|t|<|t|<WdtXdS)zy Associate 'levelName' with 'level'. This is used when converting levels to text during message formatting. N) _acquireLockr2r4 _releaseLock)r5Z levelNamer7r7r8rs   _getframecCs tjdS)N)sysr;r7r7r7r8sr>c Cs.ytWn tk r(tjdjjSXdS)z5Return the frame object for the caller's stack frame.N) Exceptionr=exc_infotb_framef_backr7r7r7r8 currentframesrDcCsJt|tr|}n6t||kr:|tkr0td|t|}n td||S)NzUnknown level: %rz*Level not an integer or a valid string: %r) isinstanceintstrr4 ValueError TypeError)r5rvr7r7r8 _checkLevels     rKcCstr tjdS)z Acquire the module-level lock for serializing access to shared data. This should be released with _releaseLock(). N)_lockacquirer7r7r7r8r9sr9cCstr tjdS)zK Release the module-level lock acquired by calling _acquireLock(). N)rLreleaser7r7r7r8r:sr:c@s.eZdZdZd ddZddZeZddZdS) ra A LogRecord instance represents an event being logged. LogRecord instances are created every time something is logged. They contain all the information pertinent to the event being logged. The main information passed in is in msg and args, which are combined using str(msg) % args to create the message field of the record. The record also includes information such as when the record was created, the source line where the logging call was made, and any exception information to be logged. Nc Kstj} ||_||_|rDt|dkrDt|dtjrD|drD|d}||_t||_ ||_ ||_ y&t j j||_t j j|jd|_Wn&tttfk r||_d|_YnX||_d|_| |_||_||_| |_| t| d|_|jtd|_tot rt j!|_"t j#j|_$n d|_"d|_$t%s0d|_&nDd|_&t'j(j)d} | dk rty| j*j|_&Wnt+k rrYnXt,rt-t drt j.|_/nd|_/dS) zK Initialize a logging record with interesting information. rzUnknown moduleNiZ MainProcessZmultiprocessinggetpid)0timenamemsglenrE collectionsMappingargsrZ levelnamelevelnopathnameospathbasenamefilenamesplitextmodulerIrHAttributeErrorrAexc_text stack_infolinenoZfuncNamecreatedrFmsecs _startTimeZrelativeCreated logThreads threading get_identZthreadZcurrent_threadZ threadNamelogMultiprocessingZ processNamer=modulesr3Zcurrent_processr@ logProcesseshasattrrPprocess) selfrRr5rYrcrSrWrAfuncsinfokwargsctZmpr7r7r8__init__sR        zLogRecord.__init__cCsd|j|j|j|j|jfS)Nz!)rRrXrYrcrS)ror7r7r8__str__Cs zLogRecord.__str__cCst|j}|jr||j}|S)z Return the message for this LogRecord. Return the message for this LogRecord after merging any user-supplied arguments with the message. )rGrSrW)rorSr7r7r8 getMessageIs  zLogRecord.getMessage)NN)__name__ __module__ __qualname____doc__rtru__repr__rvr7r7r7r8rs   GcCs|adS)z Set the factory to be used when instantiating a log record. :param factory: A callable which will be called to instantiate a log record. N)_logRecordFactory)factoryr7r7r8r*ZscCstS)zH Return the factory to be used when instantiating a log record. )r|r7r7r7r8r)dsc Cs&tdddddfdd}|jj||S)z Make a LogRecord whose attributes are defined by the specified dictionary, This function is useful for converting a logging event received over a socket connection (which is sent as a dictionary) into a LogRecord instance. Nr)r|__dict__update)dictrJr7r7r8r$ks c@s0eZdZdZdZdZddZddZdd Zd S) PercentStylez %(message)sz %(asctime)sz %(asctime)cCs|p|j|_dS)N)default_format_fmt)rofmtr7r7r8rtszPercentStyle.__init__cCs|jj|jdkS)Nr)rfindasctime_search)ror7r7r8usesTimeszPercentStyle.usesTimecCs |j|jS)N)rr)rorecordr7r7r8formatszPercentStyle.formatN) rwrxryrasctime_formatrrtrrr7r7r7r8rzs rc@s eZdZdZdZdZddZdS)StrFormatStylez {message}z {asctime}z{asctimecCs|jjf|jS)N)rrr)rorr7r7r8rszStrFormatStyle.formatN)rwrxryrrrrr7r7r7r8rsrc@s0eZdZdZdZdZddZddZddZd S) StringTemplateStylez ${message}z ${asctime}cCs|p|j|_t|j|_dS)N)rrr_tpl)rorr7r7r8rts zStringTemplateStyle.__init__cCs$|j}|jddkp"|j|jdkS)Nz$asctimer)rrr)rorr7r7r8rszStringTemplateStyle.usesTimecCs|jjf|jS)N)rZ substituter)rorr7r7r8rszStringTemplateStyle.formatN) rwrxryrrrrtrrr7r7r7r8rs rz"%(levelname)s:%(name)s:%(message)sz{levelname}:{name}:{message}z${levelname}:${name}:${message})%{$c@sZeZdZdZejZdddZdZdZ ddd Z d d Z d d Z ddZ ddZddZdS)r a Formatter instances are used to convert a LogRecord to text. Formatters need to know how a LogRecord is constructed. They are responsible for converting a LogRecord to (usually) a string which can be interpreted by either a human or an external system. The base Formatter allows a formatting string to be specified. If none is supplied, the the style-dependent default value, "%(message)s", "{message}", or "${message}", is used. The Formatter can be initialized with a format string which makes use of knowledge of the LogRecord attributes - e.g. the default value mentioned above makes use of the fact that the user's message and arguments are pre- formatted into a LogRecord's message attribute. Currently, the useful attributes in a LogRecord are described by: %(name)s Name of the logger (logging channel) %(levelno)s Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL) %(levelname)s Text logging level for the message ("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL") %(pathname)s Full pathname of the source file where the logging call was issued (if available) %(filename)s Filename portion of pathname %(module)s Module (name portion of filename) %(lineno)d Source line number where the logging call was issued (if available) %(funcName)s Function name %(created)f Time when the LogRecord was created (time.time() return value) %(asctime)s Textual time when the LogRecord was created %(msecs)d Millisecond portion of the creation time %(relativeCreated)d Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded (typically at application startup time) %(thread)d Thread ID (if available) %(threadName)s Thread name (if available) %(process)d Process ID (if available) %(message)s The result of record.getMessage(), computed just as the record is emitted NrcCsD|tkrtddjtjt|d||_|jj|_||_dS)a Initialize the formatter with specified format strings. Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format. Use a style parameter of '%', '{' or '$' to specify that you want to use one of %-formatting, :meth:`str.format` (``{}``) formatting or :class:`string.Template` formatting in your format string. .. versionchanged:: 3.2 Added the ``style`` parameter. zStyle must be one of: %s,rN)_STYLESrHjoinkeys_stylerdatefmt)rorrstyler7r7r8rts  zFormatter.__init__z%Y-%m-%d %H:%M:%Sz%s,%03dcCs@|j|j}|rtj||}ntj|j|}|j||jf}|S)a% Return the creation time of the specified LogRecord as formatted text. This method should be called from format() by a formatter which wants to make use of a formatted time. This method can be overridden in formatters to provide for any specific requirement, but the basic behaviour is as follows: if datefmt (a string) is specified, it is used with time.strftime() to format the creation time of the record. Otherwise, an ISO8601-like (or RFC 3339-like) format is used. The resulting string is returned. This function uses a user-configurable function to convert the creation time to a tuple. By default, time.localtime() is used; to change this for a particular formatter instance, set the 'converter' attribute to a function with the same signature as time.localtime() or time.gmtime(). To change it for all formatters, for example if you want all logging times to be shown in GMT, set the 'converter' attribute in the Formatter class. ) converterrdrQZstrftimedefault_time_formatdefault_msec_formatre)rorrrsstr7r7r8 formatTimes  zFormatter.formatTimecCsZtj}|d}tj|d|d|d||j}|j|dddkrV|dd}|S)z Format and return the specified exception information as a string. This default implementation just uses traceback.print_exception() r?rrON r)ioStringIO tracebackprint_exceptiongetvalueclose)roZeisiotbrr7r7r8formatException s zFormatter.formatExceptioncCs |jjS)zK Check if the format uses the creation time of the record. )rr)ror7r7r8rszFormatter.usesTimecCs |jj|S)N)rr)rorr7r7r8 formatMessage$szFormatter.formatMessagecCs|S)aU This method is provided as an extension point for specialized formatting of stack information. The input data is a string as returned from a call to :func:`traceback.print_stack`, but with the last trailing newline removed. The base implementation just returns the value passed in. r7)rorbr7r7r8 formatStack's zFormatter.formatStackcCs|j|_|jr"|j||j|_|j|}|jrF|jsF|j |j|_|jrn|dddkrd|d}||j}|j r|dddkr|d}||j |j }|S)az Format the specified record as text. The record's attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message. rONrrr) rvmessagerrrasctimerrArarrbr)rorrr7r7r8r4s   zFormatter.format)NNr)N)rwrxryrzrQZ localtimerrtrrrrrrrrr7r7r7r8r s)   c@s2eZdZdZd ddZddZddZd d ZdS) rzB A formatter suitable for formatting a number of records. NcCs|r ||_nt|_dS)zm Optionally specify a formatter which will be used to format each individual record. N)linefmt_defaultFormatter)rorr7r7r8rt]szBufferingFormatter.__init__cCsdS)zE Return the header string for the specified records. r~r7)rorecordsr7r7r8 formatHeadergszBufferingFormatter.formatHeadercCsdS)zE Return the footer string for the specified records. r~r7)rorr7r7r8 formatFootermszBufferingFormatter.formatFootercCsNd}t|dkrJ||j|}x|D]}||jj|}q$W||j|}|S)zQ Format the specified records and return the result as a string. r~r)rTrrrr)rorrJrr7r7r8rss  zBufferingFormatter.format)N)rwrxryrzrtrrrr7r7r7r8rYs  c@s"eZdZdZdddZddZdS) r a Filter instances are used to perform arbitrary filtering of LogRecords. Loggers and Handlers can optionally use Filter instances to filter records as desired. The base filter class only allows events which are below a certain point in the logger hierarchy. For example, a filter initialized with "A.B" will allow events logged by loggers "A.B", "A.B.C", "A.B.C.D", "A.B.D" etc. but not "A.BB", "B.A.B" etc. If initialized with the empty string, all events are passed. r~cCs||_t||_dS)z Initialize a filter. Initialize with the name of the logger which, together with its children, will have its events allowed through the filter. If no name is specified, allow every event. N)rRrTnlen)rorRr7r7r8rtszFilter.__init__cCsJ|jdkrdS|j|jkrdS|jj|jd|jdkr:dS|j|jdkS)z Determine if the specified record is to be logged. Is the specified record to be logged? Returns 0 for no, nonzero for yes. If deemed appropriate, the record may be modified in-place. rTF.)rrRr)rorr7r7r8filters  z Filter.filterN)r~)rwrxryrzrtrr7r7r7r8r s  c@s0eZdZdZddZddZddZdd Zd S) Filtererz[ A base class for loggers and handlers which allows them to share common code. cCs g|_dS)zE Initialize the list of filters to be an empty list. N)filters)ror7r7r8rtszFilterer.__init__cCs||jkr|jj|dS)z; Add the specified filter to this handler. N)rappend)rorr7r7r8 addFilters zFilterer.addFiltercCs||jkr|jj|dS)z@ Remove the specified filter from this handler. N)rremove)rorr7r7r8 removeFilters zFilterer.removeFiltercCs@d}x6|jD],}t|dr&|j|}n||}|s d}Pq W|S)ah Determine if a record is loggable by consulting all the filters. The default is to allow the record to be logged; any filter can veto this and the record is then dropped. Returns a zero value if a record is to be dropped, else non-zero. .. versionchanged:: 3.2 Allow filters to be just callables. TrF)rrmr)rorrJfr6r7r7r8rs    zFilterer.filterN)rwrxryrzrtrrrr7r7r7r8rs rc CsFttt}}}|rB|rB|rB|z||kr6|j|Wd|XdS)zD Remove a handler reference from the internal cleanup list. N)r9r: _handlerListr)wrrMrNhandlersr7r7r8_removeHandlerRefs rc Cs*tztjtj|tWdtXdS)zL Add a handler to the internal cleanup list using a weak reference. N)r9rrweakrefrefrr:)Zhandlerr7r7r8_addHandlerRefsrc@seZdZdZefddZddZddZeeeZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZd S)!r aq Handler instances dispatch logging events to specific destinations. The base handler class. Acts as a placeholder which defines the Handler interface. Handlers can optionally use Formatter instances to format records as desired. By default, no formatter is specified; in this case, the 'raw' message as determined by record.message is logged. cCs4tj|d|_t||_d|_t||jdS)zz Initializes the instance - basically setting the formatter to None and the filter list to empty. N)rrt_namerKr5 formatterr createLock)ror5r7r7r8rts   zHandler.__init__cCs|jS)N)r)ror7r7r8get_nameszHandler.get_namec Cs<tz(|jtkrt|j=||_|r,|t|<WdtXdS)N)r9r _handlersr:)rorRr7r7r8set_names  zHandler.set_namecCstrtj|_nd|_dS)zU Acquire a thread lock for serializing access to the underlying I/O. N)rhRLocklock)ror7r7r8r s zHandler.createLockcCs|jr|jjdS)z. Acquire the I/O thread lock. N)rrM)ror7r7r8rM)szHandler.acquirecCs|jr|jjdS)z. Release the I/O thread lock. N)rrN)ror7r7r8rN0szHandler.releasecCst||_dS)zX Set the logging level of this handler. level must be an int or a str. N)rKr5)ror5r7r7r8setLevel7szHandler.setLevelcCs|jr|j}nt}|j|S)z Format the specified record. If a formatter is set, use it. Otherwise, use the default formatter for the module. )rrr)rorrr7r7r8r=szHandler.formatcCs tddS)z Do whatever it takes to actually log the specified logging record. This version is intended to be implemented by subclasses and so raises a NotImplementedError. z.emit must be implemented by Handler subclassesN)NotImplementedError)rorr7r7r8emitJsz Handler.emitc Cs4|j|}|r0|jz|j|Wd|jX|S)a< Conditionally emit the specified logging record. Emission depends on filters which may have been added to the handler. Wrap the actual emission of the record with acquisition/release of the I/O thread lock. Returns whether the filter passed the record for emission. N)rrMrrN)rorrJr7r7r8handleTs  zHandler.handlecCs ||_dS)z5 Set the formatter for this handler. N)r)rorr7r7r8 setFormatterfszHandler.setFormattercCsdS)z Ensure all logging output has been flushed. This version does nothing and is intended to be implemented by subclasses. Nr7)ror7r7r8flushlsz Handler.flushc Cs0tz|jr |jtkr t|j=WdtXdS)a% Tidy up any resources used by the handler. This version removes the handler from an internal map of handlers, _handlers, which is used for handler lookup by name. Subclasses should ensure that this gets called from overridden close() methods. N)r9rrr:)ror7r7r8rus  z Handler.closecCs totjrtj\}}}zytjjdtj|||dtjtjjd|j}x&|rvtj j |j j t dkrv|j}qRW|rtj|tjdntjjd|j|jfytjjd|j|jfWn tk rtjjdYnXWntk rYnXWd~~~XdS) aD Handle errors which occur during an emit() call. This method should be called from handlers when an exception is encountered during an emit() call. If raiseExceptions is false, exceptions get silently ignored. This is what is mostly wanted for a logging system - most users will not care about errors in the logging system, they are more interested in application errors. You could, however, replace this with a custom handler if you wish. The record which was being processed is passed in to this method. z--- Logging error --- Nz Call stack: r)filezLogged from file %s, line %s zMessage: %r Arguments: %s zwUnable to print the message and arguments - possible formatting error. Use the traceback above to help find the error. )r,r=stderrrAwriterrrBrZr[dirnamef_code co_filename__path__rC print_stackr]rcrSrWr@OSError)rorrvrframer7r7r8 handleErrors.      zHandler.handleErrorcCst|j}d|jj|fS)Nz <%s (%s)>)rr5 __class__rw)ror5r7r7r8r{s zHandler.__repr__N)rwrxryrzrrtrrpropertyrRrrMrNrrrrrrrrr{r7r7r7r8r s"      -c@s6eZdZdZdZd ddZddZdd Zd d ZdS) rz A handler class which writes logging records, appropriately formatted, to a stream. Note that this class does not close the stream, as sys.stdout or sys.stderr may be used. rNcCs"tj||dkrtj}||_dS)zb Initialize the handler. If stream is not specified, sys.stderr is used. N)r rtr=rstream)rorr7r7r8rts zStreamHandler.__init__c Cs8|jz |jr&t|jdr&|jjWd|jXdS)z% Flushes the stream. rN)rMrrmrrN)ror7r7r8rs zStreamHandler.flushc CsVy2|j|}|j}|j||j|j|jWntk rP|j|YnXdS)a Emit a record. If a formatter is specified, it is used to format the record. The record is then written to the stream with a trailing newline. If exception information is present, it is formatted using traceback.print_exception and appended to the stream. If the stream has an 'encoding' attribute, it is used to determine how to do the output to the stream. N)rrr terminatorrr@r)rorrSrr7r7r8rs     zStreamHandler.emitcCs6t|j}t|jdd}|r$|d7}d|jj||fS)NrRr~ z <%s %s(%s)>)rr5getattrrrrw)ror5rRr7r7r8r{s  zStreamHandler.__repr__)N) rwrxryrzrrtrrr{r7r7r7r8rs   c@s:eZdZdZdddZddZd d Zd d Zd dZdS)r zO A handler class which writes formatted logging records to disk files. aNFcCsTtj|}tjj||_||_||_||_|r@tj |d|_ nt j ||j dS)zO Open the specified file and use it as the stream for logging. N) rZfspathr[abspath baseFilenamemodeencodingdelayr rtrr_open)ror]rrrr7r7r8rts  zFileHandler.__init__cCsb|jzJz8|jr@z |jWd|j}d|_t|dr>|jXWdtj|XWd|jXdS)z$ Closes the stream. Nr)rMrrrmrrrN)rorr7r7r8r s  zFileHandler.closecCst|j|j|jdS)zx Open the current base file with the (original) mode and encoding. Return the resulting stream. )r)openrrr)ror7r7r8r szFileHandler._opencCs$|jdkr|j|_tj||dS)z Emit a record. If the stream was not opened because 'delay' was specified in the constructor, open it before calling the superclass's emit. N)rrrr)rorr7r7r8r's  zFileHandler.emitcCst|j}d|jj|j|fS)Nz <%s %s (%s)>)rr5rrwr)ror5r7r7r8r{2s zFileHandler.__repr__)rNF) rwrxryrzrtrrrr{r7r7r7r8r s   c@s(eZdZdZefddZeddZdS)_StderrHandlerz This class is like a StreamHandler using sys.stderr, but always uses whatever sys.stderr is currently set to rather than the value of sys.stderr at handler construction time. cCstj||dS)z) Initialize the handler. N)r rt)ror5r7r7r8rt=sz_StderrHandler.__init__cCstjS)N)r=r)ror7r7r8rCsz_StderrHandler.streamN)rwrxryrzrrtrrr7r7r7r8r7s rc@s eZdZdZddZddZdS) PlaceHolderz PlaceHolder instances are used in the Manager logger hierarchy to take the place of nodes for which no loggers have been defined. This class is intended for internal use only and not as part of the public API. cCs|di|_dS)zY Initialize with the specified logger being a child of this placeholder. N) loggerMap)roaloggerr7r7r8rtUszPlaceHolder.__init__cCs||jkrd|j|<dS)zJ Add the specified logger as a child of this placeholder. N)r)rorr7r7r8r[s zPlaceHolder.appendN)rwrxryrzrtrr7r7r7r8rOsrcCs(|tkr t|ts td|j|adS)z Set the class to be used when instantiating a logger. The class should define __init__() such that only a name argument is required, and the __init__() should call Logger.__init__() z(logger not derived from logging.Logger: N)r issubclassrIrw _loggerClass)klassr7r7r8r%fs   cCstS)zB Return the class to be used when instantiating a logger. )rr7r7r7r8r!ssc@s@eZdZdZddZddZddZdd Zd d Zd d Z dS)Managerzt There is [under normal circumstances] just one Manager instance, which holds the hierarchy of loggers. cCs(||_d|_d|_i|_d|_d|_dS)zT Initialize the manager with the root node of the logger hierarchy. rFN)rootremittedNoHandlerWarning loggerDict loggerClasslogRecordFactory)roZrootnoder7r7r8rt~s zManager.__init__c Csd}t|tstdtz||jkrv|j|}t|tr|}|jpHt|}||_||j|<|j |||j |n(|jp~t|}||_||j|<|j |Wdt X|S)a Get a logger with the specified name (channel name), creating it if it doesn't yet exist. This name is a dot-separated hierarchical name, such as "a", "a.b", "a.b.c" or similar. If a PlaceHolder existed for the specified name [i.e. the logger didn't exist but a child of it did], replace it with the created logger and fix up the parent/child references which pointed to the placeholder to now point to the logger. NzA logger name must be a string) rErGrIr9rrrrmanager_fixupChildren _fixupParentsr:)rorRrJphr7r7r8r s(         zManager.getLoggercCs*|tkr t|ts td|j||_dS)zY Set the class to be used when instantiating a logger with this Manager. z(logger not derived from logging.Logger: N)rrrIrwr)rorr7r7r8r%s   zManager.setLoggerClasscCs ||_dS)zg Set the factory to be used when instantiating a log record with this Manager. N)r)ror}r7r7r8r*szManager.setLogRecordFactorycCs|j}|jd}d}x||dkr| r|d|}||jkrJt||j|<n2|j|}t|trd|}nt|tsrt|j||jdd|d}qW|s|j}||_ dS)z Ensure that there are either loggers or placeholders all the way from the specified logger to the root of the logger hierarchy. rNrrO) rRrfindrrrErAssertionErrorrrparent)rorrRirJZsubstrobjr7r7r8rs       zManager._fixupParentscCsH|j}t|}x4|jjD]&}|jjd||kr|j|_||_qWdS)zk Ensure that children of the placeholder ph are connected to the specified logger. N)rRrTrrr)rorrrRZnamelencr7r7r8rs zManager._fixupChildrenN) rwrxryrzrtr r%r*rrr7r7r7r8rys " rc@seZdZdZefddZddZddZdd Zd d Z d d Z ddZ ddddZ ddZ e ZddZd2ddZd3ddZd4ddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1ZdS)5rar Instances of the Logger class represent a single logging channel. A "logging channel" indicates an area of an application. Exactly how an "area" is defined is up to the application developer. Since an application can have any number of areas, logging channels are identified by a unique string. Application areas can be nested (e.g. an area of "input processing" might include sub-areas "read CSV files", "read XLS files" and "read Gnumeric files"). To cater for this natural nesting, channel names are organized into a namespace hierarchy where levels are separated by periods, much like the Java or Python package namespace. So in the instance given above, channel names might be "input" for the upper level, and "input.csv", "input.xls" and "input.gnu" for the sub-levels. There is no arbitrary limit to the depth of nesting. cCs6tj|||_t||_d|_d|_g|_d|_dS)zJ Initialize the logger with a name and an optional level. NTF) rrtrRrKr5r propagaterdisabled)rorRr5r7r7r8rts  zLogger.__init__cCst||_dS)zW Set the logging level of this logger. level must be an int or a str. N)rKr5)ror5r7r7r8rszLogger.setLevelcOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'DEBUG'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.debug("Houston, we have a %s", "thorny problem", exc_info=1) N) isEnabledForr_log)rorSrWrrr7r7r8rs z Logger.debugcOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'INFO'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.info("Houston, we have a %s", "interesting problem", exc_info=1) N)rr r)rorSrWrrr7r7r8r"s z Logger.infocOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'WARNING'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.warning("Houston, we have a %s", "bit of a problem", exc_info=1) N)rrr)rorSrWrrr7r7r8r(s zLogger.warningcOs$tjdtd|j|f||dS)Nz6The 'warn' method is deprecated, use 'warning' insteadr?)warningsr'DeprecationWarningr()rorSrWrrr7r7r8r'*sz Logger.warncOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'ERROR'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.error("Houston, we have a %s", "major problem", exc_info=1) N)rrr)rorSrWrrr7r7r8r/s z Logger.errorT)rAcOs|j|f|d|i|dS)zU Convenience method for logging an ERROR with exception information. rAN)r)rorSrArWrrr7r7r8r;szLogger.exceptioncOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'CRITICAL'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.critical("Houston, we have a %s", "major disaster", exc_info=1) N)rrr)rorSrWrrr7r7r8rAs zLogger.criticalcOs<t|tstrtdndS|j|r8|j|||f|dS)z Log 'msg % args' with the integer severity 'level'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.log(level, "We have a %s", "mysterious problem", exc_info=1) zlevel must be an integerN)rErFr,rIrr)ror5rSrWrrr7r7r8r#Os   z Logger.logFcCst}|dk r|j}d }xt|dr|j}tjj|j}|tkrH|j}qd}|rt j }|j dt j ||d|j}|d d kr|dd }|j|j|j|j|f}PqW|S) z Find the stack frame of the caller so that we can note the source file name, line number and function name. N(unknown file)r(unknown function)rzStack (most recent call last): )rrOr)r rr Nrr)rDrCrmrrZr[normcaser_srcfilerrrrrrrf_linenoco_name)rorbrrJcor]rqrr7r7r8 findCaller`s,    zLogger.findCallerNc Cs^t||||||||| } | dk rZx8| D]0} | dks<| | jkrHtd| | | | j| <q&W| S)zr A factory method which can be overridden in subclasses to create specialized LogRecords. Nrrz$Attempt to overwrite %r in LogRecord)rr)r|rKeyError) rorRr5fnlnorSrWrArpextrarqrJkeyr7r7r8 makeRecord~s  zLogger.makeRecordc Csd}tr@y|j|\}} } }WqJtk r<d\}} } YqJXn d\}} } |r|t|trjt|||jf}nt|ts|tj }|j |j ||| |||| || } |j | dS)z Low-level logging routine which creates a LogRecord and then calls all the handlers of this logger to handle the record. N(unknown file)r(unknown function))rrr)rrr) r rrHrE BaseExceptiontype __traceback__tupler=rArrRr) ror5rSrWrArrbrqrrrprr7r7r8rs    z Logger._logcCs |j r|j|r|j|dS)z Call the handlers for the specified record. This method is used for unpickled records received from a socket, as well as those created locally. Logger-level filtering is applied. N)rr callHandlers)rorr7r7r8rsz Logger.handlec Cs.tz||jkr|jj|WdtXdS)z; Add the specified handler to this logger. N)r9rrr:)rohdlrr7r7r8 addHandlers  zLogger.addHandlerc Cs.tz||jkr|jj|WdtXdS)z@ Remove the specified handler from this logger. N)r9rrr:)rorr7r7r8 removeHandlers  zLogger.removeHandlercCs2|}d}x$|r,|jrd}P|js$Pq |j}q W|S)a See if this logger has any handlers configured. Loop through all handlers for this logger and its parents in the logger hierarchy. Return True if a handler was found, else False. Stop searching up the hierarchy whenever a logger with the "propagate" attribute set to zero is found - that will be the last logger which is checked for the existence of handlers. FT)rrr)rorrJr7r7r8 hasHandlerss  zLogger.hasHandlerscCs|}d}xH|rPx,|jD]"}|d}|j|jkr|j|qW|jsHd}q |j}q W|dkrtrv|jtjkrtj|n(tr|jj rt j j d|j d|j_ dS)a Pass a record to all relevant handlers. Loop through all handlers for this logger and its parents in the logger hierarchy. If no handler was found, output a one-off error message to sys.stderr. Stop searching up the hierarchy whenever a logger with the "propagate" attribute set to zero is found - that will be the last logger whose handlers are called. rrONz+No handlers could be found for logger "%s" T)rrXr5rrrr+r,rrr=rrrR)rorrfoundrr7r7r8rs$       zLogger.callHandlerscCs$|}x|r|jr|jS|j}qWtS)z Get the effective level for this logger. Loop through this logger and its parents in the logger hierarchy, looking for a non-zero logging level. Return the first one found. )r5rr)rologgerr7r7r8getEffectiveLevels  zLogger.getEffectiveLevelcCs|jj|krdS||jkS)z; Is this logger enabled for level 'level'? F)rrr%)ror5r7r7r8rs zLogger.isEnabledForcCs&|j|k rdj|j|f}|jj|S)ab Get a logger which is a descendant to this one. This is a convenience method, such that logging.getLogger('abc').getChild('def.ghi') is the same as logging.getLogger('abc.def.ghi') It's useful, for example, when the parent logger is named using __name__ rather than a literal string. r)rrrRrr )rosuffixr7r7r8getChilds zLogger.getChildcCs t|j}d|jj|j|fS)Nz <%s %s (%s)>)rr%rrwrR)ror5r7r7r8r{#s zLogger.__repr__)F)NNN)NNF)rwrxryrzrrtrrr"r(r'rrrrr#rrrrr r!r"rr%rr'r{r7r7r7r8rs0            c@seZdZdZddZdS) RootLoggerz A root logger is not that different to any other logger, except that it must have a logging level and there is only one instance of it in the hierarchy. cCstj|d|dS)z= Initialize the logger with the name "root". rN)rrt)ror5r7r7r8rt.szRootLogger.__init__N)rwrxryrzrtr7r7r7r8r((sr(c@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddddZ ddZ ddZ ddZddZddZddZd+d"d#Zed$d%Zejd&d%Zed'd(Zd)d*Zd S),rzo An adapter for loggers which makes it easier to specify contextual information in logging output. cCs||_||_dS)ax Initialize the adapter with a logger and a dict-like object which provides contextual information. This constructor signature allows easy stacking of LoggerAdapters, if so desired. You can effectively pass keyword arguments as shown in the following example: adapter = LoggerAdapter(someLogger, dict(p1=v1, p2="v2")) N)r$r)ror$rr7r7r8rt<s zLoggerAdapter.__init__cCs|j|d<||fS)a Process the logging message and keyword arguments passed in to a logging call to insert contextual information. You can either manipulate the message itself, the keyword args or both. Return the message and kwargs modified (or not) to suit your needs. Normally, you'll only need to override this one method in a LoggerAdapter subclass for your specific needs. r)r)rorSrrr7r7r8rnJs zLoggerAdapter.processcOs|jt|f||dS)zA Delegate a debug call to the underlying logger. N)r#r)rorSrWrrr7r7r8rZszLoggerAdapter.debugcOs|jt|f||dS)zA Delegate an info call to the underlying logger. N)r#r )rorSrWrrr7r7r8r"`szLoggerAdapter.infocOs|jt|f||dS)zC Delegate a warning call to the underlying logger. N)r#r)rorSrWrrr7r7r8r(fszLoggerAdapter.warningcOs$tjdtd|j|f||dS)Nz6The 'warn' method is deprecated, use 'warning' insteadr?)rr'r r()rorSrWrrr7r7r8r'lszLoggerAdapter.warncOs|jt|f||dS)zB Delegate an error call to the underlying logger. N)r#r)rorSrWrrr7r7r8rqszLoggerAdapter.errorT)rAcOs |jt|f|d|i|dS)zF Delegate an exception call to the underlying logger. rAN)r#r)rorSrArWrrr7r7r8rwszLoggerAdapter.exceptioncOs|jt|f||dS)zD Delegate a critical call to the underlying logger. N)r#r)rorSrWrrr7r7r8r}szLoggerAdapter.criticalcOs4|j|r0|j||\}}|jj||f||dS)z Delegate a log call to the underlying logger, after adding contextual information from this adapter instance. N)rrnr$r#)ror5rSrWrrr7r7r8r#s zLoggerAdapter.logcCs|jjj|krdS||jkS)z; Is this logger enabled for level 'level'? F)r$rrr%)ror5r7r7r8rszLoggerAdapter.isEnabledForcCs|jj|dS)zC Set the specified level on the underlying logger. N)r$r)ror5r7r7r8rszLoggerAdapter.setLevelcCs |jjS)zD Get the effective level for the underlying logger. )r$r%)ror7r7r8r%szLoggerAdapter.getEffectiveLevelcCs |jjS)z@ See if the underlying logger has any handlers. )r$r")ror7r7r8r"szLoggerAdapter.hasHandlersNFcCs|jj||||||dS)zX Low-level log implementation, proxied to allow nested logger adapters. )rArrb)r$r)ror5rSrWrArrbr7r7r8rszLoggerAdapter._logcCs|jjS)N)r$r)ror7r7r8rszLoggerAdapter.managercCs ||j_dS)N)r$r)rovaluer7r7r8rscCs|jjS)N)r$rR)ror7r7r8rRszLoggerAdapter.namecCs&|j}t|j}d|jj|j|fS)Nz <%s %s (%s)>)r$rr%rrwrR)ror$r5r7r7r8r{s zLoggerAdapter.__repr__)NNF)rwrxryrzrtrnrr"r(r'rrrr#rrr%r"rrrsetterrRr{r7r7r7r8r6s(   c Kstzjttjdkrp|jdd}|dkrHd|kr`d|kr`tdnd|ksXd|kr`td|dkr|jdd}|jdd }|rt||}n|jdd}t|}|g}|jd d}|jd d }|tkrtd dj tj |jdt|d}t |||} x.|D]&}|j dkr |j | tj|qW|jdd} | dk rPtj| |rpdj |j } td| WdtXdS)a Do basic configuration for the logging system. This function does nothing if the root logger already has handlers configured. It is a convenience method intended for use by simple scripts to do one-shot configuration of the logging package. The default behaviour is to create a StreamHandler which writes to sys.stderr, set a formatter using the BASIC_FORMAT format string, and add the handler to the root logger. A number of optional keyword arguments may be specified, which can alter the default behaviour. filename Specifies that a FileHandler be created, using the specified filename, rather than a StreamHandler. filemode Specifies the mode to open the file, if filename is specified (if filemode is unspecified, it defaults to 'a'). format Use the specified format string for the handler. datefmt Use the specified date/time format. style If a format string is specified, use this to specify the type of format string (possible values '%', '{', '$', for %-formatting, :meth:`str.format` and :class:`string.Template` - defaults to '%'). level Set the root logger level to the specified level. stream Use the specified stream to initialize the StreamHandler. Note that this argument is incompatible with 'filename' - if both are present, 'stream' is ignored. handlers If specified, this should be an iterable of already created handlers, which will be added to the root handler. Any handler in the list which does not have a formatter assigned will be assigned the formatter created in this function. Note that you could specify a stream created using open(filename, mode) rather than passing the filename and mode in. However, it should be remembered that StreamHandler does not close its stream (since it may be using sys.stdout or sys.stderr), whereas FileHandler closes its stream when the handler is closed. .. versionchanged:: 3.2 Added the ``style`` parameter. .. versionchanged:: 3.3 Added the ``handlers`` parameter. A ``ValueError`` is now thrown for incompatible arguments (e.g. ``handlers`` specified together with ``filename``/``filemode``, or ``filename``/``filemode`` specified together with ``stream``, or ``handlers`` specified together with ``stream``. rrNrr]z8'stream' and 'filename' should not be specified togetherzG'stream' or 'filename' should not be specified together with 'handlers'filemoderrrrzStyle must be one of: %srrrOr5z, zUnrecognised argument(s): %s)r9rTrrpoprHr rrrrr rrr rr:) rrrr]rhrZdfsrZfsrr5rr7r7r8rsF4               cCs|rtjj|StSdS)z Return a logger with the specified name, creating it if necessary. If no name is specified, return the root logger. N)rrr r)rRr7r7r8r .s cOs*ttjdkrttj|f||dS)z Log a message with severity 'CRITICAL' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr)rSrWrrr7r7r8r9scOs*ttjdkrttj|f||dS)z Log a message with severity 'ERROR' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr)rSrWrrr7r7r8rEs)rAcOst|f|d|i|dS)z Log a message with severity 'ERROR' on the root logger, with exception information. If the logger has no handlers, basicConfig() is called to add a console handler with a pre-defined format. rAN)r)rSrArWrrr7r7r8rOscOs*ttjdkrttj|f||dS)z Log a message with severity 'WARNING' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr()rSrWrrr7r7r8r(WscOs"tjdtdt|f||dS)Nz8The 'warn' function is deprecated, use 'warning' insteadr?)rr'r r()rSrWrrr7r7r8r'ascOs*ttjdkrttj|f||dS)z Log a message with severity 'INFO' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr")rSrWrrr7r7r8r"fscOs*ttjdkrttj|f||dS)z Log a message with severity 'DEBUG' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr)rSrWrrr7r7r8rpscOs,ttjdkrttj||f||dS)z Log 'msg % args' with the integer severity 'level' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr#)r5rSrWrrr7r7r8r#zscCs |tj_dS)zB Disable all logging calls of severity 'level' and below. N)rrr)r5r7r7r8rscCsxt|ddD]l}yT|}|rhz:y|j|j|jWnttfk rXYnXWd|jXWqtrxYqXqWdS)z Perform any cleanup actions in the logging system (e.g. flushing buffers). Should be called at application exit. N)reversedrMrrrrHrNr,)Z handlerListrr-r7r7r8r&s  c@s(eZdZdZddZddZddZdS) ra This handler does nothing. It's intended to be used to avoid the "No handlers could be found for logger XXX" one-off warning. This is important for library code, which may contain code to log events. If a user of the library does not configure logging, the one-off warning might be produced; to avoid this, the library developer simply needs to instantiate a NullHandler and add it to the top-level logger of the library module or package. cCsdS)zStub.Nr7)rorr7r7r8rszNullHandler.handlecCsdS)zStub.Nr7)rorr7r7r8rszNullHandler.emitcCs d|_dS)N)r)ror7r7r8rszNullHandler.createLockN)rwrxryrzrrrr7r7r7r8rs cCs`|dk r$tdk r\t||||||n8tj|||||}td}|jsP|jt|jd|dS)a Implementation of showwarnings which redirects to logging, which will first check to see if the file parameter is None. If a file is specified, it will delegate to the original warnings implementation of showwarning. Otherwise, it will call warnings.formatwarning and will log the resulting string to a warnings logger named "py.warnings" with level logging.WARNING. Nz py.warningsz%s)_warnings_showwarningr formatwarningr rr rr()rcategoryr]rcrlinerr$r7r7r8 _showwarnings r3cCs0|rtdkr,tjatt_ntdk r,tt_dadS)z If capture is true, redirect all warnings to the logging package. If capture is False, ensure that warnings are not redirected to logging but to their original destinations. N)r/r showwarningr3)Zcapturer7r7r8rs)N)NN)grzr=rZrQrrrrrUstringr__all__rh ImportError __author__Z __status__ __version__Z__date__rfr,rgrjrlrrrrrr rrr2r4rrrmrDr[r __code__rr rKrrLr9r:objectrr|r*r)r$rrrrrr rrr rWeakValueDictionaryrrrrr rr rZ_defaultLastResortr+rr%r!rrr(rrrrrr rrrrr(r'r"rr#rr&atexitregisterrr/r3rr7r7r7r8s@                  i   .*%4 >;E lE  b          PKTe[/ __init__.cpython-36.opt-1.pycnu[3 \e*@sdZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z dddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-g*Z y ddl Z Wne k rdZ YnXd.Zd/Zd0Zd1ZejZd2Zd2Zd2Zd2Zd3ZeZd4Zd5ZeZd6Zd7ZdZedededededediZeeeeeeeed8Z d9d Z!d:dZ"e#ed;rndd?Z$ej%j&e"j'j(Z)d@dAZ*e re j+Z,ndZ,dBdCZ-dDdEZ.GdFdde/Z0e0a1dGd+Z2dHd*Z3dId%Z4GdJdKdKe/Z5GdLdMdMe5Z6GdNdOdOe5Z7dPZ8e5e8fe6dQfe7dRfdSZ9GdTd d e/Z:e:Z;GdUdde/Zej?Z@gZAdYdZZBd[d\ZCGd]d d e>ZDGd^ddeDZEGd_d d eEZFGd`dadaeEZGeGeZHeHZIGdbdcdce/ZJddd&ZKded"ZLGdfdgdge/ZMGdhdde>ZNGdidjdjeNZOeNaPGdkdde/ZQeOeZReReN_ReMeNjReN_SdldZTd}dmd!ZUdndZVeVZWdodZXd2dpdqdZYdrd)ZZdsd(Z[dtd#Z\dudZ]dvd$Z^dwdZ_eAfdxd'Z`ddlaZaeajbe`GdyddeDZcdadd~dzd{Zed|dZfdS)z Logging package for Python. Based on PEP 282 and comments thereto in comp.lang.python. Copyright (C) 2001-2016 Vinay Sajip. All Rights Reserved. To use, simply 'import logging' and log away! N)Template BASIC_FORMATBufferingFormatterCRITICALDEBUGERRORFATAL FileHandlerFilter FormatterHandlerINFO LogRecordLogger LoggerAdapterNOTSET NullHandler StreamHandlerWARNWARNING addLevelName basicConfigcaptureWarningscriticaldebugdisableerror exceptionfatal getLevelName getLoggergetLoggerClassinfolog makeLogRecordsetLoggerClassshutdownwarnwarninggetLogRecordFactorysetLogRecordFactory lastResortraiseExceptionsz&Vinay Sajip Z productionz0.5.1.2z07 February 2010T2( )rrrrrr rrcCs4tj|}|dk r|Stj|}|dk r,|Sd|S)a Return the textual representation of logging level 'level'. If the level is one of the predefined levels (CRITICAL, ERROR, WARNING, INFO, DEBUG) then you get the corresponding string. If you have associated levels with names using addLevelName then the name you have associated with 'level' is returned. If a numeric value corresponding to one of the defined levels is passed in, the corresponding string representation is returned. Otherwise, the string "Level %s" % level is returned. NzLevel %s) _levelToNameget _nameToLevel)levelresultr7(/usr/lib64/python3.6/logging/__init__.pyrxs  c Cs(tz|t|<|t|<WdtXdS)zy Associate 'levelName' with 'level'. This is used when converting levels to text during message formatting. N) _acquireLockr2r4 _releaseLock)r5Z levelNamer7r7r8rs   _getframecCs tjdS)N)sysr;r7r7r7r8sr>c Cs.ytWn tk r(tjdjjSXdS)z5Return the frame object for the caller's stack frame.N) Exceptionr=exc_infotb_framef_backr7r7r7r8 currentframesrDcCsJt|tr|}n6t||kr:|tkr0td|t|}n td||S)NzUnknown level: %rz*Level not an integer or a valid string: %r) isinstanceintstrr4 ValueError TypeError)r5rvr7r7r8 _checkLevels     rKcCstr tjdS)z Acquire the module-level lock for serializing access to shared data. This should be released with _releaseLock(). N)_lockacquirer7r7r7r8r9sr9cCstr tjdS)zK Release the module-level lock acquired by calling _acquireLock(). N)rLreleaser7r7r7r8r:sr:c@s.eZdZdZd ddZddZeZddZdS) ra A LogRecord instance represents an event being logged. LogRecord instances are created every time something is logged. They contain all the information pertinent to the event being logged. The main information passed in is in msg and args, which are combined using str(msg) % args to create the message field of the record. The record also includes information such as when the record was created, the source line where the logging call was made, and any exception information to be logged. Nc Kstj} ||_||_|rDt|dkrDt|dtjrD|drD|d}||_t||_ ||_ ||_ y&t j j||_t j j|jd|_Wn&tttfk r||_d|_YnX||_d|_| |_||_||_| |_| t| d|_|jtd|_tot rt j!|_"t j#j|_$n d|_"d|_$t%s0d|_&nDd|_&t'j(j)d} | dk rty| j*j|_&Wnt+k rrYnXt,rt-t drt j.|_/nd|_/dS) zK Initialize a logging record with interesting information. rzUnknown moduleNiZ MainProcessZmultiprocessinggetpid)0timenamemsglenrE collectionsMappingargsrZ levelnamelevelnopathnameospathbasenamefilenamesplitextmodulerIrHAttributeErrorrAexc_text stack_infolinenoZfuncNamecreatedrFmsecs _startTimeZrelativeCreated logThreads threading get_identZthreadZcurrent_threadZ threadNamelogMultiprocessingZ processNamer=modulesr3Zcurrent_processr@ logProcesseshasattrrPprocess) selfrRr5rYrcrSrWrAfuncsinfokwargsctZmpr7r7r8__init__sR        zLogRecord.__init__cCsd|j|j|j|j|jfS)Nz!)rRrXrYrcrS)ror7r7r8__str__Cs zLogRecord.__str__cCst|j}|jr||j}|S)z Return the message for this LogRecord. Return the message for this LogRecord after merging any user-supplied arguments with the message. )rGrSrW)rorSr7r7r8 getMessageIs  zLogRecord.getMessage)NN)__name__ __module__ __qualname____doc__rtru__repr__rvr7r7r7r8rs   GcCs|adS)z Set the factory to be used when instantiating a log record. :param factory: A callable which will be called to instantiate a log record. N)_logRecordFactory)factoryr7r7r8r*ZscCstS)zH Return the factory to be used when instantiating a log record. )r|r7r7r7r8r)dsc Cs&tdddddfdd}|jj||S)z Make a LogRecord whose attributes are defined by the specified dictionary, This function is useful for converting a logging event received over a socket connection (which is sent as a dictionary) into a LogRecord instance. Nr)r|__dict__update)dictrJr7r7r8r$ks c@s0eZdZdZdZdZddZddZdd Zd S) PercentStylez %(message)sz %(asctime)sz %(asctime)cCs|p|j|_dS)N)default_format_fmt)rofmtr7r7r8rtszPercentStyle.__init__cCs|jj|jdkS)Nr)rfindasctime_search)ror7r7r8usesTimeszPercentStyle.usesTimecCs |j|jS)N)rr)rorecordr7r7r8formatszPercentStyle.formatN) rwrxryrasctime_formatrrtrrr7r7r7r8rzs rc@s eZdZdZdZdZddZdS)StrFormatStylez {message}z {asctime}z{asctimecCs|jjf|jS)N)rrr)rorr7r7r8rszStrFormatStyle.formatN)rwrxryrrrrr7r7r7r8rsrc@s0eZdZdZdZdZddZddZddZd S) StringTemplateStylez ${message}z ${asctime}cCs|p|j|_t|j|_dS)N)rrr_tpl)rorr7r7r8rts zStringTemplateStyle.__init__cCs$|j}|jddkp"|j|jdkS)Nz$asctimer)rrr)rorr7r7r8rszStringTemplateStyle.usesTimecCs|jjf|jS)N)rZ substituter)rorr7r7r8rszStringTemplateStyle.formatN) rwrxryrrrrtrrr7r7r7r8rs rz"%(levelname)s:%(name)s:%(message)sz{levelname}:{name}:{message}z${levelname}:${name}:${message})%{$c@sZeZdZdZejZdddZdZdZ ddd Z d d Z d d Z ddZ ddZddZdS)r a Formatter instances are used to convert a LogRecord to text. Formatters need to know how a LogRecord is constructed. They are responsible for converting a LogRecord to (usually) a string which can be interpreted by either a human or an external system. The base Formatter allows a formatting string to be specified. If none is supplied, the the style-dependent default value, "%(message)s", "{message}", or "${message}", is used. The Formatter can be initialized with a format string which makes use of knowledge of the LogRecord attributes - e.g. the default value mentioned above makes use of the fact that the user's message and arguments are pre- formatted into a LogRecord's message attribute. Currently, the useful attributes in a LogRecord are described by: %(name)s Name of the logger (logging channel) %(levelno)s Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL) %(levelname)s Text logging level for the message ("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL") %(pathname)s Full pathname of the source file where the logging call was issued (if available) %(filename)s Filename portion of pathname %(module)s Module (name portion of filename) %(lineno)d Source line number where the logging call was issued (if available) %(funcName)s Function name %(created)f Time when the LogRecord was created (time.time() return value) %(asctime)s Textual time when the LogRecord was created %(msecs)d Millisecond portion of the creation time %(relativeCreated)d Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded (typically at application startup time) %(thread)d Thread ID (if available) %(threadName)s Thread name (if available) %(process)d Process ID (if available) %(message)s The result of record.getMessage(), computed just as the record is emitted NrcCsD|tkrtddjtjt|d||_|jj|_||_dS)a Initialize the formatter with specified format strings. Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format. Use a style parameter of '%', '{' or '$' to specify that you want to use one of %-formatting, :meth:`str.format` (``{}``) formatting or :class:`string.Template` formatting in your format string. .. versionchanged:: 3.2 Added the ``style`` parameter. zStyle must be one of: %s,rN)_STYLESrHjoinkeys_stylerdatefmt)rorrstyler7r7r8rts  zFormatter.__init__z%Y-%m-%d %H:%M:%Sz%s,%03dcCs@|j|j}|rtj||}ntj|j|}|j||jf}|S)a% Return the creation time of the specified LogRecord as formatted text. This method should be called from format() by a formatter which wants to make use of a formatted time. This method can be overridden in formatters to provide for any specific requirement, but the basic behaviour is as follows: if datefmt (a string) is specified, it is used with time.strftime() to format the creation time of the record. Otherwise, an ISO8601-like (or RFC 3339-like) format is used. The resulting string is returned. This function uses a user-configurable function to convert the creation time to a tuple. By default, time.localtime() is used; to change this for a particular formatter instance, set the 'converter' attribute to a function with the same signature as time.localtime() or time.gmtime(). To change it for all formatters, for example if you want all logging times to be shown in GMT, set the 'converter' attribute in the Formatter class. ) converterrdrQZstrftimedefault_time_formatdefault_msec_formatre)rorrrsstr7r7r8 formatTimes  zFormatter.formatTimecCsZtj}|d}tj|d|d|d||j}|j|dddkrV|dd}|S)z Format and return the specified exception information as a string. This default implementation just uses traceback.print_exception() r?rrON r)ioStringIO tracebackprint_exceptiongetvalueclose)roZeisiotbrr7r7r8formatException s zFormatter.formatExceptioncCs |jjS)zK Check if the format uses the creation time of the record. )rr)ror7r7r8rszFormatter.usesTimecCs |jj|S)N)rr)rorr7r7r8 formatMessage$szFormatter.formatMessagecCs|S)aU This method is provided as an extension point for specialized formatting of stack information. The input data is a string as returned from a call to :func:`traceback.print_stack`, but with the last trailing newline removed. The base implementation just returns the value passed in. r7)rorbr7r7r8 formatStack's zFormatter.formatStackcCs|j|_|jr"|j||j|_|j|}|jrF|jsF|j |j|_|jrn|dddkrd|d}||j}|j r|dddkr|d}||j |j }|S)az Format the specified record as text. The record's attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message. rONrrr) rvmessagerrrasctimerrArarrbr)rorrr7r7r8r4s   zFormatter.format)NNr)N)rwrxryrzrQZ localtimerrtrrrrrrrrr7r7r7r8r s)   c@s2eZdZdZd ddZddZddZd d ZdS) rzB A formatter suitable for formatting a number of records. NcCs|r ||_nt|_dS)zm Optionally specify a formatter which will be used to format each individual record. N)linefmt_defaultFormatter)rorr7r7r8rt]szBufferingFormatter.__init__cCsdS)zE Return the header string for the specified records. r~r7)rorecordsr7r7r8 formatHeadergszBufferingFormatter.formatHeadercCsdS)zE Return the footer string for the specified records. r~r7)rorr7r7r8 formatFootermszBufferingFormatter.formatFootercCsNd}t|dkrJ||j|}x|D]}||jj|}q$W||j|}|S)zQ Format the specified records and return the result as a string. r~r)rTrrrr)rorrJrr7r7r8rss  zBufferingFormatter.format)N)rwrxryrzrtrrrr7r7r7r8rYs  c@s"eZdZdZdddZddZdS) r a Filter instances are used to perform arbitrary filtering of LogRecords. Loggers and Handlers can optionally use Filter instances to filter records as desired. The base filter class only allows events which are below a certain point in the logger hierarchy. For example, a filter initialized with "A.B" will allow events logged by loggers "A.B", "A.B.C", "A.B.C.D", "A.B.D" etc. but not "A.BB", "B.A.B" etc. If initialized with the empty string, all events are passed. r~cCs||_t||_dS)z Initialize a filter. Initialize with the name of the logger which, together with its children, will have its events allowed through the filter. If no name is specified, allow every event. N)rRrTnlen)rorRr7r7r8rtszFilter.__init__cCsJ|jdkrdS|j|jkrdS|jj|jd|jdkr:dS|j|jdkS)z Determine if the specified record is to be logged. Is the specified record to be logged? Returns 0 for no, nonzero for yes. If deemed appropriate, the record may be modified in-place. rTF.)rrRr)rorr7r7r8filters  z Filter.filterN)r~)rwrxryrzrtrr7r7r7r8r s  c@s0eZdZdZddZddZddZdd Zd S) Filtererz[ A base class for loggers and handlers which allows them to share common code. cCs g|_dS)zE Initialize the list of filters to be an empty list. N)filters)ror7r7r8rtszFilterer.__init__cCs||jkr|jj|dS)z; Add the specified filter to this handler. N)rappend)rorr7r7r8 addFilters zFilterer.addFiltercCs||jkr|jj|dS)z@ Remove the specified filter from this handler. N)rremove)rorr7r7r8 removeFilters zFilterer.removeFiltercCs@d}x6|jD],}t|dr&|j|}n||}|s d}Pq W|S)ah Determine if a record is loggable by consulting all the filters. The default is to allow the record to be logged; any filter can veto this and the record is then dropped. Returns a zero value if a record is to be dropped, else non-zero. .. versionchanged:: 3.2 Allow filters to be just callables. TrF)rrmr)rorrJfr6r7r7r8rs    zFilterer.filterN)rwrxryrzrtrrrr7r7r7r8rs rc CsFttt}}}|rB|rB|rB|z||kr6|j|Wd|XdS)zD Remove a handler reference from the internal cleanup list. N)r9r: _handlerListr)wrrMrNhandlersr7r7r8_removeHandlerRefs rc Cs*tztjtj|tWdtXdS)zL Add a handler to the internal cleanup list using a weak reference. N)r9rrweakrefrefrr:)Zhandlerr7r7r8_addHandlerRefsrc@seZdZdZefddZddZddZeeeZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZd S)!r aq Handler instances dispatch logging events to specific destinations. The base handler class. Acts as a placeholder which defines the Handler interface. Handlers can optionally use Formatter instances to format records as desired. By default, no formatter is specified; in this case, the 'raw' message as determined by record.message is logged. cCs4tj|d|_t||_d|_t||jdS)zz Initializes the instance - basically setting the formatter to None and the filter list to empty. N)rrt_namerKr5 formatterr createLock)ror5r7r7r8rts   zHandler.__init__cCs|jS)N)r)ror7r7r8get_nameszHandler.get_namec Cs<tz(|jtkrt|j=||_|r,|t|<WdtXdS)N)r9r _handlersr:)rorRr7r7r8set_names  zHandler.set_namecCstrtj|_nd|_dS)zU Acquire a thread lock for serializing access to the underlying I/O. N)rhRLocklock)ror7r7r8r s zHandler.createLockcCs|jr|jjdS)z. Acquire the I/O thread lock. N)rrM)ror7r7r8rM)szHandler.acquirecCs|jr|jjdS)z. Release the I/O thread lock. N)rrN)ror7r7r8rN0szHandler.releasecCst||_dS)zX Set the logging level of this handler. level must be an int or a str. N)rKr5)ror5r7r7r8setLevel7szHandler.setLevelcCs|jr|j}nt}|j|S)z Format the specified record. If a formatter is set, use it. Otherwise, use the default formatter for the module. )rrr)rorrr7r7r8r=szHandler.formatcCs tddS)z Do whatever it takes to actually log the specified logging record. This version is intended to be implemented by subclasses and so raises a NotImplementedError. z.emit must be implemented by Handler subclassesN)NotImplementedError)rorr7r7r8emitJsz Handler.emitc Cs4|j|}|r0|jz|j|Wd|jX|S)a< Conditionally emit the specified logging record. Emission depends on filters which may have been added to the handler. Wrap the actual emission of the record with acquisition/release of the I/O thread lock. Returns whether the filter passed the record for emission. N)rrMrrN)rorrJr7r7r8handleTs  zHandler.handlecCs ||_dS)z5 Set the formatter for this handler. N)r)rorr7r7r8 setFormatterfszHandler.setFormattercCsdS)z Ensure all logging output has been flushed. This version does nothing and is intended to be implemented by subclasses. Nr7)ror7r7r8flushlsz Handler.flushc Cs0tz|jr |jtkr t|j=WdtXdS)a% Tidy up any resources used by the handler. This version removes the handler from an internal map of handlers, _handlers, which is used for handler lookup by name. Subclasses should ensure that this gets called from overridden close() methods. N)r9rrr:)ror7r7r8rus  z Handler.closecCs totjrtj\}}}zytjjdtj|||dtjtjjd|j}x&|rvtj j |j j t dkrv|j}qRW|rtj|tjdntjjd|j|jfytjjd|j|jfWn tk rtjjdYnXWntk rYnXWd~~~XdS) aD Handle errors which occur during an emit() call. This method should be called from handlers when an exception is encountered during an emit() call. If raiseExceptions is false, exceptions get silently ignored. This is what is mostly wanted for a logging system - most users will not care about errors in the logging system, they are more interested in application errors. You could, however, replace this with a custom handler if you wish. The record which was being processed is passed in to this method. z--- Logging error --- Nz Call stack: r)filezLogged from file %s, line %s zMessage: %r Arguments: %s zwUnable to print the message and arguments - possible formatting error. Use the traceback above to help find the error. )r,r=stderrrAwriterrrBrZr[dirnamef_code co_filename__path__rC print_stackr]rcrSrWr@OSError)rorrvrframer7r7r8 handleErrors.      zHandler.handleErrorcCst|j}d|jj|fS)Nz <%s (%s)>)rr5 __class__rw)ror5r7r7r8r{s zHandler.__repr__N)rwrxryrzrrtrrpropertyrRrrMrNrrrrrrrrr{r7r7r7r8r s"      -c@s6eZdZdZdZd ddZddZdd Zd d ZdS) rz A handler class which writes logging records, appropriately formatted, to a stream. Note that this class does not close the stream, as sys.stdout or sys.stderr may be used. rNcCs"tj||dkrtj}||_dS)zb Initialize the handler. If stream is not specified, sys.stderr is used. N)r rtr=rstream)rorr7r7r8rts zStreamHandler.__init__c Cs8|jz |jr&t|jdr&|jjWd|jXdS)z% Flushes the stream. rN)rMrrmrrN)ror7r7r8rs zStreamHandler.flushc CsVy2|j|}|j}|j||j|j|jWntk rP|j|YnXdS)a Emit a record. If a formatter is specified, it is used to format the record. The record is then written to the stream with a trailing newline. If exception information is present, it is formatted using traceback.print_exception and appended to the stream. If the stream has an 'encoding' attribute, it is used to determine how to do the output to the stream. N)rrr terminatorrr@r)rorrSrr7r7r8rs     zStreamHandler.emitcCs6t|j}t|jdd}|r$|d7}d|jj||fS)NrRr~ z <%s %s(%s)>)rr5getattrrrrw)ror5rRr7r7r8r{s  zStreamHandler.__repr__)N) rwrxryrzrrtrrr{r7r7r7r8rs   c@s:eZdZdZdddZddZd d Zd d Zd dZdS)r zO A handler class which writes formatted logging records to disk files. aNFcCsTtj|}tjj||_||_||_||_|r@tj |d|_ nt j ||j dS)zO Open the specified file and use it as the stream for logging. N) rZfspathr[abspath baseFilenamemodeencodingdelayr rtrr_open)ror]rrrr7r7r8rts  zFileHandler.__init__cCsb|jzJz8|jr@z |jWd|j}d|_t|dr>|jXWdtj|XWd|jXdS)z$ Closes the stream. Nr)rMrrrmrrrN)rorr7r7r8r s  zFileHandler.closecCst|j|j|jdS)zx Open the current base file with the (original) mode and encoding. Return the resulting stream. )r)openrrr)ror7r7r8r szFileHandler._opencCs$|jdkr|j|_tj||dS)z Emit a record. If the stream was not opened because 'delay' was specified in the constructor, open it before calling the superclass's emit. N)rrrr)rorr7r7r8r's  zFileHandler.emitcCst|j}d|jj|j|fS)Nz <%s %s (%s)>)rr5rrwr)ror5r7r7r8r{2s zFileHandler.__repr__)rNF) rwrxryrzrtrrrr{r7r7r7r8r s   c@s(eZdZdZefddZeddZdS)_StderrHandlerz This class is like a StreamHandler using sys.stderr, but always uses whatever sys.stderr is currently set to rather than the value of sys.stderr at handler construction time. cCstj||dS)z) Initialize the handler. N)r rt)ror5r7r7r8rt=sz_StderrHandler.__init__cCstjS)N)r=r)ror7r7r8rCsz_StderrHandler.streamN)rwrxryrzrrtrrr7r7r7r8r7s rc@s eZdZdZddZddZdS) PlaceHolderz PlaceHolder instances are used in the Manager logger hierarchy to take the place of nodes for which no loggers have been defined. This class is intended for internal use only and not as part of the public API. cCs|di|_dS)zY Initialize with the specified logger being a child of this placeholder. N) loggerMap)roaloggerr7r7r8rtUszPlaceHolder.__init__cCs||jkrd|j|<dS)zJ Add the specified logger as a child of this placeholder. N)r)rorr7r7r8r[s zPlaceHolder.appendN)rwrxryrzrtrr7r7r7r8rOsrcCs(|tkr t|ts td|j|adS)z Set the class to be used when instantiating a logger. The class should define __init__() such that only a name argument is required, and the __init__() should call Logger.__init__() z(logger not derived from logging.Logger: N)r issubclassrIrw _loggerClass)klassr7r7r8r%fs   cCstS)zB Return the class to be used when instantiating a logger. )rr7r7r7r8r!ssc@s@eZdZdZddZddZddZdd Zd d Zd d Z dS)Managerzt There is [under normal circumstances] just one Manager instance, which holds the hierarchy of loggers. cCs(||_d|_d|_i|_d|_d|_dS)zT Initialize the manager with the root node of the logger hierarchy. rFN)rootremittedNoHandlerWarning loggerDict loggerClasslogRecordFactory)roZrootnoder7r7r8rt~s zManager.__init__c Csd}t|tstdtz||jkrv|j|}t|tr|}|jpHt|}||_||j|<|j |||j |n(|jp~t|}||_||j|<|j |Wdt X|S)a Get a logger with the specified name (channel name), creating it if it doesn't yet exist. This name is a dot-separated hierarchical name, such as "a", "a.b", "a.b.c" or similar. If a PlaceHolder existed for the specified name [i.e. the logger didn't exist but a child of it did], replace it with the created logger and fix up the parent/child references which pointed to the placeholder to now point to the logger. NzA logger name must be a string) rErGrIr9rrrrmanager_fixupChildren _fixupParentsr:)rorRrJphr7r7r8r s(         zManager.getLoggercCs*|tkr t|ts td|j||_dS)zY Set the class to be used when instantiating a logger with this Manager. z(logger not derived from logging.Logger: N)rrrIrwr)rorr7r7r8r%s   zManager.setLoggerClasscCs ||_dS)zg Set the factory to be used when instantiating a log record with this Manager. N)r)ror}r7r7r8r*szManager.setLogRecordFactorycCs|j}|jd}d}xn|dkr| r|d|}||jkrJt||j|<n$|j|}t|trd|}n |j||jdd|d}qW|s|j}||_dS)z Ensure that there are either loggers or placeholders all the way from the specified logger to the root of the logger hierarchy. rNrrO) rRrfindrrrErrrparent)rorrRirJZsubstrobjr7r7r8rs      zManager._fixupParentscCsH|j}t|}x4|jjD]&}|jjd||kr|j|_||_qWdS)zk Ensure that children of the placeholder ph are connected to the specified logger. N)rRrTrrr)rorrrRZnamelencr7r7r8rs zManager._fixupChildrenN) rwrxryrzrtr r%r*rrr7r7r7r8rys " rc@seZdZdZefddZddZddZdd Zd d Z d d Z ddZ ddddZ ddZ e ZddZd2ddZd3ddZd4ddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1ZdS)5rar Instances of the Logger class represent a single logging channel. A "logging channel" indicates an area of an application. Exactly how an "area" is defined is up to the application developer. Since an application can have any number of areas, logging channels are identified by a unique string. Application areas can be nested (e.g. an area of "input processing" might include sub-areas "read CSV files", "read XLS files" and "read Gnumeric files"). To cater for this natural nesting, channel names are organized into a namespace hierarchy where levels are separated by periods, much like the Java or Python package namespace. So in the instance given above, channel names might be "input" for the upper level, and "input.csv", "input.xls" and "input.gnu" for the sub-levels. There is no arbitrary limit to the depth of nesting. cCs6tj|||_t||_d|_d|_g|_d|_dS)zJ Initialize the logger with a name and an optional level. NTF) rrtrRrKr5r propagaterdisabled)rorRr5r7r7r8rts  zLogger.__init__cCst||_dS)zW Set the logging level of this logger. level must be an int or a str. N)rKr5)ror5r7r7r8rszLogger.setLevelcOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'DEBUG'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.debug("Houston, we have a %s", "thorny problem", exc_info=1) N) isEnabledForr_log)rorSrWrrr7r7r8rs z Logger.debugcOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'INFO'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.info("Houston, we have a %s", "interesting problem", exc_info=1) N)rr r)rorSrWrrr7r7r8r"s z Logger.infocOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'WARNING'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.warning("Houston, we have a %s", "bit of a problem", exc_info=1) N)rrr)rorSrWrrr7r7r8r(s zLogger.warningcOs$tjdtd|j|f||dS)Nz6The 'warn' method is deprecated, use 'warning' insteadr?)warningsr'DeprecationWarningr()rorSrWrrr7r7r8r'*sz Logger.warncOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'ERROR'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.error("Houston, we have a %s", "major problem", exc_info=1) N)rrr)rorSrWrrr7r7r8r/s z Logger.errorT)rAcOs|j|f|d|i|dS)zU Convenience method for logging an ERROR with exception information. rAN)r)rorSrArWrrr7r7r8r;szLogger.exceptioncOs |jtr|jt||f|dS)z Log 'msg % args' with severity 'CRITICAL'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.critical("Houston, we have a %s", "major disaster", exc_info=1) N)rrr)rorSrWrrr7r7r8rAs zLogger.criticalcOs<t|tstrtdndS|j|r8|j|||f|dS)z Log 'msg % args' with the integer severity 'level'. To pass exception information, use the keyword argument exc_info with a true value, e.g. logger.log(level, "We have a %s", "mysterious problem", exc_info=1) zlevel must be an integerN)rErFr,rIrr)ror5rSrWrrr7r7r8r#Os   z Logger.logFcCst}|dk r|j}d }xt|dr|j}tjj|j}|tkrH|j}qd}|rt j }|j dt j ||d|j}|d d kr|dd }|j|j|j|j|f}PqW|S) z Find the stack frame of the caller so that we can note the source file name, line number and function name. N(unknown file)r(unknown function)rzStack (most recent call last): )rrOr)r rr Nrr)rDrCrmrrZr[normcaser_srcfilerrrrrrrf_linenoco_name)rorbrrJcor]rqrr7r7r8 findCaller`s,    zLogger.findCallerNc Cs^t||||||||| } | dk rZx8| D]0} | dks<| | jkrHtd| | | | j| <q&W| S)zr A factory method which can be overridden in subclasses to create specialized LogRecords. Nrrz$Attempt to overwrite %r in LogRecord)rr)r|rKeyError) rorRr5fnlnorSrWrArpextrarqrJkeyr7r7r8 makeRecord~s  zLogger.makeRecordc Csd}tr@y|j|\}} } }WqJtk r<d\}} } YqJXn d\}} } |r|t|trjt|||jf}nt|ts|tj }|j |j ||| |||| || } |j | dS)z Low-level logging routine which creates a LogRecord and then calls all the handlers of this logger to handle the record. N(unknown file)r(unknown function))rrr)rrr) r rrHrE BaseExceptiontype __traceback__tupler=rArrRr) ror5rSrWrArrbrqrrrprr7r7r8rs    z Logger._logcCs |j r|j|r|j|dS)z Call the handlers for the specified record. This method is used for unpickled records received from a socket, as well as those created locally. Logger-level filtering is applied. N)rr callHandlers)rorr7r7r8rsz Logger.handlec Cs.tz||jkr|jj|WdtXdS)z; Add the specified handler to this logger. N)r9rrr:)rohdlrr7r7r8 addHandlers  zLogger.addHandlerc Cs.tz||jkr|jj|WdtXdS)z@ Remove the specified handler from this logger. N)r9rrr:)rorr7r7r8 removeHandlers  zLogger.removeHandlercCs2|}d}x$|r,|jrd}P|js$Pq |j}q W|S)a See if this logger has any handlers configured. Loop through all handlers for this logger and its parents in the logger hierarchy. Return True if a handler was found, else False. Stop searching up the hierarchy whenever a logger with the "propagate" attribute set to zero is found - that will be the last logger which is checked for the existence of handlers. FT)rrr)rorrJr7r7r8 hasHandlerss  zLogger.hasHandlerscCs|}d}xH|rPx,|jD]"}|d}|j|jkr|j|qW|jsHd}q |j}q W|dkrtrv|jtjkrtj|n(tr|jj rt j j d|j d|j_ dS)a Pass a record to all relevant handlers. Loop through all handlers for this logger and its parents in the logger hierarchy. If no handler was found, output a one-off error message to sys.stderr. Stop searching up the hierarchy whenever a logger with the "propagate" attribute set to zero is found - that will be the last logger whose handlers are called. rrONz+No handlers could be found for logger "%s" T)rrXr5rrrr+r,rrr=rrrR)rorrfoundrr7r7r8rs$       zLogger.callHandlerscCs$|}x|r|jr|jS|j}qWtS)z Get the effective level for this logger. Loop through this logger and its parents in the logger hierarchy, looking for a non-zero logging level. Return the first one found. )r5rr)rologgerr7r7r8getEffectiveLevels  zLogger.getEffectiveLevelcCs|jj|krdS||jkS)z; Is this logger enabled for level 'level'? F)rrr$)ror5r7r7r8rs zLogger.isEnabledForcCs&|j|k rdj|j|f}|jj|S)ab Get a logger which is a descendant to this one. This is a convenience method, such that logging.getLogger('abc').getChild('def.ghi') is the same as logging.getLogger('abc.def.ghi') It's useful, for example, when the parent logger is named using __name__ rather than a literal string. r)rrrRrr )rosuffixr7r7r8getChilds zLogger.getChildcCs t|j}d|jj|j|fS)Nz <%s %s (%s)>)rr$rrwrR)ror5r7r7r8r{#s zLogger.__repr__)F)NNN)NNF)rwrxryrzrrtrrr"r(r'rrrrr#rrrrrr r!rr$rr&r{r7r7r7r8rs0            c@seZdZdZddZdS) RootLoggerz A root logger is not that different to any other logger, except that it must have a logging level and there is only one instance of it in the hierarchy. cCstj|d|dS)z= Initialize the logger with the name "root". rN)rrt)ror5r7r7r8rt.szRootLogger.__init__N)rwrxryrzrtr7r7r7r8r'(sr'c@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddddZ ddZ ddZ ddZddZddZddZd+d"d#Zed$d%Zejd&d%Zed'd(Zd)d*Zd S),rzo An adapter for loggers which makes it easier to specify contextual information in logging output. cCs||_||_dS)ax Initialize the adapter with a logger and a dict-like object which provides contextual information. This constructor signature allows easy stacking of LoggerAdapters, if so desired. You can effectively pass keyword arguments as shown in the following example: adapter = LoggerAdapter(someLogger, dict(p1=v1, p2="v2")) N)r#r)ror#rr7r7r8rt<s zLoggerAdapter.__init__cCs|j|d<||fS)a Process the logging message and keyword arguments passed in to a logging call to insert contextual information. You can either manipulate the message itself, the keyword args or both. Return the message and kwargs modified (or not) to suit your needs. Normally, you'll only need to override this one method in a LoggerAdapter subclass for your specific needs. r)r)rorSrrr7r7r8rnJs zLoggerAdapter.processcOs|jt|f||dS)zA Delegate a debug call to the underlying logger. N)r#r)rorSrWrrr7r7r8rZszLoggerAdapter.debugcOs|jt|f||dS)zA Delegate an info call to the underlying logger. N)r#r )rorSrWrrr7r7r8r"`szLoggerAdapter.infocOs|jt|f||dS)zC Delegate a warning call to the underlying logger. N)r#r)rorSrWrrr7r7r8r(fszLoggerAdapter.warningcOs$tjdtd|j|f||dS)Nz6The 'warn' method is deprecated, use 'warning' insteadr?)rr'rr()rorSrWrrr7r7r8r'lszLoggerAdapter.warncOs|jt|f||dS)zB Delegate an error call to the underlying logger. N)r#r)rorSrWrrr7r7r8rqszLoggerAdapter.errorT)rAcOs |jt|f|d|i|dS)zF Delegate an exception call to the underlying logger. rAN)r#r)rorSrArWrrr7r7r8rwszLoggerAdapter.exceptioncOs|jt|f||dS)zD Delegate a critical call to the underlying logger. N)r#r)rorSrWrrr7r7r8r}szLoggerAdapter.criticalcOs4|j|r0|j||\}}|jj||f||dS)z Delegate a log call to the underlying logger, after adding contextual information from this adapter instance. N)rrnr#r#)ror5rSrWrrr7r7r8r#s zLoggerAdapter.logcCs|jjj|krdS||jkS)z; Is this logger enabled for level 'level'? F)r#rrr$)ror5r7r7r8rszLoggerAdapter.isEnabledForcCs|jj|dS)zC Set the specified level on the underlying logger. N)r#r)ror5r7r7r8rszLoggerAdapter.setLevelcCs |jjS)zD Get the effective level for the underlying logger. )r#r$)ror7r7r8r$szLoggerAdapter.getEffectiveLevelcCs |jjS)z@ See if the underlying logger has any handlers. )r#r!)ror7r7r8r!szLoggerAdapter.hasHandlersNFcCs|jj||||||dS)zX Low-level log implementation, proxied to allow nested logger adapters. )rArrb)r#r)ror5rSrWrArrbr7r7r8rszLoggerAdapter._logcCs|jjS)N)r#r)ror7r7r8rszLoggerAdapter.managercCs ||j_dS)N)r#r)rovaluer7r7r8rscCs|jjS)N)r#rR)ror7r7r8rRszLoggerAdapter.namecCs&|j}t|j}d|jj|j|fS)Nz <%s %s (%s)>)r#rr$rrwrR)ror#r5r7r7r8r{s zLoggerAdapter.__repr__)NNF)rwrxryrzrtrnrr"r(r'rrrr#rrr$r!rrrsetterrRr{r7r7r7r8r6s(   c Kstzjttjdkrp|jdd}|dkrHd|kr`d|kr`tdnd|ksXd|kr`td|dkr|jdd}|jdd }|rt||}n|jdd}t|}|g}|jd d}|jd d }|tkrtd dj tj |jdt|d}t |||} x.|D]&}|j dkr |j | tj|qW|jdd} | dk rPtj| |rpdj |j } td| WdtXdS)a Do basic configuration for the logging system. This function does nothing if the root logger already has handlers configured. It is a convenience method intended for use by simple scripts to do one-shot configuration of the logging package. The default behaviour is to create a StreamHandler which writes to sys.stderr, set a formatter using the BASIC_FORMAT format string, and add the handler to the root logger. A number of optional keyword arguments may be specified, which can alter the default behaviour. filename Specifies that a FileHandler be created, using the specified filename, rather than a StreamHandler. filemode Specifies the mode to open the file, if filename is specified (if filemode is unspecified, it defaults to 'a'). format Use the specified format string for the handler. datefmt Use the specified date/time format. style If a format string is specified, use this to specify the type of format string (possible values '%', '{', '$', for %-formatting, :meth:`str.format` and :class:`string.Template` - defaults to '%'). level Set the root logger level to the specified level. stream Use the specified stream to initialize the StreamHandler. Note that this argument is incompatible with 'filename' - if both are present, 'stream' is ignored. handlers If specified, this should be an iterable of already created handlers, which will be added to the root handler. Any handler in the list which does not have a formatter assigned will be assigned the formatter created in this function. Note that you could specify a stream created using open(filename, mode) rather than passing the filename and mode in. However, it should be remembered that StreamHandler does not close its stream (since it may be using sys.stdout or sys.stderr), whereas FileHandler closes its stream when the handler is closed. .. versionchanged:: 3.2 Added the ``style`` parameter. .. versionchanged:: 3.3 Added the ``handlers`` parameter. A ``ValueError`` is now thrown for incompatible arguments (e.g. ``handlers`` specified together with ``filename``/``filemode``, or ``filename``/``filemode`` specified together with ``stream``, or ``handlers`` specified together with ``stream``. rrNrr]z8'stream' and 'filename' should not be specified togetherzG'stream' or 'filename' should not be specified together with 'handlers'filemoderrrrzStyle must be one of: %srrrOr5z, zUnrecognised argument(s): %s)r9rTrrpoprHr rrrrr rrrrr:) rrrr]rhrZdfsrZfsrr5rr7r7r8rsF4               cCs|rtjj|StSdS)z Return a logger with the specified name, creating it if necessary. If no name is specified, return the root logger. N)rrr r)rRr7r7r8r .s cOs*ttjdkrttj|f||dS)z Log a message with severity 'CRITICAL' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr)rSrWrrr7r7r8r9scOs*ttjdkrttj|f||dS)z Log a message with severity 'ERROR' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr)rSrWrrr7r7r8rEs)rAcOst|f|d|i|dS)z Log a message with severity 'ERROR' on the root logger, with exception information. If the logger has no handlers, basicConfig() is called to add a console handler with a pre-defined format. rAN)r)rSrArWrrr7r7r8rOscOs*ttjdkrttj|f||dS)z Log a message with severity 'WARNING' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr()rSrWrrr7r7r8r(WscOs"tjdtdt|f||dS)Nz8The 'warn' function is deprecated, use 'warning' insteadr?)rr'rr()rSrWrrr7r7r8r'ascOs*ttjdkrttj|f||dS)z Log a message with severity 'INFO' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr")rSrWrrr7r7r8r"fscOs*ttjdkrttj|f||dS)z Log a message with severity 'DEBUG' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr)rSrWrrr7r7r8rpscOs,ttjdkrttj||f||dS)z Log 'msg % args' with the integer severity 'level' on the root logger. If the logger has no handlers, call basicConfig() to add a console handler with a pre-defined format. rN)rTrrrr#)r5rSrWrrr7r7r8r#zscCs |tj_dS)zB Disable all logging calls of severity 'level' and below. N)rrr)r5r7r7r8rscCsxt|ddD]l}yT|}|rhz:y|j|j|jWnttfk rXYnXWd|jXWqtrxYqXqWdS)z Perform any cleanup actions in the logging system (e.g. flushing buffers). Should be called at application exit. N)reversedrMrrrrHrNr,)Z handlerListrr,r7r7r8r&s  c@s(eZdZdZddZddZddZdS) ra This handler does nothing. It's intended to be used to avoid the "No handlers could be found for logger XXX" one-off warning. This is important for library code, which may contain code to log events. If a user of the library does not configure logging, the one-off warning might be produced; to avoid this, the library developer simply needs to instantiate a NullHandler and add it to the top-level logger of the library module or package. cCsdS)zStub.Nr7)rorr7r7r8rszNullHandler.handlecCsdS)zStub.Nr7)rorr7r7r8rszNullHandler.emitcCs d|_dS)N)r)ror7r7r8rszNullHandler.createLockN)rwrxryrzrrrr7r7r7r8rs cCs`|dk r$tdk r\t||||||n8tj|||||}td}|jsP|jt|jd|dS)a Implementation of showwarnings which redirects to logging, which will first check to see if the file parameter is None. If a file is specified, it will delegate to the original warnings implementation of showwarning. Otherwise, it will call warnings.formatwarning and will log the resulting string to a warnings logger named "py.warnings" with level logging.WARNING. Nz py.warningsz%s)_warnings_showwarningr formatwarningr rrrr()rcategoryr]rcrlinerr#r7r7r8 _showwarnings r2cCs0|rtdkr,tjatt_ntdk r,tt_dadS)z If capture is true, redirect all warnings to the logging package. If capture is False, ensure that warnings are not redirected to logging but to their original destinations. N)r.r showwarningr2)Zcapturer7r7r8rs)N)NN)grzr=rZrQrrrrrUstringr__all__rh ImportError __author__Z __status__ __version__Z__date__rfr,rgrjrlrrrrrr rrr2r4rrrmrDr[r __code__rr rKrrLr9r:objectrr|r*r)r$rrrrrr rrr rWeakValueDictionaryrrrrr rr rZ_defaultLastResortr+rr%r!rrr'rrrrrr rrrrr(r'r"rr#rr&atexitregisterrr.r2rr7r7r7r8s@                  i   .*%4 >;E lE  b          PKTe[O__init__.cpython-36.opt-2.pycnu[3 \e*@sddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,g*Z y ddl Z Wne k rdZ YnXd-Z d.Zd/Zd0ZejZd1Zd1Zd1Zd1Zd2ZeZd3Zd4ZeZd5Zd6ZdZedededed edediZeeeeeeeed7Zd8dZ d9dZ!e"ed:rjd;d<Z#nd=d>Z#ej$j%e!j&j'Z(d?d@Z)e re j*Z+ndZ+dAdBZ,dCdDZ-GdEdde.Z/e/a0dFd*Z1dGd)Z2dHd$Z3GdIdJdJe.Z4GdKdLdLe4Z5GdMdNdNe4Z6dOZ7e4e7fe5dPfe6dQfdRZ8GdSd d e.Z9e9Z:GdTdde.Z;GdUd d e.ZZ?gZ@dXdYZAdZd[ZBGd\d d e=ZCGd]ddeCZDGd^d d eDZEGd_d`d`eDZFeFeZGeGZHGdadbdbe.ZIdcd%ZJddd!ZKGdedfdfe.ZLGdgdde=ZMGdhdidieMZNeMaOGdjdde.ZPeNeZQeQeM_QeLeMjQeM_RdkdZSd|dld ZTdmdZUeUZVdndZWd1dodpdZXdqd(ZYdrd'ZZdsd"Z[dtdZ\dud#Z]dvdZ^e@fdwd&Z_ddl`Z`e`jae_GdxddeCZbdacd}dydzZdd{dZedS)~N)Template BASIC_FORMATBufferingFormatterCRITICALDEBUGERRORFATAL FileHandlerFilter FormatterHandlerINFO LogRecordLogger LoggerAdapterNOTSET NullHandler StreamHandlerWARNWARNING addLevelName basicConfigcaptureWarningscriticaldebugdisableerror exceptionfatal getLevelName getLoggergetLoggerClassinfolog makeLogRecordsetLoggerClassshutdownwarnwarninggetLogRecordFactorysetLogRecordFactory lastResortraiseExceptionsz&Vinay Sajip Z productionz0.5.1.2z07 February 2010T2( )rrrrrr rrcCs4tj|}|dk r|Stj|}|dk r,|Sd|S)NzLevel %s) _levelToNameget _nameToLevel)levelresultr7(/usr/lib64/python3.6/logging/__init__.pyrxs  c Cs(tz|t|<|t|<WdtXdS)N) _acquireLockr2r4 _releaseLock)r5Z levelNamer7r7r8rs   _getframecCs tjdS)N)sysr;r7r7r7r8sr>c Cs.ytWn tk r(tjdjjSXdS)N) Exceptionr=exc_infotb_framef_backr7r7r7r8 currentframesrDcCsJt|tr|}n6t||kr:|tkr0td|t|}n td||S)NzUnknown level: %rz*Level not an integer or a valid string: %r) isinstanceintstrr4 ValueError TypeError)r5rvr7r7r8 _checkLevels     rKcCstr tjdS)N)_lockacquirer7r7r7r8r9sr9cCstr tjdS)N)rLreleaser7r7r7r8r:sr:c@s*eZdZdddZddZeZddZdS) rNc Kstj} ||_||_|rDt|dkrDt|dtjrD|drD|d}||_t||_ ||_ ||_ y&t j j||_t j j|jd|_Wn&tttfk r||_d|_YnX||_d|_| |_||_||_| |_| t| d|_|jtd|_tot rt j!|_"t j#j|_$n d|_"d|_$t%s0d|_&nDd|_&t'j(j)d} | dk rty| j*j|_&Wnt+k rrYnXt,rt-t drt j.|_/nd|_/dS)NrzUnknown moduleiZ MainProcessZmultiprocessinggetpid)0timenamemsglenrE collectionsMappingargsrZ levelnamelevelnopathnameospathbasenamefilenamesplitextmodulerIrHAttributeErrorrAexc_text stack_infolinenoZfuncNamecreatedrFmsecs _startTimeZrelativeCreated logThreads threading get_identZthreadZcurrent_threadZ threadNamelogMultiprocessingZ processNamer=modulesr3Zcurrent_processr@ logProcesseshasattrrPprocess) selfrRr5rYrcrSrWrAfuncsinfokwargsctZmpr7r7r8__init__sR        zLogRecord.__init__cCsd|j|j|j|j|jfS)Nz!)rRrXrYrcrS)ror7r7r8__str__Cs zLogRecord.__str__cCst|j}|jr||j}|S)N)rGrSrW)rorSr7r7r8 getMessageIs  zLogRecord.getMessage)NN)__name__ __module__ __qualname__rtru__repr__rvr7r7r7r8rs GcCs|adS)N)_logRecordFactory)factoryr7r7r8r*ZscCstS)N)r{r7r7r7r8r)dsc Cs&tdddddfdd}|jj||S)Nr)r{__dict__update)dictrJr7r7r8r$ks c@s0eZdZdZdZdZddZddZdd Zd S) PercentStylez %(message)sz %(asctime)sz %(asctime)cCs|p|j|_dS)N)default_format_fmt)rofmtr7r7r8rtszPercentStyle.__init__cCs|jj|jdkS)Nr)rfindasctime_search)ror7r7r8usesTimeszPercentStyle.usesTimecCs |j|jS)N)rr~)rorecordr7r7r8formatszPercentStyle.formatN) rwrxryrasctime_formatrrtrrr7r7r7r8rzs rc@s eZdZdZdZdZddZdS)StrFormatStylez {message}z {asctime}z{asctimecCs|jjf|jS)N)rrr~)rorr7r7r8rszStrFormatStyle.formatN)rwrxryrrrrr7r7r7r8rsrc@s0eZdZdZdZdZddZddZddZd S) StringTemplateStylez ${message}z ${asctime}cCs|p|j|_t|j|_dS)N)rrr_tpl)rorr7r7r8rts zStringTemplateStyle.__init__cCs$|j}|jddkp"|j|jdkS)Nz$asctimer)rrr)rorr7r7r8rszStringTemplateStyle.usesTimecCs|jjf|jS)N)rZ substituter~)rorr7r7r8rszStringTemplateStyle.formatN) rwrxryrrrrtrrr7r7r7r8rs rz"%(levelname)s:%(name)s:%(message)sz{levelname}:{name}:{message}z${levelname}:${name}:${message})%{$c@sVeZdZejZdddZdZdZdddZ d d Z d d Z d dZ ddZ ddZdS)r NrcCsD|tkrtddjtjt|d||_|jj|_||_dS)NzStyle must be one of: %s,r)_STYLESrHjoinkeys_stylerdatefmt)rorrstyler7r7r8rts  zFormatter.__init__z%Y-%m-%d %H:%M:%Sz%s,%03dcCs@|j|j}|rtj||}ntj|j|}|j||jf}|S)N) converterrdrQZstrftimedefault_time_formatdefault_msec_formatre)rorrrsstr7r7r8 formatTimes  zFormatter.formatTimecCsZtj}|d}tj|d|d|d||j}|j|dddkrV|dd}|S)Nr?rrO r)ioStringIO tracebackprint_exceptiongetvalueclose)roZeisiotbrr7r7r8formatException s zFormatter.formatExceptioncCs |jjS)N)rr)ror7r7r8rszFormatter.usesTimecCs |jj|S)N)rr)rorr7r7r8 formatMessage$szFormatter.formatMessagecCs|S)Nr7)rorbr7r7r8 formatStack's zFormatter.formatStackcCs|j|_|jr"|j||j|_|j|}|jrF|jsF|j |j|_|jrn|dddkrd|d}||j}|j r|dddkr|d}||j |j }|S)NrOrrr) rvmessagerrrasctimerrArarrbr)rorrr7r7r8r4s   zFormatter.format)NNr)N)rwrxryrQZ localtimerrtrrrrrrrrr7r7r7r8r s+   c@s.eZdZd ddZddZddZdd ZdS) rNcCs|r ||_nt|_dS)N)linefmt_defaultFormatter)rorr7r7r8rt]szBufferingFormatter.__init__cCsdS)Nr}r7)rorecordsr7r7r8 formatHeadergszBufferingFormatter.formatHeadercCsdS)Nr}r7)rorr7r7r8 formatFootermszBufferingFormatter.formatFootercCsNd}t|dkrJ||j|}x|D]}||jj|}q$W||j|}|S)Nr}r)rTrrrr)rorrJrr7r7r8rss  zBufferingFormatter.format)N)rwrxryrtrrrr7r7r7r8rYs c@seZdZdddZddZdS)r r}cCs||_t||_dS)N)rRrTnlen)rorRr7r7r8rtszFilter.__init__cCsJ|jdkrdS|j|jkrdS|jj|jd|jdkr:dS|j|jdkS)NrTF.)rrRr)rorr7r7r8filters  z Filter.filterN)r})rwrxryrtrr7r7r7r8r s c@s,eZdZddZddZddZddZd S) FilterercCs g|_dS)N)filters)ror7r7r8rtszFilterer.__init__cCs||jkr|jj|dS)N)rappend)rorr7r7r8 addFilters zFilterer.addFiltercCs||jkr|jj|dS)N)rremove)rorr7r7r8 removeFilters zFilterer.removeFiltercCs@d}x6|jD],}t|dr&|j|}n||}|s d}Pq W|S)NTrF)rrmr)rorrJfr6r7r7r8rs    zFilterer.filterN)rwrxryrtrrrr7r7r7r8rsrc CsFttt}}}|rB|rB|rB|z||kr6|j|Wd|XdS)N)r9r: _handlerListr)wrrMrNhandlersr7r7r8_removeHandlerRefs rc Cs*tztjtj|tWdtXdS)N)r9rrweakrefrefrr:)Zhandlerr7r7r8_addHandlerRefsrc@seZdZefddZddZddZeeeZddZ d d Z d d Z d dZ ddZ ddZddZddZddZddZddZddZdS) r cCs4tj|d|_t||_d|_t||jdS)N)rrt_namerKr5 formatterr createLock)ror5r7r7r8rts   zHandler.__init__cCs|jS)N)r)ror7r7r8get_nameszHandler.get_namec Cs<tz(|jtkrt|j=||_|r,|t|<WdtXdS)N)r9r _handlersr:)rorRr7r7r8set_names  zHandler.set_namecCstrtj|_nd|_dS)N)rhRLocklock)ror7r7r8r s zHandler.createLockcCs|jr|jjdS)N)rrM)ror7r7r8rM)szHandler.acquirecCs|jr|jjdS)N)rrN)ror7r7r8rN0szHandler.releasecCst||_dS)N)rKr5)ror5r7r7r8setLevel7szHandler.setLevelcCs|jr|j}nt}|j|S)N)rrr)rorrr7r7r8r=szHandler.formatcCs tddS)Nz.emit must be implemented by Handler subclasses)NotImplementedError)rorr7r7r8emitJsz Handler.emitc Cs4|j|}|r0|jz|j|Wd|jX|S)N)rrMrrN)rorrJr7r7r8handleTs  zHandler.handlecCs ||_dS)N)r)rorr7r7r8 setFormatterfszHandler.setFormattercCsdS)Nr7)ror7r7r8flushlsz Handler.flushc Cs0tz|jr |jtkr t|j=WdtXdS)N)r9rrr:)ror7r7r8rus  z Handler.closecCs totjrtj\}}}zytjjdtj|||dtjtjjd|j}x&|rvtj j |j j t dkrv|j}qRW|rtj|tjdntjjd|j|jfytjjd|j|jfWn tk rtjjdYnXWntk rYnXWd~~~XdS)Nz--- Logging error --- z Call stack: r)filezLogged from file %s, line %s zMessage: %r Arguments: %s zwUnable to print the message and arguments - possible formatting error. Use the traceback above to help find the error. )r,r=stderrrAwriterrrBrZr[dirnamef_code co_filename__path__rC print_stackr]rcrSrWr@OSError)rorrvrframer7r7r8 handleErrors.      zHandler.handleErrorcCst|j}d|jj|fS)Nz <%s (%s)>)rr5 __class__rw)ror5r7r7r8rzs zHandler.__repr__N)rwrxryrrtrrpropertyrRrrMrNrrrrrrrrrzr7r7r7r8r s       -c@s2eZdZdZd ddZddZddZd d ZdS) rrNcCs"tj||dkrtj}||_dS)N)r rtr=rstream)rorr7r7r8rts zStreamHandler.__init__c Cs8|jz |jr&t|jdr&|jjWd|jXdS)Nr)rMrrmrrN)ror7r7r8rs zStreamHandler.flushc CsVy2|j|}|j}|j||j|j|jWntk rP|j|YnXdS)N)rrr terminatorrr@r)rorrSrr7r7r8rs     zStreamHandler.emitcCs6t|j}t|jdd}|r$|d7}d|jj||fS)NrRr} z <%s %s(%s)>)rr5getattrrrrw)ror5rRr7r7r8rzs  zStreamHandler.__repr__)N)rwrxryrrtrrrzr7r7r7r8rs   c@s6eZdZdddZddZdd Zd d Zd d ZdS)r aNFcCsTtj|}tjj||_||_||_||_|r@tj |d|_ nt j ||j dS)N) rZfspathr[abspath baseFilenamemodeencodingdelayr rtrr_open)ror]rrrr7r7r8rts  zFileHandler.__init__cCsb|jzJz8|jr@z |jWd|j}d|_t|dr>|jXWdtj|XWd|jXdS)Nr)rMrrrmrrrN)rorr7r7r8r s  zFileHandler.closecCst|j|j|jdS)N)r)openrrr)ror7r7r8r szFileHandler._opencCs$|jdkr|j|_tj||dS)N)rrrr)rorr7r7r8r's  zFileHandler.emitcCst|j}d|jj|j|fS)Nz <%s %s (%s)>)rr5rrwr)ror5r7r7r8rz2s zFileHandler.__repr__)rNF)rwrxryrtrrrrzr7r7r7r8r s   c@s$eZdZefddZeddZdS)_StderrHandlercCstj||dS)N)r rt)ror5r7r7r8rt=sz_StderrHandler.__init__cCstjS)N)r=r)ror7r7r8rCsz_StderrHandler.streamN)rwrxryrrtrrr7r7r7r8r7s rc@seZdZddZddZdS) PlaceHoldercCs|di|_dS)N) loggerMap)roaloggerr7r7r8rtUszPlaceHolder.__init__cCs||jkrd|j|<dS)N)r)rorr7r7r8r[s zPlaceHolder.appendN)rwrxryrtrr7r7r7r8rOsrcCs(|tkr t|ts td|j|adS)Nz(logger not derived from logging.Logger: )r issubclassrIrw _loggerClass)klassr7r7r8r%fs   cCstS)N)rr7r7r7r8r!ssc@s<eZdZddZddZddZddZd d Zd d Zd S)ManagercCs(||_d|_d|_i|_d|_d|_dS)NrF)rootremittedNoHandlerWarning loggerDict loggerClasslogRecordFactory)roZrootnoder7r7r8rt~s zManager.__init__c Csd}t|tstdtz||jkrv|j|}t|tr|}|jpHt|}||_||j|<|j |||j |n(|jp~t|}||_||j|<|j |Wdt X|S)NzA logger name must be a string) rErGrIr9rrrrmanager_fixupChildren _fixupParentsr:)rorRrJphr7r7r8r s(         zManager.getLoggercCs*|tkr t|ts td|j||_dS)Nz(logger not derived from logging.Logger: )rrrIrwr)rorr7r7r8r%s   zManager.setLoggerClasscCs ||_dS)N)r)ror|r7r7r8r*szManager.setLogRecordFactorycCs|j}|jd}d}xn|dkr| r|d|}||jkrJt||j|<n$|j|}t|trd|}n |j||jdd|d}qW|s|j}||_dS)NrrrO) rRrfindrrrErrrparent)rorrRirJZsubstrobjr7r7r8rs      zManager._fixupParentscCsH|j}t|}x4|jjD]&}|jjd||kr|j|_||_qWdS)N)rRrTrrr)rorrrRZnamelencr7r7r8rs zManager._fixupChildrenN) rwrxryrtr r%r*rrr7r7r7r8rys  " rc@seZdZefddZddZddZddZd d Zd d Z d dZ ddddZ ddZ e Z ddZd1ddZd2ddZd3ddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0ZdS)4rcCs6tj|||_t||_d|_d|_g|_d|_dS)NTF) rrtrRrKr5r propagaterdisabled)rorRr5r7r7r8rts  zLogger.__init__cCst||_dS)N)rKr5)ror5r7r7r8rszLogger.setLevelcOs |jtr|jt||f|dS)N) isEnabledForr_log)rorSrWrrr7r7r8rs z Logger.debugcOs |jtr|jt||f|dS)N)rr r)rorSrWrrr7r7r8r"s z Logger.infocOs |jtr|jt||f|dS)N)rrr)rorSrWrrr7r7r8r(s zLogger.warningcOs$tjdtd|j|f||dS)Nz6The 'warn' method is deprecated, use 'warning' insteadr?)warningsr'DeprecationWarningr()rorSrWrrr7r7r8r'*sz Logger.warncOs |jtr|jt||f|dS)N)rrr)rorSrWrrr7r7r8r/s z Logger.errorT)rAcOs|j|f|d|i|dS)NrA)r)rorSrArWrrr7r7r8r;szLogger.exceptioncOs |jtr|jt||f|dS)N)rrr)rorSrWrrr7r7r8rAs zLogger.criticalcOs<t|tstrtdndS|j|r8|j|||f|dS)Nzlevel must be an integer)rErFr,rIrr)ror5rSrWrrr7r7r8r#Os   z Logger.logFcCst}|dk r|j}d }xt|dr|j}tjj|j}|tkrH|j}qd}|rt j }|j dt j ||d|j}|d dkr|dd }|j|j|j|j|f}PqW|S) N(unknown file)r(unknown function)rzStack (most recent call last): )rrOr)rrr Nrr)rDrCrmrrZr[normcaser_srcfilerrrrrrrf_linenoco_name)rorbrrJcor]rqrr7r7r8 findCaller`s,    zLogger.findCallerNc Cs^t||||||||| } | dk rZx8| D]0} | dks<| | jkrHtd| | | | j| <q&W| S)Nrrz$Attempt to overwrite %r in LogRecord)rr)r{r~KeyError) rorRr5fnlnorSrWrArpextrarqrJkeyr7r7r8 makeRecord~s  zLogger.makeRecordc Csd}tr@y|j|\}} } }WqJtk r<d\}} } YqJXn d\}} } |r|t|trjt|||jf}nt|ts|tj }|j |j ||| |||| || } |j | dS)N(unknown file)r(unknown function))rrr)rrr) r rrHrE BaseExceptiontype __traceback__tupler=rArrRr) ror5rSrWrArrbrqrrrprr7r7r8rs    z Logger._logcCs |j r|j|r|j|dS)N)rr callHandlers)rorr7r7r8rsz Logger.handlec Cs.tz||jkr|jj|WdtXdS)N)r9rrr:)rohdlrr7r7r8 addHandlers  zLogger.addHandlerc Cs.tz||jkr|jj|WdtXdS)N)r9rrr:)rorr7r7r8 removeHandlers  zLogger.removeHandlercCs2|}d}x$|r,|jrd}P|js$Pq |j}q W|S)NFT)rrr)rorrJr7r7r8 hasHandlerss  zLogger.hasHandlerscCs|}d}xH|rPx,|jD]"}|d}|j|jkr|j|qW|jsHd}q |j}q W|dkrtrv|jtjkrtj|n(tr|jj rt j j d|j d|j_ dS)NrrOz+No handlers could be found for logger "%s" T)rrXr5rrrr+r,rrr=rrrR)rorrfoundrr7r7r8rs$       zLogger.callHandlerscCs$|}x|r|jr|jS|j}qWtS)N)r5rr)rologgerr7r7r8getEffectiveLevels  zLogger.getEffectiveLevelcCs|jj|krdS||jkS)NF)rrr#)ror5r7r7r8rs zLogger.isEnabledForcCs&|j|k rdj|j|f}|jj|S)Nr)rrrRrr )rosuffixr7r7r8getChilds zLogger.getChildcCs t|j}d|jj|j|fS)Nz <%s %s (%s)>)rr#rrwrR)ror5r7r7r8rz#s zLogger.__repr__)F)NNN)NNF)rwrxryrrtrrr"r(r'rrrrr#rrrrrrr rr#rr%rzr7r7r7r8rs.            c@seZdZddZdS) RootLoggercCstj|d|dS)Nr)rrt)ror5r7r7r8rt.szRootLogger.__init__N)rwrxryrtr7r7r7r8r&(sr&c@seZdZddZddZddZddZd d Zd d Zd dZ ddddZ ddZ ddZ ddZ ddZddZddZd*d!d"Zed#d$Zejd%d$Zed&d'Zd(d)ZdS)+rcCs||_||_dS)N)r"r)ror"rr7r7r8rt<s zLoggerAdapter.__init__cCs|j|d<||fS)Nr)r)rorSrrr7r7r8rnJs zLoggerAdapter.processcOs|jt|f||dS)N)r#r)rorSrWrrr7r7r8rZszLoggerAdapter.debugcOs|jt|f||dS)N)r#r )rorSrWrrr7r7r8r"`szLoggerAdapter.infocOs|jt|f||dS)N)r#r)rorSrWrrr7r7r8r(fszLoggerAdapter.warningcOs$tjdtd|j|f||dS)Nz6The 'warn' method is deprecated, use 'warning' insteadr?)rr'rr()rorSrWrrr7r7r8r'lszLoggerAdapter.warncOs|jt|f||dS)N)r#r)rorSrWrrr7r7r8rqszLoggerAdapter.errorT)rAcOs |jt|f|d|i|dS)NrA)r#r)rorSrArWrrr7r7r8rwszLoggerAdapter.exceptioncOs|jt|f||dS)N)r#r)rorSrWrrr7r7r8r}szLoggerAdapter.criticalcOs4|j|r0|j||\}}|jj||f||dS)N)rrnr"r#)ror5rSrWrrr7r7r8r#s zLoggerAdapter.logcCs|jjj|krdS||jkS)NF)r"rrr#)ror5r7r7r8rszLoggerAdapter.isEnabledForcCs|jj|dS)N)r"r)ror5r7r7r8rszLoggerAdapter.setLevelcCs |jjS)N)r"r#)ror7r7r8r#szLoggerAdapter.getEffectiveLevelcCs |jjS)N)r"r )ror7r7r8r szLoggerAdapter.hasHandlersNFcCs|jj||||||dS)N)rArrb)r"r)ror5rSrWrArrbr7r7r8rszLoggerAdapter._logcCs|jjS)N)r"r)ror7r7r8rszLoggerAdapter.managercCs ||j_dS)N)r"r)rovaluer7r7r8rscCs|jjS)N)r"rR)ror7r7r8rRszLoggerAdapter.namecCs&|j}t|j}d|jj|j|fS)Nz <%s %s (%s)>)r"rr#rrwrR)ror"r5r7r7r8rzs zLoggerAdapter.__repr__)NNF)rwrxryrtrnrr"r(r'rrrr#rrr#r rrrsetterrRrzr7r7r7r8r6s&   c Kstzjttjdkrp|jdd}|dkrHd|kr`d|kr`tdnd|ksXd|kr`td|dkr|jdd}|jdd}|rt||}n|jdd}t|}|g}|jd d}|jd d }|tkrtd d j tj |jdt|d}t |||} x.|D]&}|j dkr |j | tj|qW|jdd} | dk rPtj| |rpdj |j } td| WdtXdS)Nrrrr]z8'stream' and 'filename' should not be specified togetherzG'stream' or 'filename' should not be specified together with 'handlers'filemoderrrrzStyle must be one of: %srrrOr5z, zUnrecognised argument(s): %s)r9rTrrpoprHr rrrrr rrrrr:) rrrr]rhrZdfsrZfsrr5rr7r7r8rsF4               cCs|rtjj|StSdS)N)rrr r)rRr7r7r8r .s cOs*ttjdkrttj|f||dS)Nr)rTrrrr)rSrWrrr7r7r8r9scOs*ttjdkrttj|f||dS)Nr)rTrrrr)rSrWrrr7r7r8rEs)rAcOst|f|d|i|dS)NrA)r)rSrArWrrr7r7r8rOscOs*ttjdkrttj|f||dS)Nr)rTrrrr()rSrWrrr7r7r8r(WscOs"tjdtdt|f||dS)Nz8The 'warn' function is deprecated, use 'warning' insteadr?)rr'rr()rSrWrrr7r7r8r'ascOs*ttjdkrttj|f||dS)Nr)rTrrrr")rSrWrrr7r7r8r"fscOs*ttjdkrttj|f||dS)Nr)rTrrrr)rSrWrrr7r7r8rpscOs,ttjdkrttj||f||dS)Nr)rTrrrr#)r5rSrWrrr7r7r8r#zscCs |tj_dS)N)rrr)r5r7r7r8rscCsxt|ddD]l}yT|}|rhz:y|j|j|jWnttfk rXYnXWd|jXWqtrxYqXqWdS)N)reversedrMrrrrHrNr,)Z handlerListrr+r7r7r8r&s  c@s$eZdZddZddZddZdS)rcCsdS)Nr7)rorr7r7r8rszNullHandler.handlecCsdS)Nr7)rorr7r7r8rszNullHandler.emitcCs d|_dS)N)r)ror7r7r8rszNullHandler.createLockN)rwrxryrrrr7r7r7r8rs cCs`|dk r$tdk r\t||||||n8tj|||||}td}|jsP|jt|jd|dS)Nz py.warningsz%s)_warnings_showwarningr formatwarningr rrrr()rcategoryr]rcrlinerr"r7r7r8 _showwarnings r1cCs0|rtdkr,tjatt_ntdk r,tt_dadS)N)r-r showwarningr1)Zcapturer7r7r8rs)N)NN)fr=rZrQrrrrrUstringr__all__rh ImportError __author__Z __status__ __version__Z__date__rfr,rgrjrlrrrrrr rrr2r4rrrmrDr[r __code__rr rKrrLr9r:objectrr{r*r)r$rrrrrr rrr rWeakValueDictionaryrrrrr rr rZ_defaultLastResortr+rr%r!rrr&rrrrrr rrrrr(r'r"rr#rr&atexitregisterrr-r1rr7r7r7r8s@                  i   .*%4 >;E lE  b          PKTe[Z)s_re.cpython-311.opt-2.pycnu[ !A?h *ddlmZddlmZmZmZmZmZmZddlm Z ddl Z ddl m Z ddl mZdZe jd e j Ze jeZe jd ed e j ZddZe dd dZd!dZd"dZdS)#) annotations)datedatetimetime timedeltatimezonetzinfo) lru_cacheN)Any) ParseFloatzE([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(?:\.([0-9]{1,6})[0-9]*)?a` 0 (?: x[0-9A-Fa-f](?:_?[0-9A-Fa-f])* # hex | b[01](?:_?[01])* # bin | o[0-7](?:_?[0-7])* # oct ) | [+-]?(?:0|[1-9](?:_?[0-9])*) # dec, integer part (?P (?:\.[0-9](?:_?[0-9])*)? # optional fractional part (?:[eE][+-]?[0-9](?:_?[0-9])*)? # optional exponent part ) )flagsz` ([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]) # date, e.g. 1988-10-27 (?: [Tt ] zR (?:([Zz])|([+-])([01][0-9]|2[0-3]):([0-5][0-9]))? # optional time offset )? matchre.Matchreturndatetime | datec  |\ }}}}}}}}} } } t|t|t|}} } |t| | |St|t|t|}}}|r#t|ddnd}| rt | | | }n|r t j}nd}t| | ||||||S)N0r)r )groupsintrljust cached_tzrutcr)ryear_str month_strday_strhour_str minute_strsec_str micros_str zulu_timeoffset_sign_stroffset_hour_stroffset_minute_stryearmonthdayhourminutesecmicrostzs $/usr/lib64/python3.11/tomllib/_re.pymatch_to_datetimer/4s"   8}}c)nnc'll%DD%%%%H s:G #&D.8 ?S!!!S)) * * *aF% .    \  D%dFC K K KK)maxsizerstrrsign_strrc |dkrdnd}tt|t|z|t|zS)N+r )hoursminutes)rrr)rrr3signs r.rrWsSC11RD X&3z??*     r0rc|\}}}}|r#t|ddnd}tt|t|t||S)Nrrr)rrrr)rrrr r!r,s r.match_to_localtimer;bse05 -Hj':.8 ?S!!!S)) * * *aF H s:G f E EEr0 parse_floatr r c|dr||St|dS)N floatpartr)groupr)rr<s r.match_to_numberr@hsF {{;*{5;;==))) u{{}}a  r0)rrrr)rr2rr2r3r2rr)rrrr)rrr<r rr ) __future__rrrrrrr functoolsr retypingr _typesr _TIME_RE_STRcompileVERBOSE RE_NUMBER RE_LOCALTIME RE_DATETIMEr/rr;r@r0r.rMs| #"""""FFFFFFFFFFFFFFFF  X BJ *#    &rz,'' bj  *     L L L LF 4FFFF !!!!!!r0PKTe[ff_types.cpython-311.opt-1.pycnu[ !A?hHddlmZmZmZeegefZeedfZeZdS))AnyCallableTuple.N) typingrrrstr ParseFloatKeyintPos'/usr/lib64/python3.11/tomllib/_types.pyrsM ('''''''''seSj !  CHo r PKTe[,h+v+v_parser.cpython-311.opt-2.pycnu[ !A?hgX 4ddlmZddlmZddlZddlmZddlmZm Z m Z ddl m Z m Z mZmZmZmZddlmZmZmZed ed Deed zZeed z Zeed z ZeZeZeZedZeedzZ eej!ej"zdzZ#e#edzZ$eej%Z&edd ddddddZ'Gdde(Z)e*dd]d!Z+e*dd^d$Z,Gd%d&Z-Gd'd(Z.Gd)d*e Z/d_d0Z0d`d6Z1dad7Z2dad8Z3dbd;Z4dbd<Z5dcd?Z6dddAZ7dedBZ8dfdDZ9dfdEZ:dgdGZ;dhdIZdjdQZ?dfdRZ@dkdTZAdidUZBdldWZCdmdYZDdnd[ZEdod\ZFdS)p) annotations)IterableN)MappingProxyType)AnyBinaryIO NamedTuple) RE_DATETIME RE_LOCALTIME RE_NUMBERmatch_to_datetimematch_to_localtimematch_to_number)Key ParseFloatPosc#4K|]}t|VdSN)chr).0is (/usr/lib64/python3.11/tomllib/_parser.py rs(11!s1vv111111  z z  z-_z"'  "\)z\bz\tz\nz\fz\rz\"z\\ceZdZdS)TOMLDecodeErrorN)__name__ __module__ __qualname__rrr%r%5s::rr% parse_floatfprr+rreturndict[str, Any]c |} |}n#t$rtddwxYwt ||S)NzEFile must be opened in binary mode, e.g. use `open('foo.toml', 'rb')`r*)readdecodeAttributeError TypeErrorloads)r,r+bss rloadr79sn/  A HHJJ  S     , , ,,s ,Ar6strcf |dd}d}ttt}d}t |} t ||t } ||}n#t$rYn&wxYw|dkr|dz }>|tvr*t|||||}t ||t }n|dkr~ ||dz}n#t$rd}YnwxYw|j |dkrt|||\}}nt|||\}}t ||t }n|dkrt||d t||} ||}n#t$rYn"wxYw|dkrt||d |dz }S|jjS) Nz rrr)Tr [#zInvalid statementz5Expected newline or end of document after a statement)replaceOutput NestedDictFlagsmake_safe_parse_float skip_charsTOML_WS IndexErrorKEY_INITIAL_CHARSkey_value_ruleflagsfinalize_pendingcreate_list_rulecreate_dict_rule suffixed_err skip_commentdatadict)r6r+srcposoutheaderchar second_chars rr4r4Es# ))FD ! !C C uww ' 'CF' 44K0c7++ s8DD    E  4<< 1HC  $ $ $ c3 DDCS#w//CC S[[ #*-cAg,  # # #"  # I & & ( ( (c!!.sC== VV.sC== VS#w//CC S[[sC)<== =3$$ s8DD    E  4<<SQ  qa0d 8=s6+A44 BB C C&%C&0E99 FFcHeZdZ dZdZddZdd Zdd Zdd ZddZ ddZ dS)r?rr r-Nonec:i|_t|_dSr)_flagsset_pending_flagsselfs r__init__zFlags.__init__s') 47EErkeyrflagintc>|j||fdSr)rYaddr[r]r^s r add_pendingzFlags.add_pendings# d ,,,,,rc|jD]\}}|||d|jdS)NF recursive)rYrXclearrbs rrGzFlags.finalize_pendingsN, 1 1IC HHS$%H 0 0 0 0 !!#####rc|j}|ddD]}||vrdS||d}||dddS)Nnested)rWpop)r[r]contks r unset_allzFlags.unset_alls^{SbS % %A}}78$DD R$rrfboolc<|j}|dd|d}}|D]5}||vr!ttid||<||d}6||vr!ttid||<|||rdnd|dS)Nri)rFrecursive_flagsrjrjrqrF)rWrXra)r[r]r^rfrl key_parentkey_stemrms rrXz Flags.sets{"3B3xRH  % %A}}$'EEceerRRQ78$DD 4  '*uuRTUUDN XIB((7CGGMMMMMrc|sdS|j}|ddD]&}||vrdS||}||dvrdS|d}'|d}||vr||}||dvp ||dvSdS)NFrirqTrjrF)rW)r[r]r^rlrm inner_contrss ris_z Flags.is_s 5{SbS ( (A}}uuaJz"3444tth'DDr7 t  >D4=(KDD9J4K,K KurNr-rU)r]rr^r_r-rUr]rr-rU)r]rr^r_rfror-rU)r]rr^r_r-ro) r&r'r(FROZEN EXPLICIT_NESTr\rcrGrnrXrvr)rrr?r?s3FM::::----$$$$      N N N Nrr?c,eZdZddZdddd Zdd Zd S)r>r-rUci|_dSr)rMrZs rr\zNestedDict.__init__s $& rT access_listsr]rr~rorMc|j}|D]V}||vri||<||}|rt|tr|d}t|tstdW|S)Nriz There is no nest behind this key)rM isinstancelistKeyError)r[r]r~rlrms rget_or_create_nestzNestedDict.get_or_create_nests I C CA}}Q7D 4 6 6 BxdD)) CABBB C rc||dd}|d}||vrC||}t|tstd|idSig||<dS)Nriz/An object other than list found behind this key)rrrrappend)r[r]rllast_keylist_s rappend_nest_to_listzNestedDict.append_nest_to_lists&&s3B3x00r7 t  NEeT** RPQQQ LL      TDNNNrNrw)r]rr~ror-rMrx)r&r'r(r\rrr)rrr>r>s_''''" " " " " " " "rr>c$eZdZUded<ded<dS)r=r>rLr?rFN)r&r'r(__annotations__r)rrr=r=s%LLLLLrr=rNrOrchars Iterable[str]c\ |||vr|dz }|||vn#t$rYnwxYw|S)Nr )rC)rNrOrs rrArAsV #h% 1HC#h%      Js  ))expecterror_onfrozenset[str] error_on_eofrocB |||}n6#t$r)t|}|rt||d|dYnwxYw||||s3|||vr|dz }|||vt||d|||S)Nz Expected r zFound invalid character )index ValueErrorlenrJ isdisjoint)rNrOrrrnew_poss r skip_untilrsO))FC(( OOOc((  OsG-C-C-CDD$ N O OO   s3w;/ 0 0N#hh&& 1HC#hh&&3%LC%L%LMMM Ns0A  A c ||}n#t$rd}YnwxYw|dkrt||dzdtdS|S)Nr;r rFrr)rCrILLEGAL_COMMENT_CHARS)rNrOrRs rrKrKsms8  s{{ q$)>U     J  cf |}t||t}t||}||kr|S1r)rATOML_WS_AND_NEWLINErK)rNrOpos_before_skips rskip_comments_and_array_wsrsBc#6773$$ / ! !J rrPtuple[Pos, Key]c>|dz }t||t}t||\}}|j|t js%|j|t jrt||d|d|j |t jd |j |n #t$rt||ddwxYw| d|st||d|dz|fS) Nr zCannot declare z twiceFreCannot overwrite a value]z.Expected ']' at the end of a table declaration)rArB parse_keyrFrvr?rzryrJrXrLrr startswithrNrOrPr]s rrIrIs-1HC S#w ' 'Cc""HC y}}S%-..D#)--U\2R2RD3%Bs%B%B%BCCCIMM#u*eM<<<K ##C(((( KKK3%?@@dJK >>#s # #W3%UVVV 7C<s 6CC.c&|dz }t||t}t||\}}|j|t jrt||d||j||j |t j d |j |n #t$rt||ddwxYw|d|st||d|dz|fS)N"Cannot mutate immutable namespace Frerz]]z0Expected ']]' at the end of an array declaration)rArBrrFrvr?ryrJrnrXrzrLrrrrs rrHrH.s%1HC S#w ' 'Cc""HC y}}S%,''Q3%O#%O%OPPPIIMM#u*eM<<<K $$S)))) KKK3%?@@dJK >>$ $ $Y3%WXXX 7C<s *CC"rQrc& t|||\} } dd d}}|z} fdtdt D} | D]`} |j| t jrt||d| |j| t ja|j|t j rt||d| |j |} n #t$rt||ddwxYw|| vrt||dt|ttfr*|j zt j d|| |<|S) Nric32K|]}d|zVdSrr))rrrQr]s rrz!key_value_rule..Js0LLAvBQB/LLLLLLrr zCannot redefine namespace rrTre)parse_key_value_pairrangerrFrvr?rzrJrcryrLrrrrMrrX) rNrOrPrQr+valuerrrsabs_key_parentrelative_path_cont_keyscont_keynestr]s ` @rrErECs+3[AAOCess8SWJj(NLLLLLq#c((9K9KLLL+== 9==5#6 7 7 RsC)Ph)P)PQQ Q h(;<<<< y}}^U\22  K>KK   Kx**>:: KKK3%?@@dJK43%?@@@%$&&B fslELD AAADN Js 6DD.tuple[Pos, Key, Any]ct||\}} ||}n#t$rd}YnwxYw|dkrt||d|dz }t||t}t |||\}}|||fS)N=z,Expected '=' after a key in a key/value pairr )rrCrJrArB parse_value)rNrOr+r]rRrs rrresc""HCs8  s{{3%STTT1HC S#w ' 'CS#{33JC U?s  --c>t||\}}|f}t||t} ||}n#t$rd}YnwxYw|dkr||fS|dz }t||t}t||\}}||fz }t||t}q)NT.r )parse_key_partrArBrC)rNrOkey_partr]rRs rrrus"3,,MC{C S#w ' 'C , "3xDD   DDD  3;;8O qc7++&sC00 X {c7++ ,s8 AAtuple[Pos, str]c ||}n#t$rd}YnwxYw|tvr$|}t||t}||||fS|dkrt||S|dkrt ||St ||d)N'r"z(Invalid initial character for a key part)rCBARE_KEY_CHARSrAparse_literal_strparse_one_line_basic_strrJ)rNrOrR start_poss rrrss8  ~ c>22C # &&& s{{ c*** s{{'S111 sC!K L LLrc0|dz }t||dS)Nr F multiline)parse_basic_strrNrOs rrrs 1HC 3u 5 5 55rtuple[Pos, list]c|dz }g}t||}|d|r|dz|fS t|||\}}||t||}|||dz}|dkr|dz|fS|dkrt ||d|dz }t||}|d|r|dz|fS)Nr rT,zUnclosed array)rrrrrJ)rNrOr+arrayvalcs r parse_arrayrs1HCE $S# . .C ~~c3Qw~"sC55S S(c22 cAg  887E> ! 88sC)9:: : q(c22 >>#s # # "7E> !"rtuple[Pos, dict]cf|dz }t}t}t||t}|d|r |dz|jfS t |||\}}}|dd|d}}||tjrt||d| | |d} n #t$rt||ddwxYw|| vrt||d ||| |<t||t}|||dz} | dkr |dz|jfS| d krt||d t|t tfr"||tjd |dz }t||t}X) Nr }TrirFr}rzDuplicate inline table key rzUnclosed inline tablere)r>r?rArBrrMrrvryrJrrrrrX) rNrOr+ nested_dictrFr]rrrrsrrs rparse_inline_tablers1HC,,K GGE S#w ' 'C ~~c3)Qw (((,.sCEES%"3B3xRH 99S%, ' ' UsC)Sc)S)STT T O11*51QQDD O O OsC)CDD$ N O t  sC)Sx)S)STT TXc7++ cAg  887K,, , 88sC)@AA A edD\ * * 9 IIc5<4I 8 8 8 qc7+++,s 7CC,Frrc|||dz}|dz }|rt|dvrp|dkrPt||t} ||}n#t$r|dfcYSwxYw|dkrt||d|dz }t||t}|dfS|dkrt ||d S|d krt ||d S |t |fS#t$rt||ddwxYw) Nr>\ \ \ rrzUnescaped '\' in a stringr z\uz\U)rArBrCrJrparse_hex_charBASIC_STR_ESCAPE_REPLACEMENTSr)rNrOr escape_idrRs rparse_basic_str_escapersMC#'M"I1HC Y"999   S#w//C 3x   Bw t||"3-IJJJ 1HCc#677BwEc3***Ec3***M1)<<< MMM3%ABBLMs?AA8CC$c&t||dS)NTr)rrs r parse_basic_str_escape_multiliners !#sd ; ; ;;rhex_lenr_c$||||z}t||kst|st||d||z }t |d}t |st||d|t |fS)NzInvalid hex valuez/Escaped character is not a Unicode scalar value)rHEXDIGIT_CHARS issupersetrJr_is_unicode_scalar_valuer)rNrOrhex_strhex_ints rrrs#g %&G 7||wn&?&?&H&H3%89997NC'2G "7 + +X3%VWWW G rc`|dz }|}t||dtd}|dz|||fS)Nr rTr)rILLEGAL_LITERAL_STR_CHARS)rNrOrs rrrsJ1HCI  S# 9   C 7C # & &&rliteralc`|dz }|d|r|dz }|r+d}t||dtd}|||}|dz}nd}t||d \}}|||s||fS|dz }|||s|||zfS|dz }|||d zzfS) Nrr r'''Trr"rr)rr#ILLEGAL_MULTILINE_LITERAL_STR_CHARSr)rNrOrdelimend_posresults rparse_multiline_strr s1HC ~~dC   q @   8    S[!k%c3$??? V >>% % %F{1HC >>% % %#FUN""1HC %!)$ $$rc|rt}t}nt}t}d}|} ||}n #t$rt ||ddwxYw|dkrB|s|dz||||zfS|d|r|dz||||zfS|dz }s|dkr$||||z }|||\}}||z }|}||vrt ||d ||dz }) NrTzUnterminated stringr"r """rr#zIllegal character )!ILLEGAL_MULTILINE_BASIC_STR_CHARSrILLEGAL_BASIC_STR_CHARSrrCrJr) rNrOrr parse_escapesrrrR parsed_escapes rrr(sY/48 *. FI Js8DD J J JsC)>??T I J 3;; <QwYs]); ;;;~~eS)) <QwYs]); ;;; 1HC  4<< c)C-( (F!.sC!8!8 C m #FI  8  sC)Fd)F)FGG G q)s /A tuple[Pos, Any]cn ||}n#t$rd}YnwxYw|dkr8|d|rt||dSt||S|dkr8|d|rt||dSt ||S|dkr|d |r|d zdfS|d kr|d |r|d zdfS|dkrt |||S|dkrt |||Stj||}|rK t|}n$#t$r}t||d|d}~wwxYw| |fStj||}|r#| t|fStj||}|r$| t!||fS|||dz} | dvr|dz|| fS|||d z} | dvr|d z|| fSt||d)Nr"rF)rrrTttruerffalser:{zInvalid date or datetimer>infnan>+inf+nan-inf-nanz Invalid value)rCrrrrrrr matchr rrJendr rr r) rNrOr+rRdatetime_match datetime_objelocaltime_match number_match first_three first_fours rrrHss8   s{{ >>% % % @&sC??? ?'S111 s{{ >>% % % ?&sC>>> > c*** s{{ >>&# & & !7D=  s{{ >>'3 ' ' "7E> ! s{{3[111 s{{!#sK888!&sC00N2 L,^<.coord_reprsu #c((??$$yyq#&&* 1991WFF3::dAs333F.t..f...rz (at ))rNr8rOrr-r8)r%)rNrOrrs rrJrJsH//// c?? 3(<(<??? @ @@r codepointcBd|cxkodkncpd|cxkodkncS)Nriiir))rs rrrsE  # # # #e # # # # G))F)F)F)Fw)F)F)F)FGrc6 turtSdfd }|S)N float_strr8r-rct|}t|ttfrtd|S)Nz*parse_float must not return dicts or lists)rrMrr)r float_valuer+s rsafe_parse_floatz/make_safe_parse_float..safe_parse_floats>!k),, kD$< 0 0 KIJJ Jr)rr8r-r)float)r+r s` rr@r@s@e  r)r,rr+rr-r.)r6r8r+rr-r.)rNr8rOrrrr-r) rNr8rOrrr8rrrror-r)rNr8rOrr-r)rNr8rOrrPr=r-r) rNr8rOrrPr=rQrr+rr-r)rNr8rOrr+rr-r)rNr8rOrr-r)rNr8rOrr-r)rNr8rOrr+rr-r)rNr8rOrr+rr-r)rNr8rOrrror-r)rNr8rOrrr_r-r)rNr8rOrrror-r)rNr8rOrr+rr-r)rNr8rOrrr8r-r%)rr_r-ro)r+rr-r)G __future__rcollections.abcrstringtypesrtypingrrr_rer r r r rr_typesrrr frozensetrr ASCII_CTRLrrrrrrBr ascii_lettersdigitsrrD hexdigitsrrrr%r!r7r4r?r>r=rArrKrrIrHrErrrrrrrrrrrrrrJrr@r)rrr.s #"""""$$$$$$ """""",,,,,,,,,,)((((((((( Y11uuRyy111 1 1IIcc#hh4G4G G %yy6$.61B1B$B!3&G#/ )E   $/6/&-?$FGG"YYu%5%556+,, 0 0 ! !;;;;;j;;;8= - - - - - -38??????D77777777t""""""""DZ ,    $*D     ,,,,$ M M M M 6666 """"0,,,,B.3MMMMMM:<<<<''''%%%%>@A2A2A2A2HAAAA"HHHHrPKTe[ff_types.cpython-311.opt-2.pycnu[ !A?hHddlmZmZmZeegefZeedfZeZdS))AnyCallableTuple.N) typingrrrstr ParseFloatKeyintPos'/usr/lib64/python3.11/tomllib/_types.pyrsM ('''''''''seSj !  CHo r PKTe[ɾ]]_re.cpython-311.pycnu[ !A?h *ddlmZddlmZmZmZmZmZmZddlm Z ddl Z ddl m Z ddl mZdZe jd e j Ze jeZe jd ed e j ZddZe dd dZd!dZd"dZdS)#) annotations)datedatetimetime timedeltatimezonetzinfo) lru_cacheN)Any) ParseFloatzE([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(?:\.([0-9]{1,6})[0-9]*)?a` 0 (?: x[0-9A-Fa-f](?:_?[0-9A-Fa-f])* # hex | b[01](?:_?[01])* # bin | o[0-7](?:_?[0-7])* # oct ) | [+-]?(?:0|[1-9](?:_?[0-9])*) # dec, integer part (?P (?:\.[0-9](?:_?[0-9])*)? # optional fractional part (?:[eE][+-]?[0-9](?:_?[0-9])*)? # optional exponent part ) )flagsz` ([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]) # date, e.g. 1988-10-27 (?: [Tt ] zR (?:([Zz])|([+-])([01][0-9]|2[0-3]):([0-5][0-9]))? # optional time offset )? matchre.Matchreturndatetime | datec |\ }}}}}}}}} } } t|t|t|}} } |t| | |St|t|t|}}}|r#t|ddnd}| rt | | | }n|r t j}nd}t| | ||||||S)zConvert a `RE_DATETIME` match to `datetime.datetime` or `datetime.date`. Raises ValueError if the match does not correspond to a valid date or datetime. N0r)r )groupsintrljust cached_tzrutcr)ryear_str month_strday_strhour_str minute_strsec_str micros_str zulu_timeoffset_sign_stroffset_hour_stroffset_minute_stryearmonthdayhourminutesecmicrostzs $/usr/lib64/python3.11/tomllib/_re.pymatch_to_datetimer/4s $   8}}c)nnc'll%DD%%%%H s:G #&D.8 ?S!!!S)) * * *aF% .    \  D%dFC K K KK)maxsizerstrrsign_strrc |dkrdnd}tt|t|z|t|zS)N+r )hoursminutes)rrr)rrr3signs r.rrWsSC11RD X&3z??*     r0rc|\}}}}|r#t|ddnd}tt|t|t||S)Nrrr)rrrr)rrrr r!r,s r.match_to_localtimer;bse05 -Hj':.8 ?S!!!S)) * * *aF H s:G f E EEr0 parse_floatr r c|dr||St|dS)N floatpartr)groupr)rr<s r.match_to_numberr@hsF {{;*{5;;==))) u{{}}a  r0)rrrr)rr2rr2r3r2rr)rrrr)rrr<r rr ) __future__rrrrrrr functoolsr retypingr _typesr _TIME_RE_STRcompileVERBOSE RE_NUMBER RE_LOCALTIME RE_DATETIMEr/rr;r@r0r.rMs| #"""""FFFFFFFFFFFFFFFF  X BJ *#    &rz,'' bj  *     L L L LF 4FFFF !!!!!!r0PKTe[ɾ]]_re.cpython-311.opt-1.pycnu[ !A?h *ddlmZddlmZmZmZmZmZmZddlm Z ddl Z ddl m Z ddl mZdZe jd e j Ze jeZe jd ed e j ZddZe dd dZd!dZd"dZdS)#) annotations)datedatetimetime timedeltatimezonetzinfo) lru_cacheN)Any) ParseFloatzE([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(?:\.([0-9]{1,6})[0-9]*)?a` 0 (?: x[0-9A-Fa-f](?:_?[0-9A-Fa-f])* # hex | b[01](?:_?[01])* # bin | o[0-7](?:_?[0-7])* # oct ) | [+-]?(?:0|[1-9](?:_?[0-9])*) # dec, integer part (?P (?:\.[0-9](?:_?[0-9])*)? # optional fractional part (?:[eE][+-]?[0-9](?:_?[0-9])*)? # optional exponent part ) )flagsz` ([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]) # date, e.g. 1988-10-27 (?: [Tt ] zR (?:([Zz])|([+-])([01][0-9]|2[0-3]):([0-5][0-9]))? # optional time offset )? matchre.Matchreturndatetime | datec |\ }}}}}}}}} } } t|t|t|}} } |t| | |St|t|t|}}}|r#t|ddnd}| rt | | | }n|r t j}nd}t| | ||||||S)zConvert a `RE_DATETIME` match to `datetime.datetime` or `datetime.date`. Raises ValueError if the match does not correspond to a valid date or datetime. N0r)r )groupsintrljust cached_tzrutcr)ryear_str month_strday_strhour_str minute_strsec_str micros_str zulu_timeoffset_sign_stroffset_hour_stroffset_minute_stryearmonthdayhourminutesecmicrostzs $/usr/lib64/python3.11/tomllib/_re.pymatch_to_datetimer/4s $   8}}c)nnc'll%DD%%%%H s:G #&D.8 ?S!!!S)) * * *aF% .    \  D%dFC K K KK)maxsizerstrrsign_strrc |dkrdnd}tt|t|z|t|zS)N+r )hoursminutes)rrr)rrr3signs r.rrWsSC11RD X&3z??*     r0rc|\}}}}|r#t|ddnd}tt|t|t||S)Nrrr)rrrr)rrrr r!r,s r.match_to_localtimer;bse05 -Hj':.8 ?S!!!S)) * * *aF H s:G f E EEr0 parse_floatr r c|dr||St|dS)N floatpartr)groupr)rr<s r.match_to_numberr@hsF {{;*{5;;==))) u{{}}a  r0)rrrr)rr2rr2r3r2rr)rrrr)rrr<r rr ) __future__rrrrrrr functoolsr retypingr _typesr _TIME_RE_STRcompileVERBOSE RE_NUMBER RE_LOCALTIME RE_DATETIMEr/rr;r@r0r.rMs| #"""""FFFFFFFFFFFFFFFF  X BJ *#    &rz,'' bj  *     L L L LF 4FFFF !!!!!!r0PKTe[{ USxSx_parser.cpython-311.opt-1.pycnu[ !A?hgX 4ddlmZddlmZddlZddlmZddlmZm Z m Z ddl m Z m Z mZmZmZmZddlmZmZmZed ed Deed zZeed z Zeed z ZeZeZeZedZeedzZ eej!ej"zdzZ#e#edzZ$eej%Z&edd ddddddZ'Gdde(Z)e*dd]d!Z+e*dd^d$Z,Gd%d&Z-Gd'd(Z.Gd)d*e Z/d_d0Z0d`d6Z1dad7Z2dad8Z3dbd;Z4dbd<Z5dcd?Z6dddAZ7dedBZ8dfdDZ9dfdEZ:dgdGZ;dhdIZdjdQZ?dfdRZ@dkdTZAdidUZBdldWZCdmdYZDdnd[ZEdod\ZFdS)p) annotations)IterableN)MappingProxyType)AnyBinaryIO NamedTuple) RE_DATETIME RE_LOCALTIME RE_NUMBERmatch_to_datetimematch_to_localtimematch_to_number)Key ParseFloatPosc#4K|]}t|VdSN)chr).0is (/usr/lib64/python3.11/tomllib/_parser.py rs(11!s1vv111111  z z  z-_z"'  "\)z\bz\tz\nz\fz\rz\"z\\ceZdZdZdS)TOMLDecodeErrorz0An error raised if a document is not valid TOML.N)__name__ __module__ __qualname____doc__rrr%r%5s::::rr% parse_floatfprr,rreturndict[str, Any]c|} |}n#t$rtddwxYwt ||S)z%Parse TOML from a binary file object.zEFile must be opened in binary mode, e.g. use `open('foo.toml', 'rb')`Nr+)readdecodeAttributeError TypeErrorloads)r-r,bss rloadr89sk  A HHJJ  S     , , ,,s +Ar7strcd|dd}d}ttt}d}t |} t ||t } ||}n#t$rYn&wxYw|dkr|dz }>|tvr*t|||||}t ||t }n|dkr~ ||dz}n#t$rd}YnwxYw|j |dkrt|||\}}nt|||\}}t ||t }n|d krt||d t||} ||}n#t$rYn"wxYw|dkrt||d |dz }S|jjS) zParse TOML from a string.z rrr*Tr [N#zInvalid statementz5Expected newline or end of document after a statement)replaceOutput NestedDictFlagsmake_safe_parse_float skip_charsTOML_WS IndexErrorKEY_INITIAL_CHARSkey_value_ruleflagsfinalize_pendingcreate_list_rulecreate_dict_rule suffixed_err skip_commentdatadict)r7r,srcposoutheaderchar second_chars rr5r5Es ))FD ! !C C uww ' 'CF' 44K0c7++ s8DD    E  4<< 1HC  $ $ $ c3 DDCS#w//CC S[[ #*-cAg,  # # #"  # I & & ( ( (c!!.sC== VV.sC== VS#w//CC S[[sC)<== =3$$ s8DD    E  4<<SQ  qa0d 8=s6*A33 BB C C%$C%/E88 FFcJeZdZdZdZdZddZdd Zdd Zdd Z ddZ ddZ dS)r@z)Flags that map to parsed keys/namespaces.rr r.Nonec:i|_t|_dSr)_flagsset_pending_flagsselfs r__init__zFlags.__init__s') 47EErkeyrflagintc>|j||fdSr)rZaddr\r^r_s r add_pendingzFlags.add_pendings# d ,,,,,rc|jD]\}}|||d|jdS)NF recursive)rZrYclearrcs rrHzFlags.finalize_pendingsN, 1 1IC HHS$%H 0 0 0 0 !!#####rc|j}|ddD]}||vrdS||d}||dddS)Nnested)rXpop)r\r^contks r unset_allzFlags.unset_alls^{SbS % %A}}78$DD R$rrgboolc<|j}|dd|d}}|D]5}||vr!ttid||<||d}6||vr!ttid||<|||rdnd|dS)Nrj)rGrecursive_flagsrkrkrrrG)rXrYrb)r\r^r_rgrm key_parentkey_stemrns rrYz Flags.sets{"3B3xRH  % %A}}$'EEceerRRQ78$DD 4  '*uuRTUUDN XIB((7CGGMMMMMrc|sdS|j}|ddD]&}||vrdS||}||dvrdS|d}'|d}||vr||}||dvp ||dvSdS)NFrjrrTrkrG)rX)r\r^r_rmrn inner_contrts ris_z Flags.is_s 5{SbS ( (A}}uuaJz"3444tth'DDr7 t  >D4=(KDD9J4K,K KurNr.rV)r^rr_r`r.rVr^rr.rV)r^rr_r`rgrpr.rV)r^rr_r`r.rp) r&r'r(r)FROZEN EXPLICIT_NESTr]rdrHrorYrwr*rrr@r@s33FM::::----$$$$      N N N Nrr@c,eZdZddZdddd Zdd Zd S)r?r.rVci|_dSr)rNr[s rr]zNestedDict.__init__s $& rT access_listsr^rrrprNc|j}|D]V}||vri||<||}|rt|tr|d}t|tstdW|S)Nrjz There is no nest behind this key)rN isinstancelistKeyError)r\r^rrmrns rget_or_create_nestzNestedDict.get_or_create_nests I C CA}}Q7D 4 6 6 BxdD)) CABBB C rc||dd}|d}||vrC||}t|tstd|idSig||<dS)Nrjz/An object other than list found behind this key)rrrrappend)r\r^rmlast_keylist_s rappend_nest_to_listzNestedDict.append_nest_to_lists&&s3B3x00r7 t  NEeT** RPQQQ LL      TDNNNrNrx)r^rrrpr.rNry)r&r'r(r]rrr*rrr?r?s_''''" " " " " " " "rr?c$eZdZUded<ded<dS)r>r?rMr@rGN)r&r'r(__annotations__r*rrr>r>s%LLLLLrr>rOrPrchars Iterable[str]c\ |||vr|dz }|||vn#t$rYnwxYw|S)Nr )rD)rOrPrs rrBrBsV #h% 1HC#h%      Js  ))expecterror_onfrozenset[str] error_on_eofrpcB |||}n6#t$r)t|}|rt||d|dYnwxYw||||s3|||vr|dz }|||vt||d|||S)Nz Expected r zFound invalid character )index ValueErrorlenrK isdisjoint)rOrPrrrnew_poss r skip_untilrsO))FC(( OOOc((  OsG-C-C-CDD$ N O OO   s3w;/ 0 0N#hh&& 1HC#hh&&3%LC%L%LMMM Ns0A  A c ||}n#t$rd}YnwxYw|dkrt||dzdtdS|S)Nr<r rFrr)rDrILLEGAL_COMMENT_CHARS)rOrPrSs rrLrLsms8  s{{ q$)>U     J  cf |}t||t}t||}||kr|S1r)rBTOML_WS_AND_NEWLINErL)rOrPpos_before_skips rskip_comments_and_array_wsrsBc#6773$$ / ! !J rrQtuple[Pos, Key]c>|dz }t||t}t||\}}|j|t js%|j|t jrt||d|d|j |t jd |j |n #t$rt||ddwxYw| d|st||d|dz|fS) Nr zCannot declare z twiceFrfCannot overwrite a value]z.Expected ']' at the end of a table declaration)rBrC parse_keyrGrwr@r{rzrKrYrMrr startswithrOrPrQr^s rrJrJs-1HC S#w ' 'Cc""HC y}}S%-..D#)--U\2R2RD3%Bs%B%B%BCCCIMM#u*eM<<<K ##C(((( KKK3%?@@dJK >>#s # #W3%UVVV 7C<s 6CC.c&|dz }t||t}t||\}}|j|t jrt||d||j||j |t j d |j |n #t$rt||ddwxYw|d|st||d|dz|fS)N"Cannot mutate immutable namespace Frfrz]]z0Expected ']]' at the end of an array declaration)rBrCrrGrwr@rzrKrorYr{rMrrrrs rrIrI.s%1HC S#w ' 'Cc""HC y}}S%,''Q3%O#%O%OPPPIIMM#u*eM<<<K $$S)))) KKK3%?@@dJK >>$ $ $Y3%WXXX 7C<s *CC"rRrc& t|||\} } dd d}}|z} fdtdt D} | D]`} |j| t jrt||d| |j| t ja|j|t j rt||d| |j |} n #t$rt||ddwxYw|| vrt||dt|ttfr*|j zt j d|| |<|S) Nrjc32K|]}d|zVdSrr*)rrrRr^s rrz!key_value_rule..Js0LLAvBQB/LLLLLLrr zCannot redefine namespace rrTrf)parse_key_value_pairrangerrGrwr@r{rKrdrzrMrrrrNrrY) rOrPrQrRr,valuersrtabs_key_parentrelative_path_cont_keyscont_keynestr^s ` @rrFrFCs+3[AAOCess8SWJj(NLLLLLq#c((9K9KLLL+== 9==5#6 7 7 RsC)Ph)P)PQQ Q h(;<<<< y}}^U\22  K>KK   Kx**>:: KKK3%?@@dJK43%?@@@%$&&B fslELD AAADN Js 6DD.tuple[Pos, Key, Any]ct||\}} ||}n#t$rd}YnwxYw|dkrt||d|dz }t||t}t |||\}}|||fS)N=z,Expected '=' after a key in a key/value pairr )rrDrKrBrC parse_value)rOrPr,r^rSrs rrresc""HCs8  s{{3%STTT1HC S#w ' 'CS#{33JC U?s  --c>t||\}}|f}t||t} ||}n#t$rd}YnwxYw|dkr||fS|dz }t||t}t||\}}||fz }t||t}q)NT.r )parse_key_partrBrCrD)rOrPkey_partr^rSs rrrus"3,,MC{C S#w ' 'C , "3xDD   DDD  3;;8O qc7++&sC00 X {c7++ ,s8 AAtuple[Pos, str]c ||}n#t$rd}YnwxYw|tvr$|}t||t}||||fS|dkrt||S|dkrt ||St ||d)N'r"z(Invalid initial character for a key part)rDBARE_KEY_CHARSrBparse_literal_strparse_one_line_basic_strrK)rOrPrS start_poss rrrss8  ~ c>22C # &&& s{{ c*** s{{'S111 sC!K L LLrc0|dz }t||dS)Nr F multiline)parse_basic_strrOrPs rrrs 1HC 3u 5 5 55rtuple[Pos, list]c|dz }g}t||}|d|r|dz|fS t|||\}}||t||}|||dz}|dkr|dz|fS|dkrt ||d|dz }t||}|d|r|dz|fS)Nr rT,zUnclosed array)rrrrrK)rOrPr,arrayvalcs r parse_arrayrs1HCE $S# . .C ~~c3Qw~"sC55S S(c22 cAg  887E> ! 88sC)9:: : q(c22 >>#s # # "7E> !"rtuple[Pos, dict]cf|dz }t}t}t||t}|d|r |dz|jfS t |||\}}}|dd|d}}||tjrt||d| | |d} n #t$rt||ddwxYw|| vrt||d ||| |<t||t}|||dz} | dkr |dz|jfS| d krt||d t|t tfr"||tjd |dz }t||t}X) Nr }TrjrFr~rzDuplicate inline table key rzUnclosed inline tablerf)r?r@rBrCrrNrrwrzrKrrrrrY) rOrPr, nested_dictrGr^rrsrtrrs rparse_inline_tablers1HC,,K GGE S#w ' 'C ~~c3)Qw (((,.sCEES%"3B3xRH 99S%, ' ' UsC)Sc)S)STT T O11*51QQDD O O OsC)CDD$ N O t  sC)Sx)S)STT TXc7++ cAg  887K,, , 88sC)@AA A edD\ * * 9 IIc5<4I 8 8 8 qc7+++,s 7CC,Frrc|||dz}|dz }|rt|dvrp|dkrPt||t} ||}n#t$r|dfcYSwxYw|dkrt||d|dz }t||t}|dfS|dkrt ||d S|d krt ||d S |t |fS#t$rt||ddwxYw) Nr>\ \ \ rrzUnescaped '\' in a stringr z\uz\U)rBrCrDrKrparse_hex_charBASIC_STR_ESCAPE_REPLACEMENTSr)rOrPr escape_idrSs rparse_basic_str_escapersMC#'M"I1HC Y"999   S#w//C 3x   Bw t||"3-IJJJ 1HCc#677BwEc3***Ec3***M1)<<< MMM3%ABBLMs?AA8CC$c&t||dS)NTr)rrs r parse_basic_str_escape_multiliners !#sd ; ; ;;rhex_lenr`c$||||z}t||kst|st||d||z }t |d}t |st||d|t |fS)NzInvalid hex valuez/Escaped character is not a Unicode scalar value)rHEXDIGIT_CHARS issupersetrKr`is_unicode_scalar_valuer)rOrPrhex_strhex_ints rrrs#g %&G 7||wn&?&?&H&H3%89997NC'2G "7 + +X3%VWWW G rc`|dz }|}t||dtd}|dz|||fS)Nr rTr)rILLEGAL_LITERAL_STR_CHARS)rOrPrs rrrsJ1HCI  S# 9   C 7C # & &&rliteralc`|dz }|d|r|dz }|r+d}t||dtd}|||}|dz}nd}t||d \}}|||s||fS|dz }|||s|||zfS|dz }|||d zzfS) Nrr r'''Trr"rr)rr#ILLEGAL_MULTILINE_LITERAL_STR_CHARSr)rOrPrdelimend_posresults rparse_multiline_strr s1HC ~~dC   q @   8    S[!k%c3$??? V >>% % %F{1HC >>% % %#FUN""1HC %!)$ $$rc|rt}t}nt}t}d}|} ||}n #t$rt ||ddwxYw|dkrB|s|dz||||zfS|d|r|dz||||zfS|dz }s|dkr$||||z }|||\}}||z }|}||vrt ||d ||dz }) NrTzUnterminated stringr"r """rr#zIllegal character )!ILLEGAL_MULTILINE_BASIC_STR_CHARSrILLEGAL_BASIC_STR_CHARSrrDrKr) rOrPrr parse_escapesrrrS parsed_escapes rrr(sY/48 *. FI Js8DD J J JsC)>??T I J 3;; <QwYs]); ;;;~~eS)) <QwYs]); ;;; 1HC  4<< c)C-( (F!.sC!8!8 C m #FI  8  sC)Fd)F)FGG G q)s /A tuple[Pos, Any]cn ||}n#t$rd}YnwxYw|dkr8|d|rt||dSt||S|dkr8|d|rt||dSt ||S|dkr|d |r|d zdfS|d kr|d |r|d zdfS|dkrt |||S|dkrt |||Stj||}|rK t|}n$#t$r}t||d|d}~wwxYw| |fStj||}|r#| t|fStj||}|r$| t!||fS|||dz} | dvr|dz|| fS|||d z} | dvr|d z|| fSt||d)Nr"rF)rrrTttruerffalser;{zInvalid date or datetimer>infnan>+inf+nan-inf-nanz Invalid value)rDrrrrrrr matchr rrKendr rr r) rOrPr,rSdatetime_match datetime_objelocaltime_match number_match first_three first_fours rrrHss8   s{{ >>% % % @&sC??? ?'S111 s{{ >>% % % ?&sC>>> > c*** s{{ >>&# & & !7D=  s{{ >>'3 ' ' "7E> ! s{{3[111 s{{!#sK888!&sC00N2 L,^<.coord_reprsu #c((??$$yyq#&&* 1991WFF3::dAs333F.t..f...rz (at ))rOr9rPrr.r9)r%)rOrPrrs rrKrKsC//// c?? 3(<(<??? @ @@r codepointcBd|cxkodkncpd|cxkodkncS)Nriiir*)rs rrrsE  # # # #e # # # # G))F)F)F)Fw)F)F)F)FGrc4turtSdfd }|S)a%A decorator to make `parse_float` safe. `parse_float` must not return dicts or lists, because these types would be mixed with parsed TOML tables and arrays, thus confusing the parser. The returned decorated callable raises `ValueError` instead of returning illegal types. float_strr9r.rct|}t|ttfrtd|S)Nz*parse_float must not return dicts or lists)rrNrr)r float_valuer,s rsafe_parse_floatz/make_safe_parse_float..safe_parse_floats>!k),, kD$< 0 0 KIJJ Jr)rr9r.r)float)r,r!s` rrArAs;e  r)r-rr,rr.r/)r7r9r,rr.r/)rOr9rPrrrr.r) rOr9rPrrr9rrrrpr.r)rOr9rPrr.r)rOr9rPrrQr>r.r) rOr9rPrrQr>rRrr,rr.r)rOr9rPrr,rr.r)rOr9rPrr.r)rOr9rPrr.r)rOr9rPrr,rr.r)rOr9rPrr,rr.r)rOr9rPrrrpr.r)rOr9rPrrr`r.r)rOr9rPrrrpr.r)rOr9rPrr,rr.r)rOr9rPrrr9r.r%)rr`r.rp)r,rr.r)G __future__rcollections.abcrstringtypesrtypingrrr_rer r r r rr_typesrrr frozensetrr ASCII_CTRLrrrrrrCr ascii_lettersdigitsrrE hexdigitsrrrr%r"r8r5r@r?r>rBrrLrrJrIrFrrrrrrrrrrrrrrKrrAr*rrr/s #"""""$$$$$$ """""",,,,,,,,,,)((((((((( Y11uuRyy111 1 1IIcc#hh4G4G G %yy6$.61B1B$B!3&G#/ )E   $/6/&-?$FGG"YYu%5%556+,, 0 0 ! !;;;;;j;;;8= - - - - - -38??????D77777777t""""""""DZ ,    $*D     ,,,,$ M M M M 6666 """"0,,,,B.3MMMMMM:<<<<''''%%%%>@A2A2A2A2HAAAA"HHHHrPKTe[NU''__init__.cpython-311.pycnu[ !A?hdZddlZddlZejdejdZdZejeeddS)zdistutils The main package for the Python Module Distribution Utilities. Normally used from a setup script as from distutils.core import setup setup (...) N zThe distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives) __doc__syswarningsversionindex __version___DEPRECATION_MESSAGEwarnDeprecationWarning+/usr/lib64/python3.11/distutils/__init__.pyrsw k13;,,S1112 = " !%%%%%rPKTe[NU''__init__.cpython-311.opt-1.pycnu[ !A?hdZddlZddlZejdejdZdZejeeddS)zdistutils The main package for the Python Module Distribution Utilities. Normally used from a setup script as from distutils.core import setup setup (...) N zThe distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives) __doc__syswarningsversionindex __version___DEPRECATION_MESSAGEwarnDeprecationWarning+/usr/lib64/python3.11/distutils/__init__.pyrsw k13;,,S1112 = " !%%%%%rPKTe[pp__init__.cpython-311.opt-2.pycnu[ !A?h ddlZddlZejdejdZdZejeeddS)N zThe distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives)syswarningsversionindex __version___DEPRECATION_MESSAGEwarnDeprecationWarning+/usr/lib64/python3.11/distutils/__init__.pyrsr k13;,,S1112 = " !%%%%%rPKTe[{ USxSx_parser.cpython-311.pycnu[ !A?hgX 4ddlmZddlmZddlZddlmZddlmZm Z m Z ddl m Z m Z mZmZmZmZddlmZmZmZed ed Deed zZeed z Zeed z ZeZeZeZedZeedzZ eej!ej"zdzZ#e#edzZ$eej%Z&edd ddddddZ'Gdde(Z)e*dd]d!Z+e*dd^d$Z,Gd%d&Z-Gd'd(Z.Gd)d*e Z/d_d0Z0d`d6Z1dad7Z2dad8Z3dbd;Z4dbd<Z5dcd?Z6dddAZ7dedBZ8dfdDZ9dfdEZ:dgdGZ;dhdIZdjdQZ?dfdRZ@dkdTZAdidUZBdldWZCdmdYZDdnd[ZEdod\ZFdS)p) annotations)IterableN)MappingProxyType)AnyBinaryIO NamedTuple) RE_DATETIME RE_LOCALTIME RE_NUMBERmatch_to_datetimematch_to_localtimematch_to_number)Key ParseFloatPosc#4K|]}t|VdSN)chr).0is (/usr/lib64/python3.11/tomllib/_parser.py rs(11!s1vv111111  z z  z-_z"'  "\)z\bz\tz\nz\fz\rz\"z\\ceZdZdZdS)TOMLDecodeErrorz0An error raised if a document is not valid TOML.N)__name__ __module__ __qualname____doc__rrr%r%5s::::rr% parse_floatfprr,rreturndict[str, Any]c|} |}n#t$rtddwxYwt ||S)z%Parse TOML from a binary file object.zEFile must be opened in binary mode, e.g. use `open('foo.toml', 'rb')`Nr+)readdecodeAttributeError TypeErrorloads)r-r,bss rloadr89sk  A HHJJ  S     , , ,,s +Ar7strcd|dd}d}ttt}d}t |} t ||t } ||}n#t$rYn&wxYw|dkr|dz }>|tvr*t|||||}t ||t }n|dkr~ ||dz}n#t$rd}YnwxYw|j |dkrt|||\}}nt|||\}}t ||t }n|d krt||d t||} ||}n#t$rYn"wxYw|dkrt||d |dz }S|jjS) zParse TOML from a string.z rrr*Tr [N#zInvalid statementz5Expected newline or end of document after a statement)replaceOutput NestedDictFlagsmake_safe_parse_float skip_charsTOML_WS IndexErrorKEY_INITIAL_CHARSkey_value_ruleflagsfinalize_pendingcreate_list_rulecreate_dict_rule suffixed_err skip_commentdatadict)r7r,srcposoutheaderchar second_chars rr5r5Es ))FD ! !C C uww ' 'CF' 44K0c7++ s8DD    E  4<< 1HC  $ $ $ c3 DDCS#w//CC S[[ #*-cAg,  # # #"  # I & & ( ( (c!!.sC== VV.sC== VS#w//CC S[[sC)<== =3$$ s8DD    E  4<<SQ  qa0d 8=s6*A33 BB C C%$C%/E88 FFcJeZdZdZdZdZddZdd Zdd Zdd Z ddZ ddZ dS)r@z)Flags that map to parsed keys/namespaces.rr r.Nonec:i|_t|_dSr)_flagsset_pending_flagsselfs r__init__zFlags.__init__s') 47EErkeyrflagintc>|j||fdSr)rZaddr\r^r_s r add_pendingzFlags.add_pendings# d ,,,,,rc|jD]\}}|||d|jdS)NF recursive)rZrYclearrcs rrHzFlags.finalize_pendingsN, 1 1IC HHS$%H 0 0 0 0 !!#####rc|j}|ddD]}||vrdS||d}||dddS)Nnested)rXpop)r\r^contks r unset_allzFlags.unset_alls^{SbS % %A}}78$DD R$rrgboolc<|j}|dd|d}}|D]5}||vr!ttid||<||d}6||vr!ttid||<|||rdnd|dS)Nrj)rGrecursive_flagsrkrkrrrG)rXrYrb)r\r^r_rgrm key_parentkey_stemrns rrYz Flags.sets{"3B3xRH  % %A}}$'EEceerRRQ78$DD 4  '*uuRTUUDN XIB((7CGGMMMMMrc|sdS|j}|ddD]&}||vrdS||}||dvrdS|d}'|d}||vr||}||dvp ||dvSdS)NFrjrrTrkrG)rX)r\r^r_rmrn inner_contrts ris_z Flags.is_s 5{SbS ( (A}}uuaJz"3444tth'DDr7 t  >D4=(KDD9J4K,K KurNr.rV)r^rr_r`r.rVr^rr.rV)r^rr_r`rgrpr.rV)r^rr_r`r.rp) r&r'r(r)FROZEN EXPLICIT_NESTr]rdrHrorYrwr*rrr@r@s33FM::::----$$$$      N N N Nrr@c,eZdZddZdddd Zdd Zd S)r?r.rVci|_dSr)rNr[s rr]zNestedDict.__init__s $& rT access_listsr^rrrprNc|j}|D]V}||vri||<||}|rt|tr|d}t|tstdW|S)Nrjz There is no nest behind this key)rN isinstancelistKeyError)r\r^rrmrns rget_or_create_nestzNestedDict.get_or_create_nests I C CA}}Q7D 4 6 6 BxdD)) CABBB C rc||dd}|d}||vrC||}t|tstd|idSig||<dS)Nrjz/An object other than list found behind this key)rrrrappend)r\r^rmlast_keylist_s rappend_nest_to_listzNestedDict.append_nest_to_lists&&s3B3x00r7 t  NEeT** RPQQQ LL      TDNNNrNrx)r^rrrpr.rNry)r&r'r(r]rrr*rrr?r?s_''''" " " " " " " "rr?c$eZdZUded<ded<dS)r>r?rMr@rGN)r&r'r(__annotations__r*rrr>r>s%LLLLLrr>rOrPrchars Iterable[str]c\ |||vr|dz }|||vn#t$rYnwxYw|S)Nr )rD)rOrPrs rrBrBsV #h% 1HC#h%      Js  ))expecterror_onfrozenset[str] error_on_eofrpcB |||}n6#t$r)t|}|rt||d|dYnwxYw||||s3|||vr|dz }|||vt||d|||S)Nz Expected r zFound invalid character )index ValueErrorlenrK isdisjoint)rOrPrrrnew_poss r skip_untilrsO))FC(( OOOc((  OsG-C-C-CDD$ N O OO   s3w;/ 0 0N#hh&& 1HC#hh&&3%LC%L%LMMM Ns0A  A c ||}n#t$rd}YnwxYw|dkrt||dzdtdS|S)Nr<r rFrr)rDrILLEGAL_COMMENT_CHARS)rOrPrSs rrLrLsms8  s{{ q$)>U     J  cf |}t||t}t||}||kr|S1r)rBTOML_WS_AND_NEWLINErL)rOrPpos_before_skips rskip_comments_and_array_wsrsBc#6773$$ / ! !J rrQtuple[Pos, Key]c>|dz }t||t}t||\}}|j|t js%|j|t jrt||d|d|j |t jd |j |n #t$rt||ddwxYw| d|st||d|dz|fS) Nr zCannot declare z twiceFrfCannot overwrite a value]z.Expected ']' at the end of a table declaration)rBrC parse_keyrGrwr@r{rzrKrYrMrr startswithrOrPrQr^s rrJrJs-1HC S#w ' 'Cc""HC y}}S%-..D#)--U\2R2RD3%Bs%B%B%BCCCIMM#u*eM<<<K ##C(((( KKK3%?@@dJK >>#s # #W3%UVVV 7C<s 6CC.c&|dz }t||t}t||\}}|j|t jrt||d||j||j |t j d |j |n #t$rt||ddwxYw|d|st||d|dz|fS)N"Cannot mutate immutable namespace Frfrz]]z0Expected ']]' at the end of an array declaration)rBrCrrGrwr@rzrKrorYr{rMrrrrs rrIrI.s%1HC S#w ' 'Cc""HC y}}S%,''Q3%O#%O%OPPPIIMM#u*eM<<<K $$S)))) KKK3%?@@dJK >>$ $ $Y3%WXXX 7C<s *CC"rRrc& t|||\} } dd d}}|z} fdtdt D} | D]`} |j| t jrt||d| |j| t ja|j|t j rt||d| |j |} n #t$rt||ddwxYw|| vrt||dt|ttfr*|j zt j d|| |<|S) Nrjc32K|]}d|zVdSrr*)rrrRr^s rrz!key_value_rule..Js0LLAvBQB/LLLLLLrr zCannot redefine namespace rrTrf)parse_key_value_pairrangerrGrwr@r{rKrdrzrMrrrrNrrY) rOrPrQrRr,valuersrtabs_key_parentrelative_path_cont_keyscont_keynestr^s ` @rrFrFCs+3[AAOCess8SWJj(NLLLLLq#c((9K9KLLL+== 9==5#6 7 7 RsC)Ph)P)PQQ Q h(;<<<< y}}^U\22  K>KK   Kx**>:: KKK3%?@@dJK43%?@@@%$&&B fslELD AAADN Js 6DD.tuple[Pos, Key, Any]ct||\}} ||}n#t$rd}YnwxYw|dkrt||d|dz }t||t}t |||\}}|||fS)N=z,Expected '=' after a key in a key/value pairr )rrDrKrBrC parse_value)rOrPr,r^rSrs rrresc""HCs8  s{{3%STTT1HC S#w ' 'CS#{33JC U?s  --c>t||\}}|f}t||t} ||}n#t$rd}YnwxYw|dkr||fS|dz }t||t}t||\}}||fz }t||t}q)NT.r )parse_key_partrBrCrD)rOrPkey_partr^rSs rrrus"3,,MC{C S#w ' 'C , "3xDD   DDD  3;;8O qc7++&sC00 X {c7++ ,s8 AAtuple[Pos, str]c ||}n#t$rd}YnwxYw|tvr$|}t||t}||||fS|dkrt||S|dkrt ||St ||d)N'r"z(Invalid initial character for a key part)rDBARE_KEY_CHARSrBparse_literal_strparse_one_line_basic_strrK)rOrPrS start_poss rrrss8  ~ c>22C # &&& s{{ c*** s{{'S111 sC!K L LLrc0|dz }t||dS)Nr F multiline)parse_basic_strrOrPs rrrs 1HC 3u 5 5 55rtuple[Pos, list]c|dz }g}t||}|d|r|dz|fS t|||\}}||t||}|||dz}|dkr|dz|fS|dkrt ||d|dz }t||}|d|r|dz|fS)Nr rT,zUnclosed array)rrrrrK)rOrPr,arrayvalcs r parse_arrayrs1HCE $S# . .C ~~c3Qw~"sC55S S(c22 cAg  887E> ! 88sC)9:: : q(c22 >>#s # # "7E> !"rtuple[Pos, dict]cf|dz }t}t}t||t}|d|r |dz|jfS t |||\}}}|dd|d}}||tjrt||d| | |d} n #t$rt||ddwxYw|| vrt||d ||| |<t||t}|||dz} | dkr |dz|jfS| d krt||d t|t tfr"||tjd |dz }t||t}X) Nr }TrjrFr~rzDuplicate inline table key rzUnclosed inline tablerf)r?r@rBrCrrNrrwrzrKrrrrrY) rOrPr, nested_dictrGr^rrsrtrrs rparse_inline_tablers1HC,,K GGE S#w ' 'C ~~c3)Qw (((,.sCEES%"3B3xRH 99S%, ' ' UsC)Sc)S)STT T O11*51QQDD O O OsC)CDD$ N O t  sC)Sx)S)STT TXc7++ cAg  887K,, , 88sC)@AA A edD\ * * 9 IIc5<4I 8 8 8 qc7+++,s 7CC,Frrc|||dz}|dz }|rt|dvrp|dkrPt||t} ||}n#t$r|dfcYSwxYw|dkrt||d|dz }t||t}|dfS|dkrt ||d S|d krt ||d S |t |fS#t$rt||ddwxYw) Nr>\ \ \ rrzUnescaped '\' in a stringr z\uz\U)rBrCrDrKrparse_hex_charBASIC_STR_ESCAPE_REPLACEMENTSr)rOrPr escape_idrSs rparse_basic_str_escapersMC#'M"I1HC Y"999   S#w//C 3x   Bw t||"3-IJJJ 1HCc#677BwEc3***Ec3***M1)<<< MMM3%ABBLMs?AA8CC$c&t||dS)NTr)rrs r parse_basic_str_escape_multiliners !#sd ; ; ;;rhex_lenr`c$||||z}t||kst|st||d||z }t |d}t |st||d|t |fS)NzInvalid hex valuez/Escaped character is not a Unicode scalar value)rHEXDIGIT_CHARS issupersetrKr`is_unicode_scalar_valuer)rOrPrhex_strhex_ints rrrs#g %&G 7||wn&?&?&H&H3%89997NC'2G "7 + +X3%VWWW G rc`|dz }|}t||dtd}|dz|||fS)Nr rTr)rILLEGAL_LITERAL_STR_CHARS)rOrPrs rrrsJ1HCI  S# 9   C 7C # & &&rliteralc`|dz }|d|r|dz }|r+d}t||dtd}|||}|dz}nd}t||d \}}|||s||fS|dz }|||s|||zfS|dz }|||d zzfS) Nrr r'''Trr"rr)rr#ILLEGAL_MULTILINE_LITERAL_STR_CHARSr)rOrPrdelimend_posresults rparse_multiline_strr s1HC ~~dC   q @   8    S[!k%c3$??? V >>% % %F{1HC >>% % %#FUN""1HC %!)$ $$rc|rt}t}nt}t}d}|} ||}n #t$rt ||ddwxYw|dkrB|s|dz||||zfS|d|r|dz||||zfS|dz }s|dkr$||||z }|||\}}||z }|}||vrt ||d ||dz }) NrTzUnterminated stringr"r """rr#zIllegal character )!ILLEGAL_MULTILINE_BASIC_STR_CHARSrILLEGAL_BASIC_STR_CHARSrrDrKr) rOrPrr parse_escapesrrrS parsed_escapes rrr(sY/48 *. FI Js8DD J J JsC)>??T I J 3;; <QwYs]); ;;;~~eS)) <QwYs]); ;;; 1HC  4<< c)C-( (F!.sC!8!8 C m #FI  8  sC)Fd)F)FGG G q)s /A tuple[Pos, Any]cn ||}n#t$rd}YnwxYw|dkr8|d|rt||dSt||S|dkr8|d|rt||dSt ||S|dkr|d |r|d zdfS|d kr|d |r|d zdfS|dkrt |||S|dkrt |||Stj||}|rK t|}n$#t$r}t||d|d}~wwxYw| |fStj||}|r#| t|fStj||}|r$| t!||fS|||dz} | dvr|dz|| fS|||d z} | dvr|d z|| fSt||d)Nr"rF)rrrTttruerffalser;{zInvalid date or datetimer>infnan>+inf+nan-inf-nanz Invalid value)rDrrrrrrr matchr rrKendr rr r) rOrPr,rSdatetime_match datetime_objelocaltime_match number_match first_three first_fours rrrHss8   s{{ >>% % % @&sC??? ?'S111 s{{ >>% % % ?&sC>>> > c*** s{{ >>&# & & !7D=  s{{ >>'3 ' ' "7E> ! s{{3[111 s{{!#sK888!&sC00N2 L,^<.coord_reprsu #c((??$$yyq#&&* 1991WFF3::dAs333F.t..f...rz (at ))rOr9rPrr.r9)r%)rOrPrrs rrKrKsC//// c?? 3(<(<??? @ @@r codepointcBd|cxkodkncpd|cxkodkncS)Nriiir*)rs rrrsE  # # # #e # # # # G))F)F)F)Fw)F)F)F)FGrc4turtSdfd }|S)a%A decorator to make `parse_float` safe. `parse_float` must not return dicts or lists, because these types would be mixed with parsed TOML tables and arrays, thus confusing the parser. The returned decorated callable raises `ValueError` instead of returning illegal types. float_strr9r.rct|}t|ttfrtd|S)Nz*parse_float must not return dicts or lists)rrNrr)r float_valuer,s rsafe_parse_floatz/make_safe_parse_float..safe_parse_floats>!k),, kD$< 0 0 KIJJ Jr)rr9r.r)float)r,r!s` rrArAs;e  r)r-rr,rr.r/)r7r9r,rr.r/)rOr9rPrrrr.r) rOr9rPrrr9rrrrpr.r)rOr9rPrr.r)rOr9rPrrQr>r.r) rOr9rPrrQr>rRrr,rr.r)rOr9rPrr,rr.r)rOr9rPrr.r)rOr9rPrr.r)rOr9rPrr,rr.r)rOr9rPrr,rr.r)rOr9rPrrrpr.r)rOr9rPrrr`r.r)rOr9rPrrrpr.r)rOr9rPrr,rr.r)rOr9rPrrr9r.r%)rr`r.rp)r,rr.r)G __future__rcollections.abcrstringtypesrtypingrrr_rer r r r rr_typesrrr frozensetrr ASCII_CTRLrrrrrrCr ascii_lettersdigitsrrE hexdigitsrrrr%r"r8r5r@r?r>rBrrLrrJrIrFrrrrrrrrrrrrrrKrrAr*rrr/s #"""""$$$$$$ """""",,,,,,,,,,)((((((((( Y11uuRyy111 1 1IIcc#hh4G4G G %yy6$.61B1B$B!3&G#/ )E   $/6/&-?$FGG"YYu%5%556+,, 0 0 ! !;;;;;j;;;8= - - - - - -38??????D77777777t""""""""DZ ,    $*D     ,,,,$ M M M M 6666 """"0,,,,B.3MMMMMM:<<<<''''%%%%>@A2A2A2A2HAAAA"HHHHrPKTe[ff_types.cpython-311.pycnu[ !A?hHddlmZmZmZeegefZeedfZeZdS))AnyCallableTuple.N) typingrrrstr ParseFloatKeyintPos'/usr/lib64/python3.11/tomllib/_types.pyrsM ('''''''''seSj !  CHo r PKUe[ B  unicode_escape.cpython-311.pycnu[ !A?hdZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdS)z Python 'unicode-escape' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecsunicode_escape_encodeencodeunicode_escape_decodedecode1/usr/lib64/python3.11/encodings/unicode_escape.pyrr s  )F  )FFFrrceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rr errors)selfinputfinals rr zIncrementalEncoder.encodes+E4;??BBrN)F)rrrr r rrrrs.CCCCCCrrceZdZdZdS)IncrementalDecoderc.tj|||S)Nrr )rrrrs r_buffer_decodez!IncrementalDecoder._buffer_decode+E65AAArN)rrrrr rrrrs(BBBBBrrceZdZdS) StreamWriterN)rrrr rrrrsDrrceZdZddZdS) StreamReaderstrictc.tj||dS)NFr)rrrs rr zStreamReader.decode rrN)r!)rrrr r rrr r s.BBBBBBrr c tjdtjtjt t ttS)Nzunicode-escape)namer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrrr r rr getregentryr*%s5   ||--!!   r) __doc__rrrBufferedIncrementalDecoderrrr r*r rrr-s/ *****FL***CCCCC2CCCBBBBB:BBB     5,   BBBBB5,BBB     rPKUe[3hhiso2022_kr.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_krc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode-/usr/lib64/python3.11/encodings/iso2022_kr.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  ..FL82825#3V5H5#3V5H     r PKUe[7 * *punycode.cpython-311.pycnu[ !A?h&dZddlZdZdZdZdZdZdZd Zd Z d Z d Z d Z dZ dZGddejZGddejZGddejZGddeejZGddeejZdZdS)uY Codec for the Punicode encoding, as specified in RFC 3492 Written by Martin v. Löwis. Nct}t}|D]M}t|dkr#|t|8||Nt |}t ||fS)z 3.1 Basic code point segregation) bytearraysetordappendaddsortedbytes)strbaseextendedcs +/usr/lib64/python3.11/encodings/punycode.py segregater s| ;;DuuH  q66C<< KKA     LLOOOOhH ;;  cDd}|D]}t||kr|dz }|S)z@Return the length of str, considering only characters below max.r)r)r maxresrs r selective_lenrs4 C  q66C<< 1HC Jrc~t|} |dz }||krdS||}||kr|dz|fS||kr|dz }.)aReturn a pair (index, pos), indicating the next occurrence of char in str. index is the position of the character considering only ordinals up to and including char, and pos is the position in the full string. index/pos is the starting position in the full string.r)r)len)r charindexposlrs rselective_findrsb CA q !888 H 997C<  XX QJErcd}g}d}|D]t}dx}}t|}t||} | dz||z z} t||||\}}|dkrn%| ||z z } || dz |}d} A|}u|S)3.2 Insertion unsort codingrrrr)rrrr) r roldcharresultoldindexrrrrcurlendeltas rinsertion_unsortr'0sG FH   1vvsD))dWn- &s1U377IE#{{ UX% %E MM%' " " "HE  Mrc<d|dzz|z }|dkrdS|dkrdS|S)N$r)jbiasrs rTr.Fs3 A, C Qwwqq Rxx Jrs$abcdefghijklmnopqrstuvwxyz0123456789c(t}d} t||}||kr/|t|t |S|t|||z d|z zz||z d|z z}|dz })(3.3 Generalized variable-length integersrrr))rr.rdigitsr )Nr-r#r,ts rgenerate_generalized_integerr4Ns [[F A aJJ q55 MM&) $ $ $==  fQ1q5R!V"456777 UQ  Qrc||r|dz}n|dz}|||zz }d}|dkr|dz}|dz }|dk|d|z|dzzz}|S)Niri#r)&r+)r&firstnumchars divisionsr-s radaptr<[sv  #  !  Uh EI #++ R  #++ U urz2 3D Krct}d}t|D]E\}}t||}||t ||dk||zdz}Ft |S)z3.4 Bias adaptationHrr)r enumerater4extendr<r )baselendeltasr#r-pointsr&ss rgenerate_integersrEjsz[[F D"6**99  ( 5 5 aUFAIwv~a'788 ==rct|\}}t||}tt||}|r|dz|zS|S)N-)rr'rEr)textr rrBs rpunycode_encoderIusQt__ND( dH - -F TF33H &d{X%% Orcd}d}d} t||}n,#t$r|dkrtd|dzdfcYSwxYw|dz }d|cxkrdkr nn|dz }n;d|cxkrd kr nn|d z }n%|dkrtd ||dz z|dfSt||} |||zz }|| kr||fS|d | z z}|dz }) r0rrstrictzincomplete punicode stringNAZ09z Invalid extended code point '%s'r))r IndexError UnicodeErrorr.) rextposr-errorsr#wr,rdigitr3s rdecode_generalized_numberrWsd F A A $x'((DD $ $ $!!"#?@@@A:t# # # # $ !  4    4     4KEE T ! ! ! !T ! ! ! ! !2IEE x  A!)&(!3 455 54<  aJJ%!) 1996> ! aL Q-s&AAcd}d}d}d}|t|krt||||\}}||S||dzz }||t|dzzz }|dkr'|dkrtd |ztd }|t|dzz}|d|t |z||dz}t ||dkt|}|}|t|k|S) r!rrr>rNrirKzInvalid character U+%x?)rrWrRrchrr<) r rrTrrr-rSnewposr&s rinsertion_sortr\s D C D F 3x== 1(F26@@  =K uQw D A && (??!!"#;d#BCCCs88DSYY]#DSDzCII%STT 2UVq[3t9955! 3x== " Krct|tr|d}t|trt |}|d}|dkr%d}t|d}nFt|d|d|}t||dzdd}t|||S)NasciirGrr) isinstancer encode memoryviewr rfindupperr\)rHrTrr rs rpunycode_decoderes$${{7##$ ##T{{ **T  C byytW%%++--4:w//tCEFF|W--3355 $& 1 11rceZdZddZddZdS)CodecrKcBt|}|t|fSN)rIrselfinputrTrs rraz Codec.encodese$$CJJrcp|dvrtd|zt||}|t|fSN)rKreplaceignorezUnsupported error handling )rRrerrjs rdecodez Codec.decodesA 8 8 8rs   ! ! !$, 1         <2 2 2 2     FL   &&&&&2&&&333332333      5,        5,       rPKUe[yq q "quopri_codec.cpython-311.opt-2.pycnu[ !A?h ddlZddlZddlmZddZddZGddejZGdd ejZGd d ejZGd d eej Z Gddeej Z dZ dS)N)BytesIOstrictct|}t}tj||d|t |fS)NT) quotetabs)rquopriencodegetvalueleninputerrorsfgs //usr/lib64/python3.11/encodings/quopri_codec.py quopri_encoder sFA A M!Q$'''' JJLL#e** %%ct|}t}tj|||t |fSN)rrdecoder r r s r quopri_decodersAA A M!Q JJLL#e** %%rceZdZddZddZdS)Codecrc"t||Sr)rselfr r s rrz Codec.encodeUF+++rc"t||Sr)rrs rrz Codec.decoderrNr)__name__ __module__ __qualname__rrrrrrs<,,,,,,,,,,rrceZdZddZdS)IncrementalEncoderFc8t||jdSNr)rr rr finals rrzIncrementalEncoder.encodeUDK0033rNF)rr r!rr"rrr$r$(444444rr$ceZdZddZdS)IncrementalDecoderFc8t||jdSr&)rr r's rrzIncrementalDecoder.decode#r)rNr*)rr r!rr"rrr-r-"r+rr-ceZdZeZdS) StreamWriterNrr r!bytescharbuffertyper"rrr0r0&NNNrr0ceZdZeZdS) StreamReaderNr1r"rrr6r6)r4rr6c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInforrr$r-r0r6r"rr getregentryr@.s4   --!!    rr) r>riorrrrr$r-r0r6r@r"rrrBsU  &&&&&&&&,,,,,FL,,, 4444424444444424445&-5&-     rPKUe[o hex_codec.cpython-311.opt-2.pycnu[ !A?h ddlZddlZddZddZGddejZGddejZGd d ejZGd d eejZGd deejZdZ dS)NstrictcHtj|t|fSN)binasciib2a_hexleninputerrorss ,/usr/lib64/python3.11/encodings/hex_codec.py hex_encoder   U # #SZZ 00cHtj|t|fSr)ra2b_hexrr s r hex_decoderrrceZdZddZddZdS)Codecrc"t||Sr)r selfr r s r encodez Codec.encode%(((rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<))))))))))rrceZdZddZdS)IncrementalEncoderFc*tj|Sr)rrrr finals r rzIncrementalEncoder.encode&&&rNF)rrrrr rr r"r"(''''''rr"ceZdZddZdS)IncrementalDecoderFc*tj|Sr)rrr$s r rzIncrementalDecoder.decode!r&rNr')rrrrr rr r*r* r(rr*ceZdZeZdS) StreamWriterNrrrbytescharbuffertyper rr r-r-%NNNrr-ceZdZeZdS) StreamReaderNr.r rr r3r3(r1rr3c vtjdtttt t tdS)NhexF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr"r*r-r3r rr getregentryr>-s4   --!!    rr) r<rr rrr"r*r-r3r>r rr r?sC 11111111)))))FL))) '''''2''' '''''2''' 5&-5&-     rPKUe[X9l7l7cp1125.cpython-311.opt-2.pycnu[ !A?h% ddlZGddejZGddejZGddejZGdd eejZGd d eejZd Zejed Z e iddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/id0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQidRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsidtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddddddddÓddœddǓddɓdd˓dd͓ddϓddѓddӓddՓddדddٓiddۓddݓddߓdddddddddddddddddddddddddddddddd|dddVddNd dZ iddddddddddddd d d d d d d d d d ddddddddddddiddddddddddddddddddddddddd d d!d!d"d"d#d#d$d$id%d%d&d&d'd'd(d(d)d)d*d*d+d+d,d,d-d-d.d.d/d/d0d0d1d1d2d2d3d3d4d4d5d5id6d6d7d7d8d8d9d9d:d:d;d;d<d<d=d=d>d>d?d?d@d@dAdAdBdBdCdCdDdDdEdEdFdFidGdGdHdHdIdIdJdJdKdKdLdLdMdMdNdNdOdOdPdPdQdQdRdRdSdSdTdTdUdUdVdVdWdWidXdXdYdYdZdZd[d[d\d\d]d]d^d^d_d_d`d`dadadbdbdcdcdddddededfdfdgdgdhdhidididjdjdkdkdldldmdmdndndododpdpdqdqdrdrdsdsdtdtdududvdvdwdwdxdxdydyidzdzd{d{d|d|d}d}d~d~dddddddddNddVdd|dddddddddddiddddddddddddddddd!d d#d"d%d$d'd&d)d(d+d*d-d,d/d.d1d0id3d2d5d4d7d6d9d8d;d:d=d<d?d>dAd@dCdBdEdDdGdFdIdHdKdJdMdLdOdNdQdPdSdRidUdTdWdVdYdXd[dZd]d\d_d^dad`dcdbdedddgdfdidhdkdjdmdlddΓddГddғddԓidd֓ddؓddړddܓddޓddddddddddddddddddddddddidddddddddudtdd“dddddddddwdvddddddddddddidddddd~d}d|dddddddddddddddddddddydxd{dzddidddddddddddddddddddd̓ddƓddēddȓddʓdodndqdpdsdrddiZ dS(NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encode encoding_mapselfinputerrorss )/usr/lib64/python3.11/encodings/cp1125.pyencodez Codec.encode s$U6,???c8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decodes$U6.AAArN)r)__name__ __module__ __qualname__rrrrrr sF@@@@BBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encodes$U4;|DDQGGrNF)rrrrrrrrrs.HHHHHHrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decodes$U4;~FFqIIrNr )rrrrrrrr"r"s.JJJJJJrr"ceZdZdS) StreamWriterNrrrrrrr%r%Drr%ceZdZdS) StreamReaderNr&rrrr)r)r'rr)c tjdtjtjt t ttS)Ncp1125)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr"r)r%rrr getregentryr2!s=   ww~ww~--!!   riiiiiiiiiiiiiiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;i<i=i>i?i%i%i%i%i$%ia%ib%iV%iU%ic%iQ%iW%i]%i\%i[%i%i%i4%i,%i%i%i<%i^%i_%iZ%iT%ii%if%i`%iP%il%ig%ih%id%ie%iY%iX%iR%iS%ik%ij%i%i %i%i%i%i%i%i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiiQiiiiTiiViiWi"i!i%) u  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrrrr) rrrr"r%r)r2make_identity_dictrange decoding_mapupdaterr rrrr7s BBBBBFLBBBHHHHH2HHHJJJJJ2JJJ     5,        5,     )v(s44 A FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAp         AAAAAAAL JA FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAAAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAAAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAAAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAAAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAAAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{AAA| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]AAA^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FAA@ FAAA rPKUe[&>//aliases.cpython-311.opt-2.pycnu[ !A?h== iddddddddddddddddd dd dd dd dd dddddddddiddddddddddddddddddd dd!d"d#d"d$d"d%d&d'd&d(d&d)d&id*d+d,d+d-d.d/d.d0d1d2d1d3d4d5d4d6d7d8d7d9d:d;d:dd=d?d@dAd@dBdCidDdCdEdFdGdFdHdIdJdIdKdIdLdMdNdMdOdMdPdMdQdRdSdRdTdRdUdVdWdVdXdVdYdVidZdVd[d\d]d\d^d\d_d`dad`dbd`dcdddedddfdddgdhdidhdjdhdkdldmdldndldodpidqdpdrdpdsdtdudtdvdtdwdxdydxdzdxd{dxd|d}d~d}dd}ddddddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddÓddœddœddœddœiddœdd˓dd˓dd˓ddϓddϓddϓddӓddӓdd֓dd֓ddٓddٓddܓddܓddߓddߓiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddd dd did dd d dd dd dd dd dd ddddddddddddddddddddiddd d!d"d!d#d!d$d!d%d!d&d!d'd!d(d)d*d)d+d)d,d)d-d)d.d)d/d)d0d)d1d2id3d2d4d2d5d2d6d2d7d8d9d8d:d8d;d8d<d8d=d8d>d?d@d?dAdBdCdDdEdDdFdDdGdHidIdHdJdHdKdHdLdHdMdHdNdHdOdHdPdHdQdHdRdHdSdHdTdUdVdWdXdYdZd[d\d[d]d[id^d_d`d_dadbdcdddedddfdgdhdgdidgdjdgdkdldmdldndldodpdqdrdsdrdtdrdudridvdwdxdwdydwdzd{d|d{d}d{d~dddddddddddddddddddddiddddddddddddddddddddddddddddddddddrddddZdS(646asciizansi_x3.4_1968ansi_x3_4_1968zansi_x3.4_1986cp367csasciiibm367 iso646_usziso_646.irv_1991iso_ir_6usus_asciibase64 base64_codecbase_64big5_twbig5csbig5 big5_hkscs big5hkscshkscsbz2 bz2_codec037cp037csibm037 ebcdic_cp_ca ebcdic_cp_nl ebcdic_cp_us ebcdic_cp_wtibm037ibm0391026cp1026 csibm1026ibm10261125cp1125ibm1125cp866uruscii1140cp1140ibm11401250cp1250 windows_12501251cp1251 windows_12511252cp1252 windows_12521253cp1253 windows_12531254cp1254 windows_12541255cp1255 windows_12551256cp1256 windows_12561257cp1257 windows_12571258cp1258 windows_1258273cp273ibm273csibm273424cp424csibm424 ebcdic_cp_heibm424437cp437cspc8codepage437ibm437500cp500csibm500 ebcdic_cp_be ebcdic_cp_chibm500775cp775 cspc775balticibm775850cp850cspc850multilingualibm850852cp852cspcp852ibm852855cp855csibm855ibm855857cp857csibm857ibm857858cp858csibm858ibm858860cp860csibm860ibm860861cp861cp_iscsibm861ibm861862cp862cspc862latinhebrewibm862863cp863csibm863ibm863864cp864csibm864ibm864865cp865csibm865ibm865866cp866csibm866ibm866869cp869cp_grcsibm869ibm869932cp932ms932mskanjims_kanji949cp949ms949uhc950cp950ms950jisx0213 euc_jis_2004 eucjis2004 euc_jis2004 eucjisx0213 euc_jisx0213eucjpeuc_jpujisu_jiseuckreuc_krkoreanksc5601 ks_c_5601ks_c_5601_1987ksx1001 ks_x_1001 gb18030_2000gb18030chinesegb2312csiso58gb231280euc_cneuccn eucgb2312_cn gb2312_1980 gb2312_80 iso_ir_58936gbkcp936ms936hex hex_codecroman8 hp_roman8r8 csHPRoman8cp1051ibm1051hzgbhzhz_gb hz_gb_2312 csiso2022jp iso2022_jp iso2022jp iso_2022_jp iso2022jp_1 iso2022_jp_1 iso_2022_jp_1 iso2022jp_2 iso2022_jp_2 iso_2022_jp_2iso_2022_jp_2004iso2022_jp_2004iso2022jp_2004 iso2022jp_3 iso2022_jp_3 iso_2022_jp_3 iso2022jp_extiso2022_jp_extiso_2022_jp_ext csiso2022kr iso2022_kr iso2022kr iso_2022_kr csisolatin6 iso8859_10 iso_8859_10iso_8859_10_1992 iso_ir_157l6latin6thai iso8859_11 iso_8859_11iso_8859_11_2001 iso_8859_13 iso8859_13l7latin7 iso_8859_14 iso8859_14iso_8859_14_1998 iso_celtic iso_ir_199l8latin8 iso_8859_15 iso8859_15l9latin9 iso_8859_16 iso8859_16iso_8859_16_2001 iso_ir_226l10latin10 csisolatin2 iso8859_2 iso_8859_2iso_8859_2_1987 iso_ir_101l2latin2 csisolatin3 iso8859_3 iso_8859_3iso_8859_3_1988 iso_ir_109l3latin3 csisolatin4 iso8859_4 iso_8859_4iso_8859_4_1988 iso_ir_110l4latin4csisolatincyrillic iso8859_5cyrillic iso_8859_5iso_8859_5_1988 iso_ir_144arabic iso8859_6asmo_708csisolatinarabicecma_114 iso_8859_6iso_8859_6_1987 iso_ir_127csisolatingreek iso8859_7ecma_118elot_928greekgreek8 iso_8859_7iso_8859_7_1987 iso_ir_126csisolatinhebrew iso8859_8hebrew iso_8859_8iso_8859_8_1988 iso_ir_138 csisolatin5 iso8859_9 iso_8859_9iso_8859_9_1989 iso_ir_148l5latin5cp1361johabms1361cskoi8rkoi8_rkz_1048kz1048rk1048 strk1048_20028859latin_1cp819 csisolatin1ibm819iso8859 iso8859_1 iso_8859_1iso_8859_1_1987 iso_ir_100l1latinlatin1 maccyrillic mac_cyrillicmacgreek mac_greek maciceland mac_icelandmaccentraleurope mac_latin2 mac_centeuro maclatin2 macintosh mac_romanmacroman macturkish mac_turkishansimbcsdbcs csptcp154ptcp154pt154cp154cyrillic_asianquopri quopri_codecquoted_printablequotedprintablerot13rot_13 csshiftjis shift_jisshiftjissjiss_jis shiftjis2004shift_jis_2004 sjis_2004 s_jis_2004 shiftjisx0213shift_jisx0213 sjisx0213 s_jisx0213tis620tis_620 tis_620_0tis_620_2529_0tis_620_2529_1 iso_ir_166u16utf_16utf16unicodebigunmarked utf_16_beutf_16beunicodelittleunmarked utf_16_leutf_16leu32utf_32utf32utf_32be utf_32_beutf_32le utf_32_leu7utf_7utf7unicode_1_1_utf_7u8utf_8utfutf8 utf8_ucs2 utf8_ucs4cp65001uuuu_codeczip zlib_codeczlibx_mac_japanese) x_mac_koreanx_mac_simp_chinesex_mac_trad_chineseN)aliases*/usr/lib64/python3.11/encodings/aliases.pyrs"U   7 U  7 U 7U 7U  7U 7U  7U 7U 7U 7U  7U  7!U & >'U (>)U .6/U 0 61U 6;7U U 8 ;9U > ;?U D 7EU F7GU H7IU J7KU L7MU N7OU P 7QU R 7SU X 8YU Z8[U \8]U b HcU dHeU f HgU h HiU U U n 8oU p8qU v 8wU x8yU ~ 8U @8AU F 8GU H8IU N 8OU P8QU V 8WU X8YU ^ 8_U `8aU f 8gU h8iU n 8oU U U p8qU v 8wU x8yU ~ 7U @ 7AU B7CU H 7IU J7KU L7MU N 7OU T 7UU V7WU X 7YU ^ 7_U `7aU b7cU d7eU U U f 7gU l 7mU n7oU p 7qU v 7wU xGyU z 7{U @ 7AU B7CU D 7EU J 7KU L7MU N 7OU T 7UU V7WU X 7YU ^ 7_U U U `7aU b 7cU h 7iU j7kU l 7mU r 7sU t 7uU v7wU x 7yU ~ 7U @7AU B 7CU H 7IU J7KU L 7MU R 7SU T7UU U U V 7WU \ 7]U ^7_U ` 7aU f 7gU h7iU j 7kU p 7qU r 7sU t7uU v 7wU | 7}U ~ 7U @7AU B7CU H 7IU J 7KU U U L 7MU R 7SU T 7UU Z>[U \>]U ^>_U d>eU j 8kU l 8mU n 8oU t 8uU v 8wU x8yU z8{U |8}U ~8U @8AU U U F9GU L8MU N8OU P 8QU R 8SU T8UU V8WU X8YU Z8[U ` 5aU b 5cU d 5eU j ;kU p ;qU r ;sU t;uU v ;wU U U x;yU ~ 4U @ 4AU B4CU HSU T>UU Z>[U \>]U b,cU d,eU j>kU l>mU r+sU t+uU U U z<{U |<}U ~<U D S U X ;Y U ^ =_ U d QU R>SU T>UU Z 8[U `;aU b;cU d ;eU f ;gU U U l+mU n+oU p+qU v+wU x+yU z+{U @ 9AU B9CU D9EU F9GU H9IU N 8OU P 8QU V;WU X;YU ^k_U `;aU U U f 8gU h 8iU n;oU t;uU z 7{U | 7}U ~7U D 7EU F 7GU H 7IU J7KU L7MU N7OU T :UU Z <[U \ <]U bKcU U d%$"iU U U rPKUe[@*[[gb2312.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ngb2312c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode)/usr/lib64/python3.11/encodings/gb2312.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP H%%FL82825#3V5H5#3V5H     r PKUe[ SShz.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Nhzc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode%/usr/lib64/python3.11/encodings/hz.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP D!!FL82825#3V5H5#3V5H     r PKUe[~׈(ll"iso2022_jp_2.cpython-311.opt-1.pycnu[ !A?h%6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jp_2c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/iso2022_jp_2.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  00FL82825#3V5H5#3V5H     r PKUe[_]]gb18030.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ngb18030c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode*/usr/lib64/python3.11/encodings/gb18030.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP I&&FL82825#3V5H5#3V5H     r PKUe[ascii.cpython-311.opt-1.pycnu[ !A?h dZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$gd#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8S)9z3Constants and membership tests for ASCII characters  )!NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPcdt|tdkrt|S|S)N)typeordcs %/usr/lib64/python3.11/curses/ascii.py_ctoirL0s) Aww$r((1vv c>t|pt|SN)isalphaisdigitrIs rKisalnumrR6wqzz/WQZZ/rMc>t|pt|SrO)isupperislowerrIs rKrPrP7rSrMc<dt|cxkodkncS)Nrr#rLrIs rKisasciirY8s)qE!HH+++++++++rMc$t|dvS)N)r r"rXrIs rKisblankr[9suQxx7**rMcbdt|cxkodkncpt|dkS)Nrr!r#rXrIs rKiscntrlr]:s8qE!HH********=eAhh#o=rMc<dt|cxkodkncS)N09rXrIs rKrQrQ;)rU1XX+++++++++rMc<dt|cxkodkncS)N!~rXrIs rKisgraphre<)rU1XX,,,,,,,,,rMc<dt|cxkodkncS)NazrXrIs rKrVrV=rfrMc<dt|cxkodkncS)Nr"rdrXrIs rKisprintrk>rfrMc@t|ot| SrO)rerRrIs rKispunctrm?swqzz4'!**n4rMc$t|dvS)N)r r r rrr"rXrIs rKisspacero@suQxx#:::rMc<dt|cxkodkncS)NAZrXrIs rKrUrUArarMct|p9dt|cxkodkncpdt|cxkodkncS)NrqFrhf)rQrLrIs rKisxdigitrvBsc 6588r6!U1XX444444446rMc<dt|cxkodkncS)Nrr"rXrIs rKisctrlrxDs)a588((((b(((((rMc(t|dkS)Nr#rXrIs rKismetarzEseAhhn$rMct|tdkrtt|dzSt|dzS)NrFr#rGchrrLrIs rKasciir~GA Aww$r((588d?###Qxx$rMct|tdkrtt|dzSt|dzS)NrFr!r|rIs rKctrlrMrrMct|tdkrtt|dzSt|dzS)NrFr|rIs rKaltrSrrMct|}|dkrd}n@t|dzrt|dz}ndt|dzdzdzz}|dzrd|zS|S)Nr#z^?^r"r!)rLrkr})rJbitsreps rKunctrlrYs 88D t||   7$+C$+-5666 d{Sy JrMN):__doc__r$r%r&r'r(r)r*r+r,TABr-r.NLr/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDDEL controlnamesrLrRrPrYr[r]rQrerVrkrmrorUrvrxrzr~rrrrMrKrs99                                      0/////+++***===+++,,,,,,,,,444:::+++666((($$$       rMPKUe[ xggeuc_jisx0213.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N euc_jisx0213c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/euc_jisx0213.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP N++FL82825#3V5H5#3V5H     r PKUe[IPss%iso2022_jp_2004.cpython-311.opt-1.pycnu[ !A?h16ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Niso2022_jp_2004c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode2/usr/lib64/python3.11/encodings/iso2022_jp_2004.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ  !233FL82825#3V5H5#3V5H     r PKUe[Puu_codec.cpython-311.pycnu[ !A?h# dZddlZddlZddlmZddZddZGd d ejZGd d ejZGd dej Z Gddeej Z Gddeej Z dZ dS)aPython 'uu_codec' Codec - UU content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). Some details were adapted from uu.py which was written by Lance Ellinghouse and modified by Jack Jansen and Fredrik Lundh. N)BytesIOstrictc|dksJt|}t}|j}|j}|dd}|dd}|d|dz|fzd|d }|r*|t j||d }|*|d |t|fS) Nr z\n z\rz begin %o %s iascii-s end ) rreadwritereplaceencodebinasciib2a_uugetvaluelen) inputerrorsfilenamemodeinfileoutfiler r chunks +/usr/lib64/python3.11/encodings/uu_codec.py uu_encoders X     U^^FiiG ;D MEU++HU++H E?dUlH5 5 = =g F FGGG DHHE  hoe$$%%%R  E+     E ++c2|dksJt|}t}|j}|j} |}|std|dddkrn+ |}|r|dkrnq t j|}nO#tj$r=}|dd z d zd zdzd z} t j|d| }Yd}~nd}~wwxYw|||std |t|fS)Nrz"Missing "begin" line in input datasbeginTsend r ?zTruncated input data) rreadliner ValueErrorra2b_uuErrorrr) rrrrr%r sdatavnbytess r uu_decoder-%s] X     U^^FiiGH ME HJJ CABB B RaR5H      HJJ AMM  /?1%%DD~ / / /!R2~*Q.14F?1WfW:..DDDDDD / d   1/000     E ++s5B C3CCceZdZddZddZdS)Codecrc"t||SN)rselfrrs rrz Codec.encodeG'''rc"t||Sr1)r-r2s rdecodez Codec.decodeJr4rNr)__name__ __module__ __qualname__rr6rrr/r/Fs<((((((((((rr/ceZdZddZdS)IncrementalEncoderFc8t||jdSNr)rrr3rfinals rrzIncrementalEncoder.encodeN ,,Q//rNF)r8r9r:rr;rrr=r=M(000000rr=ceZdZddZdS)IncrementalDecoderFc8t||jdSr?)r-rr@s rr6zIncrementalDecoder.decodeRrBrNrC)r8r9r:r6r;rrrFrFQrDrrFceZdZeZdS) StreamWriterNr8r9r:bytescharbuffertyper;rrrIrIUNNNrrIceZdZeZdS) StreamReaderNrJr;rrrOrOXrMrrOc vtjdtttt t tdS)NuuF)namerr6incrementalencoderincrementaldecoder streamreader streamwriter_is_text_encoding)codecs CodecInforr-r=rFrOrIr;rr getregentryrZ]s4   --!!    r)rrrr7) __doc__rXriorrr-r/r=rFrIrOrZr;rrr]s[ ,,,,*,,,,B(((((FL(((0000020000000020005&-5&-     rPKUe[Elliso2022_jp_1.cpython-311.pycnu[ !A?h%6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jp_1c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/iso2022_jp_1.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  00FL82825#3V5H5#3V5H     r PKUe[WiuUUgbk.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ngbkc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode&/usr/lib64/python3.11/encodings/gbk.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP E""FL82825#3V5H5#3V5H     r PKUe[='4'4cp858.cpython-311.opt-2.pycnu[ !A?h߄ , ddlZGddejZGddejZGddejZGdd eejZGd d eejZd Zejed Z e iddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/id0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQidRdSdGdTdUdVdWdXdYdZd[d\d]d^d_d`dZdadbdcdadddedPd`dbdfdgdhdidjdkdldmidndodpdqdrdsdtdudvdwdxd_dydzd\d{dgd|ddd}dcdRd~dWd^ddwddsddudddid+dd-dd3dddddd/dddddddddddddUdddXdddddddidddAddKddIddddddddCdddYdddddddOdddddddddid1drddd#dddddd!dd)ddQdd'dfd%dpddedVdjd9ddSd~d5dtdd[d7ddxdhd]dvdydndlddNd dZ iddddddddddddddddddddddddddddddddddidddddd“ddÓddēddœddƓddǓddȓddɓddʓdd˓dd̓dd͓ddΓddϓddГiddѓddғddӓddԓddՓdd֓ddדddؓddٓddړddۓddܓddݓddޓddߓddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddddddd d d d d d d d d d ddddddddddddddiddddddddddddddddddddddd d d!d!d"d"d#d#d$d$d%d%id&d&d'd'd(d(d)d)d*d*d+d+d,d,d-d-d.d.dNd?dPdedRdcdGdFdUddWd~dYdd[did]d=d_dxdZdYdbd`dadZdedd`d_dfd'dhdEdjdVdlddnddpd%drd1dtd5dvdTdxdidyd;d\d[dgdfdddadcdbd~dSd^d]dwdvdsdrdudtddd+d*d-d,d3d2ddddd/d.iddddddddAddKddIddXdXdWdddddddddAd@dKdJdIdHdd!ddidddCdBddQdd#ddOdddOdNdddd3ddddd1d0ddd#d"ddddd!d id)d(dQdPd'd&d%d$dddVdUd9d8dSdRd5d4ddd7d6dd7dEdDd=d<dTdGd;d:ddidd)ddd?d>dddMdLdd9dd+dodndddd^ddwdddddqdpdduddsdd-iddd{d\dd/d|dgddd}dddddzdyddddddddddCdddidhdkdjdmdlddiZ dS(/NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encode encoding_mapselfinputerrorss (/usr/lib64/python3.11/encodings/cp858.pyencodez Codec.encode s$U6,???c8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decodes$U6.AAArN)r)__name__ __module__ __qualname__rrrrrr sF@@@@BBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encodes$U4;|DDQGGrNF)rrrrrrrrrs.HHHHHHrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decodes$U4;~FFqIIrNr )rrrrrrrr"r"s.JJJJJJrr"ceZdZdS) StreamWriterNrrrrrrr%r%Drr%ceZdZdS) StreamReaderNr&rrrr)r)r'rr)c tjdtjtjt t ttS)Ncp858)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr"r)r%rrr getregentryr2!s=   ww~ww~--!!   rii%i%i%i%i$%ic%iQ%iW%i]%i%i%i4%i,%i%i%i<%iZ%iT%ii%if%i`%iP%il%i i%i %i%i%i%i i%) rrkrcryrar7rrreu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~) rrrr"r%r)r2make_identity_dictrange decoding_mapupdaterr rrrr7s BBBBBFLBBBHHHHH2HHHJJJJJ2JJJ     5,        5,     )v(s44 A FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAp         AAAAAAAL JA FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAAAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAAAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAAAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAAAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAAAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{AAA| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]AAA^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FAA@ FAAA rPKUe[Y??bz2_codec.cpython-311.opt-2.pycnu[ !A?h ddlZddlZddZddZGddejZGddejZGd d ejZGd d eejZGd deejZdZ dS)NstrictcHtj|t|fSN)bz2compressleninputerrorss ,/usr/lib64/python3.11/encodings/bz2_codec.py bz2_encoder s L  U ,,cHtj|t|fSr)r decompressrr s r bz2_decoders N5 ! !3u:: ..rceZdZddZddZdS)Codecrc"t||Sr)r selfr r s r encodez Codec.encode%(((rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<))))))))))rrc$eZdZddZddZdZdS) IncrementalEncoderrcD||_tj|_dSr)r r BZ2Compressor compressobjrr s r __init__zIncrementalEncoder.__init__s  ,..rFc|r6|j|}||jzS|j|Sr)r$rflush)rr finalcs r rzIncrementalEncoder.encode#sQ  4 ))%00At'--/// /#,,U33 3rc6tj|_dSr)rr#r$rs r resetzIncrementalEncoder.reset*s,..rNrF)rrrr&rr-rrr r!r!sK//// 4444/////rr!c$eZdZddZddZdZdS) IncrementalDecoderrcD||_tj|_dSr)r rBZ2Decompressor decompressobjr%s r r&zIncrementalDecoder.__init__.s   022rFcZ |j|S#t$rYdSwxYw)N)r3rEOFError)rr r)s r rzIncrementalDecoder.decode3s@ %0077 7   22 s  **c6tj|_dSr)rr2r3r,s r r-zIncrementalDecoder.reset9s 022rNrr.)rrrr&rr-rrr r0r0-sK3333  33333rr0ceZdZeZdS) StreamWriterNrrrbytescharbuffertyperrr r9r9<NNNrr9ceZdZeZdS) StreamReaderNr:rrr r?r??r=rr?c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr!r0r9r?rrr getregentryrIDs4   --!!    rr) rGrr rrr!r0r9r?rIrrr rJsC ----////)))))FL))) /////2/// 3 3 3 3 32 3 3 35&-5&-     rPKUe[,Lqqiso2022_jp_ext.cpython-311.pycnu[ !A?h-6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Niso2022_jp_extc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode1/usr/lib64/python3.11/encodings/iso2022_jp_ext.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ  !122FL82825#3V5H5#3V5H     r PKUe[3hh iso2022_kr.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_krc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode-/usr/lib64/python3.11/encodings/iso2022_kr.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  ..FL82825#3V5H5#3V5H     r PKUe[LUutf_32_be.cpython-311.opt-2.pycnu[ !A?h ddlZejZd dZGddejZGddejZGdd ejZGd d ejZd Z dS)Nstrictc.tj||dS)NT)codecsutf_32_be_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_32_be.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_32_be_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-32-be)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&s1   --!!   r )r) rrrr r BufferedIncrementalDecoderrrrr&rr r r(s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[4 cp720.cpython-311.opt-1.pycnu[ !A?hv5dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdZej eZ dS)zPython Character Mapping Codec cp720 generated on Windows: Vista 6.0.6002 SP2 Multiprocessor Free with the command: python Tools/unicode/genwincodec.py 720 NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encodeencoding_tableselfinputerrorss (/usr/lib64/python3.11/encodings/cp720.pyencodez Codec.encode $U6.AAAc8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr sFBBBBBBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encode$U4;~FFqIIrNF)rrrrrrrrr.JJJJJJrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttS)Ncp720)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr%r,r(rrr getregentryr5#s=   ww~ww~--!!   ru  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€éâ„à†çêëèïّْô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡ًٌٍَُِ≈°∙·√ⁿ²■ ) __doc__rrrr%r(r,r5r charmap_buildr rrrr8sI  BBBBBFLBBBJJJJJ2JJJJJJJJ2JJJ     5,        5,      H$v#N33rPKUe[ zlib_codec.cpython-311.opt-1.pycnu[ !A?hdZddlZddlZddZddZGddejZGdd ejZGd d ejZGd d eejZGddeej Z dZ dS)zPython 'zlib_codec' Codec - zlib compression encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcHtj|t|fSN)zlibcompressleninputerrorss -/usr/lib64/python3.11/encodings/zlib_codec.py zlib_encoder s M% #e** --cHtj|t|fSr)r decompressrr s r zlib_decoders OE " "CJJ //rceZdZddZddZdS)Codecrc"t||Sr)r selfr r s r encodez Codec.encode5&)))rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<**********rrc$eZdZddZddZdZdS) IncrementalEncoderrcD||_tj|_dSr)r r compressobjrr s r __init__zIncrementalEncoder.__init__s  +--rFc|r6|j|}||jzS|j|Sr)r#rflushrr finalcs r rzIncrementalEncoder.encode!sQ  4 ))%00At'--/// /#,,U33 3rc6tj|_dSr)rr#rs r resetzIncrementalEncoder.reset(s+--rNrF)rrrr%rr-rrr r!r!sK.... 4444.....rr!c$eZdZddZddZdZdS) IncrementalDecoderrcD||_tj|_dSr)r r decompressobjr$s r r%zIncrementalDecoder.__init__,s  !/11rFc|r6|j|}||jzS|j|Sr)r2rr'r(s r rzIncrementalDecoder.decode1sQ  8"--e44At)//111 1%0077 7rc6tj|_dSr)rr2r,s r r-zIncrementalDecoder.reset8s!/11rNrr.)rrrr%rr-rrr r0r0+sK2222 888822222rr0ceZdZeZdS) StreamWriterNrrrbytescharbuffertyperrr r6r6;NNNrr6ceZdZeZdS) StreamReaderNr7rrr r<r<>r:rr<c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamreader streamwriter_is_text_encoding)codecs CodecInfor rr!r0r<r6rrr getregentryrFCs4   --!!    rr) __doc__rDrr rrr!r0r6r<rFrrr rHsH ....0000*****FL*** .....2... 222222222 5&-5&-     rPKUe[c##uu_codec.cpython-311.opt-2.pycnu[ !A?h#  ddlZddlZddlmZddZddZGdd ejZGd d ejZGd d ejZGddeej Z Gddeej Z dZ dS)N)BytesIOstrictct|}t}|j}|j}|dd}|dd}|d|dz|fzd|d}|r*|t j||d}|*|d |t|fS) N z\n z\rz begin %o %s iascii-s end ) rreadwritereplaceencodebinasciib2a_uugetvaluelen) inputerrorsfilenamemodeinfileoutfiler r chunks +/usr/lib64/python3.11/encodings/uu_codec.py uu_encoders U^^FiiG ;D MEU++HU++H E?dUlH5 5 = =g F FGGG DHHE  hoe$$%%%R  E+     E ++c"t|}t}|j}|j} |}|std|dddkrn+ |}|r|dkrnq t j|}nO#tj$r=}|ddz d zd zdzd z} t j|d| }Yd}~nd}~wwxYw|||std |t|fS) Nz"Missing "begin" line in input datasbeginTsend r ?zTruncated input data) rreadliner ValueErrorra2b_uuErrorrr) rrrrr%r sdatavnbytess r uu_decoder-%sL U^^FiiGH ME HJJ CABB B RaR5H      HJJ AMM  /?1%%DD~ / / /!R2~*Q.14F?1WfW:..DDDDDD / d   1/000     E ++s-BC3C  CceZdZddZddZdS)Codecrc"t||SN)rselfrrs rrz Codec.encodeG'''rc"t||Sr1)r-r2s rdecodez Codec.decodeJr4rNr)__name__ __module__ __qualname__rr6rrr/r/Fs<((((((((((rr/ceZdZddZdS)IncrementalEncoderFc8t||jdSNr)rrr3rfinals rrzIncrementalEncoder.encodeN ,,Q//rNF)r8r9r:rr;rrr=r=M(000000rr=ceZdZddZdS)IncrementalDecoderFc8t||jdSr?)r-rr@s rr6zIncrementalDecoder.decodeRrBrNrC)r8r9r:r6r;rrrFrFQrDrrFceZdZeZdS) StreamWriterNr8r9r:bytescharbuffertyper;rrrIrIUNNNrrIceZdZeZdS) StreamReaderNrJr;rrrOrOXrMrrOc vtjdtttt t tdS)NuuF)namerr6incrementalencoderincrementaldecoder streamreader streamwriter_is_text_encoding)codecs CodecInforr-r=rFrOrIr;rr getregentryrZ]s4   --!!    r)rrrr7) rXriorrr-r/r=rFrIrOrZr;rrr\sV ,,,,*,,,,B(((((FL(((0000020000000020005&-5&-     rPKUe[ SShz.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Nhzc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode%/usr/lib64/python3.11/encodings/hz.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP D!!FL82825#3V5H5#3V5H     r PKUe[nIeaashift_jis.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N shift_jisc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode,/usr/lib64/python3.11/encodings/shift_jis.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP K((FL82825#3V5H5#3V5H     r PKUe[Ell"iso2022_jp_1.cpython-311.opt-1.pycnu[ !A?h%6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jp_1c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/iso2022_jp_1.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  00FL82825#3V5H5#3V5H     r PKUe[rot_13.cpython-311.pycnu[ !A?h dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd Zeje dZ e idddddddddddddddddd d!d"d#d$d%d&d'd(ddddddddiddddddddd dd"d!d$d#d&d%d(d'd)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8id9d:d;d<d=d>d?d@dAdBd*d)d,d+d.d-d0d/d2d1d4d3d6d5d8d7d:d9dd=d@d?dBdAidCZ e dDkrddlZe ejejdSdS)Ez Python Character Mapping Codec for ROT13. This codec de/encodes from str to str. Written by Marc-Andre Lemburg (mal@lemburg.com). NceZdZddZddZdS)Codecstrictc`t|tt|fSNstr translate rot13_maplenselfinputerrorss )/usr/lib64/python3.11/encodings/rot_13.pyencodez Codec.encode! eY//U<<c`t|tt|fSrrr s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr s<==========rrceZdZddZdS)IncrementalEncoderFcBt|tSrr r r rrfinals rrzIncrementalEncoder.encode}}UI...rNF)rrrrrrrrr(//////rrceZdZddZdS)IncrementalDecoderFcBt|tSrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttdS)Nrot-13F)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding) codecs CodecInforrrrr%r(r,rrr getregentryr7$s@   ww~ww~--!!    rANBOCPDQERFSGTHUIVJWKXLYMZanbocpdqerfsgthuivjwkxlymzcz|tj|ddS)Nr.)writer5rread)infileoutfiles rrot13rrls. MM&- x8899999r__main__)__doc__r5rrr%r(r,r7make_identity_dictranger updaterrrsysstdinstdoutrrrr{s? =====FL===/////2////////2///     5,        5,      &F %eeCjj 1 1 5 65 65 65 6 5  6 5  6 5 65 65 65 65 65 65 65 65 65  6!5" 6#55$ 6%5& 6'5( 6)5* 6+5, 6-5. 6/50 6152 6354 6556 6758 695: 6;5< 6=5> 6?5@ 6A5B 6C5D 6E555F 6G5H 6I5J 6K5L 6M5N 6O5P 6Q5R 6S5T 6U5V 6W5X 6Y5Z 6[5\ 6]5^ 6_5` 6a5b 6c5d 6e5f 6g55h 6i55555r::: zJJJ E#)SZ     rPKUe[rutf_32_be.cpython-311.opt-1.pycnu[ !A?hdZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-32-be' Codec Nstrictc.tj||dS)NT)codecsutf_32_be_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_32_be.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_32_be_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-32-be)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[YYcp950.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ncp950c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/cp950.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_twr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[DZaautf_8_sig.cpython-311.opt-2.pycnu[ !A?h% ddlZddZddZGddejZGddejZGd d ejZGd d ejZd ZdS)Nstrictcptjtj||dzt|fSNr)codecsBOM_UTF8 utf_8_encodelen)inputerrorss ,/usr/lib64/python3.11/encodings/utf_8_sig.pyencoder s1 Of1%@@C C JJ cd}|ddtjkr |dd}d}tj||d\}}|||zfS)NrT)rr utf_8_decode)r r prefixoutputconsumeds r decodersV F RaRyFO##abb ,UFDAAVX HVO $$rc0eZdZd dZd dZdZdZdZdS) IncrementalEncoderrcTtj||d|_dSN)rr__init__firstselfr s r rzIncrementalEncoder.__init__s&!**4888 rFc|jr4d|_tjtj||jdzStj||jdSr)rrrrr )rr finals r r zIncrementalEncoder.encodesU : >DJ?&udk::1=> >&udk::1= =rcRtj|d|_dSr)rrresetrrs r r"zIncrementalEncoder.reset's$!''--- rc|jSNrr#s r getstatezIncrementalEncoder.getstate+s zrc||_dSr%r&rstates r setstatezIncrementalEncoder.setstate.s  rNr)F)__name__ __module__ __qualname__rr r"r'r+rr rrsi>>>>rrc.eZdZddZdZdZdZdZdS) IncrementalDecoderrcTtj||d|_dSr)rBufferedIncrementalDecoderrrrs r rzIncrementalDecoder.__init__2s&)224@@@ rcB|jrt|dkr)tj|rdSd|_nGd|_|ddtjkr(tj|dd||\}}||dzfStj|||S)Nrrr)rr rr startswithr)rr r r rrs r _buffer_decodez!IncrementalDecoder._buffer_decode6s : 05zzA~~?--e44##7!"DJJ !9//*59feDD'VX"HQJ//"5&%888rcRtj|d|_dSr)rr4r"rr#s r r"zIncrementalDecoder.resetGs$)//555 rc^tj|}|d|jfSr)rr4r'rr)s r r'zIncrementalDecoder.getstateKs)1::4@@a$*%%rc`tj|||d|_dSr)rr4r+rr)s r r+zIncrementalDecoder.setstatePs*)224???1X rNr,)r-r.r/rr9r"r'r+r0rr r2r21sd999"&&& rr2ceZdZdZddZdS) StreamWritercltj| |`dS#t$rYdSwxYwr%)rr>r"r AttributeErrorr#s r r"zStreamWriter.resetVI!!$'''      DD  % 33rcDtj|_t||Sr%)rrr )rr r s r r zStreamWriter.encode]s) eV$$$rNr,)r-r.r/r"r r0rr r>r>Us7%%%%%%rr>ceZdZdZddZdS) StreamReadercltj| |`dS#t$rYdSwxYwr%)rrEr"rr@r#s r r"zStreamReader.resetbrArBrcXt|dkr"tj|rdSnP|ddtjkr8tj|_tj|dd|\}}||dzfStj|_tj||S)Nrr6)r rrr8rr)rr r rrs r rzStreamReader.decodeis u::>>))%00 w 2A2Y&/ ) ) -DK!'!4U122Yv!F!F VXHQJ' ') "5&111rNr,)r-r.r/r"rr0rr rErEas7 2 2 2 2 2 2rrEc ttjdtttt t tS)Nz utf-8-sig)namer rincrementalencoderincrementaldecoder streamreader streamwriter)r CodecInfor rrr2rEr>r0rr getregentryrOys1   --!!   rr,) rr rrr4r2r>rErOr0rr rPs  %%%%2.""""":"""H % % % % %6& % % %222226&2220     rPKUe[f koi8_t.cpython-311.opt-2.pycnu[ !A?h3 ddlZGddejZGddejZGddejZGdd eejZGd d eejZd Zd ZejeZ dS)NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encodeencoding_tableselfinputerrorss )/usr/lib64/python3.11/encodings/koi8_t.pyencodez Codec.encode $U6.AAAc8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr sFBBBBBBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encode$U4;~FFqIIrNF)rrrrrrrrr.JJJJJJrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttS)Nzkoi8-t)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr%r,r(rrr getregentryr4"s=   ww~ww~--!!   ru  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~қғ‚Ғ„…†‡￾‰ҳ‹ҲҷҶ￾Қ‘’“”•–—￾™￾›￾￾￾￾￾ӯӮё¤ӣ¦§￾￾￾«¬­®￾°±²Ё￾Ӣ¶·￾№￾»￾￾￾©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ) rrrr%r(r,r4r charmap_buildr rrrr6sD  BBBBBFLBBBJJJJJ2JJJJJJJJ2JJJ     5,        5,      H$v#N33rPKUe[9%tutf_32.cpython-311.opt-2.pycnu[ !A?h  ddlZddlZejZd dZGddejZGddejZGdd ejZGd d ej Z d Z dS)Nstrictc.tj||dS)NT)codecs utf_32_decode)inputerrorss )/usr/lib64/python3.11/encodings/utf_32.pydecoder s  vt 4 44c0eZdZd dZd dZdZdZdZdS) IncrementalEncoderrcTtj||d|_dSN)rr __init__encoderselfrs r rzIncrementalEncoder.__init__s&!**4888 r Fc|jUtj||jd}tjdkrtj|_ntj|_|S|||jdS)Nrlittle)rr utf_32_encodersys byteorderutf_32_le_encodeutf_32_be_encode)rrfinalresults r encodezIncrementalEncoder.encodesf < )%==a@F}((%6 %6 M||E4;//22r cRtj|d|_dSr)rr resetrrs r rzIncrementalEncoder.resets$!''--- r c|jdndS)Nr)rr s r getstatezIncrementalEncoder.getstate s \)q1r c|r d|_dStjdkrtj|_dStj|_dSNr)rrrrrrrstates r setstatezIncrementalEncoder.setstate's>  7DLLL}((%6 %6 r Nr)F)__name__ __module__ __qualname__rrrr#r(r r r r si333322277777r r c.eZdZddZdZdZdZdZdS) IncrementalDecoderrcTtj||d|_dSr)rBufferedIncrementalDecoderrdecoderrs r rzIncrementalDecoder.__init__1s&)224@@@ r c|jdtj||d|\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS|||j|S)Nr%UTF-32 stream does not start with BOM)r2rutf_32_ex_decodeutf_32_le_decodeutf_32_be_decode UnicodeErrorr)rrrroutputconsumedrs r _buffer_decodez!IncrementalDecoder._buffer_decode5s < 'vq%@@ *VXyB%6 a%6 Q"#JKKKH% %||E4;666r cRtj|d|_dSr)rr1rr2r s r rzIncrementalDecoder.resetBs$)//555 r ctj|d}|j|dfSt t jdk|jtjuk}||fS)Nrr"big)rr1r#r2intrrr:)rr'addstates r r#zIncrementalDecoder.getstateFsk1::4@@C < 1:  . (??ABBx  r c8tj|||d}|dkr/tjdkr tjn tj|_dS|dkr/tjdkr tjn tj|_dSd|_dS)Nr5rrA)rr1r(rrr:r9r2r&s r r(zIncrementalDecoder.setstateTs)224???a A::"}55#33!'!8 LLLaZZ"}55#33!'!8 LLL DLLLr Nr))r*r+r,rr>rr#r(r-r r r/r/0sd 7 7 7 ! ! !      r r/c$eZdZddZdZddZdS) StreamWriterrcVd|_tj|||dSr)rrrFr)rstreamrs r rzStreamWriter.__init__ds* $$T66:::::r cRtj|d|_dSr)rrFrrr s r rzStreamWriter.reseths$!!$''' r c|jJtj||}tjdkrtj|_ntj|_|S|||Sr%)rrrrrrr)rrrrs r rzStreamWriter.encodelsX < )%88F}((%6 %6 M<<v.. .r Nr))r*r+r,rrrr-r r rFrFcsK;;;; / / / / / /r rFceZdZdZddZdS) StreamReadercltj| |`dS#t$rYdSwxYwr)rrLrr AttributeErrorr s r rzStreamReader.resetysI!!$'''      DD s % 33rctj||dd\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS)NrFr4r5r6r7)rr8r9r r:r;)rrrobjectr=rs r r zStreamReader.decodesn  #E61e < < &9 ?? 1DKK !^^ 1DKK q[[FGG G!!r Nr))r*r+r,rr r-r r rLrLws7 " " " " " "r rLc ttjdtttt t tS)Nzutf-32)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r r/rLrFr-r r getregentryrXs1   --!!   r r)) rrrrr r r1r/rFrLrXr-r r rYs  5555!7!7!7!7!72!7!7!7F1 1 1 1 1 :1 1 1 f/////6&///("""""6&""",     r PKUe[.+YYcp932.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ncp932c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/cp932.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[+jll$shift_jisx0213.cpython-311.opt-1.pycnu[ !A?h#6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Nshift_jisx0213c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode1/usr/lib64/python3.11/encodings/shift_jisx0213.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ ,--FL82825#3V5H5#3V5H     r PKUe[Egg"euc_jis_2004.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N euc_jis_2004c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/euc_jis_2004.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP N++FL82825#3V5H5#3V5H     r PKUe[;Tll$shift_jis_2004.cpython-311.opt-2.pycnu[ !A?h#6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Nshift_jis_2004c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode1/usr/lib64/python3.11/encodings/shift_jis_2004.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ ,--FL82825#3V5H5#3V5H     r PKUe[rot_13.cpython-311.opt-1.pycnu[ !A?h dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd Zeje dZ e idddddddddddddddddd d!d"d#d$d%d&d'd(ddddddddiddddddddd dd"d!d$d#d&d%d(d'd)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8id9d:d;d<d=d>d?d@dAdBd*d)d,d+d.d-d0d/d2d1d4d3d6d5d8d7d:d9dd=d@d?dBdAidCZ e dDkrddlZe ejejdSdS)Ez Python Character Mapping Codec for ROT13. This codec de/encodes from str to str. Written by Marc-Andre Lemburg (mal@lemburg.com). NceZdZddZddZdS)Codecstrictc`t|tt|fSNstr translate rot13_maplenselfinputerrorss )/usr/lib64/python3.11/encodings/rot_13.pyencodez Codec.encode! eY//U<<c`t|tt|fSrrr s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr s<==========rrceZdZddZdS)IncrementalEncoderFcBt|tSrr r r rrfinals rrzIncrementalEncoder.encode}}UI...rNF)rrrrrrrrr(//////rrceZdZddZdS)IncrementalDecoderFcBt|tSrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttdS)Nrot-13F)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding) codecs CodecInforrrrr%r(r,rrr getregentryr7$s@   ww~ww~--!!    rANBOCPDQERFSGTHUIVJWKXLYMZanbocpdqerfsgthuivjwkxlymzcz|tj|ddS)Nr.)writer5rread)infileoutfiles rrot13rrls. MM&- x8899999r__main__)__doc__r5rrr%r(r,r7make_identity_dictranger updaterrrsysstdinstdoutrrrr{s? =====FL===/////2////////2///     5,        5,      &F %eeCjj 1 1 5 65 65 65 6 5  6 5  6 5 65 65 65 65 65 65 65 65 65  6!5" 6#55$ 6%5& 6'5( 6)5* 6+5, 6-5. 6/50 6152 6354 6556 6758 695: 6;5< 6=5> 6?5@ 6A5B 6C5D 6E555F 6G5H 6I5J 6K5L 6M5N 6O5P 6Q5R 6S5T 6U5V 6W5X 6Y5Z 6[5\ 6]5^ 6_5` 6a5b 6c5d 6e5f 6g55h 6i55555r::: zJJJ E#)SZ     rPKUe[͙|Nnnutf_16.cpython-311.pycnu[ !A?htdZddlZddlZejZddZGddejZGddejZGd d ej Z Gd d ej Z d Z dS)z Python 'utf-16' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nstrictc.tj||dS)NT)codecs utf_16_decode)inputerrorss )/usr/lib64/python3.11/encodings/utf_16.pydecoder s  vt 4 44c0eZdZd dZd dZdZdZdZdS) IncrementalEncoderrcTtj||d|_dSN)rr __init__encoderselfrs r rzIncrementalEncoder.__init__s&!**4888 r Fc|jUtj||jd}tjdkrtj|_ntj|_|S|||jdS)Nrlittle)rr utf_16_encodersys byteorderutf_16_le_encodeutf_16_be_encode)rrfinalresults r encodezIncrementalEncoder.encodesf < )%==a@F}((%6 %6 M||E4;//22r cRtj|d|_dSr)rr resetrrs r rzIncrementalEncoder.reset!s$!''--- r c|jdndS)Nr)rr s r getstatezIncrementalEncoder.getstate%s \)q1r c|r d|_dStjdkrtj|_dStj|_dSNr)rrrrrrrstates r setstatezIncrementalEncoder.setstate,s>  7DLLL}((%6 %6 r Nr)F)__name__ __module__ __qualname__rrrr#r(r r r r si333322277777r r c.eZdZddZdZdZdZdZdS) IncrementalDecoderrcTtj||d|_dSr)rBufferedIncrementalDecoderrdecoderrs r rzIncrementalDecoder.__init__6s&)224@@@ r c|jdtj||d|\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS|||j|S)Nrr"%UTF-16 stream does not start with BOM)r2rutf_16_ex_decodeutf_16_le_decodeutf_16_be_decode UnicodeErrorr)rrrroutputconsumedrs r _buffer_decodez!IncrementalDecoder._buffer_decode:s < 'vq%@@ *VXyB%6 a%6 Q"#JKKKH% %||E4;666r cRtj|d|_dSr)rr1rr2r s r rzIncrementalDecoder.resetGs$)//555 r ctj|d}|j|dfSt t jdk|jtjuk}||fS)Nrr"big)rr1r#r2intrrr9)rr'addstates r r#zIncrementalDecoder.getstateKsk1::4@@C < 1:  . (??ABBx  r c8tj|||d}|dkr/tjdkr tjn tj|_dS|dkr/tjdkr tjn tj|_dSd|_dS)Nr5rr@)rr1r(rrr9r8r2r&s r r(zIncrementalDecoder.setstateYs)224???a A::"}55#33!'!8 LLLaZZ"}55#33!'!8 LLL DLLLr Nr))r*r+r,rr=rr#r(r-r r r/r/5sd 7 7 7 ! ! !      r r/c$eZdZddZdZddZdS) StreamWriterrcVtj|||d|_dSr)rrErr)rstreamrs r rzStreamWriter.__init__is($$T66::: r cRtj|d|_dSr)rrErrr s r rzStreamWriter.resetms$!!$''' r c|jJtj||}tjdkrtj|_ntj|_|S|||Sr%)rrrrrrr)rrrrs r rzStreamWriter.encodeqsX < )%88F}((%6 %6 M<<v.. .r Nr))r*r+r,rrrr-r r rErEhsK / / / / / /r rEceZdZdZddZdS) StreamReadercltj| |`dS#t$rYdSwxYwr)rrKrr AttributeErrorr s r rzStreamReader.reset~sI!!$'''      DD s % 33rctj||dd\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS)NrFr4r5r"r6)rr7r8r r9r:)rrrobjectr<rs r r zStreamReader.decodesn  #E61e < < &9 ?? 1DKK !^^ 1DKK q[[FGG G!!r Nr))r*r+r,rr r-r r rKrK|s7 " " " " " "r rKc ttjdtttt t tS)Nzutf-16)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r r/rKrEr-r r getregentryrWs1   --!!   r r)) __doc__rrrrr r r1r/rErKrWr-r r rYs  5555!7!7!7!7!72!7!7!7F1 1 1 1 1 :1 1 1 f/////6&///("""""6&""",     r PKUe[2: KKrot_13.cpython-311.opt-2.pycnu[ !A?h  ddlZGddejZGddejZGddejZGdd eejZGd d eejZd Zejed Z e iddddddddddddddddddd d!d"d#d$d%d&d'ddddddddiddddddddddd!d d#d"d%d$d'd&d(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7id8d9d:d;dd?d@dAd)d(d+d*d-d,d/d.d1d0d3d2d5d4d7d6d9d8d;d:d=d<d?d>dAd@idBZ e dCkrddl Z e e je jdSdS)DNceZdZddZddZdS)Codecstrictc`t|tt|fSNstr translate rot13_maplenselfinputerrorss )/usr/lib64/python3.11/encodings/rot_13.pyencodez Codec.encode! eY//U<<c`t|tt|fSrrr s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr s<==========rrceZdZddZdS)IncrementalEncoderFcBt|tSrr r r rrfinals rrzIncrementalEncoder.encode}}UI...rNF)rrrrrrrrr(//////rrceZdZddZdS)IncrementalDecoderFcBt|tSrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttdS)Nrot-13F)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding) codecs CodecInforrrrr%r(r,rrr getregentryr7$s@   ww~ww~--!!    rANBOCPDQERFSGTHUIVJWKXLYMZanbocpdqerfsgthuivjwkxlymzcz|tj|ddS)Nr.)writer5rread)infileoutfiles rrot13rrls. MM&- x8899999r__main__)r5rrr%r(r,r7make_identity_dictranger updaterrrsysstdinstdoutrrrrzs: =====FL===/////2////////2///     5,        5,      &F %eeCjj 1 1 5 65 65 65 6 5  6 5  6 5 65 65 65 65 65 65 65 65 65  6!5" 6#55$ 6%5& 6'5( 6)5* 6+5, 6-5. 6/50 6152 6354 6556 6758 695: 6;5< 6=5> 6?5@ 6A5B 6C5D 6E555F 6G5H 6I5J 6K5L 6M5N 6O5P 6Q5R 6S5T 6U5V 6W5X 6Y5Z 6[5\ 6]5^ 6_5` 6a5b 6c5d 6e5f 6g55h 6i55555r::: zJJJ E#)SZ     rPKUe[ xgg"euc_jisx0213.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N euc_jisx0213c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/euc_jisx0213.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP N++FL82825#3V5H5#3V5H     r PKUe[//U U palmos.cpython-311.pycnu[ !A?h4dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdZej eZ dS)zx Python Character Mapping Codec for PalmOS 3.5. Written by Sjoerd Mullender (sjoerd@acm.org); based on iso8859_15.py. NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encodeencoding_tableselfinputerrorss )/usr/lib64/python3.11/encodings/palmos.pyencodez Codec.encode $U6.AAAc8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr sFBBBBBBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encode$U4;~FFqIIrNF)rrrrrrrrr.JJJJJJrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttS)Npalmos)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr%r,r(rrr getregentryr5"s=   ww~ww~--!!   ru  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ♦♣♥♠‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ) __doc__rrrr%r(r,r5r charmap_buildr rrrr8sI  BBBBBFLBBBJJJJJ2JJJJJJJJ2JJJ     5,        5,      H$v#N33rPKUe[,YYjohab.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Njohabc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/johab.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_krr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[LO{{oem.cpython-311.pycnu[ !A?hdZddlmZmZddlZeZddZGddejZGdd ejZGd d ej Z Gd d ej Z dZ dS)z! Python 'oem' Codec for Windows ) oem_encode oem_decodeNstrictc$t||dS)NT)r)inputerrorss &/usr/lib64/python3.11/encodings/oem.pydecoder s eVT * **ceZdZddZdS)IncrementalEncoderFc8t||jdS)Nr)rr)selfrfinals r encodezIncrementalEncoder.encodes%--a00r N)F)__name__ __module__ __qualname__rr r r r s(111111r r ceZdZeZdS)IncrementalDecoderN)rrrr_buffer_decoderr r rrsNNNr rceZdZeZdS) StreamWriterN)rrrrrrr r rr FFFr rceZdZeZdS) StreamReaderN)rrrrr rr r rrrr rc ttjdtttt t tS)Noem)namerr incrementalencoderincrementaldecoder streamreader streamwriter)codecs CodecInforr r rrrrr r getregentryr' s1   --!!   r )r) __doc__r%rrrr r BufferedIncrementalDecoderrrrr'rr r r*s *)))))))  ++++111112111     :   6&6&     r PKUe[ hex_codec.cpython-311.pycnu[ !A?hdZddlZddlZddZddZGddejZGdd ejZGd d ejZGd d eejZGddeej Z dZ dS)zPython 'hex_codec' Codec - 2-digit hex content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcX|dksJtj|t|fSNr)binasciib2a_hexleninputerrorss ,/usr/lib64/python3.11/encodings/hex_codec.py hex_encoder / X      U # #SZZ 00cX|dksJtj|t|fSr)ra2b_hexrr s r hex_decoderrrceZdZddZddZdS)Codecrc"t||SN)r selfr r s r encodez Codec.encode%(((rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<))))))))))rrceZdZddZdS)IncrementalEncoderFcD|jdksJtj|Sr)r rrrr finals r rzIncrementalEncoder.encode&{h&&&&&&&rNF)rrr rr!rr r#r#(''''''rr#ceZdZddZdS)IncrementalDecoderFcD|jdksJtj|Sr)r rrr%s r rzIncrementalDecoder.decode!r'rNr()rrr rr!rr r+r+ r)rr+ceZdZeZdS) StreamWriterNrrr bytescharbuffertyper!rr r.r.%NNNrr.ceZdZeZdS) StreamReaderNr/r!rr r4r4(r2rr4c vtjdtttt t tdS)NhexF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr#r+r.r4r!rr getregentryr?-s4   --!!    rr) __doc__r=rr rrr#r+r.r4r?r!rr rAsH 11111111)))))FL))) '''''2''' '''''2''' 5&-5&-     rPKUe[L]fcharmap.cpython-311.opt-1.pycnu[ !A?h$dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdS)a Generic Python Character Mapping Codec. Use this codec directly rather than through the automatic conversion mechanisms supplied by unicode() and .encode(). Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecscharmap_encodeencodecharmap_decodedecode*/usr/lib64/python3.11/encodings/charmap.pyrrs  "F  "FFFrrceZdZddZddZdS)IncrementalEncoderstrictNcTtj||||_dSN)rr__init__mappingselferrorsrs rrzIncrementalEncoder.__init__&!**4888 rFcNtj||j|jdSNr)rr rrrinputfinals rr zIncrementalEncoder.encode $UDKFFqIIrrNFrrrrr r rrrrBJJJJJJrrceZdZddZddZdS)IncrementalDecoderrNcTtj||||_dSr)rr&rrrs rrzIncrementalDecoder.__init__!rrFcNtj||j|jdSr)rr rrrs rr zIncrementalDecoder.decode%r rr!r"rrrrr r rrr&r& r$rr&ceZdZddZddZdS) StreamWriterrNcVtj|||||_dSr)rr+rrrstreamrrs rrzStreamWriter.__init__*($$T&888 rcDt|||jSr)rr rrrrs rr zStreamWriter.encode.||E&666rr!rr#r rrr+r+(<777777rr+ceZdZddZddZdS) StreamReaderrNcVtj|||||_dSr)rr6rrr-s rrzStreamReader.__init__3r/rcDt|||jSr)rr rr1s rr zStreamReader.decode7r2rr!r3r)r rrr6r61r4rr6c tjdtjtjt t ttS)Ncharmap)namer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rr&r+r6r rr getregentryrA<s5   ||--!!   r)__doc__rrrr&r+r6rAr rrrCs'   #####FL###JJJJJ2JJJJJJJJ2JJJ777775,777777775,777     rPKUe[,Lqq$iso2022_jp_ext.cpython-311.opt-2.pycnu[ !A?h-6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Niso2022_jp_extc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode1/usr/lib64/python3.11/encodings/iso2022_jp_ext.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ  !122FL82825#3V5H5#3V5H     r PKUe[QU[[euc_kr.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Neuc_krc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode)/usr/lib64/python3.11/encodings/euc_kr.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_krr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP H%%FL82825#3V5H5#3V5H     r PKUe[)--idna.cpython-311.opt-2.pycnu[ !A?h#,ddlZddlZddlZddlmZejdZdZdZdZ dZ dZ Gd d ej Z Gd d ej ZGd dejZGdde ejZGdde ejZdZdS)N) ucd_3_2_0u [.。.。]sxn--zxn--c:g}|D]>}tj|r|tj|?d|}t jd|}|D]}tj|stj|stj |sxtj |sdtj |sPtj |sznameprep..)s# 7 7 7Aj$Q'' 7 7 7c3>K|]}tj|VdS)N)r in_table_d2r s r znameprep..1s-88Qz%a((888888rzViolation of BIDI requirement 2rzViolation of BIDI requirement 3)r in_table_b1append map_table_b2join unicodedata normalize in_table_c12 in_table_c22 in_table_c3 in_table_c4 in_table_c5 in_table_c6 in_table_c7 in_table_c8 in_table_c9 UnicodeErrorany)labelnewlabelcRandALs rnameprepr*sH 44  !! $ $   /223333 GGH  E  !&% 0 0E ; ;  "1 % % ;  "1 % % ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;59:: : ;8 7 7 7 7F 6{{B 88%888 8 8 B@AA A ay Br  B@AA A Lrc\ |d}dt|cxkrdkrnn|Std#t$rYnwxYwt|} |d}dt|cxkrdkrnn|Std#t$rYnwxYw|t rtd|d}t |z}dt|cxkrdkrnn|Std)Nasciir@label empty or too longzLabel starts with ACE prefixpunycode)encodelenr$r* startswith sace_prefix ace_prefix)r&s rToASCIIr5<s 6 W%% s5zz    B     L4555       UOOE6 W%% s5zz    B     L4555        $$;9::: LL $ $E  E 3u:: 0 1 11s#A AA%B(( B54B5ctt|trd}n+ |d}d}n#t$rd}YnwxYw|sCt |} |d}n#t$rtdwxYw|t st|dS|tt d}| d}t|}t|d t|dkrtd|||S)NTr,FzInvalid character in IDN labelr/zIDNA does not round-trip) isinstancebytesr0r$r*r2r4strr1decoder5lower)r& pure_asciilabel1resultlabel2s r ToUnicoder@gs^%  LL))EJJ   JJJ  A ALL))EE A A A?@@ @ A   J ' '#5'"""3z??## $F]]: & &FV__F 5'  ""c&'&:&:::5ufEEE Ms2 AAA,,BceZdZddZddZdS)Codecstrictc|dkrtd|z|sdS |d}|d}|ddD]-}dt|cxkrdksntd .t|ddkrtd |t|fS#t$rYnwxYwt }t |}|r|dsd}|d=nd }|D];}|r|d|t|labelsr& trailing_dots rr0z Codec.encodes X  r&s rr:z Codec.decodes/ X  sizer&s r_buffer_encodez!IncrementalEncoder._buffer_encodes X  d||z}|t|z }||fS) NrCrSrTr,rUrrrr]) r$r7r9rKrHrr@r1rr^s r_buffer_decodez!IncrementalDecoder._buffer_decodesB X  rzs000000rz.//  ,,,\)2)2)2V%%%RF9F9F9F9F9FLF9F9F9P!%!%!%!%!%:!%!%!%F%%%%%:%%%N     5,        5,       rPKUe[1*a{{utf_7.cpython-311.opt-2.pycnu[ !A?h ddlZejZd dZGddejZGddejZGdd ejZGd d ejZd Z dS)Nstrictc.tj||dS)NT)codecs utf_7_decode)inputerrorss (/usr/lib64/python3.11/encodings/utf_7.pydecoder s  ufd 3 33ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)r utf_7_encoder)selfrfinals r encodezIncrementalEncoder.encodes"5$+66q99r N)F)__name__ __module__ __qualname__rr r r r s(::::::r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs(NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nzutf-7)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&s1   --!!   r )r) rrrr r BufferedIncrementalDecoderrrrr&rr r r(s   4444:::::2:::))))):)))!!!!!6&!!!!!!!!6&!!!     r PKUe[-YYcp949.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ncp949c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/cp949.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_krr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[@*[[gb2312.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ngb2312c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode)/usr/lib64/python3.11/encodings/gb2312.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP H%%FL82825#3V5H5#3V5H     r PKUe[z_] palmos.cpython-311.opt-2.pycnu[ !A?h4 ddlZGddejZGddejZGddejZGdd eejZGd d eejZd Zd ZejeZ dS)NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encodeencoding_tableselfinputerrorss )/usr/lib64/python3.11/encodings/palmos.pyencodez Codec.encode $U6.AAAc8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr sFBBBBBBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encode$U4;~FFqIIrNF)rrrrrrrrr.JJJJJJrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttS)Npalmos)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr%r,r(rrr getregentryr5"s=   ww~ww~--!!   ru  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ♦♣♥♠‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ) rrrr%r(r,r5r charmap_buildr rrrr7sD  BBBBBFLBBBJJJJJ2JJJJJJJJ2JJJ     5,        5,      H$v#N33rPKUe[YYcp950.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ncp950c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/cp950.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_twr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[i i hex_codec.cpython-311.opt-1.pycnu[ !A?hdZddlZddlZddZddZGddejZGdd ejZGd d ejZGd d eejZGddeej Z dZ dS)zPython 'hex_codec' Codec - 2-digit hex content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcHtj|t|fSN)binasciib2a_hexleninputerrorss ,/usr/lib64/python3.11/encodings/hex_codec.py hex_encoder   U # #SZZ 00cHtj|t|fSr)ra2b_hexrr s r hex_decoderrrceZdZddZddZdS)Codecrc"t||Sr)r selfr r s r encodez Codec.encode%(((rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<))))))))))rrceZdZddZdS)IncrementalEncoderFc*tj|Sr)rrrr finals r rzIncrementalEncoder.encode&&&rNF)rrrrr rr r"r"(''''''rr"ceZdZddZdS)IncrementalDecoderFc*tj|Sr)rrr$s r rzIncrementalDecoder.decode!r&rNr')rrrrr rr r*r* r(rr*ceZdZeZdS) StreamWriterNrrrbytescharbuffertyper rr r-r-%NNNrr-ceZdZeZdS) StreamReaderNr.r rr r3r3(r1rr3c vtjdtttt t tdS)NhexF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr"r*r-r3r rr getregentryr>-s4   --!!    rr) __doc__r<rr rrr"r*r-r3r>r rr r@sH 11111111)))))FL))) '''''2''' '''''2''' 5&-5&-     rPKUe[8" " utf_16_le.cpython-311.pycnu[ !A?h dZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-16-le' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nstrictc.tj||dS)NT)codecsutf_16_le_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_16_le.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_16_le_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-16-le)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&!s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[Ьp undefined.cpython-311.opt-1.pycnu[ !A?hdZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdS)a5 Python 'undefined' Codec This codec will always raise a ValueError exception when being used. It is intended for use by the site.py file to switch off automatic string to Unicode coercion. Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. NceZdZddZddZdS)Codecstrictc tdNzundefined encoding UnicodeErrorselfinputerrorss ,/usr/lib64/python3.11/encodings/undefined.pyencodez Codec.encode/000c tdrrr s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrrs<1111111111rrceZdZddZdS)IncrementalEncoderFc tdrrr r finals rrzIncrementalEncoder.encoderrNF)rrrrrrrrr(111111rrceZdZddZdS)IncrementalDecoderFc tdrrrs rrzIncrementalDecoder.decoderrNr)rrrrrrrr r rrr ceZdZdS) StreamWriterNrrrrrrr#r# Drr#ceZdZdS) StreamReaderNr$rrrr'r'#r%rr'c tjdtjtjt t ttS)N undefined)namerrincrementalencoderincrementaldecoder streamwriter streamreader) codecs CodecInforrrrr r#r'rrr getregentryr1(s=   ww~ww~--!!   r)__doc__r/rrr r#r'r1rrrr3s   11111FL111111112111111112111     5,        5,       rPKUe[IPssiso2022_jp_2004.cpython-311.pycnu[ !A?h16ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Niso2022_jp_2004c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode2/usr/lib64/python3.11/encodings/iso2022_jp_2004.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ  !233FL82825#3V5H5#3V5H     r PKUe[;Ѿhhiso2022_jp.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jpc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode-/usr/lib64/python3.11/encodings/iso2022_jp.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  ..FL82825#3V5H5#3V5H     r PKUe[LO{{oem.cpython-311.opt-1.pycnu[ !A?hdZddlmZmZddlZeZddZGddejZGdd ejZGd d ej Z Gd d ej Z dZ dS)z! Python 'oem' Codec for Windows ) oem_encode oem_decodeNstrictc$t||dS)NT)r)inputerrorss &/usr/lib64/python3.11/encodings/oem.pydecoder s eVT * **ceZdZddZdS)IncrementalEncoderFc8t||jdS)Nr)rr)selfrfinals r encodezIncrementalEncoder.encodes%--a00r N)F)__name__ __module__ __qualname__rr r r r s(111111r r ceZdZeZdS)IncrementalDecoderN)rrrr_buffer_decoderr r rrsNNNr rceZdZeZdS) StreamWriterN)rrrrrrr r rr FFFr rceZdZeZdS) StreamReaderN)rrrrr rr r rrrr rc ttjdtttt t tS)Noem)namerr incrementalencoderincrementaldecoder streamreader streamwriter)codecs CodecInforr r rrrrr r getregentryr' s1   --!!   r )r) __doc__r%rrrr r BufferedIncrementalDecoderrrrr'rr r r*s *)))))))  ++++111112111     :   6&6&     r PKUe[utf_32_le.cpython-311.opt-1.pycnu[ !A?hdZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-32-le' Codec Nstrictc.tj||dS)NT)codecsutf_32_le_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_32_le.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_32_le_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-32-le)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[4 cp720.cpython-311.pycnu[ !A?hv5dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdZej eZ dS)zPython Character Mapping Codec cp720 generated on Windows: Vista 6.0.6002 SP2 Multiprocessor Free with the command: python Tools/unicode/genwincodec.py 720 NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encodeencoding_tableselfinputerrorss (/usr/lib64/python3.11/encodings/cp720.pyencodez Codec.encode $U6.AAAc8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr sFBBBBBBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encode$U4;~FFqIIrNF)rrrrrrrrr.JJJJJJrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttS)Ncp720)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr%r,r(rrr getregentryr5#s=   ww~ww~--!!   ru  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€éâ„à†çêëèïّْô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡ًٌٍَُِ≈°∙·√ⁿ²■ ) __doc__rrrr%r(r,r5r charmap_buildr rrrr8sI  BBBBBFLBBBJJJJJ2JJJJJJJJ2JJJ     5,        5,      H$v#N33rPKUe[! "quopri_codec.cpython-311.opt-1.pycnu[ !A?hdZddlZddlZddlmZddZddZGddejZGd d ejZGd d ej Z Gd deej Z Gddeej Z dZ dS)zQCodec for quoted-printable encoding. This codec de/encodes from bytes to bytes. N)BytesIOstrictct|}t}tj||d|t |fS)NT) quotetabs)rquopriencodegetvalueleninputerrorsfgs //usr/lib64/python3.11/encodings/quopri_codec.py quopri_encoder sFA A M!Q$'''' JJLL#e** %%ct|}t}tj|||t |fSN)rrdecoder r r s r quopri_decodersAA A M!Q JJLL#e** %%rceZdZddZddZdS)Codecrc"t||Sr)rselfr r s rrz Codec.encodeUF+++rc"t||Sr)rrs rrz Codec.decoderrNr)__name__ __module__ __qualname__rrrrrrs<,,,,,,,,,,rrceZdZddZdS)IncrementalEncoderFc8t||jdSNr)rr rr finals rrzIncrementalEncoder.encodeUDK0033rNF)rr r!rr"rrr$r$(444444rr$ceZdZddZdS)IncrementalDecoderFc8t||jdSr&)rr r's rrzIncrementalDecoder.decode#r)rNr*)rr r!rr"rrr-r-"r+rr-ceZdZeZdS) StreamWriterNrr r!bytescharbuffertyper"rrr0r0&NNNrr0ceZdZeZdS) StreamReaderNr1r"rrr6r6)r4rr6c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInforrr$r-r0r6r"rr getregentryr@.s4   --!!    rr) __doc__r>riorrrrr$r-r0r6r@r"rrrCsZ  &&&&&&&&,,,,,FL,,, 4444424444444424445&-5&-     rPKUe[5h latin_1.cpython-311.opt-1.pycnu[ !A?hdZddlZGddejZGddejZGddejZGd d eejZGd d eejZGd deeZdZdS)z Python 'latin-1' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecslatin_1_encodeencodelatin_1_decodedecode*/usr/lib64/python3.11/encodings/latin_1.pyrr s  "F  "FFFrrceZdZddZdS)IncrementalEncoderFcBtj||jdSNr)rr errorsselfinputfinals rr zIncrementalEncoder.encode$U4;77::rNF)rrrr r rrrr(;;;;;;rrceZdZddZdS)IncrementalDecoderFcBtj||jdSr)rr rrs rr zIncrementalDecoder.decoderrNr)rrrr r rrrrrrrceZdZdS) StreamWriterNrrrr rrr r Drr ceZdZdS) StreamReaderNr!r rrr$r$r"rr$c*eZdZejZejZdS)StreamConverterN)rrrrr r r r r rrr&r&"s  "F  "FFFrr&c tjdtjtjt t ttS)Nz iso8859-1)namer r incrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforr r rrr$r r rr getregentryr.)s5   ||--!!   r) __doc__rrrrr r$r&r.r rrr0sC #####FL###;;;;;2;;;;;;;;2;;;     5,        5,   #####l<###     rPKUe[,YYjohab.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Njohabc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/johab.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_krr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[@*[[gb2312.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ngb2312c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode)/usr/lib64/python3.11/encodings/gb2312.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP H%%FL82825#3V5H5#3V5H     r PKUe[txr6 6 mbcs.cpython-311.opt-1.pycnu[ !A?hdZddlmZmZddlZeZddZGddejZGdd ejZGd d ej Z Gd d ej Z dZ dS)z Python 'mbcs' Codec for Windows Cloned by Mark Hammond (mhammond@skippinet.com.au) from ascii.py, which was written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. ) mbcs_encode mbcs_decodeNstrictc$t||dS)NT)r)inputerrorss '/usr/lib64/python3.11/encodings/mbcs.pydecoder s ufd + ++ceZdZddZdS)IncrementalEncoderFc8t||jdS)Nr)rr)selfrfinals r encodezIncrementalEncoder.encodes5$+..q11r N)F)__name__ __module__ __qualname__rr r r r s(222222r r ceZdZeZdS)IncrementalDecoderN)rrrr_buffer_decoderr r rrs NNNr rceZdZeZdS) StreamWriterN)rrrrrrr r rr FFFr rceZdZeZdS) StreamReaderN)rrrrr rr r rr!rr rc ttjdtttt t tS)Nmbcs)namerr incrementalencoderincrementaldecoder streamreader streamwriter)codecs CodecInforr r rrrrr r getregentryr'&s1   --!!   r )r) __doc__r%rrrr r BufferedIncrementalDecoderrrrr'rr r r*s,+++++++  ,,,,222222222!!!!!:!!!6&6&     r PKUe[( latin_1.cpython-311.opt-2.pycnu[ !A?h ddlZGddejZGddejZGddejZGdd eejZGd d eejZGd d eeZdZdS)Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecslatin_1_encodeencodelatin_1_decodedecode*/usr/lib64/python3.11/encodings/latin_1.pyrr s  "F  "FFFrrceZdZddZdS)IncrementalEncoderFcBtj||jdSNr)rr errorsselfinputfinals rr zIncrementalEncoder.encode$U4;77::rNF)rrrr r rrrr(;;;;;;rrceZdZddZdS)IncrementalDecoderFcBtj||jdSr)rr rrs rr zIncrementalDecoder.decoderrNr)rrrr r rrrrrrrceZdZdS) StreamWriterNrrrr rrr r Drr ceZdZdS) StreamReaderNr!r rrr$r$r"rr$c*eZdZejZejZdS)StreamConverterN)rrrrr r r r r rrr&r&"s  "F  "FFFrr&c tjdtjtjt t ttS)Nz iso8859-1)namer r incrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforr r rrr$r r rr getregentryr.)s5   ||--!!   r)rrrrr r$r&r.r rrr/s> #####FL###;;;;;2;;;;;;;;2;;;     5,        5,   #####l<###     rPKUe[D{{utf_8.cpython-311.opt-2.pycnu[ !A?h ddlZejZd dZGddejZGddejZGdd ejZGd d ejZd Z dS)Nstrictc.tj||dS)NT)codecs utf_8_decode)inputerrorss (/usr/lib64/python3.11/encodings/utf_8.pydecoder s  ufd 3 33ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)r utf_8_encoder)selfrfinals r encodezIncrementalEncoder.encodes"5$+66q99r N)F)__name__ __module__ __qualname__rr r r r s(::::::r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs(NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nzutf-8)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&!s1   --!!   r )r) rrrr r BufferedIncrementalDecoderrrrr&rr r r(s   4444:::::2:::))))):)))!!!!!6&!!!!!!!!6&!!!     r PKUe[7 * *punycode.cpython-311.opt-1.pycnu[ !A?h&dZddlZdZdZdZdZdZdZd Zd Z d Z d Z d Z dZ dZGddejZGddejZGddejZGddeejZGddeejZdZdS)uY Codec for the Punicode encoding, as specified in RFC 3492 Written by Martin v. Löwis. Nct}t}|D]M}t|dkr#|t|8||Nt |}t ||fS)z 3.1 Basic code point segregation) bytearraysetordappendaddsortedbytes)strbaseextendedcs +/usr/lib64/python3.11/encodings/punycode.py segregater s| ;;DuuH  q66C<< KKA     LLOOOOhH ;;  cDd}|D]}t||kr|dz }|S)z@Return the length of str, considering only characters below max.r)r)r maxresrs r selective_lenrs4 C  q66C<< 1HC Jrc~t|} |dz }||krdS||}||kr|dz|fS||kr|dz }.)aReturn a pair (index, pos), indicating the next occurrence of char in str. index is the position of the character considering only ordinals up to and including char, and pos is the position in the full string. index/pos is the starting position in the full string.r)r)len)r charindexposlrs rselective_findrsb CA q !888 H 997C<  XX QJErcd}g}d}|D]t}dx}}t|}t||} | dz||z z} t||||\}}|dkrn%| ||z z } || dz |}d} A|}u|S)3.2 Insertion unsort codingrrrr)rrrr) r roldcharresultoldindexrrrrcurlendeltas rinsertion_unsortr'0sG FH   1vvsD))dWn- &s1U377IE#{{ UX% %E MM%' " " "HE  Mrc<d|dzz|z }|dkrdS|dkrdS|S)N$r)jbiasrs rTr.Fs3 A, C Qwwqq Rxx Jrs$abcdefghijklmnopqrstuvwxyz0123456789c(t}d} t||}||kr/|t|t |S|t|||z d|z zz||z d|z z}|dz })(3.3 Generalized variable-length integersrrr))rr.rdigitsr )Nr-r#r,ts rgenerate_generalized_integerr4Ns [[F A aJJ q55 MM&) $ $ $==  fQ1q5R!V"456777 UQ  Qrc||r|dz}n|dz}|||zz }d}|dkr|dz}|dz }|dk|d|z|dzzz}|S)Niri#r)&r+)r&firstnumchars divisionsr-s radaptr<[sv  #  !  Uh EI #++ R  #++ U urz2 3D Krct}d}t|D]E\}}t||}||t ||dk||zdz}Ft |S)z3.4 Bias adaptationHrr)r enumerater4extendr<r )baselendeltasr#r-pointsr&ss rgenerate_integersrEjsz[[F D"6**99  ( 5 5 aUFAIwv~a'788 ==rct|\}}t||}tt||}|r|dz|zS|S)N-)rr'rEr)textr rrBs rpunycode_encoderIusQt__ND( dH - -F TF33H &d{X%% Orcd}d}d} t||}n,#t$r|dkrtd|dzdfcYSwxYw|dz }d|cxkrdkr nn|dz }n;d|cxkrd kr nn|d z }n%|dkrtd ||dz z|dfSt||} |||zz }|| kr||fS|d | z z}|dz }) r0rrstrictzincomplete punicode stringNAZ09z Invalid extended code point '%s'r))r IndexError UnicodeErrorr.) rextposr-errorsr#wr,rdigitr3s rdecode_generalized_numberrWsd F A A $x'((DD $ $ $!!"#?@@@A:t# # # # $ !  4    4     4KEE T ! ! ! !T ! ! ! ! !2IEE x  A!)&(!3 455 54<  aJJ%!) 1996> ! aL Q-s&AAcd}d}d}d}|t|krt||||\}}||S||dzz }||t|dzzz }|dkr'|dkrtd |ztd }|t|dzz}|d|t |z||dz}t ||dkt|}|}|t|k|S) r!rrr>rNrirKzInvalid character U+%x?)rrWrRrchrr<) r rrTrrr-rSnewposr&s rinsertion_sortr\s D C D F 3x== 1(F26@@  =K uQw D A && (??!!"#;d#BCCCs88DSYY]#DSDzCII%STT 2UVq[3t9955! 3x== " Krct|tr|d}t|trt |}|d}|dkr%d}t|d}nFt|d|d|}t||dzdd}t|||S)NasciirGrr) isinstancer encode memoryviewr rfindupperr\)rHrTrr rs rpunycode_decoderes$${{7##$ ##T{{ **T  C byytW%%++--4:w//tCEFF|W--3355 $& 1 11rceZdZddZddZdS)CodecrKcBt|}|t|fSN)rIrselfinputrTrs rraz Codec.encodese$$CJJrcp|dvrtd|zt||}|t|fSN)rKreplaceignorezUnsupported error handling )rRrerrjs rdecodez Codec.decodesA 8 8 8rs   ! ! !$, 1         <2 2 2 2     FL   &&&&&2&&&333332333      5,        5,       rPKUe[ utf_16_be.cpython-311.opt-2.pycnu[ !A?h  ddlZejZd dZGddejZGddejZGdd ejZGd d ejZd Z dS)Nstrictc.tj||dS)NT)codecsutf_16_be_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_16_be.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_16_be_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-16-be)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&!s1   --!!   r )r) rrrr r BufferedIncrementalDecoderrrrr&rr r r(s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[,Lqq$iso2022_jp_ext.cpython-311.opt-1.pycnu[ !A?h-6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Niso2022_jp_extc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode1/usr/lib64/python3.11/encodings/iso2022_jp_ext.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ  !122FL82825#3V5H5#3V5H     r PKUe[i͋utf_32_le.cpython-311.opt-2.pycnu[ !A?h ddlZejZd dZGddejZGddejZGdd ejZGd d ejZd Z dS)Nstrictc.tj||dS)NT)codecsutf_32_le_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_32_le.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_32_le_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-32-le)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&s1   --!!   r )r) rrrr r BufferedIncrementalDecoderrrrr&rr r r(s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[su  utf_8.cpython-311.opt-1.pycnu[ !A?hdZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-8' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nstrictc.tj||dS)NT)codecs utf_8_decode)inputerrorss (/usr/lib64/python3.11/encodings/utf_8.pydecoder s  ufd 3 33ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)r utf_8_encoder)selfrfinals r encodezIncrementalEncoder.encodes"5$+66q99r N)F)__name__ __module__ __qualname__rr r r r s(::::::r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs(NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nzutf-8)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&!s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   4444:::::2:::))))):)))!!!!!6&!!!!!!!!6&!!!     r PKUe[-YYcp949.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ncp949c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/cp949.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_krr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[_]]gb18030.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ngb18030c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode*/usr/lib64/python3.11/encodings/gb18030.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP I&&FL82825#3V5H5#3V5H     r PKUe[QU[[euc_kr.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Neuc_krc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode)/usr/lib64/python3.11/encodings/euc_kr.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_krr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP H%%FL82825#3V5H5#3V5H     r PKUe[txr6 6 mbcs.cpython-311.pycnu[ !A?hdZddlmZmZddlZeZddZGddejZGdd ejZGd d ej Z Gd d ej Z dZ dS)z Python 'mbcs' Codec for Windows Cloned by Mark Hammond (mhammond@skippinet.com.au) from ascii.py, which was written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. ) mbcs_encode mbcs_decodeNstrictc$t||dS)NT)r)inputerrorss '/usr/lib64/python3.11/encodings/mbcs.pydecoder s ufd + ++ceZdZddZdS)IncrementalEncoderFc8t||jdS)Nr)rr)selfrfinals r encodezIncrementalEncoder.encodes5$+..q11r N)F)__name__ __module__ __qualname__rr r r r s(222222r r ceZdZeZdS)IncrementalDecoderN)rrrr_buffer_decoderr r rrs NNNr rceZdZeZdS) StreamWriterN)rrrrrrr r rr FFFr rceZdZeZdS) StreamReaderN)rrrrr rr r rr!rr rc ttjdtttt t tS)Nmbcs)namerr incrementalencoderincrementaldecoder streamreader streamwriter)codecs CodecInforr r rrrrr r getregentryr'&s1   --!!   r )r) __doc__r%rrrr r BufferedIncrementalDecoderrrrr'rr r r*s,+++++++  ,,,,222222222!!!!!:!!!6&6&     r PKUe[3ԡJJascii.cpython-311.opt-2.pycnu[ !A?h  dZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#gd"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7S)8  )!NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPcdt|tdkrt|S|S)N)typeordcs %/usr/lib64/python3.11/curses/ascii.py_ctoirL0s) Aww$r((1vv c>t|pt|SN)isalphaisdigitrIs rKisalnumrR6wqzz/WQZZ/rMc>t|pt|SrO)isupperislowerrIs rKrPrP7rSrMc<dt|cxkodkncS)Nrr#rLrIs rKisasciirY8s)qE!HH+++++++++rMc$t|dvS)N)r r"rXrIs rKisblankr[9suQxx7**rMcbdt|cxkodkncpt|dkS)Nrr!r#rXrIs rKiscntrlr]:s8qE!HH********=eAhh#o=rMc<dt|cxkodkncS)N09rXrIs rKrQrQ;)rU1XX+++++++++rMc<dt|cxkodkncS)N!~rXrIs rKisgraphre<)rU1XX,,,,,,,,,rMc<dt|cxkodkncS)NazrXrIs rKrVrV=rfrMc<dt|cxkodkncS)Nr"rdrXrIs rKisprintrk>rfrMc@t|ot| SrO)rerRrIs rKispunctrm?swqzz4'!**n4rMc$t|dvS)N)r r r rrr"rXrIs rKisspacero@suQxx#:::rMc<dt|cxkodkncS)NAZrXrIs rKrUrUArarMct|p9dt|cxkodkncpdt|cxkodkncS)NrqFrhf)rQrLrIs rKisxdigitrvBsc 6588r6!U1XX444444446rMc<dt|cxkodkncS)Nrr"rXrIs rKisctrlrxDs)a588((((b(((((rMc(t|dkS)Nr#rXrIs rKismetarzEseAhhn$rMct|tdkrtt|dzSt|dzS)NrFr#rGchrrLrIs rKasciir~GA Aww$r((588d?###Qxx$rMct|tdkrtt|dzSt|dzS)NrFr!r|rIs rKctrlrMrrMct|tdkrtt|dzSt|dzS)NrFr|rIs rKaltrSrrMct|}|dkrd}n@t|dzrt|dz}ndt|dzdzdzz}|dzrd|zS|S)Nr#z^?^r"r!)rLrkr})rJbitsreps rKunctrlrYs 88D t||   7$+C$+-5666 d{Sy JrMN)9r$r%r&r'r(r)r*r+r,TABr-r.NLr/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDDEL controlnamesrLrRrPrYr[r]rQrerVrkrmrorUrvrxrzr~rrrrMrKrs9                                      0/////+++***===+++,,,,,,,,,444:::+++666((($$$       rMPKUe[YYcp950.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ncp950c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/cp950.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_twr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[577cp1125.cpython-311.opt-1.pycnu[ !A?h% dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd Zeje dZ e idddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0id1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRidSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtidudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddidddddddddd“ddēddƓddȓddʓdd̓ddΓddГddғddԓdd֓ddؓddړiddܓddޓdddddddddddddddddddddddddddddddddd}dddWddOd dZ iddddddddddd d d d d d d d d d ddddddddddddddiddddddddddddddddddddddd d d!d!d"d"d#d#d$d$d%d%id&d&d'd'd(d(d)d)d*d*d+d+d,d,d-d-d.d.d/d/d0d0d1d1d2d2d3d3d4d4d5d5d6d6id7d7d8d8d9d9d:d:d;d;d<d<d=d=d>d>d?d?d@d@dAdAdBdBdCdCdDdDdEdEdFdFdGdGidHdHdIdIdJdJdKdKdLdLdMdMdNdNdOdOdPdPdQdQdRdRdSdSdTdTdUdUdVdVdWdWdXdXidYdYdZdZd[d[d\d\d]d]d^d^d_d_d`d`dadadbdbdcdcdddddededfdfdgdgdhdhdidiidjdjdkdkdldldmdmdndndododpdpdqdqdrdrdsdsdtdtdududvdvdwdwdxdxdydydzdzid{d{d|d|d}d}d~d~dddddddddddOddWdd}dddddddddddiddddddddddddddd dd"d!d$d#d&d%d(d'd*d)d,d+d.d-d0d/d2d1id4d3d6d5d8d7d:d9dd=d@d?dBdAdDdCdFdEdHdGdJdIdLdKdNdMdPdOdRdQdTdSidVdUdXdWdZdYd\d[d^d]d`d_dbdadddcdfdedhdgdjdidldkdndmddϓddѓddӓddՓiddדddٓddۓddݓddߓddddddddddddddddddddddddidddddddddvduddÓdddddddddxdwddddddddddddiddddddd~d}dddddddddddddddddddddzdyd|d{ddidddddddddddddddddddd͓ddǓddœddɓdd˓dpdodrdqdtdsddiZ dS(z, Python Character Mapping Codec for CP1125 NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encode encoding_mapselfinputerrorss )/usr/lib64/python3.11/encodings/cp1125.pyencodez Codec.encode s$U6,???c8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decodes$U6.AAArN)r)__name__ __module__ __qualname__rrrrrr sF@@@@BBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encodes$U4;|DDQGGrNF)rrrrrrrrrs.HHHHHHrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decodes$U4;~FFqIIrNr )rrrrrrrr"r"s.JJJJJJrr"ceZdZdS) StreamWriterNrrrrrrr%r%Drr%ceZdZdS) StreamReaderNr&rrrr)r)r'rr)c tjdtjtjt t ttS)Ncp1125)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr"r)r%rrr getregentryr2!s=   ww~ww~--!!   riiiiiiiiiiiiiiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;i<i=i>i?i%i%i%i%i$%ia%ib%iV%iU%ic%iQ%iW%i]%i\%i[%i%i%i4%i,%i%i%i<%i^%i_%iZ%iT%ii%if%i`%iP%il%ig%ih%id%ie%iY%iX%iR%iS%ik%ij%i%i %i%i%i%i%i%i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiiQiiiiTiiViiWi"i!i%) u  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrrrr)__doc__rrrr"r%r)r2make_identity_dictrange decoding_mapupdaterr rrrr8s BBBBBFLBBBHHHHH2HHHJJJJJ2JJJ     5,        5,     )v(s44 A FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAp         AAAAAAAL JA FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAAAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAAAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAAAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAAAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAAAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{AAA| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]AAA^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FAA@ FAAA rPKUe[K "base64_codec.cpython-311.opt-2.pycnu[ !A?h ddlZddlZddZddZGddejZGddejZGd d ejZGd d eejZGd deejZdZ dS)NstrictcHtj|t|fSN)base64 encodebytesleninputerrorss //usr/lib64/python3.11/encodings/base64_codec.py base64_encoder   u % %s5zz 22cHtj|t|fSr)r decodebytesrr s r base64_decoderrrceZdZddZddZdS)Codecrc"t||Sr)r selfr r s r encodez Codec.encodeUF+++rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<,,,,,,,,,,rrceZdZddZdS)IncrementalEncoderFc*tj|Sr)rrrr finals r rzIncrementalEncoder.encode!%(((rNF)rrrrr rr r"r"())))))rr"ceZdZddZdS)IncrementalDecoderFc*tj|Sr)rrr$s r rzIncrementalDecoder.decode!r&rNr')rrrrr rr r*r* r(rr*ceZdZeZdS) StreamWriterNrrrbytescharbuffertyper rr r-r-%NNNrr-ceZdZeZdS) StreamReaderNr.r rr r3r3(r1rr3c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr"r*r-r3r rr getregentryr=-s4   --!!    rr) r;rr rrr"r*r-r3r=r rr r>sC 33333333,,,,,FL,,, )))))2))) )))))2))) 5&-5&-     rPKUe[QU[[euc_kr.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Neuc_krc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode)/usr/lib64/python3.11/encodings/euc_kr.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_krr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP H%%FL82825#3V5H5#3V5H     r PKUe[L]fcharmap.cpython-311.pycnu[ !A?h$dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdS)a Generic Python Character Mapping Codec. Use this codec directly rather than through the automatic conversion mechanisms supplied by unicode() and .encode(). Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecscharmap_encodeencodecharmap_decodedecode*/usr/lib64/python3.11/encodings/charmap.pyrrs  "F  "FFFrrceZdZddZddZdS)IncrementalEncoderstrictNcTtj||||_dSN)rr__init__mappingselferrorsrs rrzIncrementalEncoder.__init__&!**4888 rFcNtj||j|jdSNr)rr rrrinputfinals rr zIncrementalEncoder.encode $UDKFFqIIrrNFrrrrr r rrrrBJJJJJJrrceZdZddZddZdS)IncrementalDecoderrNcTtj||||_dSr)rr&rrrs rrzIncrementalDecoder.__init__!rrFcNtj||j|jdSr)rr rrrs rr zIncrementalDecoder.decode%r rr!r"rrrrr r rrr&r& r$rr&ceZdZddZddZdS) StreamWriterrNcVtj|||||_dSr)rr+rrrstreamrrs rrzStreamWriter.__init__*($$T&888 rcDt|||jSr)rr rrrrs rr zStreamWriter.encode.||E&666rr!rr#r rrr+r+(<777777rr+ceZdZddZddZdS) StreamReaderrNcVtj|||||_dSr)rr6rrr-s rrzStreamReader.__init__3r/rcDt|||jSr)rr rr1s rr zStreamReader.decode7r2rr!r3r)r rrr6r61r4rr6c tjdtjtjt t ttS)Ncharmap)namer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rr&r+r6r rr getregentryrA<s5   ||--!!   r)__doc__rrrr&r+r6rAr rrrCs'   #####FL###JJJJJ2JJJJJJJJ2JJJ777775,777777775,777     rPKUe[8" " utf_16_le.cpython-311.opt-1.pycnu[ !A?h dZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-16-le' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nstrictc.tj||dS)NT)codecsutf_16_le_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_16_le.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_16_le_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-16-le)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&!s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[5h latin_1.cpython-311.pycnu[ !A?hdZddlZGddejZGddejZGddejZGd d eejZGd d eejZGd deeZdZdS)z Python 'latin-1' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecslatin_1_encodeencodelatin_1_decodedecode*/usr/lib64/python3.11/encodings/latin_1.pyrr s  "F  "FFFrrceZdZddZdS)IncrementalEncoderFcBtj||jdSNr)rr errorsselfinputfinals rr zIncrementalEncoder.encode$U4;77::rNF)rrrr r rrrr(;;;;;;rrceZdZddZdS)IncrementalDecoderFcBtj||jdSr)rr rrs rr zIncrementalDecoder.decoderrNr)rrrr r rrrrrrrceZdZdS) StreamWriterNrrrr rrr r Drr ceZdZdS) StreamReaderNr!r rrr$r$r"rr$c*eZdZejZejZdS)StreamConverterN)rrrrr r r r r rrr&r&"s  "F  "FFFrr&c tjdtjtjt t ttS)Nz iso8859-1)namer r incrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforr r rrr$r r rr getregentryr.)s5   ||--!!   r) __doc__rrrrr r$r&r.r rrr0sC #####FL###;;;;;2;;;;;;;;2;;;     5,        5,   #####l<###     rPKUe[ xgg"euc_jisx0213.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N euc_jisx0213c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/euc_jisx0213.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP N++FL82825#3V5H5#3V5H     r PKUe[//U U palmos.cpython-311.opt-1.pycnu[ !A?h4dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdZej eZ dS)zx Python Character Mapping Codec for PalmOS 3.5. Written by Sjoerd Mullender (sjoerd@acm.org); based on iso8859_15.py. NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encodeencoding_tableselfinputerrorss )/usr/lib64/python3.11/encodings/palmos.pyencodez Codec.encode $U6.AAAc8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr sFBBBBBBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encode$U4;~FFqIIrNF)rrrrrrrrr.JJJJJJrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttS)Npalmos)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr%r,r(rrr getregentryr5"s=   ww~ww~--!!   ru  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ♦♣♥♠‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ) __doc__rrrr%r(r,r5r charmap_buildr rrrr8sI  BBBBBFLBBBJJJJJ2JJJJJJJJ2JJJ     5,        5,      H$v#N33rPKUe[[*IIuu_codec.cpython-311.opt-1.pycnu[ !A?h# dZddlZddlZddlmZddZddZGd d ejZGd d ejZGd dej Z Gddeej Z Gddeej Z dZ dS)aPython 'uu_codec' Codec - UU content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). Some details were adapted from uu.py which was written by Lance Ellinghouse and modified by Jack Jansen and Fredrik Lundh. N)BytesIOstrictct|}t}|j}|j}|dd}|dd}|d|dz|fzd|d}|r*|t j||d}|*|d |t|fS) N z\n z\rz begin %o %s iascii-s end ) rreadwritereplaceencodebinasciib2a_uugetvaluelen) inputerrorsfilenamemodeinfileoutfiler r chunks +/usr/lib64/python3.11/encodings/uu_codec.py uu_encoders U^^FiiG ;D MEU++HU++H E?dUlH5 5 = =g F FGGG DHHE  hoe$$%%%R  E+     E ++c"t|}t}|j}|j} |}|std|dddkrn+ |}|r|dkrnq t j|}nO#tj$r=}|ddz d zd zdzd z} t j|d| }Yd}~nd}~wwxYw|||std |t|fS) Nz"Missing "begin" line in input datasbeginTsend r ?zTruncated input data) rreadliner ValueErrorra2b_uuErrorrr) rrrrr%r sdatavnbytess r uu_decoder-%sL U^^FiiGH ME HJJ CABB B RaR5H      HJJ AMM  /?1%%DD~ / / /!R2~*Q.14F?1WfW:..DDDDDD / d   1/000     E ++s-BC3C  CceZdZddZddZdS)Codecrc"t||SN)rselfrrs rrz Codec.encodeG'''rc"t||Sr1)r-r2s rdecodez Codec.decodeJr4rNr)__name__ __module__ __qualname__rr6rrr/r/Fs<((((((((((rr/ceZdZddZdS)IncrementalEncoderFc8t||jdSNr)rrr3rfinals rrzIncrementalEncoder.encodeN ,,Q//rNF)r8r9r:rr;rrr=r=M(000000rr=ceZdZddZdS)IncrementalDecoderFc8t||jdSr?)r-rr@s rr6zIncrementalDecoder.decodeRrBrNrC)r8r9r:r6r;rrrFrFQrDrrFceZdZeZdS) StreamWriterNr8r9r:bytescharbuffertyper;rrrIrIUNNNrrIceZdZeZdS) StreamReaderNrJr;rrrOrOXrMrrOc vtjdtttt t tdS)NuuF)namerr6incrementalencoderincrementaldecoder streamreader streamwriter_is_text_encoding)codecs CodecInforr-r=rFrOrIr;rr getregentryrZ]s4   --!!    r)rrrr7) __doc__rXriorrr-r/r=rFrIrOrZr;rrr]s[ ,,,,*,,,,B(((((FL(((0000020000000020005&-5&-     rPKUe[Ũ  koi8_t.cpython-311.pycnu[ !A?h3dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdZej eZ dS)z' Python Character Mapping Codec koi8_t NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encodeencoding_tableselfinputerrorss )/usr/lib64/python3.11/encodings/koi8_t.pyencodez Codec.encode $U6.AAAc8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr sFBBBBBBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encode$U4;~FFqIIrNF)rrrrrrrrr.JJJJJJrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttS)Nzkoi8-t)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr%r,r(rrr getregentryr4"s=   ww~ww~--!!   ru  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~қғ‚Ғ„…†‡￾‰ҳ‹ҲҷҶ￾Қ‘’“”•–—￾™￾›￾￾￾￾￾ӯӮё¤ӣ¦§￾￾￾«¬­®￾°±²Ё￾Ӣ¶·￾№￾»￾￾￾©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ) __doc__rrrr%r(r,r4r charmap_buildr rrrr7sI  BBBBBFLBBBJJJJJ2JJJJJJJJ2JJJ     5,        5,      H$v#N33rPKUe[WiuUUgbk.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ngbkc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode&/usr/lib64/python3.11/encodings/gbk.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP E""FL82825#3V5H5#3V5H     r PKUe['^HHoem.cpython-311.opt-2.pycnu[ !A?h ddlmZmZddlZeZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)) oem_encode oem_decodeNstrictc$t||dS)NT)r)inputerrorss &/usr/lib64/python3.11/encodings/oem.pydecoder s eVT * **ceZdZddZdS)IncrementalEncoderFc8t||jdS)Nr)rr)selfrfinals r encodezIncrementalEncoder.encodes%--a00r N)F)__name__ __module__ __qualname__rr r r r s(111111r r ceZdZeZdS)IncrementalDecoderN)rrrr_buffer_decoderr r rrsNNNr rceZdZeZdS) StreamWriterN)rrrrrrr r rr FFFr rceZdZeZdS) StreamReaderN)rrrrr rr r rrrr rc ttjdtttt t tS)Noem)namerr incrementalencoderincrementaldecoder streamreader streamwriter)codecs CodecInforr r rrrrr r getregentryr' s1   --!!   r )r) r%rrrr r BufferedIncrementalDecoderrrrr'rr r r)s *)))))))  ++++111112111     :   6&6&     r PKUe[+jll$shift_jisx0213.cpython-311.opt-2.pycnu[ !A?h#6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Nshift_jisx0213c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode1/usr/lib64/python3.11/encodings/shift_jisx0213.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ ,--FL82825#3V5H5#3V5H     r PKUe[30 utf_7.cpython-311.pycnu[ !A?hdZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)zF Python 'utf-7' Codec Written by Brian Quinlan (brian@sweetapp.com). Nstrictc.tj||dS)NT)codecs utf_7_decode)inputerrorss (/usr/lib64/python3.11/encodings/utf_7.pydecoder s  ufd 3 33ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)r utf_7_encoder)selfrfinals r encodezIncrementalEncoder.encodes"5$+66q99r N)F)__name__ __module__ __qualname__rr r r r s(::::::r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs(NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nzutf-7)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   4444:::::2:::))))):)))!!!!!6&!!!!!!!!6&!!!     r PKUe[@quopri_codec.cpython-311.pycnu[ !A?hdZddlZddlZddlmZddZddZGddejZGd d ejZGd d ej Z Gd deej Z Gddeej Z dZ dS)zQCodec for quoted-printable encoding. This codec de/encodes from bytes to bytes. N)BytesIOstrictc|dksJt|}t}tj||d|t |fS)NrT) quotetabs)rquopriencodegetvalueleninputerrorsfgs //usr/lib64/python3.11/encodings/quopri_codec.py quopri_encoder sW X    A A M!Q$'''' JJLL#e** %%c|dksJt|}t}tj|||t |fS)Nr)rrdecoder r r s r quopri_decodersR X    A A M!Q JJLL#e** %%rceZdZddZddZdS)Codecrc"t||SN)rselfr r s rrz Codec.encodeUF+++rc"t||Sr)rrs rrz Codec.decoderrNr)__name__ __module__ __qualname__rrrrrrs<,,,,,,,,,,rrceZdZddZdS)IncrementalEncoderFc8t||jdSNr)rr rr finals rrzIncrementalEncoder.encodeUDK0033rNF)rr r!rr"rrr$r$(444444rr$ceZdZddZdS)IncrementalDecoderFc8t||jdSr&)rr r's rrzIncrementalDecoder.decode#r)rNr*)rr r!rr"rrr-r-"r+rr-ceZdZeZdS) StreamWriterNrr r!bytescharbuffertyper"rrr0r0&NNNrr0ceZdZeZdS) StreamReaderNr1r"rrr6r6)r4rr6c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInforrr$r-r0r6r"rr getregentryr@.s4   --!!    rr) __doc__r>riorrrrr$r-r0r6r@r"rrrCsZ  &&&&&&&&,,,,,FL,,, 4444424444444424445&-5&-     rPKUe[_]]gb18030.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ngb18030c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode*/usr/lib64/python3.11/encodings/gb18030.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP I&&FL82825#3V5H5#3V5H     r PKUe[-YYcp949.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ncp949c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/cp949.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_krr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[+jllshift_jisx0213.cpython-311.pycnu[ !A?h#6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Nshift_jisx0213c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode1/usr/lib64/python3.11/encodings/shift_jisx0213.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ ,--FL82825#3V5H5#3V5H     r PKUe[~׈(ll"iso2022_jp_2.cpython-311.opt-2.pycnu[ !A?h%6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jp_2c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/iso2022_jp_2.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  00FL82825#3V5H5#3V5H     r PKUe[=$&utf_16_le.cpython-311.opt-2.pycnu[ !A?h  ddlZejZd dZGddejZGddejZGdd ejZGd d ejZd Z dS)Nstrictc.tj||dS)NT)codecsutf_16_le_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_16_le.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_16_le_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-16-le)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&!s1   --!!   r )r) rrrr r BufferedIncrementalDecoderrrrr&rr r r(s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[Ũ  koi8_t.cpython-311.opt-1.pycnu[ !A?h3dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdZej eZ dS)z' Python Character Mapping Codec koi8_t NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encodeencoding_tableselfinputerrorss )/usr/lib64/python3.11/encodings/koi8_t.pyencodez Codec.encode $U6.AAAc8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr sFBBBBBBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encode$U4;~FFqIIrNF)rrrrrrrrr.JJJJJJrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttS)Nzkoi8-t)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr%r,r(rrr getregentryr4"s=   ww~ww~--!!   ru  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~қғ‚Ғ„…†‡￾‰ҳ‹ҲҷҶ￾Қ‘’“”•–—￾™￾›￾￾￾￾￾ӯӮё¤ӣ¦§￾￾￾«¬­®￾°±²Ё￾Ӣ¶·￾№￾»￾￾￾©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ) __doc__rrrr%r(r,r4r charmap_buildr rrrr7sI  BBBBBFLBBBJJJJJ2JJJJJJJJ2JJJ     5,        5,      H$v#N33rPKUe[JUn$ $ (raw_unicode_escape.cpython-311.opt-1.pycnu[ !A?h4dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdS)z Python 'raw-unicode-escape' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecsraw_unicode_escape_encodeencoderaw_unicode_escape_decodedecode5/usr/lib64/python3.11/encodings/raw_unicode_escape.pyrr s  -F  -FFFrrceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rr errors)selfinputfinals rr zIncrementalEncoder.encodes/t{CCAFFrN)F)rrrr r rrrrs.GGGGGGrrceZdZdZdS)IncrementalDecoderc.tj|||S)Nrr )rrrrs r_buffer_decodez!IncrementalDecoder._buffer_decode/vuEEErN)rrrrr rrrrs(FFFFFrrceZdZdS) StreamWriterN)rrrr rrrrsDrrceZdZddZdS) StreamReaderstrictc.tj||dS)NFr)rrrs rr zStreamReader.decode rrN)r!)rrrr r rrr r s.FFFFFFrr c tjdtjtjt t ttS)Nzraw-unicode-escape)namer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrrr r rr getregentryr*%s5   !||--!!   r) __doc__rrrBufferedIncrementalDecoderrrr r*r rrr-s/ .....FL...GGGGG2GGGFFFFF:FFF     5,   FFFFF5,FFF     rPKUe[577cp1125.cpython-311.pycnu[ !A?h% dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd Zeje dZ e idddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0id1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRidSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtidudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddidddddddddd“ddēddƓddȓddʓdd̓ddΓddГddғddԓdd֓ddؓddړiddܓddޓdddddddddddddddddddddddddddddddddd}dddWddOd dZ iddddddddddd d d d d d d d d d ddddddddddddddiddddddddddddddddddddddd d d!d!d"d"d#d#d$d$d%d%id&d&d'd'd(d(d)d)d*d*d+d+d,d,d-d-d.d.d/d/d0d0d1d1d2d2d3d3d4d4d5d5d6d6id7d7d8d8d9d9d:d:d;d;d<d<d=d=d>d>d?d?d@d@dAdAdBdBdCdCdDdDdEdEdFdFdGdGidHdHdIdIdJdJdKdKdLdLdMdMdNdNdOdOdPdPdQdQdRdRdSdSdTdTdUdUdVdVdWdWdXdXidYdYdZdZd[d[d\d\d]d]d^d^d_d_d`d`dadadbdbdcdcdddddededfdfdgdgdhdhdidiidjdjdkdkdldldmdmdndndododpdpdqdqdrdrdsdsdtdtdududvdvdwdwdxdxdydydzdzid{d{d|d|d}d}d~d~dddddddddddOddWdd}dddddddddddiddddddddddddddd dd"d!d$d#d&d%d(d'd*d)d,d+d.d-d0d/d2d1id4d3d6d5d8d7d:d9dd=d@d?dBdAdDdCdFdEdHdGdJdIdLdKdNdMdPdOdRdQdTdSidVdUdXdWdZdYd\d[d^d]d`d_dbdadddcdfdedhdgdjdidldkdndmddϓddѓddӓddՓiddדddٓddۓddݓddߓddddddddddddddddddddddddidddddddddvduddÓdddddddddxdwddddddddddddiddddddd~d}dddddddddddddddddddddzdyd|d{ddidddddddddddddddddddd͓ddǓddœddɓdd˓dpdodrdqdtdsddiZ dS(z, Python Character Mapping Codec for CP1125 NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encode encoding_mapselfinputerrorss )/usr/lib64/python3.11/encodings/cp1125.pyencodez Codec.encode s$U6,???c8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decodes$U6.AAArN)r)__name__ __module__ __qualname__rrrrrr sF@@@@BBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encodes$U4;|DDQGGrNF)rrrrrrrrrs.HHHHHHrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decodes$U4;~FFqIIrNr )rrrrrrrr"r"s.JJJJJJrr"ceZdZdS) StreamWriterNrrrrrrr%r%Drr%ceZdZdS) StreamReaderNr&rrrr)r)r'rr)c tjdtjtjt t ttS)Ncp1125)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr"r)r%rrr getregentryr2!s=   ww~ww~--!!   riiiiiiiiiiiiiiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;i<i=i>i?i%i%i%i%i$%ia%ib%iV%iU%ic%iQ%iW%i]%i\%i[%i%i%i4%i,%i%i%i<%i^%i_%iZ%iT%ii%if%i`%iP%il%ig%ih%id%ie%iY%iX%iR%iS%ik%ij%i%i %i%i%i%i%i%i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiiQiiiiTiiViiWi"i!i%) u  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrrrr)__doc__rrrr"r%r)r2make_identity_dictrange decoding_mapupdaterr rrrr8s BBBBBFLBBBHHHHH2HHHJJJJJ2JJJ     5,        5,     )v(s44 A FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAp         AAAAAAAL JA FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAAAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAAAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAAAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAAAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAAAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{AAA| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]AAA^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FAA@ FAAA rPKUe[30 utf_7.cpython-311.opt-1.pycnu[ !A?hdZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)zF Python 'utf-7' Codec Written by Brian Quinlan (brian@sweetapp.com). Nstrictc.tj||dS)NT)codecs utf_7_decode)inputerrorss (/usr/lib64/python3.11/encodings/utf_7.pydecoder s  ufd 3 33ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)r utf_7_encoder)selfrfinals r encodezIncrementalEncoder.encodes"5$+66q99r N)F)__name__ __module__ __qualname__rr r r r s(::::::r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs(NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nzutf-7)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   4444:::::2:::))))):)))!!!!!6&!!!!!!!!6&!!!     r PKUe[.+YYcp932.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ncp932c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/cp932.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[꾺t t $unicode_escape.cpython-311.opt-2.pycnu[ !A?h ddlZGddejZGddejZGddejZGdd eejZGd d eejZd ZdS) Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecsunicode_escape_encodeencodeunicode_escape_decodedecode1/usr/lib64/python3.11/encodings/unicode_escape.pyrr s  )F  )FFFrrceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rr errors)selfinputfinals rr zIncrementalEncoder.encodes+E4;??BBrN)F)rrrr r rrrrs.CCCCCCrrceZdZdZdS)IncrementalDecoderc.tj|||S)Nrr )rrrrs r_buffer_decodez!IncrementalDecoder._buffer_decode+E65AAArN)rrrrr rrrrs(BBBBBrrceZdZdS) StreamWriterN)rrrr rrrrsDrrceZdZddZdS) StreamReaderstrictc.tj||dS)NFr)rrrs rr zStreamReader.decode rrN)r!)rrrr r rrr r s.BBBBBBrr c tjdtjtjt t ttS)Nzunicode-escape)namer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrrr r rr getregentryr*%s5   ||--!!   r)rrrBufferedIncrementalDecoderrrr r*r rrr,s* *****FL***CCCCC2CCCBBBBB:BBB     5,   BBBBB5,BBB     rPKUe[|!zlib_codec.cpython-311.pycnu[ !A?hdZddlZddlZddZddZGddejZGdd ejZGd d ejZGd d eejZGddeej Z dZ dS)zPython 'zlib_codec' Codec - zlib compression encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcX|dksJtj|t|fSNr)zlibcompressleninputerrorss -/usr/lib64/python3.11/encodings/zlib_codec.py zlib_encoder s. X     M% #e** --cX|dksJtj|t|fSr)r decompressrr s r zlib_decoders. X     OE " "CJJ //rceZdZddZddZdS)Codecrc"t||SN)r selfr r s r encodez Codec.encode5&)))rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<**********rrc$eZdZddZddZdZdS) IncrementalEncoderrcT|dksJ||_tj|_dSr)r r compressobjrr s r __init__zIncrementalEncoder.__init__s1!!!! +--rFc|r6|j|}||jzS|j|Sr)r$rflushrr finalcs r rzIncrementalEncoder.encode!sQ  4 ))%00At'--/// /#,,U33 3rc6tj|_dSr)rr$rs r resetzIncrementalEncoder.reset(s+--rNrF)rrrr&rr.r rr r"r"sK.... 4444.....rr"c$eZdZddZddZdZdS) IncrementalDecoderrcT|dksJ||_tj|_dSr)r r decompressobjr%s r r&zIncrementalDecoder.__init__,s1!!!! !/11rFc|r6|j|}||jzS|j|Sr)r3rr(r)s r rzIncrementalDecoder.decode1sQ  8"--e44At)//111 1%0077 7rc6tj|_dSr)rr3r-s r r.zIncrementalDecoder.reset8s!/11rNrr/)rrrr&rr.r rr r1r1+sK2222 888822222rr1ceZdZeZdS) StreamWriterNrrrbytescharbuffertyper rr r7r7;NNNrr7ceZdZeZdS) StreamReaderNr8r rr r=r=>r;rr=c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamreader streamwriter_is_text_encoding)codecs CodecInfor rr"r1r=r7r rr getregentryrGCs4   --!!    rr) __doc__rErr rrr"r1r7r=rGr rr rIsH ....0000*****FL*** .....2... 222222222 5&-5&-     rPKUe[Y cp720.cpython-311.opt-2.pycnu[ !A?hv5 ddlZGddejZGddejZGddejZGdd eejZGd d eejZd Zd ZejeZ dS)NceZdZddZddZdS)Codecstrictc8tj||tSN)codecscharmap_encodeencoding_tableselfinputerrorss (/usr/lib64/python3.11/encodings/cp720.pyencodez Codec.encode $U6.AAAc8tj||tSr)rcharmap_decodedecoding_tabler s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr sFBBBBBBBBBBrrceZdZddZdS)IncrementalEncoderFcNtj||jtdSNr)rr rr r r finals rrzIncrementalEncoder.encode$U4;~FFqIIrNF)rrrrrrrrr.JJJJJJrrceZdZddZdS)IncrementalDecoderFcNtj||jtdSr)rrrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttS)Ncp720)namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrrr%r,r(rrr getregentryr5#s=   ww~ww~--!!   ru  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€éâ„à†çêëèïّْô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡ًٌٍَُِ≈°∙·√ⁿ²■ ) rrrr%r(r,r5r charmap_buildr rrrr7sD  BBBBBFLBBBJJJJJ2JJJJJJJJ2JJJ     5,        5,      H$v#N33rPKUe[Ьp undefined.cpython-311.pycnu[ !A?hdZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdS)a5 Python 'undefined' Codec This codec will always raise a ValueError exception when being used. It is intended for use by the site.py file to switch off automatic string to Unicode coercion. Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. NceZdZddZddZdS)Codecstrictc tdNzundefined encoding UnicodeErrorselfinputerrorss ,/usr/lib64/python3.11/encodings/undefined.pyencodez Codec.encode/000c tdrrr s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrrs<1111111111rrceZdZddZdS)IncrementalEncoderFc tdrrr r finals rrzIncrementalEncoder.encoderrNF)rrrrrrrrr(111111rrceZdZddZdS)IncrementalDecoderFc tdrrrs rrzIncrementalDecoder.decoderrNr)rrrrrrrr r rrr ceZdZdS) StreamWriterNrrrrrrr#r# Drr#ceZdZdS) StreamReaderNr$rrrr'r'#r%rr'c tjdtjtjt t ttS)N undefined)namerrincrementalencoderincrementaldecoder streamwriter streamreader) codecs CodecInforrrrr r#r'rrr getregentryr1(s=   ww~ww~--!!   r)__doc__r/rrr r#r'r1rrrr3s   11111FL111111112111111112111     5,        5,       rPKUe[64utf_8_sig.cpython-311.opt-1.pycnu[ !A?h%dZddlZddZddZGddejZGdd ejZGd d ejZGd d ejZdZ dS)a Python 'utf-8-sig' Codec This work similar to UTF-8 with the following changes: * On encoding/writing a UTF-8 encoded BOM will be prepended/written as the first three bytes. * On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these bytes will be skipped. Nstrictcptjtj||dzt|fSNr)codecsBOM_UTF8 utf_8_encodelen)inputerrorss ,/usr/lib64/python3.11/encodings/utf_8_sig.pyencoder s1 Of1%@@C C JJ cd}|ddtjkr |dd}d}tj||d\}}|||zfS)NrT)rr utf_8_decode)r r prefixoutputconsumeds r decodersV F RaRyFO##abb ,UFDAAVX HVO $$rc0eZdZd dZd dZdZdZdZdS) IncrementalEncoderrcTtj||d|_dSN)rr__init__firstselfr s r rzIncrementalEncoder.__init__s&!**4888 rFc|jr4d|_tjtj||jdzStj||jdSr)rrrrr )rr finals r r zIncrementalEncoder.encodesU : >DJ?&udk::1=> >&udk::1= =rcRtj|d|_dSr)rrresetrrs r r"zIncrementalEncoder.reset's$!''--- rc|jSNrr#s r getstatezIncrementalEncoder.getstate+s zrc||_dSr%r&rstates r setstatezIncrementalEncoder.setstate.s  rNr)F)__name__ __module__ __qualname__rr r"r'r+rr rrsi>>>>rrc.eZdZddZdZdZdZdZdS) IncrementalDecoderrcTtj||d|_dSr)rBufferedIncrementalDecoderrrrs r rzIncrementalDecoder.__init__2s&)224@@@ rcB|jrt|dkr)tj|rdSd|_nGd|_|ddtjkr(tj|dd||\}}||dzfStj|||S)Nrrr)rr rr startswithr)rr r r rrs r _buffer_decodez!IncrementalDecoder._buffer_decode6s : 05zzA~~?--e44##7!"DJJ !9//*59feDD'VX"HQJ//"5&%888rcRtj|d|_dSr)rr4r"rr#s r r"zIncrementalDecoder.resetGs$)//555 rc^tj|}|d|jfSr)rr4r'rr)s r r'zIncrementalDecoder.getstateKs)1::4@@a$*%%rc`tj|||d|_dSr)rr4r+rr)s r r+zIncrementalDecoder.setstatePs*)224???1X rNr,)r-r.r/rr9r"r'r+r0rr r2r21sd999"&&& rr2ceZdZdZddZdS) StreamWritercltj| |`dS#t$rYdSwxYwr%)rr>r"r AttributeErrorr#s r r"zStreamWriter.resetVI!!$'''      DD  % 33rcDtj|_t||Sr%)rrr )rr r s r r zStreamWriter.encode]s) eV$$$rNr,)r-r.r/r"r r0rr r>r>Us7%%%%%%rr>ceZdZdZddZdS) StreamReadercltj| |`dS#t$rYdSwxYwr%)rrEr"rr@r#s r r"zStreamReader.resetbrArBrcXt|dkr"tj|rdSnP|ddtjkr8tj|_tj|dd|\}}||dzfStj|_tj||S)Nrr6)r rrr8rr)rr r rrs r rzStreamReader.decodeis u::>>))%00 w 2A2Y&/ ) ) -DK!'!4U122Yv!F!F VXHQJ' ') "5&111rNr,)r-r.r/r"rr0rr rErEas7 2 2 2 2 2 2rrEc ttjdtttt t tS)Nz utf-8-sig)namer rincrementalencoderincrementaldecoder streamreader streamwriter)r CodecInfor rrr2rEr>r0rr getregentryrOys1   --!!   rr,) __doc__rr rrr4r2r>rErOr0rr rQs %%%%2.""""":"""H % % % % %6& % % %222226&2220     rPKUe[Kutf_32.cpython-311.opt-1.pycnu[ !A?h dZddlZddlZejZddZGddejZGddejZGd d ej Z Gd d ej Z d Z dS)z Python 'utf-32' Codec Nstrictc.tj||dS)NT)codecs utf_32_decode)inputerrorss )/usr/lib64/python3.11/encodings/utf_32.pydecoder s  vt 4 44c0eZdZd dZd dZdZdZdZdS) IncrementalEncoderrcTtj||d|_dSN)rr __init__encoderselfrs r rzIncrementalEncoder.__init__s&!**4888 r Fc|jUtj||jd}tjdkrtj|_ntj|_|S|||jdS)Nrlittle)rr utf_32_encodersys byteorderutf_32_le_encodeutf_32_be_encode)rrfinalresults r encodezIncrementalEncoder.encodesf < )%==a@F}((%6 %6 M||E4;//22r cRtj|d|_dSr)rr resetrrs r rzIncrementalEncoder.resets$!''--- r c|jdndS)Nr)rr s r getstatezIncrementalEncoder.getstate s \)q1r c|r d|_dStjdkrtj|_dStj|_dSNr)rrrrrrrstates r setstatezIncrementalEncoder.setstate's>  7DLLL}((%6 %6 r Nr)F)__name__ __module__ __qualname__rrrr#r(r r r r si333322277777r r c.eZdZddZdZdZdZdZdS) IncrementalDecoderrcTtj||d|_dSr)rBufferedIncrementalDecoderrdecoderrs r rzIncrementalDecoder.__init__1s&)224@@@ r c|jdtj||d|\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS|||j|S)Nr%UTF-32 stream does not start with BOM)r2rutf_32_ex_decodeutf_32_le_decodeutf_32_be_decode UnicodeErrorr)rrrroutputconsumedrs r _buffer_decodez!IncrementalDecoder._buffer_decode5s < 'vq%@@ *VXyB%6 a%6 Q"#JKKKH% %||E4;666r cRtj|d|_dSr)rr1rr2r s r rzIncrementalDecoder.resetBs$)//555 r ctj|d}|j|dfSt t jdk|jtjuk}||fS)Nrr"big)rr1r#r2intrrr:)rr'addstates r r#zIncrementalDecoder.getstateFsk1::4@@C < 1:  . (??ABBx  r c8tj|||d}|dkr/tjdkr tjn tj|_dS|dkr/tjdkr tjn tj|_dSd|_dS)Nr5rrA)rr1r(rrr:r9r2r&s r r(zIncrementalDecoder.setstateTs)224???a A::"}55#33!'!8 LLLaZZ"}55#33!'!8 LLL DLLLr Nr))r*r+r,rr>rr#r(r-r r r/r/0sd 7 7 7 ! ! !      r r/c$eZdZddZdZddZdS) StreamWriterrcVd|_tj|||dSr)rrrFr)rstreamrs r rzStreamWriter.__init__ds* $$T66:::::r cRtj|d|_dSr)rrFrrr s r rzStreamWriter.reseths$!!$''' r c|jJtj||}tjdkrtj|_ntj|_|S|||Sr%)rrrrrrr)rrrrs r rzStreamWriter.encodelsX < )%88F}((%6 %6 M<<v.. .r Nr))r*r+r,rrrr-r r rFrFcsK;;;; / / / / / /r rFceZdZdZddZdS) StreamReadercltj| |`dS#t$rYdSwxYwr)rrLrr AttributeErrorr s r rzStreamReader.resetysI!!$'''      DD s % 33rctj||dd\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS)NrFr4r5r6r7)rr8r9r r:r;)rrrobjectr=rs r r zStreamReader.decodesn  #E61e < < &9 ?? 1DKK !^^ 1DKK q[[FGG G!!r Nr))r*r+r,rr r-r r rLrLws7 " " " " " "r rLc ttjdtttt t tS)Nzutf-32)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r r/rLrFr-r r getregentryrXs1   --!!   r r)) __doc__rrrrr r r1r/rFrLrXr-r r rZs  5555!7!7!7!7!72!7!7!7F1 1 1 1 1 :1 1 1 f/////6&///("""""6&""",     r PKUe[nIeaashift_jis.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N shift_jisc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode,/usr/lib64/python3.11/encodings/shift_jis.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP K((FL82825#3V5H5#3V5H     r PKUe[su  utf_8.cpython-311.pycnu[ !A?hdZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-8' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nstrictc.tj||dS)NT)codecs utf_8_decode)inputerrorss (/usr/lib64/python3.11/encodings/utf_8.pydecoder s  ufd 3 33ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)r utf_8_encoder)selfrfinals r encodezIncrementalEncoder.encodes"5$+66q99r N)F)__name__ __module__ __qualname__rr r r r s(::::::r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs(NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nzutf-8)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&!s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   4444:::::2:::))))):)))!!!!!6&!!!!!!!!6&!!!     r PKUe[ B  $unicode_escape.cpython-311.opt-1.pycnu[ !A?hdZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdS)z Python 'unicode-escape' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecsunicode_escape_encodeencodeunicode_escape_decodedecode1/usr/lib64/python3.11/encodings/unicode_escape.pyrr s  )F  )FFFrrceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rr errors)selfinputfinals rr zIncrementalEncoder.encodes+E4;??BBrN)F)rrrr r rrrrs.CCCCCCrrceZdZdZdS)IncrementalDecoderc.tj|||S)Nrr )rrrrs r_buffer_decodez!IncrementalDecoder._buffer_decode+E65AAArN)rrrrr rrrrs(BBBBBrrceZdZdS) StreamWriterN)rrrr rrrrsDrrceZdZddZdS) StreamReaderstrictc.tj||dS)NFr)rrrs rr zStreamReader.decode rrN)r!)rrrr r rrr r s.BBBBBBrr c tjdtjtjt t ttS)Nzunicode-escape)namer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrrr r rr getregentryr*%s5   ||--!!   r) __doc__rrrBufferedIncrementalDecoderrrr r*r rrr-s/ *****FL***CCCCC2CCCBBBBB:BBB     5,   BBBBB5,BBB     rPKUe[T base64_codec.cpython-311.pycnu[ !A?hdZddlZddlZddZddZGddejZGdd ejZGd d ejZGd d eejZGddeej Z dZ dS)zPython 'base64_codec' Codec - base64 content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcX|dksJtj|t|fSNr)base64 encodebytesleninputerrorss //usr/lib64/python3.11/encodings/base64_codec.py base64_encoder / X      u % %s5zz 22cX|dksJtj|t|fSr)r decodebytesrr s r base64_decoderrrceZdZddZddZdS)Codecrc"t||SN)r selfr r s r encodez Codec.encodeUF+++rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<,,,,,,,,,,rrceZdZddZdS)IncrementalEncoderFcD|jdksJtj|Sr)r rrrr finals r rzIncrementalEncoder.encode&{h&&&&!%(((rNF)rrr rr!rr r#r#())))))rr#ceZdZddZdS)IncrementalDecoderFcD|jdksJtj|Sr)r rrr%s r rzIncrementalDecoder.decode!r'rNr()rrr rr!rr r+r+ r)rr+ceZdZeZdS) StreamWriterNrrr bytescharbuffertyper!rr r.r.%NNNrr.ceZdZeZdS) StreamReaderNr/r!rr r4r4(r2rr4c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr#r+r.r4r!rr getregentryr>-s4   --!!    rr) __doc__r<rr rrr#r+r.r4r>r!rr r@sH 33333333,,,,,FL,,, )))))2))) )))))2))) 5&-5&-     rPKUe[k[[euc_jp.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Neuc_jpc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode)/usr/lib64/python3.11/encodings/euc_jp.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP H%%FL82825#3V5H5#3V5H     r PKUe[)--idna.cpython-311.pycnu[ !A?h#,ddlZddlZddlZddlmZejdZdZdZdZ dZ dZ Gd d ej Z Gd d ej ZGd dejZGdde ejZGdde ejZdZdS)N) ucd_3_2_0u [.。.。]sxn--zxn--c:g}|D]>}tj|r|tj|?d|}t jd|}|D]}tj|stj|stj |sxtj |sdtj |sPtj |sznameprep..)s# 7 7 7Aj$Q'' 7 7 7c3>K|]}tj|VdS)N)r in_table_d2r s r znameprep..1s-88Qz%a((888888rzViolation of BIDI requirement 2rzViolation of BIDI requirement 3)r in_table_b1append map_table_b2join unicodedata normalize in_table_c12 in_table_c22 in_table_c3 in_table_c4 in_table_c5 in_table_c6 in_table_c7 in_table_c8 in_table_c9 UnicodeErrorany)labelnewlabelcRandALs rnameprepr*sH 44  !! $ $   /223333 GGH  E  !&% 0 0E ; ;  "1 % % ;  "1 % % ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;59:: : ;8 7 7 7 7F 6{{B 88%888 8 8 B@AA A ay Br  B@AA A Lrc\ |d}dt|cxkrdkrnn|Std#t$rYnwxYwt|} |d}dt|cxkrdkrnn|Std#t$rYnwxYw|t rtd|d}t |z}dt|cxkrdkrnn|Std)Nasciir@label empty or too longzLabel starts with ACE prefixpunycode)encodelenr$r* startswith sace_prefix ace_prefix)r&s rToASCIIr5<s 6 W%% s5zz    B     L4555       UOOE6 W%% s5zz    B     L4555        $$;9::: LL $ $E  E 3u:: 0 1 11s#A AA%B(( B54B5ctt|trd}n+ |d}d}n#t$rd}YnwxYw|sCt |} |d}n#t$rtdwxYw|t st|dS|tt d}| d}t|}t|d t|dkrtd|||S)NTr,FzInvalid character in IDN labelr/zIDNA does not round-trip) isinstancebytesr0r$r*r2r4strr1decoder5lower)r& pure_asciilabel1resultlabel2s r ToUnicoder@gs^%  LL))EJJ   JJJ  A ALL))EE A A A?@@ @ A   J ' '#5'"""3z??## $F]]: & &FV__F 5'  ""c&'&:&:::5ufEEE Ms2 AAA,,BceZdZddZddZdS)Codecstrictc|dkrtd|z|sdS |d}|d}|ddD]-}dt|cxkrdksntd .t|ddkrtd |t|fS#t$rYnwxYwt }t |}|r|dsd}|d=nd }|D];}|r|d|t|labelsr& trailing_dots rr0z Codec.encodes X  r&s rr:z Codec.decodes/ X  sizer&s r_buffer_encodez!IncrementalEncoder._buffer_encodes X  d||z}|t|z }||fS) NrCrSrTr,rUrrrr]) r$r7r9rKrHrr@r1rr^s r_buffer_decodez!IncrementalDecoder._buffer_decodesB X  rzs000000rz.//  ,,,\)2)2)2V%%%RF9F9F9F9F9FLF9F9F9P!%!%!%!%!%:!%!%!%F%%%%%:%%%N     5,        5,       rPKUe[ Jbz2_codec.cpython-311.pycnu[ !A?hdZddlZddlZddZddZGddejZGdd ejZGd d ejZGd d eejZGddeej Z dZ dS)aPython 'bz2_codec' Codec - bz2 compression encoding. This codec de/encodes from bytes to bytes and is therefore usable with bytes.transform() and bytes.untransform(). Adapted by Raymond Hettinger from zlib_codec.py which was written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcX|dksJtj|t|fSNr)bz2compressleninputerrorss ,/usr/lib64/python3.11/encodings/bz2_codec.py bz2_encoder s. X     L  U ,,cX|dksJtj|t|fSr)r decompressrr s r bz2_decoders. X     N5 ! !3u:: ..rceZdZddZddZdS)Codecrc"t||SN)r selfr r s r encodez Codec.encode%(((rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<))))))))))rrc$eZdZddZddZdZdS) IncrementalEncoderrcT|dksJ||_tj|_dSr)r r BZ2Compressor compressobjrr s r __init__zIncrementalEncoder.__init__s1!!!! ,..rFc|r6|j|}||jzS|j|Sr)r%rflush)rr finalcs r rzIncrementalEncoder.encode#sQ  4 ))%00At'--/// /#,,U33 3rc6tj|_dSr)rr$r%rs r resetzIncrementalEncoder.reset*s,..rNrF)rrrr'rr.r rr r"r"sK//// 4444/////rr"c$eZdZddZddZdZdS) IncrementalDecoderrcT|dksJ||_tj|_dSr)r rBZ2Decompressor decompressobjr&s r r'zIncrementalDecoder.__init__.s1!!!!  022rFcZ |j|S#t$rYdSwxYw)N)r4rEOFError)rr r*s r rzIncrementalDecoder.decode3s@ %0077 7   22 s  **c6tj|_dSr)rr3r4r-s r r.zIncrementalDecoder.reset9s 022rNrr/)rrrr'rr.r rr r1r1-sK3333  33333rr1ceZdZeZdS) StreamWriterNrrrbytescharbuffertyper rr r:r:<NNNrr:ceZdZeZdS) StreamReaderNr;r rr r@r@?r>rr@c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr"r1r:r@r rr getregentryrJDs4   --!!    rr) __doc__rHrr rrr"r1r:r@rJr rr rLsH ----////)))))FL))) /////2/// 3 3 3 3 32 3 3 35&-5&-     rPKUe[.+YYcp932.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ncp932c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/cp932.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[JUn$ $ "raw_unicode_escape.cpython-311.pycnu[ !A?h4dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd ZdS)z Python 'raw-unicode-escape' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecsraw_unicode_escape_encodeencoderaw_unicode_escape_decodedecode5/usr/lib64/python3.11/encodings/raw_unicode_escape.pyrr s  -F  -FFFrrceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rr errors)selfinputfinals rr zIncrementalEncoder.encodes/t{CCAFFrN)F)rrrr r rrrrs.GGGGGGrrceZdZdZdS)IncrementalDecoderc.tj|||S)Nrr )rrrrs r_buffer_decodez!IncrementalDecoder._buffer_decode/vuEEErN)rrrrr rrrrs(FFFFFrrceZdZdS) StreamWriterN)rrrr rrrrsDrrceZdZddZdS) StreamReaderstrictc.tj||dS)NFr)rrrs rr zStreamReader.decode rrN)r!)rrrr r rrr r s.FFFFFFrr c tjdtjtjt t ttS)Nzraw-unicode-escape)namer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrrr r rr getregentryr*%s5   !||--!!   r) __doc__rrrBufferedIncrementalDecoderrrr r*r rrr-s/ .....FL...GGGGG2GGGFFFFF:FFF     5,   FFFFF5,FFF     rPKUe[Ell"iso2022_jp_1.cpython-311.opt-2.pycnu[ !A?h%6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jp_1c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/iso2022_jp_1.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  00FL82825#3V5H5#3V5H     r PKUe[R" " utf_16_be.cpython-311.opt-1.pycnu[ !A?h dZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-16-be' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nstrictc.tj||dS)NT)codecsutf_16_be_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_16_be.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_16_be_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-16-be)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&!s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[&4i1i1aliases.cpython-311.pycnu[ !A?h== dZiddddddddddddddd dd dd dd dd dddddddddddiddddddddddddddddd dd!dd"d#d$d#d%d#d&d'd(d'd)d'd*d'id+d,d-d,d.d/d0d/d1d2d3d2d4d5d6d5d7d8d9d8d:d;dd?d>d@dAdBdAdCdDidEdDdFdGdHdGdIdJdKdJdLdJdMdNdOdNdPdNdQdNdRdSdTdSdUdSdVdWdXdWdYdWdZdWid[dWd\d]d^d]d_d]d`dadbdadcdadddedfdedgdedhdidjdidkdidldmdndmdodmdpdqidrdqdsdqdtdudvdudwdudxdydzdyd{dyd|dyd}d~dd~dd~ddddddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddēddƓddƓddƓddƓiddƓdd̓dd̓dd̓ddГddГddГddԓddԓddדddדddړddړddݓddݓddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddd dd dd did dd dddddddddddddddddddddddddddddddid dd!d"d#d"d$d"d%d"d&d"d'd"d(d"d)d*d+d*d,d*d-d*d.d*d/d*d0d*d1d*d2d3id4d3d5d3d6d3d7d3d8d9d:d9d;d9d<d9d=d9d>d9d?d@dAd@dBdCdDdEdFdEdGdEdHdIidJdIdKdIdLdIdMdIdNdIdOdIdPdIdQdIdRdIdSdIdTdIdUdVdWdXdYdZd[d\d]d\d^d\id_d`dad`dbdcdddedfdedgdhdidhdjdhdkdhdldmdndmdodmdpdqdrdsdtdsdudsdvdsidwdxdydxdzdxd{d|d}d|d~d|ddddddddddddddddddddddiddddddddddddddddddddddddddddddddddsddddZdS(a< Encoding Aliases Support This module is used by the encodings package search function to map encodings names to module names. Note that the search function normalizes the encoding names before doing the lookup, so the mapping will have to map normalized encoding names to module names. Contents: The following aliases dictionary contains mappings of all IANA character set names for which the Python core library provides codecs. In addition to these, a few Python specific codec aliases have also been added. 646asciizansi_x3.4_1968ansi_x3_4_1968zansi_x3.4_1986cp367csasciiibm367 iso646_usziso_646.irv_1991iso_ir_6usus_asciibase64 base64_codecbase_64big5_twbig5csbig5 big5_hkscs big5hkscshkscsbz2 bz2_codec037cp037csibm037 ebcdic_cp_ca ebcdic_cp_nl ebcdic_cp_us ebcdic_cp_wtibm037ibm0391026cp1026 csibm1026ibm10261125cp1125ibm1125cp866uruscii1140cp1140ibm11401250cp1250 windows_12501251cp1251 windows_12511252cp1252 windows_12521253cp1253 windows_12531254cp1254 windows_12541255cp1255 windows_12551256cp1256 windows_12561257cp1257 windows_12571258cp1258 windows_1258273cp273ibm273csibm273424cp424csibm424 ebcdic_cp_heibm424437cp437cspc8codepage437ibm437500cp500csibm500 ebcdic_cp_be ebcdic_cp_chibm500775cp775 cspc775balticibm775850cp850cspc850multilingualibm850852cp852cspcp852ibm852855cp855csibm855ibm855857cp857csibm857ibm857858cp858csibm858ibm858860cp860csibm860ibm860861cp861cp_iscsibm861ibm861862cp862cspc862latinhebrewibm862863cp863csibm863ibm863864cp864csibm864ibm864865cp865csibm865ibm865866cp866csibm866ibm866869cp869cp_grcsibm869ibm869932cp932ms932mskanjims_kanji949cp949ms949uhc950cp950ms950jisx0213 euc_jis_2004 eucjis2004 euc_jis2004 eucjisx0213 euc_jisx0213eucjpeuc_jpujisu_jiseuckreuc_krkoreanksc5601 ks_c_5601ks_c_5601_1987ksx1001 ks_x_1001 gb18030_2000gb18030chinesegb2312csiso58gb231280euc_cneuccn eucgb2312_cn gb2312_1980 gb2312_80 iso_ir_58936gbkcp936ms936hex hex_codecroman8 hp_roman8r8 csHPRoman8cp1051ibm1051hzgbhzhz_gb hz_gb_2312 csiso2022jp iso2022_jp iso2022jp iso_2022_jp iso2022jp_1 iso2022_jp_1 iso_2022_jp_1 iso2022jp_2 iso2022_jp_2 iso_2022_jp_2iso_2022_jp_2004iso2022_jp_2004iso2022jp_2004 iso2022jp_3 iso2022_jp_3 iso_2022_jp_3 iso2022jp_extiso2022_jp_extiso_2022_jp_ext csiso2022kr iso2022_kr iso2022kr iso_2022_kr csisolatin6 iso8859_10 iso_8859_10iso_8859_10_1992 iso_ir_157l6latin6thai iso8859_11 iso_8859_11iso_8859_11_2001 iso_8859_13 iso8859_13l7latin7 iso_8859_14 iso8859_14iso_8859_14_1998 iso_celtic iso_ir_199l8latin8 iso_8859_15 iso8859_15l9latin9 iso_8859_16 iso8859_16iso_8859_16_2001 iso_ir_226l10latin10 csisolatin2 iso8859_2 iso_8859_2iso_8859_2_1987 iso_ir_101l2latin2 csisolatin3 iso8859_3 iso_8859_3iso_8859_3_1988 iso_ir_109l3latin3 csisolatin4 iso8859_4 iso_8859_4iso_8859_4_1988 iso_ir_110l4latin4csisolatincyrillic iso8859_5cyrillic iso_8859_5iso_8859_5_1988 iso_ir_144arabic iso8859_6asmo_708csisolatinarabicecma_114 iso_8859_6iso_8859_6_1987 iso_ir_127csisolatingreek iso8859_7ecma_118elot_928greekgreek8 iso_8859_7iso_8859_7_1987 iso_ir_126csisolatinhebrew iso8859_8hebrew iso_8859_8iso_8859_8_1988 iso_ir_138 csisolatin5 iso8859_9 iso_8859_9iso_8859_9_1989 iso_ir_148l5latin5cp1361johabms1361cskoi8rkoi8_rkz_1048kz1048rk1048 strk1048_20028859latin_1cp819 csisolatin1ibm819iso8859 iso8859_1 iso_8859_1iso_8859_1_1987 iso_ir_100l1latinlatin1 maccyrillic mac_cyrillicmacgreek mac_greek maciceland mac_icelandmaccentraleurope mac_latin2 mac_centeuro maclatin2 macintosh mac_romanmacroman macturkish mac_turkishansimbcsdbcs csptcp154ptcp154pt154cp154cyrillic_asianquopri quopri_codecquoted_printablequotedprintablerot13rot_13 csshiftjis shift_jisshiftjissjiss_jis shiftjis2004shift_jis_2004 sjis_2004 s_jis_2004 shiftjisx0213shift_jisx0213 sjisx0213 s_jisx0213tis620tis_620 tis_620_0tis_620_2529_0tis_620_2529_1 iso_ir_166u16utf_16utf16unicodebigunmarked utf_16_beutf_16beunicodelittleunmarked utf_16_leutf_16leu32utf_32utf32utf_32be utf_32_beutf_32le utf_32_leu7utf_7utf7unicode_1_1_utf_7u8utf_8utfutf8 utf8_ucs2 utf8_ucs4cp65001uuuu_codeczip zlib_codeczlibx_mac_japanese) x_mac_koreanx_mac_simp_chinesex_mac_trad_chineseN)__doc__aliases*/usr/lib64/python3.11/encodings/aliases.pyrs"U   7 U  7 U 7U 7U  7U 7U  7U 7U 7U 7U  7U  7!U & >'U (>)U .6/U 0 61U 6;7U U 8 ;9U > ;?U D 7EU F7GU H7IU J7KU L7MU N7OU P 7QU R 7SU X 8YU Z8[U \8]U b HcU dHeU f HgU h HiU U U n 8oU p8qU v 8wU x8yU ~ 8U @8AU F 8GU H8IU N 8OU P8QU V 8WU X8YU ^ 8_U `8aU f 8gU h8iU n 8oU U U p8qU v 8wU x8yU ~ 7U @ 7AU B7CU H 7IU J7KU L7MU N 7OU T 7UU V7WU X 7YU ^ 7_U `7aU b7cU d7eU U U f 7gU l 7mU n7oU p 7qU v 7wU xGyU z 7{U @ 7AU B7CU D 7EU J 7KU L7MU N 7OU T 7UU V7WU X 7YU ^ 7_U U U `7aU b 7cU h 7iU j7kU l 7mU r 7sU t 7uU v7wU x 7yU ~ 7U @7AU B 7CU H 7IU J7KU L 7MU R 7SU T7UU U U V 7WU \ 7]U ^7_U ` 7aU f 7gU h7iU j 7kU p 7qU r 7sU t7uU v 7wU | 7}U ~ 7U @7AU B7CU H 7IU J 7KU U U L 7MU R 7SU T 7UU Z>[U \>]U ^>_U d>eU j 8kU l 8mU n 8oU t 8uU v 8wU x8yU z8{U |8}U ~8U @8AU U U F9GU L8MU N8OU P 8QU R 8SU T8UU V8WU X8YU Z8[U ` 5aU b 5cU d 5eU j ;kU p ;qU r ;sU t;uU v ;wU U U x;yU ~ 4U @ 4AU B4CU HSU T>UU Z>[U \>]U b,cU d,eU j>kU l>mU r+sU t+uU U U z<{U |<}U ~<U D S U X ;Y U ^ =_ U d QU R>SU T>UU Z 8[U `;aU b;cU d ;eU f ;gU U U l+mU n+oU p+qU v+wU x+yU z+{U @ 9AU B9CU D9EU F9GU H9IU N 8OU P 8QU V;WU X;YU ^k_U `;aU U U f 8gU h 8iU n;oU t;uU z 7{U | 7}U ~7U D 7EU F 7GU H 7IU J7KU L7MU N7OU T :UU Z <[U \ <]U bKcU U d%$"iU U U rPKUe[n}utf_16.cpython-311.opt-2.pycnu[ !A?ht ddlZddlZejZd dZGddejZGddejZGdd ejZGd d ej Z d Z dS)Nstrictc.tj||dS)NT)codecs utf_16_decode)inputerrorss )/usr/lib64/python3.11/encodings/utf_16.pydecoder s  vt 4 44c0eZdZd dZd dZdZdZdZdS) IncrementalEncoderrcTtj||d|_dSN)rr __init__encoderselfrs r rzIncrementalEncoder.__init__s&!**4888 r Fc|jUtj||jd}tjdkrtj|_ntj|_|S|||jdS)Nrlittle)rr utf_16_encodersys byteorderutf_16_le_encodeutf_16_be_encode)rrfinalresults r encodezIncrementalEncoder.encodesf < )%==a@F}((%6 %6 M||E4;//22r cRtj|d|_dSr)rr resetrrs r rzIncrementalEncoder.reset!s$!''--- r c|jdndS)Nr)rr s r getstatezIncrementalEncoder.getstate%s \)q1r c|r d|_dStjdkrtj|_dStj|_dSNr)rrrrrrrstates r setstatezIncrementalEncoder.setstate,s>  7DLLL}((%6 %6 r Nr)F)__name__ __module__ __qualname__rrrr#r(r r r r si333322277777r r c.eZdZddZdZdZdZdZdS) IncrementalDecoderrcTtj||d|_dSr)rBufferedIncrementalDecoderrdecoderrs r rzIncrementalDecoder.__init__6s&)224@@@ r c|jdtj||d|\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS|||j|S)Nrr"%UTF-16 stream does not start with BOM)r2rutf_16_ex_decodeutf_16_le_decodeutf_16_be_decode UnicodeErrorr)rrrroutputconsumedrs r _buffer_decodez!IncrementalDecoder._buffer_decode:s < 'vq%@@ *VXyB%6 a%6 Q"#JKKKH% %||E4;666r cRtj|d|_dSr)rr1rr2r s r rzIncrementalDecoder.resetGs$)//555 r ctj|d}|j|dfSt t jdk|jtjuk}||fS)Nrr"big)rr1r#r2intrrr9)rr'addstates r r#zIncrementalDecoder.getstateKsk1::4@@C < 1:  . (??ABBx  r c8tj|||d}|dkr/tjdkr tjn tj|_dS|dkr/tjdkr tjn tj|_dSd|_dS)Nr5rr@)rr1r(rrr9r8r2r&s r r(zIncrementalDecoder.setstateYs)224???a A::"}55#33!'!8 LLLaZZ"}55#33!'!8 LLL DLLLr Nr))r*r+r,rr=rr#r(r-r r r/r/5sd 7 7 7 ! ! !      r r/c$eZdZddZdZddZdS) StreamWriterrcVtj|||d|_dSr)rrErr)rstreamrs r rzStreamWriter.__init__is($$T66::: r cRtj|d|_dSr)rrErrr s r rzStreamWriter.resetms$!!$''' r c|jJtj||}tjdkrtj|_ntj|_|S|||Sr%)rrrrrrr)rrrrs r rzStreamWriter.encodeqsX < )%88F}((%6 %6 M<<v.. .r Nr))r*r+r,rrrr-r r rErEhsK / / / / / /r rEceZdZdZddZdS) StreamReadercltj| |`dS#t$rYdSwxYwr)rrKrr AttributeErrorr s r rzStreamReader.reset~sI!!$'''      DD s % 33rctj||dd\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS)NrFr4r5r"r6)rr7r8r r9r:)rrrobjectr<rs r r zStreamReader.decodesn  #E61e < < &9 ?? 1DKK !^^ 1DKK q[[FGG G!!r Nr))r*r+r,rr r-r r rKrK|s7 " " " " " "r rKc ttjdtttt t tS)Nzutf-16)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r r/rKrEr-r r getregentryrWs1   --!!   r r)) rrrrr r r1r/rErKrWr-r r rXs  5555!7!7!7!7!72!7!7!7F1 1 1 1 1 :1 1 1 f/////6&///("""""6&""",     r PKUe[nIeaashift_jis.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N shift_jisc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode,/usr/lib64/python3.11/encodings/shift_jis.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP K((FL82825#3V5H5#3V5H     r PKUe[;Ѿhh iso2022_jp.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jpc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode-/usr/lib64/python3.11/encodings/iso2022_jp.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  ..FL82825#3V5H5#3V5H     r PKUe[IPss%iso2022_jp_2004.cpython-311.opt-2.pycnu[ !A?h16ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Niso2022_jp_2004c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode2/usr/lib64/python3.11/encodings/iso2022_jp_2004.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ  !233FL82825#3V5H5#3V5H     r PKUe[k[[euc_jp.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Neuc_jpc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode)/usr/lib64/python3.11/encodings/euc_jp.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP H%%FL82825#3V5H5#3V5H     r PKUe[;Tllshift_jis_2004.cpython-311.pycnu[ !A?h#6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Nshift_jis_2004c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode1/usr/lib64/python3.11/encodings/shift_jis_2004.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ ,--FL82825#3V5H5#3V5H     r PKUe[Egg"euc_jis_2004.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N euc_jis_2004c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/euc_jis_2004.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP N++FL82825#3V5H5#3V5H     r PKUe[Eggeuc_jis_2004.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N euc_jis_2004c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/euc_jis_2004.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP N++FL82825#3V5H5#3V5H     r PKUe[$~4~4cp858.cpython-311.pycnu[ !A?h߄ 2 dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd Zeje dZ e idddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0id1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRidSdTdHdUdVdWdXdYdZd[d\d]d^d_d`dad[dbdcdddbdedfdQdadcdgdhdidjdkdldmdnidodpdqdrdsdtdudvdwdxdyd`dzd{d]d|dhd}ded~dddSddXd_ddxddtddvdddid,dd.dd4dddddd0dddddddddddddVdddYdddddddidddBddLddJddddddddDdddZdddddddPdddddddddid2dsddd$dddd dd"dd*ddRdd(dgd&dqddfdWdkd:ddTdd6dudd\d8ddydid^dwdzdodmddOd dZ iddddddddddddddddddddddddddddddddddidddd“ddÓddēddœddƓddǓddȓddɓddʓdd˓dd̓dd͓ddΓddϓddГddѓiddғddӓddԓddՓdd֓ddדddؓddٓddړddۓddܓddݓddޓddߓddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddddd d d d d d d d d d ddddddddddddddddiddddddddddddddddddddd d d!d!d"d"d#d#d$d$d%d%d&d&id'd'd(d(d)d)d*d*d+d+d,d,d-d-d.d.d/d/dOd@dQdfdSdddHdGdVddXddZdd\did^d>d`dyd[dZdcdadbd[dfddad`dgd(didFdkdWdmddoddqd&dsd2dud6dwdUdydidzd<d]d\dhdgdedbdddcddTd_d^dxdwdtdsdvduddd,d+d.d-d4d3ddddd0d/iddddddddBddLddJddYdYdXdddddddddBdAdLdKdJdIdd"ddidd dDdCddRdd$ddPdddPdOdddd4ddddd2d1ddd$d#ddd dd"d!id*d)dRdQd(d'd&d%dddWdVd:d9dTdSd6d5ddd8d7dd8dFdEd>d=dUdHd?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)__doc__rrrr"r%r)r2make_identity_dictrange decoding_mapupdaterr rrrr8s BBBBBFLBBBHHHHH2HHHJJJJJ2JJJ     5,        5,     )v(s44 A FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAp         AAAAAAAL JA FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAAAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAAAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAAAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAAAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAAAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{AAA| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]AAA^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FAA@ FAAA rPKUe[;Ѿhh iso2022_jp.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jpc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode-/usr/lib64/python3.11/encodings/iso2022_jp.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  ..FL82825#3V5H5#3V5H     r PKUe[WiuUUgbk.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Ngbkc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode&/usr/lib64/python3.11/encodings/gbk.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP E""FL82825#3V5H5#3V5H     r PKUe[ i1aabig5hkscs.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N big5hkscsc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode,/usr/lib64/python3.11/encodings/big5hkscs.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_hkr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP K((FL82825#3V5H5#3V5H     r PKUe[64utf_8_sig.cpython-311.pycnu[ !A?h%dZddlZddZddZGddejZGdd ejZGd d ejZGd d ejZdZ dS)a Python 'utf-8-sig' Codec This work similar to UTF-8 with the following changes: * On encoding/writing a UTF-8 encoded BOM will be prepended/written as the first three bytes. * On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these bytes will be skipped. Nstrictcptjtj||dzt|fSNr)codecsBOM_UTF8 utf_8_encodelen)inputerrorss ,/usr/lib64/python3.11/encodings/utf_8_sig.pyencoder s1 Of1%@@C C JJ cd}|ddtjkr |dd}d}tj||d\}}|||zfS)NrT)rr utf_8_decode)r r prefixoutputconsumeds r decodersV F RaRyFO##abb ,UFDAAVX HVO $$rc0eZdZd dZd dZdZdZdZdS) IncrementalEncoderrcTtj||d|_dSN)rr__init__firstselfr s r rzIncrementalEncoder.__init__s&!**4888 rFc|jr4d|_tjtj||jdzStj||jdSr)rrrrr )rr finals r r zIncrementalEncoder.encodesU : >DJ?&udk::1=> >&udk::1= =rcRtj|d|_dSr)rrresetrrs r r"zIncrementalEncoder.reset's$!''--- rc|jSNrr#s r getstatezIncrementalEncoder.getstate+s zrc||_dSr%r&rstates r setstatezIncrementalEncoder.setstate.s  rNr)F)__name__ __module__ __qualname__rr r"r'r+rr rrsi>>>>rrc.eZdZddZdZdZdZdZdS) IncrementalDecoderrcTtj||d|_dSr)rBufferedIncrementalDecoderrrrs r rzIncrementalDecoder.__init__2s&)224@@@ rcB|jrt|dkr)tj|rdSd|_nGd|_|ddtjkr(tj|dd||\}}||dzfStj|||S)Nrrr)rr rr startswithr)rr r r rrs r _buffer_decodez!IncrementalDecoder._buffer_decode6s : 05zzA~~?--e44##7!"DJJ !9//*59feDD'VX"HQJ//"5&%888rcRtj|d|_dSr)rr4r"rr#s r r"zIncrementalDecoder.resetGs$)//555 rc^tj|}|d|jfSr)rr4r'rr)s r r'zIncrementalDecoder.getstateKs)1::4@@a$*%%rc`tj|||d|_dSr)rr4r+rr)s r r+zIncrementalDecoder.setstatePs*)224???1X rNr,)r-r.r/rr9r"r'r+r0rr r2r21sd999"&&& rr2ceZdZdZddZdS) StreamWritercltj| |`dS#t$rYdSwxYwr%)rr>r"r AttributeErrorr#s r r"zStreamWriter.resetVI!!$'''      DD  % 33rcDtj|_t||Sr%)rrr )rr r s r r zStreamWriter.encode]s) eV$$$rNr,)r-r.r/r"r r0rr r>r>Us7%%%%%%rr>ceZdZdZddZdS) StreamReadercltj| |`dS#t$rYdSwxYwr%)rrEr"rr@r#s r r"zStreamReader.resetbrArBrcXt|dkr"tj|rdSnP|ddtjkr8tj|_tj|dd|\}}||dzfStj|_tj||S)Nrr6)r rrr8rr)rr r rrs r rzStreamReader.decodeis u::>>))%00 w 2A2Y&/ ) ) -DK!'!4U122Yv!F!F VXHQJ' ') "5&111rNr,)r-r.r/r"rr0rr rErEas7 2 2 2 2 2 2rrEc ttjdtttt t tS)Nz utf-8-sig)namer rincrementalencoderincrementaldecoder streamreader streamwriter)r CodecInfor rrr2rEr>r0rr getregentryrOys1   --!!   rr,) __doc__rr rrr4r2r>rErOr0rr rQs %%%%2.""""":"""H % % % % %6& % % %222226&2220     rPKUe[&)nhhbz2_codec.cpython-311.opt-1.pycnu[ !A?hdZddlZddlZddZddZGddejZGdd ejZGd d ejZGd d eejZGddeej Z dZ dS)aPython 'bz2_codec' Codec - bz2 compression encoding. This codec de/encodes from bytes to bytes and is therefore usable with bytes.transform() and bytes.untransform(). Adapted by Raymond Hettinger from zlib_codec.py which was written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcHtj|t|fSN)bz2compressleninputerrorss ,/usr/lib64/python3.11/encodings/bz2_codec.py bz2_encoder s L  U ,,cHtj|t|fSr)r decompressrr s r bz2_decoders N5 ! !3u:: ..rceZdZddZddZdS)Codecrc"t||Sr)r selfr r s r encodez Codec.encode%(((rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<))))))))))rrc$eZdZddZddZdZdS) IncrementalEncoderrcD||_tj|_dSr)r r BZ2Compressor compressobjrr s r __init__zIncrementalEncoder.__init__s  ,..rFc|r6|j|}||jzS|j|Sr)r$rflush)rr finalcs r rzIncrementalEncoder.encode#sQ  4 ))%00At'--/// /#,,U33 3rc6tj|_dSr)rr#r$rs r resetzIncrementalEncoder.reset*s,..rNrF)rrrr&rr-rrr r!r!sK//// 4444/////rr!c$eZdZddZddZdZdS) IncrementalDecoderrcD||_tj|_dSr)r rBZ2Decompressor decompressobjr%s r r&zIncrementalDecoder.__init__.s   022rFcZ |j|S#t$rYdSwxYw)N)r3rEOFError)rr r)s r rzIncrementalDecoder.decode3s@ %0077 7   22 s  **c6tj|_dSr)rr2r3r,s r r-zIncrementalDecoder.reset9s 022rNrr.)rrrr&rr-rrr r0r0-sK3333  33333rr0ceZdZeZdS) StreamWriterNrrrbytescharbuffertyperrr r9r9<NNNrr9ceZdZeZdS) StreamReaderNr:rrr r?r??r=rr?c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr!r0r9r?rrr getregentryrIDs4   --!!    rr) __doc__rGrr rrr!r0r9r?rIrrr rKsH ----////)))))FL))) /////2/// 3 3 3 3 32 3 3 35&-5&-     rPKUe[ascii.cpython-311.pycnu[ !A?h dZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$gd#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8S)9z3Constants and membership tests for ASCII characters  )!NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPcdt|tdkrt|S|S)N)typeordcs %/usr/lib64/python3.11/curses/ascii.py_ctoirL0s) Aww$r((1vv c>t|pt|SN)isalphaisdigitrIs rKisalnumrR6wqzz/WQZZ/rMc>t|pt|SrO)isupperislowerrIs rKrPrP7rSrMc<dt|cxkodkncS)Nrr#rLrIs rKisasciirY8s)qE!HH+++++++++rMc$t|dvS)N)r r"rXrIs rKisblankr[9suQxx7**rMcbdt|cxkodkncpt|dkS)Nrr!r#rXrIs rKiscntrlr]:s8qE!HH********=eAhh#o=rMc<dt|cxkodkncS)N09rXrIs rKrQrQ;)rU1XX+++++++++rMc<dt|cxkodkncS)N!~rXrIs rKisgraphre<)rU1XX,,,,,,,,,rMc<dt|cxkodkncS)NazrXrIs rKrVrV=rfrMc<dt|cxkodkncS)Nr"rdrXrIs rKisprintrk>rfrMc@t|ot| SrO)rerRrIs rKispunctrm?swqzz4'!**n4rMc$t|dvS)N)r r r rrr"rXrIs rKisspacero@suQxx#:::rMc<dt|cxkodkncS)NAZrXrIs rKrUrUArarMct|p9dt|cxkodkncpdt|cxkodkncS)NrqFrhf)rQrLrIs rKisxdigitrvBsc 6588r6!U1XX444444446rMc<dt|cxkodkncS)Nrr"rXrIs rKisctrlrxDs)a588((((b(((((rMc(t|dkS)Nr#rXrIs rKismetarzEseAhhn$rMct|tdkrtt|dzSt|dzS)NrFr#rGchrrLrIs rKasciir~GA Aww$r((588d?###Qxx$rMct|tdkrtt|dzSt|dzS)NrFr!r|rIs rKctrlrMrrMct|tdkrtt|dzSt|dzS)NrFr|rIs rKaltrSrrMct|}|dkrd}n@t|dzrt|dz}ndt|dzdzdzz}|dzrd|zS|S)Nr#z^?^r"r!)rLrkr})rJbitsreps rKunctrlrYs 88D t||   7$+C$+-5666 d{Sy JrMN):__doc__r$r%r&r'r(r)r*r+r,TABr-r.NLr/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDDEL controlnamesrLrRrPrYr[r]rQrerVrkrmrorUrvrxrzr~rrrrMrKrs99                                      0/////+++***===+++,,,,,,,,,444:::+++666((($$$       rMPKUe[;Tll$shift_jis_2004.cpython-311.opt-1.pycnu[ !A?h#6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Nshift_jis_2004c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode1/usr/lib64/python3.11/encodings/shift_jis_2004.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sQ ,--FL82825#3V5H5#3V5H     r PKUe[\2ZZ zlib_codec.cpython-311.opt-2.pycnu[ !A?h ddlZddlZddZddZGddejZGddejZGd d ejZGd d eejZGd deejZdZ dS)NstrictcHtj|t|fSN)zlibcompressleninputerrorss -/usr/lib64/python3.11/encodings/zlib_codec.py zlib_encoder s M% #e** --cHtj|t|fSr)r decompressrr s r zlib_decoders OE " "CJJ //rceZdZddZddZdS)Codecrc"t||Sr)r selfr r s r encodez Codec.encode5&)))rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<**********rrc$eZdZddZddZdZdS) IncrementalEncoderrcD||_tj|_dSr)r r compressobjrr s r __init__zIncrementalEncoder.__init__s  +--rFc|r6|j|}||jzS|j|Sr)r#rflushrr finalcs r rzIncrementalEncoder.encode!sQ  4 ))%00At'--/// /#,,U33 3rc6tj|_dSr)rr#rs r resetzIncrementalEncoder.reset(s+--rNrF)rrrr%rr-rrr r!r!sK.... 4444.....rr!c$eZdZddZddZdZdS) IncrementalDecoderrcD||_tj|_dSr)r r decompressobjr$s r r%zIncrementalDecoder.__init__,s  !/11rFc|r6|j|}||jzS|j|Sr)r2rr'r(s r rzIncrementalDecoder.decode1sQ  8"--e44At)//111 1%0077 7rc6tj|_dSr)rr2r,s r r-zIncrementalDecoder.reset8s!/11rNrr.)rrrr%rr-rrr r0r0+sK2222 888822222rr0ceZdZeZdS) StreamWriterNrrrbytescharbuffertyperrr r6r6;NNNrr6ceZdZeZdS) StreamReaderNr7rrr r<r<>r:rr<c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamreader streamwriter_is_text_encoding)codecs CodecInfor rr!r0r<r6rrr getregentryrFCs4   --!!    rr) rDrr rrr!r0r6r<rFrrr rGsC ....0000*****FL*** .....2... 222222222 5&-5&-     rPKUe[Ԥ'lliso2022_jp_3.cpython-311.pycnu[ !A?h%6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jp_3c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/iso2022_jp_3.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  00FL82825#3V5H5#3V5H     r PKUe[ i1aabig5hkscs.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N big5hkscsc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode,/usr/lib64/python3.11/encodings/big5hkscs.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_hkr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP K((FL82825#3V5H5#3V5H     r PKUe[Ԥ'll"iso2022_jp_3.cpython-311.opt-1.pycnu[ !A?h%6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jp_3c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/iso2022_jp_3.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  00FL82825#3V5H5#3V5H     r PKUe[Kutf_32.cpython-311.pycnu[ !A?h dZddlZddlZejZddZGddejZGddejZGd d ej Z Gd d ej Z d Z dS)z Python 'utf-32' Codec Nstrictc.tj||dS)NT)codecs utf_32_decode)inputerrorss )/usr/lib64/python3.11/encodings/utf_32.pydecoder s  vt 4 44c0eZdZd dZd dZdZdZdZdS) IncrementalEncoderrcTtj||d|_dSN)rr __init__encoderselfrs r rzIncrementalEncoder.__init__s&!**4888 r Fc|jUtj||jd}tjdkrtj|_ntj|_|S|||jdS)Nrlittle)rr utf_32_encodersys byteorderutf_32_le_encodeutf_32_be_encode)rrfinalresults r encodezIncrementalEncoder.encodesf < )%==a@F}((%6 %6 M||E4;//22r cRtj|d|_dSr)rr resetrrs r rzIncrementalEncoder.resets$!''--- r c|jdndS)Nr)rr s r getstatezIncrementalEncoder.getstate s \)q1r c|r d|_dStjdkrtj|_dStj|_dSNr)rrrrrrrstates r setstatezIncrementalEncoder.setstate's>  7DLLL}((%6 %6 r Nr)F)__name__ __module__ __qualname__rrrr#r(r r r r si333322277777r r c.eZdZddZdZdZdZdZdS) IncrementalDecoderrcTtj||d|_dSr)rBufferedIncrementalDecoderrdecoderrs r rzIncrementalDecoder.__init__1s&)224@@@ r c|jdtj||d|\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS|||j|S)Nr%UTF-32 stream does not start with BOM)r2rutf_32_ex_decodeutf_32_le_decodeutf_32_be_decode UnicodeErrorr)rrrroutputconsumedrs r _buffer_decodez!IncrementalDecoder._buffer_decode5s < 'vq%@@ *VXyB%6 a%6 Q"#JKKKH% %||E4;666r cRtj|d|_dSr)rr1rr2r s r rzIncrementalDecoder.resetBs$)//555 r ctj|d}|j|dfSt t jdk|jtjuk}||fS)Nrr"big)rr1r#r2intrrr:)rr'addstates r r#zIncrementalDecoder.getstateFsk1::4@@C < 1:  . (??ABBx  r c8tj|||d}|dkr/tjdkr tjn tj|_dS|dkr/tjdkr tjn tj|_dSd|_dS)Nr5rrA)rr1r(rrr:r9r2r&s r r(zIncrementalDecoder.setstateTs)224???a A::"}55#33!'!8 LLLaZZ"}55#33!'!8 LLL DLLLr Nr))r*r+r,rr>rr#r(r-r r r/r/0sd 7 7 7 ! ! !      r r/c$eZdZddZdZddZdS) StreamWriterrcVd|_tj|||dSr)rrrFr)rstreamrs r rzStreamWriter.__init__ds* $$T66:::::r cRtj|d|_dSr)rrFrrr s r rzStreamWriter.reseths$!!$''' r c|jJtj||}tjdkrtj|_ntj|_|S|||Sr%)rrrrrrr)rrrrs r rzStreamWriter.encodelsX < )%88F}((%6 %6 M<<v.. .r Nr))r*r+r,rrrr-r r rFrFcsK;;;; / / / / / /r rFceZdZdZddZdS) StreamReadercltj| |`dS#t$rYdSwxYwr)rrLrr AttributeErrorr s r rzStreamReader.resetysI!!$'''      DD s % 33rctj||dd\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS)NrFr4r5r6r7)rr8r9r r:r;)rrrobjectr=rs r r zStreamReader.decodesn  #E61e < < &9 ?? 1DKK !^^ 1DKK q[[FGG G!!r Nr))r*r+r,rr r-r r rLrLws7 " " " " " "r rLc ttjdtttt t tS)Nzutf-32)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r r/rLrFr-r r getregentryrXs1   --!!   r r)) __doc__rrrrr r r1r/rFrLrXr-r r rZs  5555!7!7!7!7!72!7!7!7F1 1 1 1 1 :1 1 1 f/////6&///("""""6&""",     r PKUe[͙|Nnnutf_16.cpython-311.opt-1.pycnu[ !A?htdZddlZddlZejZddZGddejZGddejZGd d ej Z Gd d ej Z d Z dS)z Python 'utf-16' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nstrictc.tj||dS)NT)codecs utf_16_decode)inputerrorss )/usr/lib64/python3.11/encodings/utf_16.pydecoder s  vt 4 44c0eZdZd dZd dZdZdZdZdS) IncrementalEncoderrcTtj||d|_dSN)rr __init__encoderselfrs r rzIncrementalEncoder.__init__s&!**4888 r Fc|jUtj||jd}tjdkrtj|_ntj|_|S|||jdS)Nrlittle)rr utf_16_encodersys byteorderutf_16_le_encodeutf_16_be_encode)rrfinalresults r encodezIncrementalEncoder.encodesf < )%==a@F}((%6 %6 M||E4;//22r cRtj|d|_dSr)rr resetrrs r rzIncrementalEncoder.reset!s$!''--- r c|jdndS)Nr)rr s r getstatezIncrementalEncoder.getstate%s \)q1r c|r d|_dStjdkrtj|_dStj|_dSNr)rrrrrrrstates r setstatezIncrementalEncoder.setstate,s>  7DLLL}((%6 %6 r Nr)F)__name__ __module__ __qualname__rrrr#r(r r r r si333322277777r r c.eZdZddZdZdZdZdZdS) IncrementalDecoderrcTtj||d|_dSr)rBufferedIncrementalDecoderrdecoderrs r rzIncrementalDecoder.__init__6s&)224@@@ r c|jdtj||d|\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS|||j|S)Nrr"%UTF-16 stream does not start with BOM)r2rutf_16_ex_decodeutf_16_le_decodeutf_16_be_decode UnicodeErrorr)rrrroutputconsumedrs r _buffer_decodez!IncrementalDecoder._buffer_decode:s < 'vq%@@ *VXyB%6 a%6 Q"#JKKKH% %||E4;666r cRtj|d|_dSr)rr1rr2r s r rzIncrementalDecoder.resetGs$)//555 r ctj|d}|j|dfSt t jdk|jtjuk}||fS)Nrr"big)rr1r#r2intrrr9)rr'addstates r r#zIncrementalDecoder.getstateKsk1::4@@C < 1:  . (??ABBx  r c8tj|||d}|dkr/tjdkr tjn tj|_dS|dkr/tjdkr tjn tj|_dSd|_dS)Nr5rr@)rr1r(rrr9r8r2r&s r r(zIncrementalDecoder.setstateYs)224???a A::"}55#33!'!8 LLLaZZ"}55#33!'!8 LLL DLLLr Nr))r*r+r,rr=rr#r(r-r r r/r/5sd 7 7 7 ! ! !      r r/c$eZdZddZdZddZdS) StreamWriterrcVtj|||d|_dSr)rrErr)rstreamrs r rzStreamWriter.__init__is($$T66::: r cRtj|d|_dSr)rrErrr s r rzStreamWriter.resetms$!!$''' r c|jJtj||}tjdkrtj|_ntj|_|S|||Sr%)rrrrrrr)rrrrs r rzStreamWriter.encodeqsX < )%88F}((%6 %6 M<<v.. .r Nr))r*r+r,rrrr-r r rErEhsK / / / / / /r rEceZdZdZddZdS) StreamReadercltj| |`dS#t$rYdSwxYwr)rrKrr AttributeErrorr s r rzStreamReader.reset~sI!!$'''      DD s % 33rctj||dd\}}}|dkrtj|_n-|dkrtj|_n|dkrt d||fS)NrFr4r5r"r6)rr7r8r r9r:)rrrobjectr<rs r r zStreamReader.decodesn  #E61e < < &9 ?? 1DKK !^^ 1DKK q[[FGG G!!r Nr))r*r+r,rr r-r r rKrK|s7 " " " " " "r rKc ttjdtttt t tS)Nzutf-16)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r r/rKrEr-r r getregentryrWs1   --!!   r r)) __doc__rrrrr r r1r/rErKrWr-r r rYs  5555!7!7!7!7!72!7!7!7F1 1 1 1 1 :1 1 1 f/////6&///("""""6&""",     r PKUe[$~4~4cp858.cpython-311.opt-1.pycnu[ !A?h߄ 2 dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd Zeje dZ e idddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0id1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRidSdTdHdUdVdWdXdYdZd[d\d]d^d_d`dad[dbdcdddbdedfdQdadcdgdhdidjdkdldmdnidodpdqdrdsdtdudvdwdxdyd`dzd{d]d|dhd}ded~dddSddXd_ddxddtddvdddid,dd.dd4dddddd0dddddddddddddVdddYdddddddidddBddLddJddddddddDdddZdddddddPdddddddddid2dsddd$dddd dd"dd*ddRdd(dgd&dqddfdWdkd:ddTdd6dudd\d8ddydid^dwdzdodmddOd dZ iddddddddddddddddddddddddddddddddddidddd“ddÓddēddœddƓddǓddȓddɓddʓdd˓dd̓dd͓ddΓddϓddГddѓiddғddӓddԓddՓdd֓ddדddؓddٓddړddۓddܓddݓddޓddߓddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddddd d d d d d d d d d ddddddddddddddddiddddddddddddddddddddd d d!d!d"d"d#d#d$d$d%d%d&d&id'd'd(d(d)d)d*d*d+d+d,d,d-d-d.d.d/d/dOd@dQdfdSdddHdGdVddXddZdd\did^d>d`dyd[dZdcdadbd[dfddad`dgd(didFdkdWdmddoddqd&dsd2dud6dwdUdydidzd<d]d\dhdgdedbdddcddTd_d^dxdwdtdsdvduddd,d+d.d-d4d3ddddd0d/iddddddddBddLddJddYdYdXdddddddddBdAdLdKdJdIdd"ddidd dDdCddRdd$ddPdddPdOdddd4ddddd2d1ddd$d#ddd dd"d!id*d)dRdQd(d'd&d%dddWdVd:d9dTdSd6d5ddd8d7dd8dFdEd>d=dUdHd?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)__doc__rrrr"r%r)r2make_identity_dictrange decoding_mapupdaterr rrrr8s BBBBBFLBBBHHHHH2HHHJJJJJ2JJJ     5,        5,     )v(s44 A FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAp         AAAAAAAL JA FA FA FA F A  F A  F A FA FA FA FA FA FA FA FA FA  F!A" F#AA$ F%A& F'A( F)A* F+A, F-A. F/A0 F1A2 F3A4 F5A6 F7A8 F9A: F;A< F=A> F?A@ FAAB FCAD FEAAAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAAAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAAAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAAAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAAAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAAAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAAAR FSAT FUAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAAAt FuAv FwAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAAAV FWAX FYAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAAAx FyAz F{A| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAAAZ F[A\ F]A^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{AAA| F}A~ FA@ FAAB FCAD FEAF FGAH FIAJ FKAL FMAN FOAP FQAR FSAT FUAV FWAX FYAZ F[A\ F]AAA^ F_A` FaAb FcAd FeAf FgAh FiAj FkAl FmAn FoAp FqAr FsAt FuAv FwAx FyAz F{A| F}A~ FAA@ FAAA rPKUe[R" " utf_16_be.cpython-311.pycnu[ !A?h dZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-16-be' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nstrictc.tj||dS)NT)codecsutf_16_be_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_16_be.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_16_be_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-16-be)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&!s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[ i1aabig5hkscs.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N big5hkscsc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode,/usr/lib64/python3.11/encodings/big5hkscs.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_hkr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP K((FL82825#3V5H5#3V5H     r PKUe[utf_32_le.cpython-311.pycnu[ !A?hdZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-32-le' Codec Nstrictc.tj||dS)NT)codecsutf_32_le_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_32_le.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_32_le_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-32-le)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[ ''punycode.cpython-311.opt-2.pycnu[ !A?h$ ddlZdZdZdZdZdZdZdZd Zd Z d Z d Z d Z dZ GddejZGddejZGddejZGddeejZGddeejZdZdS)Nc t}t}|D]M}t|dkr#|t|8||Nt |}t ||fS)N) bytearraysetordappendaddsortedbytes)strbaseextendedcs +/usr/lib64/python3.11/encodings/punycode.py segregater s* ;;DuuH  q66C<< KKA     LLOOOOhH ;;  cF d}|D]}t||kr|dz }|S)Nr)r)r maxresrs r selective_lenrs7J C  q66C<< 1HC Jrc t|} |dz }||krdS||}||kr|dz|fS||kr|dz }.)Nr)r)len)r charindexposlrs rselective_findrsg CA q !888 H 997C<  XX QJErc d}g}d}|D]t}dx}}t|}t||} | dz||z z} t||||\}}|dkrn%| ||z z } || dz |}d} A|}u|S)Nrrrr)rrrr) r roldcharresultoldindexrrrrcurlendeltas rinsertion_unsortr&0s%G FH   1vvsD))dWn- &s1U377IE#{{ UX% %E MM%' " " "HE  Mrc<d|dzz|z }|dkrdS|dkrdS|S)N$r)jbiasrs rTr-Fs3 A, C Qwwqq Rxx Jrs$abcdefghijklmnopqrstuvwxyz0123456789c* t}d} t||}||kr/|t|t |S|t|||z d|z zz||z d|z z}|dz })Nrrr()rr-rdigitsr )Nr,r"r+ts rgenerate_generalized_integerr2Ns2 [[F A aJJ q55 MM&) $ $ $==  fQ1q5R!V"456777 UQ  Qrc||r|dz}n|dz}|||zz }d}|dkr|dz}|dz }|dk|d|z|dzzz}|S)Niri#r(&r*)r%firstnumchars divisionsr,s radaptr:[sv  #  !  Uh EI #++ R  #++ U urz2 3D Krc t}d}t|D]E\}}t||}||t ||dk||zdz}Ft |S)NHrr)r enumerater2extendr:r )baselendeltasr"r,pointsr%ss rgenerate_integersrCjs{ [[F D"6**99  ( 5 5 aUFAIwv~a'788 ==rct|\}}t||}tt||}|r|dz|zS|S)N-)rr&rCr)textr rr@s rpunycode_encoderGusQt__ND( dH - -F TF33H &d{X%% Orc d}d}d} t||}n,#t$r|dkrtd|dzdfcYSwxYw|dz }d|cxkrdkr nn|dz }n;d|cxkrdkr nn|d z }n%|dkrtd ||dz z|dfSt||} |||zz }|| kr||fS|d | z z}|dz }) Nrrstrictzincomplete punicode stringAZ09z Invalid extended code point '%s'r()r IndexError UnicodeErrorr-) rextposr,errorsr"wr+rdigitr1s rdecode_generalized_numberrUsg2 F A A $x'((DD $ $ $!!"#?@@@A:t# # # # $ !  4    4     4KEE T ! ! ! !T ! ! ! ! !2IEE x  A!)&(!3 455 54<  aJJ%!) 1996> ! aL Q-s &A A c d}d}d}d}|t|krt||||\}}||S||dzz }||t|dzzz }|dkr'|dkrtd|ztd }|t|dzz}|d|t |z||dz}t ||dkt|}|}|t|k|S) Nrrr<rrirIzInvalid character U+%x?)rrUrPrchrr:) r rrRrrr,rQnewposr%s rinsertion_sortrZs % D C D F 3x== 1(F26@@  =K uQw D A && (??!!"#;d#BCCCs88DSYY]#DSDzCII%STT 2UVq[3t9955! 3x== " Krct|tr|d}t|trt |}|d}|dkr%d}t|d}nFt|d|d|}t||dzdd}t|||S)NasciirErr) isinstancer encode memoryviewr rfindupperrZ)rFrRrr rs rpunycode_decodercs$${{7##$ ##T{{ **T  C byytW%%++--4:w//tCEFF|W--3355 $& 1 11rceZdZddZddZdS)CodecrIcBt|}|t|fSN)rGrselfinputrRrs rr_z Codec.encodese$$CJJrcp|dvrtd|zt||}|t|fSN)rIreplaceignorezUnsupported error handling )rPrcrrhs rdecodez Codec.decodesA 8 8 8rs   ! ! !$, 1         <2 2 2 2     FL   &&&&&2&&&333332333      5,        5,       rPKUe[k[[euc_jp.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Neuc_jpc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode)/usr/lib64/python3.11/encodings/euc_jp.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_jpr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP H%%FL82825#3V5H5#3V5H     r PKUe[ (raw_unicode_escape.cpython-311.opt-2.pycnu[ !A?h4 ddlZGddejZGddejZGddejZGdd eejZGd d eejZd ZdS) Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecsraw_unicode_escape_encodeencoderaw_unicode_escape_decodedecode5/usr/lib64/python3.11/encodings/raw_unicode_escape.pyrr s  -F  -FFFrrceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rr errors)selfinputfinals rr zIncrementalEncoder.encodes/t{CCAFFrN)F)rrrr r rrrrs.GGGGGGrrceZdZdZdS)IncrementalDecoderc.tj|||S)Nrr )rrrrs r_buffer_decodez!IncrementalDecoder._buffer_decode/vuEEErN)rrrrr rrrrs(FFFFFrrceZdZdS) StreamWriterN)rrrr rrrrsDrrceZdZddZdS) StreamReaderstrictc.tj||dS)NFr)rrrs rr zStreamReader.decode rrN)r!)rrrr r rrr r s.FFFFFFrr c tjdtjtjt t ttS)Nzraw-unicode-escape)namer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrrr r rr getregentryr*%s5   !||--!!   r)rrrBufferedIncrementalDecoderrrr r*r rrr,s* .....FL...GGGGG2GGGFFFFF:FFF     5,   FFFFF5,FFF     rPKUe[,YYjohab.cpython-311.opt-1.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Njohabc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode(/usr/lib64/python3.11/encodings/johab.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_krr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP G$$FL82825#3V5H5#3V5H     r PKUe[~׈(lliso2022_jp_2.cpython-311.pycnu[ !A?h%6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jp_2c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/iso2022_jp_2.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  00FL82825#3V5H5#3V5H     r PKUe[LLmbcs.cpython-311.opt-2.pycnu[ !A?h ddlmZmZddlZeZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)) mbcs_encode mbcs_decodeNstrictc$t||dS)NT)r)inputerrorss '/usr/lib64/python3.11/encodings/mbcs.pydecoder s ufd + ++ceZdZddZdS)IncrementalEncoderFc8t||jdS)Nr)rr)selfrfinals r encodezIncrementalEncoder.encodes5$+..q11r N)F)__name__ __module__ __qualname__rr r r r s(222222r r ceZdZeZdS)IncrementalDecoderN)rrrr_buffer_decoderr r rrs NNNr rceZdZeZdS) StreamWriterN)rrrrrrr r rr FFFr rceZdZeZdS) StreamReaderN)rrrrr rr r rr!rr rc ttjdtttt t tS)Nmbcs)namerr incrementalencoderincrementaldecoder streamreader streamwriter)codecs CodecInforr r rrrrr r getregentryr'&s1   --!!   r )r) r%rrrr r BufferedIncrementalDecoderrrrr'rr r r)s,+++++++  ,,,,222222222!!!!!:!!!6&6&     r PKUe[r+sP F##FL82825#3V5H5#3V5H     r PKUe[r+sP F##FL82825#3V5H5#3V5H     r PKUe[3hh iso2022_kr.cpython-311.opt-2.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_krc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode-/usr/lib64/python3.11/encodings/iso2022_kr.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  ..FL82825#3V5H5#3V5H     r PKUe[|jcharmap.cpython-311.opt-2.pycnu[ !A?h$ ddlZGddejZGddejZGddejZGdd eejZGd d eejZd ZdS) Nc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecscharmap_encodeencodecharmap_decodedecode*/usr/lib64/python3.11/encodings/charmap.pyrrs  "F  "FFFrrceZdZddZddZdS)IncrementalEncoderstrictNcTtj||||_dSN)rr__init__mappingselferrorsrs rrzIncrementalEncoder.__init__&!**4888 rFcNtj||j|jdSNr)rr rrrinputfinals rr zIncrementalEncoder.encode $UDKFFqIIrrNFrrrrr r rrrrBJJJJJJrrceZdZddZddZdS)IncrementalDecoderrNcTtj||||_dSr)rr&rrrs rrzIncrementalDecoder.__init__!rrFcNtj||j|jdSr)rr rrrs rr zIncrementalDecoder.decode%r rr!r"rrrrr r rrr&r& r$rr&ceZdZddZddZdS) StreamWriterrNcVtj|||||_dSr)rr+rrrstreamrrs rrzStreamWriter.__init__*($$T&888 rcDt|||jSr)rr rrrrs rr zStreamWriter.encode.||E&666rr!rr#r rrr+r+(<777777rr+ceZdZddZddZdS) StreamReaderrNcVtj|||||_dSr)rr6rrr-s rrzStreamReader.__init__3r/rcDt|||jSr)rr rr1s rr zStreamReader.decode7r2rr!r3r)r rrr6r61r4rr6c tjdtjtjt t ttS)Ncharmap)namer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rr&r+r6r rr getregentryrA<s5   ||--!!   r)rrrr&r+r6rAr rrrBs"  #####FL###JJJJJ2JJJJJJJJ2JJJ777775,777777775,777     rPKUe[ SShz.cpython-311.pycnu[ !A?h6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)Nhzc*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode%/usr/lib64/python3.11/encodings/hz.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r ) _codecs_cnr _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP D!!FL82825#3V5H5#3V5H     r PKUe[)--idna.cpython-311.opt-1.pycnu[ !A?h#,ddlZddlZddlZddlmZejdZdZdZdZ dZ dZ Gd d ej Z Gd d ej ZGd dejZGdde ejZGdde ejZdZdS)N) ucd_3_2_0u [.。.。]sxn--zxn--c:g}|D]>}tj|r|tj|?d|}t jd|}|D]}tj|stj|stj |sxtj |sdtj |sPtj |sznameprep..)s# 7 7 7Aj$Q'' 7 7 7c3>K|]}tj|VdS)N)r in_table_d2r s r znameprep..1s-88Qz%a((888888rzViolation of BIDI requirement 2rzViolation of BIDI requirement 3)r in_table_b1append map_table_b2join unicodedata normalize in_table_c12 in_table_c22 in_table_c3 in_table_c4 in_table_c5 in_table_c6 in_table_c7 in_table_c8 in_table_c9 UnicodeErrorany)labelnewlabelcRandALs rnameprepr*sH 44  !! $ $   /223333 GGH  E  !&% 0 0E ; ;  "1 % % ;  "1 % % ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;  !! $ $ ;59:: : ;8 7 7 7 7F 6{{B 88%888 8 8 B@AA A ay Br  B@AA A Lrc\ |d}dt|cxkrdkrnn|Std#t$rYnwxYwt|} |d}dt|cxkrdkrnn|Std#t$rYnwxYw|t rtd|d}t |z}dt|cxkrdkrnn|Std)Nasciir@label empty or too longzLabel starts with ACE prefixpunycode)encodelenr$r* startswith sace_prefix ace_prefix)r&s rToASCIIr5<s 6 W%% s5zz    B     L4555       UOOE6 W%% s5zz    B     L4555        $$;9::: LL $ $E  E 3u:: 0 1 11s#A AA%B(( B54B5ctt|trd}n+ |d}d}n#t$rd}YnwxYw|sCt |} |d}n#t$rtdwxYw|t st|dS|tt d}| d}t|}t|d t|dkrtd|||S)NTr,FzInvalid character in IDN labelr/zIDNA does not round-trip) isinstancebytesr0r$r*r2r4strr1decoder5lower)r& pure_asciilabel1resultlabel2s r ToUnicoder@gs^%  LL))EJJ   JJJ  A ALL))EE A A A?@@ @ A   J ' '#5'"""3z??## $F]]: & &FV__F 5'  ""c&'&:&:::5ufEEE Ms2 AAA,,BceZdZddZddZdS)Codecstrictc|dkrtd|z|sdS |d}|d}|ddD]-}dt|cxkrdksntd .t|ddkrtd |t|fS#t$rYnwxYwt }t |}|r|dsd}|d=nd }|D];}|r|d|t|labelsr& trailing_dots rr0z Codec.encodes X  r&s rr:z Codec.decodes/ X  sizer&s r_buffer_encodez!IncrementalEncoder._buffer_encodes X  d||z}|t|z }||fS) NrCrSrTr,rUrrrr]) r$r7r9rKrHrr@r1rr^s r_buffer_decodez!IncrementalDecoder._buffer_decodesB X  rzs000000rz.//  ,,,\)2)2)2V%%%RF9F9F9F9F9FLF9F9F9P!%!%!%!%!%:!%!%!%F%%%%%:%%%N     5,        5,       rPKUe[Rr undefined.cpython-311.opt-2.pycnu[ !A?h ddlZGddejZGddejZGddejZGdd eejZGd d eejZd ZdS) NceZdZddZddZdS)Codecstrictc tdNzundefined encoding UnicodeErrorselfinputerrorss ,/usr/lib64/python3.11/encodings/undefined.pyencodez Codec.encode/000c tdrrr s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrrs<1111111111rrceZdZddZdS)IncrementalEncoderFc tdrrr r finals rrzIncrementalEncoder.encoderrNF)rrrrrrrrr(111111rrceZdZddZdS)IncrementalDecoderFc tdrrrs rrzIncrementalDecoder.decoderrNr)rrrrrrrr r rrr ceZdZdS) StreamWriterNrrrrrrr#r# Drr#ceZdZdS) StreamReaderNr$rrrr'r'#r%rr'c tjdtjtjt t ttS)N undefined)namerrincrementalencoderincrementaldecoder streamwriter streamreader) codecs CodecInforrrrr r#r'rrr getregentryr1(s=   ww~ww~--!!   r)r/rrr r#r'r1rrrr2s  11111FL111111112111111112111     5,        5,       rPKUe[r+sP F##FL82825#3V5H5#3V5H     r PKUe[P/v v "base64_codec.cpython-311.opt-1.pycnu[ !A?hdZddlZddlZddZddZGddejZGdd ejZGd d ejZGd d eejZGddeej Z dZ dS)zPython 'base64_codec' Codec - base64 content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcHtj|t|fSN)base64 encodebytesleninputerrorss //usr/lib64/python3.11/encodings/base64_codec.py base64_encoder   u % %s5zz 22cHtj|t|fSr)r decodebytesrr s r base64_decoderrrceZdZddZddZdS)Codecrc"t||Sr)r selfr r s r encodez Codec.encodeUF+++rc"t||Sr)rrs r decodez Codec.decoderrNr)__name__ __module__ __qualname__rrrr rrs<,,,,,,,,,,rrceZdZddZdS)IncrementalEncoderFc*tj|Sr)rrrr finals r rzIncrementalEncoder.encode!%(((rNF)rrrrr rr r"r"())))))rr"ceZdZddZdS)IncrementalDecoderFc*tj|Sr)rrr$s r rzIncrementalDecoder.decode!r&rNr')rrrrr rr r*r* r(rr*ceZdZeZdS) StreamWriterNrrrbytescharbuffertyper rr r-r-%NNNrr-ceZdZeZdS) StreamReaderNr.r rr r3r3(r1rr3c vtjdtttt t tdS)NrF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor rr"r*r-r3r rr getregentryr=-s4   --!!    rr) __doc__r;rr rrr"r*r-r3r=r rr r?sH 33333333,,,,,FL,,, )))))2))) )))))2))) 5&-5&-     rPKUe[&4i1i1aliases.cpython-311.opt-1.pycnu[ !A?h== dZiddddddddddddddd dd dd dd dd dddddddddddiddddddddddddddddd dd!dd"d#d$d#d%d#d&d'd(d'd)d'd*d'id+d,d-d,d.d/d0d/d1d2d3d2d4d5d6d5d7d8d9d8d:d;dd?d>d@dAdBdAdCdDidEdDdFdGdHdGdIdJdKdJdLdJdMdNdOdNdPdNdQdNdRdSdTdSdUdSdVdWdXdWdYdWdZdWid[dWd\d]d^d]d_d]d`dadbdadcdadddedfdedgdedhdidjdidkdidldmdndmdodmdpdqidrdqdsdqdtdudvdudwdudxdydzdyd{dyd|dyd}d~dd~dd~ddddddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddēddƓddƓddƓddƓiddƓdd̓dd̓dd̓ddГddГddГddԓddԓddדddדddړddړddݓddݓddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddd dd dd did dd dddddddddddddddddddddddddddddddid dd!d"d#d"d$d"d%d"d&d"d'd"d(d"d)d*d+d*d,d*d-d*d.d*d/d*d0d*d1d*d2d3id4d3d5d3d6d3d7d3d8d9d:d9d;d9d<d9d=d9d>d9d?d@dAd@dBdCdDdEdFdEdGdEdHdIidJdIdKdIdLdIdMdIdNdIdOdIdPdIdQdIdRdIdSdIdTdIdUdVdWdXdYdZd[d\d]d\d^d\id_d`dad`dbdcdddedfdedgdhdidhdjdhdkdhdldmdndmdodmdpdqdrdsdtdsdudsdvdsidwdxdydxdzdxd{d|d}d|d~d|ddddddddddddddddddddddiddddddddddddddddddddddddddddddddddsddddZdS(a< Encoding Aliases Support This module is used by the encodings package search function to map encodings names to module names. Note that the search function normalizes the encoding names before doing the lookup, so the mapping will have to map normalized encoding names to module names. Contents: The following aliases dictionary contains mappings of all IANA character set names for which the Python core library provides codecs. In addition to these, a few Python specific codec aliases have also been added. 646asciizansi_x3.4_1968ansi_x3_4_1968zansi_x3.4_1986cp367csasciiibm367 iso646_usziso_646.irv_1991iso_ir_6usus_asciibase64 base64_codecbase_64big5_twbig5csbig5 big5_hkscs big5hkscshkscsbz2 bz2_codec037cp037csibm037 ebcdic_cp_ca ebcdic_cp_nl ebcdic_cp_us ebcdic_cp_wtibm037ibm0391026cp1026 csibm1026ibm10261125cp1125ibm1125cp866uruscii1140cp1140ibm11401250cp1250 windows_12501251cp1251 windows_12511252cp1252 windows_12521253cp1253 windows_12531254cp1254 windows_12541255cp1255 windows_12551256cp1256 windows_12561257cp1257 windows_12571258cp1258 windows_1258273cp273ibm273csibm273424cp424csibm424 ebcdic_cp_heibm424437cp437cspc8codepage437ibm437500cp500csibm500 ebcdic_cp_be ebcdic_cp_chibm500775cp775 cspc775balticibm775850cp850cspc850multilingualibm850852cp852cspcp852ibm852855cp855csibm855ibm855857cp857csibm857ibm857858cp858csibm858ibm858860cp860csibm860ibm860861cp861cp_iscsibm861ibm861862cp862cspc862latinhebrewibm862863cp863csibm863ibm863864cp864csibm864ibm864865cp865csibm865ibm865866cp866csibm866ibm866869cp869cp_grcsibm869ibm869932cp932ms932mskanjims_kanji949cp949ms949uhc950cp950ms950jisx0213 euc_jis_2004 eucjis2004 euc_jis2004 eucjisx0213 euc_jisx0213eucjpeuc_jpujisu_jiseuckreuc_krkoreanksc5601 ks_c_5601ks_c_5601_1987ksx1001 ks_x_1001 gb18030_2000gb18030chinesegb2312csiso58gb231280euc_cneuccn eucgb2312_cn gb2312_1980 gb2312_80 iso_ir_58936gbkcp936ms936hex hex_codecroman8 hp_roman8r8 csHPRoman8cp1051ibm1051hzgbhzhz_gb hz_gb_2312 csiso2022jp iso2022_jp iso2022jp iso_2022_jp iso2022jp_1 iso2022_jp_1 iso_2022_jp_1 iso2022jp_2 iso2022_jp_2 iso_2022_jp_2iso_2022_jp_2004iso2022_jp_2004iso2022jp_2004 iso2022jp_3 iso2022_jp_3 iso_2022_jp_3 iso2022jp_extiso2022_jp_extiso_2022_jp_ext csiso2022kr iso2022_kr iso2022kr iso_2022_kr csisolatin6 iso8859_10 iso_8859_10iso_8859_10_1992 iso_ir_157l6latin6thai iso8859_11 iso_8859_11iso_8859_11_2001 iso_8859_13 iso8859_13l7latin7 iso_8859_14 iso8859_14iso_8859_14_1998 iso_celtic iso_ir_199l8latin8 iso_8859_15 iso8859_15l9latin9 iso_8859_16 iso8859_16iso_8859_16_2001 iso_ir_226l10latin10 csisolatin2 iso8859_2 iso_8859_2iso_8859_2_1987 iso_ir_101l2latin2 csisolatin3 iso8859_3 iso_8859_3iso_8859_3_1988 iso_ir_109l3latin3 csisolatin4 iso8859_4 iso_8859_4iso_8859_4_1988 iso_ir_110l4latin4csisolatincyrillic iso8859_5cyrillic iso_8859_5iso_8859_5_1988 iso_ir_144arabic iso8859_6asmo_708csisolatinarabicecma_114 iso_8859_6iso_8859_6_1987 iso_ir_127csisolatingreek iso8859_7ecma_118elot_928greekgreek8 iso_8859_7iso_8859_7_1987 iso_ir_126csisolatinhebrew iso8859_8hebrew iso_8859_8iso_8859_8_1988 iso_ir_138 csisolatin5 iso8859_9 iso_8859_9iso_8859_9_1989 iso_ir_148l5latin5cp1361johabms1361cskoi8rkoi8_rkz_1048kz1048rk1048 strk1048_20028859latin_1cp819 csisolatin1ibm819iso8859 iso8859_1 iso_8859_1iso_8859_1_1987 iso_ir_100l1latinlatin1 maccyrillic mac_cyrillicmacgreek mac_greek maciceland mac_icelandmaccentraleurope mac_latin2 mac_centeuro maclatin2 macintosh mac_romanmacroman macturkish mac_turkishansimbcsdbcs csptcp154ptcp154pt154cp154cyrillic_asianquopri quopri_codecquoted_printablequotedprintablerot13rot_13 csshiftjis shift_jisshiftjissjiss_jis shiftjis2004shift_jis_2004 sjis_2004 s_jis_2004 shiftjisx0213shift_jisx0213 sjisx0213 s_jisx0213tis620tis_620 tis_620_0tis_620_2529_0tis_620_2529_1 iso_ir_166u16utf_16utf16unicodebigunmarked utf_16_beutf_16beunicodelittleunmarked utf_16_leutf_16leu32utf_32utf32utf_32be utf_32_beutf_32le utf_32_leu7utf_7utf7unicode_1_1_utf_7u8utf_8utfutf8 utf8_ucs2 utf8_ucs4cp65001uuuu_codeczip zlib_codeczlibx_mac_japanese) x_mac_koreanx_mac_simp_chinesex_mac_trad_chineseN)__doc__aliases*/usr/lib64/python3.11/encodings/aliases.pyrs"U   7 U  7 U 7U 7U  7U 7U  7U 7U 7U 7U  7U  7!U & >'U (>)U .6/U 0 61U 6;7U U 8 ;9U > ;?U D 7EU F7GU H7IU J7KU L7MU N7OU P 7QU R 7SU X 8YU Z8[U \8]U b HcU dHeU f HgU h HiU U U n 8oU p8qU v 8wU x8yU ~ 8U @8AU F 8GU H8IU N 8OU P8QU V 8WU X8YU ^ 8_U `8aU f 8gU h8iU n 8oU U U p8qU v 8wU x8yU ~ 7U @ 7AU B7CU H 7IU J7KU L7MU N 7OU T 7UU V7WU X 7YU ^ 7_U `7aU b7cU d7eU U U f 7gU l 7mU n7oU p 7qU v 7wU xGyU z 7{U @ 7AU B7CU D 7EU J 7KU L7MU N 7OU T 7UU V7WU X 7YU ^ 7_U U U `7aU b 7cU h 7iU j7kU l 7mU r 7sU t 7uU v7wU x 7yU ~ 7U @7AU B 7CU H 7IU J7KU L 7MU R 7SU T7UU U U V 7WU \ 7]U ^7_U ` 7aU f 7gU h7iU j 7kU p 7qU r 7sU t7uU v 7wU | 7}U ~ 7U @7AU B7CU H 7IU J 7KU U U L 7MU R 7SU T 7UU Z>[U \>]U ^>_U d>eU j 8kU l 8mU n 8oU t 8uU v 8wU x8yU z8{U |8}U ~8U @8AU U U F9GU L8MU N8OU P 8QU R 8SU T8UU V8WU X8YU Z8[U ` 5aU b 5cU d 5eU j ;kU p ;qU r ;sU t;uU v ;wU U U x;yU ~ 4U @ 4AU B4CU HSU T>UU Z>[U \>]U b,cU d,eU j>kU l>mU r+sU t+uU U U z<{U |<}U ~<U D S U X ;Y U ^ =_ U d QU R>SU T>UU Z 8[U `;aU b;cU d ;eU f ;gU U U l+mU n+oU p+qU v+wU x+yU z+{U @ 9AU B9CU D9EU F9GU H9IU N 8OU P 8QU V;WU X;YU ^k_U `;aU U U f 8gU h 8iU n;oU t;uU z 7{U | 7}U ~7U D 7EU F 7GU H 7IU J7KU L7MU N7OU T :UU Z <[U \ <]U bKcU U d%$"iU U U rPKUe[rutf_32_be.cpython-311.pycnu[ !A?hdZddlZejZddZGddejZGddejZGd d ejZGd d ej Z d Z dS)z Python 'utf-32-be' Codec Nstrictc.tj||dS)NT)codecsutf_32_be_decode)inputerrorss ,/usr/lib64/python3.11/encodings/utf_32_be.pydecoder s  "5&$ 7 77ceZdZddZdS)IncrementalEncoderFcBtj||jdS)Nr)rutf_32_be_encoder)selfrfinals r encodezIncrementalEncoder.encodes&udk::1==r N)F)__name__ __module__ __qualname__rr r r r s(>>>>>>r r ceZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoderr r rrs,NNNr rceZdZejZdS) StreamWriterN)rrrrrrrr r rr  $FFFr rceZdZejZdS) StreamReaderN)rrrrrr rr r rrrr rc ttjdtttt t tS)Nz utf-32-be)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r rrrrr r getregentryr&s1   --!!   r )r) __doc__rrrr r BufferedIncrementalDecoderrrrr&rr r r)s   8888>>>>>2>>>-----:---%%%%%6&%%%%%%%%6&%%%     r PKUe[Ԥ'll"iso2022_jp_3.cpython-311.opt-2.pycnu[ !A?h%6ddlZddlZddlZejdZGddejZGddejejZGddej ej Z Gd d eej ej Z Gd d eej ejZd ZdS)N iso2022_jp_3c*eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecode//usr/lib64/python3.11/encodings/iso2022_jp_3.pyrr s \F \FFFr rceZdZeZdS)IncrementalEncoderNrrrr r r rrr EEEr rceZdZeZdS)IncrementalDecoderNrr r rrrrr rceZdZeZdS) StreamReaderNrr r rrr EEEr rceZdZeZdS) StreamWriterNrr r rrrrr rc tjdtjtjt t ttS)Nr)namer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r getregentryr"s=   ww~ww~--!!   r )_codecs_iso2022r _multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr"r r rr+sP  00FL82825#3V5H5#3V5H     r PKUe[#R""has_key.cpython-311.opt-1.pycnu[ !A?h ddlZiejdejdejdejdejdejdejdejd ej d ej d ej d ej d ej dejdejdejdejdiejdejdejdejdejdejdejdejdejdejdejdejdejdejd ej d!ej!d"ej"d#iej#d$ej$d%ej%d&ej&d'ej'd(ej(d)ej)d*ej*d+ej+d,ej,d-ej-d.ej.d/ej/d0ej0d1ej1d2ej2d3ej3d4iej4d5ej5d6ej6d7ej7d8ej8d9ej9d:ej:d;ej;d<ej<d=ej=d>ej>d?ej?d@ej@dAejAdBejBdCejCdDejDdEiejEdFejFdGejGdHejHdIejIdJejJdKejKdLejLdMejMdNejNdOejOdPejPdQejQdRejRdSejSdTejTdUejUdViejVdWejWdXejXdYejYdZejZd[ej[d\ej\d]ej]d^ej^d_ej_d`ej`daejadbejbdcejcddejddeejedfejfdgiejgdhejhdiejidjejjdkejkdlejldmejmdnejndoejodpejpdqejqdrejrdsejsdtejtduejudvejvdwejwdxiejxdyejydzejzd{ej{d|ej|d}ej}d~ej~dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdi ZdZedkr gZejeD]LZejeZeeZeekr)edejeeefzM ejeD] ZeedS#ejeD] ZeewxYwdS)Nka1ka3kb2kbskbegkcbtkc1kc3kcanktbckclrkclokcmdkcpykcrtkctabkdch1kdl1kcud1krmirkendkentkelkedkextkf0kf1kf10kf11kf12kf13kf14kf15kf16kf17kf18kf19kf2kf20kf21kf22kf23kf24kf25kf26kf27kf28kf29kf3kf30kf31kf32kf33kf34kf35kf36kf37kf38kf39kf4kf40kf41kf42kf43kf44kf45kf46kf47kf48kf49kf5kf50kf51kf52kf53kf54kf55kf56kf57kf58kf59kf6kf60kf61kf62kf63kf7kf8kf9kfndkhlpkhomekich1kil1kcub1kllkmrkkmsgkmovknxtknpkopnkoptkppkprvkprtkrdokrefkrfrkrplkrstkreskcuf1ksavkBEGkCANkCMDkCPYkCRTkDCkDLksltkENDkEOLkEXTkindkFNDkHLPkHOMkICkLFTkMSGkMOVkNXTkOPTkPRVkPRTkrikRDOkRPLkRITkRESkSAVkSPDkhtskUNDkspdkundkcuu1ct|trt|}t|}|dSt j|rdSdS)NFT) isinstancestrord_capability_namesget_cursestigetstr)chcapability_names '/usr/lib64/python3.11/curses/has_key.pyhas_keyrs^"c WW(++B//Ou**tu__main__z)Mismatch for key %s, system=%i, Python=%i)rKEY_A1KEY_A3KEY_B2 KEY_BACKSPACEKEY_BEGKEY_BTABKEY_C1KEY_C3 KEY_CANCEL KEY_CATAB KEY_CLEAR KEY_CLOSE KEY_COMMANDKEY_COPY KEY_CREATEKEY_CTABKEY_DCKEY_DLKEY_DOWNKEY_EICKEY_END KEY_ENTERKEY_EOLKEY_EOSKEY_EXITKEY_F0KEY_F1KEY_F10KEY_F11KEY_F12KEY_F13KEY_F14KEY_F15KEY_F16KEY_F17KEY_F18KEY_F19KEY_F2KEY_F20KEY_F21KEY_F22KEY_F23KEY_F24KEY_F25KEY_F26KEY_F27KEY_F28KEY_F29KEY_F3KEY_F30KEY_F31KEY_F32KEY_F33KEY_F34KEY_F35KEY_F36KEY_F37KEY_F38KEY_F39KEY_F4KEY_F40KEY_F41KEY_F42KEY_F43KEY_F44KEY_F45KEY_F46KEY_F47KEY_F48KEY_F49KEY_F5KEY_F50KEY_F51KEY_F52KEY_F53KEY_F54KEY_F55KEY_F56KEY_F57KEY_F58KEY_F59KEY_F6KEY_F60KEY_F61KEY_F62KEY_F63KEY_F7KEY_F8KEY_F9KEY_FINDKEY_HELPKEY_HOMEKEY_ICKEY_ILKEY_LEFTKEY_LLKEY_MARK KEY_MESSAGEKEY_MOVEKEY_NEXT KEY_NPAGEKEY_OPEN KEY_OPTIONS KEY_PPAGE KEY_PREVIOUS KEY_PRINTKEY_REDO KEY_REFERENCE KEY_REFRESH KEY_REPLACE KEY_RESTART KEY_RESUME KEY_RIGHTKEY_SAVEKEY_SBEG KEY_SCANCEL KEY_SCOMMAND KEY_SCOPY KEY_SCREATEKEY_SDCKEY_SDL KEY_SELECTKEY_SENDKEY_SEOL KEY_SEXITKEY_SF KEY_SFIND KEY_SHELP KEY_SHOMEKEY_SIC KEY_SLEFT KEY_SMESSAGE KEY_SMOVE KEY_SNEXT KEY_SOPTIONS KEY_SPREVIOUS KEY_SPRINTKEY_SR KEY_SREDO KEY_SREPLACE KEY_SRIGHT KEY_SRSUME KEY_SSAVE KEY_SSUSPENDKEY_STAB KEY_SUNDO KEY_SUSPENDKEY_UNDOKEY_UPrr__name__LinitscrkeyskeysystempythonappendkeynameendwiniprintrrrHs  V NEV NEV NEV 5 V  OV V  f V NEV NEV V vV vV vV V fV V  g!V" NG#VV$ NF%V& g'V( OW)V* OV+V, v-V. OU/V0 OU1V2 f3V4 NE5V6 NE7V8 OV9V: OV;V< OV=V> OV?V@ OVAVB OVCVD OVEVVVF OVGVH OVIVJ OVKVL NEMVN OVOVP OVQVR OVSVT OVUVV OVWVX OVYVZ OV[V\ OV]V^ OV_V` OVaVb NEcVd OVeVf OVgVVVh OViVj OVkVl OVmVn OVoVp OVqVr OVsVt OVuVv OVwVx NEyVz OV{V| OV}V~ OVV@ OVAVB OVCVD OVEVF OVGVH OVIVVVJ OVKVL OVMVN NEOVP OVQVR OVSVT OVUVV OVWVX OVYVZ OV[V\ OV]V^ OV_V` OVaVb OVcVd NEeVf OVgVh OViVj OVkVVVl OVmVn NEoVp NEqVr NEsVt fuVv fwVx gyVz NG{V| NF}V~ gV@ NEAVB fCVD EVF fGVH fIVJ uKVL fMVVVN OVP uQVR &SVT vUVV fWVX 6YVZ [V\ ]V^ _V` aVb wcVd feVf fgVh iVj &kVl vmVn oVVVp OUqVr OUsVt uVv fwVx fyVz v{V| NF}V~ vV@ vAVB vCVD OUEVF vGVH &IVJ vKVL vMVN &OVP 6QVVR  NE v &   v & f v  f NGkVVp  z  $))++ G GC$W_S))FWS\\FE,W_c33VVDEGGG  G AEE!HHHH AEE!HHHHs r s# rPKUe[panel.cpython-311.opt-2.pycnu[ !A?hW ddlTdS))*N) _curses_panel%/usr/lib64/python3.11/curses/panel.pyrs rPKUe[#R""has_key.cpython-311.opt-2.pycnu[ !A?h ddlZiejdejdejdejdejdejdejdejd ej d ej d ej d ej d ej dejdejdejdejdiejdejdejdejdejdejdejdejdejdejdejdejdejdejd ej d!ej!d"ej"d#iej#d$ej$d%ej%d&ej&d'ej'd(ej(d)ej)d*ej*d+ej+d,ej,d-ej-d.ej.d/ej/d0ej0d1ej1d2ej2d3ej3d4iej4d5ej5d6ej6d7ej7d8ej8d9ej9d:ej:d;ej;d<ej<d=ej=d>ej>d?ej?d@ej@dAejAdBejBdCejCdDejDdEiejEdFejFdGejGdHejHdIejIdJejJdKejKdLejLdMejMdNejNdOejOdPejPdQejQdRejRdSejSdTejTdUejUdViejVdWejWdXejXdYejYdZejZd[ej[d\ej\d]ej]d^ej^d_ej_d`ej`daejadbejbdcejcddejddeejedfejfdgiejgdhejhdiejidjejjdkejkdlejldmejmdnejndoejodpejpdqejqdrejrdsejsdtejtduejudvejvdwejwdxiejxdyejydzejzd{ej{d|ej|d}ej}d~ej~dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdi ZdZedkr gZejeD]LZejeZeeZeekr)edejeeefzM ejeD] ZeedS#ejeD] ZeewxYwdS)Nka1ka3kb2kbskbegkcbtkc1kc3kcanktbckclrkclokcmdkcpykcrtkctabkdch1kdl1kcud1krmirkendkentkelkedkextkf0kf1kf10kf11kf12kf13kf14kf15kf16kf17kf18kf19kf2kf20kf21kf22kf23kf24kf25kf26kf27kf28kf29kf3kf30kf31kf32kf33kf34kf35kf36kf37kf38kf39kf4kf40kf41kf42kf43kf44kf45kf46kf47kf48kf49kf5kf50kf51kf52kf53kf54kf55kf56kf57kf58kf59kf6kf60kf61kf62kf63kf7kf8kf9kfndkhlpkhomekich1kil1kcub1kllkmrkkmsgkmovknxtknpkopnkoptkppkprvkprtkrdokrefkrfrkrplkrstkreskcuf1ksavkBEGkCANkCMDkCPYkCRTkDCkDLksltkENDkEOLkEXTkindkFNDkHLPkHOMkICkLFTkMSGkMOVkNXTkOPTkPRVkPRTkrikRDOkRPLkRITkRESkSAVkSPDkhtskUNDkspdkundkcuu1ct|trt|}t|}|dSt j|rdSdS)NFT) isinstancestrord_capability_namesget_cursestigetstr)chcapability_names '/usr/lib64/python3.11/curses/has_key.pyhas_keyrs^"c WW(++B//Ou**tu__main__z)Mismatch for key %s, system=%i, Python=%i)rKEY_A1KEY_A3KEY_B2 KEY_BACKSPACEKEY_BEGKEY_BTABKEY_C1KEY_C3 KEY_CANCEL KEY_CATAB KEY_CLEAR KEY_CLOSE KEY_COMMANDKEY_COPY KEY_CREATEKEY_CTABKEY_DCKEY_DLKEY_DOWNKEY_EICKEY_END KEY_ENTERKEY_EOLKEY_EOSKEY_EXITKEY_F0KEY_F1KEY_F10KEY_F11KEY_F12KEY_F13KEY_F14KEY_F15KEY_F16KEY_F17KEY_F18KEY_F19KEY_F2KEY_F20KEY_F21KEY_F22KEY_F23KEY_F24KEY_F25KEY_F26KEY_F27KEY_F28KEY_F29KEY_F3KEY_F30KEY_F31KEY_F32KEY_F33KEY_F34KEY_F35KEY_F36KEY_F37KEY_F38KEY_F39KEY_F4KEY_F40KEY_F41KEY_F42KEY_F43KEY_F44KEY_F45KEY_F46KEY_F47KEY_F48KEY_F49KEY_F5KEY_F50KEY_F51KEY_F52KEY_F53KEY_F54KEY_F55KEY_F56KEY_F57KEY_F58KEY_F59KEY_F6KEY_F60KEY_F61KEY_F62KEY_F63KEY_F7KEY_F8KEY_F9KEY_FINDKEY_HELPKEY_HOMEKEY_ICKEY_ILKEY_LEFTKEY_LLKEY_MARK KEY_MESSAGEKEY_MOVEKEY_NEXT KEY_NPAGEKEY_OPEN KEY_OPTIONS KEY_PPAGE KEY_PREVIOUS KEY_PRINTKEY_REDO KEY_REFERENCE KEY_REFRESH KEY_REPLACE KEY_RESTART KEY_RESUME KEY_RIGHTKEY_SAVEKEY_SBEG KEY_SCANCEL KEY_SCOMMAND KEY_SCOPY KEY_SCREATEKEY_SDCKEY_SDL KEY_SELECTKEY_SENDKEY_SEOL KEY_SEXITKEY_SF KEY_SFIND KEY_SHELP KEY_SHOMEKEY_SIC KEY_SLEFT KEY_SMESSAGE KEY_SMOVE KEY_SNEXT KEY_SOPTIONS KEY_SPREVIOUS KEY_SPRINTKEY_SR KEY_SREDO KEY_SREPLACE KEY_SRIGHT KEY_SRSUME KEY_SSAVE KEY_SSUSPENDKEY_STAB KEY_SUNDO KEY_SUSPENDKEY_UNDOKEY_UPrr__name__LinitscrkeyskeysystempythonappendkeynameendwiniprintrrrHs  V NEV NEV NEV 5 V  OV V  f V NEV NEV V vV vV vV V fV V  g!V" NG#VV$ NF%V& g'V( OW)V* OV+V, v-V. OU/V0 OU1V2 f3V4 NE5V6 NE7V8 OV9V: OV;V< OV=V> OV?V@ OVAVB OVCVD OVEVVVF OVGVH OVIVJ OVKVL NEMVN OVOVP OVQVR OVSVT OVUVV OVWVX OVYVZ OV[V\ OV]V^ OV_V` OVaVb NEcVd OVeVf OVgVVVh OViVj OVkVl OVmVn OVoVp OVqVr OVsVt OVuVv OVwVx NEyVz OV{V| OV}V~ OVV@ OVAVB OVCVD OVEVF OVGVH OVIVVVJ OVKVL OVMVN NEOVP OVQVR OVSVT OVUVV OVWVX OVYVZ OV[V\ OV]V^ OV_V` OVaVb OVcVd NEeVf OVgVh OViVj OVkVVVl OVmVn NEoVp NEqVr NEsVt fuVv fwVx gyVz NG{V| NF}V~ gV@ NEAVB fCVD EVF fGVH fIVJ uKVL fMVVVN OVP uQVR &SVT vUVV fWVX 6YVZ [V\ ]V^ _V` aVb wcVd feVf fgVh iVj &kVl vmVn oVVVp OUqVr OUsVt uVv fwVx fyVz v{V| NF}V~ vV@ vAVB vCVD OUEVF vGVH &IVJ vKVL vMVN &OVP 6QVVR  NE v &   v & f v  f NGkVVp  z  $))++ G GC$W_S))FWS\\FE,W_c33VVDEGGG  G AEE!HHHH AEE!HHHHs ???mFE344&#a%Qf cEkBBBs||  """rzContents of text box:) rar curses.asciirrr^rowrapperstrprintreprrbrrrus@@  - - -iiiiiiiiV z### &. & &C E !4499-----rPKUe[{panel.cpython-311.pycnu[ !A?hWdZddlTdS)z3curses.panel Module for using panels with curses. )*N)__doc__ _curses_panel%/usr/lib64/python3.11/curses/panel.pyr s# rPKUe[|))textpad.cpython-311.opt-2.pycnu[ !A?h ddlZddlZdZGddZedkr*dZejeZede edSdS)Nch ||dz|tj||z dz |||dztj||z dz |||dztj||z dz ||dz|tj||z dz |||tj|||tj|||tj|||tj dSN) vlinecurses ACS_VLINEhline ACS_HLINEaddch ACS_ULCORNER ACS_URCORNER ACS_LRCORNER ACS_LLCORNER)winulyulxlrylrxs '/usr/lib64/python3.11/curses/textpad.py rectanglersIIc!eS&*C#IM:::IIc3q5&*C#IM:::IIc3q5&*C#IM:::IIc!eS&*C#IM:::IIc3+,,,IIc3+,,,IIc3+,,,IIc3+,,,,,c>eZdZ d dZdZdZdZdZdZd d Z dS) TextboxFc||_||_|d|_d|_|ddSr)r insert_mode_update_max_yx stripspaceslastcmdkeypad)selfrrs r__init__zTextbox.__init__+sE&   1 rcf|j\}}|dz |_|dz |_dSr)rgetmaxyxmaxymaxx)r r$r%s rrzTextbox._update_max_yx3s3X&&(( d1H 1H rc" ||j} tj|j||tjjkrt|j|dz}n |dkrn|dz }q|S)NTrr)rr%rasciirinchSPmin)r ylasts r _end_of_linezTextbox._end_of_line8s @ y |!!$(--4"8"899V\_LL49d1f--!8D   rc ||j\}}d}||jks ||jkr|jr|j} |j|n#tj $rYnwxYw|jrtj |sn:|}|j\}}|||f}||jk||jk||jj |dSdSN) rrgetyxr$r%rr(r rerrorr'isprintmove)r chr+xbackyxoldchs r_insert_printable_charzTextbox._insert_printable_charFs& !!A$)mmq49}} (  r""""<    # 6<+?+?+F+F BX^^%%FQ~A!$)mmq49}}$   DHM6 " " " "  s*BBBc ||j\}}||_tj|r-||jks ||jkr| |n|tjj kr|j |dn|tjj tj tjjtjfvr|dkr|j ||dz nf|dkrn_|jr5|j |dz ||dz n#|j |dz |j|tjjtjfvr|jn|tjjkr|jnY|tjjkrY|jr0|j |||n |j ||jn|tjjtjfvrX||jkr |j ||dzn||jkrn|j |dzdnt|tjjkrdS|tjjkr8|jdkrdS||jkr|j |dzdn|tjjkrp|dkr4||dkr|jn|j |||jn|tjjkr|jn[|tjjtjfvrz||jkrn|j |dz||||dzkr4|j |dz||dzn|tjj kr|j!n|tjj"tj#fvrt|dkrn|j |dz ||||dz kr4|j |dz ||dz dS)Nrr)$rrr0rrr'r2r$r%r8SOHr3STXKEY_LEFTBS KEY_BACKSPACErr-delchEOTENQACK KEY_RIGHTBELNLVTdeletelnclrtoeolFFrefreshSOKEY_DOWNSIinsertlnDLEKEY_UP)r r4r+r5s r do_commandzTextbox.do_command_s+ !!A <   # #9 ?49}}DI ++B/// 6<# # # HMM!Q     FL$V_flofFZ[ [ [1uu a1%%%%a! . ac4#4#4QqS#9#9:::: ac49---flov';<<<   6<# # # HNN     6<# # # , a!2!21!5!56666 a++++ FL$f&67 7 749}} a1%%%%di ac1%%%% 6<# # #1 6>> 6>>qrc  d}|t|jdzD]}|j|d||}|dkr|jr@t|jdzD]Y}|jr||krnI|ttj |j ||z}Z|jdkr|dz}|S)Nrr ) rranger$rr3r-rr%chrrr'r()r resultr+stopr5s rgatherzTextbox.gathers8 ty{## ' 'A HMM!Q   $$Q''DqyyT-y49Q;'' O O#DE#fl&8&8q!9L9L&M&M"N"NNy1}}$ rNc |j}|r ||}|s*||sn|jY|Sr/)rgetchrQrJrY)r validater4s reditz Textbox.edits{< !!B "Xb\\ ??2&&  H      {{}}r)Fr/) __name__ __module__ __qualname__r!rr-r8rQrYr]rrrrs.   ###2???B"      rr__main__c d\}}d\}}||dz |dtj||||}t||dz |dz ||z||z|t |S)N) )zUse Ctrl-G to end editing.r)addstrrnewwinrrJrr])stdscrncolsnlinesrrrs r test_editboxrns vS c!eS">???mFE344&#a%Qf cEkBBBs||  """rzContents of text box:) r curses.asciirrr^rnwrapperstrprintreprrarrrts@  - - -iiiiiiiiV z### &. & &C E !4499-----rPKUe[J*=//textpad.cpython-311.pycnu[ !A?hdZddlZddlZdZGddZedkr*dZejeZe de edSdS) z:Simple textbox editing widget with Emacs-like keybindings.Ncf||dz|tj||z dz |||dztj||z dz |||dztj||z dz ||dz|tj||z dz |||tj|||tj|||tj|||tj dS)z^Draw a rectangle with corners at the provided upper-left and lower-right coordinates. N) vlinecurses ACS_VLINEhline ACS_HLINEaddch ACS_ULCORNER ACS_URCORNER ACS_LRCORNER ACS_LLCORNER)winulyulxlrylrxs '/usr/lib64/python3.11/curses/textpad.py rectanglers IIc!eS&*C#IM:::IIc3q5&*C#IM:::IIc3q5&*C#IM:::IIc!eS&*C#IM:::IIc3+,,,IIc3+,,,IIc3+,,,IIc3+,,,,,c@eZdZdZd dZdZdZdZdZdZ d d Z d S) TextboxadEditing widget using the interior of a window object. Supports the following Emacs-like key bindings: Ctrl-A Go to left edge of window. Ctrl-B Cursor left, wrapping to previous line if appropriate. Ctrl-D Delete character under cursor. Ctrl-E Go to right edge (stripspaces off) or end of line (stripspaces on). Ctrl-F Cursor right, wrapping to next line when appropriate. Ctrl-G Terminate, returning the window contents. Ctrl-H Delete character backward. Ctrl-J Terminate if the window is 1 line, otherwise insert newline. Ctrl-K If line is blank, delete it, otherwise clear to end of line. Ctrl-L Refresh screen. Ctrl-N Cursor down; move down one line. Ctrl-O Insert a blank line at cursor location. Ctrl-P Cursor up; move up one line. Move operations do nothing if the cursor is at an edge where the movement is not possible. The following synonyms are supported where possible: KEY_LEFT = Ctrl-B, KEY_RIGHT = Ctrl-F, KEY_UP = Ctrl-P, KEY_DOWN = Ctrl-N KEY_BACKSPACE = Ctrl-h Fc||_||_|d|_d|_|ddSNr)r insert_mode_update_max_yx stripspaceslastcmdkeypad)selfrrs r__init__zTextbox.__init__+sE&   1 rcf|j\}}|dz |_|dz |_dSr)rgetmaxyxmaxymaxx)r r$r%s rrzTextbox._update_max_yx3s3X&&(( d1H 1H rc ||j} tj|j||tjjkrt|j|dz}n |dkrn|dz }q|S)zuGo to the location of the first blank on the given line, returning the index of the last non-blank character.Trr)rr%rasciirinchSPmin)r ylasts r _end_of_linezTextbox._end_of_line8s y |!!$(--4"8"899V\_LL49d1f--!8D   rc ||j\}}d}||jks ||jkr|jr|j} |j|n#tj $rYnwxYw|jrtj |sn:|}|j\}}|||f}||jk||jk||jj |dSdSN) rrgetyxr$r%rr(r rerrorr'isprintmove)r chr+xbackyxoldchs r_insert_printable_charzTextbox._insert_printable_charFs& !!A$)mmq49}} (  r""""<    # 6<+?+?+F+F BX^^%%FQ~A!$)mmq49}}$   DHM6 " " " "  s*BBBc ||j\}}||_tj|r-||jks ||jkr| |n|tjj kr|j |dn|tjj tj tjjtjfvr|dkr|j ||dz nf|dkrn_|jr5|j |dz ||dz n#|j |dz |j|tjjtjfvr|jn|tjjkr|jnY|tjjkrY|jr0|j |||n |j ||jn|tjjtjfvrX||jkr |j ||dzn||jkrn|j |dzdnt|tjjkrdS|tjjkr8|jdkrdS||jkr|j |dzdn|tjjkrp|dkr4||dkr|jn|j |||jn|tjjkr|jn[|tjjtjfvrz||jkrn|j |dz||||dzkr4|j |dz||dzn|tjj kr|j!n|tjj"tj#fvrt|dkrn|j |dz ||||dz kr4|j |dz ||dz dS)z!Process a single editing command.rr)$rrr0rrr'r2r$r%r8SOHr3STXKEY_LEFTBS KEY_BACKSPACErr-delchEOTENQACK KEY_RIGHTBELNLVTdeletelnclrtoeolFFrefreshSOKEY_DOWNSIinsertlnDLEKEY_UP)r r4r+r5s r do_commandzTextbox.do_command_s !!A <   # #9 ?49}}DI ++B/// 6<# # # HMM!Q     FL$V_flofFZ[ [ [1uu a1%%%%a! . ac4#4#4QqS#9#9:::: ac49---flov';<<<   6<# # # HNN     6<# # # , a!2!21!5!56666 a++++ FL$f&67 7 749}} a1%%%%di ac1%%%% 6<# # #1 6>> 6>>qrc d}|t|jdzD]}|j|d||}|dkr|jr@t|jdzD]Y}|jr||krnI|ttj |j ||z}Z|jdkr|dz}|S)z.Collect and return the contents of the window.rr ) rranger$rr3r-rr%chrrr'r()r resultr+stopr5s rgatherzTextbox.gathers ty{## ' 'A HMM!Q   $$Q''DqyyT-y49Q;'' O O#DE#fl&8&8q!9L9L&M&M"N"NNy1}}$ rNc |j}|r ||}|s*||sn|jY|S)z2Edit in the widget window and collect the results.)rgetchrQrJrY)r validater4s reditz Textbox.editsx !!B "Xb\\ ??2&&  H      {{}}r)Fr/) __name__ __module__ __qualname____doc__r!rr-r8rQrYr]rrrrs.   ###2???B"      rr__main__c d\}}d\}}||dz |dtj||||}t||dz |dz ||z||z|t |S)N) )zUse Ctrl-G to end editing.r)addstrrnewwinrrJrr])stdscrncolsnlinesrrrs r test_editboxros vS c!eS">???mFE344&#a%Qf cEkBBBs||  """rzContents of text box:) rar curses.asciirrr^rowrapperstrprintreprrbrrrus@@  - - -iiiiiiiiV z### &. & &C E !4499-----rPKUe[#R""has_key.cpython-311.pycnu[ !A?h ddlZiejdejdejdejdejdejdejdejd ej d ej d ej d ej d ej dejdejdejdejdiejdejdejdejdejdejdejdejdejdejdejdejdejdejd ej d!ej!d"ej"d#iej#d$ej$d%ej%d&ej&d'ej'd(ej(d)ej)d*ej*d+ej+d,ej,d-ej-d.ej.d/ej/d0ej0d1ej1d2ej2d3ej3d4iej4d5ej5d6ej6d7ej7d8ej8d9ej9d:ej:d;ej;d<ej<d=ej=d>ej>d?ej?d@ej@dAejAdBejBdCejCdDejDdEiejEdFejFdGejGdHejHdIejIdJejJdKejKdLejLdMejMdNejNdOejOdPejPdQejQdRejRdSejSdTejTdUejUdViejVdWejWdXejXdYejYdZejZd[ej[d\ej\d]ej]d^ej^d_ej_d`ej`daejadbejbdcejcddejddeejedfejfdgiejgdhejhdiejidjejjdkejkdlejldmejmdnejndoejodpejpdqejqdrejrdsejsdtejtduejudvejvdwejwdxiejxdyejydzejzd{ej{d|ej|d}ej}d~ej~dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdi ZdZedkr gZejeD]LZejeZeeZeekr)edejeeefzM ejeD] ZeedS#ejeD] ZeewxYwdS)Nka1ka3kb2kbskbegkcbtkc1kc3kcanktbckclrkclokcmdkcpykcrtkctabkdch1kdl1kcud1krmirkendkentkelkedkextkf0kf1kf10kf11kf12kf13kf14kf15kf16kf17kf18kf19kf2kf20kf21kf22kf23kf24kf25kf26kf27kf28kf29kf3kf30kf31kf32kf33kf34kf35kf36kf37kf38kf39kf4kf40kf41kf42kf43kf44kf45kf46kf47kf48kf49kf5kf50kf51kf52kf53kf54kf55kf56kf57kf58kf59kf6kf60kf61kf62kf63kf7kf8kf9kfndkhlpkhomekich1kil1kcub1kllkmrkkmsgkmovknxtknpkopnkoptkppkprvkprtkrdokrefkrfrkrplkrstkreskcuf1ksavkBEGkCANkCMDkCPYkCRTkDCkDLksltkENDkEOLkEXTkindkFNDkHLPkHOMkICkLFTkMSGkMOVkNXTkOPTkPRVkPRTkrikRDOkRPLkRITkRESkSAVkSPDkhtskUNDkspdkundkcuu1ct|trt|}t|}|dSt j|rdSdS)NFT) isinstancestrord_capability_namesget_cursestigetstr)chcapability_names '/usr/lib64/python3.11/curses/has_key.pyhas_keyrs^"c WW(++B//Ou**tu__main__z)Mismatch for key %s, system=%i, Python=%i)rKEY_A1KEY_A3KEY_B2 KEY_BACKSPACEKEY_BEGKEY_BTABKEY_C1KEY_C3 KEY_CANCEL KEY_CATAB KEY_CLEAR KEY_CLOSE KEY_COMMANDKEY_COPY KEY_CREATEKEY_CTABKEY_DCKEY_DLKEY_DOWNKEY_EICKEY_END KEY_ENTERKEY_EOLKEY_EOSKEY_EXITKEY_F0KEY_F1KEY_F10KEY_F11KEY_F12KEY_F13KEY_F14KEY_F15KEY_F16KEY_F17KEY_F18KEY_F19KEY_F2KEY_F20KEY_F21KEY_F22KEY_F23KEY_F24KEY_F25KEY_F26KEY_F27KEY_F28KEY_F29KEY_F3KEY_F30KEY_F31KEY_F32KEY_F33KEY_F34KEY_F35KEY_F36KEY_F37KEY_F38KEY_F39KEY_F4KEY_F40KEY_F41KEY_F42KEY_F43KEY_F44KEY_F45KEY_F46KEY_F47KEY_F48KEY_F49KEY_F5KEY_F50KEY_F51KEY_F52KEY_F53KEY_F54KEY_F55KEY_F56KEY_F57KEY_F58KEY_F59KEY_F6KEY_F60KEY_F61KEY_F62KEY_F63KEY_F7KEY_F8KEY_F9KEY_FINDKEY_HELPKEY_HOMEKEY_ICKEY_ILKEY_LEFTKEY_LLKEY_MARK KEY_MESSAGEKEY_MOVEKEY_NEXT KEY_NPAGEKEY_OPEN KEY_OPTIONS KEY_PPAGE KEY_PREVIOUS KEY_PRINTKEY_REDO KEY_REFERENCE KEY_REFRESH KEY_REPLACE KEY_RESTART KEY_RESUME KEY_RIGHTKEY_SAVEKEY_SBEG KEY_SCANCEL KEY_SCOMMAND KEY_SCOPY KEY_SCREATEKEY_SDCKEY_SDL KEY_SELECTKEY_SENDKEY_SEOL KEY_SEXITKEY_SF KEY_SFIND KEY_SHELP KEY_SHOMEKEY_SIC KEY_SLEFT KEY_SMESSAGE KEY_SMOVE KEY_SNEXT KEY_SOPTIONS KEY_SPREVIOUS KEY_SPRINTKEY_SR KEY_SREDO KEY_SREPLACE KEY_SRIGHT KEY_SRSUME KEY_SSAVE KEY_SSUSPENDKEY_STAB KEY_SUNDO KEY_SUSPENDKEY_UNDOKEY_UPrr__name__LinitscrkeyskeysystempythonappendkeynameendwiniprintrrrHs  V NEV NEV NEV 5 V  OV V  f V NEV NEV V vV vV vV V fV V  g!V" NG#VV$ NF%V& g'V( OW)V* OV+V, v-V. OU/V0 OU1V2 f3V4 NE5V6 NE7V8 OV9V: OV;V< OV=V> OV?V@ OVAVB OVCVD OVEVVVF OVGVH OVIVJ OVKVL NEMVN OVOVP OVQVR OVSVT OVUVV OVWVX OVYVZ OV[V\ OV]V^ OV_V` OVaVb NEcVd OVeVf OVgVVVh OViVj OVkVl OVmVn OVoVp OVqVr OVsVt OVuVv OVwVx NEyVz OV{V| OV}V~ OVV@ OVAVB OVCVD OVEVF OVGVH OVIVVVJ OVKVL OVMVN NEOVP OVQVR OVSVT OVUVV OVWVX OVYVZ OV[V\ OV]V^ OV_V` OVaVb OVcVd NEeVf OVgVh OViVj OVkVVVl OVmVn NEoVp NEqVr NEsVt fuVv fwVx gyVz NG{V| NF}V~ gV@ NEAVB fCVD EVF fGVH fIVJ uKVL fMVVVN OVP uQVR &SVT vUVV fWVX 6YVZ [V\ ]V^ _V` aVb wcVd feVf fgVh iVj &kVl vmVn oVVVp OUqVr OUsVt uVv fwVx fyVz v{V| NF}V~ vV@ vAVB vCVD OUEVF vGVH &IVJ vKVL vMVN &OVP 6QVVR  NE v &   v & f v  f NGkVVp  z  $))++ G GC$W_S))FWS\\FE,W_c33VVDEGGG  G AEE!HHHH AEE!HHHHs @,;:\\"/\[\]\?=]cCsX|dk rPt|dkrP|s"tj|rB|jddjdd}d||fSd||fSn|SdS)Nr\z\\"z\"z%s="%s"z%s=%s)len tspecialssearchreplace)ZparamvalueZquoter '/usr/lib64/python3.6/wsgiref/headers.py _formatparam s  r c@seZdZd$ddZddZddZdd Zd d Zd d ZddZ ddZ d%ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#ZdS)&HeadersNcCs.|dk r |ng}t|tk r$td||_dS)Nz+Headers must be a list of name/value tuples)typelist TypeError_headers)selfZheadersr r r __init__s  zHeaders.__init__cCs&t|tkr|Stdjt|dS)Nz1Header names/values must be of type str (got {0}))rstrAssertionErrorformatrepr)rr r r r _convert_string_type)s zHeaders._convert_string_typecCs t|jS)N)rr)rr r r __len__0szHeaders.__len__cCs&||=|jj|j||j|fdS)N)rappendr)rnamevalr r r __setitem__4szHeaders.__setitem__cs0|jjfdd|jD|jdd<dS)Ncs g|]}|djkr|qS)r)lower).0kv)rr r @sz'Headers.__delitem__..)rrr)rrr )rr __delitem__:szHeaders.__delitem__cCs |j|S)N)get)rrr r r __getitem__Bs zHeaders.__getitem__cCs|j|dk S)N)r#)rrr r r __contains__MszHeaders.__contains__cs"|jjfdd|jDS)Ncs$g|]}|djkr|dqS)rr)r)rr )rr r r![sz#Headers.get_all..)rrr)rrr )rr get_allRszHeaders.get_allcCs6|j|j}x"|jD]\}}|j|kr|SqW|S)N)rrr)rrdefaultkvr r r r#^s  z Headers.getcCsdd|jDS)NcSsg|] \}}|qSr r )rr(r)r r r r!osz Headers.keys..)r)rr r r keysgsz Headers.keyscCsdd|jDS)NcSsg|] \}}|qSr r )rr(r)r r r r!ysz"Headers.values..)r)rr r r valuesqszHeaders.valuescCs|jddS)N)r)rr r r items{sz Headers.itemscCsd|jj|jfS)Nz%s(%r)) __class____name__r)rr r r __repr__szHeaders.__repr__cCsdjdd|jDddgS)Nz cSsg|] }d|qS)z%s: %sr )rr r r r r!sz#Headers.__str__..)joinr)rr r r __str__szHeaders.__str__cCst|jdS)Nz iso-8859-1)rencode)rr r r __bytes__szHeaders.__bytes__cCs:|j|}|dkr2|jj|j||j|f|S|SdS)N)r#rrr)rrr resultr r r setdefaults  zHeaders.setdefaultcKsg}|dk r |j|}|j|x\|jD]P\}}|j|}|dkrX|j|jddq*|j|}|jt|jdd|q*W|jj|j|dj|fdS)N_-z; )rrr,rr rr1)r_nameZ_valueZ_paramspartsr(r)r r r add_headers    zHeaders.add_header)N)N)r. __module__ __qualname__rrrrr"r$r%r&r#r*r+r,r/r2r4r6r;r r r r r s"       r )Nr)recompilerr r r r r r  s  PKVe[ llhandlers.cpython-36.opt-1.pycnu[3 OwhI @sdZddlZddlZddlZddlZddlZddlZddlZddlm Z m Z m Z ddl Z y ddl Z Wnek r|dZ YnXdZdZdZdZdZdZd(ZGd d d ejZGd ddeZGdddeZGdddejZGdddejZGdddeZGdddejZGdddejZGdddejZ GdddejZ!Gdd d ejZ"Gd!d"d"e"Z#Gd#d$d$ejZ$e rGd%d&d&e%Z&dS))z Additional handlers for the logging package for Python. The core package is based on PEP 282 and comments thereto in comp.lang.python. Copyright (C) 2001-2016 Vinay Sajip. All Rights Reserved. To use, simply 'import logging.handlers' and log away! N)ST_DEVST_INOST_MTIMEi<#i=#i>#i?#i<c@s2eZdZdZd ddZddZdd Zd d ZdS) BaseRotatingHandlerz Base class for handlers that rotate log files at a certain point. Not meant to be instantiated directly. Instead, use RotatingFileHandler or TimedRotatingFileHandler. NFcCs0tjj|||||||_||_d|_d|_dS)zA Use the specified filename for streamed logging N)logging FileHandler__init__modeencodingnamerrotator)selffilenamer r delayr(/usr/lib64/python3.6/logging/handlers.pyr 5s zBaseRotatingHandler.__init__c CsHy$|j|r|jtjj||Wntk rB|j|YnXdS)z Emit a record. Output the record to the file, catering for rollover as described in doRollover(). N)shouldRollover doRolloverrr emit Exception handleError)rrecordrrrr?s  zBaseRotatingHandler.emitcCst|js|}n |j|}|S)a Modify the filename of a log file when rotating. This is provided so that a custom filename can be provided. The default implementation calls the 'namer' attribute of the handler, if it's callable, passing the default name to it. If the attribute isn't callable (the default is None), the name is returned unchanged. :param default_name: The default name for the log file. )callabler )rZ default_nameresultrrrrotation_filenameMs  z%BaseRotatingHandler.rotation_filenamecCs4t|js$tjj|r0tj||n |j||dS)aL When rotating, rotate the current log. The default implementation calls the 'rotator' attribute of the handler, if it's callable, passing the source and dest arguments to it. If the attribute isn't callable (the default is None), the source is simply renamed to the destination. :param source: The source filename. This is normally the base filename, e.g. 'test.log' :param dest: The destination filename. This is normally what the source is rotated to, e.g. 'test.log.1'. N)rrospathexistsrename)rsourcedestrrrrotate`s  zBaseRotatingHandler.rotate)NF)__name__ __module__ __qualname____doc__r rrr#rrrrr/s  rc@s*eZdZdZd ddZdd Zd d ZdS) RotatingFileHandlerz Handler for logging to a set of files, which switches from one file to the next when the current file reaches a certain size. arNFcCs.|dkr d}tj|||||||_||_dS)a Open the specified file and use it as the stream for logging. By default, the file grows indefinitely. You can specify particular values of maxBytes and backupCount to allow the file to rollover at a predetermined size. Rollover occurs whenever the current log file is nearly maxBytes in length. If backupCount is >= 1, the system will successively create new files with the same pathname as the base file, but with extensions ".1", ".2" etc. appended to it. For example, with a backupCount of 5 and a base file name of "app.log", you would get "app.log", "app.log.1", "app.log.2", ... through to "app.log.5". The file being written to is always "app.log" - when it gets filled up, it is closed and renamed to "app.log.1", and if files "app.log.1", "app.log.2" etc. exist, then they are renamed to "app.log.2", "app.log.3" etc. respectively. If maxBytes is zero, rollover never occurs. rr)N)rr maxBytes backupCount)rrr r*r+r rrrrr zs zRotatingFileHandler.__init__cCs|jr|jjd|_|jdkrxtt|jdddD]^}|jd|j|f}|jd|j|df}tjj|r4tjj|rtj |tj ||q4W|j|jd}tjj|rtj ||j |j||j s|j |_dS)z< Do a rollover, as described in __init__(). Nrz%s.%dz.1)streamcloser+ranger baseFilenamerrrremover r#r_open)riZsfndfnrrrrs$        zRotatingFileHandler.doRollovercCs|tjj|jr"tjj|j r"dS|jdkr6|j|_|jdkrxd|j|}|jj dd|jj t ||jkrxdSdS)z Determine if rollover should occur. Basically, see if the supplied record would cause the file to exceed the size limit we have. FNrz%s T) rrrr1isfiler.r3r*formatseektelllen)rrmsgrrrrs   z"RotatingFileHandler.shouldRollover)r)rrNF)r$r%r&r'r rrrrrrr(us r(c@s:eZdZdZdddZd d Zd d Zd dZddZdS)TimedRotatingFileHandlerz Handler for logging to a file, rotating the log file at certain timed intervals. If backupCount is > 0, when rollover is done, no more than backupCount files are kept - the oldest ones are deleted. hr,rNFc Cstj||d|||j|_||_||_||_|jdkrNd|_d|_d|_ n|jdkrld|_d|_d |_ n|jd krd|_d |_d |_ n|jd ks|jdkrd|_d|_d|_ n|jj dr.d|_t |jdkrt d|j|jddks|jddkrt d|jt |jd|_d|_d|_ nt d|jtj|j tj|_ |j||_|j}tjj|r~tj|t} n t tj} |j| |_dS) Nr)Sr,z%Y-%m-%d_%H-%M-%Sz-^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}(\.\w+)?$Mrz%Y-%m-%d_%H-%Mz'^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}(\.\w+)?$Hz %Y-%m-%d_%Hz!^\d{4}-\d{2}-\d{2}_\d{2}(\.\w+)?$DMIDNIGHTrz%Y-%m-%dz^\d{4}-\d{2}-\d{2}(\.\w+)?$Wr6zHYou must specify a day for weekly rollover from 0 to 6 (0 is Monday): %s06z-Invalid day specified for weekly rollover: %sz'Invalid rollover interval specified: %siiiQiiQi: )rr upperwhenr+utcatTimeintervalsuffixextMatch startswithr; ValueErrorint dayOfWeekrecompileASCIIr1rrrstatrtimecomputeRollover rolloverAt) rrrIrLr+r rrJrKtrrrr sL        z!TimedRotatingFileHandler.__init__cCsd||j}|jdks"|jjdr`|jr4tj|}n tj|}|d}|d}|d}|d}|jdkrnt}n |jj d|jj d|jj }||d|d|} | d kr| t7} |d d }|| }|jjdr`|} | |j kr`| |j kr|j | } nd| |j d } || d} |js\|d} tj| d}| |kr\| sPd}nd }| |7} | }|S)zI Work out the rollover time based on the specified time. rCrDNrrr,rEriiiQr-r-i) rLrIrOrJrWgmtime localtimerK _MIDNIGHTZhourZminutesecondrR)r currentTimerrZZ currentHourZ currentMinuteZ currentSecondZ currentDayZ rotate_tsrZdayZ daysToWait newRolloverAtdstNow dstAtRolloveraddendrrrrXsH           z(TimedRotatingFileHandler.computeRollovercCs@tjj|jr"tjj|j r"dSttj}||jkr|jjdrx|j rxtj| d } || krx|sld }nd}| |7} | |_dS) ax do a rollover; in this case, a date/time stamp is appended to the filename when the rollover happens. However, you want the file to be named for the start of the interval, not the current time. If there is a backup count, then we have to get a list of matching filenames, sort them and remove the one with the oldest suffix. Nr,irirrCrDr-r-ir-i)r.r/rQrWr`rYrLrJr_rr1ZstrftimerMrrrr2r#r+rqrr3rXrIrO) rrcrfrZZ timeTupleZdstThenrhr5srergrrrrtsH            $ z#TimedRotatingFileHandler.doRollover)r>r,rNFFN) r$r%r&r'r rXrrqrrrrrr=s  9Ir=c@s2eZdZdZd ddZddZd d Zd d ZdS)WatchedFileHandlera A handler for logging to a file, which watches the file to see if it has changed while in use. This can happen because of usage of programs such as newsyslog and logrotate which perform log file rotation. This handler, intended for use under Unix, watches the file to see if it has changed since the last emit. (A file has changed if its device or inode have changed.) If it has changed, the old file stream is closed, and the file opened to get a new stream. This handler is not appropriate for use under Windows, because under Windows open files cannot be moved or renamed - logging opens the files with exclusive locks - and so there is no need for such a handler. Furthermore, ST_INO is not supported under Windows; stat always returns zero for this value. This handler is based on a suggestion and patch by Chad J. Schroeder. r)NFcCs,tjj|||||d\|_|_|jdS)Nr,r-r-)r-r-)rr r devino _statstream)rrr r rrrrr s zWatchedFileHandler.__init__cCs0|jr,tj|jj}|t|t|_|_dS)N)r.rfstatfilenorrrtru)rsresrrrrvszWatchedFileHandler._statstreamc Csytj|j}Wntk r(d}YnX| sL|t|jksL|t|jkr|jdk r|jj |jj d|_|j |_|j dS)z Reopen log file if needed. Checks if the underlying file has changed, and if it has, close the old stream and reopen the file to get the current stream. N) rrVr1FileNotFoundErrorrrtrrur.flushr/r3rv)rryrrrreopenIfNeededs  "    z!WatchedFileHandler.reopenIfNeededcCs|jtjj||dS)z Emit a record. If underlying file has changed, reopen the file before emitting the record to it. N)r|rr r)rrrrrrszWatchedFileHandler.emit)r)NF)r$r%r&r'r rvr|rrrrrrss  rsc@sReZdZdZddZdddZddZd d Zd d Zd dZ ddZ ddZ dS) SocketHandlera A handler class which writes logging records, in pickle format, to a streaming socket. The socket is kept open across logging calls. If the peer resets it, an attempt is made to reconnect on the next call. The pickle which is sent is that of the LogRecord's attribute dictionary (__dict__), so that the receiver does not need to have the logging module installed in order to process the logging event. To unpickle the record at the receiving end into a LogRecord, use the makeLogRecord function. cCsZtjj|||_||_|dkr(||_n ||f|_d|_d|_d|_d|_ d|_ d|_ dS)a Initializes the handler with a specific host address and port. When the attribute *closeOnError* is set to True - if a socket error occurs, the socket is silently closed and then reopened on the next logging call. NFg?g>@g@) rHandlerr hostportaddresssock closeOnError retryTime retryStartretryMax retryFactor)rrrrrrr s  zSocketHandler.__init__r,c Csj|jdk rtj|j|d}nJtjtjtj}|j|y|j|jWntk rd|j YnX|S)zr A factory method which allows subclasses to define the precise type of socket they want. N)timeout) rsocketZcreate_connectionrAF_UNIX SOCK_STREAMZ settimeoutconnectOSErrorr/)rrrrrr makeSockets  zSocketHandler.makeSocketc Cstj}|jdkrd}n ||jk}|ry|j|_d|_WnVtk r|jdkr^|j|_n"|j|j|_|j|jkr|j|_||j|_YnXdS)z Try to create a socket, using an exponential backoff with a max retry time. Thanks to Robert Olson for the original patch (SF #815911) which has been slightly refactored. NT) rWrrrrrZ retryPeriodrr)rZnowZattemptrrr createSocket"s       zSocketHandler.createSocketc CsR|jdkr|j|jrNy|jj|Wn$tk rL|jjd|_YnXdS)z Send a pickled string to the socket. This function allows for partial sends which can happen when the network is busy. N)rrsendallrr/)rrrrrrsend>s  zSocketHandler.sendcCsj|j}|r|j|}t|j}|j|d<d|d<d|d<|jddtj|d}tj dt |}||S)z Pickles the record in binary format with a length prefix, and returns it ready for transmission across the socket. r<Nargsexc_infomessager,z>L) rr8dict__dict__Z getMessagepoppickledumpsstructZpackr;)rrZeiZdummydrrZslenrrr makePickleQs     zSocketHandler.makePicklecCs0|jr|jr|jjd|_ntjj||dS)z Handle an error during logging. An error has occurred during logging. Most likely cause - connection lost. Close the socket so that we can retry on the next event. N)rrr/rr~r)rrrrrrgs  zSocketHandler.handleErrorc Cs<y|j|}|j|Wntk r6|j|YnXdS)a Emit a record. Pickles the record and writes it to the socket in binary format. If there is an error with the socket, silently drop the packet. If there was a problem with the socket, re-establishes the socket. N)rrrr)rrrrrrrrus  zSocketHandler.emitc Cs@|jz(|j}|r"d|_|jtjj|Wd|jXdS)z$ Closes the socket. N)acquirerr/rr~release)rrrrrr/szSocketHandler.closeN)r,) r$r%r&r'r rrrrrrr/rrrrr}s  r}c@s(eZdZdZddZddZddZdS) DatagramHandlera A handler class which writes logging records, in pickle format, to a datagram socket. The pickle which is sent is that of the LogRecord's attribute dictionary (__dict__), so that the receiver does not need to have the logging module installed in order to process the logging event. To unpickle the record at the receiving end into a LogRecord, use the makeLogRecord function. cCstj|||d|_dS)zP Initializes the handler with a specific host address and port. FN)r}r r)rrrrrrr szDatagramHandler.__init__cCs*|jdkrtj}ntj}tj|tj}|S)zu The factory method of SocketHandler is here overridden to create a UDP socket (SOCK_DGRAM). N)rrrZAF_INET SOCK_DGRAM)rZfamilyrrrrrrs  zDatagramHandler.makeSocketcCs&|jdkr|j|jj||jdS)z Send a pickled string to a socket. This function no longer allows for partial sends which can happen when the network is busy - UDP does not guarantee delivery and can deliver packets out of sequence. N)rrsendtor)rrrrrrrs zDatagramHandler.sendN)r$r%r&r'r rrrrrrrs  rc@s"eZdZdZdZdZdZdZdZdZ dZ d Z dZ dZ dZdZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZeeee eeee e eeed Z eeeeee eeeeee eeeeeeeeedZ!ddddddZ"de#fe dfd d!Z$d"d#Z%d$d%Z&d&d'Z'd(d)Z(d*Z)d+Z*d,d-Z+dS). SysLogHandlera A handler class which sends formatted logging records to a syslog server. Based on Sam Rushing's syslog module: http://www.nightmare.com/squirl/python-ext/misc/syslog.py Contributed by Nicolas Untz (after which minor refactoring changes have been made). rr,r6r[r\r]r^rE ) ZalertZcritcriticaldebugZemergerrerrorinfoZnoticeZpanicwarnwarning)ZauthZauthprivZcrondaemonZftpZkernZlprZmailZnewsZsecurityZsysloguserZuucpZlocal0Zlocal1Zlocal2Zlocal3Zlocal4Zlocal5Zlocal6Zlocal7rrrrr)DEBUGINFOWARNINGERRORCRITICALZ localhostNcCs0tjj|||_||_||_t|trTd|_y|j |Wnt k rPYnXnd|_|dkrht j }|\}}t j ||d|}|st dx|D]|}|\}}} } } d} } y(t j ||| } |t jkr| j| PWqt k r }z|} | dk r| jWYdd}~XqXqW| dk r | | |_ ||_dS)a Initialize a handler. If address is specified as a string, a UNIX socket is used. To log to a local syslogd, "SysLogHandler(address="/dev/log")" can be used. If facility is not specified, LOG_USER is used. If socktype is specified as socket.SOCK_DGRAM or socket.SOCK_STREAM, that specific socket type will be used. For Unix sockets, you can also specify a socktype of None, in which case socket.SOCK_DGRAM will be used, falling back to socket.SOCK_STREAM. TFNrz!getaddrinfo returns an empty list)rr~r rfacilitysocktype isinstancestr unixsocket_connect_unixsocketrrrZ getaddrinforrr/)rrrrrrZressresZafproto_Zsarrexcrrrr #sB      zSysLogHandler.__init__cCs|j}|dkrtj}tjtj||_y|jj|||_Wnxtk r|jj|jdk r`tj}tjtj||_y|jj|||_Wn tk r|jjYnXYnXdS)N)rrrrrrr/r)rrZ use_socktyperrrrYs&       z!SysLogHandler._connect_unixsocketcCs4t|tr|j|}t|tr(|j|}|d>|BS)z Encode the facility and priority. You can pass in strings or integers - if strings are passed, the facility_names and priority_names mapping dictionaries are used to convert them to integers. r[)rrfacility_namespriority_names)rrZpriorityrrrencodePriorityqs     zSysLogHandler.encodePriorityc Cs2|jz|jjtjj|Wd|jXdS)z$ Closes the socket. N)rrr/rr~r)rrrrr/~s  zSysLogHandler.closecCs|jj|dS)aK Map a logging level name to a key in the priority_names map. This is useful in two scenarios: when custom levels are being used, and in the case where you can't do a straightforward mapping by lowercasing the logging level name because of locale- specific issues (see SF #1524081). r) priority_mapget)rZ levelNamerrr mapPriorityszSysLogHandler.mapPriorityTcCsy|j|}|jr|j|}|jr*|d7}d|j|j|j|j}|jd}|jd}||}|jry|j j |Wqt k r|j j |j |j|j j |YqXn*|jt jkr|j j||jn |j j|Wntk r|j|YnXdS)z Emit a record. The record is formatted, and then sent to the syslog server. If exception information is present, it is NOT sent to the server. z<%d>zutf-8N)r8ident append_nulrrrZ levelnameencoderrrrr/rrrrrrrr)rrr<Zpriorrrrs.        zSysLogHandler.emit),r$r%r&r'Z LOG_EMERGZ LOG_ALERTZLOG_CRITZLOG_ERRZ LOG_WARNINGZ LOG_NOTICEZLOG_INFOZ LOG_DEBUGZLOG_KERNZLOG_USERZLOG_MAILZ LOG_DAEMONZLOG_AUTHZ LOG_SYSLOGZLOG_LPRZLOG_NEWSZLOG_UUCPZLOG_CRONZ LOG_AUTHPRIVZLOG_FTPZ LOG_LOCAL0Z LOG_LOCAL1Z LOG_LOCAL2Z LOG_LOCAL3Z LOG_LOCAL4Z LOG_LOCAL5Z LOG_LOCAL6Z LOG_LOCAL7rrrSYSLOG_UDP_PORTr rrr/rrrrrrrrrs 5   rc@s*eZdZdZd ddZddZdd ZdS) SMTPHandlerzK A handler class which sends an SMTP email for each logging event. N@cCstjj|t|ttfr(|\|_|_n|d|_|_t|ttfrR|\|_|_ nd|_||_ t|t rn|g}||_ ||_ ||_||_dS)ax Initialize the handler. Initialize the instance with the from and to addresses and subject line of the email. To specify a non-standard SMTP port, use the (host, port) tuple format for the mailhost argument. To specify authentication credentials, supply a (username, password) tuple for the credentials argument. To specify the use of a secure protocol (TLS), pass in a tuple for the secure argument. This will only be used when authentication credentials are supplied. The tuple will be either an empty tuple, or a single-value tuple with the name of a keyfile, or a 2-value tuple with the names of the keyfile and certificate file. (This tuple is passed to the `starttls` method). A timeout in seconds can be specified for the SMTP connection (the default is one second). N)rr~r rlisttuplemailhostmailportusernamepasswordfromaddrrtoaddrssubjectsecurer)rrrrr credentialsrrrrrr s  zSMTPHandler.__init__cCs|jS)z Determine the subject for the email. If you want to specify a subject line which is record-dependent, override this method. )r)rrrrr getSubjectszSMTPHandler.getSubjectc Csyddl}ddlm}ddl}|j}|s.|j}|j|j||jd}|}|j |d<dj |j |d<|j ||d<|j j|d <|j|j||jr|jdk r|j|j|j|j|j|j|j|j||jWntk r|j|YnXdS) zd Emit a record. Format the record and send it to the specified addressees. rN) EmailMessage)rZFrom,ZToZSubjectZDate)smtplibZ email.messagerZ email.utilsrZ SMTP_PORTZSMTPrrrrnrrZutilsr`Z set_contentr8rrZehloZstarttlsZloginrZ send_messagequitrr)rrrrZemailrZsmtpr<rrrrs0      zSMTPHandler.emit)NNr)r$r%r&r'r rrrrrrrs " rc@sBeZdZdZdddZddZdd Zd d Zd d ZddZ dS)NTEventLogHandlera A handler class which sends events to the NT Event Log. Adds a registry entry for the specified application name. If no dllname is provided, win32service.pyd (which contains some basic message placeholders) is used. Note that use of these placeholders will make your event logs big, as the entire message source is held in the log. If you want slimmer logs, you have to pass in the name of your own DLL which contains the message definitions you want to use in the event log. N ApplicationcCstjj|yddl}ddl}||_||_|s`tjj |jj }tjj |d}tjj |dd}||_ ||_ |jj||||j|_tj|jtj|jtj|jtj|jtj|ji|_Wn"tk rtdd|_YnXdS)Nrzwin32service.pydzWThe Python Win32 extensions for NT (service, event logging) appear not to be available.)rr~r win32evtlogutil win32evtlogappname_welurrrj__file__rndllnamelogtypeZAddSourceToRegistryZEVENTLOG_ERROR_TYPEdeftyperZEVENTLOG_INFORMATION_TYPErrZEVENTLOG_WARNING_TYPErrtypemap ImportErrorprint)rrrrrrrrrr s* zNTEventLogHandler.__init__cCsdS)ay Return the message ID for the event record. If you are using your own messages, you could do this by having the msg passed to the logger being an ID rather than a formatting string. Then, in here, you could use a dictionary lookup to get the message ID. This version returns 1, which is the base message ID in win32service.pyd. r,r)rrrrr getMessageID.szNTEventLogHandler.getMessageIDcCsdS)z Return the event category for the record. Override this if you want to specify your own categories. This version returns 0. rr)rrrrrgetEventCategory8sz"NTEventLogHandler.getEventCategorycCs|jj|j|jS)a Return the event type for the record. Override this if you want to specify your own types. This version does a mapping using the handler's typemap attribute, which is set up in __init__() to a dictionary which contains mappings for DEBUG, INFO, WARNING, ERROR and CRITICAL. If you are using your own levels you will either need to override this method or place a suitable dictionary in the handler's typemap attribute. )rrlevelnor)rrrrr getEventTypeAs zNTEventLogHandler.getEventTypec Csn|jrjyD|j|}|j|}|j|}|j|}|jj|j||||gWntk rh|j|YnXdS)z Emit a record. Determine the message ID, event category and event type. Then log the message in the NT event log. N) rrrrr8Z ReportEventrrr)rridcattyper<rrrrNs    zNTEventLogHandler.emitcCstjj|dS)aS Clean up this handler. You can remove the application name from the registry as a source of event log entries. However, if you do this, you will not be able to see the events as you intended in the Event Log Viewer - it needs to be able to access the registry to get the DLL name. N)rr~r/)rrrrr/_s zNTEventLogHandler.close)Nr) r$r%r&r'r rrrrr/rrrrr s     rc@s*eZdZdZd ddZddZd d ZdS) HTTPHandlerz^ A class which sends records to a Web server, using either GET or POST semantics. GETFNcCsbtjj||j}|dkr$td| r:|dk r:td||_||_||_||_||_ ||_ dS)zr Initialize the instance with the host, the request URL, and the method ("GET" or "POST") rPOSTzmethod must be GET or POSTNz3context parameter only makes sense with secure=True)rr) rr~r rHrPrurlmethodrrcontext)rrrrrrrrrrr qs zHTTPHandler.__init__cCs|jS)z Default implementation of mapping the log record into a dict that is sent as the CGI data. Overwrite in your class. Contributed by Franz Glasner. )r)rrrrr mapLogRecordszHTTPHandler.mapLogRecordc CsxyPddl}ddl}|j}|jr4|jj||jd}n |jj|}|j}|j j |j |}|j dkr|j ddkrvd}nd}|d||f}|j|j ||j d} | dkr|d| }|j d kr|jd d |jd tt||jr$ddl} d |jjd} d| j| jjd} |jd| |j|j d krH|j|jd|jWn tk rr|j|YnXdS)zk Emit a record. Send the record to the Web server as a percent-encoded dictionary rN)rr?&z%c%s:rz Content-typez!application/x-www-form-urlencodedzContent-lengthz%s:%szutf-8zBasic asciiZ Authorization)Z http.clientZ urllib.parserrZclientZHTTPSConnectionrZHTTPConnectionrparseZ urlencoderrfindZ putrequestZ putheaderrr;rbase64rZ b64encodestripdecodeZ endheadersrZ getresponserr) rrZhttpZurllibrr>rdatasepr4rrrrrrrs@        zHTTPHandler.emit)rFNN)r$r%r&r'r rrrrrrrls  rc@s8eZdZdZddZddZddZdd Zd d Zd S) BufferingHandlerz A handler class which buffers logging records in memory. Whenever each record is added to the buffer, a check is made to see if the buffer should be flushed. If it should, then flush() is expected to do what's needed. cCstjj|||_g|_dS)z> Initialize the handler with the buffer size. N)rr~r capacitybuffer)rr rrrr s zBufferingHandler.__init__cCst|j|jkS)z Should the handler flush its buffer? Returns true if the buffer is up to capacity. This method can be overridden to implement custom flushing strategies. )r;r r )rrrrr shouldFlushszBufferingHandler.shouldFlushcCs"|jj||j|r|jdS)z Emit a record. Append the record. If shouldFlush() tells us to, call flush() to process the buffer. N)r rmrr{)rrrrrrs  zBufferingHandler.emitc Cs"|jz g|_Wd|jXdS)zw Override to implement custom flushing behaviour. This version just zaps the buffer to empty. N)rr r)rrrrr{s zBufferingHandler.flushc Cs z |jWdtjj|XdS)zp Close the handler. This version just flushes and chains to the parent class' close(). N)r{rr~r/)rrrrr/s zBufferingHandler.closeN) r$r%r&r'r rrr{r/rrrrr s    r c@sBeZdZdZejddfddZddZdd Zd d Z d d Z dS) MemoryHandlerz A handler class which buffers logging records in memory, periodically flushing them to a target handler. Flushing occurs whenever the buffer is full, or when an event of a certain severity or greater is seen. NTcCs"tj||||_||_||_dS)a; Initialize the handler with the buffer size, the level at which flushing should occur and an optional target. Note that without a target being set either here or via setTarget(), a MemoryHandler is no use to anyone! The ``flushOnClose`` argument is ``True`` for backward compatibility reasons - the old behaviour is that when the handler is closed, the buffer is flushed, even if the flush level hasn't been exceeded nor the capacity exceeded. To prevent this, set ``flushOnClose`` to ``False``. N)r r flushLeveltarget flushOnClose)rr rrrrrrr s zMemoryHandler.__init__cCst|j|jkp|j|jkS)zP Check for buffer full or a record at the flushLevel or higher. )r;r r rr)rrrrrrszMemoryHandler.shouldFlushcCs ||_dS)z: Set the target handler for this handler. N)r)rrrrr setTargetszMemoryHandler.setTargetc CsD|jz,|jr2x|jD]}|jj|qWg|_Wd|jXdS)z For a MemoryHandler, flushing means just sending the buffered records to the target, if there is one. Override if you want different behaviour. The record buffer is also cleared by this operation. N)rrr handler)rrrrrr{s  zMemoryHandler.flushcCsBz|jr|jWd|jzd|_tj|Wd|jXXdS)zi Flush, if appropriately configured, set the target to None and lose the buffer. N)rr{rrr r/r)rrrrr/,s zMemoryHandler.close) r$r%r&r'rrr rrr{r/rrrrrs rc@s0eZdZdZddZddZddZdd Zd S) QueueHandlera This handler sends events to a queue. Typically, it would be used together with a multiprocessing Queue to centralise logging to file in one process (in a multi-process application), so as to avoid file write contention between processes. This code is new in Python 3.2, but this class can be copy pasted into user code for use with earlier Python versions. cCstjj|||_dS)zA Initialise an instance, using the passed queue. N)rr~r queue)rrrrrr Hs zQueueHandler.__init__cCs|jj|dS)z Enqueue a record. The base implementation uses put_nowait. You may want to override this method if you want to use blocking, timeouts or custom queue implementations. N)r put_nowait)rrrrrenqueueOszQueueHandler.enqueuecCs"|j||j|_d|_d|_|S)a Prepares a record for queuing. The object returned by this method is enqueued. The base implementation formats the record to merge the message and arguments, and removes unpickleable items from the record in-place. You might want to override this method if you want to convert the record to a dict or JSON string, or send a modified copy of the record while leaving the original intact. N)r8rr<rr)rrrrrprepareYs  zQueueHandler.preparec Cs8y|j|j|Wntk r2|j|YnXdS)zm Emit a record. Writes the LogRecord to the queue, preparing it for pickling first. N)rrrr)rrrrrrrszQueueHandler.emitN)r$r%r&r'r rrrrrrrr=s   rc@sZeZdZdZdZddddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS) QueueListenerz This class implements an internal threaded listener which watches for LogRecords being added to a queue, removes them and passes them to a list of handlers for processing. NF)respect_handler_levelcGs||_||_d|_||_dS)zc Initialise an instance with the specified queue and handlers. N)rhandlers_threadr)rrrrrrrr szQueueListener.__init__cCs |jj|S)z Dequeue a record and return it, optionally blocking. The base implementation uses get. You may want to override this method if you want to use timeouts or work with custom queue implementations. )rr)rblockrrrdequeueszQueueListener.dequeuecCs&tj|jd|_}d|_|jdS)z Start the listener. This starts up a background thread to monitor the queue for LogRecords to process. )rTN) threadingZThread_monitorrrstart)rrZrrrr"szQueueListener.startcCs|S)a Prepare a record for handling. This method just returns the passed-in record. You may want to override this method if you need to do any custom marshalling or manipulation of the record before passing it to the handlers. r)rrrrrrszQueueListener.preparecCsD|j|}x4|jD]*}|js"d}n |j|jk}|r|j|qWdS)z Handle a record. This just loops through the handlers offering them the record to handle. TN)rrrrlevelr)rrZhandlerZprocessrrrrs   zQueueListener.handlec Csd|j}t|d}xNy0|jd}||jkr*P|j||r@|jWqtjk rZPYqXqWdS)z Monitor the queue for records, and ask the handler to deal with them. This method runs on a separate, internal thread. The thread will terminate if it sees a sentinel object in the queue. task_doneTN)rhasattrr _sentinelrr$ZEmpty)rqZ has_task_donerrrrr!s     zQueueListener._monitorcCs|jj|jdS)a This is used to enqueue the sentinel record. The base implementation uses put_nowait. You may want to override this method if you want to use timeouts or work with custom queue implementations. N)rrr&)rrrrenqueue_sentinelszQueueListener.enqueue_sentinelcCs|j|jjd|_dS)a! Stop the listener. This asks the thread to terminate, and then waits for it to do so. Note that if you don't call this before your application exits, there may be some records still left on the queue, which won't be processed. N)r(rrn)rrrrstops zQueueListener.stop) r$r%r&r'r&r rr"rrr!r(r)rrrrr~s     riiQ)'r'rrrrrrWrSrVrrrrr rZDEFAULT_TCP_LOGGING_PORTZDEFAULT_UDP_LOGGING_PORTZDEFAULT_HTTP_LOGGING_PORTZDEFAULT_SOAP_LOGGING_PORTrZSYSLOG_TCP_PORTrar rr(r=rsr~r}rrrrrr rrobjectrrrrrsB8  FOcE(*PbO9I@PKVe[Fy[;;headers.cpython-36.pycnu[3 \n@s2dZddlZejdZd ddZGdddZdS) zManage HTTP Response Headers Much of this module is red-handedly pilfered from email.message in the stdlib, so portions are Copyright (C) 2001,2002 Python Software Foundation, and were written by Barry Warsaw. Nz[ \(\)<>@,;:\\"/\[\]\?=]cCsX|dk rPt|dkrP|s"tj|rB|jddjdd}d||fSd||fSn|SdS) z~Convenience function to format and return a key=value pair. This will quote the value if needed or if quote is true. Nr\z\\"z\"z%s="%s"z%s=%s)len tspecialssearchreplace)ZparamvalueZquoter '/usr/lib64/python3.6/wsgiref/headers.py _formatparam s  r c@seZdZdZd%ddZddZddZd d Zd d Zd dZ ddZ ddZ d&ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$ZdS)'Headersz,Manage a collection of HTTP response headersNcCsT|dk r |ng}t|tk r$td||_x$|D]\}}|j||j|q0WdS)Nz+Headers must be a list of name/value tuples)typelist TypeError_headers_convert_string_type)selfZheaderskvr r r __init__s  zHeaders.__init__cCs&t|tkr|Stdjt|dS)zConvert/check value type.z1Header names/values must be of type str (got {0})N)rstrAssertionErrorformatrepr)rr r r r r)s zHeaders._convert_string_typecCs t|jS)z9Return the total number of headers, including duplicates.)rr)rr r r __len__0szHeaders.__len__cCs&||=|jj|j||j|fdS)zSet the value of a header.N)rappendr)rnamevalr r r __setitem__4szHeaders.__setitem__cs0|jjfdd|jD|jdd<dS)zyDelete all occurrences of a header, if present. Does *not* raise an exception if the header is missing. cs g|]}|djkr|qS)r)lower).0kv)rr r @sz'Headers.__delitem__..N)rr r)rrr )rr __delitem__:szHeaders.__delitem__cCs |j|S)aHGet the first header value for 'name' Return None if the header is missing instead of raising an exception. Note that if the header appeared multiple times, the first exactly which occurrence gets returned is undefined. Use getall() to get all the values matching a header field name. )get)rrr r r __getitem__Bs zHeaders.__getitem__cCs|j|dk S)z/Return true if the message contains the header.N)r%)rrr r r __contains__MszHeaders.__contains__cs"|jjfdd|jDS)aqReturn a list of all the values for the named field. These will be sorted in the order they appeared in the original header list or were added to this instance, and may contain duplicates. Any fields deleted and re-inserted are always appended to the header list. If no fields exist with the given name, returns an empty list. cs$g|]}|djkr|dqS)rr)r )r!r")rr r r#[sz#Headers.get_all..)rr r)rrr )rr get_allRszHeaders.get_allcCs6|j|j}x"|jD]\}}|j|kr|SqW|S)z:Get the first header value for 'name', or return 'default')rr r)rrdefaultrrr r r r%^s  z Headers.getcCsdd|jDS)a*Return a list of all the header field names. These will be sorted in the order they appeared in the original header list, or were added to this instance, and may contain duplicates. Any fields deleted and re-inserted are always appended to the header list. cSsg|] \}}|qSr r )r!rrr r r r#osz Headers.keys..)r)rr r r keysgsz Headers.keyscCsdd|jDS)a!Return a list of all header values. These will be sorted in the order they appeared in the original header list, or were added to this instance, and may contain duplicates. Any fields deleted and re-inserted are always appended to the header list. cSsg|] \}}|qSr r )r!rrr r r r#ysz"Headers.values..)r)rr r r valuesqszHeaders.valuescCs|jddS)aGet all the header fields and values. These will be sorted in the order they were in the original header list, or were added to this instance, and may contain duplicates. Any fields deleted and re-inserted are always appended to the header list. N)r)rr r r items{sz Headers.itemscCsd|jj|jfS)Nz%s(%r)) __class____name__r)rr r r __repr__szHeaders.__repr__cCsdjdd|jDddgS)zkstr() returns the formatted headers, complete with end line, suitable for direct HTTP transmission.z cSsg|] }d|qS)z%s: %sr )r!r"r r r r#sz#Headers.__str__..)joinr)rr r r __str__szHeaders.__str__cCst|jdS)Nz iso-8859-1)rencode)rr r r __bytes__szHeaders.__bytes__cCs:|j|}|dkr2|jj|j||j|f|S|SdS)zReturn first matching header value for 'name', or 'value' If there is no header named 'name', add a new header with name 'name' and value 'value'.N)r%rrr)rrr resultr r r setdefaults  zHeaders.setdefaultcKsg}|dk r |j|}|j|x\|jD]P\}}|j|}|dkrX|j|jddq*|j|}|jt|jdd|q*W|jj|j|dj|fdS)afExtended header setting. _name is the header field to add. keyword arguments can be used to set additional parameters for the header field, with underscores converted to dashes. Normally the parameter will be added as key="value" unless value is None, in which case only the key will be added. Example: h.add_header('content-disposition', 'attachment', filename='bud.gif') Note that unlike the corresponding 'email.message' method, this does *not* handle '(charset, language, value)' tuples: all values must be strings or None. N_-z; )rrr,rr rr1)r_nameZ_valueZ_paramspartsrrr r r add_headers    zHeaders.add_header)N)N)r. __module__ __qualname____doc__rrrrr$r&r'r(r%r*r+r,r/r2r4r6r;r r r r r s$       r )Nr)r>recompilerr r r r r r s  PKVe[0,uKuKutil.cpython-36.pycnu[3 ft`O@svddlmZddlmZddlmZddlmZmZddlmZm Z ddl Z ddl Z ddl Z ddl Z ddlZ ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZejdZe j j!d kre j j!ndZ"e"j#Z$d d Z%d^d d Z&d_ddZ'ddZ(ddZ)ddZ*ddZ+ddZ,ddZ-ddZ.dd Z/d!d"Z0d#d$Z1d%d&Z2d'd(Z3d)d*Z4d+d,Z5d-d.Z6d/d0Z7d1d2Z8d3d4Z9d5d6Z:d7d8Z;d9d:ZZ>d?d@Z?dAdBZ@dCdDZAd`dFdGZBdHdIejCfdJdKZDdLdMZEdNdOZFdPdQZGdRdSZHGdTdUdUeIZJGdVdWdWeKZLGdXdYdYeMZNdZd[ZOd\d]ZPdS)a)print_function)absolute_import)unicode_literals)PY3 basestring)_ucdNdnfZyumcCst|dgt|dgt|dgt}x|D]}||kr>q0|j|tjjj|d}|jdrr|jj|q0|r|d kr|jj|q0|j d r|j j|d d q0|j j|q0Wd S)a Categorize :param values list into packages, groups and filenames :param namespace: argparse.Namespace, where specs will be stored :param values: list of specs, whether packages ('foo') or groups/modules ('@bar') or filenames ('*.rmp', 'http://*', ...) To access packages use: specs.pkg_specs, to access groups use: specs.grp_specs, to access filenames use: specs.filenames filenames grp_specs pkg_specsrz.rpmhttpftpfilehttps@rN)rrrr) setattrsetaddr pycompZurlparseendswithr append startswithr r ) namespacevaluesZtmp_setvalueZschemesr/usr/lib/python3.6/util.py _parse_specs7s        rcCs|dkrtjj}tjj|||}tjj|jr6|jSt |j g}|j d||j g}yt jjjt jj|dWnBtk r}z&|jrtt|tjt|WYdd}~XnX|jS)NrT)r callbackZNullDownloadProgressrepoZRemoteRPMPayloadospathexistsZ local_pathsumZ download_sizestartZ_librepo_targetlibdnfZ PackageTargetZdownloadPackagesZVectorPPackageTarget RuntimeErrorstrictIOErrorstrloggererror)urlconfZprogressZploadZest_remote_sizeZtargetserrr_urlopen_progressWs      r1w+bcKstrd|kr|jddtj|f|}y<|r@|jj||jn tjj j |rR|j nd||jWn.t k r}zt t|WYdd}~XnX|jd|S)z| Open the specified absolute url, return a file object which respects proxy setting even for non-repo downloads bencodingzutf-8Nr)r setdefaulttempfileZNamedTemporaryFileZ_repoZ downloadUrlfilenor'r!Z DownloaderZ downloadURLZ_configr(r*r+seek)r.r/r!modekwargsZfor0rrr_urlopenhs  $ r;cCs |j|r|dt| }|S)N)rlen)srrrrrtrim|s r?cCs tjdkS)Nr)r"geteuidrrrr am_i_rootsrAcCs.x(tj|D]}tjj||}t|q WdS)zBRemove all files and dirs under `path` Also see rm_rf() N)r"listdirr#joinrm_rf)r#entryZcontained_pathrrr clear_dirsrFcCsXytj|ddWn@tk rR}z$|jtjks>tjj| rB|WYdd}~XnXdS)Ni)r9)r"makedirsOSErrorerrnoZEEXISTr#isdir)Zdnamer0rrr ensure_dirs rKcCsJg}|}xsz!first_not_none..)rWrXrY)rTrZrrrfirst_not_nones r_cCstjt|S)N)timefile_timestamp)fnrrrfile_agesrccCs tj|jS)N)r"statst_mtime)rbrrrrasrac Cs4ytjtjdStk r.dtjSXdS)NrzUID: %s)pwdgetpwuidr"r@KeyErrorrrrrget_effective_loginsricCs(x"|D]}|j|}|dkr|SqW|S)z!Like dict.get() for nested dicts.N)get)ZdctkeysZ not_foundkrrrget_ins   rmcsfdd}tj||ggfS)Ncs|t| j||S)N)boolr)Zaccr])rbrrsplittersz!group_by_filter..splitter) functoolsreduce)rbrTror)rbrgroup_by_filters rrccs&x |D]}||r|V|VqWdS)z/Insert an item into an iterable by a condition.Nr)r]rT conditionZ original_itemrrr insert_ifs rtc Cs*y t|Wntk r dSXdSdS)z&Test whether an iterator is exhausted.TFN)rXrY)iteratorrrr is_exhausteds  rvcCs*t|r|g}t|to(tdd|DS)Ncss|]}t|td@VqdS)z*[?N)r)r\prrrr^sz"is_glob_pattern..)is_string_type isinstancerSany)patternrrris_glob_patternsr|cCstrt|tSt|tSdS)N)rryr+r)objrrrrxs rxcsfdd}|S)zDecorator to get lazy attribute initialization. Composes with @property. Force reinitialization by deleting the . csfdd}|S)Nc s8y t|Stk r2|}t|||SXdS)N)getattrAttributeErrorr)r}val)attrnamerbrr cached_getters   z6lazyattr..get_decorated..cached_getterr)rbr)r)rbr get_decoratedszlazyattr..get_decoratedr)rrr)rrlazyattrs rcGstt|f|S)zLike functools.map(), but return a list instead of an iterator. This means all side effects of fn take place even without iterating the result. )rSmap)rbseqrrrmapall srcCs8tjdtj|}tjjs4tjd}|r4|j|}|S)z6Convert time into locale aware datetime string object.z%cr) r`ZstrftimeZ localtimer rrlocaleZ getlocaledecode)Z timestamptZcurrent_locale_settingrrrnormalize_times   rcCszy\d}ddtj|D}t|dkrZ|d}tdj||}|j}t|dkSQRXdSttfk rtdSXdS)zDecide whether we are on line power. Returns True if we are on line power, False if not, None if it can not be decided. z/sys/class/power_supplycSsg|]}|jdr|qS)ZAC)r)r\Znoderrr &szon_ac_power..rz {}/{}/onlinerN) r"rBr<openformatreadintr* ValueError)Z ps_folderZac_nodesZac_nodeZ ac_statusdatarrr on_ac_powers rcCsy ddl}Wntk r dSXy0|j}|jdd}|j|d}|jdd}Wn|jk rhdSX|dkrvdS|dkrd S|dkrd Std |dS)zDecide whether we are on metered connection. Returns: True: if on metered connection False: if not None: if it can not be decided rNzorg.freedesktop.NetworkManagerz/org/freedesktop/NetworkManagerzorg.freedesktop.DBus.PropertiesZMeteredrTFz&Unknown value for metered property: %r)rr)rr)dbus ImportErrorZ SystemBusZ get_objectZ InterfaceZGetZ DBusExceptionr)rZbusproxyZifaceZmeteredrrron_metered_connection1s&  rcCs&tj|\}}tjj||t||fS)zUse a predicate to partition entries into false entries and true entries. Credit: Python library itertools' documentation. ) itertoolsteer r filterfalsefilter)ZpredrTZt1Zt2rrr partitionNsrc Cs(ytj|Wntk r"YnXdS)N)shutilZrmtreerH)r#rrrrDWsrDc#sFtfdd}t||}||Vx||}|s8P|Vq*WdS)zSplit an iterable into tuples by a condition. Inserts a separator before each item which meets the condition and then cuts the iterable by these separators. csttjfdd|S)Ncs|kS)Nr)r0) separatorrrgsz4split_by..next_subsequence..)tupler takewhile)rZ)rrrnext_subsequencefsz"split_by..next_subsequenceN)objectrt)rTrsrZmarkedZ subsequencer)rrsplit_by]s   rcCs|j|r|t|dSdS)N)rr<)r=prefixrrr strip_prefixus rFc Cs8|stj|tjrtj|dSt|dWdQRXdS)z{Create an empty file if it doesn't exist or bump it's timestamps. If no_create is True only bumps the timestamps. Na)r"accessF_OKutimer)r#Z no_createrrrtouch{s  rwritecCsyh|dkr|j|nP|dkr(|jn>|dkrD|j||jn"|dkrZt||dn td|Wn>tk r}z"tjdjt|j t |WYdd}~XnXdS)NrflushZ write_flushprint)rzUnsupported type: z{}: {}) rrrrr*r,criticalrtype__name__r )tpmsgoutr0rrr_terminal_messengers    rcCsnd}t|dk}xXt|ddD]H\}}|rD|dtdd|7}n|dtdd7}|dj|7}qW|S) z Format string about problems in resolve :param resolve_problems: list with list of strings (output of goal.problem_rules()) :return: string rr)r&z ZProblemz %d: z: z - )r< enumeraterrC)Zresolve_problemsrZcount_problemsiZrsrrr_format_resolve_problemss rcCsX|jd}|jdk r4|jdkr4||jd7}||jd|jd|jS)N-0:.)NEVRA)ZteZnevrarrr _te_nevras rcCstjdxH|D]@}|j}d}|dk r.|j}djt||||j}tj|qWx:|D]2}djt||j|j|j |j |j }tj|qZWdS)NzLogging transaction elementsz@RPM element: '{}', Key(): '{}', Key state: '{}', Failed() '{}': z^SWDB element: '{}', State: '{}', Action: '{}', From repo: '{}', Reason: '{}', Get reason: '{}') r,debugKeystaterrFailedr+actionZ from_reporeasonZ get_reason)rpm_transactionswdb_transactionrpm_eltsiZ tsi_staterrrr_log_rpm_trans_with_swdbs    rc CsVtjjtjjtjjtjjtjjh}dd|D}d}d}x|D]}t|}|j}|dksft |d rx:|D]2} | j tjj krql| j |krqlt | |krl| }PqlW|dkst |d rtjtdj|d}q>|jrtjj|_ d}q>tjj|_ q>Wx6|D].}|j tjj krtjtdjt |d}qW|rBtjtd|rRt||dS) NcSsg|]}|qSrr)r\rrrrrsz-_sync_rpm_trans_with_swdb..FZpkgz%TransactionItem not found for key: {}Tz)TransactionSWDBItem not found for key: {}z#Errors occurred during transaction.)r' transactionZ TransactionItemAction_DOWNGRADEDZTransactionItemAction_OBSOLETEDTransactionItemAction_REMOVEZTransactionItemAction_UPGRADEDZ!TransactionItemAction_REINSTALLEDrrhasattrrZTransactionItemState_UNKNOWNrr+r,rrrrTransactionItemState_ERRORZTransactionItemState_DONErr) rrZrevert_actionsZ cached_tsiZ el_not_foundr-rZte_nevrarZ tsi_candidaterrr_sync_rpm_trans_with_swdbsH       rc@s$eZdZddZddZddZdS)tmpdircCsdtjj}tj|d|_dS)Nz%s-)r)r constZPREFIXr6Zmkdtempr#)selfrrrr__init__s ztmpdir.__init__cCs|jS)N)r#)rrrr __enter__sztmpdir.__enter__cCst|jdS)N)rDr#)rexc_type exc_value tracebackrrr__exit__sztmpdir.__exit__N)r __module__ __qualname__rrrrrrrrsrcs(eZdZdZfddZddZZS)BunchzDictionary with attribute accessing syntax. In DNF, prefer using this over dnf.yum.misc.GenericHolder. Credit: Alex Martelli, Doug Hudgeon cstt|j||||_dS)N)superrr__dict__)rargskwds) __class__rrrszBunch.__init__cCst|S)N)id)rrrr__hash__szBunch.__hash__)rrr__doc__rr __classcell__rr)rrrs rcs,eZdZfddZddZddZZS) MultiCallListcstt|j|j|dS)N)rrrextend)rrT)rrrrszMultiCallList.__init__csfdd}|S)Ncsfdd}tt|S)Ncst|}|S)N)r~)vmethod)rr:whatrr call_what s z8MultiCallList.__getattr__..fn..call_what)rSr)rr:r)rr)rr:rrb sz%MultiCallList.__getattr__..fnr)rrrbr)rrr __getattr__ szMultiCallList.__getattr__csfdd}tt||S)Ncst|dS)N)r)r])rrrrsettersz)MultiCallList.__setattr__..setter)rSr)rrrrr)rrr __setattr__szMultiCallList.__setattr__)rrrrrrrrr)rrrs rc Csntgggggggggggd }xF|D]<}|jtjjkrJ|jj|q(|jtjjkrf|j j|q(|jtjj kr|j tjj kr|j j|nD|j tjjkr|jj|n(|j tjjkr|jj|n |jj|q(|jtjjkr|jj|q(|jtjjkrL|j tjjkr |jj|n*|j tjjkr>|jj|n |jj|q(|jtjjkr(|jj|q(W|S)N) downgradederased erased_clean erased_dep installedinstalled_group installed_depinstalled_weak reinstalledupgradedfailed)rrr'rrrrrZTransactionItemAction_DOWNGRADErZTransactionItemAction_INSTALLrZTransactionItemReason_GROUPrZ TransactionItemReason_DEPENDENCYrZ%TransactionItemReason_WEAK_DEPENDENCYrrZTransactionItemAction_REINSTALLrrZTransactionItemReason_CLEANrrrZTransactionItemAction_UPGRADEr)rr3rrrr _make_listssH rc sfdd}tjj|}jd|d\}}|j|}g}xtd|jftd|jftd|j|j |j |j ftd|j ftd |ftd |j |j|jftd |jfgD]&\} } |j|| t| tj|d qW|S) alReturns a human-readable summary of the results of the transaction. :param action_callback: function generating output for specific action. It takes two parameters - action as a string and list of affected packages for this action :return: a list of lines containing a human-readable summary of the results of the transaction cs|j|jk|j|jk}|dkr$|Stj|j|j|j|j|jd}tj|j|j|j|j|jd}|j|j}|dkrz|S|j|jk|j|jkS)zCompares two transaction items or packages by nevra. Used as a fallback when tsi does not contain package object. r)nameepochversionreleasearch) rhawkeyZNEVRArrrrZevr_cmpZsack)Zitem1Zitem2retZnevra1Znevra2)baserr_tsi_or_pkg_nevra_cmpPsz7_post_transaction_output.._tsi_or_pkg_nevra_cmpF)Zreport_problemsrZUpgradedZ DowngradedZ InstalledZ ReinstalledZSkippedZRemovedr)key)r utilrZ_skipped_packagesunionrrrrrrrrrrrrrsortedrp cmp_to_key) rrZaction_callbackr Z list_bunchZskipped_conflictsZskipped_brokenZskippedrrZtsisr)rr_post_transaction_outputFs(       r)N)NNr2)F)QZ __future__rrrrrrZdnf.i18nrr argparser Z dnf.callbackZ dnf.constZ dnf.pycomprIrprrrZloggingr"rfrsysr6r`Z libdnf.repor'Zlibdnf.transactionZ getLoggerr,ArgumentParserprogZ MAIN_PROGupperZMAIN_PROG_UPPERrr1r;r?rArFrKrQrVr[r_rcrarirmrrrtrvr|rxrrrrrrrDrrrstdoutrrrrrrrdictrrSrrrrrrrs              ( -PKVe[RuBB"simple_server.cpython-36.opt-2.pycnu[3 \ @sddlmZmZddlZddlZddlmZddlm Z dZ dddd gZ d e Z e d ej jdZe d eZGd ddeZGdddeZGdddeZddZeefdd ZedkreddeBZejjZededdeddddlZejdejWdQRXdS))BaseHTTPRequestHandler HTTPServerN) SimpleHandler)python_implementationz0.2 WSGIServerWSGIRequestHandlerdemo_app make_serverz WSGIServer// c@seZdZeZddZdS) ServerHandlerc Cs4z"|jj|jjddd|jWdtj|XdS)Nr r)request_handlerZ log_requestZstatussplitZ bytes_sentrclose)selfr-/usr/lib64/python3.6/wsgiref/simple_server.pyr szServerHandler.closeN)__name__ __module__ __qualname__software_versionZserver_softwarerrrrrr sr c@s0eZdZdZddZddZddZdd ZdS) rNcCstj||jdS)N)r server_bind setup_environ)rrrrr0s zWSGIServer.server_bindcCsFi}|_|j|d<d|d<t|j|d<d|d<d|d<d|d<dS) NZ SERVER_NAMEzCGI/1.1ZGATEWAY_INTERFACEZ SERVER_PORT REMOTE_HOSTCONTENT_LENGTHZ SCRIPT_NAME) base_environZ server_namestrZ server_port)renvrrrr5s  zWSGIServer.setup_environcCs|jS)N) application)rrrrget_app?szWSGIServer.get_appcCs ||_dS)N)r )rr rrrset_appBszWSGIServer.set_app)rrrr rrr!r"rrrrr*s  c@s,eZdZdeZddZddZddZdS) rz WSGIServer/cCsT|jjj}|j|d<|j|d<|j|d<d|jkrH|jjdd\}}n |jd}}tj j |d|d<||d <|j }||j d kr||d <|j d |d <|j jd dkr|j j|d<n|j d |d<|j jd}|r||d<xn|j jD]`\}}|jddj}|j}||krqd||kr@|d|d|7<q||d|<qW|S)NZSERVER_PROTOCOLZSERVER_SOFTWAREZREQUEST_METHOD?r rz iso-8859-1Z PATH_INFOZ QUERY_STRINGrrZ REMOTE_ADDRz content-typeZ CONTENT_TYPEzcontent-lengthr-_ZHTTP_,)serverrcopyrequest_versionserver_versioncommandpathrurllibparseZunquoteZaddress_stringZclient_addressZheadersgetZget_content_typeitemsreplaceupperstrip)rrr,ZqueryhostZlengthkvrrr get_environKs8        zWSGIRequestHandler.get_environcCstjS)N)sysstderr)rrrr get_stderrpszWSGIRequestHandler.get_stderrcCs||jjd|_t|jdkr__all__r*versionr sys_versionrr rrrr rZhttpdZsocketZ getsocknameZsarEZ webbrowseropenZhandle_requestrrrr s*    B    PKVe[,YӪ++validate.cpython-36.opt-2.pycnu[3 \;;@sdgZddlZddlZddlZejdZejdZGdddeZddZ d d Z d dZ Gd d d Z GdddZ GdddZGdddZGdddZddZddZddZddZddZd d!Zd"d#Zd$d%ZdS)& validatorNz^[a-zA-Z][a-zA-Z0-9\-_]*$z [\000-\037]c@s eZdZdS) WSGIWarningN)__name__ __module__ __qualname__rr(/usr/lib64/python3.6/wsgiref/validate.pyrysrcGs|s t|dS)N)AssertionError)Zcondargsrrrassert_~sr cCs(t|tkr|Stdj|t|dS)Nz!{0} must be of type str (got {1}))typestrr formatrepr)valuetitlerrrcheck_string_types rcsfdd}|S)Ncstt|dkdt| d|\}t|gfdd}t|d|d<t|d|d<||}t|dk oz|dkd t|t|S) NzTwo arguments requiredzNo keyword arguments allowedcstt|dkpt|dkd|ft| d|d}|d}t|dkrV|d}nd}t|t|t||t|jdt|S)NrzInvalid number of arguments: %szNo keyword arguments allowedr)r len check_status check_headerscheck_content_typecheck_exc_infoappend WriteWrapper)r kwstatusheadersexc_info)start_responsestart_response_startedrrstart_response_wrappers      z;validator..lint_app..start_response_wrapperz wsgi.inputz wsgi.errorsFz>The application must return an iterator, if only an empty list)r r check_environ InputWrapper ErrorWrappercheck_iteratorIteratorWrapper)r renvironr#iterator) application)r!r"rlint_apps  zvalidator..lint_appr)r+r,r)r+rrs )c@s<eZdZddZddZddZddZd d Zd d Zd S)r%cCs ||_dS)N)input)self wsgi_inputrrr__init__szInputWrapper.__init__cGs0tt|dk|jj|}tt|tk|S)Nr)r rr-readr bytes)r.r vrrrr1s zInputWrapper.readcGs0tt|dk|jj|}tt|tk|S)Nr)r rr-readliner r2)r.r r3rrrr4s zInputWrapper.readlinecGsNtt|dk|jj|}tt|tkx|D]}tt|tkq2W|S)Nr)r rr- readlinesr listr2)r.r lineslinerrrr5s   zInputWrapper.readlinesccs x|j}|sdS|VqWdS)N)r4)r.r8rrr__iter__s zInputWrapper.__iter__cCstdddS)Nrz input.close() must not be called)r )r.rrrcloseszInputWrapper.closeN) rrrr0r1r4r5r9r:rrrrr%s r%c@s4eZdZddZddZddZddZd d Zd S) r&cCs ||_dS)N)errors)r. wsgi_errorsrrrr0szErrorWrapper.__init__cCs tt|tk|jj|dS)N)r r r r;write)r.srrrr=szErrorWrapper.writecCs|jjdS)N)r;flush)r.rrrr?szErrorWrapper.flushcCsx|D]}|j|qWdS)N)r=)r.seqr8rrr writeliness zErrorWrapper.writelinescCstdddS)Nrz!errors.close() must not be called)r )r.rrrr:szErrorWrapper.closeN)rrrr0r=r?rAr:rrrrr&s r&c@seZdZddZddZdS)rcCs ||_dS)N)writer)r.Z wsgi_writerrrrr0szWriteWrapper.__init__cCstt|tk|j|dS)N)r r r2rB)r.r>rrr__call__szWriteWrapper.__call__N)rrrr0rCrrrrrsrc@seZdZddZddZdS)PartialIteratorWrappercCs ||_dS)N)r*)r. wsgi_iteratorrrrr0szPartialIteratorWrapper.__init__cCs t|jdS)N)r(r*)r.rrrr9szPartialIteratorWrapper.__iter__N)rrrr0r9rrrrrDsrDc@s4eZdZddZddZddZddZd d Zd S) r(cCs ||_t||_d|_||_dS)NF)original_iteratoriterr*closedcheck_start_response)r.rErIrrrr0 s zIteratorWrapper.__init__cCs|S)Nr)r.rrrr9szIteratorWrapper.__iter__cCsTt|j dt|j}t|tk r4tdd|f|jdk rPt|jdd|_|S)NzIterator read after closedFz$Iterator yielded non-bytestring (%r)zjThe application returns and we started iterating over its body, but start_response has not yet been called)r rHnextr*r r2rI)r.r3rrr__next__s   zIteratorWrapper.__next__cCs d|_t|jdr|jjdS)NTr:)rHhasattrrFr:)r.rrrr:s zIteratorWrapper.closecCs"|jstjjdt|jddS)Nz/Iterator garbage collected without being closed)rHsysstderrr=r )r.rrr__del__#s zIteratorWrapper.__del__N)rrrr0r9rKr:rOrrrrr(s  r(c Cstt|tkdt||fx d,D]}t||kd |fq$Wx*d-D]"}t||kd||ddfqFWd|krtjdtxF|jD]:}d|krqtt||tkd|t||||fqWtt|dtkd|dft|dd.kd|dt |dt |d|dd/kros,  7#  #APKVe[JpKK"simple_server.cpython-36.opt-1.pycnu[3 \ @s dZddlmZmZddlZddlZddlmZddl m Z dZ ddd d gZ d e Z e d ejjdZe d eZGdddeZGdddeZGdddeZdd Zeefdd ZedkreddeBZejjZededdeddddlZejdejWdQRXdS)a!BaseHTTPServer that implements the Python WSGI protocol (PEP 3333) This is both an example of how WSGI can be implemented, and a basis for running simple web applications on a local machine, such as might be done when testing or debugging an application. It has not been reviewed for security issues, however, and we strongly recommend that you use a "real" web server for production use. For example usage, see the 'if __name__=="__main__"' block at the end of the module. See also the BaseHTTPServer module docs for other API information. )BaseHTTPRequestHandler HTTPServerN) SimpleHandler)python_implementationz0.2 WSGIServerWSGIRequestHandlerdemo_app make_serverz WSGIServer// c@seZdZeZddZdS) ServerHandlerc Cs4z"|jj|jjddd|jWdtj|XdS)Nr r)request_handlerZ log_requestZstatussplitZ bytes_sentrclose)selfr-/usr/lib64/python3.6/wsgiref/simple_server.pyr szServerHandler.closeN)__name__ __module__ __qualname__software_versionZserver_softwarerrrrrr sr c@s4eZdZdZdZddZddZddZd d ZdS) rz7BaseHTTPServer that implements the Python WSGI protocolNcCstj||jdS)z.Override server_bind to store the server name.N)r server_bind setup_environ)rrrrr0s zWSGIServer.server_bindcCsFi}|_|j|d<d|d<t|j|d<d|d<d|d<d|d<dS) NZ SERVER_NAMEzCGI/1.1ZGATEWAY_INTERFACEZ SERVER_PORT REMOTE_HOSTCONTENT_LENGTHZ SCRIPT_NAME) base_environZ server_namestrZ server_port)renvrrrr5s  zWSGIServer.setup_environcCs|jS)N) application)rrrrget_app?szWSGIServer.get_appcCs ||_dS)N)r )rr rrrset_appBszWSGIServer.set_app) rrr__doc__r rrr!r"rrrrr*s  c@s,eZdZdeZddZddZddZdS) rz WSGIServer/cCsT|jjj}|j|d<|j|d<|j|d<d|jkrH|jjdd\}}n |jd}}tj j |d|d<||d <|j }||j d kr||d <|j d |d <|j jd dkr|j j|d<n|j d |d<|j jd}|r||d<xn|j jD]`\}}|jddj}|j}||krqd||kr@|d|d|7<q||d|<qW|S)NZSERVER_PROTOCOLZSERVER_SOFTWAREZREQUEST_METHOD?r rz iso-8859-1Z PATH_INFOZ QUERY_STRINGrrZ REMOTE_ADDRz content-typeZ CONTENT_TYPEzcontent-lengthr-_ZHTTP_,)serverrcopyrequest_versionserver_versioncommandpathrurllibparseZunquoteZaddress_stringZclient_addressZheadersgetZget_content_typeitemsreplaceupperstrip)rrr-ZqueryhostZlengthkvrrr get_environKs8        zWSGIRequestHandler.get_environcCstjS)N)sysstderr)rrrr get_stderrpszWSGIRequestHandler.get_stderrcCs||jjd|_t|jdkrrrrrrGs%cCsvddlm}|}td|dt|dt|j}x$|D]\}}t|dt||dq:W|dd g|jjd gS) Nr)StringIOz Hello world!)file=z200 OK Content-Typetext/plain; charset=utf-8zutf-8)rCrD)ior@printsortedr1reprgetvalueencode)environZstart_responser@stdouthr6r7rrrrs     cCs|||f|}|j||S)zACreate a new WSGI server listening on `host` and `port` for `app`)r")r5portZappZ server_classZ handler_classr(rrrr s __main__ri@zServing HTTP onrNr z...zhttp://localhost:8000/xyz?abc) r#Z http.serverrrr9Z urllib.parser.Zwsgiref.handlersrplatformrr?__all__r+versionr sys_versionrr rrrr rZhttpdZsocketZ getsocknameZsarFZ webbrowseropenZhandle_requestrrrr s,    B    PKVe[qvI_I_handlers.cpython-36.opt-2.pycnu[3 OwhI @sddlZddlZddlZddlZddlZddlZddlZddlmZm Z m Z ddl Z y ddl Z Wne k rxdZ YnXdZdZdZdZdZdZd'ZGd d d ejZGd d d eZGdddeZGdddejZGdddejZGdddeZGdddejZGdddejZGdddejZGdddejZ GdddejZ!Gd d!d!e!Z"Gd"d#d#ejZ#e rGd$d%d%e$Z%dS)(N)ST_DEVST_INOST_MTIMEi<#i=#i>#i?#i<c@s.eZdZd ddZddZddZd d ZdS) BaseRotatingHandlerNFcCs0tjj|||||||_||_d|_d|_dS)N)logging FileHandler__init__modeencodingnamerrotator)selffilenamer r delayr(/usr/lib64/python3.6/logging/handlers.pyr 5s zBaseRotatingHandler.__init__c CsHy$|j|r|jtjj||Wntk rB|j|YnXdS)N)shouldRollover doRolloverrr emit Exception handleError)rrecordrrrr?s  zBaseRotatingHandler.emitcCst|js|}n |j|}|S)N)callabler )rZ default_nameresultrrrrotation_filenameMs  z%BaseRotatingHandler.rotation_filenamecCs4t|js$tjj|r0tj||n |j||dS)N)rrospathexistsrename)rsourcedestrrrrotate`s  zBaseRotatingHandler.rotate)NF)__name__ __module__ __qualname__r rrr#rrrrr/s rc@s&eZdZd ddZddZd d ZdS) RotatingFileHandlerarNFcCs.|dkr d}tj|||||||_||_dS)Nrr()rr maxBytes backupCount)rrr r)r*r rrrrr zs zRotatingFileHandler.__init__cCs|jr|jjd|_|jdkrxtt|jdddD]^}|jd|j|f}|jd|j|df}tjj|r4tjj|rtj |tj ||q4W|j|jd}tjj|rtj ||j |j||j s|j |_dS)Nrz%s.%dz.1)streamcloser*ranger baseFilenamerrrremover r#r_open)riZsfndfnrrrrs$        zRotatingFileHandler.doRollovercCs|tjj|jr"tjj|j r"dS|jdkr6|j|_|jdkrxd|j|}|jj dd|jj t ||jkrxdSdS)NFrz%s T) rrrr0isfiler-r2r)formatseektelllen)rrmsgrrrrs   z"RotatingFileHandler.shouldRollover)r(rrNF)r$r%r&r rrrrrrr'us r'c@s6eZdZdddZdd Zd d Zd d ZddZdS)TimedRotatingFileHandlerhr+rNFc Cstj||d|||j|_||_||_||_|jdkrNd|_d|_d|_ n|jdkrld|_d|_d |_ n|jd krd|_d |_d |_ n|jd ks|jdkrd|_d|_d|_ n|jj dr.d|_t |jdkrt d|j|jddks|jddkrt d|jt |jd|_d|_d|_ nt d|jtj|j tj|_ |j||_|j}tjj|r~tj|t} n t tj} |j| |_dS) Nr(Sr+z%Y-%m-%d_%H-%M-%Sz-^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}(\.\w+)?$Mrz%Y-%m-%d_%H-%Mz'^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}(\.\w+)?$Hz %Y-%m-%d_%Hz!^\d{4}-\d{2}-\d{2}_\d{2}(\.\w+)?$DMIDNIGHTrz%Y-%m-%dz^\d{4}-\d{2}-\d{2}(\.\w+)?$Wr5zHYou must specify a day for weekly rollover from 0 to 6 (0 is Monday): %s06z-Invalid day specified for weekly rollover: %sz'Invalid rollover interval specified: %siiiQiiQi: )rr upperwhenr*utcatTimeintervalsuffixextMatch startswithr: ValueErrorint dayOfWeekrecompileASCIIr0rrrstatrtimecomputeRollover rolloverAt) rrrHrKr*r rrIrJtrrrr sL        z!TimedRotatingFileHandler.__init__cCsd||j}|jdks"|jjdr`|jr4tj|}n tj|}|d}|d}|d}|d}|jdkrnt}n |jj d|jj d|jj }||d|d|} | dkr| t7} |d d }|| }|jjdr`|} | |j kr`| |j kr|j | } nd| |j d } || d} |js\|d} tj| d}| |kr\| sPd}nd }| |7} | }|S)NrBrCrrr+rDriiiQr,r,i) rKrHrNrIrVgmtime localtimerJ _MIDNIGHTZhourZminutesecondrQ)r currentTimerrYZ currentHourZ currentMinuteZ currentSecondZ currentDayZ rotate_tsrZdayZ daysToWait newRolloverAtdstNow dstAtRolloveraddendrrrrWsH           z(TimedRotatingFileHandler.computeRollovercCs@tjj|jr"tjj|j r"dSttj}||jkr|jjdrx|j rxtj| d } || krx|sld }nd}| |7} | |_dS) Nr+irhrrBrCr,r,ir,i)r-r.rPrVr_rXrKrIr^rr0ZstrftimerLrrrr1r#r*rprr2rWrHrN) rrbrerYZ timeTupleZdstThenrgr4srdrfrrrrtsH            $ z#TimedRotatingFileHandler.doRollover)r=r+rNFFN)r$r%r&r rWrrprrrrrr<s  9Ir<c@s.eZdZd ddZddZdd Zd d ZdS) WatchedFileHandlerr(NFcCs,tjj|||||d\|_|_|jdS)Nr+r,r,)r,r,)rr r devino _statstream)rrr r rrrrr s zWatchedFileHandler.__init__cCs0|jr,tj|jj}|t|t|_|_dS)N)r-rfstatfilenorrrsrt)rsresrrrruszWatchedFileHandler._statstreamc Csytj|j}Wntk r(d}YnX| sL|t|jksL|t|jkr|jdk r|jj |jj d|_|j |_|j dS)N) rrUr0FileNotFoundErrorrrsrrtr-flushr.r2ru)rrxrrrreopenIfNeededs  "    z!WatchedFileHandler.reopenIfNeededcCs|jtjj||dS)N)r{rr r)rrrrrrszWatchedFileHandler.emit)r(NF)r$r%r&r rur{rrrrrrrs rrc@sNeZdZddZdddZddZdd Zd d Zd d ZddZ ddZ dS) SocketHandlercCsZtjj|||_||_|dkr(||_n ||f|_d|_d|_d|_d|_ d|_ d|_ dS)NFg?g>@g@) rHandlerr hostportaddresssock closeOnError retryTime retryStartretryMax retryFactor)rr~rrrrr s  zSocketHandler.__init__r+c Csj|jdk rtj|j|d}nJtjtjtj}|j|y|j|jWntk rd|j YnX|S)N)timeout) rsocketZcreate_connectionrAF_UNIX SOCK_STREAMZ settimeoutconnectOSErrorr.)rrrrrr makeSockets  zSocketHandler.makeSocketc Cstj}|jdkrd}n ||jk}|ry|j|_d|_WnVtk r|jdkr^|j|_n"|j|j|_|j|jkr|j|_||j|_YnXdS)NT) rVrrrrrZ retryPeriodrr)rZnowZattemptrrr createSocket"s       zSocketHandler.createSocketc CsR|jdkr|j|jrNy|jj|Wn$tk rL|jjd|_YnXdS)N)rrsendallrr.)rrqrrrsend>s  zSocketHandler.sendcCsj|j}|r|j|}t|j}|j|d<d|d<d|d<|jddtj|d}tj dt |}||S)Nr;argsexc_infomessager+z>L) rr7dict__dict__Z getMessagepoppickledumpsstructZpackr:)rrZeiZdummydrqZslenrrr makePickleQs     zSocketHandler.makePicklecCs0|jr|jr|jjd|_ntjj||dS)N)rrr.rr}r)rrrrrrgs  zSocketHandler.handleErrorc Cs<y|j|}|j|Wntk r6|j|YnXdS)N)rrrr)rrrqrrrrus  zSocketHandler.emitc Cs@|jz(|j}|r"d|_|jtjj|Wd|jXdS)N)acquirerr.rr}release)rrrrrr.szSocketHandler.closeN)r+) r$r%r&r rrrrrrr.rrrrr|s  r|c@s$eZdZddZddZddZdS)DatagramHandlercCstj|||d|_dS)NF)r|r r)rr~rrrrr szDatagramHandler.__init__cCs*|jdkrtj}ntj}tj|tj}|S)N)rrrZAF_INET SOCK_DGRAM)rZfamilyrqrrrrs  zDatagramHandler.makeSocketcCs&|jdkr|j|jj||jdS)N)rrsendtor)rrqrrrrs zDatagramHandler.sendN)r$r%r&r rrrrrrrs  rc@seZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZeeee eeee eeeed Zeeeeee ee eeee eeeeeeeeedZ ddddddZ!de"fe dfdd Z#d!d"Z$d#d$Z%d%d&Z&d'd(Z'd)Z(d*Z)d+d,Z*dS)- SysLogHandlerrr+r5rZr[r\r]rD ) ZalertZcritcriticaldebugZemergerrerrorinfoZnoticeZpanicwarnwarning)ZauthZauthprivZcrondaemonZftpZkernZlprZmailZnewsZsecurityZsysloguserZuucpZlocal0Zlocal1Zlocal2Zlocal3Zlocal4Zlocal5Zlocal6Zlocal7rrrrr)DEBUGINFOWARNINGERRORCRITICALZ localhostNcCs0tjj|||_||_||_t|trTd|_y|j |Wnt k rPYnXnd|_|dkrht j }|\}}t j ||d|}|st dx|D]|}|\}}} } } d} } y(t j ||| } |t jkr| j| PWqt k r }z|} | dk r| jWYdd}~XqXqW| dk r | | |_ ||_dS)NTFrz!getaddrinfo returns an empty list)rr}r rfacilitysocktype isinstancestr unixsocket_connect_unixsocketrrrZ getaddrinforrr.)rrrrr~rZressresZafproto_Zsarrexcrrrr #sB      zSysLogHandler.__init__cCs|j}|dkrtj}tjtj||_y|jj|||_Wnxtk r|jj|jdk r`tj}tjtj||_y|jj|||_Wn tk r|jjYnXYnXdS)N)rrrrrrr.r)rrZ use_socktyperrrrYs&       z!SysLogHandler._connect_unixsocketcCs4t|tr|j|}t|tr(|j|}|d>|BS)NrZ)rrfacility_namespriority_names)rrZpriorityrrrencodePriorityqs     zSysLogHandler.encodePriorityc Cs2|jz|jjtjj|Wd|jXdS)N)rrr.rr}r)rrrrr.~s  zSysLogHandler.closecCs|jj|dS)Nr) priority_mapget)rZ levelNamerrr mapPriorityszSysLogHandler.mapPriorityTcCsy|j|}|jr|j|}|jr*|d7}d|j|j|j|j}|jd}|jd}||}|jry|j j |Wqt k r|j j |j |j|j j |YqXn*|jt jkr|j j||jn |j j|Wntk r|j|YnXdS)Nz<%d>zutf-8)r7ident append_nulrrrZ levelnameencoderrrrr.rrrrrrrr)rrr;Zpriorrrrs.        zSysLogHandler.emit)+r$r%r&Z LOG_EMERGZ LOG_ALERTZLOG_CRITZLOG_ERRZ LOG_WARNINGZ LOG_NOTICEZLOG_INFOZ LOG_DEBUGZLOG_KERNZLOG_USERZLOG_MAILZ LOG_DAEMONZLOG_AUTHZ LOG_SYSLOGZLOG_LPRZLOG_NEWSZLOG_UUCPZLOG_CRONZ LOG_AUTHPRIVZLOG_FTPZ LOG_LOCAL0Z LOG_LOCAL1Z LOG_LOCAL2Z LOG_LOCAL3Z LOG_LOCAL4Z LOG_LOCAL5Z LOG_LOCAL6Z LOG_LOCAL7rrrSYSLOG_UDP_PORTr rrr.rrrrrrrrrs5   rc@s&eZdZd ddZddZddZdS) SMTPHandlerN@cCstjj|t|ttfr(|\|_|_n|d|_|_t|ttfrR|\|_|_ nd|_||_ t|t rn|g}||_ ||_ ||_||_dS)N)rr}r rlisttuplemailhostmailportusernamepasswordfromaddrrtoaddrssubjectsecurer)rrrrr credentialsrrrrrr s  zSMTPHandler.__init__cCs|jS)N)r)rrrrr getSubjectszSMTPHandler.getSubjectc Csyddl}ddlm}ddl}|j}|s.|j}|j|j||jd}|}|j |d<dj |j |d<|j ||d<|j j|d<|j|j||jr|jdk r|j|j|j|j|j|j|j|j||jWntk r|j|YnXdS) Nr) EmailMessage)rZFrom,ZToZSubjectZDate)smtplibZ email.messagerZ email.utilsrZ SMTP_PORTZSMTPrrrrmrrZutilsr_Z set_contentr7rrZehloZstarttlsZloginrZ send_messagequitrr)rrrrZemailrZsmtpr;rrrrs0      zSMTPHandler.emit)NNr)r$r%r&r rrrrrrrs " rc@s>eZdZdddZddZddZd d Zd d Zd dZdS)NTEventLogHandlerN ApplicationcCstjj|yddl}ddl}||_||_|s`tjj |jj }tjj |d}tjj |dd}||_ ||_ |jj||||j|_tj|jtj|jtj|jtj|jtj|ji|_Wn"tk rtdd|_YnXdS)Nrzwin32service.pydzWThe Python Win32 extensions for NT (service, event logging) appear not to be available.)rr}r win32evtlogutil win32evtlogappname_welurrri__file__rmdllnamelogtypeZAddSourceToRegistryZEVENTLOG_ERROR_TYPEdeftyperZEVENTLOG_INFORMATION_TYPErrZEVENTLOG_WARNING_TYPErrtypemap ImportErrorprint)rrrrrrrrrr s* zNTEventLogHandler.__init__cCsdS)Nr+r)rrrrr getMessageID.szNTEventLogHandler.getMessageIDcCsdS)Nrr)rrrrrgetEventCategory8sz"NTEventLogHandler.getEventCategorycCs|jj|j|jS)N)rrlevelnor)rrrrr getEventTypeAs zNTEventLogHandler.getEventTypec Csn|jrjyD|j|}|j|}|j|}|j|}|jj|j||||gWntk rh|j|YnXdS)N) rrrrr7Z ReportEventrrr)rridcattyper;rrrrNs    zNTEventLogHandler.emitcCstjj|dS)N)rr}r.)rrrrr._s zNTEventLogHandler.close)Nr) r$r%r&r rrrrr.rrrrr s     rc@s&eZdZd ddZddZdd ZdS) HTTPHandlerGETFNcCsbtjj||j}|dkr$td| r:|dk r:td||_||_||_||_||_ ||_ dS)NrPOSTzmethod must be GET or POSTz3context parameter only makes sense with secure=True)rr) rr}r rGrOr~urlmethodrrcontext)rr~rrrrrrrrr qs zHTTPHandler.__init__cCs|jS)N)r)rrrrr mapLogRecordszHTTPHandler.mapLogRecordc CsxyPddl}ddl}|j}|jr4|jj||jd}n |jj|}|j}|j j |j |}|j dkr|j ddkrvd}nd}|d||f}|j|j ||j d} | dkr|d| }|j dkr|jd d |jd tt||jr$ddl} d |jjd } d| j| jjd} |jd| |j|j dkrH|j|jd |jWn tk rr|j|YnXdS)Nr)rr?&z%c%s:rz Content-typez!application/x-www-form-urlencodedzContent-lengthz%s:%szutf-8zBasic asciiZ Authorization)Z http.clientZ urllib.parser~rZclientZHTTPSConnectionrZHTTPConnectionrparseZ urlencoderrfindZ putrequestZ putheaderrr:rbase64rZ b64encodestripdecodeZ endheadersrZ getresponserr) rrZhttpZurllibr~r=rdatasepr3rrqrrrrs@        zHTTPHandler.emit)rFNN)r$r%r&r rrrrrrrls rc@s4eZdZddZddZddZddZd d Zd S) BufferingHandlercCstjj|||_g|_dS)N)rr}r capacitybuffer)rr rrrr s zBufferingHandler.__init__cCst|j|jkS)N)r:r r )rrrrr shouldFlushszBufferingHandler.shouldFlushcCs"|jj||j|r|jdS)N)r rlr rz)rrrrrrs  zBufferingHandler.emitc Cs"|jz g|_Wd|jXdS)N)rr r)rrrrrzs zBufferingHandler.flushc Cs z |jWdtjj|XdS)N)rzrr}r.)rrrrr.s zBufferingHandler.closeN)r$r%r&r r rrzr.rrrrr s    r c@s>eZdZejddfddZddZddZd d Zd d Z dS) MemoryHandlerNTcCs"tj||||_||_||_dS)N)r r flushLeveltarget flushOnClose)rr rrrrrrr s zMemoryHandler.__init__cCst|j|jkp|j|jkS)N)r:r r rr)rrrrrr szMemoryHandler.shouldFlushcCs ||_dS)N)r)rrrrr setTargetszMemoryHandler.setTargetc CsD|jz,|jr2x|jD]}|jj|qWg|_Wd|jXdS)N)rrr handler)rrrrrrzs  zMemoryHandler.flushcCsBz|jr|jWd|jzd|_tj|Wd|jXXdS)N)rrzrrr r.r)rrrrr.,s zMemoryHandler.close) r$r%r&rrr r rrzr.rrrrrs  rc@s,eZdZddZddZddZddZd S) QueueHandlercCstjj|||_dS)N)rr}r queue)rrrrrr Hs zQueueHandler.__init__cCs|jj|dS)N)r put_nowait)rrrrrenqueueOszQueueHandler.enqueuecCs"|j||j|_d|_d|_|S)N)r7rr;rr)rrrrrprepareYs  zQueueHandler.preparec Cs8y|j|j|Wntk r2|j|YnXdS)N)rrrr)rrrrrrrszQueueHandler.emitN)r$r%r&r rrrrrrrr=s  rc@sVeZdZdZddddZddZdd Zd d Zd d ZddZ ddZ ddZ dS) QueueListenerNF)respect_handler_levelcGs||_||_d|_||_dS)N)rhandlers_threadr)rrrrrrrr szQueueListener.__init__cCs |jj|S)N)rr)rblockrrrdequeueszQueueListener.dequeuecCs&tj|jd|_}d|_|jdS)N)rT) threadingZThread_monitorrrstart)rrYrrrr!szQueueListener.startcCs|S)Nr)rrrrrrszQueueListener.preparecCsD|j|}x4|jD]*}|js"d}n |j|jk}|r|j|qWdS)NT)rrrrlevelr)rrZhandlerZprocessrrrrs   zQueueListener.handlec Csd|j}t|d}xNy0|jd}||jkr*P|j||r@|jWqtjk rZPYqXqWdS)N task_doneT)rhasattrr _sentinelrr#ZEmpty)rqZ has_task_donerrrrr s     zQueueListener._monitorcCs|jj|jdS)N)rrr%)rrrrenqueue_sentinelszQueueListener.enqueue_sentinelcCs|j|jjd|_dS)N)r'rrm)rrrrstops zQueueListener.stop) r$r%r&r%r rr!rrr r'r(rrrrr~s     riiQ)&rrrrrrVrRrUrrrrrrZDEFAULT_TCP_LOGGING_PORTZDEFAULT_UDP_LOGGING_PORTZDEFAULT_HTTP_LOGGING_PORTZDEFAULT_SOAP_LOGGING_PORTrZSYSLOG_TCP_PORTr`r rr'r<rrr}r|rrrrrr rrobjectrrrrrs@8  FOcE(*PbO9I@PKVe[0,uKuKutil.cpython-36.opt-1.pycnu[3 ft`O@svddlmZddlmZddlmZddlmZmZddlmZm Z ddl Z ddl Z ddl Z ddl Z ddlZ ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZejdZe j j!d kre j j!ndZ"e"j#Z$d d Z%d^d d Z&d_ddZ'ddZ(ddZ)ddZ*ddZ+ddZ,ddZ-ddZ.dd Z/d!d"Z0d#d$Z1d%d&Z2d'd(Z3d)d*Z4d+d,Z5d-d.Z6d/d0Z7d1d2Z8d3d4Z9d5d6Z:d7d8Z;d9d:ZZ>d?d@Z?dAdBZ@dCdDZAd`dFdGZBdHdIejCfdJdKZDdLdMZEdNdOZFdPdQZGdRdSZHGdTdUdUeIZJGdVdWdWeKZLGdXdYdYeMZNdZd[ZOd\d]ZPdS)a)print_function)absolute_import)unicode_literals)PY3 basestring)_ucdNdnfZyumcCst|dgt|dgt|dgt}x|D]}||kr>q0|j|tjjj|d}|jdrr|jj|q0|r|d kr|jj|q0|j d r|j j|d d q0|j j|q0Wd S)a Categorize :param values list into packages, groups and filenames :param namespace: argparse.Namespace, where specs will be stored :param values: list of specs, whether packages ('foo') or groups/modules ('@bar') or filenames ('*.rmp', 'http://*', ...) To access packages use: specs.pkg_specs, to access groups use: specs.grp_specs, to access filenames use: specs.filenames filenames grp_specs pkg_specsrz.rpmhttpftpfilehttps@rN)rrrr) setattrsetaddr pycompZurlparseendswithr append startswithr r ) namespacevaluesZtmp_setvalueZschemesr/usr/lib/python3.6/util.py _parse_specs7s        rcCs|dkrtjj}tjj|||}tjj|jr6|jSt |j g}|j d||j g}yt jjjt jj|dWnBtk r}z&|jrtt|tjt|WYdd}~XnX|jS)NrT)r callbackZNullDownloadProgressrepoZRemoteRPMPayloadospathexistsZ local_pathsumZ download_sizestartZ_librepo_targetlibdnfZ PackageTargetZdownloadPackagesZVectorPPackageTarget RuntimeErrorstrictIOErrorstrloggererror)urlconfZprogressZploadZest_remote_sizeZtargetserrr_urlopen_progressWs      r1w+bcKstrd|kr|jddtj|f|}y<|r@|jj||jn tjj j |rR|j nd||jWn.t k r}zt t|WYdd}~XnX|jd|S)z| Open the specified absolute url, return a file object which respects proxy setting even for non-repo downloads bencodingzutf-8Nr)r setdefaulttempfileZNamedTemporaryFileZ_repoZ downloadUrlfilenor'r!Z DownloaderZ downloadURLZ_configr(r*r+seek)r.r/r!modekwargsZfor0rrr_urlopenhs  $ r;cCs |j|r|dt| }|S)N)rlen)srrrrrtrim|s r?cCs tjdkS)Nr)r"geteuidrrrr am_i_rootsrAcCs.x(tj|D]}tjj||}t|q WdS)zBRemove all files and dirs under `path` Also see rm_rf() N)r"listdirr#joinrm_rf)r#entryZcontained_pathrrr clear_dirsrFcCsXytj|ddWn@tk rR}z$|jtjks>tjj| rB|WYdd}~XnXdS)Ni)r9)r"makedirsOSErrorerrnoZEEXISTr#isdir)Zdnamer0rrr ensure_dirs rKcCsJg}|}xsz!first_not_none..)rWrXrY)rTrZrrrfirst_not_nones r_cCstjt|S)N)timefile_timestamp)fnrrrfile_agesrccCs tj|jS)N)r"statst_mtime)rbrrrrasrac Cs4ytjtjdStk r.dtjSXdS)NrzUID: %s)pwdgetpwuidr"r@KeyErrorrrrrget_effective_loginsricCs(x"|D]}|j|}|dkr|SqW|S)z!Like dict.get() for nested dicts.N)get)ZdctkeysZ not_foundkrrrget_ins   rmcsfdd}tj||ggfS)Ncs|t| j||S)N)boolr)Zaccr])rbrrsplittersz!group_by_filter..splitter) functoolsreduce)rbrTror)rbrgroup_by_filters rrccs&x |D]}||r|V|VqWdS)z/Insert an item into an iterable by a condition.Nr)r]rT conditionZ original_itemrrr insert_ifs rtc Cs*y t|Wntk r dSXdSdS)z&Test whether an iterator is exhausted.TFN)rXrY)iteratorrrr is_exhausteds  rvcCs*t|r|g}t|to(tdd|DS)Ncss|]}t|td@VqdS)z*[?N)r)r\prrrr^sz"is_glob_pattern..)is_string_type isinstancerSany)patternrrris_glob_patternsr|cCstrt|tSt|tSdS)N)rryr+r)objrrrrxs rxcsfdd}|S)zDecorator to get lazy attribute initialization. Composes with @property. Force reinitialization by deleting the . csfdd}|S)Nc s8y t|Stk r2|}t|||SXdS)N)getattrAttributeErrorr)r}val)attrnamerbrr cached_getters   z6lazyattr..get_decorated..cached_getterr)rbr)r)rbr get_decoratedszlazyattr..get_decoratedr)rrr)rrlazyattrs rcGstt|f|S)zLike functools.map(), but return a list instead of an iterator. This means all side effects of fn take place even without iterating the result. )rSmap)rbseqrrrmapall srcCs8tjdtj|}tjjs4tjd}|r4|j|}|S)z6Convert time into locale aware datetime string object.z%cr) r`ZstrftimeZ localtimer rrlocaleZ getlocaledecode)Z timestamptZcurrent_locale_settingrrrnormalize_times   rcCszy\d}ddtj|D}t|dkrZ|d}tdj||}|j}t|dkSQRXdSttfk rtdSXdS)zDecide whether we are on line power. Returns True if we are on line power, False if not, None if it can not be decided. z/sys/class/power_supplycSsg|]}|jdr|qS)ZAC)r)r\Znoderrr &szon_ac_power..rz {}/{}/onlinerN) r"rBr<openformatreadintr* ValueError)Z ps_folderZac_nodesZac_nodeZ ac_statusdatarrr on_ac_powers rcCsy ddl}Wntk r dSXy0|j}|jdd}|j|d}|jdd}Wn|jk rhdSX|dkrvdS|dkrd S|dkrd Std |dS)zDecide whether we are on metered connection. Returns: True: if on metered connection False: if not None: if it can not be decided rNzorg.freedesktop.NetworkManagerz/org/freedesktop/NetworkManagerzorg.freedesktop.DBus.PropertiesZMeteredrTFz&Unknown value for metered property: %r)rr)rr)dbus ImportErrorZ SystemBusZ get_objectZ InterfaceZGetZ DBusExceptionr)rZbusproxyZifaceZmeteredrrron_metered_connection1s&  rcCs&tj|\}}tjj||t||fS)zUse a predicate to partition entries into false entries and true entries. Credit: Python library itertools' documentation. ) itertoolsteer r filterfalsefilter)ZpredrTZt1Zt2rrr partitionNsrc Cs(ytj|Wntk r"YnXdS)N)shutilZrmtreerH)r#rrrrDWsrDc#sFtfdd}t||}||Vx||}|s8P|Vq*WdS)zSplit an iterable into tuples by a condition. Inserts a separator before each item which meets the condition and then cuts the iterable by these separators. csttjfdd|S)Ncs|kS)Nr)r0) separatorrrgsz4split_by..next_subsequence..)tupler takewhile)rZ)rrrnext_subsequencefsz"split_by..next_subsequenceN)objectrt)rTrsrZmarkedZ subsequencer)rrsplit_by]s   rcCs|j|r|t|dSdS)N)rr<)r=prefixrrr strip_prefixus rFc Cs8|stj|tjrtj|dSt|dWdQRXdS)z{Create an empty file if it doesn't exist or bump it's timestamps. If no_create is True only bumps the timestamps. Na)r"accessF_OKutimer)r#Z no_createrrrtouch{s  rwritecCsyh|dkr|j|nP|dkr(|jn>|dkrD|j||jn"|dkrZt||dn td|Wn>tk r}z"tjdjt|j t |WYdd}~XnXdS)NrflushZ write_flushprint)rzUnsupported type: z{}: {}) rrrrr*r,criticalrtype__name__r )tpmsgoutr0rrr_terminal_messengers    rcCsnd}t|dk}xXt|ddD]H\}}|rD|dtdd|7}n|dtdd7}|dj|7}qW|S) z Format string about problems in resolve :param resolve_problems: list with list of strings (output of goal.problem_rules()) :return: string rr)r&z ZProblemz %d: z: z - )r< enumeraterrC)Zresolve_problemsrZcount_problemsiZrsrrr_format_resolve_problemss rcCsX|jd}|jdk r4|jdkr4||jd7}||jd|jd|jS)N-0:.)NEVRA)ZteZnevrarrr _te_nevras rcCstjdxH|D]@}|j}d}|dk r.|j}djt||||j}tj|qWx:|D]2}djt||j|j|j |j |j }tj|qZWdS)NzLogging transaction elementsz@RPM element: '{}', Key(): '{}', Key state: '{}', Failed() '{}': z^SWDB element: '{}', State: '{}', Action: '{}', From repo: '{}', Reason: '{}', Get reason: '{}') r,debugKeystaterrFailedr+actionZ from_reporeasonZ get_reason)rpm_transactionswdb_transactionrpm_eltsiZ tsi_staterrrr_log_rpm_trans_with_swdbs    rc CsVtjjtjjtjjtjjtjjh}dd|D}d}d}x|D]}t|}|j}|dksft |d rx:|D]2} | j tjj krql| j |krqlt | |krl| }PqlW|dkst |d rtjtdj|d}q>|jrtjj|_ d}q>tjj|_ q>Wx6|D].}|j tjj krtjtdjt |d}qW|rBtjtd|rRt||dS) NcSsg|]}|qSrr)r\rrrrrsz-_sync_rpm_trans_with_swdb..FZpkgz%TransactionItem not found for key: {}Tz)TransactionSWDBItem not found for key: {}z#Errors occurred during transaction.)r' transactionZ TransactionItemAction_DOWNGRADEDZTransactionItemAction_OBSOLETEDTransactionItemAction_REMOVEZTransactionItemAction_UPGRADEDZ!TransactionItemAction_REINSTALLEDrrhasattrrZTransactionItemState_UNKNOWNrr+r,rrrrTransactionItemState_ERRORZTransactionItemState_DONErr) rrZrevert_actionsZ cached_tsiZ el_not_foundr-rZte_nevrarZ tsi_candidaterrr_sync_rpm_trans_with_swdbsH       rc@s$eZdZddZddZddZdS)tmpdircCsdtjj}tj|d|_dS)Nz%s-)r)r constZPREFIXr6Zmkdtempr#)selfrrrr__init__s ztmpdir.__init__cCs|jS)N)r#)rrrr __enter__sztmpdir.__enter__cCst|jdS)N)rDr#)rexc_type exc_value tracebackrrr__exit__sztmpdir.__exit__N)r __module__ __qualname__rrrrrrrrsrcs(eZdZdZfddZddZZS)BunchzDictionary with attribute accessing syntax. In DNF, prefer using this over dnf.yum.misc.GenericHolder. Credit: Alex Martelli, Doug Hudgeon cstt|j||||_dS)N)superrr__dict__)rargskwds) __class__rrrszBunch.__init__cCst|S)N)id)rrrr__hash__szBunch.__hash__)rrr__doc__rr __classcell__rr)rrrs rcs,eZdZfddZddZddZZS) MultiCallListcstt|j|j|dS)N)rrrextend)rrT)rrrrszMultiCallList.__init__csfdd}|S)Ncsfdd}tt|S)Ncst|}|S)N)r~)vmethod)rr:whatrr call_what s z8MultiCallList.__getattr__..fn..call_what)rSr)rr:r)rr)rr:rrb sz%MultiCallList.__getattr__..fnr)rrrbr)rrr __getattr__ szMultiCallList.__getattr__csfdd}tt||S)Ncst|dS)N)r)r])rrrrsettersz)MultiCallList.__setattr__..setter)rSr)rrrrr)rrr __setattr__szMultiCallList.__setattr__)rrrrrrrrr)rrrs rc Csntgggggggggggd }xF|D]<}|jtjjkrJ|jj|q(|jtjjkrf|j j|q(|jtjj kr|j tjj kr|j j|nD|j tjjkr|jj|n(|j tjjkr|jj|n |jj|q(|jtjjkr|jj|q(|jtjjkrL|j tjjkr |jj|n*|j tjjkr>|jj|n |jj|q(|jtjjkr(|jj|q(W|S)N) downgradederased erased_clean erased_dep installedinstalled_group installed_depinstalled_weak reinstalledupgradedfailed)rrr'rrrrrZTransactionItemAction_DOWNGRADErZTransactionItemAction_INSTALLrZTransactionItemReason_GROUPrZ TransactionItemReason_DEPENDENCYrZ%TransactionItemReason_WEAK_DEPENDENCYrrZTransactionItemAction_REINSTALLrrZTransactionItemReason_CLEANrrrZTransactionItemAction_UPGRADEr)rr3rrrr _make_listssH rc sfdd}tjj|}jd|d\}}|j|}g}xtd|jftd|jftd|j|j |j |j ftd|j ftd |ftd |j |j|jftd |jfgD]&\} } |j|| t| tj|d qW|S) alReturns a human-readable summary of the results of the transaction. :param action_callback: function generating output for specific action. It takes two parameters - action as a string and list of affected packages for this action :return: a list of lines containing a human-readable summary of the results of the transaction cs|j|jk|j|jk}|dkr$|Stj|j|j|j|j|jd}tj|j|j|j|j|jd}|j|j}|dkrz|S|j|jk|j|jkS)zCompares two transaction items or packages by nevra. Used as a fallback when tsi does not contain package object. r)nameepochversionreleasearch) rhawkeyZNEVRArrrrZevr_cmpZsack)Zitem1Zitem2retZnevra1Znevra2)baserr_tsi_or_pkg_nevra_cmpPsz7_post_transaction_output.._tsi_or_pkg_nevra_cmpF)Zreport_problemsrZUpgradedZ DowngradedZ InstalledZ ReinstalledZSkippedZRemovedr)key)r utilrZ_skipped_packagesunionrrrrrrrrrrrrrsortedrp cmp_to_key) rrZaction_callbackr Z list_bunchZskipped_conflictsZskipped_brokenZskippedrrZtsisr)rr_post_transaction_outputFs(       r)N)NNr2)F)QZ __future__rrrrrrZdnf.i18nrr argparser Z dnf.callbackZ dnf.constZ dnf.pycomprIrprrrZloggingr"rfrsysr6r`Z libdnf.repor'Zlibdnf.transactionZ getLoggerr,ArgumentParserprogZ MAIN_PROGupperZMAIN_PROG_UPPERrr1r;r?rArFrKrQrVr[r_rcrarirmrrrtrvr|rxrrrrrrrDrrrstdoutrrrrrrrdictrrSrrrrrrrs              ( -PKVe[:ܸheaders.cpython-36.opt-1.pycnu[3 \n@s2dZddlZejdZd ddZGdddZdS) zManage HTTP Response Headers Much of this module is red-handedly pilfered from email.message in the stdlib, so portions are Copyright (C) 2001,2002 Python Software Foundation, and were written by Barry Warsaw. Nz[ \(\)<>@,;:\\"/\[\]\?=]cCsX|dk rPt|dkrP|s"tj|rB|jddjdd}d||fSd||fSn|SdS) z~Convenience function to format and return a key=value pair. This will quote the value if needed or if quote is true. Nr\z\\"z\"z%s="%s"z%s=%s)len tspecialssearchreplace)ZparamvalueZquoter '/usr/lib64/python3.6/wsgiref/headers.py _formatparam s  r c@seZdZdZd%ddZddZddZd d Zd d Zd dZ ddZ ddZ d&ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$ZdS)'Headersz,Manage a collection of HTTP response headersNcCs.|dk r |ng}t|tk r$td||_dS)Nz+Headers must be a list of name/value tuples)typelist TypeError_headers)selfZheadersr r r __init__s  zHeaders.__init__cCs&t|tkr|Stdjt|dS)zConvert/check value type.z1Header names/values must be of type str (got {0})N)rstrAssertionErrorformatrepr)rr r r r _convert_string_type)s zHeaders._convert_string_typecCs t|jS)z9Return the total number of headers, including duplicates.)rr)rr r r __len__0szHeaders.__len__cCs&||=|jj|j||j|fdS)zSet the value of a header.N)rappendr)rnamevalr r r __setitem__4szHeaders.__setitem__cs0|jjfdd|jD|jdd<dS)zyDelete all occurrences of a header, if present. Does *not* raise an exception if the header is missing. cs g|]}|djkr|qS)r)lower).0kv)rr r @sz'Headers.__delitem__..N)rrr)rrr )rr __delitem__:szHeaders.__delitem__cCs |j|S)aHGet the first header value for 'name' Return None if the header is missing instead of raising an exception. Note that if the header appeared multiple times, the first exactly which occurrence gets returned is undefined. Use getall() to get all the values matching a header field name. )get)rrr r r __getitem__Bs zHeaders.__getitem__cCs|j|dk S)z/Return true if the message contains the header.N)r#)rrr r r __contains__MszHeaders.__contains__cs"|jjfdd|jDS)aqReturn a list of all the values for the named field. These will be sorted in the order they appeared in the original header list or were added to this instance, and may contain duplicates. Any fields deleted and re-inserted are always appended to the header list. If no fields exist with the given name, returns an empty list. cs$g|]}|djkr|dqS)rr)r)rr )rr r r![sz#Headers.get_all..)rrr)rrr )rr get_allRszHeaders.get_allcCs6|j|j}x"|jD]\}}|j|kr|SqW|S)z:Get the first header value for 'name', or return 'default')rrr)rrdefaultkvr r r r#^s  z Headers.getcCsdd|jDS)a*Return a list of all the header field names. These will be sorted in the order they appeared in the original header list, or were added to this instance, and may contain duplicates. Any fields deleted and re-inserted are always appended to the header list. cSsg|] \}}|qSr r )rr(r)r r r r!osz Headers.keys..)r)rr r r keysgsz Headers.keyscCsdd|jDS)a!Return a list of all header values. These will be sorted in the order they appeared in the original header list, or were added to this instance, and may contain duplicates. Any fields deleted and re-inserted are always appended to the header list. cSsg|] \}}|qSr r )rr(r)r r r r!ysz"Headers.values..)r)rr r r valuesqszHeaders.valuescCs|jddS)aGet all the header fields and values. These will be sorted in the order they were in the original header list, or were added to this instance, and may contain duplicates. Any fields deleted and re-inserted are always appended to the header list. N)r)rr r r items{sz Headers.itemscCsd|jj|jfS)Nz%s(%r)) __class____name__r)rr r r __repr__szHeaders.__repr__cCsdjdd|jDddgS)zkstr() returns the formatted headers, complete with end line, suitable for direct HTTP transmission.z cSsg|] }d|qS)z%s: %sr )rr r r r r!sz#Headers.__str__..)joinr)rr r r __str__szHeaders.__str__cCst|jdS)Nz iso-8859-1)rencode)rr r r __bytes__szHeaders.__bytes__cCs:|j|}|dkr2|jj|j||j|f|S|SdS)zReturn first matching header value for 'name', or 'value' If there is no header named 'name', add a new header with name 'name' and value 'value'.N)r#rrr)rrr resultr r r setdefaults  zHeaders.setdefaultcKsg}|dk r |j|}|j|x\|jD]P\}}|j|}|dkrX|j|jddq*|j|}|jt|jdd|q*W|jj|j|dj|fdS)afExtended header setting. _name is the header field to add. keyword arguments can be used to set additional parameters for the header field, with underscores converted to dashes. Normally the parameter will be added as key="value" unless value is None, in which case only the key will be added. Example: h.add_header('content-disposition', 'attachment', filename='bud.gif') Note that unlike the corresponding 'email.message' method, this does *not* handle '(charset, language, value)' tuples: all values must be strings or None. N_-z; )rrr,rr rr1)r_nameZ_valueZ_paramspartsr(r)r r r add_headers    zHeaders.add_header)N)N)r. __module__ __qualname____doc__rrrrr"r$r%r&r#r*r+r,r/r2r4r6r;r r r r r s$       r )Nr)r>recompilerr r r r r r s  PKVe[exB[DDutil.cpython-36.opt-2.pycnu[3 \-@sddlZddlZddlZddlZejdkrBddZddZddZejd krlejd krldd l m Z d dZnejd krddl Z ddl Z d dZejdkrddZnddZejjd%rddZddZn6ejdkrddZd&ddZnddZdd Zd!dZd"d#Zed$kredS)'NntcCsd}tjj|}|d krdS|t|}tj|djdd\}}t|dd d}|dkrf|d7}t|ddd}|dkrd }|dkr||SdS) NzMSC v.  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr#/usr/lib64/python3.6/ctypes/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d7}|d S) Nrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s rcCst|dkrtSx`tjdjtjD]J}tjj||}tjj|rD|S|jj drTq"|d}tjj|r"|Sq"WdS)NcmPATHz.dll)r r!) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s  r,posixdarwin) dyld_findc CsLd|d|d||fg}x,|D]$}yt|Stk rBw Yq Xq WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r+possiblerrrr,Hs  c !Cstjdtj|}tjd}|s,tjd}|s4dStj}z||dd|jd|g}t tj }d|d<d|d <yt j |t j t j|d }Wntk rdSX||jj}WdQRXWdy |jWntk rYnXXtj||}|sdStj|jd S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*gccZccz-Wl,-tz-oz-lCLC_ALLLANG)stdoutstderrenvr)r#fsencodereescapeshutilwhichtempfileZNamedTemporaryFiler+dictr$ subprocessPopenPIPEZSTDOUTOSErrorr7readcloseFileNotFoundErrorsearchfsdecodegroup) r+exprZ c_compilerZtempargsr9procZtraceresrrr _findLib_gccWs:      rOZsunos5cCsz|sdSytjdd|ftjtjd}Wntk r:dSX||jj}WdQRXtjd|}|sjdSt j |j dS)Nz/usr/ccs/bin/dumpz-Lpv)r7r8s\[.*\]\sSONAME\s+([^\s]+)r) rArBrCDEVNULLrDr7rEr;rHr#rIrJ)frMdatarNrrr _get_sonames  rScCs|sdStjd}|sdSy"tj|ddd|ftjtjd}Wntk rPdSX||jj}WdQRXt j d|}|sdSt j |j dS)Nobjdumpz-pz-jz.dynamic)r7r8s\sSONAME\s+([^\s]+)r)r=r>rArBrCrPrDr7rEr;rHr#rIrJ)rQrTrMdumprNrrrrSs"  freebsdopenbsd dragonflyc CsR|jd}g}y"x|r,|jdt|jqWWntk rDYnX|pPtjgS)N.r)rinsertrpopr1r maxsize)ZlibnamepartsZnumsrrr _num_versions r^cCstj|}d||f}tj|}ytjdtjtjd}Wntk rPd}YnX||j j }WdQRXtj ||}|st t |S|jtdtj|d S) Nz:-l%s\.\S+ => \S*/(lib%s\.\S+)/sbin/ldconfig-r)r7r8)keyr)r_r`r )r;r<r#r:rArBrCrPrDr7rEfindallrSrOsortr^rI)r+ZenamerKrMrRrNrrrr,s        c CstjjdsdSttj}d|d<|r,d }nd }d}ytj|tjtj|d}Wnt k rbdSX|:x2|j D](}|j }|j drrtj |jd}qrWWdQRX|sdSx4|jdD]&}tjj|d |}tjj|r|SqWdS) N /usr/bin/crler4r5-64)r7r8r9sDefault Library Path (ELF)::zlib%s.so)rerf)re)r#r&existsr@r$rArBrCrPrDr7strip startswithrIrr') r+is64r9rLpathsrMlinedirZlibfilerrr _findLib_crles6       rpFcCstt||pt|S)N)rSrprO)r+rlrrrr,scCsddl}|jddkr&tjjd}ntjjd}dddddd }|j|d }d }tj|tj||f}yZt j d d gt j t j t j dddd,}tj ||jj}|rtj|jdSWdQRXWntk rYnXdS)Nrlrgz-32z-64z libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pr4)r5r6)stdinr8r7r9r)structZcalcsizer#unamemachinegetr:r;r<rArBrPrCrHr7rErIrJrD)r+rsruZmach_mapZabi_typeZregexprNrrr_findSoname_ldconfigs.  rxc Csdtj|}ddg}tjjd}|rHx |jdD]}|jd|gq2W|jdtjd|gd}yFtj |tj tj d d }|j \}}tj |tj |} | r| jd }Wn"tk r} zWYdd} ~ XnX|S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*Zldz-tZLD_LIBRARY_PATHrhz-Lz-oz-l%sT)r7r8Zuniversal_newlinesr)r;r<r#r$rvrextenddevnullrArBrCZ communicaterHrIrJ Exception) r+rKcmdZlibpathrresultrwout_rNerrr _findLib_lds&   rcCst|ptt|pt|S)N)rxrSrOr)r+rrrr,,scCsddlm}tjdkr:t|jt|jdttdtjdkrttdttdttdtj d krt|j d t|j d t|j d t|j d n(t|j dt|j dttddS)Nr)cdllrrr-r!r bz2r.z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemzlibm.soz libcrypt.soZcrypt) Zctypesrr#r+printrloadr,r platformZ LoadLibrary)rrrrtest4s"         r__main__)rVrWrX)F)r#r=rAr r+rrr,rZctypes.macholib.dyldr/r0r;r?rOrSrkr^rprxrr__name__rrrrs8   +     $  PKVe[u 99validate.cpython-36.pycnu[3 \;;@sdZdgZddlZddlZddlZejdZejdZGdddeZ dd Z d d Z d dZ Gd ddZ GdddZGdddZGdddZGdddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&ZdS)'a& Middleware to check for obedience to the WSGI specification. Some of the things this checks: * Signature of the application and start_response (including that keyword arguments are not used). * Environment checks: - Environment is a dictionary (and not a subclass). - That all the required keys are in the environment: REQUEST_METHOD, SERVER_NAME, SERVER_PORT, wsgi.version, wsgi.input, wsgi.errors, wsgi.multithread, wsgi.multiprocess, wsgi.run_once - That HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH are not in the environment (these headers should appear as CONTENT_LENGTH and CONTENT_TYPE). - Warns if QUERY_STRING is missing, as the cgi module acts unpredictably in that case. - That CGI-style variables (that don't contain a .) have (non-unicode) string values - That wsgi.version is a tuple - That wsgi.url_scheme is 'http' or 'https' (@@: is this too restrictive?) - Warns if the REQUEST_METHOD is not known (@@: probably too restrictive). - That SCRIPT_NAME and PATH_INFO are empty or start with / - That at least one of SCRIPT_NAME or PATH_INFO are set. - That CONTENT_LENGTH is a positive integer. - That SCRIPT_NAME is not '/' (it should be '', and PATH_INFO should be '/'). - That wsgi.input has the methods read, readline, readlines, and __iter__ - That wsgi.errors has the methods flush, write, writelines * The status is a string, contains a space, starts with an integer, and that integer is in range (> 100). * That the headers is a list (not a subclass, not another kind of sequence). * That the items of the headers are tuples of strings. * That there is no 'status' header (that is used in CGI, but not in WSGI). * That the headers don't contain newlines or colons, end in _ or -, or contain characters codes below 037. * That Content-Type is given if there is content (CGI often has a default content type, but WSGI does not). * That no Content-Type is given when there is no content (@@: is this too restrictive?) * That the exc_info argument to start_response is a tuple or None. * That all calls to the writer are with strings, and no other methods on the writer are accessed. * That wsgi.input is used properly: - .read() is called with zero or one argument - That it returns a string - That readline, readlines, and __iter__ return strings - That .close() is not called - No other methods are provided * That wsgi.errors is used properly: - .write() and .writelines() is called with a string - That .close() is not called, and no other methods are provided. * The response iterator: - That it is not a string (it should be a list of a single string; a string will work, but perform horribly). - That .__next__() returns a string - That the iterator is not iterated over until start_response has been called (that can signal either a server or application error). - That .close() is called (doesn't raise exception, only prints to sys.stderr, because we only know it isn't called when the object is garbage collected). validatorNz^[a-zA-Z][a-zA-Z0-9\-_]*$z [\000-\037]c@seZdZdZdS) WSGIWarningz: Raised in response to WSGI-spec-related warnings N)__name__ __module__ __qualname____doc__rr(/usr/lib64/python3.6/wsgiref/validate.pyrysrcGs|s t|dS)N)AssertionError)Zcondargsrrr assert_~sr cCs(t|tkr|Stdj|t|dS)Nz!{0} must be of type str (got {1}))typestrr formatrepr)valuetitlerrr check_string_types rcsfdd}|S)a When applied between a WSGI server and a WSGI application, this middleware will check for WSGI compliancy on a number of levels. This middleware does not modify the request or response in any way, but will raise an AssertionError if anything seems off (except for a failure to close the application iterator, which will be printed to stderr -- there's no way to raise an exception at that point). cstt|dkdt| d|\}t|gfdd}t|d|d<t|d|d<||}t|dk oz|dkd t|t|S) NzTwo arguments requiredzNo keyword arguments allowedcstt|dkpt|dkd|ft| d|d}|d}t|dkrV|d}nd}t|t|t||t|jdt|S)NrzInvalid number of arguments: %szNo keyword arguments allowedr)r len check_status check_headerscheck_content_typecheck_exc_infoappend WriteWrapper)r kwstatusheadersexc_info)start_responsestart_response_startedrr start_response_wrappers      z;validator..lint_app..start_response_wrapperz wsgi.inputz wsgi.errorsFz>The application must return an iterator, if only an empty list)r r check_environ InputWrapper ErrorWrappercheck_iteratorIteratorWrapper)r renvironr$iterator) application)r"r#r lint_apps  zvalidator..lint_appr)r,r-r)r,r rs )c@s<eZdZddZddZddZddZd d Zd d Zd S)r&cCs ||_dS)N)input)self wsgi_inputrrr __init__szInputWrapper.__init__cGs0tt|dk|jj|}tt|tk|S)Nr)r rr.readr bytes)r/r vrrr r2s zInputWrapper.readcGs0tt|dk|jj|}tt|tk|S)Nr)r rr.readliner r3)r/r r4rrr r5s zInputWrapper.readlinecGsNtt|dk|jj|}tt|tkx|D]}tt|tkq2W|S)Nr)r rr. readlinesr listr3)r/r lineslinerrr r6s   zInputWrapper.readlinesccs x|j}|sdS|VqWdS)N)r5)r/r9rrr __iter__s zInputWrapper.__iter__cCstdddS)Nrz input.close() must not be called)r )r/rrr closeszInputWrapper.closeN) rrrr1r2r5r6r:r;rrrr r&s r&c@s4eZdZddZddZddZddZd d Zd S) r'cCs ||_dS)N)errors)r/ wsgi_errorsrrr r1szErrorWrapper.__init__cCs tt|tk|jj|dS)N)r r rr<write)r/srrr r>szErrorWrapper.writecCs|jjdS)N)r<flush)r/rrr r@szErrorWrapper.flushcCsx|D]}|j|qWdS)N)r>)r/seqr9rrr writeliness zErrorWrapper.writelinescCstdddS)Nrz!errors.close() must not be called)r )r/rrr r;szErrorWrapper.closeN)rrrr1r>r@rBr;rrrr r's r'c@seZdZddZddZdS)rcCs ||_dS)N)writer)r/Z wsgi_writerrrr r1szWriteWrapper.__init__cCstt|tk|j|dS)N)r r r3rC)r/r?rrr __call__szWriteWrapper.__call__N)rrrr1rDrrrr rsrc@seZdZddZddZdS)PartialIteratorWrappercCs ||_dS)N)r+)r/ wsgi_iteratorrrr r1szPartialIteratorWrapper.__init__cCs t|jdS)N)r)r+)r/rrr r:szPartialIteratorWrapper.__iter__N)rrrr1r:rrrr rEsrEc@s4eZdZddZddZddZddZd d Zd S) r)cCs ||_t||_d|_||_dS)NF)original_iteratoriterr+closedcheck_start_response)r/rFrJrrr r1 s zIteratorWrapper.__init__cCs|S)Nr)r/rrr r:szIteratorWrapper.__iter__cCsTt|j dt|j}t|tk r4tdd|f|jdk rPt|jdd|_|S)NzIterator read after closedFz$Iterator yielded non-bytestring (%r)zjThe application returns and we started iterating over its body, but start_response has not yet been called)r rInextr+r r3rJ)r/r4rrr __next__s   zIteratorWrapper.__next__cCs d|_t|jdr|jjdS)NTr;)rIhasattrrGr;)r/rrr r;s zIteratorWrapper.closecCs"|jstjjdt|jddS)Nz/Iterator garbage collected without being closed)rIsysstderrr>r )r/rrr __del__#s zIteratorWrapper.__del__N)rrrr1r:rLr;rPrrrr r)s  r)c Cstt|tkdt||fx d,D]}t||kd |fq$Wx*d-D]"}t||kd||ddfqFWd|krtjdtxF|jD]:}d|krqtt||tkd|t||||fqWtt|dtkd|dft|dd.kd|dt |dt |d|dd/krrBz.wsgi.errors (%r) doesn't have the attribute %s)r@r>rB)r rM)r=rtrrr roqs  rocCsvt|d}|jddd}tt|dkd|t|}t|dkd|t|dksb|dd krrtjd |tdS) NStatusrrrz)Status codes must be three characters: %rdzStatus code is invalid: %r zjThe status string (%r) should be a three-digit integer followed by a single space and a status explanation)rsplitr rrrrjrkr)rZ status_codeZ status_intrrr rws   rcCstt|tkd|t|fi}x|D]}tt|tkd|t|ftt|dk|\}}t|d}t|d}t|jdkd|d||j<td|kod |kd |ttj|d |t|j d  o|j d  d|t j|r(tdd|t j|j dfq(WdS)Nz%Headers (%r) must be of type list: %rz1Individual headers (%r) must be of type tuple: %rrz Header namez Header valuerzyThe Status header cannot be used; it conflicts with CGI script, and HTTP status is not given through headers (value: %r). :z,Header names may not contain ':' or '\n': %rzBad header name: %r-_z#Names may not end in '-' or '_': %rrz#Bad header value: %r (bad char: %r)) r r r7rmrrlower header_researchendswithbad_header_value_regroup)r Z header_namesitemnamerrrr rs0          rcCs~t|d}t|jddd}d }x@|D]8\}}t|d}|jdkr(||krRdStdd|q(W||krztdd |dS) Nrurr0z Header namez content-typezJContent-Type header found in a %s response, which must not return content.z,No Content-Type header found in headers (%s))rr)rrrryr~r )rr codeZNO_MESSAGE_BODYrrrrr rs    rcCs*t|dkpt|tkd|t|fdS)Nz exc_info (%r) is not a tuple: %r)r r rm)r!rrr rsrcCstt|ttf ddS)NzwYou should not return a string as your application iterator, instead return a single-item list containing a bytestring.)r isinstancerr3)r+rrr r(sr()r__all__rerNrjcompilerrWarningrr rrr&r'rrEr)r%rnrorrrrr(rrrr ns.  7#  #APKVe[JpKKsimple_server.cpython-36.pycnu[3 \ @s dZddlmZmZddlZddlZddlmZddl m Z dZ ddd d gZ d e Z e d ejjdZe d eZGdddeZGdddeZGdddeZdd Zeefdd ZedkreddeBZejjZededdeddddlZejdejWdQRXdS)a!BaseHTTPServer that implements the Python WSGI protocol (PEP 3333) This is both an example of how WSGI can be implemented, and a basis for running simple web applications on a local machine, such as might be done when testing or debugging an application. It has not been reviewed for security issues, however, and we strongly recommend that you use a "real" web server for production use. For example usage, see the 'if __name__=="__main__"' block at the end of the module. See also the BaseHTTPServer module docs for other API information. )BaseHTTPRequestHandler HTTPServerN) SimpleHandler)python_implementationz0.2 WSGIServerWSGIRequestHandlerdemo_app make_serverz WSGIServer// c@seZdZeZddZdS) ServerHandlerc Cs4z"|jj|jjddd|jWdtj|XdS)Nr r)request_handlerZ log_requestZstatussplitZ bytes_sentrclose)selfr-/usr/lib64/python3.6/wsgiref/simple_server.pyr szServerHandler.closeN)__name__ __module__ __qualname__software_versionZserver_softwarerrrrrr sr c@s4eZdZdZdZddZddZddZd d ZdS) rz7BaseHTTPServer that implements the Python WSGI protocolNcCstj||jdS)z.Override server_bind to store the server name.N)r server_bind setup_environ)rrrrr0s zWSGIServer.server_bindcCsFi}|_|j|d<d|d<t|j|d<d|d<d|d<d|d<dS) NZ SERVER_NAMEzCGI/1.1ZGATEWAY_INTERFACEZ SERVER_PORT REMOTE_HOSTCONTENT_LENGTHZ SCRIPT_NAME) base_environZ server_namestrZ server_port)renvrrrr5s  zWSGIServer.setup_environcCs|jS)N) application)rrrrget_app?szWSGIServer.get_appcCs ||_dS)N)r )rr rrrset_appBszWSGIServer.set_app) rrr__doc__r rrr!r"rrrrr*s  c@s,eZdZdeZddZddZddZdS) rz WSGIServer/cCsT|jjj}|j|d<|j|d<|j|d<d|jkrH|jjdd\}}n |jd}}tj j |d|d<||d <|j }||j d kr||d <|j d |d <|j jd dkr|j j|d<n|j d |d<|j jd}|r||d<xn|j jD]`\}}|jddj}|j}||krqd||kr@|d|d|7<q||d|<qW|S)NZSERVER_PROTOCOLZSERVER_SOFTWAREZREQUEST_METHOD?r rz iso-8859-1Z PATH_INFOZ QUERY_STRINGrrZ REMOTE_ADDRz content-typeZ CONTENT_TYPEzcontent-lengthr-_ZHTTP_,)serverrcopyrequest_versionserver_versioncommandpathrurllibparseZunquoteZaddress_stringZclient_addressZheadersgetZget_content_typeitemsreplaceupperstrip)rrr-ZqueryhostZlengthkvrrr get_environKs8        zWSGIRequestHandler.get_environcCstjS)N)sysstderr)rrrr get_stderrpszWSGIRequestHandler.get_stderrcCs||jjd|_t|jdkrrrrrrGs%cCsvddlm}|}td|dt|dt|j}x$|D]\}}t|dt||dq:W|dd g|jjd gS) Nr)StringIOz Hello world!)file=z200 OK Content-Typetext/plain; charset=utf-8zutf-8)rCrD)ior@printsortedr1reprgetvalueencode)environZstart_responser@stdouthr6r7rrrrs     cCs|||f|}|j||S)zACreate a new WSGI server listening on `host` and `port` for `app`)r")r5portZappZ server_classZ handler_classr(rrrr s __main__ri@zServing HTTP onrNr z...zhttp://localhost:8000/xyz?abc) r#Z http.serverrrr9Z urllib.parser.Zwsgiref.handlersrplatformrr?__all__r+versionr sys_versionrr rrrr rZhttpdZsocketZ getsocknameZsarFZ webbrowseropenZhandle_requestrrrr s,    B    PKVe[u 99validate.cpython-36.opt-1.pycnu[3 \;;@sdZdgZddlZddlZddlZejdZejdZGdddeZ dd Z d d Z d dZ Gd ddZ GdddZGdddZGdddZGdddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&ZdS)'a& Middleware to check for obedience to the WSGI specification. Some of the things this checks: * Signature of the application and start_response (including that keyword arguments are not used). * Environment checks: - Environment is a dictionary (and not a subclass). - That all the required keys are in the environment: REQUEST_METHOD, SERVER_NAME, SERVER_PORT, wsgi.version, wsgi.input, wsgi.errors, wsgi.multithread, wsgi.multiprocess, wsgi.run_once - That HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH are not in the environment (these headers should appear as CONTENT_LENGTH and CONTENT_TYPE). - Warns if QUERY_STRING is missing, as the cgi module acts unpredictably in that case. - That CGI-style variables (that don't contain a .) have (non-unicode) string values - That wsgi.version is a tuple - That wsgi.url_scheme is 'http' or 'https' (@@: is this too restrictive?) - Warns if the REQUEST_METHOD is not known (@@: probably too restrictive). - That SCRIPT_NAME and PATH_INFO are empty or start with / - That at least one of SCRIPT_NAME or PATH_INFO are set. - That CONTENT_LENGTH is a positive integer. - That SCRIPT_NAME is not '/' (it should be '', and PATH_INFO should be '/'). - That wsgi.input has the methods read, readline, readlines, and __iter__ - That wsgi.errors has the methods flush, write, writelines * The status is a string, contains a space, starts with an integer, and that integer is in range (> 100). * That the headers is a list (not a subclass, not another kind of sequence). * That the items of the headers are tuples of strings. * That there is no 'status' header (that is used in CGI, but not in WSGI). * That the headers don't contain newlines or colons, end in _ or -, or contain characters codes below 037. * That Content-Type is given if there is content (CGI often has a default content type, but WSGI does not). * That no Content-Type is given when there is no content (@@: is this too restrictive?) * That the exc_info argument to start_response is a tuple or None. * That all calls to the writer are with strings, and no other methods on the writer are accessed. * That wsgi.input is used properly: - .read() is called with zero or one argument - That it returns a string - That readline, readlines, and __iter__ return strings - That .close() is not called - No other methods are provided * That wsgi.errors is used properly: - .write() and .writelines() is called with a string - That .close() is not called, and no other methods are provided. * The response iterator: - That it is not a string (it should be a list of a single string; a string will work, but perform horribly). - That .__next__() returns a string - That the iterator is not iterated over until start_response has been called (that can signal either a server or application error). - That .close() is called (doesn't raise exception, only prints to sys.stderr, because we only know it isn't called when the object is garbage collected). validatorNz^[a-zA-Z][a-zA-Z0-9\-_]*$z [\000-\037]c@seZdZdZdS) WSGIWarningz: Raised in response to WSGI-spec-related warnings N)__name__ __module__ __qualname____doc__rr(/usr/lib64/python3.6/wsgiref/validate.pyrysrcGs|s t|dS)N)AssertionError)Zcondargsrrr assert_~sr cCs(t|tkr|Stdj|t|dS)Nz!{0} must be of type str (got {1}))typestrr formatrepr)valuetitlerrr check_string_types rcsfdd}|S)a When applied between a WSGI server and a WSGI application, this middleware will check for WSGI compliancy on a number of levels. This middleware does not modify the request or response in any way, but will raise an AssertionError if anything seems off (except for a failure to close the application iterator, which will be printed to stderr -- there's no way to raise an exception at that point). cstt|dkdt| d|\}t|gfdd}t|d|d<t|d|d<||}t|dk oz|dkd t|t|S) NzTwo arguments requiredzNo keyword arguments allowedcstt|dkpt|dkd|ft| d|d}|d}t|dkrV|d}nd}t|t|t||t|jdt|S)NrzInvalid number of arguments: %szNo keyword arguments allowedr)r len check_status check_headerscheck_content_typecheck_exc_infoappend WriteWrapper)r kwstatusheadersexc_info)start_responsestart_response_startedrr start_response_wrappers      z;validator..lint_app..start_response_wrapperz wsgi.inputz wsgi.errorsFz>The application must return an iterator, if only an empty list)r r check_environ InputWrapper ErrorWrappercheck_iteratorIteratorWrapper)r renvironr$iterator) application)r"r#r lint_apps  zvalidator..lint_appr)r,r-r)r,r rs )c@s<eZdZddZddZddZddZd d Zd d Zd S)r&cCs ||_dS)N)input)self wsgi_inputrrr __init__szInputWrapper.__init__cGs0tt|dk|jj|}tt|tk|S)Nr)r rr.readr bytes)r/r vrrr r2s zInputWrapper.readcGs0tt|dk|jj|}tt|tk|S)Nr)r rr.readliner r3)r/r r4rrr r5s zInputWrapper.readlinecGsNtt|dk|jj|}tt|tkx|D]}tt|tkq2W|S)Nr)r rr. readlinesr listr3)r/r lineslinerrr r6s   zInputWrapper.readlinesccs x|j}|sdS|VqWdS)N)r5)r/r9rrr __iter__s zInputWrapper.__iter__cCstdddS)Nrz input.close() must not be called)r )r/rrr closeszInputWrapper.closeN) rrrr1r2r5r6r:r;rrrr r&s r&c@s4eZdZddZddZddZddZd d Zd S) r'cCs ||_dS)N)errors)r/ wsgi_errorsrrr r1szErrorWrapper.__init__cCs tt|tk|jj|dS)N)r r rr<write)r/srrr r>szErrorWrapper.writecCs|jjdS)N)r<flush)r/rrr r@szErrorWrapper.flushcCsx|D]}|j|qWdS)N)r>)r/seqr9rrr writeliness zErrorWrapper.writelinescCstdddS)Nrz!errors.close() must not be called)r )r/rrr r;szErrorWrapper.closeN)rrrr1r>r@rBr;rrrr r's r'c@seZdZddZddZdS)rcCs ||_dS)N)writer)r/Z wsgi_writerrrr r1szWriteWrapper.__init__cCstt|tk|j|dS)N)r r r3rC)r/r?rrr __call__szWriteWrapper.__call__N)rrrr1rDrrrr rsrc@seZdZddZddZdS)PartialIteratorWrappercCs ||_dS)N)r+)r/ wsgi_iteratorrrr r1szPartialIteratorWrapper.__init__cCs t|jdS)N)r)r+)r/rrr r:szPartialIteratorWrapper.__iter__N)rrrr1r:rrrr rEsrEc@s4eZdZddZddZddZddZd d Zd S) r)cCs ||_t||_d|_||_dS)NF)original_iteratoriterr+closedcheck_start_response)r/rFrJrrr r1 s zIteratorWrapper.__init__cCs|S)Nr)r/rrr r:szIteratorWrapper.__iter__cCsTt|j dt|j}t|tk r4tdd|f|jdk rPt|jdd|_|S)NzIterator read after closedFz$Iterator yielded non-bytestring (%r)zjThe application returns and we started iterating over its body, but start_response has not yet been called)r rInextr+r r3rJ)r/r4rrr __next__s   zIteratorWrapper.__next__cCs d|_t|jdr|jjdS)NTr;)rIhasattrrGr;)r/rrr r;s zIteratorWrapper.closecCs"|jstjjdt|jddS)Nz/Iterator garbage collected without being closed)rIsysstderrr>r )r/rrr __del__#s zIteratorWrapper.__del__N)rrrr1r:rLr;rPrrrr r)s  r)c Cstt|tkdt||fx d,D]}t||kd |fq$Wx*d-D]"}t||kd||ddfqFWd|krtjdtxF|jD]:}d|krqtt||tkd|t||||fqWtt|dtkd|dft|dd.kd|dt |dt |d|dd/krrBz.wsgi.errors (%r) doesn't have the attribute %s)r@r>rB)r rM)r=rtrrr roqs  rocCsvt|d}|jddd}tt|dkd|t|}t|dkd|t|dksb|dd krrtjd |tdS) NStatusrrrz)Status codes must be three characters: %rdzStatus code is invalid: %r zjThe status string (%r) should be a three-digit integer followed by a single space and a status explanation)rsplitr rrrrjrkr)rZ status_codeZ status_intrrr rws   rcCstt|tkd|t|fi}x|D]}tt|tkd|t|ftt|dk|\}}t|d}t|d}t|jdkd|d||j<td|kod |kd |ttj|d |t|j d  o|j d  d|t j|r(tdd|t j|j dfq(WdS)Nz%Headers (%r) must be of type list: %rz1Individual headers (%r) must be of type tuple: %rrz Header namez Header valuerzyThe Status header cannot be used; it conflicts with CGI script, and HTTP status is not given through headers (value: %r). :z,Header names may not contain ':' or '\n': %rzBad header name: %r-_z#Names may not end in '-' or '_': %rrz#Bad header value: %r (bad char: %r)) r r r7rmrrlower header_researchendswithbad_header_value_regroup)r Z header_namesitemnamerrrr rs0          rcCs~t|d}t|jddd}d }x@|D]8\}}t|d}|jdkr(||krRdStdd|q(W||krztdd |dS) Nrurr0z Header namez content-typezJContent-Type header found in a %s response, which must not return content.z,No Content-Type header found in headers (%s))rr)rrrryr~r )rr codeZNO_MESSAGE_BODYrrrrr rs    rcCs*t|dkpt|tkd|t|fdS)Nz exc_info (%r) is not a tuple: %r)r r rm)r!rrr rsrcCstt|ttf ddS)NzwYou should not return a string as your application iterator, instead return a single-item list containing a bytestring.)r isinstancerr3)r+rrr r(sr()r__all__rerNrjcompilerrWarningrr rrr&r'rrEr)r%rnrorrrrr(rrrr ns.  7#  #APKVe[ llhandlers.cpython-36.pycnu[3 OwhI @sdZddlZddlZddlZddlZddlZddlZddlZddlm Z m Z m Z ddl Z y ddl Z Wnek r|dZ YnXdZdZdZdZdZdZd(ZGd d d ejZGd ddeZGdddeZGdddejZGdddejZGdddeZGdddejZGdddejZGdddejZ GdddejZ!Gdd d ejZ"Gd!d"d"e"Z#Gd#d$d$ejZ$e rGd%d&d&e%Z&dS))z Additional handlers for the logging package for Python. The core package is based on PEP 282 and comments thereto in comp.lang.python. Copyright (C) 2001-2016 Vinay Sajip. All Rights Reserved. To use, simply 'import logging.handlers' and log away! N)ST_DEVST_INOST_MTIMEi<#i=#i>#i?#i<c@s2eZdZdZd ddZddZdd Zd d ZdS) BaseRotatingHandlerz Base class for handlers that rotate log files at a certain point. Not meant to be instantiated directly. Instead, use RotatingFileHandler or TimedRotatingFileHandler. NFcCs0tjj|||||||_||_d|_d|_dS)zA Use the specified filename for streamed logging N)logging FileHandler__init__modeencodingnamerrotator)selffilenamer r delayr(/usr/lib64/python3.6/logging/handlers.pyr 5s zBaseRotatingHandler.__init__c CsHy$|j|r|jtjj||Wntk rB|j|YnXdS)z Emit a record. Output the record to the file, catering for rollover as described in doRollover(). N)shouldRollover doRolloverrr emit Exception handleError)rrecordrrrr?s  zBaseRotatingHandler.emitcCst|js|}n |j|}|S)a Modify the filename of a log file when rotating. This is provided so that a custom filename can be provided. The default implementation calls the 'namer' attribute of the handler, if it's callable, passing the default name to it. If the attribute isn't callable (the default is None), the name is returned unchanged. :param default_name: The default name for the log file. )callabler )rZ default_nameresultrrrrotation_filenameMs  z%BaseRotatingHandler.rotation_filenamecCs4t|js$tjj|r0tj||n |j||dS)aL When rotating, rotate the current log. The default implementation calls the 'rotator' attribute of the handler, if it's callable, passing the source and dest arguments to it. If the attribute isn't callable (the default is None), the source is simply renamed to the destination. :param source: The source filename. This is normally the base filename, e.g. 'test.log' :param dest: The destination filename. This is normally what the source is rotated to, e.g. 'test.log.1'. N)rrospathexistsrename)rsourcedestrrrrotate`s  zBaseRotatingHandler.rotate)NF)__name__ __module__ __qualname____doc__r rrr#rrrrr/s  rc@s*eZdZdZd ddZdd Zd d ZdS) RotatingFileHandlerz Handler for logging to a set of files, which switches from one file to the next when the current file reaches a certain size. arNFcCs.|dkr d}tj|||||||_||_dS)a Open the specified file and use it as the stream for logging. By default, the file grows indefinitely. You can specify particular values of maxBytes and backupCount to allow the file to rollover at a predetermined size. Rollover occurs whenever the current log file is nearly maxBytes in length. If backupCount is >= 1, the system will successively create new files with the same pathname as the base file, but with extensions ".1", ".2" etc. appended to it. For example, with a backupCount of 5 and a base file name of "app.log", you would get "app.log", "app.log.1", "app.log.2", ... through to "app.log.5". The file being written to is always "app.log" - when it gets filled up, it is closed and renamed to "app.log.1", and if files "app.log.1", "app.log.2" etc. exist, then they are renamed to "app.log.2", "app.log.3" etc. respectively. If maxBytes is zero, rollover never occurs. rr)N)rr maxBytes backupCount)rrr r*r+r rrrrr zs zRotatingFileHandler.__init__cCs|jr|jjd|_|jdkrxtt|jdddD]^}|jd|j|f}|jd|j|df}tjj|r4tjj|rtj |tj ||q4W|j|jd}tjj|rtj ||j |j||j s|j |_dS)z< Do a rollover, as described in __init__(). Nrz%s.%dz.1)streamcloser+ranger baseFilenamerrrremover r#r_open)riZsfndfnrrrrs$        zRotatingFileHandler.doRollovercCs|tjj|jr"tjj|j r"dS|jdkr6|j|_|jdkrxd|j|}|jj dd|jj t ||jkrxdSdS)z Determine if rollover should occur. Basically, see if the supplied record would cause the file to exceed the size limit we have. FNrz%s T) rrrr1isfiler.r3r*formatseektelllen)rrmsgrrrrs   z"RotatingFileHandler.shouldRollover)r)rrNF)r$r%r&r'r rrrrrrr(us r(c@s:eZdZdZdddZd d Zd d Zd dZddZdS)TimedRotatingFileHandlerz Handler for logging to a file, rotating the log file at certain timed intervals. If backupCount is > 0, when rollover is done, no more than backupCount files are kept - the oldest ones are deleted. hr,rNFc Cstj||d|||j|_||_||_||_|jdkrNd|_d|_d|_ n|jdkrld|_d|_d |_ n|jd krd|_d |_d |_ n|jd ks|jdkrd|_d|_d|_ n|jj dr.d|_t |jdkrt d|j|jddks|jddkrt d|jt |jd|_d|_d|_ nt d|jtj|j tj|_ |j||_|j}tjj|r~tj|t} n t tj} |j| |_dS) Nr)Sr,z%Y-%m-%d_%H-%M-%Sz-^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}(\.\w+)?$Mrz%Y-%m-%d_%H-%Mz'^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}(\.\w+)?$Hz %Y-%m-%d_%Hz!^\d{4}-\d{2}-\d{2}_\d{2}(\.\w+)?$DMIDNIGHTrz%Y-%m-%dz^\d{4}-\d{2}-\d{2}(\.\w+)?$Wr6zHYou must specify a day for weekly rollover from 0 to 6 (0 is Monday): %s06z-Invalid day specified for weekly rollover: %sz'Invalid rollover interval specified: %siiiQiiQi: )rr upperwhenr+utcatTimeintervalsuffixextMatch startswithr; ValueErrorint dayOfWeekrecompileASCIIr1rrrstatrtimecomputeRollover rolloverAt) rrrIrLr+r rrJrKtrrrr sL        z!TimedRotatingFileHandler.__init__cCsd||j}|jdks"|jjdr`|jr4tj|}n tj|}|d}|d}|d}|d}|jdkrnt}n |jj d|jj d|jj }||d|d|} | d kr| t7} |d d }|| }|jjdr`|} | |j kr`| |j kr|j | } nd| |j d } || d} |js\|d} tj| d}| |kr\| sPd}nd }| |7} | }|S)zI Work out the rollover time based on the specified time. rCrDNrrr,rEriiiQr-r-i) rLrIrOrJrWgmtime localtimerK _MIDNIGHTZhourZminutesecondrR)r currentTimerrZZ currentHourZ currentMinuteZ currentSecondZ currentDayZ rotate_tsrZdayZ daysToWait newRolloverAtdstNow dstAtRolloveraddendrrrrXsH           z(TimedRotatingFileHandler.computeRollovercCs@tjj|jr"tjj|j r"dSttj}||jkr|jjdrx|j rxtj| d } || krx|sld }nd}| |7} | |_dS) ax do a rollover; in this case, a date/time stamp is appended to the filename when the rollover happens. However, you want the file to be named for the start of the interval, not the current time. If there is a backup count, then we have to get a list of matching filenames, sort them and remove the one with the oldest suffix. Nr,irirrCrDr-r-ir-i)r.r/rQrWr`rYrLrJr_rr1ZstrftimerMrrrr2r#r+rqrr3rXrIrO) rrcrfrZZ timeTupleZdstThenrhr5srergrrrrtsH            $ z#TimedRotatingFileHandler.doRollover)r>r,rNFFN) r$r%r&r'r rXrrqrrrrrr=s  9Ir=c@s2eZdZdZd ddZddZd d Zd d ZdS)WatchedFileHandlera A handler for logging to a file, which watches the file to see if it has changed while in use. This can happen because of usage of programs such as newsyslog and logrotate which perform log file rotation. This handler, intended for use under Unix, watches the file to see if it has changed since the last emit. (A file has changed if its device or inode have changed.) If it has changed, the old file stream is closed, and the file opened to get a new stream. This handler is not appropriate for use under Windows, because under Windows open files cannot be moved or renamed - logging opens the files with exclusive locks - and so there is no need for such a handler. Furthermore, ST_INO is not supported under Windows; stat always returns zero for this value. This handler is based on a suggestion and patch by Chad J. Schroeder. r)NFcCs,tjj|||||d\|_|_|jdS)Nr,r-r-)r-r-)rr r devino _statstream)rrr r rrrrr s zWatchedFileHandler.__init__cCs0|jr,tj|jj}|t|t|_|_dS)N)r.rfstatfilenorrrtru)rsresrrrrvszWatchedFileHandler._statstreamc Csytj|j}Wntk r(d}YnX| sL|t|jksL|t|jkr|jdk r|jj |jj d|_|j |_|j dS)z Reopen log file if needed. Checks if the underlying file has changed, and if it has, close the old stream and reopen the file to get the current stream. N) rrVr1FileNotFoundErrorrrtrrur.flushr/r3rv)rryrrrreopenIfNeededs  "    z!WatchedFileHandler.reopenIfNeededcCs|jtjj||dS)z Emit a record. If underlying file has changed, reopen the file before emitting the record to it. N)r|rr r)rrrrrrszWatchedFileHandler.emit)r)NF)r$r%r&r'r rvr|rrrrrrss  rsc@sReZdZdZddZdddZddZd d Zd d Zd dZ ddZ ddZ dS) SocketHandlera A handler class which writes logging records, in pickle format, to a streaming socket. The socket is kept open across logging calls. If the peer resets it, an attempt is made to reconnect on the next call. The pickle which is sent is that of the LogRecord's attribute dictionary (__dict__), so that the receiver does not need to have the logging module installed in order to process the logging event. To unpickle the record at the receiving end into a LogRecord, use the makeLogRecord function. cCsZtjj|||_||_|dkr(||_n ||f|_d|_d|_d|_d|_ d|_ d|_ dS)a Initializes the handler with a specific host address and port. When the attribute *closeOnError* is set to True - if a socket error occurs, the socket is silently closed and then reopened on the next logging call. NFg?g>@g@) rHandlerr hostportaddresssock closeOnError retryTime retryStartretryMax retryFactor)rrrrrrr s  zSocketHandler.__init__r,c Csj|jdk rtj|j|d}nJtjtjtj}|j|y|j|jWntk rd|j YnX|S)zr A factory method which allows subclasses to define the precise type of socket they want. N)timeout) rsocketZcreate_connectionrAF_UNIX SOCK_STREAMZ settimeoutconnectOSErrorr/)rrrrrr makeSockets  zSocketHandler.makeSocketc Cstj}|jdkrd}n ||jk}|ry|j|_d|_WnVtk r|jdkr^|j|_n"|j|j|_|j|jkr|j|_||j|_YnXdS)z Try to create a socket, using an exponential backoff with a max retry time. Thanks to Robert Olson for the original patch (SF #815911) which has been slightly refactored. NT) rWrrrrrZ retryPeriodrr)rZnowZattemptrrr createSocket"s       zSocketHandler.createSocketc CsR|jdkr|j|jrNy|jj|Wn$tk rL|jjd|_YnXdS)z Send a pickled string to the socket. This function allows for partial sends which can happen when the network is busy. N)rrsendallrr/)rrrrrrsend>s  zSocketHandler.sendcCsj|j}|r|j|}t|j}|j|d<d|d<d|d<|jddtj|d}tj dt |}||S)z Pickles the record in binary format with a length prefix, and returns it ready for transmission across the socket. r<Nargsexc_infomessager,z>L) rr8dict__dict__Z getMessagepoppickledumpsstructZpackr;)rrZeiZdummydrrZslenrrr makePickleQs     zSocketHandler.makePicklecCs0|jr|jr|jjd|_ntjj||dS)z Handle an error during logging. An error has occurred during logging. Most likely cause - connection lost. Close the socket so that we can retry on the next event. N)rrr/rr~r)rrrrrrgs  zSocketHandler.handleErrorc Cs<y|j|}|j|Wntk r6|j|YnXdS)a Emit a record. Pickles the record and writes it to the socket in binary format. If there is an error with the socket, silently drop the packet. If there was a problem with the socket, re-establishes the socket. N)rrrr)rrrrrrrrus  zSocketHandler.emitc Cs@|jz(|j}|r"d|_|jtjj|Wd|jXdS)z$ Closes the socket. N)acquirerr/rr~release)rrrrrr/szSocketHandler.closeN)r,) r$r%r&r'r rrrrrrr/rrrrr}s  r}c@s(eZdZdZddZddZddZdS) DatagramHandlera A handler class which writes logging records, in pickle format, to a datagram socket. The pickle which is sent is that of the LogRecord's attribute dictionary (__dict__), so that the receiver does not need to have the logging module installed in order to process the logging event. To unpickle the record at the receiving end into a LogRecord, use the makeLogRecord function. cCstj|||d|_dS)zP Initializes the handler with a specific host address and port. FN)r}r r)rrrrrrr szDatagramHandler.__init__cCs*|jdkrtj}ntj}tj|tj}|S)zu The factory method of SocketHandler is here overridden to create a UDP socket (SOCK_DGRAM). N)rrrZAF_INET SOCK_DGRAM)rZfamilyrrrrrrs  zDatagramHandler.makeSocketcCs&|jdkr|j|jj||jdS)z Send a pickled string to a socket. This function no longer allows for partial sends which can happen when the network is busy - UDP does not guarantee delivery and can deliver packets out of sequence. N)rrsendtor)rrrrrrrs zDatagramHandler.sendN)r$r%r&r'r rrrrrrrs  rc@s"eZdZdZdZdZdZdZdZdZ dZ d Z dZ dZ dZdZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZeeee eeee e eeed Z eeeeee eeeeee eeeeeeeeedZ!ddddddZ"de#fe dfd d!Z$d"d#Z%d$d%Z&d&d'Z'd(d)Z(d*Z)d+Z*d,d-Z+dS). SysLogHandlera A handler class which sends formatted logging records to a syslog server. Based on Sam Rushing's syslog module: http://www.nightmare.com/squirl/python-ext/misc/syslog.py Contributed by Nicolas Untz (after which minor refactoring changes have been made). rr,r6r[r\r]r^rE ) ZalertZcritcriticaldebugZemergerrerrorinfoZnoticeZpanicwarnwarning)ZauthZauthprivZcrondaemonZftpZkernZlprZmailZnewsZsecurityZsysloguserZuucpZlocal0Zlocal1Zlocal2Zlocal3Zlocal4Zlocal5Zlocal6Zlocal7rrrrr)DEBUGINFOWARNINGERRORCRITICALZ localhostNcCs0tjj|||_||_||_t|trTd|_y|j |Wnt k rPYnXnd|_|dkrht j }|\}}t j ||d|}|st dx|D]|}|\}}} } } d} } y(t j ||| } |t jkr| j| PWqt k r }z|} | dk r| jWYdd}~XqXqW| dk r | | |_ ||_dS)a Initialize a handler. If address is specified as a string, a UNIX socket is used. To log to a local syslogd, "SysLogHandler(address="/dev/log")" can be used. If facility is not specified, LOG_USER is used. If socktype is specified as socket.SOCK_DGRAM or socket.SOCK_STREAM, that specific socket type will be used. For Unix sockets, you can also specify a socktype of None, in which case socket.SOCK_DGRAM will be used, falling back to socket.SOCK_STREAM. TFNrz!getaddrinfo returns an empty list)rr~r rfacilitysocktype isinstancestr unixsocket_connect_unixsocketrrrZ getaddrinforrr/)rrrrrrZressresZafproto_Zsarrexcrrrr #sB      zSysLogHandler.__init__cCs|j}|dkrtj}tjtj||_y|jj|||_Wnxtk r|jj|jdk r`tj}tjtj||_y|jj|||_Wn tk r|jjYnXYnXdS)N)rrrrrrr/r)rrZ use_socktyperrrrYs&       z!SysLogHandler._connect_unixsocketcCs4t|tr|j|}t|tr(|j|}|d>|BS)z Encode the facility and priority. You can pass in strings or integers - if strings are passed, the facility_names and priority_names mapping dictionaries are used to convert them to integers. r[)rrfacility_namespriority_names)rrZpriorityrrrencodePriorityqs     zSysLogHandler.encodePriorityc Cs2|jz|jjtjj|Wd|jXdS)z$ Closes the socket. N)rrr/rr~r)rrrrr/~s  zSysLogHandler.closecCs|jj|dS)aK Map a logging level name to a key in the priority_names map. This is useful in two scenarios: when custom levels are being used, and in the case where you can't do a straightforward mapping by lowercasing the logging level name because of locale- specific issues (see SF #1524081). r) priority_mapget)rZ levelNamerrr mapPriorityszSysLogHandler.mapPriorityTcCsy|j|}|jr|j|}|jr*|d7}d|j|j|j|j}|jd}|jd}||}|jry|j j |Wqt k r|j j |j |j|j j |YqXn*|jt jkr|j j||jn |j j|Wntk r|j|YnXdS)z Emit a record. The record is formatted, and then sent to the syslog server. If exception information is present, it is NOT sent to the server. z<%d>zutf-8N)r8ident append_nulrrrZ levelnameencoderrrrr/rrrrrrrr)rrr<Zpriorrrrs.        zSysLogHandler.emit),r$r%r&r'Z LOG_EMERGZ LOG_ALERTZLOG_CRITZLOG_ERRZ LOG_WARNINGZ LOG_NOTICEZLOG_INFOZ LOG_DEBUGZLOG_KERNZLOG_USERZLOG_MAILZ LOG_DAEMONZLOG_AUTHZ LOG_SYSLOGZLOG_LPRZLOG_NEWSZLOG_UUCPZLOG_CRONZ LOG_AUTHPRIVZLOG_FTPZ LOG_LOCAL0Z LOG_LOCAL1Z LOG_LOCAL2Z LOG_LOCAL3Z LOG_LOCAL4Z LOG_LOCAL5Z LOG_LOCAL6Z LOG_LOCAL7rrrSYSLOG_UDP_PORTr rrr/rrrrrrrrrs 5   rc@s*eZdZdZd ddZddZdd ZdS) SMTPHandlerzK A handler class which sends an SMTP email for each logging event. N@cCstjj|t|ttfr(|\|_|_n|d|_|_t|ttfrR|\|_|_ nd|_||_ t|t rn|g}||_ ||_ ||_||_dS)ax Initialize the handler. Initialize the instance with the from and to addresses and subject line of the email. To specify a non-standard SMTP port, use the (host, port) tuple format for the mailhost argument. To specify authentication credentials, supply a (username, password) tuple for the credentials argument. To specify the use of a secure protocol (TLS), pass in a tuple for the secure argument. This will only be used when authentication credentials are supplied. The tuple will be either an empty tuple, or a single-value tuple with the name of a keyfile, or a 2-value tuple with the names of the keyfile and certificate file. (This tuple is passed to the `starttls` method). A timeout in seconds can be specified for the SMTP connection (the default is one second). N)rr~r rlisttuplemailhostmailportusernamepasswordfromaddrrtoaddrssubjectsecurer)rrrrr credentialsrrrrrr s  zSMTPHandler.__init__cCs|jS)z Determine the subject for the email. If you want to specify a subject line which is record-dependent, override this method. )r)rrrrr getSubjectszSMTPHandler.getSubjectc Csyddl}ddlm}ddl}|j}|s.|j}|j|j||jd}|}|j |d<dj |j |d<|j ||d<|j j|d <|j|j||jr|jdk r|j|j|j|j|j|j|j|j||jWntk r|j|YnXdS) zd Emit a record. Format the record and send it to the specified addressees. rN) EmailMessage)rZFrom,ZToZSubjectZDate)smtplibZ email.messagerZ email.utilsrZ SMTP_PORTZSMTPrrrrnrrZutilsr`Z set_contentr8rrZehloZstarttlsZloginrZ send_messagequitrr)rrrrZemailrZsmtpr<rrrrs0      zSMTPHandler.emit)NNr)r$r%r&r'r rrrrrrrs " rc@sBeZdZdZdddZddZdd Zd d Zd d ZddZ dS)NTEventLogHandlera A handler class which sends events to the NT Event Log. Adds a registry entry for the specified application name. If no dllname is provided, win32service.pyd (which contains some basic message placeholders) is used. Note that use of these placeholders will make your event logs big, as the entire message source is held in the log. If you want slimmer logs, you have to pass in the name of your own DLL which contains the message definitions you want to use in the event log. N ApplicationcCstjj|yddl}ddl}||_||_|s`tjj |jj }tjj |d}tjj |dd}||_ ||_ |jj||||j|_tj|jtj|jtj|jtj|jtj|ji|_Wn"tk rtdd|_YnXdS)Nrzwin32service.pydzWThe Python Win32 extensions for NT (service, event logging) appear not to be available.)rr~r win32evtlogutil win32evtlogappname_welurrrj__file__rndllnamelogtypeZAddSourceToRegistryZEVENTLOG_ERROR_TYPEdeftyperZEVENTLOG_INFORMATION_TYPErrZEVENTLOG_WARNING_TYPErrtypemap ImportErrorprint)rrrrrrrrrr s* zNTEventLogHandler.__init__cCsdS)ay Return the message ID for the event record. If you are using your own messages, you could do this by having the msg passed to the logger being an ID rather than a formatting string. Then, in here, you could use a dictionary lookup to get the message ID. This version returns 1, which is the base message ID in win32service.pyd. r,r)rrrrr getMessageID.szNTEventLogHandler.getMessageIDcCsdS)z Return the event category for the record. Override this if you want to specify your own categories. This version returns 0. rr)rrrrrgetEventCategory8sz"NTEventLogHandler.getEventCategorycCs|jj|j|jS)a Return the event type for the record. Override this if you want to specify your own types. This version does a mapping using the handler's typemap attribute, which is set up in __init__() to a dictionary which contains mappings for DEBUG, INFO, WARNING, ERROR and CRITICAL. If you are using your own levels you will either need to override this method or place a suitable dictionary in the handler's typemap attribute. )rrlevelnor)rrrrr getEventTypeAs zNTEventLogHandler.getEventTypec Csn|jrjyD|j|}|j|}|j|}|j|}|jj|j||||gWntk rh|j|YnXdS)z Emit a record. Determine the message ID, event category and event type. Then log the message in the NT event log. N) rrrrr8Z ReportEventrrr)rridcattyper<rrrrNs    zNTEventLogHandler.emitcCstjj|dS)aS Clean up this handler. You can remove the application name from the registry as a source of event log entries. However, if you do this, you will not be able to see the events as you intended in the Event Log Viewer - it needs to be able to access the registry to get the DLL name. N)rr~r/)rrrrr/_s zNTEventLogHandler.close)Nr) r$r%r&r'r rrrrr/rrrrr s     rc@s*eZdZdZd ddZddZd d ZdS) HTTPHandlerz^ A class which sends records to a Web server, using either GET or POST semantics. GETFNcCsbtjj||j}|dkr$td| r:|dk r:td||_||_||_||_||_ ||_ dS)zr Initialize the instance with the host, the request URL, and the method ("GET" or "POST") rPOSTzmethod must be GET or POSTNz3context parameter only makes sense with secure=True)rr) rr~r rHrPrurlmethodrrcontext)rrrrrrrrrrr qs zHTTPHandler.__init__cCs|jS)z Default implementation of mapping the log record into a dict that is sent as the CGI data. Overwrite in your class. Contributed by Franz Glasner. )r)rrrrr mapLogRecordszHTTPHandler.mapLogRecordc CsxyPddl}ddl}|j}|jr4|jj||jd}n |jj|}|j}|j j |j |}|j dkr|j ddkrvd}nd}|d||f}|j|j ||j d} | dkr|d| }|j d kr|jd d |jd tt||jr$ddl} d |jjd} d| j| jjd} |jd| |j|j d krH|j|jd|jWn tk rr|j|YnXdS)zk Emit a record. Send the record to the Web server as a percent-encoded dictionary rN)rr?&z%c%s:rz Content-typez!application/x-www-form-urlencodedzContent-lengthz%s:%szutf-8zBasic asciiZ Authorization)Z http.clientZ urllib.parserrZclientZHTTPSConnectionrZHTTPConnectionrparseZ urlencoderrfindZ putrequestZ putheaderrr;rbase64rZ b64encodestripdecodeZ endheadersrZ getresponserr) rrZhttpZurllibrr>rdatasepr4rrrrrrrs@        zHTTPHandler.emit)rFNN)r$r%r&r'r rrrrrrrls  rc@s8eZdZdZddZddZddZdd Zd d Zd S) BufferingHandlerz A handler class which buffers logging records in memory. Whenever each record is added to the buffer, a check is made to see if the buffer should be flushed. If it should, then flush() is expected to do what's needed. cCstjj|||_g|_dS)z> Initialize the handler with the buffer size. N)rr~r capacitybuffer)rr rrrr s zBufferingHandler.__init__cCst|j|jkS)z Should the handler flush its buffer? Returns true if the buffer is up to capacity. This method can be overridden to implement custom flushing strategies. )r;r r )rrrrr shouldFlushszBufferingHandler.shouldFlushcCs"|jj||j|r|jdS)z Emit a record. Append the record. If shouldFlush() tells us to, call flush() to process the buffer. N)r rmrr{)rrrrrrs  zBufferingHandler.emitc Cs"|jz g|_Wd|jXdS)zw Override to implement custom flushing behaviour. This version just zaps the buffer to empty. N)rr r)rrrrr{s zBufferingHandler.flushc Cs z |jWdtjj|XdS)zp Close the handler. This version just flushes and chains to the parent class' close(). N)r{rr~r/)rrrrr/s zBufferingHandler.closeN) r$r%r&r'r rrr{r/rrrrr s    r c@sBeZdZdZejddfddZddZdd Zd d Z d d Z dS) MemoryHandlerz A handler class which buffers logging records in memory, periodically flushing them to a target handler. Flushing occurs whenever the buffer is full, or when an event of a certain severity or greater is seen. NTcCs"tj||||_||_||_dS)a; Initialize the handler with the buffer size, the level at which flushing should occur and an optional target. Note that without a target being set either here or via setTarget(), a MemoryHandler is no use to anyone! The ``flushOnClose`` argument is ``True`` for backward compatibility reasons - the old behaviour is that when the handler is closed, the buffer is flushed, even if the flush level hasn't been exceeded nor the capacity exceeded. To prevent this, set ``flushOnClose`` to ``False``. N)r r flushLeveltarget flushOnClose)rr rrrrrrr s zMemoryHandler.__init__cCst|j|jkp|j|jkS)zP Check for buffer full or a record at the flushLevel or higher. )r;r r rr)rrrrrrszMemoryHandler.shouldFlushcCs ||_dS)z: Set the target handler for this handler. N)r)rrrrr setTargetszMemoryHandler.setTargetc CsD|jz,|jr2x|jD]}|jj|qWg|_Wd|jXdS)z For a MemoryHandler, flushing means just sending the buffered records to the target, if there is one. Override if you want different behaviour. The record buffer is also cleared by this operation. N)rrr handler)rrrrrr{s  zMemoryHandler.flushcCsBz|jr|jWd|jzd|_tj|Wd|jXXdS)zi Flush, if appropriately configured, set the target to None and lose the buffer. N)rr{rrr r/r)rrrrr/,s zMemoryHandler.close) r$r%r&r'rrr rrr{r/rrrrrs rc@s0eZdZdZddZddZddZdd Zd S) QueueHandlera This handler sends events to a queue. Typically, it would be used together with a multiprocessing Queue to centralise logging to file in one process (in a multi-process application), so as to avoid file write contention between processes. This code is new in Python 3.2, but this class can be copy pasted into user code for use with earlier Python versions. cCstjj|||_dS)zA Initialise an instance, using the passed queue. N)rr~r queue)rrrrrr Hs zQueueHandler.__init__cCs|jj|dS)z Enqueue a record. The base implementation uses put_nowait. You may want to override this method if you want to use blocking, timeouts or custom queue implementations. N)r put_nowait)rrrrrenqueueOszQueueHandler.enqueuecCs"|j||j|_d|_d|_|S)a Prepares a record for queuing. The object returned by this method is enqueued. The base implementation formats the record to merge the message and arguments, and removes unpickleable items from the record in-place. You might want to override this method if you want to convert the record to a dict or JSON string, or send a modified copy of the record while leaving the original intact. N)r8rr<rr)rrrrrprepareYs  zQueueHandler.preparec Cs8y|j|j|Wntk r2|j|YnXdS)zm Emit a record. Writes the LogRecord to the queue, preparing it for pickling first. N)rrrr)rrrrrrrszQueueHandler.emitN)r$r%r&r'r rrrrrrrr=s   rc@sZeZdZdZdZddddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS) QueueListenerz This class implements an internal threaded listener which watches for LogRecords being added to a queue, removes them and passes them to a list of handlers for processing. NF)respect_handler_levelcGs||_||_d|_||_dS)zc Initialise an instance with the specified queue and handlers. N)rhandlers_threadr)rrrrrrrr szQueueListener.__init__cCs |jj|S)z Dequeue a record and return it, optionally blocking. The base implementation uses get. You may want to override this method if you want to use timeouts or work with custom queue implementations. )rr)rblockrrrdequeueszQueueListener.dequeuecCs&tj|jd|_}d|_|jdS)z Start the listener. This starts up a background thread to monitor the queue for LogRecords to process. )rTN) threadingZThread_monitorrrstart)rrZrrrr"szQueueListener.startcCs|S)a Prepare a record for handling. This method just returns the passed-in record. You may want to override this method if you need to do any custom marshalling or manipulation of the record before passing it to the handlers. r)rrrrrrszQueueListener.preparecCsD|j|}x4|jD]*}|js"d}n |j|jk}|r|j|qWdS)z Handle a record. This just loops through the handlers offering them the record to handle. TN)rrrrlevelr)rrZhandlerZprocessrrrrs   zQueueListener.handlec Csd|j}t|d}xNy0|jd}||jkr*P|j||r@|jWqtjk rZPYqXqWdS)z Monitor the queue for records, and ask the handler to deal with them. This method runs on a separate, internal thread. The thread will terminate if it sees a sentinel object in the queue. task_doneTN)rhasattrr _sentinelrr$ZEmpty)rqZ has_task_donerrrrr!s     zQueueListener._monitorcCs|jj|jdS)a This is used to enqueue the sentinel record. The base implementation uses put_nowait. You may want to override this method if you want to use timeouts or work with custom queue implementations. N)rrr&)rrrrenqueue_sentinelszQueueListener.enqueue_sentinelcCs|j|jjd|_dS)a! Stop the listener. This asks the thread to terminate, and then waits for it to do so. Note that if you don't call this before your application exits, there may be some records still left on the queue, which won't be processed. N)r(rrn)rrrrstops zQueueListener.stop) r$r%r&r'r&r rr"rrr!r(r)rrrrr~s     riiQ)'r'rrrrrrWrSrVrrrrr rZDEFAULT_TCP_LOGGING_PORTZDEFAULT_UDP_LOGGING_PORTZDEFAULT_HTTP_LOGGING_PORTZDEFAULT_SOAP_LOGGING_PORTrZSYSLOG_TCP_PORTrar rr(r=rsr~r}rrrrrr rrobjectrrrrrsB8  FOcE(*PbO9I@PKhee[CsVVrepo.cpython-36.pycnu[3 gLQ@sFddlmZddlmZddlmZmZddlZddlZddl Zddl Zddl Zddl Zddl ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZ dZ!ej"ej#dZ$dej%e$ej&fZ'd e'e!fd e'e fd d Z(ej)d Z*ddZ+ddZ,d-ddZ-ddZ.Gddde/Z0Gddde1Z2Gdddej3j4Z5Gddde/Z6Gdd d ej7j8Z9Gd!d"d"ej3j:Z;Gd#d$d$e;Zej7j?j@ZAej7j?jBZCej7j?jDZEGd)d*d*ej7jFZGGd+d,d,ejHjIZ?dS).)absolute_import)unicode_literals)ucd_NpackagesZ mirrorlistz-_.:z(?P[%s]+)\-[%s]{16}z>^%s\/.*((xml|yaml)(\.gz|\.xz|\.bz2|.zck)?|asc|cachecookie|%s)$z^%s\/%s\/.+rpm$z^.+(solv|solvx)$)metadatarZdbcachednfcCstjjj|}|dkrdS|S)zAReturn index of an invalid character in the repo ID (if present).rN)libdnfrepoRepoZverifyId)Zrepo_idZ first_invalidr /usr/lib/python3.6/repo.pyrepo_id_invalidHsrcGs8x"|D]}|||}|dk r|SqWttd|dS)Nz"no matching payload factory for %s) ValueErrorr)pkgprogressZ factoriesfnploadr r r _pkg2payloadOs   rTc Csdd}|jjddt||dD}t}ytjjjtjj||Wn,t k rv}zt ||_ WYdd}~XnX|j |jj |_xj|D]b}|j}|dks|jdrq|j} | j} | j} |dkr|jj| q| jjj|g|j| <qW|S)NcSs t|d S)NZdelta)hasattr)payloadr r r _download_sort_keyYsz._download_payloads.._download_sort_keycSsg|] }|jqSr )_librepo_target).0rr r r ]sz&_download_payloads..)keyz Not finishedzAlready downloaded)errclearsorted_DownloadErrorsr r PackageTargetZdownloadPackagesZVectorPPackageTarget RuntimeErrorstr_fatalwaitcopy _recoverableZgetErr startswithZ getCallbacks package_ploadr_skippedadd_repoZexpire_pkg_irrecoverable) payloadsZdrpmZ fail_fastrZtargetserrseZtgtr callbacksrrr r r _download_payloadsWs0     r1cCsL|\}}x:|D]2}|j}||kr,||j7}q||j7}||j7}qW||fS)N)r download_size _full_size)Zsavingr-r.realZfullrrr r r _update_savingxs   r5c@s>eZdZddZddZeddZejddZdd Zd S) rcCsi|_i|_d|_t|_dS)N)r,_val_recoverabler#setr))selfr r r __init__sz_DownloadErrors.__init__cCs"|jr |jS|jrd|jgiSiS)N)r,r#)r8r r r _irrecoverables  z_DownloadErrors._irrecoverablecCs|jS)N)r6)r8r r r r&sz_DownloadErrors._recoverablecCs ||_dS)N)r6)r8Znew_dctr r r r&scCs|j|jkrdS|jS)Nr)rr)r2)r8rr r r _bandwidth_useds z_DownloadErrors._bandwidth_usedN) __name__ __module__ __qualname__r9r;propertyr&setterr<r r r r rs  rc@seZdZddZdS)_DetailedLibrepoErrorcCs,tj||jd|_|jd|_||_dS)Nr) Exceptionr9argsZ librepo_codeZ librepo_msg source_url)r8Z librepo_errrFr r r r9s   z_DetailedLibrepoError.__init__N)r=r>r?r9r r r r rBsrBc@seZdZddZdS)_NullKeyImportcCsdS)NTr )r8iduserid fingerprinturl timestampr r r _confirmsz_NullKeyImport._confirmN)r=r>r?rMr r r r rGsrGc@s eZdZddZeddZdS)MetadatacCs ||_dS)N)r+)r8r r r r r9szMetadata.__init__cCs |jjS)N)r+fresh)r8r r r rOszMetadata.freshN)r=r>r?r9r@rOr r r r rNsrNcs4eZdZfddZddZddZddZZS) PackageTargetCallbackscstt|j||_dS)N)superrPr9r()r8r() __class__r r r9szPackageTargetCallbacks.__init__cCs|jjd||dS)Nr)r(_end_cb)r8statusmsgr r r endszPackageTargetCallbacks.endcCs|jjd||dS)Nr)r( _progress_cb)r8totalToDownload downloadedr r r rszPackageTargetCallbacks.progresscCs|jjd||dS)Nr)r(_mirrorfail_cb)r8rUrKr r r mirrorFailuresz$PackageTargetCallbacks.mirrorFailure)r=r>r?r9rVrr[ __classcell__r r )rRr rPs rPcsHeZdZfddZddZddZddZed d Zd d Z Z S) PackagePayloadcs$tt|j|t||_||_dS)N)rQr]r9rPr0r)r8rr)rRr r r9s zPackagePayload.__init__cCsRtjj}|dkrtjj}n$|jdr(dS|tjjjkr>tjj }|j j |||dS)z"End callback to librepo operation.Nz Not finished) rcallbackZ STATUS_FAILEDZ STATUS_OKr'r r PackageTargetCBZTransferStatus_ALREADYEXISTSZSTATUS_ALREADY_EXISTSrrV)r8cbdataZ lr_statusrUrTr r r rSs  zPackagePayload._end_cbcCs|jj|tjj|dS)N)rrVrr^Z STATUS_MIRROR)r8r`rrKr r r rZszPackagePayload._mirrorfail_cbc CsXy|jj||Wn@tk rRtj\}}}tj|||}tjdj|YnXdS)Nr:) rrDsysexc_info tracebackformat_exceptionloggercriticaljoin)r8r`totaldoneexc_type exc_value exc_traceback except_listr r r rWs zPackagePayload._progress_cbcCs|jS)N)r2)r8r r r r3szPackagePayload._full_sizec Cs|j}|j}tjj||d||j|j|jd}|j|j t j j |j j |d|d|d|d|d|d|d d d |j S) NT)destresumer`Z progresscbZendcbZmirrorfailurecb relative_urlrn checksum_typechecksum expectedsizebase_urlror)rpkgdirrutil ensure_dirrWrSrZupdate_target_paramsr r r r+r0)r8rruZ target_dctr r r rs   zPackagePayload._librepo_target) r=r>r?r9rSrZrWr@r3rr\r r )rRr r]s    r]c@s(eZdZddZddZeddZdS) RPMPayloadcCstjj|jjS)N)ospathbasenamerlocation)r8r r r __str__szRPMPayload.__str__cCsT|j}|j\}}tjjj|}|tjjjkr>tjt d||j |||j |j dS)Nzunsupported checksum type: %s)rprqrrrsrt) rZ returnIdSumr r r Z checksumTypeZChecksumType_UNKNOWNrewarningrr~ downloadsizebaseurl)r8rZctypeZcsumZ ctype_coder r r rys zRPMPayload._target_paramscCs|jjS)zTotal size of the download.)rr)r8r r r r2szRPMPayload.download_sizeN)r=r>r?rryr@r2r r r r rzsrzcs@eZdZfddZddZddZddZed d ZZ S) RemoteRPMPayloadcstt|jd|||_d|_||_|jjp.d|jjjd}t j |j dj dd}d|}t jj|jj|d|_tjj|jt jj|j|jjd |_dS) NZ unused_objectrr:Zbasearchutf8z commandline-r/)rQrr9remote_location remote_sizeconfZ releasever substitutionsgethashlibZsha256encodeZ hexdigestr{r|rgZcachedirrurrvrwrlstripZ local_path)r8rrrsZdigestZrepodir)rRr r r9szRemoteRPMPayload.__init__cCstjj|jS)N)r{r|r}r)r8r r r r)szRemoteRPMPayload.__str__c Cs^||_y|jj||Wn@tk rXtj\}}}tj|||}tjdj |YnXdS)Nr:) rrrDrarbrcrdrerfrg)r8r`rhrirjrkrlrmr r r rW,szRemoteRPMPayload._progress_cbc Cs<tjj|jjtjj|j|j dddtjj |jddd|j S)NrT) r r r r_configr{r|r}rrudirnamer0)r8r r r r5sz RemoteRPMPayload._librepo_targetcCs|jS)zTotal size of the download.)r)r8r r r r2;szRemoteRPMPayload.download_size) r=r>r?r9rrWrr@r2r\r r )rRr rs   rcszeZdZfddZddZddZddZd d Zd d Ze d dZ e ddZ e j ddZ ddZ ddZZS) MDPayloadcs.tt|j|d|_d|_d|_t|_dS)Nr:rF)rQrr9_text_download_sizefastest_mirror_runningr7mirror_failures)r8r)rRr r r9Cs zMDPayload.__init__cCstjjr|jS|jjdSdS)Nzutf-8)rpycompZPY3rr)r8r r r rJszMDPayload.__str__cCs|jS)N)r)r8r r r __unicode__PszMDPayload.__unicode__cCs||_|jj||dS)N)rr)r8r`rhrir r r rWSszMDPayload._progress_cbcCs\|tjjjkr"td|}d|_n*|tjjjkrH|jrH|rBd|nd}ndS|jj|dS)Nz,determining the fastest mirror (%s hosts).. Tz error: %s zdone. ) r r RepoCBZFastestMirrorStage_DETECTIONrrZFastestMirrorStage_STATUSrmessage)r8r`stagedatarUr r r _fastestmirror_cbWs zMDPayload._fastestmirror_cbcCs&|jj|d||f}tj|dS)Nzerror: %s (%s).)rr*redebug)r8r`rUrKrr r r _mirror_failure_cbcs  zMDPayload._mirror_failure_cbcCs|jS)N)r)r8r r r r2hszMDPayload.download_sizecCs|jS)N) _progress)r8r r r rlszMDPayload.progresscCs|dkrtjj}||_dS)N)rr^NullDownloadProgressr)r8rr r r rps cCs||_|jjdddS)NrCr)rrstart)r8textr r r rvszMDPayload.startcCsd|_|jj|dddS)Nr)rrrV)r8r r r rVzsz MDPayload.end)r=r>r?r9rrrWrrr@r2rrArrVr\r r )rRr rAs    rcsLeZdZfddZddZddZddZd d Zd d Zd dZ Z S) RepoCallbackscs tt|j||_|j|_dS)N)rQrr9r+ _md_pload)r8r )rRr r r9szRepoCallbacks.__init__cCs|jj|dS)N)rr)r8Zwhatr r r rszRepoCallbacks.startcCs|jjdS)N)rrV)r8r r r rVszRepoCallbacks.endcCs|jjd||dS)Nr)rrW)r8rXrYr r r rszRepoCallbacks.progresscCs|jjd||dS)N)rr)r8rZptrr r r fastestMirrorszRepoCallbacks.fastestMirrorcCs|jjd|||dS)Nr)rr)r8rUrKrr r r handleMirrorFailuresz!RepoCallbacks.handleMirrorFailurecCs|jjj|||||S)N)r+ _key_importrM)r8rHrIrJrKrLr r r repokeyImportszRepoCallbacks.repokeyImport) r=r>r?r9rrVrrrrr\r r )rRr rs rcseZdZeZd7fdd ZeddZeddZej ddZed d Z d d Z e j d d Z eddZ eddZ e j ddZ ddZddZfddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd9d5d6ZZS):r Ncstt|j||d|jjjtjj|r.|nd|j|_t t j j |_ t||_|jjj|jj|jd|_t|_d|_|jj|r|jrtn|j|r|jj|jt jjj|_|dk r|jnd|_dS)N)Zsectionparentr:T) rQr r9rthisZdisownr r r+rrr^rrrZ _callbacksZ setCallbacks_pkgdirrGrrZsetSyncStrategyZ cacheonlySYNC_ONLY_CACHE DEFAULT_SYNCZsetSubstitutionsrrZ SubstitutionsZ_substitutionsZcheck_config_file_ageZ_check_config_file_age)r8nameZ parent_conf)rRr r r9s   z Repo.__init__cCs |jjS)N)r+ZgetId)r8r r r rHszRepo.idcCs |jjS)N)r+ZgetRepoFilePath)r8r r r repofilesz Repo.repofilecCs|jj|dS)N)r+ZsetRepoFilePath)r8valuer r r rscCs|jjr|jjS|jS)N)r+ZisLocalZgetLocalBaseurl cache_pkgdir)r8r r r rus  z Repo.pkgdircCs$|jdk r|jStjj|jjtS)N)rr{r|rgr+ getCachedir_PACKAGES_RELATIVE_DIR)r8r r r rs zRepo.cache_pkgdircCs ||_dS)N)r)r8valr r r ruscCstjj|jjdS)NZpubring)r{r|rgr+r)r8r r r _pubring_dirszRepo._pubring_dircCs |jjS)N)r+ZgetLoadMetadataOther)r8r r r load_metadata_otherszRepo.load_metadata_othercCs|jj|dS)N)r+ZsetLoadMetadataOther)r8rr r r rscCs |j|jkS)N)rH)r8otherr r r __lt__sz Repo.__lt__cCsd|jj|jfS)Nz<%s %s>)rRr=rH)r8r r r __repr__sz Repo.__repr__cstt|j||dS)N)rQr __setattr__)r8rr)rRr r rszRepo.__setattr__cCs|jjdS)N)r+disable)r8r r r rsz Repo.disablecCs|jjdS)N)r+enable)r8r r r rsz Repo.enablecCs|jj|dS)a/Ask for additional repository metadata type to download. Given metadata_type is appended to the default metadata set when repository is downloaded. Parameters ---------- metadata_type: string Example: add_metadata_type_to_download("productid") N)r+ZaddMetadataTypeToDownload)r8 metadata_typer r r add_metadata_type_to_downloads z"Repo.add_metadata_type_to_downloadcCs|jj|dS)aIStop asking for this additional repository metadata type in download. Given metadata_type is no longer downloaded by default when this repository is downloaded. Parameters ---------- metadata_type: string Example: remove_metadata_type_from_download("productid") N)r+ZremoveMetadataTypeFromDownload)r8rr r r "remove_metadata_type_from_downloadsz'Repo.remove_metadata_type_from_downloadcCs |jj|S)zReturn path to the file with downloaded repository metadata of given type. Parameters ---------- metadata_type: string )r+ZgetMetadataPath)r8rr r r get_metadata_pathszRepo.get_metadata_pathcCs |jj|S)zReturn content of the file with downloaded repository metadata of given type. Content of compressed metadata file is returned uncompressed. Parameters ---------- metadata_type: string )r+ZgetMetadataContent)r8rr r r get_metadata_content!s zRepo.get_metadata_contentcCsd}zy|jj}Wnttjjtfk r}zP|jjrhd|j}x|jjD]}|d|7}qJWt j |t j j t|WYdd}~XnXWdt|j_Xt|j|_|S)aLoad the metadata for this repo. Depending on the configuration and the age and consistence of data available on the disk cache, either loads the metadata from the cache or downloads them from the mirror, baseurl or metalink. This method will by default not try to refresh already loaded data if called repeatedly. Returns True if this call to load() caused a fresh metadata download. Fz7Errors during downloading metadata for repository '%s':z - %sN)r+loadr errorErrorr!rrrHrerr exceptionsZ RepoErrorr"r7rNr)r8retr/rUZfailurer r r r-s  &  z Repo.loadcCsP|js|jjd|jrL|jdkr&dS|jj}|jjrDtd|}d|fSdS) a)Get the number of seconds after which the cached metadata will expire. Returns a tuple, boolean whether there even is cached metadata and the number of seconds it will expire in. Negative number means the metadata has expired already, None that it never expires. FrCTNr)TN)Fr)rr+Z loadCacheZmetadata_expireZ getExpiresInZ isExpiredmin)r8Z expirationr r r _metadata_expire_inJs     zRepo._metadata_expire_incCs ||_dS)N)r)r8Z key_importr r r _set_key_import]szRepo._set_key_importcCs ||j_dS)N)rr)r8rr r r set_progress_bar`szRepo.set_progress_barcCs |jjS)zoReturns user defined http headers. Returns ------- headers : tuple of strings )r+ZgetHttpHeaders)r8r r r get_http_headersdszRepo.get_http_headerscCs|jj|dS)aSets http headers. Sets new http headers and rewrites existing ones. Parameters ---------- headers : tuple or list of strings Example: set_http_headers(["User-Agent: Agent007", "MyFieldName: MyFieldValue"]) N)r+ZsetHttpHeaders)r8Zheadersr r r set_http_headersns zRepo.set_http_headershttpftpfilehttpscs@fdd}sdS|jj}|r,||S|jr<||jSdS)z :param location: relative location inside the repo :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https') :return: absolute url (string) or None csZxT|D]L}r>tjjj|d}|krRtjj|jdSqtjj|jdSqWdS)Nrr)rrZurlparser{r|rgr)Zurl_listrKr)r~schemesr r schemes_filters z,Repo.remote_location..schemes_filterN)r+Z getMirrorsr)r8r~rrZmirrorsr )r~rr r{s  zRepo.remote_location)NNrrrr)r)r=r>r?SYNC_TRY_CACHErr9r@rHrrArurrrrrrrrrrrrrrrrrrrr\r r )rRr r s6          r )T)JZ __future__rrZdnf.i18nrrZ dnf.callbackrZdnf.confZdnf.conf.substitutionsZ dnf.constZ dnf.cryptoZdnf.exceptionsZ dnf.loggingZ dnf.pycompZdnf.utilZ dnf.yum.miscZ libdnf.errorr Z libdnf.repo functoolsrZhawkeyZloggingoperatorr{reZshutilstringraZtimercrZ_MIRRORLIST_FILENAMEZ ascii_lettersZdigitsZ _REPOID_CHARSescapeZ hexdigitsZ _CACHEDIR_REZ CACHE_FILESZ getLoggerrerrr1r5objectrrDrBr^Z KeyImportrGrNr r_rPZPayloadr]rzrrr ZSyncStrategy_LAZYZ SYNC_LAZYZSyncStrategy_ONLY_CACHErZSyncStrategy_TRY_CACHErrrrZRepoConfr r r r sl       !  8&?   PKhee['&sgg transaction.cpython-36.opt-1.pycnu[3 ft`-@sddlmZddlmZddlZddlmZmZejj Z ejj Z ejj ZejjZejjZejjZejjZejjZejjZejjZeZdZdZdZ dZ!d Z"ejj ejj ejjejjejjgZ#ejj ejjejjejjgZ$e ed d e ed eed d eedeedeed deed eedeed deed eed eede ede!ediZ%e de dededededededededed ede de!diZ&dS) )absolute_import)unicode_literalsN)_C_efgZ currentlyZ DowngradingZCleanupZ InstallingZ ObsoletingZ ReinstallingZErasingZ UpgradingZ VerifyingzRunning scriptletZ PreparingZ DowngradeZ DowngradedZ InstalledZObsoleteZ ObsoletedZ ReinstallZ ReinstalledZEraseZUpgradeZUpgradedZVerified)'Z __future__rrZlibdnf.transactionZlibdnfZdnf.i18nrrZ transactionZTransactionItemAction_DOWNGRADEZ PKG_DOWNGRADEZ TransactionItemAction_DOWNGRADEDZPKG_DOWNGRADEDZTransactionItemAction_INSTALLZ PKG_INSTALLZTransactionItemAction_OBSOLETEZ PKG_OBSOLETEZTransactionItemAction_OBSOLETEDZ PKG_OBSOLETEDZTransactionItemAction_REINSTALLZ PKG_REINSTALLZ!TransactionItemAction_REINSTALLEDZPKG_REINSTALLEDZTransactionItemAction_REMOVEZ PKG_REMOVEZTransactionItemAction_UPGRADEZ PKG_UPGRADEZTransactionItemAction_UPGRADEDZ PKG_UPGRADEDZ PKG_ERASEZ PKG_CLEANUPZ PKG_VERIFYZ PKG_SCRIPTLETZTRANS_PREPARATIONZ TRANS_POSTZFORWARD_ACTIONSZBACKWARD_ACTIONSZACTIONSZ FILE_ACTIONSr r !/usr/lib/python3.6/transaction.pysp         PKhee[br error.cpython-36.opt-1.pycnu[3 љg @sddlmZedkr&ddZeZ[n"edkr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXdd d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXejZdS)) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr._error) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer/usr/lib64/python3.6/error.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict__Z__swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r+cCst||||dS)Nr)r+)r&r'r(r)rrr _swig_setattrFsr,cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rrZ__swig_getmethods__r!r%r)r&r'r(r*rrr _swig_getattrJs  r-c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r&Zstrthisrrr _swig_reprSs  r4c@s eZdZdS)_objectN)rr3 __qualname__rrrrr5^sr5)rrr)rrr)r)sysrZ_swig_python_version_inforrpropertyZ_swig_property NameErrorbuiltinsr0r r+r,r-r4r#r5r"r1Errorrrrrs:     PKhee[6WWcommon_types.cpython-36.pycnu[3 љg@sVddlmZed,kr&ddZeZ[n"ed-kr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXd.d d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZejZeeGd d!d!eZej Z e eGd"d#d#eZ!ej"Z"e"e!Gd$d%d%eZ#ej$Z$e$e#Gd&d'd'eZ%ej&Z&e&e%Gd(d)d)eZ'ej(Z(e(e'Gd*d+d+eZ)ej*Z*e*e)dS)/) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr. _common_types) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer$/usr/lib64/python3.6/common_types.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7c@seZdZiZddZiZddZddZeZ e j Z ddZ ddZd+d d Zd,d d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*S)-SwigPyIteratorcCst|t||S)N)r-r9)r'r)r*rrrdszSwigPyIterator.cCs t|t|S)N)r/r9)r'r)rrrr:fscOs tddS)Nz*No constructor defined - class is abstract)r&)r'argskwargsrrr__init__hszSwigPyIterator.__init__cCsdS)Nr)r'rrrr:lscCs tj|S)N)rZSwigPyIterator_value)r'rrrr*nszSwigPyIterator.valuercCs tj||S)N)rZSwigPyIterator_incr)r'nrrrincrqszSwigPyIterator.incrcCs tj||S)N)rZSwigPyIterator_decr)r'r>rrrdecrtszSwigPyIterator.decrcCs tj||S)N)rZSwigPyIterator_distance)r'xrrrdistancewszSwigPyIterator.distancecCs tj||S)N)rZSwigPyIterator_equal)r'rArrrequalzszSwigPyIterator.equalcCs tj|S)N)rZSwigPyIterator_copy)r'rrrcopy}szSwigPyIterator.copycCs tj|S)N)rZSwigPyIterator_next)r'rrrnextszSwigPyIterator.nextcCs tj|S)N)rZSwigPyIterator___next__)r'rrr__next__szSwigPyIterator.__next__cCs tj|S)N)rZSwigPyIterator_previous)r'rrrpreviousszSwigPyIterator.previouscCs tj||S)N)rZSwigPyIterator_advance)r'r>rrradvanceszSwigPyIterator.advancecCs tj||S)N)rZSwigPyIterator___eq__)r'rArrr__eq__szSwigPyIterator.__eq__cCs tj||S)N)rZSwigPyIterator___ne__)r'rArrr__ne__szSwigPyIterator.__ne__cCs tj||S)N)rZSwigPyIterator___iadd__)r'r>rrr__iadd__szSwigPyIterator.__iadd__cCs tj||S)N)rZSwigPyIterator___isub__)r'r>rrr__isub__szSwigPyIterator.__isub__cCs tj||S)N)rZSwigPyIterator___add__)r'r>rrr__add__szSwigPyIterator.__add__cGstj|f|S)N)rZSwigPyIterator___sub__)r'r;rrr__sub__szSwigPyIterator.__sub__cCs|S)Nr)r'rrr__iter__szSwigPyIterator.__iter__N)r)r)rr5r8r!r%r. __getattr__r=r6r1rZdelete_SwigPyIterator__swig_destroy____del__r*r?r@rBrCrDrErFrGrHrIrJrKrLrMrNrOrrrrr9bs2  r9c@seZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"e#j$Z%d8dZ&d9S): SetStringcCst|t||S)N)r-rS)r'r)r*rrrr:szSetString.cCs t|t|S)N)r/rS)r'r)rrrr:scCs tj|S)N)rZSetString_iterator)r'rrriteratorszSetString.iteratorcCs|jS)N)rT)r'rrrrOszSetString.__iter__cCs tj|S)N)rZSetString___nonzero__)r'rrr __nonzero__szSetString.__nonzero__cCs tj|S)N)rZSetString___bool__)r'rrr__bool__szSetString.__bool__cCs tj|S)N)rZSetString___len__)r'rrr__len__szSetString.__len__cCs tj||S)N)rZSetString_append)r'rArrrappendszSetString.appendcCs tj||S)N)rZSetString___contains__)r'rArrr __contains__szSetString.__contains__cCs tj||S)N)rZSetString___getitem__)r'irrr __getitem__szSetString.__getitem__cCs tj||S)N)rZ SetString_add)r'rArrraddsz SetString.addcCs tj||S)N)rZSetString_discard)r'rArrrdiscardszSetString.discardc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ new_SetStringrrXr2r3)r'r;rrrrr=s  zSetString.__init__cCs tj|S)N)rZSetString_empty)r'rrremptyszSetString.emptycCs tj|S)N)rZSetString_size)r'rrrsizeszSetString.sizecCs tj|S)N)rZSetString_clear)r'rrrclearszSetString.clearcCs tj||S)N)rZSetString_swap)r'vrrrswapszSetString.swapcCs tj||S)N)rZSetString_count)r'rArrrcountszSetString.countcCs tj|S)N)rZSetString_begin)r'rrrbeginszSetString.begincCs tj|S)N)rZ SetString_end)r'rrrendsz SetString.endcCs tj|S)N)rZSetString_rbegin)r'rrrrbeginszSetString.rbegincCs tj|S)N)rZSetString_rend)r'rrrrendszSetString.rendcGstj|f|S)N)rZSetString_erase)r'r;rrreraseszSetString.erasecCs tj||S)N)rZSetString_find)r'rArrrfindszSetString.findcCs tj||S)N)rZSetString_lower_bound)r'rArrr lower_boundszSetString.lower_boundcCs tj||S)N)rZSetString_upper_bound)r'rArrr upper_boundszSetString.upper_boundcCs tj||S)N)rZSetString_equal_range)r'rArrr equal_rangeszSetString.equal_rangecCs tj||S)N)rZSetString_insert)r'Z _SetString__xrrrinsertszSetString.insertcCsdS)Nr)r'rrrr:sN)'rr5r8r!r%r.rPr6r1rTrOrUrVrWrXrYr[r\r]r=r^r_r`rbrcrdrerfrgrhrirjrkrlrmrZdelete_SetStringrQrRrrrrrSsBrSc@seZdZiZddZiZddZeZddZ e j ed<e j ed<e rRee j e j Ze jed<e jed<e rxee je jZdd Zd d Zd d ZddZe jZddZdS)PairStringStringcCst|t||S)N)r-rn)r'r)r*rrrr:szPairStringString.cCs t|t|S)N)r/rn)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_PairStringStringrrXr2r3)r'r;rrrrr=s  zPairStringString.__init__firstsecondcCsdS)Nrr)r'rrrrWszPairStringString.__len__cCst|j|jfS)N)strrorp)r'rrrr1szPairStringString.__repr__cCs|ds|jS|jSdS)Nr)rorp)r'indexrrrr[szPairStringString.__getitem__cCs|ds||_n||_dS)Nr)rorp)r'rrvalrrr __setitem__szPairStringString.__setitem__cCsdS)Nr)r'rrrr:"sN)rr5r8r!r%r.rPr6r1r=rZPairStringString_first_setZPairStringString_first_getr#_swig_propertyroZPairStringString_second_setZPairStringString_second_getrprWr[rtZdelete_PairStringStringrQrRrrrrrns(    rnc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorPairStringStringcCst|t||S)N)r-rv)r'r)r*rrrr:(szVectorPairStringString.cCs t|t|S)N)r/rv)r'r)rrrr:*scCs tj|S)N)rZVectorPairStringString_iterator)r'rrrrT-szVectorPairStringString.iteratorcCs|jS)N)rT)r'rrrrO/szVectorPairStringString.__iter__cCs tj|S)N)rZ"VectorPairStringString___nonzero__)r'rrrrU2sz"VectorPairStringString.__nonzero__cCs tj|S)N)rZVectorPairStringString___bool__)r'rrrrV5szVectorPairStringString.__bool__cCs tj|S)N)rZVectorPairStringString___len__)r'rrrrW8szVectorPairStringString.__len__cCstj|||S)N)rZ#VectorPairStringString___getslice__)r'rZjrrr __getslice__;sz#VectorPairStringString.__getslice__cGstj|f|S)N)rZ#VectorPairStringString___setslice__)r'r;rrr __setslice__>sz#VectorPairStringString.__setslice__cCstj|||S)N)rZ#VectorPairStringString___delslice__)r'rZrwrrr __delslice__Asz#VectorPairStringString.__delslice__cGstj|f|S)N)rZ"VectorPairStringString___delitem__)r'r;rrr __delitem__Dsz"VectorPairStringString.__delitem__cGstj|f|S)N)rZ"VectorPairStringString___getitem__)r'r;rrrr[Gsz"VectorPairStringString.__getitem__cGstj|f|S)N)rZ"VectorPairStringString___setitem__)r'r;rrrrtJsz"VectorPairStringString.__setitem__cCs tj|S)N)rZVectorPairStringString_pop)r'rrrpopMszVectorPairStringString.popcCs tj||S)N)rZVectorPairStringString_append)r'rArrrrXPszVectorPairStringString.appendcCs tj|S)N)rZVectorPairStringString_empty)r'rrrr^SszVectorPairStringString.emptycCs tj|S)N)rZVectorPairStringString_size)r'rrrr_VszVectorPairStringString.sizecCs tj||S)N)rZVectorPairStringString_swap)r'rarrrrbYszVectorPairStringString.swapcCs tj|S)N)rZVectorPairStringString_begin)r'rrrrd\szVectorPairStringString.begincCs tj|S)N)rZVectorPairStringString_end)r'rrrre_szVectorPairStringString.endcCs tj|S)N)rZVectorPairStringString_rbegin)r'rrrrfbszVectorPairStringString.rbegincCs tj|S)N)rZVectorPairStringString_rend)r'rrrrgeszVectorPairStringString.rendcCs tj|S)N)rZVectorPairStringString_clear)r'rrrr`hszVectorPairStringString.clearcCs tj|S)N)rZ$VectorPairStringString_get_allocator)r'rrr get_allocatorksz$VectorPairStringString.get_allocatorcCs tj|S)N)rZVectorPairStringString_pop_back)r'rrrpop_backnszVectorPairStringString.pop_backcGstj|f|S)N)rZVectorPairStringString_erase)r'r;rrrrhqszVectorPairStringString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorPairStringStringrrXr2r3)r'r;rrrrr=ts  zVectorPairStringString.__init__cCs tj||S)N)rZ VectorPairStringString_push_back)r'rArrr push_back{sz VectorPairStringString.push_backcCs tj|S)N)rZVectorPairStringString_front)r'rrrfront~szVectorPairStringString.frontcCs tj|S)N)rZVectorPairStringString_back)r'rrrbackszVectorPairStringString.backcCstj|||S)N)rZVectorPairStringString_assign)r'r>rArrrassignszVectorPairStringString.assigncGstj|f|S)N)rZVectorPairStringString_resize)r'r;rrrresizeszVectorPairStringString.resizecGstj|f|S)N)rZVectorPairStringString_insert)r'r;rrrrmszVectorPairStringString.insertcCs tj||S)N)rZVectorPairStringString_reserve)r'r>rrrreserveszVectorPairStringString.reservecCs tj|S)N)rZVectorPairStringString_capacity)r'rrrcapacityszVectorPairStringString.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrxryrzr{r[rtr|rXr^r_rbrdrerfrgr`r}r~rhr=rrrrrrmrrrZdelete_VectorPairStringStringrQrRrrrrrv&sPrvc@sNeZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dGdHZ*e+j,Z-dIdZ.dJS)KMapStringStringcCst|t||S)N)r-r)r'r)r*rrrr:szMapStringString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZMapStringString_iterator)r'rrrrTszMapStringString.iteratorcCs|jS)N)rT)r'rrrrOszMapStringString.__iter__cCs tj|S)N)rZMapStringString___nonzero__)r'rrrrUszMapStringString.__nonzero__cCs tj|S)N)rZMapStringString___bool__)r'rrrrVszMapStringString.__bool__cCs tj|S)N)rZMapStringString___len__)r'rrrrWszMapStringString.__len__cCs|jS)N) key_iterator)r'rrrrOscCs|jS)N)r)r'rrriterkeysszMapStringString.iterkeyscCs|jS)N)value_iterator)r'rrr itervaluesszMapStringString.itervaluescCs|jS)N)rT)r'rrr iteritemsszMapStringString.iteritemscCs tj||S)N)rZMapStringString___getitem__)r'keyrrrr[szMapStringString.__getitem__cCs tj||S)N)rZMapStringString___delitem__)r'rrrrr{szMapStringString.__delitem__cCs tj||S)N)rZMapStringString_has_key)r'rrrrhas_keyszMapStringString.has_keycCs tj|S)N)rZMapStringString_keys)r'rrrkeysszMapStringString.keyscCs tj|S)N)rZMapStringString_values)r'rrrvaluesszMapStringString.valuescCs tj|S)N)rZMapStringString_items)r'rrritemsszMapStringString.itemscCs tj||S)N)rZMapStringString___contains__)r'rrrrrYszMapStringString.__contains__cCs tj|S)N)rZMapStringString_key_iterator)r'rrrrszMapStringString.key_iteratorcCs tj|S)N)rZMapStringString_value_iterator)r'rrrrszMapStringString.value_iteratorcGstj|f|S)N)rZMapStringString___setitem__)r'r;rrrrtszMapStringString.__setitem__cCs tj|S)N)rZMapStringString_asdict)r'rrrasdictszMapStringString.asdictc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_MapStringStringrrXr2r3)r'r;rrrrr=s  zMapStringString.__init__cCs tj|S)N)rZMapStringString_empty)r'rrrr^szMapStringString.emptycCs tj|S)N)rZMapStringString_size)r'rrrr_szMapStringString.sizecCs tj||S)N)rZMapStringString_swap)r'rarrrrbszMapStringString.swapcCs tj|S)N)rZMapStringString_begin)r'rrrrdszMapStringString.begincCs tj|S)N)rZMapStringString_end)r'rrrreszMapStringString.endcCs tj|S)N)rZMapStringString_rbegin)r'rrrrfszMapStringString.rbegincCs tj|S)N)rZMapStringString_rend)r'rrrrgszMapStringString.rendcCs tj|S)N)rZMapStringString_clear)r'rrrr`szMapStringString.clearcCs tj|S)N)rZMapStringString_get_allocator)r'rrrr}szMapStringString.get_allocatorcCs tj||S)N)rZMapStringString_count)r'rArrrrcszMapStringString.countcGstj|f|S)N)rZMapStringString_erase)r'r;rrrrhszMapStringString.erasecCs tj||S)N)rZMapStringString_find)r'rArrrriszMapStringString.findcCs tj||S)N)rZMapStringString_lower_bound)r'rArrrrjszMapStringString.lower_boundcCs tj||S)N)rZMapStringString_upper_bound)r'rArrrrkszMapStringString.upper_boundcCsdS)Nr)r'rrrr:sN)/rr5r8r!r%r.rPr6r1rTrOrUrVrWrrrr[r{rrrrrYrrrtrr=r^r_rbrdrerfrgr`r}rcrhrirjrkrZdelete_MapStringStringrQrRrrrrrsTrc@sNeZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dGdHZ*e+j,Z-dIdZ.dJS)KMapStringMapStringStringcCst|t||S)N)r-r)r'r)r*rrrr: sz!MapStringMapStringString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZ!MapStringMapStringString_iterator)r'rrrrTsz!MapStringMapStringString.iteratorcCs|jS)N)rT)r'rrrrOsz!MapStringMapStringString.__iter__cCs tj|S)N)rZ$MapStringMapStringString___nonzero__)r'rrrrUsz$MapStringMapStringString.__nonzero__cCs tj|S)N)rZ!MapStringMapStringString___bool__)r'rrrrVsz!MapStringMapStringString.__bool__cCs tj|S)N)rZ MapStringMapStringString___len__)r'rrrrWsz MapStringMapStringString.__len__cCs|jS)N)r)r'rrrrOscCs|jS)N)r)r'rrrr sz!MapStringMapStringString.iterkeyscCs|jS)N)r)r'rrrr"sz#MapStringMapStringString.itervaluescCs|jS)N)rT)r'rrrr$sz"MapStringMapStringString.iteritemscCs tj||S)N)rZ$MapStringMapStringString___getitem__)r'rrrrr['sz$MapStringMapStringString.__getitem__cCs tj||S)N)rZ$MapStringMapStringString___delitem__)r'rrrrr{*sz$MapStringMapStringString.__delitem__cCs tj||S)N)rZ MapStringMapStringString_has_key)r'rrrrr-sz MapStringMapStringString.has_keycCs tj|S)N)rZMapStringMapStringString_keys)r'rrrr0szMapStringMapStringString.keyscCs tj|S)N)rZMapStringMapStringString_values)r'rrrr3szMapStringMapStringString.valuescCs tj|S)N)rZMapStringMapStringString_items)r'rrrr6szMapStringMapStringString.itemscCs tj||S)N)rZ%MapStringMapStringString___contains__)r'rrrrrY9sz%MapStringMapStringString.__contains__cCs tj|S)N)rZ%MapStringMapStringString_key_iterator)r'rrrr<sz%MapStringMapStringString.key_iteratorcCs tj|S)N)rZ'MapStringMapStringString_value_iterator)r'rrrr?sz'MapStringMapStringString.value_iteratorcGstj|f|S)N)rZ$MapStringMapStringString___setitem__)r'r;rrrrtBsz$MapStringMapStringString.__setitem__cCs tj|S)N)rZMapStringMapStringString_asdict)r'rrrrEszMapStringMapStringString.asdictc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_MapStringMapStringStringrrXr2r3)r'r;rrrrr=Hs  z!MapStringMapStringString.__init__cCs tj|S)N)rZMapStringMapStringString_empty)r'rrrr^OszMapStringMapStringString.emptycCs tj|S)N)rZMapStringMapStringString_size)r'rrrr_RszMapStringMapStringString.sizecCs tj||S)N)rZMapStringMapStringString_swap)r'rarrrrbUszMapStringMapStringString.swapcCs tj|S)N)rZMapStringMapStringString_begin)r'rrrrdXszMapStringMapStringString.begincCs tj|S)N)rZMapStringMapStringString_end)r'rrrre[szMapStringMapStringString.endcCs tj|S)N)rZMapStringMapStringString_rbegin)r'rrrrf^szMapStringMapStringString.rbegincCs tj|S)N)rZMapStringMapStringString_rend)r'rrrrgaszMapStringMapStringString.rendcCs tj|S)N)rZMapStringMapStringString_clear)r'rrrr`dszMapStringMapStringString.clearcCs tj|S)N)rZ&MapStringMapStringString_get_allocator)r'rrrr}gsz&MapStringMapStringString.get_allocatorcCs tj||S)N)rZMapStringMapStringString_count)r'rArrrrcjszMapStringMapStringString.countcGstj|f|S)N)rZMapStringMapStringString_erase)r'r;rrrrhmszMapStringMapStringString.erasecCs tj||S)N)rZMapStringMapStringString_find)r'rArrrripszMapStringMapStringString.findcCs tj||S)N)rZ$MapStringMapStringString_lower_bound)r'rArrrrjssz$MapStringMapStringString.lower_boundcCs tj||S)N)rZ$MapStringMapStringString_upper_bound)r'rArrrrkvsz$MapStringMapStringString.upper_boundcCsdS)Nr)r'rrrr:ysN)/rr5r8r!r%r.rPr6r1rTrOrUrVrWrrrr[r{rrrrrYrrrtrr=r^r_rbrdrerfrgr`r}rcrhrirjrkrZdelete_MapStringMapStringStringrQrRrrrrr sTrc@sNeZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dGdHZ*e+j,Z-dIdZ.dJS)KMapStringPairStringStringcCst|t||S)N)r-r)r'r)r*rrrr:sz"MapStringPairStringString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZ"MapStringPairStringString_iterator)r'rrrrTsz"MapStringPairStringString.iteratorcCs|jS)N)rT)r'rrrrOsz"MapStringPairStringString.__iter__cCs tj|S)N)rZ%MapStringPairStringString___nonzero__)r'rrrrUsz%MapStringPairStringString.__nonzero__cCs tj|S)N)rZ"MapStringPairStringString___bool__)r'rrrrVsz"MapStringPairStringString.__bool__cCs tj|S)N)rZ!MapStringPairStringString___len__)r'rrrrWsz!MapStringPairStringString.__len__cCs|jS)N)r)r'rrrrOscCs|jS)N)r)r'rrrrsz"MapStringPairStringString.iterkeyscCs|jS)N)r)r'rrrrsz$MapStringPairStringString.itervaluescCs|jS)N)rT)r'rrrrsz#MapStringPairStringString.iteritemscCs tj||S)N)rZ%MapStringPairStringString___getitem__)r'rrrrr[sz%MapStringPairStringString.__getitem__cCs tj||S)N)rZ%MapStringPairStringString___delitem__)r'rrrrr{sz%MapStringPairStringString.__delitem__cCs tj||S)N)rZ!MapStringPairStringString_has_key)r'rrrrrsz!MapStringPairStringString.has_keycCs tj|S)N)rZMapStringPairStringString_keys)r'rrrrszMapStringPairStringString.keyscCs tj|S)N)rZ MapStringPairStringString_values)r'rrrrsz MapStringPairStringString.valuescCs tj|S)N)rZMapStringPairStringString_items)r'rrrrszMapStringPairStringString.itemscCs tj||S)N)rZ&MapStringPairStringString___contains__)r'rrrrrYsz&MapStringPairStringString.__contains__cCs tj|S)N)rZ&MapStringPairStringString_key_iterator)r'rrrrsz&MapStringPairStringString.key_iteratorcCs tj|S)N)rZ(MapStringPairStringString_value_iterator)r'rrrrsz(MapStringPairStringString.value_iteratorcGstj|f|S)N)rZ%MapStringPairStringString___setitem__)r'r;rrrrtsz%MapStringPairStringString.__setitem__cCs tj|S)N)rZ MapStringPairStringString_asdict)r'rrrrsz MapStringPairStringString.asdictc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_MapStringPairStringStringrrXr2r3)r'r;rrrrr=s  z"MapStringPairStringString.__init__cCs tj|S)N)rZMapStringPairStringString_empty)r'rrrr^szMapStringPairStringString.emptycCs tj|S)N)rZMapStringPairStringString_size)r'rrrr_szMapStringPairStringString.sizecCs tj||S)N)rZMapStringPairStringString_swap)r'rarrrrbszMapStringPairStringString.swapcCs tj|S)N)rZMapStringPairStringString_begin)r'rrrrdszMapStringPairStringString.begincCs tj|S)N)rZMapStringPairStringString_end)r'rrrreszMapStringPairStringString.endcCs tj|S)N)rZ MapStringPairStringString_rbegin)r'rrrrfsz MapStringPairStringString.rbegincCs tj|S)N)rZMapStringPairStringString_rend)r'rrrrgszMapStringPairStringString.rendcCs tj|S)N)rZMapStringPairStringString_clear)r'rrrr`szMapStringPairStringString.clearcCs tj|S)N)rZ'MapStringPairStringString_get_allocator)r'rrrr}sz'MapStringPairStringString.get_allocatorcCs tj||S)N)rZMapStringPairStringString_count)r'rArrrrcszMapStringPairStringString.countcGstj|f|S)N)rZMapStringPairStringString_erase)r'r;rrrrhszMapStringPairStringString.erasecCs tj||S)N)rZMapStringPairStringString_find)r'rArrrriszMapStringPairStringString.findcCs tj||S)N)rZ%MapStringPairStringString_lower_bound)r'rArrrrjsz%MapStringPairStringString.lower_boundcCs tj||S)N)rZ%MapStringPairStringString_upper_bound)r'rArrrrksz%MapStringPairStringString.upper_boundcCsdS)Nr)r'rrrr:sN)/rr5r8r!r%r.rPr6r1rTrOrUrVrWrrrr[r{rrrrrYrrrtrr=r^r_rbrdrerfrgr`r}rcrhrirjrkrZ delete_MapStringPairStringStringrQrRrrrrr}sTrc@s>eZdZiZddZiZddZeZddZ e j Z ddZ dS) StopIteratorcCst|t||S)N)r-r)r'r)r*rrrr:szStopIterator.cCs t|t|S)N)r/r)r'r)rrrr:sc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_StopIteratorrrXr2r3)r'rrrrr=s zStopIterator.__init__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rZdelete_StopIteratorrQrRrrrrrsrc@seZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!ZejZd"dZd#S)$PreserveOrderMapStringStringcCst|t||S)N)r-r)r'r)r*rrrr:sz%PreserveOrderMapStringString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZ"PreserveOrderMapStringString_empty)r'rrrr^ sz"PreserveOrderMapStringString.emptycCs tj|S)N)rZ!PreserveOrderMapStringString_size)r'rrrr_ sz!PreserveOrderMapStringString.sizecCs tj|S)N)rZ%PreserveOrderMapStringString_max_size)r'rrrmax_sizesz%PreserveOrderMapStringString.max_sizecCs tj||S)N)rZ$PreserveOrderMapStringString_reserve)r' newCapacityrrrrsz$PreserveOrderMapStringString.reservecCs tj|S)N)rZ%PreserveOrderMapStringString_capacity)r'rrrrsz%PreserveOrderMapStringString.capacitycCs tj|S)N)rZ*PreserveOrderMapStringString_shrink_to_fit)r'rrr shrink_to_fitsz*PreserveOrderMapStringString.shrink_to_fitcCs tj|S)N)rZ"PreserveOrderMapStringString_clear)r'rrrr`sz"PreserveOrderMapStringString.clearcCs tj||S)N)rZ"PreserveOrderMapStringString_erase)r'rrrrrhsz"PreserveOrderMapStringString.erasecCs tj||S)N)rZ(PreserveOrderMapStringString___getitem__)r'rrrrr[!sz(PreserveOrderMapStringString.__getitem__cCstj|||S)N)rZ(PreserveOrderMapStringString___setitem__)r'rr*rrrrt$sz(PreserveOrderMapStringString.__setitem__cCs tj||S)N)rZ(PreserveOrderMapStringString___delitem__)r'rrrrr{'sz(PreserveOrderMapStringString.__delitem__cCs tj||S)N)rZ)PreserveOrderMapStringString___contains__)r'rrrrrY*sz)PreserveOrderMapStringString.__contains__cCs tj|S)N)rZ$PreserveOrderMapStringString___len__)r'rrrrW-sz$PreserveOrderMapStringString.__len__cCs tj|S)N)rZ%PreserveOrderMapStringString___iter__)r'rrrrO0sz%PreserveOrderMapStringString.__iter__c Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZ new_PreserveOrderMapStringStringrrXr2r3)r'rrrrr=3s z%PreserveOrderMapStringString.__init__cCsdS)Nr)r'rrrr::sN)rr5r8r!r%r.rPr6r1r^r_rrrrr`rhr[rtr{rYrWrOr=rZ#delete_PreserveOrderMapStringStringrQrRrrrrrs,rc@seZdZiZddZiZddZeZddZ ddZ e j ed<e j ed<erZee j e j Ze jed <e jed <eree je jZd d Zd d Ze jZddZdS)$PreserveOrderMapStringStringIteratorcCst|t||S)N)r-r)r'r)r*rrrr:@sz-PreserveOrderMapStringStringIterator.cCs t|t|S)N)r/r)r'r)rrrr:Bsc Cs>tj||}y|jj|Wntjk r8||_YnXdS)N)rZ(new_PreserveOrderMapStringStringIteratorrrXr2r3)r'_cur_endrrrrr=Es  z-PreserveOrderMapStringStringIterator.__init__cCs tj|S)N)rZ-PreserveOrderMapStringStringIterator___iter__)r'rrrrOLsz-PreserveOrderMapStringStringIterator.__iter__currecCs tj|S)N)rZ-PreserveOrderMapStringStringIterator___next__)r'rrrrFWsz-PreserveOrderMapStringStringIterator.__next__cCs tj|S)N)rZ)PreserveOrderMapStringStringIterator_next)r'rrrrEZsz)PreserveOrderMapStringStringIterator.nextcCsdS)Nr)r'rrrr:]sN)rr5r8r!r%r.rPr6r1r=rOrZ,PreserveOrderMapStringStringIterator_cur_setZ,PreserveOrderMapStringStringIterator_cur_getr#rurZ,PreserveOrderMapStringStringIterator_end_setZ,PreserveOrderMapStringStringIterator_end_getrerFrEZ+delete_PreserveOrderMapStringStringIteratorrQrRrrrrr>s&    rc@seZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!ZejZd"dZd#S)$2PreserveOrderMapStringPreserveOrderMapStringStringcCst|t||S)N)r-r)r'r)r*rrrr:csz;PreserveOrderMapStringPreserveOrderMapStringString.cCs t|t|S)N)r/r)r'r)rrrr:escCs tj|S)N)rZ8PreserveOrderMapStringPreserveOrderMapStringString_empty)r'rrrr^hsz8PreserveOrderMapStringPreserveOrderMapStringString.emptycCs tj|S)N)rZ7PreserveOrderMapStringPreserveOrderMapStringString_size)r'rrrr_ksz7PreserveOrderMapStringPreserveOrderMapStringString.sizecCs tj|S)N)rZ;PreserveOrderMapStringPreserveOrderMapStringString_max_size)r'rrrrnsz;PreserveOrderMapStringPreserveOrderMapStringString.max_sizecCs tj||S)N)rZ:PreserveOrderMapStringPreserveOrderMapStringString_reserve)r'rrrrrqsz:PreserveOrderMapStringPreserveOrderMapStringString.reservecCs tj|S)N)rZ;PreserveOrderMapStringPreserveOrderMapStringString_capacity)r'rrrrtsz;PreserveOrderMapStringPreserveOrderMapStringString.capacitycCs tj|S)N)rZ@PreserveOrderMapStringPreserveOrderMapStringString_shrink_to_fit)r'rrrrwsz@PreserveOrderMapStringPreserveOrderMapStringString.shrink_to_fitcCs tj|S)N)rZ8PreserveOrderMapStringPreserveOrderMapStringString_clear)r'rrrr`zsz8PreserveOrderMapStringPreserveOrderMapStringString.clearcCs tj||S)N)rZ8PreserveOrderMapStringPreserveOrderMapStringString_erase)r'rrrrrh}sz8PreserveOrderMapStringPreserveOrderMapStringString.erasecCs tj||S)N)rZ>PreserveOrderMapStringPreserveOrderMapStringString___getitem__)r'rrrrr[sz>PreserveOrderMapStringPreserveOrderMapStringString.__getitem__cCstj|||S)N)rZ>PreserveOrderMapStringPreserveOrderMapStringString___setitem__)r'rr*rrrrtsz>PreserveOrderMapStringPreserveOrderMapStringString.__setitem__cCs tj||S)N)rZ>PreserveOrderMapStringPreserveOrderMapStringString___delitem__)r'rrrrr{sz>PreserveOrderMapStringPreserveOrderMapStringString.__delitem__cCs tj||S)N)rZ?PreserveOrderMapStringPreserveOrderMapStringString___contains__)r'rrrrrYsz?PreserveOrderMapStringPreserveOrderMapStringString.__contains__cCs tj|S)N)rZ:PreserveOrderMapStringPreserveOrderMapStringString___len__)r'rrrrWsz:PreserveOrderMapStringPreserveOrderMapStringString.__len__cCs tj|S)N)rZ;PreserveOrderMapStringPreserveOrderMapStringString___iter__)r'rrrrOsz;PreserveOrderMapStringPreserveOrderMapStringString.__iter__c Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZ6new_PreserveOrderMapStringPreserveOrderMapStringStringrrXr2r3)r'rrrrr=s z;PreserveOrderMapStringPreserveOrderMapStringString.__init__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r^r_rrrrr`rhr[rtr{rYrWrOr=rZ9delete_PreserveOrderMapStringPreserveOrderMapStringStringrQrRrrrrras,rc@seZdZiZddZiZddZeZddZ ddZ e j ed<e j ed<erZee j e j Ze jed <e jed <eree je jZd d Zd d Ze jZddZdS):PreserveOrderMapStringPreserveOrderMapStringStringIteratorcCst|t||S)N)r-r)r'r)r*rrrr:szCPreserveOrderMapStringPreserveOrderMapStringStringIterator.cCs t|t|S)N)r/r)r'r)rrrr:sc Cs>tj||}y|jj|Wntjk r8||_YnXdS)N)rZ>new_PreserveOrderMapStringPreserveOrderMapStringStringIteratorrrXr2r3)r'rrrrrrr=s  zCPreserveOrderMapStringPreserveOrderMapStringStringIterator.__init__cCs tj|S)N)rZCPreserveOrderMapStringPreserveOrderMapStringStringIterator___iter__)r'rrrrOszCPreserveOrderMapStringPreserveOrderMapStringStringIterator.__iter__rrecCs tj|S)N)rZCPreserveOrderMapStringPreserveOrderMapStringStringIterator___next__)r'rrrrFszCPreserveOrderMapStringPreserveOrderMapStringStringIterator.__next__cCs tj|S)N)rZ?PreserveOrderMapStringPreserveOrderMapStringStringIterator_next)r'rrrrEsz?PreserveOrderMapStringPreserveOrderMapStringStringIterator.nextcCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rOrZBPreserveOrderMapStringPreserveOrderMapStringStringIterator_cur_setZBPreserveOrderMapStringPreserveOrderMapStringStringIterator_cur_getr#rurZBPreserveOrderMapStringPreserveOrderMapStringStringIterator_end_setZBPreserveOrderMapStringPreserveOrderMapStringStringIterator_end_getrerFrEZAdelete_PreserveOrderMapStringPreserveOrderMapStringStringIteratorrQrRrrrrrs&    r)rrr)rrr)r)+sysrZ_swig_python_version_inforrpropertyru NameErrorbuiltinsr2r r,r-r/r6r$r7r#r3r9ZSwigPyIterator_swigregisterrSZSetString_swigregisterrnZPairStringString_swigregisterrvZ#VectorPairStringString_swigregisterrZMapStringString_swigregisterrZ%MapStringMapStringString_swigregisterrZ&MapStringPairStringString_swigregisterrZStopIterator_swigregisterrZ)PreserveOrderMapStringString_swigregisterrZ1PreserveOrderMapStringStringIterator_swigregisterrZ?PreserveOrderMapStringPreserveOrderMapStringString_swigregisterrZGPreserveOrderMapStringPreserveOrderMapStringStringIterator_swigregisterrrrrs     =Y%nppp9 9 PKhee[C#C#utils.cpython-36.opt-1.pycnu[3 љgN $@sddlmZed*kr&ddZeZ[n"ed+kr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXd,d d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXyddlZejZWn e jk rddZYnXejZGdddeZejZeeGdddeZejZeeddZejZGdddeZejZeeGdddeZejZeed d!Z ej Z d"d#Z!ej!Z!d-d$d%Z"ej"Z"d&d'Z#ej#Z#d(d)Z$ej$Z$dS).) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr._utils) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer/usr/lib64/python3.6/utils.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7cCs|S)Nr)xrrrfsr:c@sFeZdZiZddZiZddZeZddZ ddZ e j Z ddZd S) SQLite3cCst|t||S)N)r-r;)r'r)r*rrrr:lszSQLite3.cCs t|t|S)N)r/r;)r'r)rrrr:nsc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ new_SQLite3rappendr2r3)r'ZdbPathrrrr__init__qs  zSQLite3.__init__cCs tj|S)N)rZ SQLite3_close)r'rrrrxsz SQLite3.closecCsdS)Nr)r'rrrr:{sN)rr5r8r!r%r. __getattr__r6r1r=rrZdelete_SQLite3__swig_destroy____del__rrrrr;jsr;c@seZdZiZddZiZddZeZe j Z e j Z e jZe jZe jZe jZe jZer^ee jZne jZe jZe jZddZ ddZ!dd Z"d d Z#d d Z$ddZ%ddZ&ddZ'e j(Z)ddZ*ddZ+ddZ,dS)LoggercCst|t||S)N)r-rA)r'r)r*rrrr:szLogger.cCs t|t|S)N)r/rA)r'r)rrrr:scGstj|f|S)N)rZLogger_critical)r'argsrrrcriticalszLogger.criticalcGstj|f|S)N)rZ Logger_error)r'rBrrrerrorsz Logger.errorcGstj|f|S)N)rZLogger_warning)r'rBrrrwarningszLogger.warningcGstj|f|S)N)rZ Logger_notice)r'rBrrrnoticesz Logger.noticecGstj|f|S)N)rZ Logger_info)r'rBrrrinfosz Logger.infocGstj|f|S)N)rZ Logger_debug)r'rBrrrdebugsz Logger.debugcGstj|f|S)N)rZ Logger_trace)r'rBrrrtracesz Logger.tracecGstj|f|S)N)rZ Logger_write)r'rBrrrwritesz Logger.writecCsdS)Nr)r'rrrr:sc CsP|jtkrd}n|}tj|}y|jj|Wntjk rJ||_YnXdS)N)r4rArZ new_Loggerrr<r2r3)r'_selfrrrrr=s  zLogger.__init__cCs|jjtj|t|S)N)rZdisownrZ disown_Logger weakref_proxy)r'rrr __disown__s  zLogger.__disown__N)-rr5r8r!r%r.r>r6r1rZLogger_Level_CRITICALZLevel_CRITICALZLogger_Level_ERRORZ Level_ERRORZLogger_Level_WARNINGZ Level_WARNINGZLogger_Level_NOTICEZ Level_NOTICEZLogger_Level_INFOZ Level_INFOZLogger_Level_DEBUGZ Level_DEBUGZLogger_Level_TRACEZ Level_TRACEr# staticmethodLogger_levelToCStrZ levelToCStrZLogger_LOG_SOURCE_LIBDNFZLOG_SOURCE_LIBDNFZLogger_LOG_SOURCE_LIBREPOZLOG_SOURCE_LIBREPOrCrDrErFrGrHrIrJZ delete_Loggerr?r@r=rMrrrrrAs:  rAcCs tj|S)N)rrO)levelrrrrOsrOc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd ZejZd dZd S) NullLoggerr!cCst|t||S)N)r-rQ)r'r)r*rrrr:szNullLogger.r.cCs t|t|S)N)r/rQ)r'r)rrrr:scGstj|f|S)N)rZNullLogger_write)r'rBrrrrJszNullLogger.writec Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_NullLoggerrr<r2r3)r'rrrrr=s zNullLogger.__init__cCsdS)Nr)r'rrrr:sN)rr5r8r!rAZ_supdategetattrr%r.r>r6r1rJr=rZdelete_NullLoggerr?r@rrrrrQs  rQc@sjeZdZiZddZiZddZeZe r4e e j Z ne j Z e rJe e jZne jZddZe jZddZdS)LogcCst|t||S)N)r-rT)r'r)r*rrrr:sz Log.cCs t|t|S)N)r/rT)r'r)rrrr:sc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_Logrr<r2r3)r'rrrrr=s z Log.__init__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.r>r6r1r#rNr Log_setLoggerZ setLogger Log_getLoggerZ getLoggerr=Z delete_Logr?r@rrrrrTs  rTcCs tj|S)N)rrU)ZloggerrrrrUsrUcCstjS)N)rrVrrrrrVsrVcCstj||||S)N)r decompress)inPathZoutPathZoutModeZ compressTyperrrrWsrWcCstj|||S)N)rchecksum_check)rrXZchecksum_validrrrrYsrYcCs tj||S)N)rchecksum_value)rrXrrrrZsrZ)rrr)rrr)r)N)%sysrZ_swig_python_version_inforrpropertyZ_swig_property NameErrorbuiltinsr2r r,r-r/r6r$r7r#r3weakrefproxyrLZSHARED_PTR_DISOWNr;ZSQLite3_swigregisterrAZLogger_swigregisterrOrQZNullLogger_swigregisterrTZLog_swigregisterrUrVrWrYrZrrrrst      < PKhee[L]conf.cpython-36.opt-1.pycnu[3 љg@sddlmZedkr&ddZeZ[n"edkr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXdd d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXGdddeZejZeeddlZGdddeZejZeeGdddeZejZeeejZejZejZGdddeZejZeeGdddeZ ej!Z!e!e GdddeZ"ej#Z#e#e"Gd d!d!eZ$ej%Z%e%e$Gd"d#d#eZ&ej'Z'e'e&Gd$d%d%eZ(ej)Z)e)e(Gd&d'd'e Z*ej+Z+e+e*Gd(d)d)eZ,ej-Z-e-e,Gd*d+d+eZ.ej/Z/e/e.Gd,d-d-e,Z0ej1Z1e1e0Gd.d/d/eZ2ej3Z3e3e2Gd0d1d1eZ4ej5Z5e5e4Gd2d3d3eZ6ej7Z7e7e6Gd4d5d5eZ8ej9Z9e9e8Gd6d7d7eZ:ej;Z;e;e:Gd8d9d9eZej?Z?e?e>Gdd?d?eZBejCZCeCeBd@dAZDeDeB_EdBdCZFeFeB_GdDdEZHeHeB_IdFdGZJeJeB_KdHdIZLeLeB_MdJdKZNeNeB_OdLdMZPePeB_QdNdOZReReB_SdPdQZTeTeB_UdRdSZVeVeB_WdTdUZXeXeB_YdVdWZZeZeB_[dXdYZ\e\eB_]dZd[Z^e^eB__d\d]Z`e`eB_ad^d_ZbebeB_cd`daZdedeB_edbdcZfefeB_gdddeZheheB_idfdgZjejeB_kdhdiZleleB_mGdjdkdkeZnejoZoeoenGdldmdmeZpejqZqeqepGdndodoeZrejsZseserGdpdqdqerZtejuZueuetdrdsZvejvZvdtduZwejwZwGdvdwdwerZxejyZyeyexGdxdydyeZzej{Z{e{ezGdzd{d{eZ|ej}Z}e}e|d|d}Z~ej~Z~Gd~ddeZejZeee|je|_ddZee|_[dddZee|_[ddZee|_[e|je|_e|je|_dddZee|_[dddZee|_[dddZee|_[dddZee|_[dddZee|_[ddZee|_[e|je|_ddZee|_[ddZee|_[ddZee|_[etjet_exjex_dS)) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr._conf) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer/usr/lib64/python3.6/conf.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7c@seZdZiZddZiZddZddZeZ e j Z ddZ ddZd+d d Zd,d d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*S)-SwigPyIteratorcCst|t||S)N)r-r9)r'r)r*rrrdszSwigPyIterator.cCs t|t|S)N)r/r9)r'r)rrrr:fscOs tddS)Nz*No constructor defined - class is abstract)r&)r'argskwargsrrr__init__hszSwigPyIterator.__init__cCsdS)Nr)r'rrrr:lscCs tj|S)N)rZSwigPyIterator_value)r'rrrr*nszSwigPyIterator.valuercCs tj||S)N)rZSwigPyIterator_incr)r'nrrrincrqszSwigPyIterator.incrcCs tj||S)N)rZSwigPyIterator_decr)r'r>rrrdecrtszSwigPyIterator.decrcCs tj||S)N)rZSwigPyIterator_distance)r'xrrrdistancewszSwigPyIterator.distancecCs tj||S)N)rZSwigPyIterator_equal)r'rArrrequalzszSwigPyIterator.equalcCs tj|S)N)rZSwigPyIterator_copy)r'rrrcopy}szSwigPyIterator.copycCs tj|S)N)rZSwigPyIterator_next)r'rrrnextszSwigPyIterator.nextcCs tj|S)N)rZSwigPyIterator___next__)r'rrr__next__szSwigPyIterator.__next__cCs tj|S)N)rZSwigPyIterator_previous)r'rrrpreviousszSwigPyIterator.previouscCs tj||S)N)rZSwigPyIterator_advance)r'r>rrradvanceszSwigPyIterator.advancecCs tj||S)N)rZSwigPyIterator___eq__)r'rArrr__eq__szSwigPyIterator.__eq__cCs tj||S)N)rZSwigPyIterator___ne__)r'rArrr__ne__szSwigPyIterator.__ne__cCs tj||S)N)rZSwigPyIterator___iadd__)r'r>rrr__iadd__szSwigPyIterator.__iadd__cCs tj||S)N)rZSwigPyIterator___isub__)r'r>rrr__isub__szSwigPyIterator.__isub__cCs tj||S)N)rZSwigPyIterator___add__)r'r>rrr__add__szSwigPyIterator.__add__cGstj|f|S)N)rZSwigPyIterator___sub__)r'r;rrr__sub__szSwigPyIterator.__sub__cCs|S)Nr)r'rrr__iter__szSwigPyIterator.__iter__N)r)r)rr5r8r!r%r. __getattr__r=r6r1rZdelete_SwigPyIterator__swig_destroy____del__r*r?r@rBrCrDrErFrGrHrIrJrKrLrMrNrOrrrrr9bs2  r9c@seZdZiZddZiZddZddZeZ e j Z e j Ze jZe jZe jZe jZe jZe jZe jZe jZddZdd Z d d Z!d d Z"ddZ#ddZ$e j%Z&ddZ'dS)OptioncCst|t||S)N)r-rS)r'r)r*rrrr:szOption.cCs t|t|S)N)r/rS)r'r)rrrr:scOs tddS)Nz*No constructor defined - class is abstract)r&)r'r;r<rrrr=szOption.__init__cCs tj|S)N)rZ Option_clone)r'rrrclonesz Option.clonecCs tj|S)N)rZOption_getPriority)r'rrr getPriorityszOption.getPrioritycCstj|||S)N)rZ Option_set)r'priorityr*rrrsetsz Option.setcCs tj|S)N)rZOption_getValueString)r'rrrgetValueStringszOption.getValueStringcCs tj|S)N)rZ Option_empty)r'rrremptysz Option.emptycCs tj|S)N)rZ Option_reset)r'rrrresetsz Option.resetcCsdS)Nr)r'rrrr:sN)(rr5r8r!r%r.rPr=r6r1rZOption_Priority_EMPTYZPriority_EMPTYZOption_Priority_DEFAULTZPriority_DEFAULTZOption_Priority_MAINCONFIGZPriority_MAINCONFIGZOption_Priority_AUTOMATICCONFIGZPriority_AUTOMATICCONFIGZOption_Priority_REPOCONFIGZPriority_REPOCONFIGZOption_Priority_PLUGINDEFAULTZPriority_PLUGINDEFAULTZOption_Priority_PLUGINCONFIGZPriority_PLUGINCONFIGZOption_Priority_DROPINCONFIGZPriority_DROPINCONFIGZOption_Priority_COMMANDLINEZPriority_COMMANDLINEZOption_Priority_RUNTIMEZPriority_RUNTIMErTrUrWrXrYrZZ delete_OptionrQrRrrrrrSs0rSc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZddZddZejZddZdS) OptionBoolr!cCst|t||S)N)r-r[)r'r)r*rrrr:szOptionBool.r.cCs t|t|S)N)r/r[)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionBoolrappendr2r3)r'r;rrrrr=s  zOptionBool.__init__cCs tj|S)N)rZOptionBool_clone)r'rrrrTszOptionBool.clonecCs tj||S)N)rZOptionBool_test)r'Zarg2rrrtestszOptionBool.testcCs tj||S)N)rZOptionBool_fromString)r'r*rrr fromStringszOptionBool.fromStringcGstj|f|S)N)rZOptionBool_set)r'r;rrrrWszOptionBool.setcCs tj|S)N)rZOptionBool_getValue)r'rrrgetValueszOptionBool.getValuecCs tj|S)N)rZOptionBool_getDefaultValue)r'rrrgetDefaultValueszOptionBool.getDefaultValuecCs tj||S)N)rZOptionBool_toString)r'r*rrrtoStringszOptionBool.toStringcCs tj|S)N)rZOptionBool_getValueString)r'rrrrXszOptionBool.getValueStringcCs tj|S)N)rZOptionBool_getTrueValues)r'rrr getTrueValuesszOptionBool.getTrueValuescCs tj|S)N)rZOptionBool_getFalseValues)r'rrrgetFalseValuesszOptionBool.getFalseValuescCs tj|S)N)rZOptionBool_reset)r'rrrrZszOptionBool.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rS_supdategetattrr%r.rPr6r1r=rTr]r^rWr_r`rarXrbrcrZrZdelete_OptionBoolrQrRrrrrr[s.  r[c@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionEnumStringr!cCst|t||S)N)r-rg)r'r)r*rrrr: szOptionEnumString.r.cCs t|t|S)N)r/rg)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionEnumStringrr\r2r3)r'r;rrrrr=s  zOptionEnumString.__init__cCs tj|S)N)rZOptionEnumString_clone)r'rrrrTszOptionEnumString.clonecCs tj||S)N)rZOptionEnumString_test)r'r*rrrr]szOptionEnumString.testcCs tj||S)N)rZOptionEnumString_fromString)r'r*rrrr^szOptionEnumString.fromStringcCstj|||S)N)rZOptionEnumString_set)r'rVr*rrrrW"szOptionEnumString.setcCs tj|S)N)rZOptionEnumString_getValue)r'rrrr_%szOptionEnumString.getValuecCs tj|S)N)rZ OptionEnumString_getDefaultValue)r'rrrr`(sz OptionEnumString.getDefaultValuecCs tj|S)N)rZOptionEnumString_getValueString)r'rrrrX+szOptionEnumString.getValueStringcCs tj|S)N)rZOptionEnumString_reset)r'rrrrZ.szOptionEnumString.resetcCsdS)Nr)r'rrrr:1sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rXrZrZdelete_OptionEnumStringrQrRrrrrrgs(  rgc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberInt32r!cCst|t||S)N)r-rh)r'r)r*rrrr:9szOptionNumberInt32.r.cCs t|t|S)N)r/rh)r'r)rrrr:=sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberInt32rr\r2r3)r'r;rrrrr=@s  zOptionNumberInt32.__init__cCs tj|S)N)rZOptionNumberInt32_clone)r'rrrrTGszOptionNumberInt32.clonecCs tj||S)N)rZOptionNumberInt32_test)r'r*rrrr]JszOptionNumberInt32.testcCs tj||S)N)rZOptionNumberInt32_fromString)r'r*rrrr^MszOptionNumberInt32.fromStringcGstj|f|S)N)rZOptionNumberInt32_set)r'r;rrrrWPszOptionNumberInt32.setcCs tj|S)N)rZOptionNumberInt32_getValue)r'rrrr_SszOptionNumberInt32.getValuecCs tj|S)N)rZ!OptionNumberInt32_getDefaultValue)r'rrrr`Vsz!OptionNumberInt32.getDefaultValuecCs tj||S)N)rZOptionNumberInt32_toString)r'r*rrrraYszOptionNumberInt32.toStringcCs tj|S)N)rZ OptionNumberInt32_getValueString)r'rrrrX\sz OptionNumberInt32.getValueStringcCs tj|S)N)rZOptionNumberInt32_reset)r'rrrrZ_szOptionNumberInt32.resetcCsdS)Nr)r'rrrr:bsN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberInt32rQrRrrrrrh5s*  rhc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberUInt32r!cCst|t||S)N)r-ri)r'r)r*rrrr:jszOptionNumberUInt32.r.cCs t|t|S)N)r/ri)r'r)rrrr:nsc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberUInt32rr\r2r3)r'r;rrrrr=qs  zOptionNumberUInt32.__init__cCs tj|S)N)rZOptionNumberUInt32_clone)r'rrrrTxszOptionNumberUInt32.clonecCs tj||S)N)rZOptionNumberUInt32_test)r'r*rrrr]{szOptionNumberUInt32.testcCs tj||S)N)rZOptionNumberUInt32_fromString)r'r*rrrr^~szOptionNumberUInt32.fromStringcGstj|f|S)N)rZOptionNumberUInt32_set)r'r;rrrrWszOptionNumberUInt32.setcCs tj|S)N)rZOptionNumberUInt32_getValue)r'rrrr_szOptionNumberUInt32.getValuecCs tj|S)N)rZ"OptionNumberUInt32_getDefaultValue)r'rrrr`sz"OptionNumberUInt32.getDefaultValuecCs tj||S)N)rZOptionNumberUInt32_toString)r'r*rrrraszOptionNumberUInt32.toStringcCs tj|S)N)rZ!OptionNumberUInt32_getValueString)r'rrrrXsz!OptionNumberUInt32.getValueStringcCs tj|S)N)rZOptionNumberUInt32_reset)r'rrrrZszOptionNumberUInt32.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberUInt32rQrRrrrrrifs*  ric@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberInt64r!cCst|t||S)N)r-rj)r'r)r*rrrr:szOptionNumberInt64.r.cCs t|t|S)N)r/rj)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberInt64rr\r2r3)r'r;rrrrr=s  zOptionNumberInt64.__init__cCs tj|S)N)rZOptionNumberInt64_clone)r'rrrrTszOptionNumberInt64.clonecCs tj||S)N)rZOptionNumberInt64_test)r'r*rrrr]szOptionNumberInt64.testcCs tj||S)N)rZOptionNumberInt64_fromString)r'r*rrrr^szOptionNumberInt64.fromStringcGstj|f|S)N)rZOptionNumberInt64_set)r'r;rrrrWszOptionNumberInt64.setcCs tj|S)N)rZOptionNumberInt64_getValue)r'rrrr_szOptionNumberInt64.getValuecCs tj|S)N)rZ!OptionNumberInt64_getDefaultValue)r'rrrr`sz!OptionNumberInt64.getDefaultValuecCs tj||S)N)rZOptionNumberInt64_toString)r'r*rrrraszOptionNumberInt64.toStringcCs tj|S)N)rZ OptionNumberInt64_getValueString)r'rrrrXsz OptionNumberInt64.getValueStringcCs tj|S)N)rZOptionNumberInt64_reset)r'rrrrZszOptionNumberInt64.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberInt64rQrRrrrrrjs*  rjc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberUInt64r!cCst|t||S)N)r-rk)r'r)r*rrrr:szOptionNumberUInt64.r.cCs t|t|S)N)r/rk)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberUInt64rr\r2r3)r'r;rrrrr=s  zOptionNumberUInt64.__init__cCs tj|S)N)rZOptionNumberUInt64_clone)r'rrrrTszOptionNumberUInt64.clonecCs tj||S)N)rZOptionNumberUInt64_test)r'r*rrrr]szOptionNumberUInt64.testcCs tj||S)N)rZOptionNumberUInt64_fromString)r'r*rrrr^szOptionNumberUInt64.fromStringcGstj|f|S)N)rZOptionNumberUInt64_set)r'r;rrrrWszOptionNumberUInt64.setcCs tj|S)N)rZOptionNumberUInt64_getValue)r'rrrr_szOptionNumberUInt64.getValuecCs tj|S)N)rZ"OptionNumberUInt64_getDefaultValue)r'rrrr`sz"OptionNumberUInt64.getDefaultValuecCs tj||S)N)rZOptionNumberUInt64_toString)r'r*rrrraszOptionNumberUInt64.toStringcCs tj|S)N)rZ!OptionNumberUInt64_getValueString)r'rrrrXsz!OptionNumberUInt64.getValueStringcCs tj|S)N)rZOptionNumberUInt64_reset)r'rrrrZszOptionNumberUInt64.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberUInt64rQrRrrrrrks*  rkc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberFloatr!cCst|t||S)N)r-rl)r'r)r*rrrr:szOptionNumberFloat.r.cCs t|t|S)N)r/rl)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberFloatrr\r2r3)r'r;rrrrr=s  zOptionNumberFloat.__init__cCs tj|S)N)rZOptionNumberFloat_clone)r'rrrrT szOptionNumberFloat.clonecCs tj||S)N)rZOptionNumberFloat_test)r'r*rrrr]szOptionNumberFloat.testcCs tj||S)N)rZOptionNumberFloat_fromString)r'r*rrrr^szOptionNumberFloat.fromStringcGstj|f|S)N)rZOptionNumberFloat_set)r'r;rrrrWszOptionNumberFloat.setcCs tj|S)N)rZOptionNumberFloat_getValue)r'rrrr_szOptionNumberFloat.getValuecCs tj|S)N)rZ!OptionNumberFloat_getDefaultValue)r'rrrr`sz!OptionNumberFloat.getDefaultValuecCs tj||S)N)rZOptionNumberFloat_toString)r'r*rrrraszOptionNumberFloat.toStringcCs tj|S)N)rZ OptionNumberFloat_getValueString)r'rrrrX sz OptionNumberFloat.getValueStringcCs tj|S)N)rZOptionNumberFloat_reset)r'rrrrZ#szOptionNumberFloat.resetcCsdS)Nr)r'rrrr:&sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberFloatrQrRrrrrrls*  rlc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZejZddZdS) OptionSecondsr!cCst|t||S)N)r-rm)r'r)r*rrrr:.szOptionSeconds.r.cCs t|t|S)N)r/rm)r'r)rrrr:2sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionSecondsrr\r2r3)r'r;rrrrr=5s  zOptionSeconds.__init__cCs tj|S)N)rZOptionSeconds_clone)r'rrrrT<szOptionSeconds.clonecCs tj||S)N)rZOptionSeconds_fromString)r'r*rrrr^?szOptionSeconds.fromStringcGstj|f|S)N)rZOptionSeconds_set)r'r;rrrrWBszOptionSeconds.setcCsdS)Nr)r'rrrr:EsN)rr5r8r!rhrdrerfr%r.rPr6r1r=rTr^rWrZdelete_OptionSecondsrQrRrrrrrm*s  rmc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS) OptionStringr!cCst|t||S)N)r-rn)r'r)r*rrrr:MszOptionString.r.cCs t|t|S)N)r/rn)r'r)rrrr:Qsc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionStringrr\r2r3)r'r;rrrrr=Ts  zOptionString.__init__cCs tj|S)N)rZOptionString_clone)r'rrrrT[szOptionString.clonecCs tj||S)N)rZOptionString_test)r'r*rrrr]^szOptionString.testcCstj|||S)N)rZOptionString_set)r'rVr*rrrrWaszOptionString.setcCs tj||S)N)rZOptionString_fromString)r'r*rrrr^dszOptionString.fromStringcCs tj|S)N)rZOptionString_getValue)r'rrrr_gszOptionString.getValuecCs tj|S)N)rZOptionString_getDefaultValue)r'rrrr`jszOptionString.getDefaultValuecCs tj|S)N)rZOptionString_getValueString)r'rrrrXmszOptionString.getValueStringcCs tj|S)N)rZOptionString_reset)r'rrrrZpszOptionString.resetcCsdS)Nr)r'rrrr:ssN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]rWr^r_r`rXrZrZdelete_OptionStringrQrRrrrrrnIs(  rnc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionStringListr!cCst|t||S)N)r-ro)r'r)r*rrrr:{szOptionStringList.r.cCs t|t|S)N)r/ro)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionStringListrr\r2r3)r'r;rrrrr=s  zOptionStringList.__init__cCs tj|S)N)rZOptionStringList_clone)r'rrrrTszOptionStringList.clonecCs tj||S)N)rZOptionStringList_test)r'r*rrrr]szOptionStringList.testcCs tj||S)N)rZOptionStringList_fromString)r'r*rrrr^szOptionStringList.fromStringcGstj|f|S)N)rZOptionStringList_set)r'r;rrrrWszOptionStringList.setcCs tj|S)N)rZOptionStringList_getValue)r'rrrr_szOptionStringList.getValuecCs tj|S)N)rZ OptionStringList_getDefaultValue)r'rrrr`sz OptionStringList.getDefaultValuecCs tj||S)N)rZOptionStringList_toString)r'r*rrrraszOptionStringList.toStringcCs tj|S)N)rZOptionStringList_getValueString)r'rrrrXszOptionStringList.getValueStringcCs tj|S)N)rZOptionStringList_reset)r'rrrrZszOptionStringList.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionStringListrQrRrrrrrows*  roc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZejZddZdS) OptionPathr!cCst|t||S)N)r-rp)r'r)r*rrrr:szOptionPath.r.cCs t|t|S)N)r/rp)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionPathrr\r2r3)r'r;rrrrr=s  zOptionPath.__init__cCs tj|S)N)rZOptionPath_clone)r'rrrrTszOptionPath.clonecCs tj||S)N)rZOptionPath_test)r'r*rrrr]szOptionPath.testcCstj|||S)N)rZOptionPath_set)r'rVr*rrrrWszOptionPath.setcCsdS)Nr)r'rrrr:sN)rr5r8r!rnrdrerfr%r.rPr6r1r=rTr]rWrZdelete_OptionPathrQrRrrrrrps  rpc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildBoolr!cCst|t||S)N)r-rq)r'r)r*rrrr:szOptionChildBool.r.cCs t|t|S)N)r/rq)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildBoolrr\r2r3)r'parentrrrrr=s  zOptionChildBool.__init__cCs tj|S)N)rZOptionChildBool_clone)r'rrrrTszOptionChildBool.clonecCs tj|S)N)rZOptionChildBool_getPriority)r'rrrrUszOptionChildBool.getPrioritycGstj|f|S)N)rZOptionChildBool_set)r'r;rrrrWszOptionChildBool.setcCs tj|S)N)rZOptionChildBool_getValue)r'rrrr_szOptionChildBool.getValuecCs tj|S)N)rZOptionChildBool_getDefaultValue)r'rrrr`szOptionChildBool.getDefaultValuecCs tj|S)N)rZOptionChildBool_getValueString)r'rrrrXszOptionChildBool.getValueStringcCs tj|S)N)rZOptionChildBool_empty)r'rrrrYszOptionChildBool.emptycCs tj|S)N)rZOptionChildBool_reset)r'rrrrZszOptionChildBool.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildBoolrQrRrrrrrqs(  rqc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildStringr!cCst|t||S)N)r-rs)r'r)r*rrrr:szOptionChildString.r.cCs t|t|S)N)r/rs)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildStringrr\r2r3)r'rrrrrrr=s  zOptionChildString.__init__cCs tj|S)N)rZOptionChildString_clone)r'rrrrTszOptionChildString.clonecCs tj|S)N)rZOptionChildString_getPriority)r'rrrrU szOptionChildString.getPrioritycGstj|f|S)N)rZOptionChildString_set)r'r;rrrrW szOptionChildString.setcCs tj|S)N)rZOptionChildString_getValue)r'rrrr_szOptionChildString.getValuecCs tj|S)N)rZ!OptionChildString_getDefaultValue)r'rrrr`sz!OptionChildString.getDefaultValuecCs tj|S)N)rZ OptionChildString_getValueString)r'rrrrXsz OptionChildString.getValueStringcCs tj|S)N)rZOptionChildString_empty)r'rrrrYszOptionChildString.emptycCs tj|S)N)rZOptionChildString_reset)r'rrrrZszOptionChildString.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildStringrQrRrrrrrss(  rsc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildStringListr!cCst|t||S)N)r-rt)r'r)r*rrrr:'szOptionChildStringList.r.cCs t|t|S)N)r/rt)r'r)rrrr:+sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildStringListrr\r2r3)r'rrrrrrr=.s  zOptionChildStringList.__init__cCs tj|S)N)rZOptionChildStringList_clone)r'rrrrT5szOptionChildStringList.clonecCs tj|S)N)rZ!OptionChildStringList_getPriority)r'rrrrU8sz!OptionChildStringList.getPrioritycGstj|f|S)N)rZOptionChildStringList_set)r'r;rrrrW;szOptionChildStringList.setcCs tj|S)N)rZOptionChildStringList_getValue)r'rrrr_>szOptionChildStringList.getValuecCs tj|S)N)rZ%OptionChildStringList_getDefaultValue)r'rrrr`Asz%OptionChildStringList.getDefaultValuecCs tj|S)N)rZ$OptionChildStringList_getValueString)r'rrrrXDsz$OptionChildStringList.getValueStringcCs tj|S)N)rZOptionChildStringList_empty)r'rrrrYGszOptionChildStringList.emptycCs tj|S)N)rZOptionChildStringList_reset)r'rrrrZJszOptionChildStringList.resetcCsdS)Nr)r'rrrr:MsN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildStringListrQrRrrrrrt#s(  rtc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildNumberInt32r!cCst|t||S)N)r-ru)r'r)r*rrrr:UszOptionChildNumberInt32.r.cCs t|t|S)N)r/ru)r'r)rrrr:Ysc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildNumberInt32rr\r2r3)r'rrrrrrr=\s  zOptionChildNumberInt32.__init__cCs tj|S)N)rZOptionChildNumberInt32_clone)r'rrrrTcszOptionChildNumberInt32.clonecCs tj|S)N)rZ"OptionChildNumberInt32_getPriority)r'rrrrUfsz"OptionChildNumberInt32.getPrioritycGstj|f|S)N)rZOptionChildNumberInt32_set)r'r;rrrrWiszOptionChildNumberInt32.setcCs tj|S)N)rZOptionChildNumberInt32_getValue)r'rrrr_lszOptionChildNumberInt32.getValuecCs tj|S)N)rZ&OptionChildNumberInt32_getDefaultValue)r'rrrr`osz&OptionChildNumberInt32.getDefaultValuecCs tj|S)N)rZ%OptionChildNumberInt32_getValueString)r'rrrrXrsz%OptionChildNumberInt32.getValueStringcCs tj|S)N)rZOptionChildNumberInt32_empty)r'rrrrYuszOptionChildNumberInt32.emptycCs tj|S)N)rZOptionChildNumberInt32_reset)r'rrrrZxszOptionChildNumberInt32.resetcCsdS)Nr)r'rrrr:{sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildNumberInt32rQrRrrrrruQs(  ruc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildNumberUInt32r!cCst|t||S)N)r-rv)r'r)r*rrrr:sz OptionChildNumberUInt32.r.cCs t|t|S)N)r/rv)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildNumberUInt32rr\r2r3)r'rrrrrrr=s  z OptionChildNumberUInt32.__init__cCs tj|S)N)rZOptionChildNumberUInt32_clone)r'rrrrTszOptionChildNumberUInt32.clonecCs tj|S)N)rZ#OptionChildNumberUInt32_getPriority)r'rrrrUsz#OptionChildNumberUInt32.getPrioritycGstj|f|S)N)rZOptionChildNumberUInt32_set)r'r;rrrrWszOptionChildNumberUInt32.setcCs tj|S)N)rZ OptionChildNumberUInt32_getValue)r'rrrr_sz OptionChildNumberUInt32.getValuecCs tj|S)N)rZ'OptionChildNumberUInt32_getDefaultValue)r'rrrr`sz'OptionChildNumberUInt32.getDefaultValuecCs tj|S)N)rZ&OptionChildNumberUInt32_getValueString)r'rrrrXsz&OptionChildNumberUInt32.getValueStringcCs tj|S)N)rZOptionChildNumberUInt32_empty)r'rrrrYszOptionChildNumberUInt32.emptycCs tj|S)N)rZOptionChildNumberUInt32_reset)r'rrrrZszOptionChildNumberUInt32.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildNumberUInt32rQrRrrrrrvs(  rvc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildNumberFloatr!cCst|t||S)N)r-rw)r'r)r*rrrr:szOptionChildNumberFloat.r.cCs t|t|S)N)r/rw)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildNumberFloatrr\r2r3)r'rrrrrrr=s  zOptionChildNumberFloat.__init__cCs tj|S)N)rZOptionChildNumberFloat_clone)r'rrrrTszOptionChildNumberFloat.clonecCs tj|S)N)rZ"OptionChildNumberFloat_getPriority)r'rrrrUsz"OptionChildNumberFloat.getPrioritycGstj|f|S)N)rZOptionChildNumberFloat_set)r'r;rrrrWszOptionChildNumberFloat.setcCs tj|S)N)rZOptionChildNumberFloat_getValue)r'rrrr_szOptionChildNumberFloat.getValuecCs tj|S)N)rZ&OptionChildNumberFloat_getDefaultValue)r'rrrr`sz&OptionChildNumberFloat.getDefaultValuecCs tj|S)N)rZ%OptionChildNumberFloat_getValueString)r'rrrrXsz%OptionChildNumberFloat.getValueStringcCs tj|S)N)rZOptionChildNumberFloat_empty)r'rrrrYszOptionChildNumberFloat.emptycCs tj|S)N)rZOptionChildNumberFloat_reset)r'rrrrZszOptionChildNumberFloat.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildNumberFloatrQrRrrrrrws(  rwc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildEnumStringr!cCst|t||S)N)r-rx)r'r)r*rrrr:szOptionChildEnumString.r.cCs t|t|S)N)r/rx)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildEnumStringrr\r2r3)r'rrrrrrr=s  zOptionChildEnumString.__init__cCs tj|S)N)rZOptionChildEnumString_clone)r'rrrrTszOptionChildEnumString.clonecCs tj|S)N)rZ!OptionChildEnumString_getPriority)r'rrrrUsz!OptionChildEnumString.getPrioritycGstj|f|S)N)rZOptionChildEnumString_set)r'r;rrrrWszOptionChildEnumString.setcCs tj|S)N)rZOptionChildEnumString_getValue)r'rrrr_szOptionChildEnumString.getValuecCs tj|S)N)rZ%OptionChildEnumString_getDefaultValue)r'rrrr`sz%OptionChildEnumString.getDefaultValuecCs tj|S)N)rZ$OptionChildEnumString_getValueString)r'rrrrXsz$OptionChildEnumString.getValueStringcCs tj|S)N)rZOptionChildEnumString_empty)r'rrrrYszOptionChildEnumString.emptycCs tj|S)N)rZOptionChildEnumString_reset)r'rrrrZszOptionChildEnumString.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildEnumStringrQrRrrrrrxs(  rxc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildSecondsr!cCst|t||S)N)r-ry)r'r)r*rrrr: szOptionChildSeconds.r.cCs t|t|S)N)r/ry)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildSecondsrr\r2r3)r'rrrrrrr=s  zOptionChildSeconds.__init__cCs tj|S)N)rZOptionChildSeconds_clone)r'rrrrTszOptionChildSeconds.clonecCs tj|S)N)rZOptionChildSeconds_getPriority)r'rrrrUszOptionChildSeconds.getPrioritycGstj|f|S)N)rZOptionChildSeconds_set)r'r;rrrrW!szOptionChildSeconds.setcCs tj|S)N)rZOptionChildSeconds_getValue)r'rrrr_$szOptionChildSeconds.getValuecCs tj|S)N)rZ"OptionChildSeconds_getDefaultValue)r'rrrr`'sz"OptionChildSeconds.getDefaultValuecCs tj|S)N)rZ!OptionChildSeconds_getValueString)r'rrrrX*sz!OptionChildSeconds.getValueStringcCs tj|S)N)rZOptionChildSeconds_empty)r'rrrrY-szOptionChildSeconds.emptycCs tj|S)N)rZOptionChildSeconds_reset)r'rrrrZ0szOptionChildSeconds.resetcCsdS)Nr)r'rrrr:3sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildSecondsrQrRrrrrry s(  ryc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)H VectorStringcCst|t||S)N)r-rz)r'r)r*rrrr:9szVectorString.cCs t|t|S)N)r/rz)r'r)rrrr:;scCs tj|S)N)rZVectorString_iterator)r'rrriterator>szVectorString.iteratorcCs|jS)N)r{)r'rrrrO@szVectorString.__iter__cCs tj|S)N)rZVectorString___nonzero__)r'rrr __nonzero__CszVectorString.__nonzero__cCs tj|S)N)rZVectorString___bool__)r'rrr__bool__FszVectorString.__bool__cCs tj|S)N)rZVectorString___len__)r'rrr__len__IszVectorString.__len__cCstj|||S)N)rZVectorString___getslice__)r'ijrrr __getslice__LszVectorString.__getslice__cGstj|f|S)N)rZVectorString___setslice__)r'r;rrr __setslice__OszVectorString.__setslice__cCstj|||S)N)rZVectorString___delslice__)r'rrrrr __delslice__RszVectorString.__delslice__cGstj|f|S)N)rZVectorString___delitem__)r'r;rrr __delitem__UszVectorString.__delitem__cGstj|f|S)N)rZVectorString___getitem__)r'r;rrr __getitem__XszVectorString.__getitem__cGstj|f|S)N)rZVectorString___setitem__)r'r;rrr __setitem__[szVectorString.__setitem__cCs tj|S)N)rZVectorString_pop)r'rrrpop^szVectorString.popcCs tj||S)N)rZVectorString_append)r'rArrrr\aszVectorString.appendcCs tj|S)N)rZVectorString_empty)r'rrrrYdszVectorString.emptycCs tj|S)N)rZVectorString_size)r'rrrsizegszVectorString.sizecCs tj||S)N)rZVectorString_swap)r'vrrrswapjszVectorString.swapcCs tj|S)N)rZVectorString_begin)r'rrrbeginmszVectorString.begincCs tj|S)N)rZVectorString_end)r'rrrendpszVectorString.endcCs tj|S)N)rZVectorString_rbegin)r'rrrrbeginsszVectorString.rbegincCs tj|S)N)rZVectorString_rend)r'rrrrendvszVectorString.rendcCs tj|S)N)rZVectorString_clear)r'rrrclearyszVectorString.clearcCs tj|S)N)rZVectorString_get_allocator)r'rrr get_allocator|szVectorString.get_allocatorcCs tj|S)N)rZVectorString_pop_back)r'rrrpop_backszVectorString.pop_backcGstj|f|S)N)rZVectorString_erase)r'r;rrreraseszVectorString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorStringrr\r2r3)r'r;rrrrr=s  zVectorString.__init__cCs tj||S)N)rZVectorString_push_back)r'rArrr push_backszVectorString.push_backcCs tj|S)N)rZVectorString_front)r'rrrfrontszVectorString.frontcCs tj|S)N)rZVectorString_back)r'rrrbackszVectorString.backcCstj|||S)N)rZVectorString_assign)r'r>rArrrassignszVectorString.assigncGstj|f|S)N)rZVectorString_resize)r'r;rrrresizeszVectorString.resizecGstj|f|S)N)rZVectorString_insert)r'r;rrrinsertszVectorString.insertcCs tj||S)N)rZVectorString_reserve)r'r>rrrreserveszVectorString.reservecCs tj|S)N)rZVectorString_capacity)r'rrrcapacityszVectorString.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1r{rOr|r}r~rrrrrrrr\rYrrrrrrrrrrr=rrrrrrrrrZdelete_VectorStringrQrRrrrrrz7sPrzcCs tt|S)N)strlist)r'rrrVectorString__str__srcCst|t|kS)N)r)r'otherrrrVectorString__eq__srcCst|t|kS)N)r)r'rrrrVectorString__ne__srcCst|t|kS)N)r)r'rrrrVectorString__lt__srcCst|t|kS)N)r)r'rrrrVectorString__le__srcCst|t|kS)N)r)r'rrrrVectorString__gt__srcCst|t|kS)N)r)r'rrrrVectorString__ge__srcCs|j||S)N)extend)r'r*rrrVectorString__iadd__s rcCs&t|}||9}|j|j||S)N)rrr)r'r*datarrrVectorString__imul__s  rcCs|j}||9}|S)N)rD)r'r*resultrrrVectorString__mul__srcCs||S)Nr)r'r*rrrVectorString__rmul__srcCs|j}|j||S)N)rDr)r'r*rrrrVectorString__add__s rcCs|j|dS)N)r)r'itemrrrVectorString__appendsrcCs tt|S)N)rzr)r'rrrVectorString__copysrcCst|j|S)N)rcount)r'rrrrVectorString__countsrcCsx|D]}|j|qWdS)N)r)r'iterablerrrrVectorString__extends rcOst|}|j||S)N)rindex)r'r;r<rrrrVectorString__indexsrcOs*t|}|j|||j|j|dS)N)rrrr)r'r;r<rrrrVectorString__inserts rcOs*t|}|j|||j|j|dS)N)rremoverr)r'r;r<rrrrVectorString__removes rcOs&t|}|j|j|j|dS)N)rsortrr)r'r;r<rrrrVectorString__sortsrcOs&t|}|j|j|j|dS)N)rreverserr)r'r;r<rrrrVectorString__reversesrc@sveZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZejZddZdS) OptionBindscCst|t||S)N)r-r)r'r)r*rrrr:szOptionBinds.cCs t|t|S)N)r/r)r'r)rrrr:scCstj|||S)N)rZOptionBinds_add)r'idoptionrrraddszOptionBinds.addcGstj|f|S)N)rZOptionBinds_at)r'r;rrratszOptionBinds.atcCs tj|S)N)rZOptionBinds_empty)r'rrrrY"szOptionBinds.emptycCs tj|S)N)rZOptionBinds_size)r'rrrr%szOptionBinds.sizecCs tj||S)N)rZOptionBinds___getitem__)r'rrrrr(szOptionBinds.__getitem__cCs tj|S)N)rZOptionBinds___len__)r'rrrr~+szOptionBinds.__len__cCs tj|S)N)rZOptionBinds___iter__)r'rrrrO.szOptionBinds.__iter__c Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_OptionBindsrr\r2r3)r'rrrrr=1s zOptionBinds.__init__cCsdS)Nr)r'rrrr:8sN)rr5r8r!r%r.rPr6r1rrrYrrr~rOr=rZdelete_OptionBindsrQrRrrrrrsrc@sfeZdZiZddZiZddZddZeZ ddZ dd Z d d Z d d Z ddZejZddZdS)OptionBinds_ItemcCst|t||S)N)r-r)r'r)r*rrrr:>szOptionBinds_Item.cCs t|t|S)N)r/r)r'r)rrrr:@scOs tddS)NzNo constructor defined)r&)r'r;r<rrrr=BszOptionBinds_Item.__init__cCs tj|S)N)rZOptionBinds_Item_getPriority)r'rrrrUFszOptionBinds_Item.getPrioritycCstj|||S)N)rZOptionBinds_Item_newString)r'rVr*rrr newStringIszOptionBinds_Item.newStringcCs tj|S)N)rZOptionBinds_Item_getValueString)r'rrrrXLszOptionBinds_Item.getValueStringcCs tj|S)N)rZOptionBinds_Item_getAddValue)r'rrr getAddValueOszOptionBinds_Item.getAddValuecGstj|f|S)N)rZOptionBinds_Item_getOption)r'r;rrr getOptionRszOptionBinds_Item.getOptioncCsdS)Nr)r'rrrr:UsN)rr5r8r!r%r.rPr=r6r1rUrrXrrrZdelete_OptionBinds_ItemrQrRrrrrr<src@sFeZdZiZddZiZddZeZddZ ddZ e j Z ddZd S) ConfigcCst|t||S)N)r-r)r'r)r*rrrr:[szConfig.cCs t|t|S)N)r/r)r'r)rrrr:]scCs tj|S)N)rZConfig_optBinds)r'rrroptBinds`szConfig.optBindsc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZ new_Configrr\r2r3)r'rrrrr=cs zConfig.__init__cCsdS)Nr)r'rrrr:jsN)rr5r8r!r%r.rPr6r1rr=rZ delete_ConfigrQrRrrrrrYsrc@s*eZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ ejZddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Z d'd(Z!d)d*Z"d+d,Z#d-d.Z$d/d0Z%d1d2Z&d3d4Z'd5d6Z(d7d8Z)d9d:Z*d;d<Z+d=d>Z,d?d@Z-dAdBZ.dCdDZ/dEdFZ0dGdHZ1dIdJZ2dKdLZ3dMdNZ4dOdPZ5dQdRZ6dSdTZ7dUdVZ8dWdXZ9dYdZZ:d[d\Z;d]d^ZdcddZ?dedfZ@dgdhZAdidjZBdkdlZCdmdnZDdodpZEdqdrZFdsdtZGdudvZHdwdxZIdydzZJd{d|ZKd}d~ZLddZMddZNddZOddZPddZQddZRddZSddZTddZUddZVddZWddZXddZYddZZddZ[ddZ\ddZ]ddZ^ddZ_ddZ`ddZaddZbddZcddZdddZeddZfddZgddZhddZiddZjddZkddZlddZmdd„ZnddĄZoddƄZpddȄZqddʄZrdd̄Zsdd΄ZtddЄZudd҄ZvddԄZwddքZxdd؄ZyddڄZzdd܄Z{ddބZ|ddZ}ddZ~ddZddZereejZnejZer eejZnejZdS) ConfigMainr!cCst|t||S)N)r-r)r'r)r*rrrr:rszConfigMain.r.cCs t|t|S)N)r/r)r'r)rrrr:vsc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_ConfigMainrr\r2r3)r'rrrrr=ys zConfigMain.__init__cCsdS)Nr)r'rrrr:scCs tj|S)N)rZConfigMain_debuglevel)r'rrr debuglevelszConfigMain.debuglevelcCs tj|S)N)rZConfigMain_errorlevel)r'rrr errorlevelszConfigMain.errorlevelcCs tj|S)N)rZConfigMain_logfilelevel)r'rrr logfilelevelszConfigMain.logfilelevelcCs tj|S)N)rZConfigMain_installroot)r'rrr installrootszConfigMain.installrootcCs tj|S)N)rZConfigMain_config_file_path)r'rrrconfig_file_pathszConfigMain.config_file_pathcCs tj|S)N)rZConfigMain_plugins)r'rrrpluginsszConfigMain.pluginscCs tj|S)N)rZConfigMain_pluginpath)r'rrr pluginpathszConfigMain.pluginpathcCs tj|S)N)rZConfigMain_pluginconfpath)r'rrrpluginconfpathszConfigMain.pluginconfpathcCs tj|S)N)rZConfigMain_persistdir)r'rrr persistdirszConfigMain.persistdircCs tj|S)N)rZConfigMain_transformdb)r'rrr transformdbszConfigMain.transformdbcCs tj|S)N)rZConfigMain_recent)r'rrrrecentszConfigMain.recentcCs tj|S)N)rZConfigMain_reset_nice)r'rrr reset_niceszConfigMain.reset_nicecCs tj|S)N)rZConfigMain_system_cachedir)r'rrrsystem_cachedirszConfigMain.system_cachedircCs tj|S)N)rZConfigMain_cacheonly)r'rrr cacheonlyszConfigMain.cacheonlycCs tj|S)N)rZConfigMain_keepcache)r'rrr keepcacheszConfigMain.keepcachecCs tj|S)N)rZConfigMain_logdir)r'rrrlogdirszConfigMain.logdircCs tj|S)N)rZConfigMain_log_size)r'rrrlog_sizeszConfigMain.log_sizecCs tj|S)N)rZConfigMain_log_rotate)r'rrr log_rotateszConfigMain.log_rotatecCs tj|S)N)rZConfigMain_log_compress)r'rrr log_compressszConfigMain.log_compresscCs tj|S)N)rZConfigMain_varsdir)r'rrrvarsdirszConfigMain.varsdircCs tj|S)N)rZConfigMain_reposdir)r'rrrreposdirszConfigMain.reposdircCs tj|S)N)rZConfigMain_debug_solver)r'rrr debug_solverszConfigMain.debug_solvercCs tj|S)N)rZConfigMain_installonlypkgs)r'rrrinstallonlypkgsszConfigMain.installonlypkgscCs tj|S)N)rZConfigMain_group_package_types)r'rrrgroup_package_typesszConfigMain.group_package_typescCs tj|S)N)rZConfigMain_installonly_limit)r'rrrinstallonly_limitszConfigMain.installonly_limitcCs tj|S)N)rZConfigMain_tsflags)r'rrrtsflagsszConfigMain.tsflagscCs tj|S)N)rZConfigMain_assumeyes)r'rrr assumeyesszConfigMain.assumeyescCs tj|S)N)rZConfigMain_assumeno)r'rrrassumenoszConfigMain.assumenocCs tj|S)N)rZ ConfigMain_check_config_file_age)r'rrrcheck_config_file_agesz ConfigMain.check_config_file_agecCs tj|S)N)rZConfigMain_defaultyes)r'rrr defaultyesszConfigMain.defaultyescCs tj|S)N)rZConfigMain_diskspacecheck)r'rrrdiskspacecheckszConfigMain.diskspacecheckcCs tj|S)N)rZConfigMain_localpkg_gpgcheck)r'rrrlocalpkg_gpgcheckszConfigMain.localpkg_gpgcheckcCs tj|S)N)rZ"ConfigMain_gpgkey_dns_verification)r'rrrgpgkey_dns_verificationsz"ConfigMain.gpgkey_dns_verificationcCs tj|S)N)rZConfigMain_obsoletes)r'rrr obsoletesszConfigMain.obsoletescCs tj|S)N)rZConfigMain_showdupesfromrepos)r'rrrshowdupesfromreposszConfigMain.showdupesfromreposcCs tj|S)N)rZConfigMain_exit_on_lock)r'rrr exit_on_lockszConfigMain.exit_on_lockcCs tj|S)N)rZConfigMain_allow_vendor_change)r'rrrallow_vendor_changeszConfigMain.allow_vendor_changecCs tj|S)N)rZConfigMain_metadata_timer_sync)r'rrrmetadata_timer_syncszConfigMain.metadata_timer_synccCs tj|S)N)rZConfigMain_disable_excludes)r'rrrdisable_excludesszConfigMain.disable_excludescCs tj|S)N)rZConfigMain_multilib_policy)r'rrrmultilib_policyszConfigMain.multilib_policycCs tj|S)N)rZConfigMain_best)r'rrrbestszConfigMain.bestcCs tj|S)N)rZConfigMain_install_weak_deps)r'rrrinstall_weak_depsszConfigMain.install_weak_depscCs tj|S)N)rZConfigMain_bugtracker_url)r'rrrbugtracker_urlszConfigMain.bugtracker_urlcCs tj|S)N)rZConfigMain_zchunk)r'rrrzchunkszConfigMain.zchunkcCs tj|S)N)rZConfigMain_color)r'rrrcolorszConfigMain.colorcCs tj|S)N)rZ%ConfigMain_color_list_installed_older)r'rrrcolor_list_installed_older sz%ConfigMain.color_list_installed_oldercCs tj|S)N)rZ%ConfigMain_color_list_installed_newer)r'rrrcolor_list_installed_newer sz%ConfigMain.color_list_installed_newercCs tj|S)N)rZ)ConfigMain_color_list_installed_reinstall)r'rrrcolor_list_installed_reinstallsz)ConfigMain.color_list_installed_reinstallcCs tj|S)N)rZ%ConfigMain_color_list_installed_extra)r'rrrcolor_list_installed_extrasz%ConfigMain.color_list_installed_extracCs tj|S)N)rZ'ConfigMain_color_list_available_upgrade)r'rrrcolor_list_available_upgradesz'ConfigMain.color_list_available_upgradecCs tj|S)N)rZ)ConfigMain_color_list_available_downgrade)r'rrrcolor_list_available_downgradesz)ConfigMain.color_list_available_downgradecCs tj|S)N)rZ)ConfigMain_color_list_available_reinstall)r'rrrcolor_list_available_reinstallsz)ConfigMain.color_list_available_reinstallcCs tj|S)N)rZ'ConfigMain_color_list_available_install)r'rrrcolor_list_available_installsz'ConfigMain.color_list_available_installcCs tj|S)N)rZ!ConfigMain_color_update_installed)r'rrrcolor_update_installed!sz!ConfigMain.color_update_installedcCs tj|S)N)rZConfigMain_color_update_local)r'rrrcolor_update_local$szConfigMain.color_update_localcCs tj|S)N)rZConfigMain_color_update_remote)r'rrrcolor_update_remote'szConfigMain.color_update_remotecCs tj|S)N)rZConfigMain_color_search_match)r'rrrcolor_search_match*szConfigMain.color_search_matchcCs tj|S)N)rZConfigMain_history_record)r'rrrhistory_record-szConfigMain.history_recordcCs tj|S)N)rZ"ConfigMain_history_record_packages)r'rrrhistory_record_packages0sz"ConfigMain.history_record_packagescCs tj|S)N)rZConfigMain_rpmverbosity)r'rrr rpmverbosity3szConfigMain.rpmverbositycCs tj|S)N)rZConfigMain_strict)r'rrrstrict6szConfigMain.strictcCs tj|S)N)rZConfigMain_skip_broken)r'rrr skip_broken9szConfigMain.skip_brokencCs tj|S)N)rZ#ConfigMain_autocheck_running_kernel)r'rrrautocheck_running_kernel<sz#ConfigMain.autocheck_running_kernelcCs tj|S)N)rZ'ConfigMain_clean_requirements_on_remove)r'rrrclean_requirements_on_remove?sz'ConfigMain.clean_requirements_on_removecCs tj|S)N)rZConfigMain_history_list_view)r'rrrhistory_list_viewBszConfigMain.history_list_viewcCs tj|S)N)rZ(ConfigMain_upgrade_group_objects_upgrade)r'rrrupgrade_group_objects_upgradeEsz(ConfigMain.upgrade_group_objects_upgradecCs tj|S)N)rZConfigMain_destdir)r'rrrdestdirHszConfigMain.destdircCs tj|S)N)rZConfigMain_comment)r'rrrcommentKszConfigMain.commentcCs tj|S)N)rZConfigMain_downloadonly)r'rrr downloadonlyNszConfigMain.downloadonlycCs tj|S)N)rZConfigMain_ignorearch)r'rrr ignorearchQszConfigMain.ignorearchcCs tj|S)N)rZConfigMain_module_platform_id)r'rrrmodule_platform_idTszConfigMain.module_platform_idcCs tj|S)N)rZConfigMain_module_stream_switch)r'rrrmodule_stream_switchWszConfigMain.module_stream_switchcCs tj|S)N)rZConfigMain_module_obsoletes)r'rrrmodule_obsoletesZszConfigMain.module_obsoletescCs tj|S)N)rZConfigMain_user_agent)r'rrr user_agent]szConfigMain.user_agentcCs tj|S)N)rZConfigMain_countme)r'rrrcountme`szConfigMain.countmecCs tj|S)N)rZ!ConfigMain_protect_running_kernel)r'rrrprotect_running_kernelcsz!ConfigMain.protect_running_kernelcCs tj|S)N)rZConfigMain_retries)r'rrrretriesfszConfigMain.retriescCs tj|S)N)rZConfigMain_cachedir)r'rrrcachediriszConfigMain.cachedircCs tj|S)N)rZConfigMain_fastestmirror)r'rrr fastestmirrorlszConfigMain.fastestmirrorcCs tj|S)N)rZConfigMain_excludepkgs)r'rrr excludepkgsoszConfigMain.excludepkgscCs tj|S)N)rZConfigMain_includepkgs)r'rrr includepkgsrszConfigMain.includepkgscCs tj|S)N)rZConfigMain_proxy)r'rrrproxyuszConfigMain.proxycCs tj|S)N)rZConfigMain_proxy_username)r'rrrproxy_usernamexszConfigMain.proxy_usernamecCs tj|S)N)rZConfigMain_proxy_password)r'rrrproxy_password{szConfigMain.proxy_passwordcCs tj|S)N)rZConfigMain_proxy_auth_method)r'rrrproxy_auth_method~szConfigMain.proxy_auth_methodcCs tj|S)N)rZConfigMain_protected_packages)r'rrrprotected_packagesszConfigMain.protected_packagescCs tj|S)N)rZConfigMain_username)r'rrrusernameszConfigMain.usernamecCs tj|S)N)rZConfigMain_password)r'rrrpasswordszConfigMain.passwordcCs tj|S)N)rZConfigMain_gpgcheck)r'rrrgpgcheckszConfigMain.gpgcheckcCs tj|S)N)rZConfigMain_repo_gpgcheck)r'rrr repo_gpgcheckszConfigMain.repo_gpgcheckcCs tj|S)N)rZConfigMain_enabled)r'rrrenabledszConfigMain.enabledcCs tj|S)N)rZConfigMain_enablegroups)r'rrr enablegroupsszConfigMain.enablegroupscCs tj|S)N)rZConfigMain_bandwidth)r'rrr bandwidthszConfigMain.bandwidthcCs tj|S)N)rZConfigMain_minrate)r'rrrminrateszConfigMain.minratecCs tj|S)N)rZConfigMain_ip_resolve)r'rrr ip_resolveszConfigMain.ip_resolvecCs tj|S)N)rZConfigMain_throttle)r'rrrthrottleszConfigMain.throttlecCs tj|S)N)rZConfigMain_timeout)r'rrrtimeoutszConfigMain.timeoutcCs tj|S)N)rZ!ConfigMain_max_parallel_downloads)r'rrrmax_parallel_downloadssz!ConfigMain.max_parallel_downloadscCs tj|S)N)rZConfigMain_metadata_expire)r'rrrmetadata_expireszConfigMain.metadata_expirecCs tj|S)N)rZConfigMain_sslcacert)r'rrr sslcacertszConfigMain.sslcacertcCs tj|S)N)rZConfigMain_sslverify)r'rrr sslverifyszConfigMain.sslverifycCs tj|S)N)rZConfigMain_sslclientcert)r'rrr sslclientcertszConfigMain.sslclientcertcCs tj|S)N)rZConfigMain_sslclientkey)r'rrr sslclientkeyszConfigMain.sslclientkeycCs tj|S)N)rZConfigMain_proxy_sslcacert)r'rrrproxy_sslcacertszConfigMain.proxy_sslcacertcCs tj|S)N)rZConfigMain_proxy_sslverify)r'rrrproxy_sslverifyszConfigMain.proxy_sslverifycCs tj|S)N)rZConfigMain_proxy_sslclientcert)r'rrrproxy_sslclientcertszConfigMain.proxy_sslclientcertcCs tj|S)N)rZConfigMain_proxy_sslclientkey)r'rrrproxy_sslclientkeyszConfigMain.proxy_sslclientkeycCs tj|S)N)rZConfigMain_deltarpm)r'rrrdeltarpmszConfigMain.deltarpmcCs tj|S)N)rZConfigMain_deltarpm_percentage)r'rrrdeltarpm_percentageszConfigMain.deltarpm_percentagecCs tj|S)N)rZConfigMain_skip_if_unavailable)r'rrrskip_if_unavailableszConfigMain.skip_if_unavailablecCs tj|S)N)rZConfigMain_sslverifystatus)r'rrrsslverifystatusszConfigMain.sslverifystatusN)rr5r8r!rrdrerfr%r.rPr6r1r=rZdelete_ConfigMainrQrRrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r# staticmethodConfigMain_addVarsFromDirZaddVarsFromDirConfigMain_addVarsFromEnvZaddVarsFromEnvrrrrrns    rcCs tj||S)N)rr9)varsMapZdirPathrrrr9sr9cCs tj|S)N)rr:)r;rrrr:sr:c@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z e jZddZddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Z d'd(Z!d)d*Z"d+d,Z#d-d.Z$d/d0Z%d1d2Z&d3d4Z'd5d6Z(d7d8Z)d9d:Z*d;d<Z+d=d>Z,d?d@Z-dAdBZ.dCdDZ/dEdFZ0dGdHZ1dIdJZ2dKdLZ3dMdNZ4dOdPZ5dQdRZ6dSdTZ7dUdVZ8dWdXZ9dYdZZ:d[d\Z;d]d^ZdcddZ?dedfZ@dgdhZAdidjZBdkdlZCdmS)n ConfigRepor!cCst|t||S)N)r-r<)r'r)r*rrrr:szConfigRepo.r.cCs t|t|S)N)r/r<)r'r)rrrr:scCsdS)Nr)r'rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_ConfigReporr\r2r3)r'r;rrrrr=s  zConfigRepo.__init__cCs tj|S)N)rZConfigRepo_getMainConfig)r'rrr getMainConfigszConfigRepo.getMainConfigcCs tj|S)N)rZConfigRepo_name)r'rrrr)szConfigRepo.namecCs tj|S)N)rZConfigRepo_enabled)r'rrrr#szConfigRepo.enabledcCs tj|S)N)rZConfigRepo_basecachedir)r'rrr basecachedirszConfigRepo.basecachedircCs tj|S)N)rZConfigRepo_baseurl)r'rrrbaseurlszConfigRepo.baseurlcCs tj|S)N)rZConfigRepo_mirrorlist)r'rrr mirrorlistszConfigRepo.mirrorlistcCs tj|S)N)rZConfigRepo_metalink)r'rrrmetalinkszConfigRepo.metalinkcCs tj|S)N)rZConfigRepo_type)r'rrrr szConfigRepo.typecCs tj|S)N)rZConfigRepo_mediaid)r'rrrmediaid szConfigRepo.mediaidcCs tj|S)N)rZConfigRepo_gpgkey)r'rrrgpgkeyszConfigRepo.gpgkeycCs tj|S)N)rZConfigRepo_excludepkgs)r'rrrrszConfigRepo.excludepkgscCs tj|S)N)rZConfigRepo_includepkgs)r'rrrrszConfigRepo.includepkgscCs tj|S)N)rZConfigRepo_fastestmirror)r'rrrrszConfigRepo.fastestmirrorcCs tj|S)N)rZConfigRepo_proxy)r'rrrrszConfigRepo.proxycCs tj|S)N)rZConfigRepo_proxy_username)r'rrrrszConfigRepo.proxy_usernamecCs tj|S)N)rZConfigRepo_proxy_password)r'rrrr"szConfigRepo.proxy_passwordcCs tj|S)N)rZConfigRepo_proxy_auth_method)r'rrrr%szConfigRepo.proxy_auth_methodcCs tj|S)N)rZConfigRepo_username)r'rrrr(szConfigRepo.usernamecCs tj|S)N)rZConfigRepo_password)r'rrrr +szConfigRepo.passwordcCs tj|S)N)rZConfigRepo_protected_packages)r'rrrr.szConfigRepo.protected_packagescCs tj|S)N)rZConfigRepo_gpgcheck)r'rrrr!1szConfigRepo.gpgcheckcCs tj|S)N)rZConfigRepo_repo_gpgcheck)r'rrrr"4szConfigRepo.repo_gpgcheckcCs tj|S)N)rZConfigRepo_enablegroups)r'rrrr$7szConfigRepo.enablegroupscCs tj|S)N)rZConfigRepo_retries)r'rrrr:szConfigRepo.retriescCs tj|S)N)rZConfigRepo_bandwidth)r'rrrr%=szConfigRepo.bandwidthcCs tj|S)N)rZConfigRepo_minrate)r'rrrr&@szConfigRepo.minratecCs tj|S)N)rZConfigRepo_ip_resolve)r'rrrr'CszConfigRepo.ip_resolvecCs tj|S)N)rZConfigRepo_throttle)r'rrrr(FszConfigRepo.throttlecCs tj|S)N)rZConfigRepo_timeout)r'rrrr)IszConfigRepo.timeoutcCs tj|S)N)rZ!ConfigRepo_max_parallel_downloads)r'rrrr*Lsz!ConfigRepo.max_parallel_downloadscCs tj|S)N)rZConfigRepo_metadata_expire)r'rrrr+OszConfigRepo.metadata_expirecCs tj|S)N)rZConfigRepo_cost)r'rrrcostRszConfigRepo.costcCs tj|S)N)rZConfigRepo_priority)r'rrrrVUszConfigRepo.prioritycCs tj|S)N)rZConfigRepo_module_hotfixes)r'rrrmodule_hotfixesXszConfigRepo.module_hotfixescCs tj|S)N)rZConfigRepo_sslcacert)r'rrrr,[szConfigRepo.sslcacertcCs tj|S)N)rZConfigRepo_sslverify)r'rrrr-^szConfigRepo.sslverifycCs tj|S)N)rZConfigRepo_sslclientcert)r'rrrr.aszConfigRepo.sslclientcertcCs tj|S)N)rZConfigRepo_sslclientkey)r'rrrr/dszConfigRepo.sslclientkeycCs tj|S)N)rZConfigRepo_proxy_sslcacert)r'rrrr0gszConfigRepo.proxy_sslcacertcCs tj|S)N)rZConfigRepo_proxy_sslverify)r'rrrr1jszConfigRepo.proxy_sslverifycCs tj|S)N)rZConfigRepo_proxy_sslclientcert)r'rrrr2mszConfigRepo.proxy_sslclientcertcCs tj|S)N)rZConfigRepo_proxy_sslclientkey)r'rrrr3pszConfigRepo.proxy_sslclientkeycCs tj|S)N)rZConfigRepo_deltarpm)r'rrrr4sszConfigRepo.deltarpmcCs tj|S)N)rZConfigRepo_deltarpm_percentage)r'rrrr5vszConfigRepo.deltarpm_percentagecCs tj|S)N)rZConfigRepo_skip_if_unavailable)r'rrrr6yszConfigRepo.skip_if_unavailablecCs tj|S)N)rZConfigRepo_enabled_metadata)r'rrrenabled_metadata|szConfigRepo.enabled_metadatacCs tj|S)N)rZConfigRepo_user_agent)r'rrrrszConfigRepo.user_agentcCs tj|S)N)rZConfigRepo_countme)r'rrrrszConfigRepo.countmecCs tj|S)N)rZConfigRepo_failovermethod)r'rrrfailovermethodszConfigRepo.failovermethodcCs tj|S)N)rZConfigRepo_sslverifystatus)r'rrrr7szConfigRepo.sslverifystatusN)Drr5r8r!rrdrerfr%r.rPr6r1rZdelete_ConfigReporQrRr=r=r)r#r>r?r@rArrBrCrrrrrrrrr rr!r"r$rr%r&r'r(r)r*r+rDrVrEr,r-r.r/r0r1r2r3r4r5r6rFrrrGr7rrrrr<s|  r<c@seZdZiZddZiZddZeZddZ ddZ e j ed<e j ed<erZee j e j Ze jed <e jed <eree je jZd d Zd d Ze jZddZdS)OptionBindsIteratorcCst|t||S)N)r-rH)r'r)r*rrrr:szOptionBindsIterator.cCs t|t|S)N)r/rH)r'r)rrrr:sc Cs>tj||}y|jj|Wntjk r8||_YnXdS)N)rZnew_OptionBindsIteratorrr\r2r3)r'Z_curZ_endrrrrr=s  zOptionBindsIterator.__init__cCs tj|S)N)rZOptionBindsIterator___iter__)r'rrrrOszOptionBindsIterator.__iter__currcCs tj|S)N)rZOptionBindsIterator___next__)r'rrrrFszOptionBindsIterator.__next__cCs tj|S)N)rZOptionBindsIterator_next)r'rrrrEszOptionBindsIterator.nextcCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rOrZOptionBindsIterator_cur_setZOptionBindsIterator_cur_getr#_swig_propertyrIZOptionBindsIterator_end_setZOptionBindsIterator_end_getrrFrEZdelete_OptionBindsIteratorrQrRrrrrrHs&    rHc@seZdZiZddZiZddZeZe r4e e j Z ne j Z ddZddZdd Zd d Zd d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Ze jZ d&dZ!d'S)( ConfigParsercCst|t||S)N)r-rK)r'r)r*rrrr:szConfigParser.cCs t|t|S)N)r/rK)r'r)rrrr:scCs tj||S)N)rZConfigParser_setSubstitutions)r' substitutionsrrrsetSubstitutionsszConfigParser.setSubstitutionscCs tj|S)N)rZConfigParser_getSubstitutions)r'rrrgetSubstitutionsszConfigParser.getSubstitutionscCs tj||S)N)rZConfigParser_read)r'ZfilePathrrrreadszConfigParser.readcGstj|f|S)N)rZConfigParser_write)r'r;rrrwriteszConfigParser.writecGstj|f|S)N)rZConfigParser_addSection)r'r;rrr addSectionszConfigParser.addSectioncCs tj||S)N)rZConfigParser_hasSection)r'sectionrrr hasSectionszConfigParser.hasSectioncCstj|||S)N)rZConfigParser_hasOption)r'rRkeyrrr hasOptionszConfigParser.hasOptioncGstj|f|S)N)rZConfigParser_setValue)r'r;rrrsetValueszConfigParser.setValuecCs tj||S)N)rZConfigParser_removeSection)r'rRrrr removeSectionszConfigParser.removeSectioncCstj|||S)N)rZConfigParser_removeOption)r'rRrTrrr removeOptionszConfigParser.removeOptioncCstj|||S)N)rZConfigParser_addCommentLine)r'rRr rrraddCommentLineszConfigParser.addCommentLinecCstj|||S)N)rZConfigParser_getValue)r'rRrTrrrr_szConfigParser.getValuecCstj|||S)N)rZ ConfigParser_getSubstitutedValue)r'rRrTrrrgetSubstitutedValuesz ConfigParser.getSubstitutedValuecGstj|f|S)N)rZConfigParser_getHeader)r'r;rrr getHeaderszConfigParser.getHeadercGstj|f|S)N)rZConfigParser_getData)r'r;rrrgetDataszConfigParser.getDatacCs tj||S)N)rZConfigParser_readString)r'Zcontentrrr readStringszConfigParser.readStringc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_ConfigParserrr\r2r3)r'rrrrr=s zConfigParser.__init__cCsdS)Nr)r'rrrr:sN)"rr5r8r!r%r.rPr6r1r#r8rConfigParser_substituteZ substituterMrNrOrPrQrSrUrVrWrXrYr_rZr[r\r]r=Zdelete_ConfigParserrQrRrrrrrKs6 rKcCs tj||S)N)rr^)textrLrrrr^sr^c@seZdZiZddZiZddZeZddZ e j ed<e j ed<e rRee j e j Ze jed<e jed<e rxee je jZdd Zd d Zd d ZddZe jZddZdS)PairStringOptionBindsItemcCst|t||S)N)r-r`)r'r)r*rrrr:sz"PairStringOptionBindsItem.cCs t|t|S)N)r/r`)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_PairStringOptionBindsItemrr\r2r3)r'r;rrrrr=s  z"PairStringOptionBindsItem.__init__firstsecondcCsdS)Nrr)r'rrrr~sz!PairStringOptionBindsItem.__len__cCst|j|jfS)N)rrarb)r'rrrr1sz"PairStringOptionBindsItem.__repr__cCs|ds|jS|jSdS)Nr)rarb)r'rrrrrsz%PairStringOptionBindsItem.__getitem__cCs|ds||_n||_dS)Nr)rarb)r'rvalrrrrsz%PairStringOptionBindsItem.__setitem__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rZ#PairStringOptionBindsItem_first_setZ#PairStringOptionBindsItem_first_getr#rJraZ$PairStringOptionBindsItem_second_setZ$PairStringOptionBindsItem_second_getrbr~rrZ delete_PairStringOptionBindsItemrQrRrrrrr`s(    r`cCsg}yt|tst|tr |g}Wntk r6YnXxn|D]f}y|j||j|Wq>tk rnYq>tk r}ztd|t|fWYdd}~Xq>Xq>W|S)NzParsing file '%s' failed: %s) isinstancerZunicode NameError readFileNamer\IOErrorr3 RuntimeError)r' filenamesZ parsedFNamesZfnameerrrConfigParser__newRead%s   *rkcCsJy|j|Wn6tk rD}ztd|t|fWYdd}~XnXdS)NzParsing source '%s' failed: %s)r]r3rhr)r'stringsourcerjrrrConfigParser__read_string8srocCs|j|std|dS)NzSection '%s' already exists)rQKeyError)r'rRrrrConfigParser__add_section@s rqFcCsTy |r|j||S|j||SWn.tk rN}ztt|WYdd}~XnXdS)N)r_rZ IndexErrorrpr)r'rRrrawrjrrrConfigParser__getIs  rtcCst|j|||dS)N)rs)intr")r'rRrrsrrrConfigParser__getintUsrvcCst|j|||dS)N)rs)floatr")r'rRrrsrrrConfigParser__getfloatZsrxc CsD|j|||d}ytdj|Stk r>td|YnXdS)N)rsFzNot a boolean: %s)r"r[r^rh ValueError)r'rRrrsrrrrConfigParser__getboolean_s rzcCs`|j|std||j|}g}x4|D],}|jds,|j|||d}|j||fq,W|S)NzNo section: '%s'#)rs)rSrpr\ startswithr"r\)r'rRrssectObjitemsrTr*rrrConfigParser__itemshs     rcCs(|j|std||j|||dS)NzNo section: '%s')rSrprV)r'rRrr*rrrConfigParser__setus  rcCs"|j|std||j||S)NzNo section: '%s')rSrprX)r'rRrrrrConfigParser__remove_option~s  rcCs0|j|std||j|}dd|DS)NzNo section: '%s'cSsg|]}|jds|qS)r{)r|).0rrrr sz)ConfigParser__options..)rSrpr\)r'rRr}rrrConfigParser__optionss   rcCs t|jS)N)rr\)r'rrrConfigParser__sectionssr)rrr)rrr)r)rl)F)F)F)F)F)sysrZ_swig_python_version_inforrpropertyrJrebuiltinsr2r r,r-r/r6r$r7r#r3r9ZSwigPyIterator_swigregisterZlibdnf.common_typesZlibdnfrSZOption_swigregisterr[ZOptionBool_swigregisterZcvarZ defTrueValuesZdefFalseValuesrgZOptionEnumString_swigregisterrhZOptionNumberInt32_swigregisterriZOptionNumberUInt32_swigregisterrjZOptionNumberInt64_swigregisterrkZOptionNumberUInt64_swigregisterrlZOptionNumberFloat_swigregisterrmZOptionSeconds_swigregisterrnZOptionString_swigregisterroZOptionStringList_swigregisterrpZOptionPath_swigregisterrqZOptionChildBool_swigregisterrsZOptionChildString_swigregisterrtZ"OptionChildStringList_swigregisterruZ#OptionChildNumberInt32_swigregisterrvZ$OptionChildNumberUInt32_swigregisterrwZ#OptionChildNumberFloat_swigregisterrxZ"OptionChildEnumString_swigregisterryZOptionChildSeconds_swigregisterrzZVectorString_swigregisterr__str__rrIrrJr__lt__r__le__r__gt__r__ge__rrKr__imul__r__mul__r__rmul__rrMrr\rrDrrrrrrrrrrrrrrrZOptionBinds_swigregisterrZOptionBinds_Item_swigregisterrZConfig_swigregisterrZConfigMain_swigregisterr9r:r<ZConfigRepo_swigregisterrHZ OptionBindsIterator_swigregisterrKZConfigParser_swigregisterr^r`Z&PairStringOptionBindsItem_swigregisterrOrfrkroZ read_stringrqZ add_sectionrSZ has_sectionrUZ has_optionrtr"rvZgetintrxZgetfloatrzZ getbooleanrr~rrWrWZremove_sectionrZ remove_optionrZoptionsrZsectionsrexcluderrrrs     ='4+.....+.++++++++n$j* C%      PKhee[C#C#utils.cpython-36.pycnu[3 љgN $@sddlmZed*kr&ddZeZ[n"ed+kr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXd,d d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXyddlZejZWn e jk rddZYnXejZGdddeZejZeeGdddeZejZeeddZejZGdddeZejZeeGdddeZejZeed d!Z ej Z d"d#Z!ej!Z!d-d$d%Z"ej"Z"d&d'Z#ej#Z#d(d)Z$ej$Z$dS).) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr._utils) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer/usr/lib64/python3.6/utils.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7cCs|S)Nr)xrrrfsr:c@sFeZdZiZddZiZddZeZddZ ddZ e j Z ddZd S) SQLite3cCst|t||S)N)r-r;)r'r)r*rrrr:lszSQLite3.cCs t|t|S)N)r/r;)r'r)rrrr:nsc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ new_SQLite3rappendr2r3)r'ZdbPathrrrr__init__qs  zSQLite3.__init__cCs tj|S)N)rZ SQLite3_close)r'rrrrxsz SQLite3.closecCsdS)Nr)r'rrrr:{sN)rr5r8r!r%r. __getattr__r6r1r=rrZdelete_SQLite3__swig_destroy____del__rrrrr;jsr;c@seZdZiZddZiZddZeZe j Z e j Z e jZe jZe jZe jZe jZer^ee jZne jZe jZe jZddZ ddZ!dd Z"d d Z#d d Z$ddZ%ddZ&ddZ'e j(Z)ddZ*ddZ+ddZ,dS)LoggercCst|t||S)N)r-rA)r'r)r*rrrr:szLogger.cCs t|t|S)N)r/rA)r'r)rrrr:scGstj|f|S)N)rZLogger_critical)r'argsrrrcriticalszLogger.criticalcGstj|f|S)N)rZ Logger_error)r'rBrrrerrorsz Logger.errorcGstj|f|S)N)rZLogger_warning)r'rBrrrwarningszLogger.warningcGstj|f|S)N)rZ Logger_notice)r'rBrrrnoticesz Logger.noticecGstj|f|S)N)rZ Logger_info)r'rBrrrinfosz Logger.infocGstj|f|S)N)rZ Logger_debug)r'rBrrrdebugsz Logger.debugcGstj|f|S)N)rZ Logger_trace)r'rBrrrtracesz Logger.tracecGstj|f|S)N)rZ Logger_write)r'rBrrrwritesz Logger.writecCsdS)Nr)r'rrrr:sc CsP|jtkrd}n|}tj|}y|jj|Wntjk rJ||_YnXdS)N)r4rArZ new_Loggerrr<r2r3)r'_selfrrrrr=s  zLogger.__init__cCs|jjtj|t|S)N)rZdisownrZ disown_Logger weakref_proxy)r'rrr __disown__s  zLogger.__disown__N)-rr5r8r!r%r.r>r6r1rZLogger_Level_CRITICALZLevel_CRITICALZLogger_Level_ERRORZ Level_ERRORZLogger_Level_WARNINGZ Level_WARNINGZLogger_Level_NOTICEZ Level_NOTICEZLogger_Level_INFOZ Level_INFOZLogger_Level_DEBUGZ Level_DEBUGZLogger_Level_TRACEZ Level_TRACEr# staticmethodLogger_levelToCStrZ levelToCStrZLogger_LOG_SOURCE_LIBDNFZLOG_SOURCE_LIBDNFZLogger_LOG_SOURCE_LIBREPOZLOG_SOURCE_LIBREPOrCrDrErFrGrHrIrJZ delete_Loggerr?r@r=rMrrrrrAs:  rAcCs tj|S)N)rrO)levelrrrrOsrOc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd ZejZd dZd S) NullLoggerr!cCst|t||S)N)r-rQ)r'r)r*rrrr:szNullLogger.r.cCs t|t|S)N)r/rQ)r'r)rrrr:scGstj|f|S)N)rZNullLogger_write)r'rBrrrrJszNullLogger.writec Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_NullLoggerrr<r2r3)r'rrrrr=s zNullLogger.__init__cCsdS)Nr)r'rrrr:sN)rr5r8r!rAZ_supdategetattrr%r.r>r6r1rJr=rZdelete_NullLoggerr?r@rrrrrQs  rQc@sjeZdZiZddZiZddZeZe r4e e j Z ne j Z e rJe e jZne jZddZe jZddZdS)LogcCst|t||S)N)r-rT)r'r)r*rrrr:sz Log.cCs t|t|S)N)r/rT)r'r)rrrr:sc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_Logrr<r2r3)r'rrrrr=s z Log.__init__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.r>r6r1r#rNr Log_setLoggerZ setLogger Log_getLoggerZ getLoggerr=Z delete_Logr?r@rrrrrTs  rTcCs tj|S)N)rrU)ZloggerrrrrUsrUcCstjS)N)rrVrrrrrVsrVcCstj||||S)N)r decompress)inPathZoutPathZoutModeZ compressTyperrrrWsrWcCstj|||S)N)rchecksum_check)rrXZchecksum_validrrrrYsrYcCs tj||S)N)rchecksum_value)rrXrrrrZsrZ)rrr)rrr)r)N)%sysrZ_swig_python_version_inforrpropertyZ_swig_property NameErrorbuiltinsr2r r,r-r/r6r$r7r#r3weakrefproxyrLZSHARED_PTR_DISOWNr;ZSQLite3_swigregisterrAZLogger_swigregisterrOrQZNullLogger_swigregisterrTZLog_swigregisterrUrVrWrYrZrrrrst      < PKhee[,JM66module.cpython-36.pycnu[3 љg@sddlmZedZkr&ddZeZ[n"ed[kr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXd\d d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXGdddeZejZeeddlZGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZej Z e ed d!Z!e!e_"d"d#Z#e#e_$d$d%Z%e%e_&d&d'Z'e'e_(d(d)Z)e)e_*d*d+Z+e+e_,d,d-Z-e-e_.d.d/Z/e/e_0d0d1Z1e1e_2d2d3Z3e3e_4d4d5Z5e5e_6d6d7Z7e7e_8d8d9Z9e9e_:d:d;Z;e;e_d>d?Z?e?e_@d@dAZAeAe_BdBdCZCeCe_DdDdEZEeEe_FdFdGZGeGe_HdHdIZIeIe_JGdJdKdKeZKejLZLeLeKGdLdMdMeZMejNZNeNeMGdNdOdOeZOejPZPePeOGdPdQdQeZQejRZReReQGdRdSdSeZSejTZTeTeSGdTdUdUeZUejVZVeVeUGdVdWdWeZWejXZXeXeWGdXdYdYeZYejZZZeZeYdS)]) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr._module) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer/usr/lib64/python3.6/module.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7c@seZdZiZddZiZddZddZeZ e j Z ddZ ddZd+d d Zd,d d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*S)-SwigPyIteratorcCst|t||S)N)r-r9)r'r)r*rrrdszSwigPyIterator.cCs t|t|S)N)r/r9)r'r)rrrr:fscOs tddS)Nz*No constructor defined - class is abstract)r&)r'argskwargsrrr__init__hszSwigPyIterator.__init__cCsdS)Nr)r'rrrr:lscCs tj|S)N)rZSwigPyIterator_value)r'rrrr*nszSwigPyIterator.valuercCs tj||S)N)rZSwigPyIterator_incr)r'nrrrincrqszSwigPyIterator.incrcCs tj||S)N)rZSwigPyIterator_decr)r'r>rrrdecrtszSwigPyIterator.decrcCs tj||S)N)rZSwigPyIterator_distance)r'xrrrdistancewszSwigPyIterator.distancecCs tj||S)N)rZSwigPyIterator_equal)r'rArrrequalzszSwigPyIterator.equalcCs tj|S)N)rZSwigPyIterator_copy)r'rrrcopy}szSwigPyIterator.copycCs tj|S)N)rZSwigPyIterator_next)r'rrrnextszSwigPyIterator.nextcCs tj|S)N)rZSwigPyIterator___next__)r'rrr__next__szSwigPyIterator.__next__cCs tj|S)N)rZSwigPyIterator_previous)r'rrrpreviousszSwigPyIterator.previouscCs tj||S)N)rZSwigPyIterator_advance)r'r>rrradvanceszSwigPyIterator.advancecCs tj||S)N)rZSwigPyIterator___eq__)r'rArrr__eq__szSwigPyIterator.__eq__cCs tj||S)N)rZSwigPyIterator___ne__)r'rArrr__ne__szSwigPyIterator.__ne__cCs tj||S)N)rZSwigPyIterator___iadd__)r'r>rrr__iadd__szSwigPyIterator.__iadd__cCs tj||S)N)rZSwigPyIterator___isub__)r'r>rrr__isub__szSwigPyIterator.__isub__cCs tj||S)N)rZSwigPyIterator___add__)r'r>rrr__add__szSwigPyIterator.__add__cGstj|f|S)N)rZSwigPyIterator___sub__)r'r;rrr__sub__szSwigPyIterator.__sub__cCs|S)Nr)r'rrr__iter__szSwigPyIterator.__iter__N)r)r)rr5r8r!r%r. __getattr__r=r6r1rZdelete_SwigPyIterator__swig_destroy____del__r*r?r@rBrCrDrErFrGrHrIrJrKrLrMrNrOrrrrr9bs2  r9c@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorModulePackagePtrcCst|t||S)N)r-rS)r'r)r*rrrr:szVectorModulePackagePtr.cCs t|t|S)N)r/rS)r'r)rrrr:scCs tj|S)N)rZVectorModulePackagePtr_iterator)r'rrriteratorszVectorModulePackagePtr.iteratorcCs|jS)N)rT)r'rrrrOszVectorModulePackagePtr.__iter__cCs tj|S)N)rZ"VectorModulePackagePtr___nonzero__)r'rrr __nonzero__sz"VectorModulePackagePtr.__nonzero__cCs tj|S)N)rZVectorModulePackagePtr___bool__)r'rrr__bool__szVectorModulePackagePtr.__bool__cCs tj|S)N)rZVectorModulePackagePtr___len__)r'rrr__len__szVectorModulePackagePtr.__len__cCstj|||S)N)rZ#VectorModulePackagePtr___getslice__)r'ijrrr __getslice__sz#VectorModulePackagePtr.__getslice__cGstj|f|S)N)rZ#VectorModulePackagePtr___setslice__)r'r;rrr __setslice__sz#VectorModulePackagePtr.__setslice__cCstj|||S)N)rZ#VectorModulePackagePtr___delslice__)r'rXrYrrr __delslice__sz#VectorModulePackagePtr.__delslice__cGstj|f|S)N)rZ"VectorModulePackagePtr___delitem__)r'r;rrr __delitem__sz"VectorModulePackagePtr.__delitem__cGstj|f|S)N)rZ"VectorModulePackagePtr___getitem__)r'r;rrr __getitem__sz"VectorModulePackagePtr.__getitem__cGstj|f|S)N)rZ"VectorModulePackagePtr___setitem__)r'r;rrr __setitem__sz"VectorModulePackagePtr.__setitem__cCs tj|S)N)rZVectorModulePackagePtr_pop)r'rrrpopszVectorModulePackagePtr.popcCs tj||S)N)rZVectorModulePackagePtr_append)r'rArrrappendszVectorModulePackagePtr.appendcCs tj|S)N)rZVectorModulePackagePtr_empty)r'rrremptyszVectorModulePackagePtr.emptycCs tj|S)N)rZVectorModulePackagePtr_size)r'rrrsizeszVectorModulePackagePtr.sizecCs tj||S)N)rZVectorModulePackagePtr_swap)r'vrrrswapszVectorModulePackagePtr.swapcCs tj|S)N)rZVectorModulePackagePtr_begin)r'rrrbeginszVectorModulePackagePtr.begincCs tj|S)N)rZVectorModulePackagePtr_end)r'rrrendszVectorModulePackagePtr.endcCs tj|S)N)rZVectorModulePackagePtr_rbegin)r'rrrrbeginszVectorModulePackagePtr.rbegincCs tj|S)N)rZVectorModulePackagePtr_rend)r'rrrrendszVectorModulePackagePtr.rendcCs tj|S)N)rZVectorModulePackagePtr_clear)r'rrrclearszVectorModulePackagePtr.clearcCs tj|S)N)rZ$VectorModulePackagePtr_get_allocator)r'rrr get_allocatorsz$VectorModulePackagePtr.get_allocatorcCs tj|S)N)rZVectorModulePackagePtr_pop_back)r'rrrpop_backszVectorModulePackagePtr.pop_backcGstj|f|S)N)rZVectorModulePackagePtr_erase)r'r;rrreraseszVectorModulePackagePtr.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorModulePackagePtrrrar2r3)r'r;rrrrr=s  zVectorModulePackagePtr.__init__cCs tj||S)N)rZ VectorModulePackagePtr_push_back)r'rArrr push_backsz VectorModulePackagePtr.push_backcCs tj|S)N)rZVectorModulePackagePtr_front)r'rrrfrontszVectorModulePackagePtr.frontcCs tj|S)N)rZVectorModulePackagePtr_back)r'rrrbackszVectorModulePackagePtr.backcCstj|||S)N)rZVectorModulePackagePtr_assign)r'r>rArrrassignszVectorModulePackagePtr.assigncGstj|f|S)N)rZVectorModulePackagePtr_resize)r'r;rrrresizeszVectorModulePackagePtr.resizecGstj|f|S)N)rZVectorModulePackagePtr_insert)r'r;rrrinsertszVectorModulePackagePtr.insertcCs tj||S)N)rZVectorModulePackagePtr_reserve)r'r>rrrreserve szVectorModulePackagePtr.reservecCs tj|S)N)rZVectorModulePackagePtr_capacity)r'rrrcapacity szVectorModulePackagePtr.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorModulePackagePtrrQrRrrrrrSsPrSc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)H"VectorVectorVectorModulePackagePtrcCst|t||S)N)r-rv)r'r)r*rrrr:sz+VectorVectorVectorModulePackagePtr.cCs t|t|S)N)r/rv)r'r)rrrr:scCs tj|S)N)rZ+VectorVectorVectorModulePackagePtr_iterator)r'rrrrTsz+VectorVectorVectorModulePackagePtr.iteratorcCs|jS)N)rT)r'rrrrOsz+VectorVectorVectorModulePackagePtr.__iter__cCs tj|S)N)rZ.VectorVectorVectorModulePackagePtr___nonzero__)r'rrrrU sz.VectorVectorVectorModulePackagePtr.__nonzero__cCs tj|S)N)rZ+VectorVectorVectorModulePackagePtr___bool__)r'rrrrV#sz+VectorVectorVectorModulePackagePtr.__bool__cCs tj|S)N)rZ*VectorVectorVectorModulePackagePtr___len__)r'rrrrW&sz*VectorVectorVectorModulePackagePtr.__len__cCstj|||S)N)rZ/VectorVectorVectorModulePackagePtr___getslice__)r'rXrYrrrrZ)sz/VectorVectorVectorModulePackagePtr.__getslice__cGstj|f|S)N)rZ/VectorVectorVectorModulePackagePtr___setslice__)r'r;rrrr[,sz/VectorVectorVectorModulePackagePtr.__setslice__cCstj|||S)N)rZ/VectorVectorVectorModulePackagePtr___delslice__)r'rXrYrrrr\/sz/VectorVectorVectorModulePackagePtr.__delslice__cGstj|f|S)N)rZ.VectorVectorVectorModulePackagePtr___delitem__)r'r;rrrr]2sz.VectorVectorVectorModulePackagePtr.__delitem__cGstj|f|S)N)rZ.VectorVectorVectorModulePackagePtr___getitem__)r'r;rrrr^5sz.VectorVectorVectorModulePackagePtr.__getitem__cGstj|f|S)N)rZ.VectorVectorVectorModulePackagePtr___setitem__)r'r;rrrr_8sz.VectorVectorVectorModulePackagePtr.__setitem__cCs tj|S)N)rZ&VectorVectorVectorModulePackagePtr_pop)r'rrrr`;sz&VectorVectorVectorModulePackagePtr.popcCs tj||S)N)rZ)VectorVectorVectorModulePackagePtr_append)r'rArrrra>sz)VectorVectorVectorModulePackagePtr.appendcCs tj|S)N)rZ(VectorVectorVectorModulePackagePtr_empty)r'rrrrbAsz(VectorVectorVectorModulePackagePtr.emptycCs tj|S)N)rZ'VectorVectorVectorModulePackagePtr_size)r'rrrrcDsz'VectorVectorVectorModulePackagePtr.sizecCs tj||S)N)rZ'VectorVectorVectorModulePackagePtr_swap)r'rdrrrreGsz'VectorVectorVectorModulePackagePtr.swapcCs tj|S)N)rZ(VectorVectorVectorModulePackagePtr_begin)r'rrrrfJsz(VectorVectorVectorModulePackagePtr.begincCs tj|S)N)rZ&VectorVectorVectorModulePackagePtr_end)r'rrrrgMsz&VectorVectorVectorModulePackagePtr.endcCs tj|S)N)rZ)VectorVectorVectorModulePackagePtr_rbegin)r'rrrrhPsz)VectorVectorVectorModulePackagePtr.rbegincCs tj|S)N)rZ'VectorVectorVectorModulePackagePtr_rend)r'rrrriSsz'VectorVectorVectorModulePackagePtr.rendcCs tj|S)N)rZ(VectorVectorVectorModulePackagePtr_clear)r'rrrrjVsz(VectorVectorVectorModulePackagePtr.clearcCs tj|S)N)rZ0VectorVectorVectorModulePackagePtr_get_allocator)r'rrrrkYsz0VectorVectorVectorModulePackagePtr.get_allocatorcCs tj|S)N)rZ+VectorVectorVectorModulePackagePtr_pop_back)r'rrrrl\sz+VectorVectorVectorModulePackagePtr.pop_backcGstj|f|S)N)rZ(VectorVectorVectorModulePackagePtr_erase)r'r;rrrrm_sz(VectorVectorVectorModulePackagePtr.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ&new_VectorVectorVectorModulePackagePtrrrar2r3)r'r;rrrrr=bs  z+VectorVectorVectorModulePackagePtr.__init__cCs tj||S)N)rZ,VectorVectorVectorModulePackagePtr_push_back)r'rArrrrnisz,VectorVectorVectorModulePackagePtr.push_backcCs tj|S)N)rZ(VectorVectorVectorModulePackagePtr_front)r'rrrrolsz(VectorVectorVectorModulePackagePtr.frontcCs tj|S)N)rZ'VectorVectorVectorModulePackagePtr_back)r'rrrrposz'VectorVectorVectorModulePackagePtr.backcCstj|||S)N)rZ)VectorVectorVectorModulePackagePtr_assign)r'r>rArrrrqrsz)VectorVectorVectorModulePackagePtr.assigncGstj|f|S)N)rZ)VectorVectorVectorModulePackagePtr_resize)r'r;rrrrrusz)VectorVectorVectorModulePackagePtr.resizecGstj|f|S)N)rZ)VectorVectorVectorModulePackagePtr_insert)r'r;rrrrsxsz)VectorVectorVectorModulePackagePtr.insertcCs tj||S)N)rZ*VectorVectorVectorModulePackagePtr_reserve)r'r>rrrrt{sz*VectorVectorVectorModulePackagePtr.reservecCs tj|S)N)rZ+VectorVectorVectorModulePackagePtr_capacity)r'rrrru~sz+VectorVectorVectorModulePackagePtr.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZ)delete_VectorVectorVectorModulePackagePtrrQrRrrrrrvsPrvc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorModuleProfilecCst|t||S)N)r-rw)r'r)r*rrrr:szVectorModuleProfile.cCs t|t|S)N)r/rw)r'r)rrrr:scCs tj|S)N)rZVectorModuleProfile_iterator)r'rrrrTszVectorModuleProfile.iteratorcCs|jS)N)rT)r'rrrrOszVectorModuleProfile.__iter__cCs tj|S)N)rZVectorModuleProfile___nonzero__)r'rrrrUszVectorModuleProfile.__nonzero__cCs tj|S)N)rZVectorModuleProfile___bool__)r'rrrrVszVectorModuleProfile.__bool__cCs tj|S)N)rZVectorModuleProfile___len__)r'rrrrWszVectorModuleProfile.__len__cCstj|||S)N)rZ VectorModuleProfile___getslice__)r'rXrYrrrrZsz VectorModuleProfile.__getslice__cGstj|f|S)N)rZ VectorModuleProfile___setslice__)r'r;rrrr[sz VectorModuleProfile.__setslice__cCstj|||S)N)rZ VectorModuleProfile___delslice__)r'rXrYrrrr\sz VectorModuleProfile.__delslice__cGstj|f|S)N)rZVectorModuleProfile___delitem__)r'r;rrrr]szVectorModuleProfile.__delitem__cGstj|f|S)N)rZVectorModuleProfile___getitem__)r'r;rrrr^szVectorModuleProfile.__getitem__cGstj|f|S)N)rZVectorModuleProfile___setitem__)r'r;rrrr_szVectorModuleProfile.__setitem__cCs tj|S)N)rZVectorModuleProfile_pop)r'rrrr`szVectorModuleProfile.popcCs tj||S)N)rZVectorModuleProfile_append)r'rArrrraszVectorModuleProfile.appendcCs tj|S)N)rZVectorModuleProfile_empty)r'rrrrbszVectorModuleProfile.emptycCs tj|S)N)rZVectorModuleProfile_size)r'rrrrcszVectorModuleProfile.sizecCs tj||S)N)rZVectorModuleProfile_swap)r'rdrrrreszVectorModuleProfile.swapcCs tj|S)N)rZVectorModuleProfile_begin)r'rrrrfszVectorModuleProfile.begincCs tj|S)N)rZVectorModuleProfile_end)r'rrrrgszVectorModuleProfile.endcCs tj|S)N)rZVectorModuleProfile_rbegin)r'rrrrhszVectorModuleProfile.rbegincCs tj|S)N)rZVectorModuleProfile_rend)r'rrrriszVectorModuleProfile.rendcCs tj|S)N)rZVectorModuleProfile_clear)r'rrrrjszVectorModuleProfile.clearcCs tj|S)N)rZ!VectorModuleProfile_get_allocator)r'rrrrksz!VectorModuleProfile.get_allocatorcCs tj|S)N)rZVectorModuleProfile_pop_back)r'rrrrlszVectorModuleProfile.pop_backcGstj|f|S)N)rZVectorModuleProfile_erase)r'r;rrrrmszVectorModuleProfile.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorModuleProfilerrar2r3)r'r;rrrrr=s  zVectorModuleProfile.__init__cCs tj||S)N)rZVectorModuleProfile_push_back)r'rArrrrnszVectorModuleProfile.push_backcCs tj|S)N)rZVectorModuleProfile_front)r'rrrroszVectorModuleProfile.frontcCs tj|S)N)rZVectorModuleProfile_back)r'rrrrpszVectorModuleProfile.backcCstj|||S)N)rZVectorModuleProfile_assign)r'r>rArrrrqszVectorModuleProfile.assigncGstj|f|S)N)rZVectorModuleProfile_resize)r'r;rrrrrszVectorModuleProfile.resizecGstj|f|S)N)rZVectorModuleProfile_insert)r'r;rrrrsszVectorModuleProfile.insertcCs tj||S)N)rZVectorModuleProfile_reserve)r'r>rrrrtszVectorModuleProfile.reservecCs tj|S)N)rZVectorModuleProfile_capacity)r'rrrruszVectorModuleProfile.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorModuleProfilerQrRrrrrrwsPrwc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorModuleDependenciescCst|t||S)N)r-rx)r'r)r*rrrr:sz!VectorModuleDependencies.cCs t|t|S)N)r/rx)r'r)rrrr:scCs tj|S)N)rZ!VectorModuleDependencies_iterator)r'rrrrTsz!VectorModuleDependencies.iteratorcCs|jS)N)rT)r'rrrrOsz!VectorModuleDependencies.__iter__cCs tj|S)N)rZ$VectorModuleDependencies___nonzero__)r'rrrrUsz$VectorModuleDependencies.__nonzero__cCs tj|S)N)rZ!VectorModuleDependencies___bool__)r'rrrrVsz!VectorModuleDependencies.__bool__cCs tj|S)N)rZ VectorModuleDependencies___len__)r'rrrrWsz VectorModuleDependencies.__len__cCstj|||S)N)rZ%VectorModuleDependencies___getslice__)r'rXrYrrrrZ sz%VectorModuleDependencies.__getslice__cGstj|f|S)N)rZ%VectorModuleDependencies___setslice__)r'r;rrrr[sz%VectorModuleDependencies.__setslice__cCstj|||S)N)rZ%VectorModuleDependencies___delslice__)r'rXrYrrrr\sz%VectorModuleDependencies.__delslice__cGstj|f|S)N)rZ$VectorModuleDependencies___delitem__)r'r;rrrr]sz$VectorModuleDependencies.__delitem__cGstj|f|S)N)rZ$VectorModuleDependencies___getitem__)r'r;rrrr^sz$VectorModuleDependencies.__getitem__cGstj|f|S)N)rZ$VectorModuleDependencies___setitem__)r'r;rrrr_sz$VectorModuleDependencies.__setitem__cCs tj|S)N)rZVectorModuleDependencies_pop)r'rrrr`szVectorModuleDependencies.popcCs tj||S)N)rZVectorModuleDependencies_append)r'rArrrra szVectorModuleDependencies.appendcCs tj|S)N)rZVectorModuleDependencies_empty)r'rrrrb#szVectorModuleDependencies.emptycCs tj|S)N)rZVectorModuleDependencies_size)r'rrrrc&szVectorModuleDependencies.sizecCs tj||S)N)rZVectorModuleDependencies_swap)r'rdrrrre)szVectorModuleDependencies.swapcCs tj|S)N)rZVectorModuleDependencies_begin)r'rrrrf,szVectorModuleDependencies.begincCs tj|S)N)rZVectorModuleDependencies_end)r'rrrrg/szVectorModuleDependencies.endcCs tj|S)N)rZVectorModuleDependencies_rbegin)r'rrrrh2szVectorModuleDependencies.rbegincCs tj|S)N)rZVectorModuleDependencies_rend)r'rrrri5szVectorModuleDependencies.rendcCs tj|S)N)rZVectorModuleDependencies_clear)r'rrrrj8szVectorModuleDependencies.clearcCs tj|S)N)rZ&VectorModuleDependencies_get_allocator)r'rrrrk;sz&VectorModuleDependencies.get_allocatorcCs tj|S)N)rZ!VectorModuleDependencies_pop_back)r'rrrrl>sz!VectorModuleDependencies.pop_backcGstj|f|S)N)rZVectorModuleDependencies_erase)r'r;rrrrmAszVectorModuleDependencies.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorModuleDependenciesrrar2r3)r'r;rrrrr=Ds  z!VectorModuleDependencies.__init__cCs tj||S)N)rZ"VectorModuleDependencies_push_back)r'rArrrrnKsz"VectorModuleDependencies.push_backcCs tj|S)N)rZVectorModuleDependencies_front)r'rrrroNszVectorModuleDependencies.frontcCs tj|S)N)rZVectorModuleDependencies_back)r'rrrrpQszVectorModuleDependencies.backcCstj|||S)N)rZVectorModuleDependencies_assign)r'r>rArrrrqTszVectorModuleDependencies.assigncGstj|f|S)N)rZVectorModuleDependencies_resize)r'r;rrrrrWszVectorModuleDependencies.resizecGstj|f|S)N)rZVectorModuleDependencies_insert)r'r;rrrrsZszVectorModuleDependencies.insertcCs tj||S)N)rZ VectorModuleDependencies_reserve)r'r>rrrrt]sz VectorModuleDependencies.reservecCs tj|S)N)rZ!VectorModuleDependencies_capacity)r'rrrru`sz!VectorModuleDependencies.capacitycCsdS)Nr)r'rrrr:csN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorModuleDependenciesrQrRrrrrrxsPrxc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)H VectorStringcCst|t||S)N)r-ry)r'r)r*rrrr:iszVectorString.cCs t|t|S)N)r/ry)r'r)rrrr:kscCs tj|S)N)rZVectorString_iterator)r'rrrrTnszVectorString.iteratorcCs|jS)N)rT)r'rrrrOpszVectorString.__iter__cCs tj|S)N)rZVectorString___nonzero__)r'rrrrUsszVectorString.__nonzero__cCs tj|S)N)rZVectorString___bool__)r'rrrrVvszVectorString.__bool__cCs tj|S)N)rZVectorString___len__)r'rrrrWyszVectorString.__len__cCstj|||S)N)rZVectorString___getslice__)r'rXrYrrrrZ|szVectorString.__getslice__cGstj|f|S)N)rZVectorString___setslice__)r'r;rrrr[szVectorString.__setslice__cCstj|||S)N)rZVectorString___delslice__)r'rXrYrrrr\szVectorString.__delslice__cGstj|f|S)N)rZVectorString___delitem__)r'r;rrrr]szVectorString.__delitem__cGstj|f|S)N)rZVectorString___getitem__)r'r;rrrr^szVectorString.__getitem__cGstj|f|S)N)rZVectorString___setitem__)r'r;rrrr_szVectorString.__setitem__cCs tj|S)N)rZVectorString_pop)r'rrrr`szVectorString.popcCs tj||S)N)rZVectorString_append)r'rArrrraszVectorString.appendcCs tj|S)N)rZVectorString_empty)r'rrrrbszVectorString.emptycCs tj|S)N)rZVectorString_size)r'rrrrcszVectorString.sizecCs tj||S)N)rZVectorString_swap)r'rdrrrreszVectorString.swapcCs tj|S)N)rZVectorString_begin)r'rrrrfszVectorString.begincCs tj|S)N)rZVectorString_end)r'rrrrgszVectorString.endcCs tj|S)N)rZVectorString_rbegin)r'rrrrhszVectorString.rbegincCs tj|S)N)rZVectorString_rend)r'rrrriszVectorString.rendcCs tj|S)N)rZVectorString_clear)r'rrrrjszVectorString.clearcCs tj|S)N)rZVectorString_get_allocator)r'rrrrkszVectorString.get_allocatorcCs tj|S)N)rZVectorString_pop_back)r'rrrrlszVectorString.pop_backcGstj|f|S)N)rZVectorString_erase)r'r;rrrrmszVectorString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorStringrrar2r3)r'r;rrrrr=s  zVectorString.__init__cCs tj||S)N)rZVectorString_push_back)r'rArrrrnszVectorString.push_backcCs tj|S)N)rZVectorString_front)r'rrrroszVectorString.frontcCs tj|S)N)rZVectorString_back)r'rrrrpszVectorString.backcCstj|||S)N)rZVectorString_assign)r'r>rArrrrqszVectorString.assigncGstj|f|S)N)rZVectorString_resize)r'r;rrrrrszVectorString.resizecGstj|f|S)N)rZVectorString_insert)r'r;rrrrsszVectorString.insertcCs tj||S)N)rZVectorString_reserve)r'r>rrrrtszVectorString.reservecCs tj|S)N)rZVectorString_capacity)r'rrrruszVectorString.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorStringrQrRrrrrrygsPrycCs tt|S)N)strlist)r'rrrVectorString__str__sr|cCst|t|kS)N)r{)r'otherrrrVectorString__eq__sr~cCst|t|kS)N)r{)r'r}rrrVectorString__ne__srcCst|t|kS)N)r{)r'r}rrrVectorString__lt__srcCst|t|kS)N)r{)r'r}rrrVectorString__le__srcCst|t|kS)N)r{)r'r}rrrVectorString__gt__srcCst|t|kS)N)r{)r'r}rrrVectorString__ge__srcCs|j||S)N)extend)r'r*rrrVectorString__iadd__s rcCs&t|}||9}|j|j||S)N)r{rjr)r'r*datarrrVectorString__imul__s  rcCs|j}||9}|S)N)rD)r'r*resultrrrVectorString__mul__srcCs||S)Nr)r'r*rrrVectorString__rmul__ srcCs|j}|j||S)N)rDr)r'r*rrrrVectorString__add__ s rcCs|j|dS)N)rn)r'itemrrrVectorString__appendsrcCs tt|S)N)ryr{)r'rrrVectorString__copysrcCst|j|S)N)r{count)r'rrrrVectorString__countsrcCsx|D]}|j|qWdS)N)rn)r'iterablerXrrrVectorString__extends rcOst|}|j||S)N)r{index)r'r;r<rrrrVectorString__index$srcOs*t|}|j|||j|j|dS)N)r{rsrjr)r'r;r<rrrrVectorString__insert)s rcOs*t|}|j|||j|j|dS)N)r{removerjr)r'r;r<rrrrVectorString__remove0s rcOs&t|}|j|j|j|dS)N)r{sortrjr)r'r;r<rrrrVectorString__sort7srcOs&t|}|j|j|j|dS)N)r{reverserjr)r'r;r<rrrrVectorString__reverse>src@sNeZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dGdHZ*e+j,Z-dIdZ.dJS)KMapStringVectorStringcCst|t||S)N)r-r)r'r)r*rrrr:GszMapStringVectorString.cCs t|t|S)N)r/r)r'r)rrrr:IscCs tj|S)N)rZMapStringVectorString_iterator)r'rrrrTLszMapStringVectorString.iteratorcCs|jS)N)rT)r'rrrrONszMapStringVectorString.__iter__cCs tj|S)N)rZ!MapStringVectorString___nonzero__)r'rrrrUQsz!MapStringVectorString.__nonzero__cCs tj|S)N)rZMapStringVectorString___bool__)r'rrrrVTszMapStringVectorString.__bool__cCs tj|S)N)rZMapStringVectorString___len__)r'rrrrWWszMapStringVectorString.__len__cCs|jS)N) key_iterator)r'rrrrOYscCs|jS)N)r)r'rrriterkeys[szMapStringVectorString.iterkeyscCs|jS)N)value_iterator)r'rrr itervalues]sz MapStringVectorString.itervaluescCs|jS)N)rT)r'rrr iteritems_szMapStringVectorString.iteritemscCs tj||S)N)rZ!MapStringVectorString___getitem__)r'keyrrrr^bsz!MapStringVectorString.__getitem__cCs tj||S)N)rZ!MapStringVectorString___delitem__)r'rrrrr]esz!MapStringVectorString.__delitem__cCs tj||S)N)rZMapStringVectorString_has_key)r'rrrrhas_keyhszMapStringVectorString.has_keycCs tj|S)N)rZMapStringVectorString_keys)r'rrrkeyskszMapStringVectorString.keyscCs tj|S)N)rZMapStringVectorString_values)r'rrrvaluesnszMapStringVectorString.valuescCs tj|S)N)rZMapStringVectorString_items)r'rrritemsqszMapStringVectorString.itemscCs tj||S)N)rZ"MapStringVectorString___contains__)r'rrrr __contains__tsz"MapStringVectorString.__contains__cCs tj|S)N)rZ"MapStringVectorString_key_iterator)r'rrrrwsz"MapStringVectorString.key_iteratorcCs tj|S)N)rZ$MapStringVectorString_value_iterator)r'rrrrzsz$MapStringVectorString.value_iteratorcGstj|f|S)N)rZ!MapStringVectorString___setitem__)r'r;rrrr_}sz!MapStringVectorString.__setitem__cCs tj|S)N)rZMapStringVectorString_asdict)r'rrrasdictszMapStringVectorString.asdictc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_MapStringVectorStringrrar2r3)r'r;rrrrr=s  zMapStringVectorString.__init__cCs tj|S)N)rZMapStringVectorString_empty)r'rrrrbszMapStringVectorString.emptycCs tj|S)N)rZMapStringVectorString_size)r'rrrrcszMapStringVectorString.sizecCs tj||S)N)rZMapStringVectorString_swap)r'rdrrrreszMapStringVectorString.swapcCs tj|S)N)rZMapStringVectorString_begin)r'rrrrfszMapStringVectorString.begincCs tj|S)N)rZMapStringVectorString_end)r'rrrrgszMapStringVectorString.endcCs tj|S)N)rZMapStringVectorString_rbegin)r'rrrrhszMapStringVectorString.rbegincCs tj|S)N)rZMapStringVectorString_rend)r'rrrriszMapStringVectorString.rendcCs tj|S)N)rZMapStringVectorString_clear)r'rrrrjszMapStringVectorString.clearcCs tj|S)N)rZ#MapStringVectorString_get_allocator)r'rrrrksz#MapStringVectorString.get_allocatorcCs tj||S)N)rZMapStringVectorString_count)r'rArrrrszMapStringVectorString.countcGstj|f|S)N)rZMapStringVectorString_erase)r'r;rrrrmszMapStringVectorString.erasecCs tj||S)N)rZMapStringVectorString_find)r'rArrrfindszMapStringVectorString.findcCs tj||S)N)rZ!MapStringVectorString_lower_bound)r'rArrr lower_boundsz!MapStringVectorString.lower_boundcCs tj||S)N)rZ!MapStringVectorString_upper_bound)r'rArrr upper_boundsz!MapStringVectorString.upper_boundcCsdS)Nr)r'rrrr:sN)/rr5r8r!r%r.rPr6r1rTrOrUrVrWrrrr^r]rrrrrrrr_rr=rbrcrerfrgrhrirjrkrrmrrrrZdelete_MapStringVectorStringrQrRrrrrrEsTrc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorMapStringVectorStringcCst|t||S)N)r-r)r'r)r*rrrr:sz$VectorMapStringVectorString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZ$VectorMapStringVectorString_iterator)r'rrrrTsz$VectorMapStringVectorString.iteratorcCs|jS)N)rT)r'rrrrOsz$VectorMapStringVectorString.__iter__cCs tj|S)N)rZ'VectorMapStringVectorString___nonzero__)r'rrrrUsz'VectorMapStringVectorString.__nonzero__cCs tj|S)N)rZ$VectorMapStringVectorString___bool__)r'rrrrVsz$VectorMapStringVectorString.__bool__cCs tj|S)N)rZ#VectorMapStringVectorString___len__)r'rrrrWsz#VectorMapStringVectorString.__len__cCstj|||S)N)rZ(VectorMapStringVectorString___getslice__)r'rXrYrrrrZsz(VectorMapStringVectorString.__getslice__cGstj|f|S)N)rZ(VectorMapStringVectorString___setslice__)r'r;rrrr[sz(VectorMapStringVectorString.__setslice__cCstj|||S)N)rZ(VectorMapStringVectorString___delslice__)r'rXrYrrrr\sz(VectorMapStringVectorString.__delslice__cGstj|f|S)N)rZ'VectorMapStringVectorString___delitem__)r'r;rrrr]sz'VectorMapStringVectorString.__delitem__cGstj|f|S)N)rZ'VectorMapStringVectorString___getitem__)r'r;rrrr^sz'VectorMapStringVectorString.__getitem__cGstj|f|S)N)rZ'VectorMapStringVectorString___setitem__)r'r;rrrr_sz'VectorMapStringVectorString.__setitem__cCs tj|S)N)rZVectorMapStringVectorString_pop)r'rrrr`szVectorMapStringVectorString.popcCs tj||S)N)rZ"VectorMapStringVectorString_append)r'rArrrrasz"VectorMapStringVectorString.appendcCs tj|S)N)rZ!VectorMapStringVectorString_empty)r'rrrrbsz!VectorMapStringVectorString.emptycCs tj|S)N)rZ VectorMapStringVectorString_size)r'rrrrcsz VectorMapStringVectorString.sizecCs tj||S)N)rZ VectorMapStringVectorString_swap)r'rdrrrresz VectorMapStringVectorString.swapcCs tj|S)N)rZ!VectorMapStringVectorString_begin)r'rrrrfsz!VectorMapStringVectorString.begincCs tj|S)N)rZVectorMapStringVectorString_end)r'rrrrgszVectorMapStringVectorString.endcCs tj|S)N)rZ"VectorMapStringVectorString_rbegin)r'rrrrhsz"VectorMapStringVectorString.rbegincCs tj|S)N)rZ VectorMapStringVectorString_rend)r'rrrrisz VectorMapStringVectorString.rendcCs tj|S)N)rZ!VectorMapStringVectorString_clear)r'rrrrjsz!VectorMapStringVectorString.clearcCs tj|S)N)rZ)VectorMapStringVectorString_get_allocator)r'rrrrksz)VectorMapStringVectorString.get_allocatorcCs tj|S)N)rZ$VectorMapStringVectorString_pop_back)r'rrrrlsz$VectorMapStringVectorString.pop_backcGstj|f|S)N)rZ!VectorMapStringVectorString_erase)r'r;rrrrmsz!VectorMapStringVectorString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorMapStringVectorStringrrar2r3)r'r;rrrrr=s  z$VectorMapStringVectorString.__init__cCs tj||S)N)rZ%VectorMapStringVectorString_push_back)r'rArrrrn sz%VectorMapStringVectorString.push_backcCs tj|S)N)rZ!VectorMapStringVectorString_front)r'rrrrosz!VectorMapStringVectorString.frontcCs tj|S)N)rZ VectorMapStringVectorString_back)r'rrrrpsz VectorMapStringVectorString.backcCstj|||S)N)rZ"VectorMapStringVectorString_assign)r'r>rArrrrqsz"VectorMapStringVectorString.assigncGstj|f|S)N)rZ"VectorMapStringVectorString_resize)r'r;rrrrrsz"VectorMapStringVectorString.resizecGstj|f|S)N)rZ"VectorMapStringVectorString_insert)r'r;rrrrssz"VectorMapStringVectorString.insertcCs tj||S)N)rZ#VectorMapStringVectorString_reserve)r'r>rrrrtsz#VectorMapStringVectorString.reservecCs tj|S)N)rZ$VectorMapStringVectorString_capacity)r'rrrru"sz$VectorMapStringVectorString.capacitycCsdS)Nr)r'rrrr:%sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZ"delete_VectorMapStringVectorStringrQrRrrrrrsPrc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorVectorStringcCst|t||S)N)r-r)r'r)r*rrrr:+szVectorVectorString.cCs t|t|S)N)r/r)r'r)rrrr:-scCs tj|S)N)rZVectorVectorString_iterator)r'rrrrT0szVectorVectorString.iteratorcCs|jS)N)rT)r'rrrrO2szVectorVectorString.__iter__cCs tj|S)N)rZVectorVectorString___nonzero__)r'rrrrU5szVectorVectorString.__nonzero__cCs tj|S)N)rZVectorVectorString___bool__)r'rrrrV8szVectorVectorString.__bool__cCs tj|S)N)rZVectorVectorString___len__)r'rrrrW;szVectorVectorString.__len__cCstj|||S)N)rZVectorVectorString___getslice__)r'rXrYrrrrZ>szVectorVectorString.__getslice__cGstj|f|S)N)rZVectorVectorString___setslice__)r'r;rrrr[AszVectorVectorString.__setslice__cCstj|||S)N)rZVectorVectorString___delslice__)r'rXrYrrrr\DszVectorVectorString.__delslice__cGstj|f|S)N)rZVectorVectorString___delitem__)r'r;rrrr]GszVectorVectorString.__delitem__cGstj|f|S)N)rZVectorVectorString___getitem__)r'r;rrrr^JszVectorVectorString.__getitem__cGstj|f|S)N)rZVectorVectorString___setitem__)r'r;rrrr_MszVectorVectorString.__setitem__cCs tj|S)N)rZVectorVectorString_pop)r'rrrr`PszVectorVectorString.popcCs tj||S)N)rZVectorVectorString_append)r'rArrrraSszVectorVectorString.appendcCs tj|S)N)rZVectorVectorString_empty)r'rrrrbVszVectorVectorString.emptycCs tj|S)N)rZVectorVectorString_size)r'rrrrcYszVectorVectorString.sizecCs tj||S)N)rZVectorVectorString_swap)r'rdrrrre\szVectorVectorString.swapcCs tj|S)N)rZVectorVectorString_begin)r'rrrrf_szVectorVectorString.begincCs tj|S)N)rZVectorVectorString_end)r'rrrrgbszVectorVectorString.endcCs tj|S)N)rZVectorVectorString_rbegin)r'rrrrheszVectorVectorString.rbegincCs tj|S)N)rZVectorVectorString_rend)r'rrrrihszVectorVectorString.rendcCs tj|S)N)rZVectorVectorString_clear)r'rrrrjkszVectorVectorString.clearcCs tj|S)N)rZ VectorVectorString_get_allocator)r'rrrrknsz VectorVectorString.get_allocatorcCs tj|S)N)rZVectorVectorString_pop_back)r'rrrrlqszVectorVectorString.pop_backcGstj|f|S)N)rZVectorVectorString_erase)r'r;rrrrmtszVectorVectorString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorVectorStringrrar2r3)r'r;rrrrr=ws  zVectorVectorString.__init__cCs tj||S)N)rZVectorVectorString_push_back)r'rArrrrn~szVectorVectorString.push_backcCs tj|S)N)rZVectorVectorString_front)r'rrrroszVectorVectorString.frontcCs tj|S)N)rZVectorVectorString_back)r'rrrrpszVectorVectorString.backcCstj|||S)N)rZVectorVectorString_assign)r'r>rArrrrqszVectorVectorString.assigncGstj|f|S)N)rZVectorVectorString_resize)r'r;rrrrrszVectorVectorString.resizecGstj|f|S)N)rZVectorVectorString_insert)r'r;rrrrsszVectorVectorString.insertcCs tj||S)N)rZVectorVectorString_reserve)r'r>rrrrtszVectorVectorString.reservecCs tj|S)N)rZVectorVectorString_capacity)r'rrrruszVectorVectorString.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorVectorStringrQrRrrrrr)sPrc@seZdZiZddZiZddZddZeZ e j Z ddZ ddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Z d-d.Z!d/d0Z"d1d2Z#d3d4Z$d5d6Z%d7d8Z&d?d:d;Z'dS)@ ModulePackagecCst|t||S)N)r-r)r'r)r*rrrr:szModulePackage.cCs t|t|S)N)r/r)r'r)rrrr:scOs tddS)NzNo constructor defined)r&)r'r;r<rrrr=szModulePackage.__init__cCsdS)Nr)r'rrrr:scCs tj|S)N)rZModulePackage_getNameCStr)r'rrr getNameCStrszModulePackage.getNameCStrcCs tj|S)N)rZModulePackage_getName)r'rrrgetNameszModulePackage.getNamecCs tj|S)N)rZModulePackage_getStreamCStr)r'rrr getStreamCStrszModulePackage.getStreamCStrcCs tj|S)N)rZModulePackage_getStream)r'rrr getStreamszModulePackage.getStreamcCs tj|S)N)rZModulePackage_getNameStream)r'rrr getNameStreamszModulePackage.getNameStreamcCs tj|S)N)rZ"ModulePackage_getNameStreamVersion)r'rrrgetNameStreamVersionsz"ModulePackage.getNameStreamVersioncCs tj|S)N)rZModulePackage_getRepoID)r'rrr getRepoIDszModulePackage.getRepoIDcCs tj|S)N)rZModulePackage_getVersion)r'rrr getVersionszModulePackage.getVersioncCs tj|S)N)rZModulePackage_getVersionNum)r'rrr getVersionNumszModulePackage.getVersionNumcCs tj|S)N)rZModulePackage_getContextCStr)r'rrrgetContextCStrszModulePackage.getContextCStrcCs tj|S)N)rZModulePackage_getContext)r'rrr getContextszModulePackage.getContextcCs tj|S)N)rZModulePackage_getArchCStr)r'rrr getArchCStrszModulePackage.getArchCStrcCs tj|S)N)rZModulePackage_getArch)r'rrrgetArchszModulePackage.getArchcCs tj|S)N)rZModulePackage_getFullIdentifier)r'rrrgetFullIdentifierszModulePackage.getFullIdentifiercCs tj|S)N)rZModulePackage_getSummary)r'rrr getSummaryszModulePackage.getSummarycCs tj|S)N)rZModulePackage_getDescription)r'rrrgetDescriptionszModulePackage.getDescriptioncCs tj|S)N)rZModulePackage_getArtifacts)r'rrr getArtifactsszModulePackage.getArtifactscCs tj||S)N)rZModulePackage___eq__)r'rrrrrIszModulePackage.__eq__cGstj|f|S)N)rZModulePackage_getProfiles)r'r;rrr getProfilesszModulePackage.getProfilescCs tj|S)N)rZModulePackage_getDefaultProfile)r'rrrgetDefaultProfileszModulePackage.getDefaultProfilecCs tj|S)N)rZ#ModulePackage_getModuleDependencies)r'rrrgetModuleDependenciessz#ModulePackage.getModuleDependenciescCs tj||S)N)rZModulePackage_addStreamConflict)r'packagerrraddStreamConflictszModulePackage.addStreamConflictcCs tj|S)N)rZModulePackage_getId)r'rrrgetIdszModulePackage.getIdcCs tj|S)N)rZModulePackage_getYaml)r'rrrgetYamlszModulePackage.getYamlcCs tj|S)N)rZModulePackage_getStaticContext)r'rrrgetStaticContextszModulePackage.getStaticContextFcCs tj||S)N)rZModulePackage_getRequires)r'ZremovePlatformrrr getRequiresszModulePackage.getRequirescCs tj|S)N)rZModulePackage___hash__)r'rrr__hash__szModulePackage.__hash__N)F))rr5r8r!r%r.rPr=r6r1rZdelete_ModulePackagerQrRrrrrrrrrrrrrrrrrrrIrrrrrrrrrrrrrrsF rc@seZdZiZddZiZddZeZe j Z e j Z e jZe jZe jZe jZe jZe jZe jZe jZe jZe j Z!e j"Z#d\ddZ$e j%Z&ddZ'dd Z(d d Z)d d Z*ddZ+ddZ,ddZ-ddZ.ddZ/ddZ0ddZ1ddZ2ddZ3d d!Z4d"d#Z5d$d%Z6d&d'Z7d(d)Z8d*d+Z9d,d-Z:d.d/Z;d0d1Zd6d7Z?d8d9Z@d:d;ZAdd?ZCd@dAZDdBdCZEdDdEZFdFdGZGdHdIZHdJdKZIdLdMZJdNdOZKdPdQZLdRdSZMdTdUZNdVdWZOdXdYZPdZd[ZQdS)]ModulePackageContainercCst|t||S)N)r-r)r'r)r*rrrr:szModulePackageContainer.cCs t|t|S)N)r/r)r'r)rrrr:sNc CsBtj||||}y|jj|Wntjk r<||_YnXdS)N)rZnew_ModulePackageContainerrrar2r3)r'ZallArchZ installRootZarchZ persistDirrrrrr= s zModulePackageContainer.__init__cCsdS)Nr)r'rrrr:scGstj|f|S)N)rZModulePackageContainer_add)r'r;rrraddszModulePackageContainer.addcCs tj|S)N)rZ*ModulePackageContainer_addDefaultsFromDisk)r'rrraddDefaultsFromDisksz*ModulePackageContainer.addDefaultsFromDiskcCs tj|S)N)rZ,ModulePackageContainer_moduleDefaultsResolve)r'rrrmoduleDefaultsResolvesz,ModulePackageContainer.moduleDefaultsResolvecGstj|f|S)N)rZ)ModulePackageContainer_addPlatformPackage)r'r;rrraddPlatformPackagesz)ModulePackageContainer.addPlatformPackagecCs tj|S)N)rZ4ModulePackageContainer_createConflictsBetweenStreams)r'rrrcreateConflictsBetweenStreams"sz4ModulePackageContainer.createConflictsBetweenStreamscCs tj|S)N)rZModulePackageContainer_empty)r'rrrrb%szModulePackageContainer.emptycCs tj||S)N)rZ'ModulePackageContainer_getModulePackage)r'idrrrgetModulePackage(sz'ModulePackageContainer.getModulePackagecCs tj|S)N)rZ(ModulePackageContainer_getModulePackages)r'rrrgetModulePackages+sz(ModulePackageContainer.getModulePackagescCstj|||S)N)rZ.ModulePackageContainer_getLatestModulesPerRepo)r'Z moduleFiltermodulePackagesrrrgetLatestModulesPerRepo.sz.ModulePackageContainer.getLatestModulesPerRepocCstj|||S)N)rZ'ModulePackageContainer_getLatestModules)r'rZ activeOnlyrrrgetLatestModules1sz'ModulePackageContainer.getLatestModulescCs tj||S)N)rZ/ModulePackageContainer_requiresModuleEnablement)r'ZpackagesrrrrequiresModuleEnablement4sz/ModulePackageContainer.requiresModuleEnablementcGstj|f|S)N)rZModulePackageContainer_enable)r'r;rrrenable7szModulePackageContainer.enablecGstj|f|S)N)rZModulePackageContainer_disable)r'r;rrrdisable:szModulePackageContainer.disablecGstj|f|S)N)rZModulePackageContainer_reset)r'r;rrrreset=szModulePackageContainer.resetcGstj|f|S)N)rZModulePackageContainer_install)r'r;rrrinstall@szModulePackageContainer.installcGstj|f|S)N)rZ ModulePackageContainer_uninstall)r'r;rrr uninstallCsz ModulePackageContainer.uninstallcCs tj|S)N)rZModulePackageContainer_save)r'rrrsaveFszModulePackageContainer.savecCs tj|S)N)rZModulePackageContainer_rollback)r'rrrrollbackIszModulePackageContainer.rollbackcCs tj|S)N)rZ ModulePackageContainer_isChanged)r'rrr isChangedLsz ModulePackageContainer.isChangedcGstj|f|S)N)rZ ModulePackageContainer_isEnabled)r'r;rrr isEnabledOsz ModulePackageContainer.isEnabledcGstj|f|S)N)rZ!ModulePackageContainer_isDisabled)r'r;rrr isDisabledRsz!ModulePackageContainer.isDisabledcCs tj||S)N)rZ%ModulePackageContainer_getModuleState)r'r)rrrgetModuleStateUsz%ModulePackageContainer.getModuleStatecCs tj|S)N)rZ+ModulePackageContainer_getInstalledPkgNames)r'rrrgetInstalledPkgNamesXsz+ModulePackageContainer.getInstalledPkgNamescCs tj|S)N)rZ ModulePackageContainer_getReport)r'rrr getReport[sz ModulePackageContainer.getReportcCstj|||S)N)rZ)ModulePackageContainer_getDefaultProfiles)r'Z moduleNameZ moduleStreamrrrgetDefaultProfiles^sz)ModulePackageContainer.getDefaultProfilescCs tj||S)N)rZ'ModulePackageContainer_getDefaultStream)r'r)rrrgetDefaultStreamasz'ModulePackageContainer.getDefaultStreamcCs tj||S)N)rZ'ModulePackageContainer_getEnabledStream)r'r)rrrgetEnabledStreamdsz'ModulePackageContainer.getEnabledStreamcCs tj|S)N)rZ(ModulePackageContainer_getEnabledStreams)r'rrrgetEnabledStreamsgsz(ModulePackageContainer.getEnabledStreamscCs tj|S)N)rZ)ModulePackageContainer_getDisabledModules)r'rrrgetDisabledModulesjsz)ModulePackageContainer.getDisabledModulescCs tj|S)N)rZ)ModulePackageContainer_getDisabledStreams)r'rrrgetDisabledStreamsmsz)ModulePackageContainer.getDisabledStreamscCs tj|S)N)rZ&ModulePackageContainer_getResetModules)r'rrrgetResetModulespsz&ModulePackageContainer.getResetModulescCs tj|S)N)rZ&ModulePackageContainer_getResetStreams)r'rrrgetResetStreamsssz&ModulePackageContainer.getResetStreamscCs tj|S)N)rZ)ModulePackageContainer_getSwitchedStreams)r'rrrgetSwitchedStreamsvsz)ModulePackageContainer.getSwitchedStreamscGstj|f|S)N)rZ+ModulePackageContainer_getInstalledProfiles)r'r;rrrgetInstalledProfilesysz+ModulePackageContainer.getInstalledProfilescCs tj|S)N)rZ)ModulePackageContainer_getRemovedProfiles)r'rrrgetRemovedProfiles|sz)ModulePackageContainer.getRemovedProfilescGstj|f|S)N)rZModulePackageContainer_query)r'r;rrrqueryszModulePackageContainer.querycCs tj||S)N)rZ+ModulePackageContainer_enableDependencyTree)r'rrrrenableDependencyTreesz+ModulePackageContainer.enableDependencyTreecCs tj||S)N)rZ2ModulePackageContainer_resolveActiveModulePackages)r'Z debugSolverrrrresolveActiveModulePackagessz2ModulePackageContainer.resolveActiveModulePackagescGstj|f|S)N)rZ%ModulePackageContainer_isModuleActive)r'r;rrrisModuleActivesz%ModulePackageContainer.isModuleActivecCs tj|S)N)rZ'ModulePackageContainer_loadFailSafeData)r'rrrloadFailSafeDatasz'ModulePackageContainer.loadFailSafeDatacCs tj|S)N)rZ)ModulePackageContainer_updateFailSafeData)r'rrrupdateFailSafeDatasz)ModulePackageContainer.updateFailSafeDatacCs tj|S)N)rZ%ModulePackageContainer_applyObsoletes)r'rrrapplyObsoletessz%ModulePackageContainer.applyObsoletes)N)Rrr5r8r!r%r.rPr6r1rZ*ModulePackageContainer_ModuleState_UNKNOWNZModuleState_UNKNOWNZ*ModulePackageContainer_ModuleState_ENABLEDZModuleState_ENABLEDZ+ModulePackageContainer_ModuleState_DISABLEDZModuleState_DISABLEDZ*ModulePackageContainer_ModuleState_DEFAULTZModuleState_DEFAULTZ,ModulePackageContainer_ModuleState_INSTALLEDZModuleState_INSTALLEDZ/ModulePackageContainer_ModuleErrorType_NO_ERRORZModuleErrorType_NO_ERRORZ+ModulePackageContainer_ModuleErrorType_INFOZModuleErrorType_INFOZ8ModulePackageContainer_ModuleErrorType_ERROR_IN_DEFAULTSZ!ModuleErrorType_ERROR_IN_DEFAULTSZ,ModulePackageContainer_ModuleErrorType_ERRORZModuleErrorType_ERRORZ=ModulePackageContainer_ModuleErrorType_CANNOT_RESOLVE_MODULESZ&ModuleErrorType_CANNOT_RESOLVE_MODULESZAModulePackageContainer_ModuleErrorType_CANNOT_RESOLVE_MODULE_SPECZ*ModuleErrorType_CANNOT_RESOLVE_MODULE_SPECZEModulePackageContainer_ModuleErrorType_CANNOT_ENABLE_MULTIPLE_STREAMSZ.ModuleErrorType_CANNOT_ENABLE_MULTIPLE_STREAMSZPModulePackageContainer_ModuleErrorType_CANNOT_MODIFY_MULTIPLE_TIMES_MODULE_STATEZ9ModuleErrorType_CANNOT_MODIFY_MULTIPLE_TIMES_MODULE_STATEr=Zdelete_ModulePackageContainerrQrRrrrrrrbrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs~ rc@s^eZdZiZddZiZddZeZddZ e j Z ddZ ddZd d Zd d Zd dZdS) ModuleProfilecCst|t||S)N)r-r)r'r)r*rrrr:szModuleProfile.cCs t|t|S)N)r/r)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_ModuleProfilerrar2r3)r'r;rrrrr=s  zModuleProfile.__init__cCsdS)Nr)r'rrrr:scCs tj|S)N)rZModuleProfile_getName)r'rrrrszModuleProfile.getNamecCs tj|S)N)rZModuleProfile_getDescription)r'rrrrszModuleProfile.getDescriptioncCs tj|S)N)rZModuleProfile_getContent)r'rrr getContentszModuleProfile.getContentcCs tj|S)N)rZModuleProfile_isDefault)r'rrr isDefaultszModuleProfile.isDefaultN)rr5r8r!r%r.rPr6r1r=rZdelete_ModuleProfilerQrRrrrrrrrrrsrc@sFeZdZiZddZiZddZeZddZ e j Z ddZ ddZd S) ModuleDependenciescCst|t||S)N)r-r)r'r)r*rrrr:szModuleDependencies.cCs t|t|S)N)r/r)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_ModuleDependenciesrrar2r3)r'r;rrrrr=s  zModuleDependencies.__init__cCsdS)Nr)r'rrrr:scCs tj|S)N)rZModuleDependencies_getRequires)r'rrrrszModuleDependencies.getRequiresN)rr5r8r!r%r.rPr6r1r=rZdelete_ModuleDependenciesrQrRrrrrrrsrc@seZdZiZddZiZddZeZddZ e j ed<e j ed<e rRee j e j Ze jed<e jed<e rxee je jZdd Zd d Zd d ZddZe jZddZdS)%PairVectorVectorStringModuleErrorTypecCst|t||S)N)r-r)r'r)r*rrrr:sz.PairVectorVectorStringModuleErrorType.cCs t|t|S)N)r/r)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ)new_PairVectorVectorStringModuleErrorTyperrar2r3)r'r;rrrrr=s  z.PairVectorVectorStringModuleErrorType.__init__firstsecondcCsdS)Nrr)r'rrrrWsz-PairVectorVectorStringModuleErrorType.__len__cCst|j|jfS)N)rzrr)r'rrrr1sz.PairVectorVectorStringModuleErrorType.__repr__cCs|ds|jS|jSdS)Nr)rr)r'rrrrr^sz1PairVectorVectorStringModuleErrorType.__getitem__cCs|ds||_n||_dS)Nr)rr)r'rvalrrrr_sz1PairVectorVectorStringModuleErrorType.__setitem__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rZ/PairVectorVectorStringModuleErrorType_first_setZ/PairVectorVectorStringModuleErrorType_first_getr#_swig_propertyrZ0PairVectorVectorStringModuleErrorType_second_setZ0PairVectorVectorStringModuleErrorType_second_getrrWr^r_Z,delete_PairVectorVectorStringModuleErrorTyperQrRrrrrrs(    r)rrr)rrr)r)[sysrZ_swig_python_version_inforrpropertyr NameErrorbuiltinsr2r r,r-r/r6r$r7r#r3r9ZSwigPyIterator_swigregisterZlibdnf.common_typesZlibdnfrSZ#VectorModulePackagePtr_swigregisterrvZ/VectorVectorVectorModulePackagePtr_swigregisterrwZ VectorModuleProfile_swigregisterrxZ%VectorModuleDependencies_swigregisterryZVectorString_swigregisterr|__str__r~rIrrJr__lt__r__le__r__gt__r__ge__rrKr__imul__r__mul__r__rmul__rrMrrarrDrrrrrrrrsrrrrrrrZ"MapStringVectorString_swigregisterrZ(VectorMapStringVectorString_swigregisterrZVectorVectorString_swigregisterrZModulePackage_swigregisterrZ#ModulePackageContainer_swigregisterrZModuleProfile_swigregisterrZModuleDependencies_swigregisterrZ2PairVectorVectorStringModuleErrorType_swigregisterrrrrs     =nnnnnpnn\%PKhee['&sggtransaction.cpython-36.pycnu[3 ft`-@sddlmZddlmZddlZddlmZmZejj Z ejj Z ejj ZejjZejjZejjZejjZejjZejjZejjZeZdZdZdZ dZ!d Z"ejj ejj ejjejjejjgZ#ejj ejjejjejjgZ$e ed d e ed eed d eedeedeed deed eedeed deed eed eede ede!ediZ%e de dededededededededed ede de!diZ&dS) )absolute_import)unicode_literalsN)_C_efgZ currentlyZ DowngradingZCleanupZ InstallingZ ObsoletingZ ReinstallingZErasingZ UpgradingZ VerifyingzRunning scriptletZ PreparingZ DowngradeZ DowngradedZ InstalledZObsoleteZ ObsoletedZ ReinstallZ ReinstalledZEraseZUpgradeZUpgradedZVerified)'Z __future__rrZlibdnf.transactionZlibdnfZdnf.i18nrrZ transactionZTransactionItemAction_DOWNGRADEZ PKG_DOWNGRADEZ TransactionItemAction_DOWNGRADEDZPKG_DOWNGRADEDZTransactionItemAction_INSTALLZ PKG_INSTALLZTransactionItemAction_OBSOLETEZ PKG_OBSOLETEZTransactionItemAction_OBSOLETEDZ PKG_OBSOLETEDZTransactionItemAction_REINSTALLZ PKG_REINSTALLZ!TransactionItemAction_REINSTALLEDZPKG_REINSTALLEDZTransactionItemAction_REMOVEZ PKG_REMOVEZTransactionItemAction_UPGRADEZ PKG_UPGRADEZTransactionItemAction_UPGRADEDZ PKG_UPGRADEDZ PKG_ERASEZ PKG_CLEANUPZ PKG_VERIFYZ PKG_SCRIPTLETZTRANS_PREPARATIONZ TRANS_POSTZFORWARD_ACTIONSZBACKWARD_ACTIONSZACTIONSZ FILE_ACTIONSr r !/usr/lib/python3.6/transaction.pysp         PKhee[[;,2V2Vsmartcols.cpython-36.pycnu[3 љg<;@sddlmZed kr&ddZeZ[n"ed!kr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXd"d d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXejZGdddeZejZeeddZejZddZejZGdddeZejZeeGdddeZejZeeGdddeZejZeedS)#) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr. _smartcols) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer!/usr/lib64/python3.6/smartcols.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7c@seZdZiZddZiZddZeZe j Z e j Z e jZddZe jZddZddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Z d!d"Z!d#d$Z"d%d&Z#d'd(Z$d)d*Z%d+d,Z&d-d.Z'd/d0Z(d1d2Z)d3d4Z*d5d6Z+d7d8Z,d9d:Z-d;d<Z.d=d>Z/d?d@Z0dAdBZ1dCdDZ2dEdFZ3dGdHZ4dIdJZ5dKdLZ6dMdNZ7dOdPZ8dQdRZ9dSdTZ:dUdVZ;dWdXZd]d^Z?dyd`daZ@dbdcZAdddeZBdfdgZCdhdiZDdjdkZEdldmZFdndoZGdpdqZHdrdsZIdtduZJdvdwZKdxS)zTablecCst|t||S)N)r-r9)r'r)r*rrreszTable.cCs t|t|S)N)r/r9)r'r)rrrr:gsc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ new_Tablerappendr2r3)r'argsrrrr__init__ms  zTable.__init__cCsdS)Nr)r'rrrr:tscCs tj||S)N)rZ Table_setName)r'r)rrrsetNamevsz Table.setNamecCs tj||S)N)rZTable_setColumnSeparator)r' separatorrrrsetColumnSeparatoryszTable.setColumnSeparatorcCs tj||S)N)rZTable_setLineSeparator)r'r?rrrsetLineSeparator|szTable.setLineSeparatorcCs tj||S)N)rZTable_setSymbols)r'Zsymbolsrrr setSymbolsszTable.setSymbolscCs tj|S)N)rZTable_setDefaultSymbols)r'rrrsetDefaultSymbolsszTable.setDefaultSymbolscCs tj||S)N)rZTable_setStream)r'streamrrr setStreamszTable.setStreamcCs tj||S)N)rZTable_setTermforce)r'forcerrr setTermforceszTable.setTermforcecCs tj||S)N)rZTable_setTermwidth)r'widthrrr setTermwidthszTable.setTermwidthcCs tj|S)N)rZ Table_getName)r'rrrgetNamesz Table.getNamecCs tj|S)N)rZTable_getColumnSeparator)r'rrrgetColumnSeparatorszTable.getColumnSeparatorcCs tj|S)N)rZTable_getLineSeparator)r'rrrgetLineSeparatorszTable.getLineSeparatorcCs tj|S)N)rZTable_getNumberOfColumns)r'rrrgetNumberOfColumnsszTable.getNumberOfColumnscCs tj|S)N)rZTable_getNumberOfLines)r'rrrgetNumberOfLinesszTable.getNumberOfLinescCs tj|S)N)rZTable_getTitle)r'rrrgetTitleszTable.getTitlecCs tj||S)N)rZTable_getColumn)r'nrrr getColumnszTable.getColumncCs tj||S)N)rZ Table_getLine)r'rPrrrgetLinesz Table.getLinecCs tj|S)N)rZTable_getTermforce)r'rrr getTermforceszTable.getTermforcecCs tj|S)N)rZTable_getSymbols)r'rrr getSymbolsszTable.getSymbolscCs tj|S)N)rZTable_getTermwidth)r'rrr getTermwidthszTable.getTermwidthcCs tj|S)N)rZTable_getStream)r'rrr getStreamszTable.getStreamcCs tj|S)N)rZTable_isColorsEnabled)r'rrrisColorsEnabledszTable.isColorsEnabledcCs tj|S)N)rZ Table_isRaw)r'rrrisRawsz Table.isRawcCs tj|S)N)rZ Table_isAscii)r'rrrisAsciisz Table.isAsciicCs tj|S)N)rZ Table_isJson)r'rrrisJsonsz Table.isJsoncCs tj|S)N)rZTable_isNoheadings)r'rrr isNoheadingsszTable.isNoheadingscCs tj|S)N)rZ Table_isEmpty)r'rrrisEmptysz Table.isEmptycCs tj|S)N)rZTable_isExport)r'rrrisExportszTable.isExportcCs tj|S)N)rZTable_isMaxout)r'rrrisMaxoutszTable.isMaxoutcCs tj|S)N)rZTable_isNowrap)r'rrrisNowrapszTable.isNowrapcCs tj|S)N)rZTable_isNoLineSeparator)r'rrrisNoLineSeparatorszTable.isNoLineSeparatorcCs tj|S)N)rZ Table_isTree)r'rrrisTreesz Table.isTreecCs tj||S)N)rZTable_enableColors)r'enablerrr enableColorsszTable.enableColorscCs tj||S)N)rZTable_enableRaw)r'rbrrr enableRawszTable.enableRawcCs tj||S)N)rZTable_enableAscii)r'rbrrr enableAsciiszTable.enableAsciicCs tj||S)N)rZTable_enableJson)r'rbrrr enableJsonszTable.enableJsoncCs tj||S)N)rZTable_enableNoheadings)r'rbrrrenableNoheadingsszTable.enableNoheadingscCs tj||S)N)rZTable_enableExport)r'rbrrr enableExportszTable.enableExportcCs tj||S)N)rZTable_enableMaxout)r'rbrrr enableMaxoutszTable.enableMaxoutcCs tj||S)N)rZTable_enableNowrap)r'rbrrr enableNowrapszTable.enableNowrapcCs tj||S)N)rZTable_enableNolinesep)r'rbrrrenableNolinesepszTable.enableNolinesepcCs tj||S)N)rZTable_addColumn)r'columnrrr addColumnszTable.addColumncCs tj||S)N)rZTable_removeColumn)r'rlrrr removeColumnszTable.removeColumncCs tj|S)N)rZTable_removeColumns)r'rrr removeColumnsszTable.removeColumnscCstj|||S)N)rZTable_moveColumn)r'ZbeforeZtoMoverrr moveColumnszTable.moveColumnrcCstj||||S)N)rZTable_newColumn)r'r)Z widthHintflagsrrr newColumnszTable.newColumncCs tj||S)N)rZTable_nextColumn)r'iteratorrrr nextColumnszTable.nextColumncCs tj||S)N)rZ Table_addLine)r'linerrraddLinesz Table.addLinecCs tj||S)N)rZTable_removeLine)r'rurrr removeLineszTable.removeLinecCs tj|S)N)rZTable_removeLines)r'rrr removeLinesszTable.removeLinescGstj|f|S)N)rZ Table_newLine)r'r<rrrnewLine sz Table.newLinecCs tj||S)N)rZTable_nextLine)r'rsrrrnextLine szTable.nextLinecCs tj||S)N)rZTable_reduceTermwidth)r'reducerrrreduceTermwidthszTable.reduceTermwidthcCs tj||S)N)rZ Table_sort)r'rlrrrsortsz Table.sortcCs tj|S)N)rZTable_sortByTree)r'rrr sortByTreeszTable.sortByTreecGstj|f|S)N)rZ Table__print)r'r<rrr_printsz Table._printcGstj|f|S)N)rZTable_toString)r'r<rrrtoStringszTable.toStringN)rr)Lrr5r8r!r%r. __getattr__r6r1rZTable_TermForce_AUTOZTermForce_AUTOZTable_TermForce_NEVERZTermForce_NEVERZTable_TermForce_ALWAYSZTermForce_ALWAYSr=Z delete_Table__swig_destroy____del__r>r@rArBrCrErGrIrJrKrLrMrNrOrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarcrdrerfrgrhrirjrkrmrnrorprrrtrvrwrxryrzr|r}r~rrrrrrr9cs r9cCstj|||S)N)rwrapNewlineChunksize)rldatauserdatarrrr!srcCstj|||S)N)rwrapNewlineNextchunk)rlrrrrrr%src@seZdZiZddZiZddZeZddZ e j Z ddZ ddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Z d-d.Z!d/d0Z"d1d2Z#d3S)4ColumncCst|t||S)N)r-r)r'r)r*rrrr:*szColumn.cCs t|t|S)N)r/r)r'r)rrrr:,sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ new_Columnrr;r2r3)r'r<rrrrr=/s  zColumn.__init__cCsdS)Nr)r'rrrr:6scCs tj|S)N)rZ Column_isTree)r'rrrra8sz Column.isTreecCs tj|S)N)rZColumn_isTrunc)r'rrrisTrunc;szColumn.isTrunccCs tj|S)N)rZColumn_isRight)r'rrrisRight>szColumn.isRightcCs tj|S)N)rZColumn_isStrictWidth)r'rrr isStrictWidthAszColumn.isStrictWidthcCs tj|S)N)rZColumn_isHidden)r'rrrisHiddenDszColumn.isHiddencCs tj|S)N)rZColumn_isNoextremes)r'rrr isNoextremesGszColumn.isNoextremescCs tj|S)N)rZ Column_isWrap)r'rrrisWrapJsz Column.isWrapcCs tj|S)N)rZColumn_isCustomwrap)r'rrr isCustomwrapMszColumn.isCustomwrapcCs tj|S)N)rZColumn_getFlags)r'rrrgetFlagsPszColumn.getFlagscCs tj|S)N)rZColumn_getWidthHint)r'rrr getWidthHintSszColumn.getWidthHintcCs tj|S)N)rZColumn_getWidth)r'rrrgetWidthVszColumn.getWidthcCs tj|S)N)rZColumn_getSafechars)r'rrr getSafecharsYszColumn.getSafecharscCs tj|S)N)rZColumn_getColor)r'rrrgetColor\szColumn.getColorcCs tj|S)N)rZColumn_getHeader)r'rrr getHeader_szColumn.getHeadercCs tj||S)N)rZColumn_setWrap)r'rbrrrsetWrapbszColumn.setWrapcCs tj||S)N)rZColumn_setColor)r'colorrrrsetColoreszColumn.setColorcCs tj||S)N)rZColumn_setFlags)r'rqrrrsetFlagshszColumn.setFlagscCs tj||S)N)rZColumn_setSafechars)r'Zsaferrr setSafecharskszColumn.setSafecharscCs tj||S)N)rZColumn_setWidthHint)r'Zhintrrr setWidthHintnszColumn.setWidthHintcCstj|||S)N)rZColumn_setCompareFunction)r'ZfunctionrrrrsetCompareFunctionqszColumn.setCompareFunctioncCstj||||S)N)rZColumn_setWrapFunction)r'Z wrapChunksizeZ wrapNextchunkrrrrsetWrapFunctiontszColumn.setWrapFunctioncCs tj|S)N)rZColumn_setNewlineWrapFunction)r'rrrsetNewlineWrapFunctionwszColumn.setNewlineWrapFunctionN)$rr5r8r!r%r.rr6r1r=rZ delete_Columnrrrarrrrrrrrrrrrrrrrrrrrrrrrrr(s<rc@seZdZiZddZiZddZeZddZ e j Z ddZ ddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Z d-S).LinecCst|t||S)N)r-r)r'r)r*rrrr:~sz Line.cCs t|t|S)N)r/r)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_Linerr;r2r3)r'r<rrrrr=s  z Line.__init__cCsdS)Nr)r'rrrr:scCs tj||S)N)rZLine_allocCells)r'rPrrr allocCellsszLine.allocCellscCs tj|S)N)rZLine_freeCells)r'rrr freeCellsszLine.freeCellscCs tj||S)N)rZ Line_addChild)r'childrrraddChildsz Line.addChildcCs tj||S)N)rZLine_removeChild)r'rrrr removeChildszLine.removeChildcCs tj||S)N)rZLine_nextChild)r'iterrrr nextChildszLine.nextChildcCstj|||S)N)rZLine_referData)r'rPrrrr referDataszLine.referDatacCstj|||S)N)rZLine_referColumnData)r'rlrrrrreferColumnDataszLine.referColumnDatacCs tj|S)N)rZLine_hasChildren)r'rrr hasChildrenszLine.hasChildrencCs tj||S)N)rZLine_isAncestor)r'parentrrr isAncestorszLine.isAncestorcCs tj|S)N)rZLine_getCellCount)r'rrr getCellCountszLine.getCellCountcCs tj|S)N)rZ Line_getColor)r'rrrrsz Line.getColorcCs tj||S)N)rZ Line_getCell)r'rPrrrgetCellsz Line.getCellcGstj|f|S)N)rZLine_getColumnCell)r'r<rrr getColumnCellszLine.getColumnCellcCs tj|S)N)rZLine_getParent)r'rrr getParentszLine.getParentcCs tj|S)N)rZLine_getUserdata)r'rrr getUserdataszLine.getUserdatacCs tj||S)N)rZLine_setUserdata)r'rrrr setUserdataszLine.setUserdatacCs tj||S)N)rZ Line_setColor)r'rrrrrsz Line.setColorcCstj|||S)N)rZ Line_setData)r'rPrrrrsetDatasz Line.setDatacGstj|f|S)N)rZLine_setColumnData)r'r<rrr setColumnDataszLine.setColumnDataN)!rr5r8r!r%r.rr6r1r=rZ delete_Linerrrrrrrrrrrrrrrrrrrrrrrrrr|s6rc@seZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZejZddZdS)CellcCst|t||S)N)r-r)r'r)r*rrrr:sz Cell.cCs t|t|S)N)r/r)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_Cellrr;r2r3)r'cellrrrrr=s  z Cell.__init__cCs tj|S)N)rZ Cell_reset)r'rrrresetsz Cell.resetcCs tj|S)N)rZ Cell_getFlags)r'rrrrsz Cell.getFlagscCs tj|S)N)rZCell_getAlignment)r'rrr getAlignmentszCell.getAlignmentcCs tj|S)N)rZ Cell_getData)r'rrrgetDatasz Cell.getDatacCs tj|S)N)rZ Cell_getColor)r'rrrrsz Cell.getColorcCs tj|S)N)rZCell_getUserdata)r'rrrrszCell.getUserdatacCs tj||S)N)rZ Cell_setData)r'rrrrrsz Cell.setDatacCs tj||S)N)rZ Cell_setColor)r'rrrrrsz Cell.setColorcCs tj||S)N)rZ Cell_setFlags)r'rqrrrrsz Cell.setFlagscCs tj||S)N)rZCell_setUserdata)r'rrrrrszCell.setUserdatacCs tj||S)N)rZ Cell___eq__)r'rrrr__eq__sz Cell.__eq__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rr6r1r=rrrrrrrrrrrrZ delete_Cellrrrrrrrs&r)rrr)rrr)r)sysrZ_swig_python_version_inforrpropertyZ_swig_property NameErrorbuiltinsr2r r,r-r/r6r$r7r#r3ZSHARED_PTR_DISOWNr9ZTable_swigregisterrrrZColumn_swigregisterrZLine_swigregisterrZCell_swigregisterrrrrs\     ;QH0PKhee[,JM66module.cpython-36.opt-1.pycnu[3 љg@sddlmZedZkr&ddZeZ[n"ed[kr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXd\d d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXGdddeZejZeeddlZGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZej Z e ed d!Z!e!e_"d"d#Z#e#e_$d$d%Z%e%e_&d&d'Z'e'e_(d(d)Z)e)e_*d*d+Z+e+e_,d,d-Z-e-e_.d.d/Z/e/e_0d0d1Z1e1e_2d2d3Z3e3e_4d4d5Z5e5e_6d6d7Z7e7e_8d8d9Z9e9e_:d:d;Z;e;e_d>d?Z?e?e_@d@dAZAeAe_BdBdCZCeCe_DdDdEZEeEe_FdFdGZGeGe_HdHdIZIeIe_JGdJdKdKeZKejLZLeLeKGdLdMdMeZMejNZNeNeMGdNdOdOeZOejPZPePeOGdPdQdQeZQejRZReReQGdRdSdSeZSejTZTeTeSGdTdUdUeZUejVZVeVeUGdVdWdWeZWejXZXeXeWGdXdYdYeZYejZZZeZeYdS)]) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr._module) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer/usr/lib64/python3.6/module.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7c@seZdZiZddZiZddZddZeZ e j Z ddZ ddZd+d d Zd,d d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*S)-SwigPyIteratorcCst|t||S)N)r-r9)r'r)r*rrrdszSwigPyIterator.cCs t|t|S)N)r/r9)r'r)rrrr:fscOs tddS)Nz*No constructor defined - class is abstract)r&)r'argskwargsrrr__init__hszSwigPyIterator.__init__cCsdS)Nr)r'rrrr:lscCs tj|S)N)rZSwigPyIterator_value)r'rrrr*nszSwigPyIterator.valuercCs tj||S)N)rZSwigPyIterator_incr)r'nrrrincrqszSwigPyIterator.incrcCs tj||S)N)rZSwigPyIterator_decr)r'r>rrrdecrtszSwigPyIterator.decrcCs tj||S)N)rZSwigPyIterator_distance)r'xrrrdistancewszSwigPyIterator.distancecCs tj||S)N)rZSwigPyIterator_equal)r'rArrrequalzszSwigPyIterator.equalcCs tj|S)N)rZSwigPyIterator_copy)r'rrrcopy}szSwigPyIterator.copycCs tj|S)N)rZSwigPyIterator_next)r'rrrnextszSwigPyIterator.nextcCs tj|S)N)rZSwigPyIterator___next__)r'rrr__next__szSwigPyIterator.__next__cCs tj|S)N)rZSwigPyIterator_previous)r'rrrpreviousszSwigPyIterator.previouscCs tj||S)N)rZSwigPyIterator_advance)r'r>rrradvanceszSwigPyIterator.advancecCs tj||S)N)rZSwigPyIterator___eq__)r'rArrr__eq__szSwigPyIterator.__eq__cCs tj||S)N)rZSwigPyIterator___ne__)r'rArrr__ne__szSwigPyIterator.__ne__cCs tj||S)N)rZSwigPyIterator___iadd__)r'r>rrr__iadd__szSwigPyIterator.__iadd__cCs tj||S)N)rZSwigPyIterator___isub__)r'r>rrr__isub__szSwigPyIterator.__isub__cCs tj||S)N)rZSwigPyIterator___add__)r'r>rrr__add__szSwigPyIterator.__add__cGstj|f|S)N)rZSwigPyIterator___sub__)r'r;rrr__sub__szSwigPyIterator.__sub__cCs|S)Nr)r'rrr__iter__szSwigPyIterator.__iter__N)r)r)rr5r8r!r%r. __getattr__r=r6r1rZdelete_SwigPyIterator__swig_destroy____del__r*r?r@rBrCrDrErFrGrHrIrJrKrLrMrNrOrrrrr9bs2  r9c@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorModulePackagePtrcCst|t||S)N)r-rS)r'r)r*rrrr:szVectorModulePackagePtr.cCs t|t|S)N)r/rS)r'r)rrrr:scCs tj|S)N)rZVectorModulePackagePtr_iterator)r'rrriteratorszVectorModulePackagePtr.iteratorcCs|jS)N)rT)r'rrrrOszVectorModulePackagePtr.__iter__cCs tj|S)N)rZ"VectorModulePackagePtr___nonzero__)r'rrr __nonzero__sz"VectorModulePackagePtr.__nonzero__cCs tj|S)N)rZVectorModulePackagePtr___bool__)r'rrr__bool__szVectorModulePackagePtr.__bool__cCs tj|S)N)rZVectorModulePackagePtr___len__)r'rrr__len__szVectorModulePackagePtr.__len__cCstj|||S)N)rZ#VectorModulePackagePtr___getslice__)r'ijrrr __getslice__sz#VectorModulePackagePtr.__getslice__cGstj|f|S)N)rZ#VectorModulePackagePtr___setslice__)r'r;rrr __setslice__sz#VectorModulePackagePtr.__setslice__cCstj|||S)N)rZ#VectorModulePackagePtr___delslice__)r'rXrYrrr __delslice__sz#VectorModulePackagePtr.__delslice__cGstj|f|S)N)rZ"VectorModulePackagePtr___delitem__)r'r;rrr __delitem__sz"VectorModulePackagePtr.__delitem__cGstj|f|S)N)rZ"VectorModulePackagePtr___getitem__)r'r;rrr __getitem__sz"VectorModulePackagePtr.__getitem__cGstj|f|S)N)rZ"VectorModulePackagePtr___setitem__)r'r;rrr __setitem__sz"VectorModulePackagePtr.__setitem__cCs tj|S)N)rZVectorModulePackagePtr_pop)r'rrrpopszVectorModulePackagePtr.popcCs tj||S)N)rZVectorModulePackagePtr_append)r'rArrrappendszVectorModulePackagePtr.appendcCs tj|S)N)rZVectorModulePackagePtr_empty)r'rrremptyszVectorModulePackagePtr.emptycCs tj|S)N)rZVectorModulePackagePtr_size)r'rrrsizeszVectorModulePackagePtr.sizecCs tj||S)N)rZVectorModulePackagePtr_swap)r'vrrrswapszVectorModulePackagePtr.swapcCs tj|S)N)rZVectorModulePackagePtr_begin)r'rrrbeginszVectorModulePackagePtr.begincCs tj|S)N)rZVectorModulePackagePtr_end)r'rrrendszVectorModulePackagePtr.endcCs tj|S)N)rZVectorModulePackagePtr_rbegin)r'rrrrbeginszVectorModulePackagePtr.rbegincCs tj|S)N)rZVectorModulePackagePtr_rend)r'rrrrendszVectorModulePackagePtr.rendcCs tj|S)N)rZVectorModulePackagePtr_clear)r'rrrclearszVectorModulePackagePtr.clearcCs tj|S)N)rZ$VectorModulePackagePtr_get_allocator)r'rrr get_allocatorsz$VectorModulePackagePtr.get_allocatorcCs tj|S)N)rZVectorModulePackagePtr_pop_back)r'rrrpop_backszVectorModulePackagePtr.pop_backcGstj|f|S)N)rZVectorModulePackagePtr_erase)r'r;rrreraseszVectorModulePackagePtr.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorModulePackagePtrrrar2r3)r'r;rrrrr=s  zVectorModulePackagePtr.__init__cCs tj||S)N)rZ VectorModulePackagePtr_push_back)r'rArrr push_backsz VectorModulePackagePtr.push_backcCs tj|S)N)rZVectorModulePackagePtr_front)r'rrrfrontszVectorModulePackagePtr.frontcCs tj|S)N)rZVectorModulePackagePtr_back)r'rrrbackszVectorModulePackagePtr.backcCstj|||S)N)rZVectorModulePackagePtr_assign)r'r>rArrrassignszVectorModulePackagePtr.assigncGstj|f|S)N)rZVectorModulePackagePtr_resize)r'r;rrrresizeszVectorModulePackagePtr.resizecGstj|f|S)N)rZVectorModulePackagePtr_insert)r'r;rrrinsertszVectorModulePackagePtr.insertcCs tj||S)N)rZVectorModulePackagePtr_reserve)r'r>rrrreserve szVectorModulePackagePtr.reservecCs tj|S)N)rZVectorModulePackagePtr_capacity)r'rrrcapacity szVectorModulePackagePtr.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorModulePackagePtrrQrRrrrrrSsPrSc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)H"VectorVectorVectorModulePackagePtrcCst|t||S)N)r-rv)r'r)r*rrrr:sz+VectorVectorVectorModulePackagePtr.cCs t|t|S)N)r/rv)r'r)rrrr:scCs tj|S)N)rZ+VectorVectorVectorModulePackagePtr_iterator)r'rrrrTsz+VectorVectorVectorModulePackagePtr.iteratorcCs|jS)N)rT)r'rrrrOsz+VectorVectorVectorModulePackagePtr.__iter__cCs tj|S)N)rZ.VectorVectorVectorModulePackagePtr___nonzero__)r'rrrrU sz.VectorVectorVectorModulePackagePtr.__nonzero__cCs tj|S)N)rZ+VectorVectorVectorModulePackagePtr___bool__)r'rrrrV#sz+VectorVectorVectorModulePackagePtr.__bool__cCs tj|S)N)rZ*VectorVectorVectorModulePackagePtr___len__)r'rrrrW&sz*VectorVectorVectorModulePackagePtr.__len__cCstj|||S)N)rZ/VectorVectorVectorModulePackagePtr___getslice__)r'rXrYrrrrZ)sz/VectorVectorVectorModulePackagePtr.__getslice__cGstj|f|S)N)rZ/VectorVectorVectorModulePackagePtr___setslice__)r'r;rrrr[,sz/VectorVectorVectorModulePackagePtr.__setslice__cCstj|||S)N)rZ/VectorVectorVectorModulePackagePtr___delslice__)r'rXrYrrrr\/sz/VectorVectorVectorModulePackagePtr.__delslice__cGstj|f|S)N)rZ.VectorVectorVectorModulePackagePtr___delitem__)r'r;rrrr]2sz.VectorVectorVectorModulePackagePtr.__delitem__cGstj|f|S)N)rZ.VectorVectorVectorModulePackagePtr___getitem__)r'r;rrrr^5sz.VectorVectorVectorModulePackagePtr.__getitem__cGstj|f|S)N)rZ.VectorVectorVectorModulePackagePtr___setitem__)r'r;rrrr_8sz.VectorVectorVectorModulePackagePtr.__setitem__cCs tj|S)N)rZ&VectorVectorVectorModulePackagePtr_pop)r'rrrr`;sz&VectorVectorVectorModulePackagePtr.popcCs tj||S)N)rZ)VectorVectorVectorModulePackagePtr_append)r'rArrrra>sz)VectorVectorVectorModulePackagePtr.appendcCs tj|S)N)rZ(VectorVectorVectorModulePackagePtr_empty)r'rrrrbAsz(VectorVectorVectorModulePackagePtr.emptycCs tj|S)N)rZ'VectorVectorVectorModulePackagePtr_size)r'rrrrcDsz'VectorVectorVectorModulePackagePtr.sizecCs tj||S)N)rZ'VectorVectorVectorModulePackagePtr_swap)r'rdrrrreGsz'VectorVectorVectorModulePackagePtr.swapcCs tj|S)N)rZ(VectorVectorVectorModulePackagePtr_begin)r'rrrrfJsz(VectorVectorVectorModulePackagePtr.begincCs tj|S)N)rZ&VectorVectorVectorModulePackagePtr_end)r'rrrrgMsz&VectorVectorVectorModulePackagePtr.endcCs tj|S)N)rZ)VectorVectorVectorModulePackagePtr_rbegin)r'rrrrhPsz)VectorVectorVectorModulePackagePtr.rbegincCs tj|S)N)rZ'VectorVectorVectorModulePackagePtr_rend)r'rrrriSsz'VectorVectorVectorModulePackagePtr.rendcCs tj|S)N)rZ(VectorVectorVectorModulePackagePtr_clear)r'rrrrjVsz(VectorVectorVectorModulePackagePtr.clearcCs tj|S)N)rZ0VectorVectorVectorModulePackagePtr_get_allocator)r'rrrrkYsz0VectorVectorVectorModulePackagePtr.get_allocatorcCs tj|S)N)rZ+VectorVectorVectorModulePackagePtr_pop_back)r'rrrrl\sz+VectorVectorVectorModulePackagePtr.pop_backcGstj|f|S)N)rZ(VectorVectorVectorModulePackagePtr_erase)r'r;rrrrm_sz(VectorVectorVectorModulePackagePtr.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ&new_VectorVectorVectorModulePackagePtrrrar2r3)r'r;rrrrr=bs  z+VectorVectorVectorModulePackagePtr.__init__cCs tj||S)N)rZ,VectorVectorVectorModulePackagePtr_push_back)r'rArrrrnisz,VectorVectorVectorModulePackagePtr.push_backcCs tj|S)N)rZ(VectorVectorVectorModulePackagePtr_front)r'rrrrolsz(VectorVectorVectorModulePackagePtr.frontcCs tj|S)N)rZ'VectorVectorVectorModulePackagePtr_back)r'rrrrposz'VectorVectorVectorModulePackagePtr.backcCstj|||S)N)rZ)VectorVectorVectorModulePackagePtr_assign)r'r>rArrrrqrsz)VectorVectorVectorModulePackagePtr.assigncGstj|f|S)N)rZ)VectorVectorVectorModulePackagePtr_resize)r'r;rrrrrusz)VectorVectorVectorModulePackagePtr.resizecGstj|f|S)N)rZ)VectorVectorVectorModulePackagePtr_insert)r'r;rrrrsxsz)VectorVectorVectorModulePackagePtr.insertcCs tj||S)N)rZ*VectorVectorVectorModulePackagePtr_reserve)r'r>rrrrt{sz*VectorVectorVectorModulePackagePtr.reservecCs tj|S)N)rZ+VectorVectorVectorModulePackagePtr_capacity)r'rrrru~sz+VectorVectorVectorModulePackagePtr.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZ)delete_VectorVectorVectorModulePackagePtrrQrRrrrrrvsPrvc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorModuleProfilecCst|t||S)N)r-rw)r'r)r*rrrr:szVectorModuleProfile.cCs t|t|S)N)r/rw)r'r)rrrr:scCs tj|S)N)rZVectorModuleProfile_iterator)r'rrrrTszVectorModuleProfile.iteratorcCs|jS)N)rT)r'rrrrOszVectorModuleProfile.__iter__cCs tj|S)N)rZVectorModuleProfile___nonzero__)r'rrrrUszVectorModuleProfile.__nonzero__cCs tj|S)N)rZVectorModuleProfile___bool__)r'rrrrVszVectorModuleProfile.__bool__cCs tj|S)N)rZVectorModuleProfile___len__)r'rrrrWszVectorModuleProfile.__len__cCstj|||S)N)rZ VectorModuleProfile___getslice__)r'rXrYrrrrZsz VectorModuleProfile.__getslice__cGstj|f|S)N)rZ VectorModuleProfile___setslice__)r'r;rrrr[sz VectorModuleProfile.__setslice__cCstj|||S)N)rZ VectorModuleProfile___delslice__)r'rXrYrrrr\sz VectorModuleProfile.__delslice__cGstj|f|S)N)rZVectorModuleProfile___delitem__)r'r;rrrr]szVectorModuleProfile.__delitem__cGstj|f|S)N)rZVectorModuleProfile___getitem__)r'r;rrrr^szVectorModuleProfile.__getitem__cGstj|f|S)N)rZVectorModuleProfile___setitem__)r'r;rrrr_szVectorModuleProfile.__setitem__cCs tj|S)N)rZVectorModuleProfile_pop)r'rrrr`szVectorModuleProfile.popcCs tj||S)N)rZVectorModuleProfile_append)r'rArrrraszVectorModuleProfile.appendcCs tj|S)N)rZVectorModuleProfile_empty)r'rrrrbszVectorModuleProfile.emptycCs tj|S)N)rZVectorModuleProfile_size)r'rrrrcszVectorModuleProfile.sizecCs tj||S)N)rZVectorModuleProfile_swap)r'rdrrrreszVectorModuleProfile.swapcCs tj|S)N)rZVectorModuleProfile_begin)r'rrrrfszVectorModuleProfile.begincCs tj|S)N)rZVectorModuleProfile_end)r'rrrrgszVectorModuleProfile.endcCs tj|S)N)rZVectorModuleProfile_rbegin)r'rrrrhszVectorModuleProfile.rbegincCs tj|S)N)rZVectorModuleProfile_rend)r'rrrriszVectorModuleProfile.rendcCs tj|S)N)rZVectorModuleProfile_clear)r'rrrrjszVectorModuleProfile.clearcCs tj|S)N)rZ!VectorModuleProfile_get_allocator)r'rrrrksz!VectorModuleProfile.get_allocatorcCs tj|S)N)rZVectorModuleProfile_pop_back)r'rrrrlszVectorModuleProfile.pop_backcGstj|f|S)N)rZVectorModuleProfile_erase)r'r;rrrrmszVectorModuleProfile.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorModuleProfilerrar2r3)r'r;rrrrr=s  zVectorModuleProfile.__init__cCs tj||S)N)rZVectorModuleProfile_push_back)r'rArrrrnszVectorModuleProfile.push_backcCs tj|S)N)rZVectorModuleProfile_front)r'rrrroszVectorModuleProfile.frontcCs tj|S)N)rZVectorModuleProfile_back)r'rrrrpszVectorModuleProfile.backcCstj|||S)N)rZVectorModuleProfile_assign)r'r>rArrrrqszVectorModuleProfile.assigncGstj|f|S)N)rZVectorModuleProfile_resize)r'r;rrrrrszVectorModuleProfile.resizecGstj|f|S)N)rZVectorModuleProfile_insert)r'r;rrrrsszVectorModuleProfile.insertcCs tj||S)N)rZVectorModuleProfile_reserve)r'r>rrrrtszVectorModuleProfile.reservecCs tj|S)N)rZVectorModuleProfile_capacity)r'rrrruszVectorModuleProfile.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorModuleProfilerQrRrrrrrwsPrwc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorModuleDependenciescCst|t||S)N)r-rx)r'r)r*rrrr:sz!VectorModuleDependencies.cCs t|t|S)N)r/rx)r'r)rrrr:scCs tj|S)N)rZ!VectorModuleDependencies_iterator)r'rrrrTsz!VectorModuleDependencies.iteratorcCs|jS)N)rT)r'rrrrOsz!VectorModuleDependencies.__iter__cCs tj|S)N)rZ$VectorModuleDependencies___nonzero__)r'rrrrUsz$VectorModuleDependencies.__nonzero__cCs tj|S)N)rZ!VectorModuleDependencies___bool__)r'rrrrVsz!VectorModuleDependencies.__bool__cCs tj|S)N)rZ VectorModuleDependencies___len__)r'rrrrWsz VectorModuleDependencies.__len__cCstj|||S)N)rZ%VectorModuleDependencies___getslice__)r'rXrYrrrrZ sz%VectorModuleDependencies.__getslice__cGstj|f|S)N)rZ%VectorModuleDependencies___setslice__)r'r;rrrr[sz%VectorModuleDependencies.__setslice__cCstj|||S)N)rZ%VectorModuleDependencies___delslice__)r'rXrYrrrr\sz%VectorModuleDependencies.__delslice__cGstj|f|S)N)rZ$VectorModuleDependencies___delitem__)r'r;rrrr]sz$VectorModuleDependencies.__delitem__cGstj|f|S)N)rZ$VectorModuleDependencies___getitem__)r'r;rrrr^sz$VectorModuleDependencies.__getitem__cGstj|f|S)N)rZ$VectorModuleDependencies___setitem__)r'r;rrrr_sz$VectorModuleDependencies.__setitem__cCs tj|S)N)rZVectorModuleDependencies_pop)r'rrrr`szVectorModuleDependencies.popcCs tj||S)N)rZVectorModuleDependencies_append)r'rArrrra szVectorModuleDependencies.appendcCs tj|S)N)rZVectorModuleDependencies_empty)r'rrrrb#szVectorModuleDependencies.emptycCs tj|S)N)rZVectorModuleDependencies_size)r'rrrrc&szVectorModuleDependencies.sizecCs tj||S)N)rZVectorModuleDependencies_swap)r'rdrrrre)szVectorModuleDependencies.swapcCs tj|S)N)rZVectorModuleDependencies_begin)r'rrrrf,szVectorModuleDependencies.begincCs tj|S)N)rZVectorModuleDependencies_end)r'rrrrg/szVectorModuleDependencies.endcCs tj|S)N)rZVectorModuleDependencies_rbegin)r'rrrrh2szVectorModuleDependencies.rbegincCs tj|S)N)rZVectorModuleDependencies_rend)r'rrrri5szVectorModuleDependencies.rendcCs tj|S)N)rZVectorModuleDependencies_clear)r'rrrrj8szVectorModuleDependencies.clearcCs tj|S)N)rZ&VectorModuleDependencies_get_allocator)r'rrrrk;sz&VectorModuleDependencies.get_allocatorcCs tj|S)N)rZ!VectorModuleDependencies_pop_back)r'rrrrl>sz!VectorModuleDependencies.pop_backcGstj|f|S)N)rZVectorModuleDependencies_erase)r'r;rrrrmAszVectorModuleDependencies.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorModuleDependenciesrrar2r3)r'r;rrrrr=Ds  z!VectorModuleDependencies.__init__cCs tj||S)N)rZ"VectorModuleDependencies_push_back)r'rArrrrnKsz"VectorModuleDependencies.push_backcCs tj|S)N)rZVectorModuleDependencies_front)r'rrrroNszVectorModuleDependencies.frontcCs tj|S)N)rZVectorModuleDependencies_back)r'rrrrpQszVectorModuleDependencies.backcCstj|||S)N)rZVectorModuleDependencies_assign)r'r>rArrrrqTszVectorModuleDependencies.assigncGstj|f|S)N)rZVectorModuleDependencies_resize)r'r;rrrrrWszVectorModuleDependencies.resizecGstj|f|S)N)rZVectorModuleDependencies_insert)r'r;rrrrsZszVectorModuleDependencies.insertcCs tj||S)N)rZ VectorModuleDependencies_reserve)r'r>rrrrt]sz VectorModuleDependencies.reservecCs tj|S)N)rZ!VectorModuleDependencies_capacity)r'rrrru`sz!VectorModuleDependencies.capacitycCsdS)Nr)r'rrrr:csN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorModuleDependenciesrQrRrrrrrxsPrxc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)H VectorStringcCst|t||S)N)r-ry)r'r)r*rrrr:iszVectorString.cCs t|t|S)N)r/ry)r'r)rrrr:kscCs tj|S)N)rZVectorString_iterator)r'rrrrTnszVectorString.iteratorcCs|jS)N)rT)r'rrrrOpszVectorString.__iter__cCs tj|S)N)rZVectorString___nonzero__)r'rrrrUsszVectorString.__nonzero__cCs tj|S)N)rZVectorString___bool__)r'rrrrVvszVectorString.__bool__cCs tj|S)N)rZVectorString___len__)r'rrrrWyszVectorString.__len__cCstj|||S)N)rZVectorString___getslice__)r'rXrYrrrrZ|szVectorString.__getslice__cGstj|f|S)N)rZVectorString___setslice__)r'r;rrrr[szVectorString.__setslice__cCstj|||S)N)rZVectorString___delslice__)r'rXrYrrrr\szVectorString.__delslice__cGstj|f|S)N)rZVectorString___delitem__)r'r;rrrr]szVectorString.__delitem__cGstj|f|S)N)rZVectorString___getitem__)r'r;rrrr^szVectorString.__getitem__cGstj|f|S)N)rZVectorString___setitem__)r'r;rrrr_szVectorString.__setitem__cCs tj|S)N)rZVectorString_pop)r'rrrr`szVectorString.popcCs tj||S)N)rZVectorString_append)r'rArrrraszVectorString.appendcCs tj|S)N)rZVectorString_empty)r'rrrrbszVectorString.emptycCs tj|S)N)rZVectorString_size)r'rrrrcszVectorString.sizecCs tj||S)N)rZVectorString_swap)r'rdrrrreszVectorString.swapcCs tj|S)N)rZVectorString_begin)r'rrrrfszVectorString.begincCs tj|S)N)rZVectorString_end)r'rrrrgszVectorString.endcCs tj|S)N)rZVectorString_rbegin)r'rrrrhszVectorString.rbegincCs tj|S)N)rZVectorString_rend)r'rrrriszVectorString.rendcCs tj|S)N)rZVectorString_clear)r'rrrrjszVectorString.clearcCs tj|S)N)rZVectorString_get_allocator)r'rrrrkszVectorString.get_allocatorcCs tj|S)N)rZVectorString_pop_back)r'rrrrlszVectorString.pop_backcGstj|f|S)N)rZVectorString_erase)r'r;rrrrmszVectorString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorStringrrar2r3)r'r;rrrrr=s  zVectorString.__init__cCs tj||S)N)rZVectorString_push_back)r'rArrrrnszVectorString.push_backcCs tj|S)N)rZVectorString_front)r'rrrroszVectorString.frontcCs tj|S)N)rZVectorString_back)r'rrrrpszVectorString.backcCstj|||S)N)rZVectorString_assign)r'r>rArrrrqszVectorString.assigncGstj|f|S)N)rZVectorString_resize)r'r;rrrrrszVectorString.resizecGstj|f|S)N)rZVectorString_insert)r'r;rrrrsszVectorString.insertcCs tj||S)N)rZVectorString_reserve)r'r>rrrrtszVectorString.reservecCs tj|S)N)rZVectorString_capacity)r'rrrruszVectorString.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorStringrQrRrrrrrygsPrycCs tt|S)N)strlist)r'rrrVectorString__str__sr|cCst|t|kS)N)r{)r'otherrrrVectorString__eq__sr~cCst|t|kS)N)r{)r'r}rrrVectorString__ne__srcCst|t|kS)N)r{)r'r}rrrVectorString__lt__srcCst|t|kS)N)r{)r'r}rrrVectorString__le__srcCst|t|kS)N)r{)r'r}rrrVectorString__gt__srcCst|t|kS)N)r{)r'r}rrrVectorString__ge__srcCs|j||S)N)extend)r'r*rrrVectorString__iadd__s rcCs&t|}||9}|j|j||S)N)r{rjr)r'r*datarrrVectorString__imul__s  rcCs|j}||9}|S)N)rD)r'r*resultrrrVectorString__mul__srcCs||S)Nr)r'r*rrrVectorString__rmul__ srcCs|j}|j||S)N)rDr)r'r*rrrrVectorString__add__ s rcCs|j|dS)N)rn)r'itemrrrVectorString__appendsrcCs tt|S)N)ryr{)r'rrrVectorString__copysrcCst|j|S)N)r{count)r'rrrrVectorString__countsrcCsx|D]}|j|qWdS)N)rn)r'iterablerXrrrVectorString__extends rcOst|}|j||S)N)r{index)r'r;r<rrrrVectorString__index$srcOs*t|}|j|||j|j|dS)N)r{rsrjr)r'r;r<rrrrVectorString__insert)s rcOs*t|}|j|||j|j|dS)N)r{removerjr)r'r;r<rrrrVectorString__remove0s rcOs&t|}|j|j|j|dS)N)r{sortrjr)r'r;r<rrrrVectorString__sort7srcOs&t|}|j|j|j|dS)N)r{reverserjr)r'r;r<rrrrVectorString__reverse>src@sNeZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dGdHZ*e+j,Z-dIdZ.dJS)KMapStringVectorStringcCst|t||S)N)r-r)r'r)r*rrrr:GszMapStringVectorString.cCs t|t|S)N)r/r)r'r)rrrr:IscCs tj|S)N)rZMapStringVectorString_iterator)r'rrrrTLszMapStringVectorString.iteratorcCs|jS)N)rT)r'rrrrONszMapStringVectorString.__iter__cCs tj|S)N)rZ!MapStringVectorString___nonzero__)r'rrrrUQsz!MapStringVectorString.__nonzero__cCs tj|S)N)rZMapStringVectorString___bool__)r'rrrrVTszMapStringVectorString.__bool__cCs tj|S)N)rZMapStringVectorString___len__)r'rrrrWWszMapStringVectorString.__len__cCs|jS)N) key_iterator)r'rrrrOYscCs|jS)N)r)r'rrriterkeys[szMapStringVectorString.iterkeyscCs|jS)N)value_iterator)r'rrr itervalues]sz MapStringVectorString.itervaluescCs|jS)N)rT)r'rrr iteritems_szMapStringVectorString.iteritemscCs tj||S)N)rZ!MapStringVectorString___getitem__)r'keyrrrr^bsz!MapStringVectorString.__getitem__cCs tj||S)N)rZ!MapStringVectorString___delitem__)r'rrrrr]esz!MapStringVectorString.__delitem__cCs tj||S)N)rZMapStringVectorString_has_key)r'rrrrhas_keyhszMapStringVectorString.has_keycCs tj|S)N)rZMapStringVectorString_keys)r'rrrkeyskszMapStringVectorString.keyscCs tj|S)N)rZMapStringVectorString_values)r'rrrvaluesnszMapStringVectorString.valuescCs tj|S)N)rZMapStringVectorString_items)r'rrritemsqszMapStringVectorString.itemscCs tj||S)N)rZ"MapStringVectorString___contains__)r'rrrr __contains__tsz"MapStringVectorString.__contains__cCs tj|S)N)rZ"MapStringVectorString_key_iterator)r'rrrrwsz"MapStringVectorString.key_iteratorcCs tj|S)N)rZ$MapStringVectorString_value_iterator)r'rrrrzsz$MapStringVectorString.value_iteratorcGstj|f|S)N)rZ!MapStringVectorString___setitem__)r'r;rrrr_}sz!MapStringVectorString.__setitem__cCs tj|S)N)rZMapStringVectorString_asdict)r'rrrasdictszMapStringVectorString.asdictc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_MapStringVectorStringrrar2r3)r'r;rrrrr=s  zMapStringVectorString.__init__cCs tj|S)N)rZMapStringVectorString_empty)r'rrrrbszMapStringVectorString.emptycCs tj|S)N)rZMapStringVectorString_size)r'rrrrcszMapStringVectorString.sizecCs tj||S)N)rZMapStringVectorString_swap)r'rdrrrreszMapStringVectorString.swapcCs tj|S)N)rZMapStringVectorString_begin)r'rrrrfszMapStringVectorString.begincCs tj|S)N)rZMapStringVectorString_end)r'rrrrgszMapStringVectorString.endcCs tj|S)N)rZMapStringVectorString_rbegin)r'rrrrhszMapStringVectorString.rbegincCs tj|S)N)rZMapStringVectorString_rend)r'rrrriszMapStringVectorString.rendcCs tj|S)N)rZMapStringVectorString_clear)r'rrrrjszMapStringVectorString.clearcCs tj|S)N)rZ#MapStringVectorString_get_allocator)r'rrrrksz#MapStringVectorString.get_allocatorcCs tj||S)N)rZMapStringVectorString_count)r'rArrrrszMapStringVectorString.countcGstj|f|S)N)rZMapStringVectorString_erase)r'r;rrrrmszMapStringVectorString.erasecCs tj||S)N)rZMapStringVectorString_find)r'rArrrfindszMapStringVectorString.findcCs tj||S)N)rZ!MapStringVectorString_lower_bound)r'rArrr lower_boundsz!MapStringVectorString.lower_boundcCs tj||S)N)rZ!MapStringVectorString_upper_bound)r'rArrr upper_boundsz!MapStringVectorString.upper_boundcCsdS)Nr)r'rrrr:sN)/rr5r8r!r%r.rPr6r1rTrOrUrVrWrrrr^r]rrrrrrrr_rr=rbrcrerfrgrhrirjrkrrmrrrrZdelete_MapStringVectorStringrQrRrrrrrEsTrc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorMapStringVectorStringcCst|t||S)N)r-r)r'r)r*rrrr:sz$VectorMapStringVectorString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZ$VectorMapStringVectorString_iterator)r'rrrrTsz$VectorMapStringVectorString.iteratorcCs|jS)N)rT)r'rrrrOsz$VectorMapStringVectorString.__iter__cCs tj|S)N)rZ'VectorMapStringVectorString___nonzero__)r'rrrrUsz'VectorMapStringVectorString.__nonzero__cCs tj|S)N)rZ$VectorMapStringVectorString___bool__)r'rrrrVsz$VectorMapStringVectorString.__bool__cCs tj|S)N)rZ#VectorMapStringVectorString___len__)r'rrrrWsz#VectorMapStringVectorString.__len__cCstj|||S)N)rZ(VectorMapStringVectorString___getslice__)r'rXrYrrrrZsz(VectorMapStringVectorString.__getslice__cGstj|f|S)N)rZ(VectorMapStringVectorString___setslice__)r'r;rrrr[sz(VectorMapStringVectorString.__setslice__cCstj|||S)N)rZ(VectorMapStringVectorString___delslice__)r'rXrYrrrr\sz(VectorMapStringVectorString.__delslice__cGstj|f|S)N)rZ'VectorMapStringVectorString___delitem__)r'r;rrrr]sz'VectorMapStringVectorString.__delitem__cGstj|f|S)N)rZ'VectorMapStringVectorString___getitem__)r'r;rrrr^sz'VectorMapStringVectorString.__getitem__cGstj|f|S)N)rZ'VectorMapStringVectorString___setitem__)r'r;rrrr_sz'VectorMapStringVectorString.__setitem__cCs tj|S)N)rZVectorMapStringVectorString_pop)r'rrrr`szVectorMapStringVectorString.popcCs tj||S)N)rZ"VectorMapStringVectorString_append)r'rArrrrasz"VectorMapStringVectorString.appendcCs tj|S)N)rZ!VectorMapStringVectorString_empty)r'rrrrbsz!VectorMapStringVectorString.emptycCs tj|S)N)rZ VectorMapStringVectorString_size)r'rrrrcsz VectorMapStringVectorString.sizecCs tj||S)N)rZ VectorMapStringVectorString_swap)r'rdrrrresz VectorMapStringVectorString.swapcCs tj|S)N)rZ!VectorMapStringVectorString_begin)r'rrrrfsz!VectorMapStringVectorString.begincCs tj|S)N)rZVectorMapStringVectorString_end)r'rrrrgszVectorMapStringVectorString.endcCs tj|S)N)rZ"VectorMapStringVectorString_rbegin)r'rrrrhsz"VectorMapStringVectorString.rbegincCs tj|S)N)rZ VectorMapStringVectorString_rend)r'rrrrisz VectorMapStringVectorString.rendcCs tj|S)N)rZ!VectorMapStringVectorString_clear)r'rrrrjsz!VectorMapStringVectorString.clearcCs tj|S)N)rZ)VectorMapStringVectorString_get_allocator)r'rrrrksz)VectorMapStringVectorString.get_allocatorcCs tj|S)N)rZ$VectorMapStringVectorString_pop_back)r'rrrrlsz$VectorMapStringVectorString.pop_backcGstj|f|S)N)rZ!VectorMapStringVectorString_erase)r'r;rrrrmsz!VectorMapStringVectorString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorMapStringVectorStringrrar2r3)r'r;rrrrr=s  z$VectorMapStringVectorString.__init__cCs tj||S)N)rZ%VectorMapStringVectorString_push_back)r'rArrrrn sz%VectorMapStringVectorString.push_backcCs tj|S)N)rZ!VectorMapStringVectorString_front)r'rrrrosz!VectorMapStringVectorString.frontcCs tj|S)N)rZ VectorMapStringVectorString_back)r'rrrrpsz VectorMapStringVectorString.backcCstj|||S)N)rZ"VectorMapStringVectorString_assign)r'r>rArrrrqsz"VectorMapStringVectorString.assigncGstj|f|S)N)rZ"VectorMapStringVectorString_resize)r'r;rrrrrsz"VectorMapStringVectorString.resizecGstj|f|S)N)rZ"VectorMapStringVectorString_insert)r'r;rrrrssz"VectorMapStringVectorString.insertcCs tj||S)N)rZ#VectorMapStringVectorString_reserve)r'r>rrrrtsz#VectorMapStringVectorString.reservecCs tj|S)N)rZ$VectorMapStringVectorString_capacity)r'rrrru"sz$VectorMapStringVectorString.capacitycCsdS)Nr)r'rrrr:%sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZ"delete_VectorMapStringVectorStringrQrRrrrrrsPrc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorVectorStringcCst|t||S)N)r-r)r'r)r*rrrr:+szVectorVectorString.cCs t|t|S)N)r/r)r'r)rrrr:-scCs tj|S)N)rZVectorVectorString_iterator)r'rrrrT0szVectorVectorString.iteratorcCs|jS)N)rT)r'rrrrO2szVectorVectorString.__iter__cCs tj|S)N)rZVectorVectorString___nonzero__)r'rrrrU5szVectorVectorString.__nonzero__cCs tj|S)N)rZVectorVectorString___bool__)r'rrrrV8szVectorVectorString.__bool__cCs tj|S)N)rZVectorVectorString___len__)r'rrrrW;szVectorVectorString.__len__cCstj|||S)N)rZVectorVectorString___getslice__)r'rXrYrrrrZ>szVectorVectorString.__getslice__cGstj|f|S)N)rZVectorVectorString___setslice__)r'r;rrrr[AszVectorVectorString.__setslice__cCstj|||S)N)rZVectorVectorString___delslice__)r'rXrYrrrr\DszVectorVectorString.__delslice__cGstj|f|S)N)rZVectorVectorString___delitem__)r'r;rrrr]GszVectorVectorString.__delitem__cGstj|f|S)N)rZVectorVectorString___getitem__)r'r;rrrr^JszVectorVectorString.__getitem__cGstj|f|S)N)rZVectorVectorString___setitem__)r'r;rrrr_MszVectorVectorString.__setitem__cCs tj|S)N)rZVectorVectorString_pop)r'rrrr`PszVectorVectorString.popcCs tj||S)N)rZVectorVectorString_append)r'rArrrraSszVectorVectorString.appendcCs tj|S)N)rZVectorVectorString_empty)r'rrrrbVszVectorVectorString.emptycCs tj|S)N)rZVectorVectorString_size)r'rrrrcYszVectorVectorString.sizecCs tj||S)N)rZVectorVectorString_swap)r'rdrrrre\szVectorVectorString.swapcCs tj|S)N)rZVectorVectorString_begin)r'rrrrf_szVectorVectorString.begincCs tj|S)N)rZVectorVectorString_end)r'rrrrgbszVectorVectorString.endcCs tj|S)N)rZVectorVectorString_rbegin)r'rrrrheszVectorVectorString.rbegincCs tj|S)N)rZVectorVectorString_rend)r'rrrrihszVectorVectorString.rendcCs tj|S)N)rZVectorVectorString_clear)r'rrrrjkszVectorVectorString.clearcCs tj|S)N)rZ VectorVectorString_get_allocator)r'rrrrknsz VectorVectorString.get_allocatorcCs tj|S)N)rZVectorVectorString_pop_back)r'rrrrlqszVectorVectorString.pop_backcGstj|f|S)N)rZVectorVectorString_erase)r'r;rrrrmtszVectorVectorString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorVectorStringrrar2r3)r'r;rrrrr=ws  zVectorVectorString.__init__cCs tj||S)N)rZVectorVectorString_push_back)r'rArrrrn~szVectorVectorString.push_backcCs tj|S)N)rZVectorVectorString_front)r'rrrroszVectorVectorString.frontcCs tj|S)N)rZVectorVectorString_back)r'rrrrpszVectorVectorString.backcCstj|||S)N)rZVectorVectorString_assign)r'r>rArrrrqszVectorVectorString.assigncGstj|f|S)N)rZVectorVectorString_resize)r'r;rrrrrszVectorVectorString.resizecGstj|f|S)N)rZVectorVectorString_insert)r'r;rrrrsszVectorVectorString.insertcCs tj||S)N)rZVectorVectorString_reserve)r'r>rrrrtszVectorVectorString.reservecCs tj|S)N)rZVectorVectorString_capacity)r'rrrruszVectorVectorString.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrZr[r\r]r^r_r`rarbrcrerfrgrhrirjrkrlrmr=rnrorprqrrrsrtrurZdelete_VectorVectorStringrQrRrrrrr)sPrc@seZdZiZddZiZddZddZeZ e j Z ddZ ddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Z d-d.Z!d/d0Z"d1d2Z#d3d4Z$d5d6Z%d7d8Z&d?d:d;Z'dS)@ ModulePackagecCst|t||S)N)r-r)r'r)r*rrrr:szModulePackage.cCs t|t|S)N)r/r)r'r)rrrr:scOs tddS)NzNo constructor defined)r&)r'r;r<rrrr=szModulePackage.__init__cCsdS)Nr)r'rrrr:scCs tj|S)N)rZModulePackage_getNameCStr)r'rrr getNameCStrszModulePackage.getNameCStrcCs tj|S)N)rZModulePackage_getName)r'rrrgetNameszModulePackage.getNamecCs tj|S)N)rZModulePackage_getStreamCStr)r'rrr getStreamCStrszModulePackage.getStreamCStrcCs tj|S)N)rZModulePackage_getStream)r'rrr getStreamszModulePackage.getStreamcCs tj|S)N)rZModulePackage_getNameStream)r'rrr getNameStreamszModulePackage.getNameStreamcCs tj|S)N)rZ"ModulePackage_getNameStreamVersion)r'rrrgetNameStreamVersionsz"ModulePackage.getNameStreamVersioncCs tj|S)N)rZModulePackage_getRepoID)r'rrr getRepoIDszModulePackage.getRepoIDcCs tj|S)N)rZModulePackage_getVersion)r'rrr getVersionszModulePackage.getVersioncCs tj|S)N)rZModulePackage_getVersionNum)r'rrr getVersionNumszModulePackage.getVersionNumcCs tj|S)N)rZModulePackage_getContextCStr)r'rrrgetContextCStrszModulePackage.getContextCStrcCs tj|S)N)rZModulePackage_getContext)r'rrr getContextszModulePackage.getContextcCs tj|S)N)rZModulePackage_getArchCStr)r'rrr getArchCStrszModulePackage.getArchCStrcCs tj|S)N)rZModulePackage_getArch)r'rrrgetArchszModulePackage.getArchcCs tj|S)N)rZModulePackage_getFullIdentifier)r'rrrgetFullIdentifierszModulePackage.getFullIdentifiercCs tj|S)N)rZModulePackage_getSummary)r'rrr getSummaryszModulePackage.getSummarycCs tj|S)N)rZModulePackage_getDescription)r'rrrgetDescriptionszModulePackage.getDescriptioncCs tj|S)N)rZModulePackage_getArtifacts)r'rrr getArtifactsszModulePackage.getArtifactscCs tj||S)N)rZModulePackage___eq__)r'rrrrrIszModulePackage.__eq__cGstj|f|S)N)rZModulePackage_getProfiles)r'r;rrr getProfilesszModulePackage.getProfilescCs tj|S)N)rZModulePackage_getDefaultProfile)r'rrrgetDefaultProfileszModulePackage.getDefaultProfilecCs tj|S)N)rZ#ModulePackage_getModuleDependencies)r'rrrgetModuleDependenciessz#ModulePackage.getModuleDependenciescCs tj||S)N)rZModulePackage_addStreamConflict)r'packagerrraddStreamConflictszModulePackage.addStreamConflictcCs tj|S)N)rZModulePackage_getId)r'rrrgetIdszModulePackage.getIdcCs tj|S)N)rZModulePackage_getYaml)r'rrrgetYamlszModulePackage.getYamlcCs tj|S)N)rZModulePackage_getStaticContext)r'rrrgetStaticContextszModulePackage.getStaticContextFcCs tj||S)N)rZModulePackage_getRequires)r'ZremovePlatformrrr getRequiresszModulePackage.getRequirescCs tj|S)N)rZModulePackage___hash__)r'rrr__hash__szModulePackage.__hash__N)F))rr5r8r!r%r.rPr=r6r1rZdelete_ModulePackagerQrRrrrrrrrrrrrrrrrrrrIrrrrrrrrrrrrrrsF rc@seZdZiZddZiZddZeZe j Z e j Z e jZe jZe jZe jZe jZe jZe jZe jZe jZe j Z!e j"Z#d\ddZ$e j%Z&ddZ'dd Z(d d Z)d d Z*ddZ+ddZ,ddZ-ddZ.ddZ/ddZ0ddZ1ddZ2ddZ3d d!Z4d"d#Z5d$d%Z6d&d'Z7d(d)Z8d*d+Z9d,d-Z:d.d/Z;d0d1Zd6d7Z?d8d9Z@d:d;ZAdd?ZCd@dAZDdBdCZEdDdEZFdFdGZGdHdIZHdJdKZIdLdMZJdNdOZKdPdQZLdRdSZMdTdUZNdVdWZOdXdYZPdZd[ZQdS)]ModulePackageContainercCst|t||S)N)r-r)r'r)r*rrrr:szModulePackageContainer.cCs t|t|S)N)r/r)r'r)rrrr:sNc CsBtj||||}y|jj|Wntjk r<||_YnXdS)N)rZnew_ModulePackageContainerrrar2r3)r'ZallArchZ installRootZarchZ persistDirrrrrr= s zModulePackageContainer.__init__cCsdS)Nr)r'rrrr:scGstj|f|S)N)rZModulePackageContainer_add)r'r;rrraddszModulePackageContainer.addcCs tj|S)N)rZ*ModulePackageContainer_addDefaultsFromDisk)r'rrraddDefaultsFromDisksz*ModulePackageContainer.addDefaultsFromDiskcCs tj|S)N)rZ,ModulePackageContainer_moduleDefaultsResolve)r'rrrmoduleDefaultsResolvesz,ModulePackageContainer.moduleDefaultsResolvecGstj|f|S)N)rZ)ModulePackageContainer_addPlatformPackage)r'r;rrraddPlatformPackagesz)ModulePackageContainer.addPlatformPackagecCs tj|S)N)rZ4ModulePackageContainer_createConflictsBetweenStreams)r'rrrcreateConflictsBetweenStreams"sz4ModulePackageContainer.createConflictsBetweenStreamscCs tj|S)N)rZModulePackageContainer_empty)r'rrrrb%szModulePackageContainer.emptycCs tj||S)N)rZ'ModulePackageContainer_getModulePackage)r'idrrrgetModulePackage(sz'ModulePackageContainer.getModulePackagecCs tj|S)N)rZ(ModulePackageContainer_getModulePackages)r'rrrgetModulePackages+sz(ModulePackageContainer.getModulePackagescCstj|||S)N)rZ.ModulePackageContainer_getLatestModulesPerRepo)r'Z moduleFiltermodulePackagesrrrgetLatestModulesPerRepo.sz.ModulePackageContainer.getLatestModulesPerRepocCstj|||S)N)rZ'ModulePackageContainer_getLatestModules)r'rZ activeOnlyrrrgetLatestModules1sz'ModulePackageContainer.getLatestModulescCs tj||S)N)rZ/ModulePackageContainer_requiresModuleEnablement)r'ZpackagesrrrrequiresModuleEnablement4sz/ModulePackageContainer.requiresModuleEnablementcGstj|f|S)N)rZModulePackageContainer_enable)r'r;rrrenable7szModulePackageContainer.enablecGstj|f|S)N)rZModulePackageContainer_disable)r'r;rrrdisable:szModulePackageContainer.disablecGstj|f|S)N)rZModulePackageContainer_reset)r'r;rrrreset=szModulePackageContainer.resetcGstj|f|S)N)rZModulePackageContainer_install)r'r;rrrinstall@szModulePackageContainer.installcGstj|f|S)N)rZ ModulePackageContainer_uninstall)r'r;rrr uninstallCsz ModulePackageContainer.uninstallcCs tj|S)N)rZModulePackageContainer_save)r'rrrsaveFszModulePackageContainer.savecCs tj|S)N)rZModulePackageContainer_rollback)r'rrrrollbackIszModulePackageContainer.rollbackcCs tj|S)N)rZ ModulePackageContainer_isChanged)r'rrr isChangedLsz ModulePackageContainer.isChangedcGstj|f|S)N)rZ ModulePackageContainer_isEnabled)r'r;rrr isEnabledOsz ModulePackageContainer.isEnabledcGstj|f|S)N)rZ!ModulePackageContainer_isDisabled)r'r;rrr isDisabledRsz!ModulePackageContainer.isDisabledcCs tj||S)N)rZ%ModulePackageContainer_getModuleState)r'r)rrrgetModuleStateUsz%ModulePackageContainer.getModuleStatecCs tj|S)N)rZ+ModulePackageContainer_getInstalledPkgNames)r'rrrgetInstalledPkgNamesXsz+ModulePackageContainer.getInstalledPkgNamescCs tj|S)N)rZ ModulePackageContainer_getReport)r'rrr getReport[sz ModulePackageContainer.getReportcCstj|||S)N)rZ)ModulePackageContainer_getDefaultProfiles)r'Z moduleNameZ moduleStreamrrrgetDefaultProfiles^sz)ModulePackageContainer.getDefaultProfilescCs tj||S)N)rZ'ModulePackageContainer_getDefaultStream)r'r)rrrgetDefaultStreamasz'ModulePackageContainer.getDefaultStreamcCs tj||S)N)rZ'ModulePackageContainer_getEnabledStream)r'r)rrrgetEnabledStreamdsz'ModulePackageContainer.getEnabledStreamcCs tj|S)N)rZ(ModulePackageContainer_getEnabledStreams)r'rrrgetEnabledStreamsgsz(ModulePackageContainer.getEnabledStreamscCs tj|S)N)rZ)ModulePackageContainer_getDisabledModules)r'rrrgetDisabledModulesjsz)ModulePackageContainer.getDisabledModulescCs tj|S)N)rZ)ModulePackageContainer_getDisabledStreams)r'rrrgetDisabledStreamsmsz)ModulePackageContainer.getDisabledStreamscCs tj|S)N)rZ&ModulePackageContainer_getResetModules)r'rrrgetResetModulespsz&ModulePackageContainer.getResetModulescCs tj|S)N)rZ&ModulePackageContainer_getResetStreams)r'rrrgetResetStreamsssz&ModulePackageContainer.getResetStreamscCs tj|S)N)rZ)ModulePackageContainer_getSwitchedStreams)r'rrrgetSwitchedStreamsvsz)ModulePackageContainer.getSwitchedStreamscGstj|f|S)N)rZ+ModulePackageContainer_getInstalledProfiles)r'r;rrrgetInstalledProfilesysz+ModulePackageContainer.getInstalledProfilescCs tj|S)N)rZ)ModulePackageContainer_getRemovedProfiles)r'rrrgetRemovedProfiles|sz)ModulePackageContainer.getRemovedProfilescGstj|f|S)N)rZModulePackageContainer_query)r'r;rrrqueryszModulePackageContainer.querycCs tj||S)N)rZ+ModulePackageContainer_enableDependencyTree)r'rrrrenableDependencyTreesz+ModulePackageContainer.enableDependencyTreecCs tj||S)N)rZ2ModulePackageContainer_resolveActiveModulePackages)r'Z debugSolverrrrresolveActiveModulePackagessz2ModulePackageContainer.resolveActiveModulePackagescGstj|f|S)N)rZ%ModulePackageContainer_isModuleActive)r'r;rrrisModuleActivesz%ModulePackageContainer.isModuleActivecCs tj|S)N)rZ'ModulePackageContainer_loadFailSafeData)r'rrrloadFailSafeDatasz'ModulePackageContainer.loadFailSafeDatacCs tj|S)N)rZ)ModulePackageContainer_updateFailSafeData)r'rrrupdateFailSafeDatasz)ModulePackageContainer.updateFailSafeDatacCs tj|S)N)rZ%ModulePackageContainer_applyObsoletes)r'rrrapplyObsoletessz%ModulePackageContainer.applyObsoletes)N)Rrr5r8r!r%r.rPr6r1rZ*ModulePackageContainer_ModuleState_UNKNOWNZModuleState_UNKNOWNZ*ModulePackageContainer_ModuleState_ENABLEDZModuleState_ENABLEDZ+ModulePackageContainer_ModuleState_DISABLEDZModuleState_DISABLEDZ*ModulePackageContainer_ModuleState_DEFAULTZModuleState_DEFAULTZ,ModulePackageContainer_ModuleState_INSTALLEDZModuleState_INSTALLEDZ/ModulePackageContainer_ModuleErrorType_NO_ERRORZModuleErrorType_NO_ERRORZ+ModulePackageContainer_ModuleErrorType_INFOZModuleErrorType_INFOZ8ModulePackageContainer_ModuleErrorType_ERROR_IN_DEFAULTSZ!ModuleErrorType_ERROR_IN_DEFAULTSZ,ModulePackageContainer_ModuleErrorType_ERRORZModuleErrorType_ERRORZ=ModulePackageContainer_ModuleErrorType_CANNOT_RESOLVE_MODULESZ&ModuleErrorType_CANNOT_RESOLVE_MODULESZAModulePackageContainer_ModuleErrorType_CANNOT_RESOLVE_MODULE_SPECZ*ModuleErrorType_CANNOT_RESOLVE_MODULE_SPECZEModulePackageContainer_ModuleErrorType_CANNOT_ENABLE_MULTIPLE_STREAMSZ.ModuleErrorType_CANNOT_ENABLE_MULTIPLE_STREAMSZPModulePackageContainer_ModuleErrorType_CANNOT_MODIFY_MULTIPLE_TIMES_MODULE_STATEZ9ModuleErrorType_CANNOT_MODIFY_MULTIPLE_TIMES_MODULE_STATEr=Zdelete_ModulePackageContainerrQrRrrrrrrbrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs~ rc@s^eZdZiZddZiZddZeZddZ e j Z ddZ ddZd d Zd d Zd dZdS) ModuleProfilecCst|t||S)N)r-r)r'r)r*rrrr:szModuleProfile.cCs t|t|S)N)r/r)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_ModuleProfilerrar2r3)r'r;rrrrr=s  zModuleProfile.__init__cCsdS)Nr)r'rrrr:scCs tj|S)N)rZModuleProfile_getName)r'rrrrszModuleProfile.getNamecCs tj|S)N)rZModuleProfile_getDescription)r'rrrrszModuleProfile.getDescriptioncCs tj|S)N)rZModuleProfile_getContent)r'rrr getContentszModuleProfile.getContentcCs tj|S)N)rZModuleProfile_isDefault)r'rrr isDefaultszModuleProfile.isDefaultN)rr5r8r!r%r.rPr6r1r=rZdelete_ModuleProfilerQrRrrrrrrrrrsrc@sFeZdZiZddZiZddZeZddZ e j Z ddZ ddZd S) ModuleDependenciescCst|t||S)N)r-r)r'r)r*rrrr:szModuleDependencies.cCs t|t|S)N)r/r)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_ModuleDependenciesrrar2r3)r'r;rrrrr=s  zModuleDependencies.__init__cCsdS)Nr)r'rrrr:scCs tj|S)N)rZModuleDependencies_getRequires)r'rrrrszModuleDependencies.getRequiresN)rr5r8r!r%r.rPr6r1r=rZdelete_ModuleDependenciesrQrRrrrrrrsrc@seZdZiZddZiZddZeZddZ e j ed<e j ed<e rRee j e j Ze jed<e jed<e rxee je jZdd Zd d Zd d ZddZe jZddZdS)%PairVectorVectorStringModuleErrorTypecCst|t||S)N)r-r)r'r)r*rrrr:sz.PairVectorVectorStringModuleErrorType.cCs t|t|S)N)r/r)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ)new_PairVectorVectorStringModuleErrorTyperrar2r3)r'r;rrrrr=s  z.PairVectorVectorStringModuleErrorType.__init__firstsecondcCsdS)Nrr)r'rrrrWsz-PairVectorVectorStringModuleErrorType.__len__cCst|j|jfS)N)rzrr)r'rrrr1sz.PairVectorVectorStringModuleErrorType.__repr__cCs|ds|jS|jSdS)Nr)rr)r'rrrrr^sz1PairVectorVectorStringModuleErrorType.__getitem__cCs|ds||_n||_dS)Nr)rr)r'rvalrrrr_sz1PairVectorVectorStringModuleErrorType.__setitem__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rZ/PairVectorVectorStringModuleErrorType_first_setZ/PairVectorVectorStringModuleErrorType_first_getr#_swig_propertyrZ0PairVectorVectorStringModuleErrorType_second_setZ0PairVectorVectorStringModuleErrorType_second_getrrWr^r_Z,delete_PairVectorVectorStringModuleErrorTyperQrRrrrrrs(    r)rrr)rrr)r)[sysrZ_swig_python_version_inforrpropertyr NameErrorbuiltinsr2r r,r-r/r6r$r7r#r3r9ZSwigPyIterator_swigregisterZlibdnf.common_typesZlibdnfrSZ#VectorModulePackagePtr_swigregisterrvZ/VectorVectorVectorModulePackagePtr_swigregisterrwZ VectorModuleProfile_swigregisterrxZ%VectorModuleDependencies_swigregisterryZVectorString_swigregisterr|__str__r~rIrrJr__lt__r__le__r__gt__r__ge__rrKr__imul__r__mul__r__rmul__rrMrrarrDrrrrrrrrsrrrrrrrZ"MapStringVectorString_swigregisterrZ(VectorMapStringVectorString_swigregisterrZVectorVectorString_swigregisterrZModulePackage_swigregisterrZ#ModulePackageContainer_swigregisterrZModuleProfile_swigregisterrZModuleDependencies_swigregisterrZ2PairVectorVectorStringModuleErrorType_swigregisterrrrrs     =nnnnnpnn\%PKhee[L]conf.cpython-36.pycnu[3 љg@sddlmZedkr&ddZeZ[n"edkr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXdd d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXGdddeZejZeeddlZGdddeZejZeeGdddeZejZeeejZejZejZGdddeZejZeeGdddeZ ej!Z!e!e GdddeZ"ej#Z#e#e"Gd d!d!eZ$ej%Z%e%e$Gd"d#d#eZ&ej'Z'e'e&Gd$d%d%eZ(ej)Z)e)e(Gd&d'd'e Z*ej+Z+e+e*Gd(d)d)eZ,ej-Z-e-e,Gd*d+d+eZ.ej/Z/e/e.Gd,d-d-e,Z0ej1Z1e1e0Gd.d/d/eZ2ej3Z3e3e2Gd0d1d1eZ4ej5Z5e5e4Gd2d3d3eZ6ej7Z7e7e6Gd4d5d5eZ8ej9Z9e9e8Gd6d7d7eZ:ej;Z;e;e:Gd8d9d9eZej?Z?e?e>Gdd?d?eZBejCZCeCeBd@dAZDeDeB_EdBdCZFeFeB_GdDdEZHeHeB_IdFdGZJeJeB_KdHdIZLeLeB_MdJdKZNeNeB_OdLdMZPePeB_QdNdOZReReB_SdPdQZTeTeB_UdRdSZVeVeB_WdTdUZXeXeB_YdVdWZZeZeB_[dXdYZ\e\eB_]dZd[Z^e^eB__d\d]Z`e`eB_ad^d_ZbebeB_cd`daZdedeB_edbdcZfefeB_gdddeZheheB_idfdgZjejeB_kdhdiZleleB_mGdjdkdkeZnejoZoeoenGdldmdmeZpejqZqeqepGdndodoeZrejsZseserGdpdqdqerZtejuZueuetdrdsZvejvZvdtduZwejwZwGdvdwdwerZxejyZyeyexGdxdydyeZzej{Z{e{ezGdzd{d{eZ|ej}Z}e}e|d|d}Z~ej~Z~Gd~ddeZejZeee|je|_ddZee|_[dddZee|_[ddZee|_[e|je|_e|je|_dddZee|_[dddZee|_[dddZee|_[dddZee|_[dddZee|_[ddZee|_[e|je|_ddZee|_[ddZee|_[ddZee|_[etjet_exjex_dS)) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr._conf) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer/usr/lib64/python3.6/conf.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7c@seZdZiZddZiZddZddZeZ e j Z ddZ ddZd+d d Zd,d d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*S)-SwigPyIteratorcCst|t||S)N)r-r9)r'r)r*rrrdszSwigPyIterator.cCs t|t|S)N)r/r9)r'r)rrrr:fscOs tddS)Nz*No constructor defined - class is abstract)r&)r'argskwargsrrr__init__hszSwigPyIterator.__init__cCsdS)Nr)r'rrrr:lscCs tj|S)N)rZSwigPyIterator_value)r'rrrr*nszSwigPyIterator.valuercCs tj||S)N)rZSwigPyIterator_incr)r'nrrrincrqszSwigPyIterator.incrcCs tj||S)N)rZSwigPyIterator_decr)r'r>rrrdecrtszSwigPyIterator.decrcCs tj||S)N)rZSwigPyIterator_distance)r'xrrrdistancewszSwigPyIterator.distancecCs tj||S)N)rZSwigPyIterator_equal)r'rArrrequalzszSwigPyIterator.equalcCs tj|S)N)rZSwigPyIterator_copy)r'rrrcopy}szSwigPyIterator.copycCs tj|S)N)rZSwigPyIterator_next)r'rrrnextszSwigPyIterator.nextcCs tj|S)N)rZSwigPyIterator___next__)r'rrr__next__szSwigPyIterator.__next__cCs tj|S)N)rZSwigPyIterator_previous)r'rrrpreviousszSwigPyIterator.previouscCs tj||S)N)rZSwigPyIterator_advance)r'r>rrradvanceszSwigPyIterator.advancecCs tj||S)N)rZSwigPyIterator___eq__)r'rArrr__eq__szSwigPyIterator.__eq__cCs tj||S)N)rZSwigPyIterator___ne__)r'rArrr__ne__szSwigPyIterator.__ne__cCs tj||S)N)rZSwigPyIterator___iadd__)r'r>rrr__iadd__szSwigPyIterator.__iadd__cCs tj||S)N)rZSwigPyIterator___isub__)r'r>rrr__isub__szSwigPyIterator.__isub__cCs tj||S)N)rZSwigPyIterator___add__)r'r>rrr__add__szSwigPyIterator.__add__cGstj|f|S)N)rZSwigPyIterator___sub__)r'r;rrr__sub__szSwigPyIterator.__sub__cCs|S)Nr)r'rrr__iter__szSwigPyIterator.__iter__N)r)r)rr5r8r!r%r. __getattr__r=r6r1rZdelete_SwigPyIterator__swig_destroy____del__r*r?r@rBrCrDrErFrGrHrIrJrKrLrMrNrOrrrrr9bs2  r9c@seZdZiZddZiZddZddZeZ e j Z e j Ze jZe jZe jZe jZe jZe jZe jZe jZddZdd Z d d Z!d d Z"ddZ#ddZ$e j%Z&ddZ'dS)OptioncCst|t||S)N)r-rS)r'r)r*rrrr:szOption.cCs t|t|S)N)r/rS)r'r)rrrr:scOs tddS)Nz*No constructor defined - class is abstract)r&)r'r;r<rrrr=szOption.__init__cCs tj|S)N)rZ Option_clone)r'rrrclonesz Option.clonecCs tj|S)N)rZOption_getPriority)r'rrr getPriorityszOption.getPrioritycCstj|||S)N)rZ Option_set)r'priorityr*rrrsetsz Option.setcCs tj|S)N)rZOption_getValueString)r'rrrgetValueStringszOption.getValueStringcCs tj|S)N)rZ Option_empty)r'rrremptysz Option.emptycCs tj|S)N)rZ Option_reset)r'rrrresetsz Option.resetcCsdS)Nr)r'rrrr:sN)(rr5r8r!r%r.rPr=r6r1rZOption_Priority_EMPTYZPriority_EMPTYZOption_Priority_DEFAULTZPriority_DEFAULTZOption_Priority_MAINCONFIGZPriority_MAINCONFIGZOption_Priority_AUTOMATICCONFIGZPriority_AUTOMATICCONFIGZOption_Priority_REPOCONFIGZPriority_REPOCONFIGZOption_Priority_PLUGINDEFAULTZPriority_PLUGINDEFAULTZOption_Priority_PLUGINCONFIGZPriority_PLUGINCONFIGZOption_Priority_DROPINCONFIGZPriority_DROPINCONFIGZOption_Priority_COMMANDLINEZPriority_COMMANDLINEZOption_Priority_RUNTIMEZPriority_RUNTIMErTrUrWrXrYrZZ delete_OptionrQrRrrrrrSs0rSc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZddZddZejZddZdS) OptionBoolr!cCst|t||S)N)r-r[)r'r)r*rrrr:szOptionBool.r.cCs t|t|S)N)r/r[)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionBoolrappendr2r3)r'r;rrrrr=s  zOptionBool.__init__cCs tj|S)N)rZOptionBool_clone)r'rrrrTszOptionBool.clonecCs tj||S)N)rZOptionBool_test)r'Zarg2rrrtestszOptionBool.testcCs tj||S)N)rZOptionBool_fromString)r'r*rrr fromStringszOptionBool.fromStringcGstj|f|S)N)rZOptionBool_set)r'r;rrrrWszOptionBool.setcCs tj|S)N)rZOptionBool_getValue)r'rrrgetValueszOptionBool.getValuecCs tj|S)N)rZOptionBool_getDefaultValue)r'rrrgetDefaultValueszOptionBool.getDefaultValuecCs tj||S)N)rZOptionBool_toString)r'r*rrrtoStringszOptionBool.toStringcCs tj|S)N)rZOptionBool_getValueString)r'rrrrXszOptionBool.getValueStringcCs tj|S)N)rZOptionBool_getTrueValues)r'rrr getTrueValuesszOptionBool.getTrueValuescCs tj|S)N)rZOptionBool_getFalseValues)r'rrrgetFalseValuesszOptionBool.getFalseValuescCs tj|S)N)rZOptionBool_reset)r'rrrrZszOptionBool.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rS_supdategetattrr%r.rPr6r1r=rTr]r^rWr_r`rarXrbrcrZrZdelete_OptionBoolrQrRrrrrr[s.  r[c@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionEnumStringr!cCst|t||S)N)r-rg)r'r)r*rrrr: szOptionEnumString.r.cCs t|t|S)N)r/rg)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionEnumStringrr\r2r3)r'r;rrrrr=s  zOptionEnumString.__init__cCs tj|S)N)rZOptionEnumString_clone)r'rrrrTszOptionEnumString.clonecCs tj||S)N)rZOptionEnumString_test)r'r*rrrr]szOptionEnumString.testcCs tj||S)N)rZOptionEnumString_fromString)r'r*rrrr^szOptionEnumString.fromStringcCstj|||S)N)rZOptionEnumString_set)r'rVr*rrrrW"szOptionEnumString.setcCs tj|S)N)rZOptionEnumString_getValue)r'rrrr_%szOptionEnumString.getValuecCs tj|S)N)rZ OptionEnumString_getDefaultValue)r'rrrr`(sz OptionEnumString.getDefaultValuecCs tj|S)N)rZOptionEnumString_getValueString)r'rrrrX+szOptionEnumString.getValueStringcCs tj|S)N)rZOptionEnumString_reset)r'rrrrZ.szOptionEnumString.resetcCsdS)Nr)r'rrrr:1sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rXrZrZdelete_OptionEnumStringrQrRrrrrrgs(  rgc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberInt32r!cCst|t||S)N)r-rh)r'r)r*rrrr:9szOptionNumberInt32.r.cCs t|t|S)N)r/rh)r'r)rrrr:=sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberInt32rr\r2r3)r'r;rrrrr=@s  zOptionNumberInt32.__init__cCs tj|S)N)rZOptionNumberInt32_clone)r'rrrrTGszOptionNumberInt32.clonecCs tj||S)N)rZOptionNumberInt32_test)r'r*rrrr]JszOptionNumberInt32.testcCs tj||S)N)rZOptionNumberInt32_fromString)r'r*rrrr^MszOptionNumberInt32.fromStringcGstj|f|S)N)rZOptionNumberInt32_set)r'r;rrrrWPszOptionNumberInt32.setcCs tj|S)N)rZOptionNumberInt32_getValue)r'rrrr_SszOptionNumberInt32.getValuecCs tj|S)N)rZ!OptionNumberInt32_getDefaultValue)r'rrrr`Vsz!OptionNumberInt32.getDefaultValuecCs tj||S)N)rZOptionNumberInt32_toString)r'r*rrrraYszOptionNumberInt32.toStringcCs tj|S)N)rZ OptionNumberInt32_getValueString)r'rrrrX\sz OptionNumberInt32.getValueStringcCs tj|S)N)rZOptionNumberInt32_reset)r'rrrrZ_szOptionNumberInt32.resetcCsdS)Nr)r'rrrr:bsN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberInt32rQrRrrrrrh5s*  rhc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberUInt32r!cCst|t||S)N)r-ri)r'r)r*rrrr:jszOptionNumberUInt32.r.cCs t|t|S)N)r/ri)r'r)rrrr:nsc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberUInt32rr\r2r3)r'r;rrrrr=qs  zOptionNumberUInt32.__init__cCs tj|S)N)rZOptionNumberUInt32_clone)r'rrrrTxszOptionNumberUInt32.clonecCs tj||S)N)rZOptionNumberUInt32_test)r'r*rrrr]{szOptionNumberUInt32.testcCs tj||S)N)rZOptionNumberUInt32_fromString)r'r*rrrr^~szOptionNumberUInt32.fromStringcGstj|f|S)N)rZOptionNumberUInt32_set)r'r;rrrrWszOptionNumberUInt32.setcCs tj|S)N)rZOptionNumberUInt32_getValue)r'rrrr_szOptionNumberUInt32.getValuecCs tj|S)N)rZ"OptionNumberUInt32_getDefaultValue)r'rrrr`sz"OptionNumberUInt32.getDefaultValuecCs tj||S)N)rZOptionNumberUInt32_toString)r'r*rrrraszOptionNumberUInt32.toStringcCs tj|S)N)rZ!OptionNumberUInt32_getValueString)r'rrrrXsz!OptionNumberUInt32.getValueStringcCs tj|S)N)rZOptionNumberUInt32_reset)r'rrrrZszOptionNumberUInt32.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberUInt32rQrRrrrrrifs*  ric@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberInt64r!cCst|t||S)N)r-rj)r'r)r*rrrr:szOptionNumberInt64.r.cCs t|t|S)N)r/rj)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberInt64rr\r2r3)r'r;rrrrr=s  zOptionNumberInt64.__init__cCs tj|S)N)rZOptionNumberInt64_clone)r'rrrrTszOptionNumberInt64.clonecCs tj||S)N)rZOptionNumberInt64_test)r'r*rrrr]szOptionNumberInt64.testcCs tj||S)N)rZOptionNumberInt64_fromString)r'r*rrrr^szOptionNumberInt64.fromStringcGstj|f|S)N)rZOptionNumberInt64_set)r'r;rrrrWszOptionNumberInt64.setcCs tj|S)N)rZOptionNumberInt64_getValue)r'rrrr_szOptionNumberInt64.getValuecCs tj|S)N)rZ!OptionNumberInt64_getDefaultValue)r'rrrr`sz!OptionNumberInt64.getDefaultValuecCs tj||S)N)rZOptionNumberInt64_toString)r'r*rrrraszOptionNumberInt64.toStringcCs tj|S)N)rZ OptionNumberInt64_getValueString)r'rrrrXsz OptionNumberInt64.getValueStringcCs tj|S)N)rZOptionNumberInt64_reset)r'rrrrZszOptionNumberInt64.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberInt64rQrRrrrrrjs*  rjc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberUInt64r!cCst|t||S)N)r-rk)r'r)r*rrrr:szOptionNumberUInt64.r.cCs t|t|S)N)r/rk)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberUInt64rr\r2r3)r'r;rrrrr=s  zOptionNumberUInt64.__init__cCs tj|S)N)rZOptionNumberUInt64_clone)r'rrrrTszOptionNumberUInt64.clonecCs tj||S)N)rZOptionNumberUInt64_test)r'r*rrrr]szOptionNumberUInt64.testcCs tj||S)N)rZOptionNumberUInt64_fromString)r'r*rrrr^szOptionNumberUInt64.fromStringcGstj|f|S)N)rZOptionNumberUInt64_set)r'r;rrrrWszOptionNumberUInt64.setcCs tj|S)N)rZOptionNumberUInt64_getValue)r'rrrr_szOptionNumberUInt64.getValuecCs tj|S)N)rZ"OptionNumberUInt64_getDefaultValue)r'rrrr`sz"OptionNumberUInt64.getDefaultValuecCs tj||S)N)rZOptionNumberUInt64_toString)r'r*rrrraszOptionNumberUInt64.toStringcCs tj|S)N)rZ!OptionNumberUInt64_getValueString)r'rrrrXsz!OptionNumberUInt64.getValueStringcCs tj|S)N)rZOptionNumberUInt64_reset)r'rrrrZszOptionNumberUInt64.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberUInt64rQrRrrrrrks*  rkc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionNumberFloatr!cCst|t||S)N)r-rl)r'r)r*rrrr:szOptionNumberFloat.r.cCs t|t|S)N)r/rl)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionNumberFloatrr\r2r3)r'r;rrrrr=s  zOptionNumberFloat.__init__cCs tj|S)N)rZOptionNumberFloat_clone)r'rrrrT szOptionNumberFloat.clonecCs tj||S)N)rZOptionNumberFloat_test)r'r*rrrr]szOptionNumberFloat.testcCs tj||S)N)rZOptionNumberFloat_fromString)r'r*rrrr^szOptionNumberFloat.fromStringcGstj|f|S)N)rZOptionNumberFloat_set)r'r;rrrrWszOptionNumberFloat.setcCs tj|S)N)rZOptionNumberFloat_getValue)r'rrrr_szOptionNumberFloat.getValuecCs tj|S)N)rZ!OptionNumberFloat_getDefaultValue)r'rrrr`sz!OptionNumberFloat.getDefaultValuecCs tj||S)N)rZOptionNumberFloat_toString)r'r*rrrraszOptionNumberFloat.toStringcCs tj|S)N)rZ OptionNumberFloat_getValueString)r'rrrrX sz OptionNumberFloat.getValueStringcCs tj|S)N)rZOptionNumberFloat_reset)r'rrrrZ#szOptionNumberFloat.resetcCsdS)Nr)r'rrrr:&sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionNumberFloatrQrRrrrrrls*  rlc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZejZddZdS) OptionSecondsr!cCst|t||S)N)r-rm)r'r)r*rrrr:.szOptionSeconds.r.cCs t|t|S)N)r/rm)r'r)rrrr:2sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionSecondsrr\r2r3)r'r;rrrrr=5s  zOptionSeconds.__init__cCs tj|S)N)rZOptionSeconds_clone)r'rrrrT<szOptionSeconds.clonecCs tj||S)N)rZOptionSeconds_fromString)r'r*rrrr^?szOptionSeconds.fromStringcGstj|f|S)N)rZOptionSeconds_set)r'r;rrrrWBszOptionSeconds.setcCsdS)Nr)r'rrrr:EsN)rr5r8r!rhrdrerfr%r.rPr6r1r=rTr^rWrZdelete_OptionSecondsrQrRrrrrrm*s  rmc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS) OptionStringr!cCst|t||S)N)r-rn)r'r)r*rrrr:MszOptionString.r.cCs t|t|S)N)r/rn)r'r)rrrr:Qsc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionStringrr\r2r3)r'r;rrrrr=Ts  zOptionString.__init__cCs tj|S)N)rZOptionString_clone)r'rrrrT[szOptionString.clonecCs tj||S)N)rZOptionString_test)r'r*rrrr]^szOptionString.testcCstj|||S)N)rZOptionString_set)r'rVr*rrrrWaszOptionString.setcCs tj||S)N)rZOptionString_fromString)r'r*rrrr^dszOptionString.fromStringcCs tj|S)N)rZOptionString_getValue)r'rrrr_gszOptionString.getValuecCs tj|S)N)rZOptionString_getDefaultValue)r'rrrr`jszOptionString.getDefaultValuecCs tj|S)N)rZOptionString_getValueString)r'rrrrXmszOptionString.getValueStringcCs tj|S)N)rZOptionString_reset)r'rrrrZpszOptionString.resetcCsdS)Nr)r'rrrr:ssN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]rWr^r_r`rXrZrZdelete_OptionStringrQrRrrrrrnIs(  rnc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZddZejZddZdS)OptionStringListr!cCst|t||S)N)r-ro)r'r)r*rrrr:{szOptionStringList.r.cCs t|t|S)N)r/ro)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionStringListrr\r2r3)r'r;rrrrr=s  zOptionStringList.__init__cCs tj|S)N)rZOptionStringList_clone)r'rrrrTszOptionStringList.clonecCs tj||S)N)rZOptionStringList_test)r'r*rrrr]szOptionStringList.testcCs tj||S)N)rZOptionStringList_fromString)r'r*rrrr^szOptionStringList.fromStringcGstj|f|S)N)rZOptionStringList_set)r'r;rrrrWszOptionStringList.setcCs tj|S)N)rZOptionStringList_getValue)r'rrrr_szOptionStringList.getValuecCs tj|S)N)rZ OptionStringList_getDefaultValue)r'rrrr`sz OptionStringList.getDefaultValuecCs tj||S)N)rZOptionStringList_toString)r'r*rrrraszOptionStringList.toStringcCs tj|S)N)rZOptionStringList_getValueString)r'rrrrXszOptionStringList.getValueStringcCs tj|S)N)rZOptionStringList_reset)r'rrrrZszOptionStringList.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTr]r^rWr_r`rarXrZrZdelete_OptionStringListrQrRrrrrrows*  roc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZejZddZdS) OptionPathr!cCst|t||S)N)r-rp)r'r)r*rrrr:szOptionPath.r.cCs t|t|S)N)r/rp)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionPathrr\r2r3)r'r;rrrrr=s  zOptionPath.__init__cCs tj|S)N)rZOptionPath_clone)r'rrrrTszOptionPath.clonecCs tj||S)N)rZOptionPath_test)r'r*rrrr]szOptionPath.testcCstj|||S)N)rZOptionPath_set)r'rVr*rrrrWszOptionPath.setcCsdS)Nr)r'rrrr:sN)rr5r8r!rnrdrerfr%r.rPr6r1r=rTr]rWrZdelete_OptionPathrQrRrrrrrps  rpc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildBoolr!cCst|t||S)N)r-rq)r'r)r*rrrr:szOptionChildBool.r.cCs t|t|S)N)r/rq)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildBoolrr\r2r3)r'parentrrrrr=s  zOptionChildBool.__init__cCs tj|S)N)rZOptionChildBool_clone)r'rrrrTszOptionChildBool.clonecCs tj|S)N)rZOptionChildBool_getPriority)r'rrrrUszOptionChildBool.getPrioritycGstj|f|S)N)rZOptionChildBool_set)r'r;rrrrWszOptionChildBool.setcCs tj|S)N)rZOptionChildBool_getValue)r'rrrr_szOptionChildBool.getValuecCs tj|S)N)rZOptionChildBool_getDefaultValue)r'rrrr`szOptionChildBool.getDefaultValuecCs tj|S)N)rZOptionChildBool_getValueString)r'rrrrXszOptionChildBool.getValueStringcCs tj|S)N)rZOptionChildBool_empty)r'rrrrYszOptionChildBool.emptycCs tj|S)N)rZOptionChildBool_reset)r'rrrrZszOptionChildBool.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildBoolrQrRrrrrrqs(  rqc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildStringr!cCst|t||S)N)r-rs)r'r)r*rrrr:szOptionChildString.r.cCs t|t|S)N)r/rs)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildStringrr\r2r3)r'rrrrrrr=s  zOptionChildString.__init__cCs tj|S)N)rZOptionChildString_clone)r'rrrrTszOptionChildString.clonecCs tj|S)N)rZOptionChildString_getPriority)r'rrrrU szOptionChildString.getPrioritycGstj|f|S)N)rZOptionChildString_set)r'r;rrrrW szOptionChildString.setcCs tj|S)N)rZOptionChildString_getValue)r'rrrr_szOptionChildString.getValuecCs tj|S)N)rZ!OptionChildString_getDefaultValue)r'rrrr`sz!OptionChildString.getDefaultValuecCs tj|S)N)rZ OptionChildString_getValueString)r'rrrrXsz OptionChildString.getValueStringcCs tj|S)N)rZOptionChildString_empty)r'rrrrYszOptionChildString.emptycCs tj|S)N)rZOptionChildString_reset)r'rrrrZszOptionChildString.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildStringrQrRrrrrrss(  rsc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildStringListr!cCst|t||S)N)r-rt)r'r)r*rrrr:'szOptionChildStringList.r.cCs t|t|S)N)r/rt)r'r)rrrr:+sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildStringListrr\r2r3)r'rrrrrrr=.s  zOptionChildStringList.__init__cCs tj|S)N)rZOptionChildStringList_clone)r'rrrrT5szOptionChildStringList.clonecCs tj|S)N)rZ!OptionChildStringList_getPriority)r'rrrrU8sz!OptionChildStringList.getPrioritycGstj|f|S)N)rZOptionChildStringList_set)r'r;rrrrW;szOptionChildStringList.setcCs tj|S)N)rZOptionChildStringList_getValue)r'rrrr_>szOptionChildStringList.getValuecCs tj|S)N)rZ%OptionChildStringList_getDefaultValue)r'rrrr`Asz%OptionChildStringList.getDefaultValuecCs tj|S)N)rZ$OptionChildStringList_getValueString)r'rrrrXDsz$OptionChildStringList.getValueStringcCs tj|S)N)rZOptionChildStringList_empty)r'rrrrYGszOptionChildStringList.emptycCs tj|S)N)rZOptionChildStringList_reset)r'rrrrZJszOptionChildStringList.resetcCsdS)Nr)r'rrrr:MsN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildStringListrQrRrrrrrt#s(  rtc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildNumberInt32r!cCst|t||S)N)r-ru)r'r)r*rrrr:UszOptionChildNumberInt32.r.cCs t|t|S)N)r/ru)r'r)rrrr:Ysc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildNumberInt32rr\r2r3)r'rrrrrrr=\s  zOptionChildNumberInt32.__init__cCs tj|S)N)rZOptionChildNumberInt32_clone)r'rrrrTcszOptionChildNumberInt32.clonecCs tj|S)N)rZ"OptionChildNumberInt32_getPriority)r'rrrrUfsz"OptionChildNumberInt32.getPrioritycGstj|f|S)N)rZOptionChildNumberInt32_set)r'r;rrrrWiszOptionChildNumberInt32.setcCs tj|S)N)rZOptionChildNumberInt32_getValue)r'rrrr_lszOptionChildNumberInt32.getValuecCs tj|S)N)rZ&OptionChildNumberInt32_getDefaultValue)r'rrrr`osz&OptionChildNumberInt32.getDefaultValuecCs tj|S)N)rZ%OptionChildNumberInt32_getValueString)r'rrrrXrsz%OptionChildNumberInt32.getValueStringcCs tj|S)N)rZOptionChildNumberInt32_empty)r'rrrrYuszOptionChildNumberInt32.emptycCs tj|S)N)rZOptionChildNumberInt32_reset)r'rrrrZxszOptionChildNumberInt32.resetcCsdS)Nr)r'rrrr:{sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildNumberInt32rQrRrrrrruQs(  ruc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildNumberUInt32r!cCst|t||S)N)r-rv)r'r)r*rrrr:sz OptionChildNumberUInt32.r.cCs t|t|S)N)r/rv)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildNumberUInt32rr\r2r3)r'rrrrrrr=s  z OptionChildNumberUInt32.__init__cCs tj|S)N)rZOptionChildNumberUInt32_clone)r'rrrrTszOptionChildNumberUInt32.clonecCs tj|S)N)rZ#OptionChildNumberUInt32_getPriority)r'rrrrUsz#OptionChildNumberUInt32.getPrioritycGstj|f|S)N)rZOptionChildNumberUInt32_set)r'r;rrrrWszOptionChildNumberUInt32.setcCs tj|S)N)rZ OptionChildNumberUInt32_getValue)r'rrrr_sz OptionChildNumberUInt32.getValuecCs tj|S)N)rZ'OptionChildNumberUInt32_getDefaultValue)r'rrrr`sz'OptionChildNumberUInt32.getDefaultValuecCs tj|S)N)rZ&OptionChildNumberUInt32_getValueString)r'rrrrXsz&OptionChildNumberUInt32.getValueStringcCs tj|S)N)rZOptionChildNumberUInt32_empty)r'rrrrYszOptionChildNumberUInt32.emptycCs tj|S)N)rZOptionChildNumberUInt32_reset)r'rrrrZszOptionChildNumberUInt32.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildNumberUInt32rQrRrrrrrvs(  rvc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildNumberFloatr!cCst|t||S)N)r-rw)r'r)r*rrrr:szOptionChildNumberFloat.r.cCs t|t|S)N)r/rw)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildNumberFloatrr\r2r3)r'rrrrrrr=s  zOptionChildNumberFloat.__init__cCs tj|S)N)rZOptionChildNumberFloat_clone)r'rrrrTszOptionChildNumberFloat.clonecCs tj|S)N)rZ"OptionChildNumberFloat_getPriority)r'rrrrUsz"OptionChildNumberFloat.getPrioritycGstj|f|S)N)rZOptionChildNumberFloat_set)r'r;rrrrWszOptionChildNumberFloat.setcCs tj|S)N)rZOptionChildNumberFloat_getValue)r'rrrr_szOptionChildNumberFloat.getValuecCs tj|S)N)rZ&OptionChildNumberFloat_getDefaultValue)r'rrrr`sz&OptionChildNumberFloat.getDefaultValuecCs tj|S)N)rZ%OptionChildNumberFloat_getValueString)r'rrrrXsz%OptionChildNumberFloat.getValueStringcCs tj|S)N)rZOptionChildNumberFloat_empty)r'rrrrYszOptionChildNumberFloat.emptycCs tj|S)N)rZOptionChildNumberFloat_reset)r'rrrrZszOptionChildNumberFloat.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildNumberFloatrQrRrrrrrws(  rwc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildEnumStringr!cCst|t||S)N)r-rx)r'r)r*rrrr:szOptionChildEnumString.r.cCs t|t|S)N)r/rx)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildEnumStringrr\r2r3)r'rrrrrrr=s  zOptionChildEnumString.__init__cCs tj|S)N)rZOptionChildEnumString_clone)r'rrrrTszOptionChildEnumString.clonecCs tj|S)N)rZ!OptionChildEnumString_getPriority)r'rrrrUsz!OptionChildEnumString.getPrioritycGstj|f|S)N)rZOptionChildEnumString_set)r'r;rrrrWszOptionChildEnumString.setcCs tj|S)N)rZOptionChildEnumString_getValue)r'rrrr_szOptionChildEnumString.getValuecCs tj|S)N)rZ%OptionChildEnumString_getDefaultValue)r'rrrr`sz%OptionChildEnumString.getDefaultValuecCs tj|S)N)rZ$OptionChildEnumString_getValueString)r'rrrrXsz$OptionChildEnumString.getValueStringcCs tj|S)N)rZOptionChildEnumString_empty)r'rrrrYszOptionChildEnumString.emptycCs tj|S)N)rZOptionChildEnumString_reset)r'rrrrZszOptionChildEnumString.resetcCsdS)Nr)r'rrrr:sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildEnumStringrQrRrrrrrxs(  rxc@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ dd Zd d Zd d ZddZddZddZddZddZejZddZdS)OptionChildSecondsr!cCst|t||S)N)r-ry)r'r)r*rrrr: szOptionChildSeconds.r.cCs t|t|S)N)r/ry)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_OptionChildSecondsrr\r2r3)r'rrrrrrr=s  zOptionChildSeconds.__init__cCs tj|S)N)rZOptionChildSeconds_clone)r'rrrrTszOptionChildSeconds.clonecCs tj|S)N)rZOptionChildSeconds_getPriority)r'rrrrUszOptionChildSeconds.getPrioritycGstj|f|S)N)rZOptionChildSeconds_set)r'r;rrrrW!szOptionChildSeconds.setcCs tj|S)N)rZOptionChildSeconds_getValue)r'rrrr_$szOptionChildSeconds.getValuecCs tj|S)N)rZ"OptionChildSeconds_getDefaultValue)r'rrrr`'sz"OptionChildSeconds.getDefaultValuecCs tj|S)N)rZ!OptionChildSeconds_getValueString)r'rrrrX*sz!OptionChildSeconds.getValueStringcCs tj|S)N)rZOptionChildSeconds_empty)r'rrrrY-szOptionChildSeconds.emptycCs tj|S)N)rZOptionChildSeconds_reset)r'rrrrZ0szOptionChildSeconds.resetcCsdS)Nr)r'rrrr:3sN)rr5r8r!rSrdrerfr%r.rPr6r1r=rTrUrWr_r`rXrYrZrZdelete_OptionChildSecondsrQrRrrrrry s(  ryc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)H VectorStringcCst|t||S)N)r-rz)r'r)r*rrrr:9szVectorString.cCs t|t|S)N)r/rz)r'r)rrrr:;scCs tj|S)N)rZVectorString_iterator)r'rrriterator>szVectorString.iteratorcCs|jS)N)r{)r'rrrrO@szVectorString.__iter__cCs tj|S)N)rZVectorString___nonzero__)r'rrr __nonzero__CszVectorString.__nonzero__cCs tj|S)N)rZVectorString___bool__)r'rrr__bool__FszVectorString.__bool__cCs tj|S)N)rZVectorString___len__)r'rrr__len__IszVectorString.__len__cCstj|||S)N)rZVectorString___getslice__)r'ijrrr __getslice__LszVectorString.__getslice__cGstj|f|S)N)rZVectorString___setslice__)r'r;rrr __setslice__OszVectorString.__setslice__cCstj|||S)N)rZVectorString___delslice__)r'rrrrr __delslice__RszVectorString.__delslice__cGstj|f|S)N)rZVectorString___delitem__)r'r;rrr __delitem__UszVectorString.__delitem__cGstj|f|S)N)rZVectorString___getitem__)r'r;rrr __getitem__XszVectorString.__getitem__cGstj|f|S)N)rZVectorString___setitem__)r'r;rrr __setitem__[szVectorString.__setitem__cCs tj|S)N)rZVectorString_pop)r'rrrpop^szVectorString.popcCs tj||S)N)rZVectorString_append)r'rArrrr\aszVectorString.appendcCs tj|S)N)rZVectorString_empty)r'rrrrYdszVectorString.emptycCs tj|S)N)rZVectorString_size)r'rrrsizegszVectorString.sizecCs tj||S)N)rZVectorString_swap)r'vrrrswapjszVectorString.swapcCs tj|S)N)rZVectorString_begin)r'rrrbeginmszVectorString.begincCs tj|S)N)rZVectorString_end)r'rrrendpszVectorString.endcCs tj|S)N)rZVectorString_rbegin)r'rrrrbeginsszVectorString.rbegincCs tj|S)N)rZVectorString_rend)r'rrrrendvszVectorString.rendcCs tj|S)N)rZVectorString_clear)r'rrrclearyszVectorString.clearcCs tj|S)N)rZVectorString_get_allocator)r'rrr get_allocator|szVectorString.get_allocatorcCs tj|S)N)rZVectorString_pop_back)r'rrrpop_backszVectorString.pop_backcGstj|f|S)N)rZVectorString_erase)r'r;rrreraseszVectorString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorStringrr\r2r3)r'r;rrrrr=s  zVectorString.__init__cCs tj||S)N)rZVectorString_push_back)r'rArrr push_backszVectorString.push_backcCs tj|S)N)rZVectorString_front)r'rrrfrontszVectorString.frontcCs tj|S)N)rZVectorString_back)r'rrrbackszVectorString.backcCstj|||S)N)rZVectorString_assign)r'r>rArrrassignszVectorString.assigncGstj|f|S)N)rZVectorString_resize)r'r;rrrresizeszVectorString.resizecGstj|f|S)N)rZVectorString_insert)r'r;rrrinsertszVectorString.insertcCs tj||S)N)rZVectorString_reserve)r'r>rrrreserveszVectorString.reservecCs tj|S)N)rZVectorString_capacity)r'rrrcapacityszVectorString.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1r{rOr|r}r~rrrrrrrr\rYrrrrrrrrrrr=rrrrrrrrrZdelete_VectorStringrQrRrrrrrz7sPrzcCs tt|S)N)strlist)r'rrrVectorString__str__srcCst|t|kS)N)r)r'otherrrrVectorString__eq__srcCst|t|kS)N)r)r'rrrrVectorString__ne__srcCst|t|kS)N)r)r'rrrrVectorString__lt__srcCst|t|kS)N)r)r'rrrrVectorString__le__srcCst|t|kS)N)r)r'rrrrVectorString__gt__srcCst|t|kS)N)r)r'rrrrVectorString__ge__srcCs|j||S)N)extend)r'r*rrrVectorString__iadd__s rcCs&t|}||9}|j|j||S)N)rrr)r'r*datarrrVectorString__imul__s  rcCs|j}||9}|S)N)rD)r'r*resultrrrVectorString__mul__srcCs||S)Nr)r'r*rrrVectorString__rmul__srcCs|j}|j||S)N)rDr)r'r*rrrrVectorString__add__s rcCs|j|dS)N)r)r'itemrrrVectorString__appendsrcCs tt|S)N)rzr)r'rrrVectorString__copysrcCst|j|S)N)rcount)r'rrrrVectorString__countsrcCsx|D]}|j|qWdS)N)r)r'iterablerrrrVectorString__extends rcOst|}|j||S)N)rindex)r'r;r<rrrrVectorString__indexsrcOs*t|}|j|||j|j|dS)N)rrrr)r'r;r<rrrrVectorString__inserts rcOs*t|}|j|||j|j|dS)N)rremoverr)r'r;r<rrrrVectorString__removes rcOs&t|}|j|j|j|dS)N)rsortrr)r'r;r<rrrrVectorString__sortsrcOs&t|}|j|j|j|dS)N)rreverserr)r'r;r<rrrrVectorString__reversesrc@sveZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZejZddZdS) OptionBindscCst|t||S)N)r-r)r'r)r*rrrr:szOptionBinds.cCs t|t|S)N)r/r)r'r)rrrr:scCstj|||S)N)rZOptionBinds_add)r'idoptionrrraddszOptionBinds.addcGstj|f|S)N)rZOptionBinds_at)r'r;rrratszOptionBinds.atcCs tj|S)N)rZOptionBinds_empty)r'rrrrY"szOptionBinds.emptycCs tj|S)N)rZOptionBinds_size)r'rrrr%szOptionBinds.sizecCs tj||S)N)rZOptionBinds___getitem__)r'rrrrr(szOptionBinds.__getitem__cCs tj|S)N)rZOptionBinds___len__)r'rrrr~+szOptionBinds.__len__cCs tj|S)N)rZOptionBinds___iter__)r'rrrrO.szOptionBinds.__iter__c Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_OptionBindsrr\r2r3)r'rrrrr=1s zOptionBinds.__init__cCsdS)Nr)r'rrrr:8sN)rr5r8r!r%r.rPr6r1rrrYrrr~rOr=rZdelete_OptionBindsrQrRrrrrrsrc@sfeZdZiZddZiZddZddZeZ ddZ dd Z d d Z d d Z ddZejZddZdS)OptionBinds_ItemcCst|t||S)N)r-r)r'r)r*rrrr:>szOptionBinds_Item.cCs t|t|S)N)r/r)r'r)rrrr:@scOs tddS)NzNo constructor defined)r&)r'r;r<rrrr=BszOptionBinds_Item.__init__cCs tj|S)N)rZOptionBinds_Item_getPriority)r'rrrrUFszOptionBinds_Item.getPrioritycCstj|||S)N)rZOptionBinds_Item_newString)r'rVr*rrr newStringIszOptionBinds_Item.newStringcCs tj|S)N)rZOptionBinds_Item_getValueString)r'rrrrXLszOptionBinds_Item.getValueStringcCs tj|S)N)rZOptionBinds_Item_getAddValue)r'rrr getAddValueOszOptionBinds_Item.getAddValuecGstj|f|S)N)rZOptionBinds_Item_getOption)r'r;rrr getOptionRszOptionBinds_Item.getOptioncCsdS)Nr)r'rrrr:UsN)rr5r8r!r%r.rPr=r6r1rUrrXrrrZdelete_OptionBinds_ItemrQrRrrrrr<src@sFeZdZiZddZiZddZeZddZ ddZ e j Z ddZd S) ConfigcCst|t||S)N)r-r)r'r)r*rrrr:[szConfig.cCs t|t|S)N)r/r)r'r)rrrr:]scCs tj|S)N)rZConfig_optBinds)r'rrroptBinds`szConfig.optBindsc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZ new_Configrr\r2r3)r'rrrrr=cs zConfig.__init__cCsdS)Nr)r'rrrr:jsN)rr5r8r!r%r.rPr6r1rr=rZ delete_ConfigrQrRrrrrrYsrc@s*eZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z ddZ ejZddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Z d'd(Z!d)d*Z"d+d,Z#d-d.Z$d/d0Z%d1d2Z&d3d4Z'd5d6Z(d7d8Z)d9d:Z*d;d<Z+d=d>Z,d?d@Z-dAdBZ.dCdDZ/dEdFZ0dGdHZ1dIdJZ2dKdLZ3dMdNZ4dOdPZ5dQdRZ6dSdTZ7dUdVZ8dWdXZ9dYdZZ:d[d\Z;d]d^ZdcddZ?dedfZ@dgdhZAdidjZBdkdlZCdmdnZDdodpZEdqdrZFdsdtZGdudvZHdwdxZIdydzZJd{d|ZKd}d~ZLddZMddZNddZOddZPddZQddZRddZSddZTddZUddZVddZWddZXddZYddZZddZ[ddZ\ddZ]ddZ^ddZ_ddZ`ddZaddZbddZcddZdddZeddZfddZgddZhddZiddZjddZkddZlddZmdd„ZnddĄZoddƄZpddȄZqddʄZrdd̄Zsdd΄ZtddЄZudd҄ZvddԄZwddքZxdd؄ZyddڄZzdd܄Z{ddބZ|ddZ}ddZ~ddZddZereejZnejZer eejZnejZdS) ConfigMainr!cCst|t||S)N)r-r)r'r)r*rrrr:rszConfigMain.r.cCs t|t|S)N)r/r)r'r)rrrr:vsc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_ConfigMainrr\r2r3)r'rrrrr=ys zConfigMain.__init__cCsdS)Nr)r'rrrr:scCs tj|S)N)rZConfigMain_debuglevel)r'rrr debuglevelszConfigMain.debuglevelcCs tj|S)N)rZConfigMain_errorlevel)r'rrr errorlevelszConfigMain.errorlevelcCs tj|S)N)rZConfigMain_logfilelevel)r'rrr logfilelevelszConfigMain.logfilelevelcCs tj|S)N)rZConfigMain_installroot)r'rrr installrootszConfigMain.installrootcCs tj|S)N)rZConfigMain_config_file_path)r'rrrconfig_file_pathszConfigMain.config_file_pathcCs tj|S)N)rZConfigMain_plugins)r'rrrpluginsszConfigMain.pluginscCs tj|S)N)rZConfigMain_pluginpath)r'rrr pluginpathszConfigMain.pluginpathcCs tj|S)N)rZConfigMain_pluginconfpath)r'rrrpluginconfpathszConfigMain.pluginconfpathcCs tj|S)N)rZConfigMain_persistdir)r'rrr persistdirszConfigMain.persistdircCs tj|S)N)rZConfigMain_transformdb)r'rrr transformdbszConfigMain.transformdbcCs tj|S)N)rZConfigMain_recent)r'rrrrecentszConfigMain.recentcCs tj|S)N)rZConfigMain_reset_nice)r'rrr reset_niceszConfigMain.reset_nicecCs tj|S)N)rZConfigMain_system_cachedir)r'rrrsystem_cachedirszConfigMain.system_cachedircCs tj|S)N)rZConfigMain_cacheonly)r'rrr cacheonlyszConfigMain.cacheonlycCs tj|S)N)rZConfigMain_keepcache)r'rrr keepcacheszConfigMain.keepcachecCs tj|S)N)rZConfigMain_logdir)r'rrrlogdirszConfigMain.logdircCs tj|S)N)rZConfigMain_log_size)r'rrrlog_sizeszConfigMain.log_sizecCs tj|S)N)rZConfigMain_log_rotate)r'rrr log_rotateszConfigMain.log_rotatecCs tj|S)N)rZConfigMain_log_compress)r'rrr log_compressszConfigMain.log_compresscCs tj|S)N)rZConfigMain_varsdir)r'rrrvarsdirszConfigMain.varsdircCs tj|S)N)rZConfigMain_reposdir)r'rrrreposdirszConfigMain.reposdircCs tj|S)N)rZConfigMain_debug_solver)r'rrr debug_solverszConfigMain.debug_solvercCs tj|S)N)rZConfigMain_installonlypkgs)r'rrrinstallonlypkgsszConfigMain.installonlypkgscCs tj|S)N)rZConfigMain_group_package_types)r'rrrgroup_package_typesszConfigMain.group_package_typescCs tj|S)N)rZConfigMain_installonly_limit)r'rrrinstallonly_limitszConfigMain.installonly_limitcCs tj|S)N)rZConfigMain_tsflags)r'rrrtsflagsszConfigMain.tsflagscCs tj|S)N)rZConfigMain_assumeyes)r'rrr assumeyesszConfigMain.assumeyescCs tj|S)N)rZConfigMain_assumeno)r'rrrassumenoszConfigMain.assumenocCs tj|S)N)rZ ConfigMain_check_config_file_age)r'rrrcheck_config_file_agesz ConfigMain.check_config_file_agecCs tj|S)N)rZConfigMain_defaultyes)r'rrr defaultyesszConfigMain.defaultyescCs tj|S)N)rZConfigMain_diskspacecheck)r'rrrdiskspacecheckszConfigMain.diskspacecheckcCs tj|S)N)rZConfigMain_localpkg_gpgcheck)r'rrrlocalpkg_gpgcheckszConfigMain.localpkg_gpgcheckcCs tj|S)N)rZ"ConfigMain_gpgkey_dns_verification)r'rrrgpgkey_dns_verificationsz"ConfigMain.gpgkey_dns_verificationcCs tj|S)N)rZConfigMain_obsoletes)r'rrr obsoletesszConfigMain.obsoletescCs tj|S)N)rZConfigMain_showdupesfromrepos)r'rrrshowdupesfromreposszConfigMain.showdupesfromreposcCs tj|S)N)rZConfigMain_exit_on_lock)r'rrr exit_on_lockszConfigMain.exit_on_lockcCs tj|S)N)rZConfigMain_allow_vendor_change)r'rrrallow_vendor_changeszConfigMain.allow_vendor_changecCs tj|S)N)rZConfigMain_metadata_timer_sync)r'rrrmetadata_timer_syncszConfigMain.metadata_timer_synccCs tj|S)N)rZConfigMain_disable_excludes)r'rrrdisable_excludesszConfigMain.disable_excludescCs tj|S)N)rZConfigMain_multilib_policy)r'rrrmultilib_policyszConfigMain.multilib_policycCs tj|S)N)rZConfigMain_best)r'rrrbestszConfigMain.bestcCs tj|S)N)rZConfigMain_install_weak_deps)r'rrrinstall_weak_depsszConfigMain.install_weak_depscCs tj|S)N)rZConfigMain_bugtracker_url)r'rrrbugtracker_urlszConfigMain.bugtracker_urlcCs tj|S)N)rZConfigMain_zchunk)r'rrrzchunkszConfigMain.zchunkcCs tj|S)N)rZConfigMain_color)r'rrrcolorszConfigMain.colorcCs tj|S)N)rZ%ConfigMain_color_list_installed_older)r'rrrcolor_list_installed_older sz%ConfigMain.color_list_installed_oldercCs tj|S)N)rZ%ConfigMain_color_list_installed_newer)r'rrrcolor_list_installed_newer sz%ConfigMain.color_list_installed_newercCs tj|S)N)rZ)ConfigMain_color_list_installed_reinstall)r'rrrcolor_list_installed_reinstallsz)ConfigMain.color_list_installed_reinstallcCs tj|S)N)rZ%ConfigMain_color_list_installed_extra)r'rrrcolor_list_installed_extrasz%ConfigMain.color_list_installed_extracCs tj|S)N)rZ'ConfigMain_color_list_available_upgrade)r'rrrcolor_list_available_upgradesz'ConfigMain.color_list_available_upgradecCs tj|S)N)rZ)ConfigMain_color_list_available_downgrade)r'rrrcolor_list_available_downgradesz)ConfigMain.color_list_available_downgradecCs tj|S)N)rZ)ConfigMain_color_list_available_reinstall)r'rrrcolor_list_available_reinstallsz)ConfigMain.color_list_available_reinstallcCs tj|S)N)rZ'ConfigMain_color_list_available_install)r'rrrcolor_list_available_installsz'ConfigMain.color_list_available_installcCs tj|S)N)rZ!ConfigMain_color_update_installed)r'rrrcolor_update_installed!sz!ConfigMain.color_update_installedcCs tj|S)N)rZConfigMain_color_update_local)r'rrrcolor_update_local$szConfigMain.color_update_localcCs tj|S)N)rZConfigMain_color_update_remote)r'rrrcolor_update_remote'szConfigMain.color_update_remotecCs tj|S)N)rZConfigMain_color_search_match)r'rrrcolor_search_match*szConfigMain.color_search_matchcCs tj|S)N)rZConfigMain_history_record)r'rrrhistory_record-szConfigMain.history_recordcCs tj|S)N)rZ"ConfigMain_history_record_packages)r'rrrhistory_record_packages0sz"ConfigMain.history_record_packagescCs tj|S)N)rZConfigMain_rpmverbosity)r'rrr rpmverbosity3szConfigMain.rpmverbositycCs tj|S)N)rZConfigMain_strict)r'rrrstrict6szConfigMain.strictcCs tj|S)N)rZConfigMain_skip_broken)r'rrr skip_broken9szConfigMain.skip_brokencCs tj|S)N)rZ#ConfigMain_autocheck_running_kernel)r'rrrautocheck_running_kernel<sz#ConfigMain.autocheck_running_kernelcCs tj|S)N)rZ'ConfigMain_clean_requirements_on_remove)r'rrrclean_requirements_on_remove?sz'ConfigMain.clean_requirements_on_removecCs tj|S)N)rZConfigMain_history_list_view)r'rrrhistory_list_viewBszConfigMain.history_list_viewcCs tj|S)N)rZ(ConfigMain_upgrade_group_objects_upgrade)r'rrrupgrade_group_objects_upgradeEsz(ConfigMain.upgrade_group_objects_upgradecCs tj|S)N)rZConfigMain_destdir)r'rrrdestdirHszConfigMain.destdircCs tj|S)N)rZConfigMain_comment)r'rrrcommentKszConfigMain.commentcCs tj|S)N)rZConfigMain_downloadonly)r'rrr downloadonlyNszConfigMain.downloadonlycCs tj|S)N)rZConfigMain_ignorearch)r'rrr ignorearchQszConfigMain.ignorearchcCs tj|S)N)rZConfigMain_module_platform_id)r'rrrmodule_platform_idTszConfigMain.module_platform_idcCs tj|S)N)rZConfigMain_module_stream_switch)r'rrrmodule_stream_switchWszConfigMain.module_stream_switchcCs tj|S)N)rZConfigMain_module_obsoletes)r'rrrmodule_obsoletesZszConfigMain.module_obsoletescCs tj|S)N)rZConfigMain_user_agent)r'rrr user_agent]szConfigMain.user_agentcCs tj|S)N)rZConfigMain_countme)r'rrrcountme`szConfigMain.countmecCs tj|S)N)rZ!ConfigMain_protect_running_kernel)r'rrrprotect_running_kernelcsz!ConfigMain.protect_running_kernelcCs tj|S)N)rZConfigMain_retries)r'rrrretriesfszConfigMain.retriescCs tj|S)N)rZConfigMain_cachedir)r'rrrcachediriszConfigMain.cachedircCs tj|S)N)rZConfigMain_fastestmirror)r'rrr fastestmirrorlszConfigMain.fastestmirrorcCs tj|S)N)rZConfigMain_excludepkgs)r'rrr excludepkgsoszConfigMain.excludepkgscCs tj|S)N)rZConfigMain_includepkgs)r'rrr includepkgsrszConfigMain.includepkgscCs tj|S)N)rZConfigMain_proxy)r'rrrproxyuszConfigMain.proxycCs tj|S)N)rZConfigMain_proxy_username)r'rrrproxy_usernamexszConfigMain.proxy_usernamecCs tj|S)N)rZConfigMain_proxy_password)r'rrrproxy_password{szConfigMain.proxy_passwordcCs tj|S)N)rZConfigMain_proxy_auth_method)r'rrrproxy_auth_method~szConfigMain.proxy_auth_methodcCs tj|S)N)rZConfigMain_protected_packages)r'rrrprotected_packagesszConfigMain.protected_packagescCs tj|S)N)rZConfigMain_username)r'rrrusernameszConfigMain.usernamecCs tj|S)N)rZConfigMain_password)r'rrrpasswordszConfigMain.passwordcCs tj|S)N)rZConfigMain_gpgcheck)r'rrrgpgcheckszConfigMain.gpgcheckcCs tj|S)N)rZConfigMain_repo_gpgcheck)r'rrr repo_gpgcheckszConfigMain.repo_gpgcheckcCs tj|S)N)rZConfigMain_enabled)r'rrrenabledszConfigMain.enabledcCs tj|S)N)rZConfigMain_enablegroups)r'rrr enablegroupsszConfigMain.enablegroupscCs tj|S)N)rZConfigMain_bandwidth)r'rrr bandwidthszConfigMain.bandwidthcCs tj|S)N)rZConfigMain_minrate)r'rrrminrateszConfigMain.minratecCs tj|S)N)rZConfigMain_ip_resolve)r'rrr ip_resolveszConfigMain.ip_resolvecCs tj|S)N)rZConfigMain_throttle)r'rrrthrottleszConfigMain.throttlecCs tj|S)N)rZConfigMain_timeout)r'rrrtimeoutszConfigMain.timeoutcCs tj|S)N)rZ!ConfigMain_max_parallel_downloads)r'rrrmax_parallel_downloadssz!ConfigMain.max_parallel_downloadscCs tj|S)N)rZConfigMain_metadata_expire)r'rrrmetadata_expireszConfigMain.metadata_expirecCs tj|S)N)rZConfigMain_sslcacert)r'rrr sslcacertszConfigMain.sslcacertcCs tj|S)N)rZConfigMain_sslverify)r'rrr sslverifyszConfigMain.sslverifycCs tj|S)N)rZConfigMain_sslclientcert)r'rrr sslclientcertszConfigMain.sslclientcertcCs tj|S)N)rZConfigMain_sslclientkey)r'rrr sslclientkeyszConfigMain.sslclientkeycCs tj|S)N)rZConfigMain_proxy_sslcacert)r'rrrproxy_sslcacertszConfigMain.proxy_sslcacertcCs tj|S)N)rZConfigMain_proxy_sslverify)r'rrrproxy_sslverifyszConfigMain.proxy_sslverifycCs tj|S)N)rZConfigMain_proxy_sslclientcert)r'rrrproxy_sslclientcertszConfigMain.proxy_sslclientcertcCs tj|S)N)rZConfigMain_proxy_sslclientkey)r'rrrproxy_sslclientkeyszConfigMain.proxy_sslclientkeycCs tj|S)N)rZConfigMain_deltarpm)r'rrrdeltarpmszConfigMain.deltarpmcCs tj|S)N)rZConfigMain_deltarpm_percentage)r'rrrdeltarpm_percentageszConfigMain.deltarpm_percentagecCs tj|S)N)rZConfigMain_skip_if_unavailable)r'rrrskip_if_unavailableszConfigMain.skip_if_unavailablecCs tj|S)N)rZConfigMain_sslverifystatus)r'rrrsslverifystatusszConfigMain.sslverifystatusN)rr5r8r!rrdrerfr%r.rPr6r1r=rZdelete_ConfigMainrQrRrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r# staticmethodConfigMain_addVarsFromDirZaddVarsFromDirConfigMain_addVarsFromEnvZaddVarsFromEnvrrrrrns    rcCs tj||S)N)rr9)varsMapZdirPathrrrr9sr9cCs tj|S)N)rr:)r;rrrr:sr:c@seZdZiZx egD]ZejeediqWddZiZ x egD]Ze jeediqBWddZ e Z e jZddZddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Z d'd(Z!d)d*Z"d+d,Z#d-d.Z$d/d0Z%d1d2Z&d3d4Z'd5d6Z(d7d8Z)d9d:Z*d;d<Z+d=d>Z,d?d@Z-dAdBZ.dCdDZ/dEdFZ0dGdHZ1dIdJZ2dKdLZ3dMdNZ4dOdPZ5dQdRZ6dSdTZ7dUdVZ8dWdXZ9dYdZZ:d[d\Z;d]d^ZdcddZ?dedfZ@dgdhZAdidjZBdkdlZCdmS)n ConfigRepor!cCst|t||S)N)r-r<)r'r)r*rrrr:szConfigRepo.r.cCs t|t|S)N)r/r<)r'r)rrrr:scCsdS)Nr)r'rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_ConfigReporr\r2r3)r'r;rrrrr=s  zConfigRepo.__init__cCs tj|S)N)rZConfigRepo_getMainConfig)r'rrr getMainConfigszConfigRepo.getMainConfigcCs tj|S)N)rZConfigRepo_name)r'rrrr)szConfigRepo.namecCs tj|S)N)rZConfigRepo_enabled)r'rrrr#szConfigRepo.enabledcCs tj|S)N)rZConfigRepo_basecachedir)r'rrr basecachedirszConfigRepo.basecachedircCs tj|S)N)rZConfigRepo_baseurl)r'rrrbaseurlszConfigRepo.baseurlcCs tj|S)N)rZConfigRepo_mirrorlist)r'rrr mirrorlistszConfigRepo.mirrorlistcCs tj|S)N)rZConfigRepo_metalink)r'rrrmetalinkszConfigRepo.metalinkcCs tj|S)N)rZConfigRepo_type)r'rrrr szConfigRepo.typecCs tj|S)N)rZConfigRepo_mediaid)r'rrrmediaid szConfigRepo.mediaidcCs tj|S)N)rZConfigRepo_gpgkey)r'rrrgpgkeyszConfigRepo.gpgkeycCs tj|S)N)rZConfigRepo_excludepkgs)r'rrrrszConfigRepo.excludepkgscCs tj|S)N)rZConfigRepo_includepkgs)r'rrrrszConfigRepo.includepkgscCs tj|S)N)rZConfigRepo_fastestmirror)r'rrrrszConfigRepo.fastestmirrorcCs tj|S)N)rZConfigRepo_proxy)r'rrrrszConfigRepo.proxycCs tj|S)N)rZConfigRepo_proxy_username)r'rrrrszConfigRepo.proxy_usernamecCs tj|S)N)rZConfigRepo_proxy_password)r'rrrr"szConfigRepo.proxy_passwordcCs tj|S)N)rZConfigRepo_proxy_auth_method)r'rrrr%szConfigRepo.proxy_auth_methodcCs tj|S)N)rZConfigRepo_username)r'rrrr(szConfigRepo.usernamecCs tj|S)N)rZConfigRepo_password)r'rrrr +szConfigRepo.passwordcCs tj|S)N)rZConfigRepo_protected_packages)r'rrrr.szConfigRepo.protected_packagescCs tj|S)N)rZConfigRepo_gpgcheck)r'rrrr!1szConfigRepo.gpgcheckcCs tj|S)N)rZConfigRepo_repo_gpgcheck)r'rrrr"4szConfigRepo.repo_gpgcheckcCs tj|S)N)rZConfigRepo_enablegroups)r'rrrr$7szConfigRepo.enablegroupscCs tj|S)N)rZConfigRepo_retries)r'rrrr:szConfigRepo.retriescCs tj|S)N)rZConfigRepo_bandwidth)r'rrrr%=szConfigRepo.bandwidthcCs tj|S)N)rZConfigRepo_minrate)r'rrrr&@szConfigRepo.minratecCs tj|S)N)rZConfigRepo_ip_resolve)r'rrrr'CszConfigRepo.ip_resolvecCs tj|S)N)rZConfigRepo_throttle)r'rrrr(FszConfigRepo.throttlecCs tj|S)N)rZConfigRepo_timeout)r'rrrr)IszConfigRepo.timeoutcCs tj|S)N)rZ!ConfigRepo_max_parallel_downloads)r'rrrr*Lsz!ConfigRepo.max_parallel_downloadscCs tj|S)N)rZConfigRepo_metadata_expire)r'rrrr+OszConfigRepo.metadata_expirecCs tj|S)N)rZConfigRepo_cost)r'rrrcostRszConfigRepo.costcCs tj|S)N)rZConfigRepo_priority)r'rrrrVUszConfigRepo.prioritycCs tj|S)N)rZConfigRepo_module_hotfixes)r'rrrmodule_hotfixesXszConfigRepo.module_hotfixescCs tj|S)N)rZConfigRepo_sslcacert)r'rrrr,[szConfigRepo.sslcacertcCs tj|S)N)rZConfigRepo_sslverify)r'rrrr-^szConfigRepo.sslverifycCs tj|S)N)rZConfigRepo_sslclientcert)r'rrrr.aszConfigRepo.sslclientcertcCs tj|S)N)rZConfigRepo_sslclientkey)r'rrrr/dszConfigRepo.sslclientkeycCs tj|S)N)rZConfigRepo_proxy_sslcacert)r'rrrr0gszConfigRepo.proxy_sslcacertcCs tj|S)N)rZConfigRepo_proxy_sslverify)r'rrrr1jszConfigRepo.proxy_sslverifycCs tj|S)N)rZConfigRepo_proxy_sslclientcert)r'rrrr2mszConfigRepo.proxy_sslclientcertcCs tj|S)N)rZConfigRepo_proxy_sslclientkey)r'rrrr3pszConfigRepo.proxy_sslclientkeycCs tj|S)N)rZConfigRepo_deltarpm)r'rrrr4sszConfigRepo.deltarpmcCs tj|S)N)rZConfigRepo_deltarpm_percentage)r'rrrr5vszConfigRepo.deltarpm_percentagecCs tj|S)N)rZConfigRepo_skip_if_unavailable)r'rrrr6yszConfigRepo.skip_if_unavailablecCs tj|S)N)rZConfigRepo_enabled_metadata)r'rrrenabled_metadata|szConfigRepo.enabled_metadatacCs tj|S)N)rZConfigRepo_user_agent)r'rrrrszConfigRepo.user_agentcCs tj|S)N)rZConfigRepo_countme)r'rrrrszConfigRepo.countmecCs tj|S)N)rZConfigRepo_failovermethod)r'rrrfailovermethodszConfigRepo.failovermethodcCs tj|S)N)rZConfigRepo_sslverifystatus)r'rrrr7szConfigRepo.sslverifystatusN)Drr5r8r!rrdrerfr%r.rPr6r1rZdelete_ConfigReporQrRr=r=r)r#r>r?r@rArrBrCrrrrrrrrr rr!r"r$rr%r&r'r(r)r*r+rDrVrEr,r-r.r/r0r1r2r3r4r5r6rFrrrGr7rrrrr<s|  r<c@seZdZiZddZiZddZeZddZ ddZ e j ed<e j ed<erZee j e j Ze jed <e jed <eree je jZd d Zd d Ze jZddZdS)OptionBindsIteratorcCst|t||S)N)r-rH)r'r)r*rrrr:szOptionBindsIterator.cCs t|t|S)N)r/rH)r'r)rrrr:sc Cs>tj||}y|jj|Wntjk r8||_YnXdS)N)rZnew_OptionBindsIteratorrr\r2r3)r'Z_curZ_endrrrrr=s  zOptionBindsIterator.__init__cCs tj|S)N)rZOptionBindsIterator___iter__)r'rrrrOszOptionBindsIterator.__iter__currcCs tj|S)N)rZOptionBindsIterator___next__)r'rrrrFszOptionBindsIterator.__next__cCs tj|S)N)rZOptionBindsIterator_next)r'rrrrEszOptionBindsIterator.nextcCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rOrZOptionBindsIterator_cur_setZOptionBindsIterator_cur_getr#_swig_propertyrIZOptionBindsIterator_end_setZOptionBindsIterator_end_getrrFrEZdelete_OptionBindsIteratorrQrRrrrrrHs&    rHc@seZdZiZddZiZddZeZe r4e e j Z ne j Z ddZddZdd Zd d Zd d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Ze jZ d&dZ!d'S)( ConfigParsercCst|t||S)N)r-rK)r'r)r*rrrr:szConfigParser.cCs t|t|S)N)r/rK)r'r)rrrr:scCs tj||S)N)rZConfigParser_setSubstitutions)r' substitutionsrrrsetSubstitutionsszConfigParser.setSubstitutionscCs tj|S)N)rZConfigParser_getSubstitutions)r'rrrgetSubstitutionsszConfigParser.getSubstitutionscCs tj||S)N)rZConfigParser_read)r'ZfilePathrrrreadszConfigParser.readcGstj|f|S)N)rZConfigParser_write)r'r;rrrwriteszConfigParser.writecGstj|f|S)N)rZConfigParser_addSection)r'r;rrr addSectionszConfigParser.addSectioncCs tj||S)N)rZConfigParser_hasSection)r'sectionrrr hasSectionszConfigParser.hasSectioncCstj|||S)N)rZConfigParser_hasOption)r'rRkeyrrr hasOptionszConfigParser.hasOptioncGstj|f|S)N)rZConfigParser_setValue)r'r;rrrsetValueszConfigParser.setValuecCs tj||S)N)rZConfigParser_removeSection)r'rRrrr removeSectionszConfigParser.removeSectioncCstj|||S)N)rZConfigParser_removeOption)r'rRrTrrr removeOptionszConfigParser.removeOptioncCstj|||S)N)rZConfigParser_addCommentLine)r'rRr rrraddCommentLineszConfigParser.addCommentLinecCstj|||S)N)rZConfigParser_getValue)r'rRrTrrrr_szConfigParser.getValuecCstj|||S)N)rZ ConfigParser_getSubstitutedValue)r'rRrTrrrgetSubstitutedValuesz ConfigParser.getSubstitutedValuecGstj|f|S)N)rZConfigParser_getHeader)r'r;rrr getHeaderszConfigParser.getHeadercGstj|f|S)N)rZConfigParser_getData)r'r;rrrgetDataszConfigParser.getDatacCs tj||S)N)rZConfigParser_readString)r'Zcontentrrr readStringszConfigParser.readStringc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_ConfigParserrr\r2r3)r'rrrrr=s zConfigParser.__init__cCsdS)Nr)r'rrrr:sN)"rr5r8r!r%r.rPr6r1r#r8rConfigParser_substituteZ substituterMrNrOrPrQrSrUrVrWrXrYr_rZr[r\r]r=Zdelete_ConfigParserrQrRrrrrrKs6 rKcCs tj||S)N)rr^)textrLrrrr^sr^c@seZdZiZddZiZddZeZddZ e j ed<e j ed<e rRee j e j Ze jed<e jed<e rxee je jZdd Zd d Zd d ZddZe jZddZdS)PairStringOptionBindsItemcCst|t||S)N)r-r`)r'r)r*rrrr:sz"PairStringOptionBindsItem.cCs t|t|S)N)r/r`)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_PairStringOptionBindsItemrr\r2r3)r'r;rrrrr=s  z"PairStringOptionBindsItem.__init__firstsecondcCsdS)Nrr)r'rrrr~sz!PairStringOptionBindsItem.__len__cCst|j|jfS)N)rrarb)r'rrrr1sz"PairStringOptionBindsItem.__repr__cCs|ds|jS|jSdS)Nr)rarb)r'rrrrrsz%PairStringOptionBindsItem.__getitem__cCs|ds||_n||_dS)Nr)rarb)r'rvalrrrrsz%PairStringOptionBindsItem.__setitem__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rZ#PairStringOptionBindsItem_first_setZ#PairStringOptionBindsItem_first_getr#rJraZ$PairStringOptionBindsItem_second_setZ$PairStringOptionBindsItem_second_getrbr~rrZ delete_PairStringOptionBindsItemrQrRrrrrr`s(    r`cCsg}yt|tst|tr |g}Wntk r6YnXxn|D]f}y|j||j|Wq>tk rnYq>tk r}ztd|t|fWYdd}~Xq>Xq>W|S)NzParsing file '%s' failed: %s) isinstancerZunicode NameError readFileNamer\IOErrorr3 RuntimeError)r' filenamesZ parsedFNamesZfnameerrrConfigParser__newRead%s   *rkcCsJy|j|Wn6tk rD}ztd|t|fWYdd}~XnXdS)NzParsing source '%s' failed: %s)r]r3rhr)r'stringsourcerjrrrConfigParser__read_string8srocCs|j|std|dS)NzSection '%s' already exists)rQKeyError)r'rRrrrConfigParser__add_section@s rqFcCsTy |r|j||S|j||SWn.tk rN}ztt|WYdd}~XnXdS)N)r_rZ IndexErrorrpr)r'rRrrawrjrrrConfigParser__getIs  rtcCst|j|||dS)N)rs)intr")r'rRrrsrrrConfigParser__getintUsrvcCst|j|||dS)N)rs)floatr")r'rRrrsrrrConfigParser__getfloatZsrxc CsD|j|||d}ytdj|Stk r>td|YnXdS)N)rsFzNot a boolean: %s)r"r[r^rh ValueError)r'rRrrsrrrrConfigParser__getboolean_s rzcCs`|j|std||j|}g}x4|D],}|jds,|j|||d}|j||fq,W|S)NzNo section: '%s'#)rs)rSrpr\ startswithr"r\)r'rRrssectObjitemsrTr*rrrConfigParser__itemshs     rcCs(|j|std||j|||dS)NzNo section: '%s')rSrprV)r'rRrr*rrrConfigParser__setus  rcCs"|j|std||j||S)NzNo section: '%s')rSrprX)r'rRrrrrConfigParser__remove_option~s  rcCs0|j|std||j|}dd|DS)NzNo section: '%s'cSsg|]}|jds|qS)r{)r|).0rrrr sz)ConfigParser__options..)rSrpr\)r'rRr}rrrConfigParser__optionss   rcCs t|jS)N)rr\)r'rrrConfigParser__sectionssr)rrr)rrr)r)rl)F)F)F)F)F)sysrZ_swig_python_version_inforrpropertyrJrebuiltinsr2r r,r-r/r6r$r7r#r3r9ZSwigPyIterator_swigregisterZlibdnf.common_typesZlibdnfrSZOption_swigregisterr[ZOptionBool_swigregisterZcvarZ defTrueValuesZdefFalseValuesrgZOptionEnumString_swigregisterrhZOptionNumberInt32_swigregisterriZOptionNumberUInt32_swigregisterrjZOptionNumberInt64_swigregisterrkZOptionNumberUInt64_swigregisterrlZOptionNumberFloat_swigregisterrmZOptionSeconds_swigregisterrnZOptionString_swigregisterroZOptionStringList_swigregisterrpZOptionPath_swigregisterrqZOptionChildBool_swigregisterrsZOptionChildString_swigregisterrtZ"OptionChildStringList_swigregisterruZ#OptionChildNumberInt32_swigregisterrvZ$OptionChildNumberUInt32_swigregisterrwZ#OptionChildNumberFloat_swigregisterrxZ"OptionChildEnumString_swigregisterryZOptionChildSeconds_swigregisterrzZVectorString_swigregisterr__str__rrIrrJr__lt__r__le__r__gt__r__ge__rrKr__imul__r__mul__r__rmul__rrMrr\rrDrrrrrrrrrrrrrrrZOptionBinds_swigregisterrZOptionBinds_Item_swigregisterrZConfig_swigregisterrZConfigMain_swigregisterr9r:r<ZConfigRepo_swigregisterrHZ OptionBindsIterator_swigregisterrKZConfigParser_swigregisterr^r`Z&PairStringOptionBindsItem_swigregisterrOrfrkroZ read_stringrqZ add_sectionrSZ has_sectionrUZ has_optionrtr"rvZgetintrxZgetfloatrzZ getbooleanrr~rrWrWZremove_sectionrZ remove_optionrZoptionsrZsectionsrexcluderrrrs     ='4+.....+.++++++++n$j* C%      PKhee[[;,2V2Vsmartcols.cpython-36.opt-1.pycnu[3 љg<;@sddlmZed kr&ddZeZ[n"ed!kr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXd"d d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXejZGdddeZejZeeddZejZddZejZGdddeZejZeeGdddeZejZeeGdddeZejZeedS)#) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr. _smartcols) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer!/usr/lib64/python3.6/smartcols.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7c@seZdZiZddZiZddZeZe j Z e j Z e jZddZe jZddZddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Z d!d"Z!d#d$Z"d%d&Z#d'd(Z$d)d*Z%d+d,Z&d-d.Z'd/d0Z(d1d2Z)d3d4Z*d5d6Z+d7d8Z,d9d:Z-d;d<Z.d=d>Z/d?d@Z0dAdBZ1dCdDZ2dEdFZ3dGdHZ4dIdJZ5dKdLZ6dMdNZ7dOdPZ8dQdRZ9dSdTZ:dUdVZ;dWdXZd]d^Z?dyd`daZ@dbdcZAdddeZBdfdgZCdhdiZDdjdkZEdldmZFdndoZGdpdqZHdrdsZIdtduZJdvdwZKdxS)zTablecCst|t||S)N)r-r9)r'r)r*rrreszTable.cCs t|t|S)N)r/r9)r'r)rrrr:gsc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ new_Tablerappendr2r3)r'argsrrrr__init__ms  zTable.__init__cCsdS)Nr)r'rrrr:tscCs tj||S)N)rZ Table_setName)r'r)rrrsetNamevsz Table.setNamecCs tj||S)N)rZTable_setColumnSeparator)r' separatorrrrsetColumnSeparatoryszTable.setColumnSeparatorcCs tj||S)N)rZTable_setLineSeparator)r'r?rrrsetLineSeparator|szTable.setLineSeparatorcCs tj||S)N)rZTable_setSymbols)r'Zsymbolsrrr setSymbolsszTable.setSymbolscCs tj|S)N)rZTable_setDefaultSymbols)r'rrrsetDefaultSymbolsszTable.setDefaultSymbolscCs tj||S)N)rZTable_setStream)r'streamrrr setStreamszTable.setStreamcCs tj||S)N)rZTable_setTermforce)r'forcerrr setTermforceszTable.setTermforcecCs tj||S)N)rZTable_setTermwidth)r'widthrrr setTermwidthszTable.setTermwidthcCs tj|S)N)rZ Table_getName)r'rrrgetNamesz Table.getNamecCs tj|S)N)rZTable_getColumnSeparator)r'rrrgetColumnSeparatorszTable.getColumnSeparatorcCs tj|S)N)rZTable_getLineSeparator)r'rrrgetLineSeparatorszTable.getLineSeparatorcCs tj|S)N)rZTable_getNumberOfColumns)r'rrrgetNumberOfColumnsszTable.getNumberOfColumnscCs tj|S)N)rZTable_getNumberOfLines)r'rrrgetNumberOfLinesszTable.getNumberOfLinescCs tj|S)N)rZTable_getTitle)r'rrrgetTitleszTable.getTitlecCs tj||S)N)rZTable_getColumn)r'nrrr getColumnszTable.getColumncCs tj||S)N)rZ Table_getLine)r'rPrrrgetLinesz Table.getLinecCs tj|S)N)rZTable_getTermforce)r'rrr getTermforceszTable.getTermforcecCs tj|S)N)rZTable_getSymbols)r'rrr getSymbolsszTable.getSymbolscCs tj|S)N)rZTable_getTermwidth)r'rrr getTermwidthszTable.getTermwidthcCs tj|S)N)rZTable_getStream)r'rrr getStreamszTable.getStreamcCs tj|S)N)rZTable_isColorsEnabled)r'rrrisColorsEnabledszTable.isColorsEnabledcCs tj|S)N)rZ Table_isRaw)r'rrrisRawsz Table.isRawcCs tj|S)N)rZ Table_isAscii)r'rrrisAsciisz Table.isAsciicCs tj|S)N)rZ Table_isJson)r'rrrisJsonsz Table.isJsoncCs tj|S)N)rZTable_isNoheadings)r'rrr isNoheadingsszTable.isNoheadingscCs tj|S)N)rZ Table_isEmpty)r'rrrisEmptysz Table.isEmptycCs tj|S)N)rZTable_isExport)r'rrrisExportszTable.isExportcCs tj|S)N)rZTable_isMaxout)r'rrrisMaxoutszTable.isMaxoutcCs tj|S)N)rZTable_isNowrap)r'rrrisNowrapszTable.isNowrapcCs tj|S)N)rZTable_isNoLineSeparator)r'rrrisNoLineSeparatorszTable.isNoLineSeparatorcCs tj|S)N)rZ Table_isTree)r'rrrisTreesz Table.isTreecCs tj||S)N)rZTable_enableColors)r'enablerrr enableColorsszTable.enableColorscCs tj||S)N)rZTable_enableRaw)r'rbrrr enableRawszTable.enableRawcCs tj||S)N)rZTable_enableAscii)r'rbrrr enableAsciiszTable.enableAsciicCs tj||S)N)rZTable_enableJson)r'rbrrr enableJsonszTable.enableJsoncCs tj||S)N)rZTable_enableNoheadings)r'rbrrrenableNoheadingsszTable.enableNoheadingscCs tj||S)N)rZTable_enableExport)r'rbrrr enableExportszTable.enableExportcCs tj||S)N)rZTable_enableMaxout)r'rbrrr enableMaxoutszTable.enableMaxoutcCs tj||S)N)rZTable_enableNowrap)r'rbrrr enableNowrapszTable.enableNowrapcCs tj||S)N)rZTable_enableNolinesep)r'rbrrrenableNolinesepszTable.enableNolinesepcCs tj||S)N)rZTable_addColumn)r'columnrrr addColumnszTable.addColumncCs tj||S)N)rZTable_removeColumn)r'rlrrr removeColumnszTable.removeColumncCs tj|S)N)rZTable_removeColumns)r'rrr removeColumnsszTable.removeColumnscCstj|||S)N)rZTable_moveColumn)r'ZbeforeZtoMoverrr moveColumnszTable.moveColumnrcCstj||||S)N)rZTable_newColumn)r'r)Z widthHintflagsrrr newColumnszTable.newColumncCs tj||S)N)rZTable_nextColumn)r'iteratorrrr nextColumnszTable.nextColumncCs tj||S)N)rZ Table_addLine)r'linerrraddLinesz Table.addLinecCs tj||S)N)rZTable_removeLine)r'rurrr removeLineszTable.removeLinecCs tj|S)N)rZTable_removeLines)r'rrr removeLinesszTable.removeLinescGstj|f|S)N)rZ Table_newLine)r'r<rrrnewLine sz Table.newLinecCs tj||S)N)rZTable_nextLine)r'rsrrrnextLine szTable.nextLinecCs tj||S)N)rZTable_reduceTermwidth)r'reducerrrreduceTermwidthszTable.reduceTermwidthcCs tj||S)N)rZ Table_sort)r'rlrrrsortsz Table.sortcCs tj|S)N)rZTable_sortByTree)r'rrr sortByTreeszTable.sortByTreecGstj|f|S)N)rZ Table__print)r'r<rrr_printsz Table._printcGstj|f|S)N)rZTable_toString)r'r<rrrtoStringszTable.toStringN)rr)Lrr5r8r!r%r. __getattr__r6r1rZTable_TermForce_AUTOZTermForce_AUTOZTable_TermForce_NEVERZTermForce_NEVERZTable_TermForce_ALWAYSZTermForce_ALWAYSr=Z delete_Table__swig_destroy____del__r>r@rArBrCrErGrIrJrKrLrMrNrOrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarcrdrerfrgrhrirjrkrmrnrorprrrtrvrwrxryrzr|r}r~rrrrrrr9cs r9cCstj|||S)N)rwrapNewlineChunksize)rldatauserdatarrrr!srcCstj|||S)N)rwrapNewlineNextchunk)rlrrrrrr%src@seZdZiZddZiZddZeZddZ e j Z ddZ ddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Z d-d.Z!d/d0Z"d1d2Z#d3S)4ColumncCst|t||S)N)r-r)r'r)r*rrrr:*szColumn.cCs t|t|S)N)r/r)r'r)rrrr:,sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ new_Columnrr;r2r3)r'r<rrrrr=/s  zColumn.__init__cCsdS)Nr)r'rrrr:6scCs tj|S)N)rZ Column_isTree)r'rrrra8sz Column.isTreecCs tj|S)N)rZColumn_isTrunc)r'rrrisTrunc;szColumn.isTrunccCs tj|S)N)rZColumn_isRight)r'rrrisRight>szColumn.isRightcCs tj|S)N)rZColumn_isStrictWidth)r'rrr isStrictWidthAszColumn.isStrictWidthcCs tj|S)N)rZColumn_isHidden)r'rrrisHiddenDszColumn.isHiddencCs tj|S)N)rZColumn_isNoextremes)r'rrr isNoextremesGszColumn.isNoextremescCs tj|S)N)rZ Column_isWrap)r'rrrisWrapJsz Column.isWrapcCs tj|S)N)rZColumn_isCustomwrap)r'rrr isCustomwrapMszColumn.isCustomwrapcCs tj|S)N)rZColumn_getFlags)r'rrrgetFlagsPszColumn.getFlagscCs tj|S)N)rZColumn_getWidthHint)r'rrr getWidthHintSszColumn.getWidthHintcCs tj|S)N)rZColumn_getWidth)r'rrrgetWidthVszColumn.getWidthcCs tj|S)N)rZColumn_getSafechars)r'rrr getSafecharsYszColumn.getSafecharscCs tj|S)N)rZColumn_getColor)r'rrrgetColor\szColumn.getColorcCs tj|S)N)rZColumn_getHeader)r'rrr getHeader_szColumn.getHeadercCs tj||S)N)rZColumn_setWrap)r'rbrrrsetWrapbszColumn.setWrapcCs tj||S)N)rZColumn_setColor)r'colorrrrsetColoreszColumn.setColorcCs tj||S)N)rZColumn_setFlags)r'rqrrrsetFlagshszColumn.setFlagscCs tj||S)N)rZColumn_setSafechars)r'Zsaferrr setSafecharskszColumn.setSafecharscCs tj||S)N)rZColumn_setWidthHint)r'Zhintrrr setWidthHintnszColumn.setWidthHintcCstj|||S)N)rZColumn_setCompareFunction)r'ZfunctionrrrrsetCompareFunctionqszColumn.setCompareFunctioncCstj||||S)N)rZColumn_setWrapFunction)r'Z wrapChunksizeZ wrapNextchunkrrrrsetWrapFunctiontszColumn.setWrapFunctioncCs tj|S)N)rZColumn_setNewlineWrapFunction)r'rrrsetNewlineWrapFunctionwszColumn.setNewlineWrapFunctionN)$rr5r8r!r%r.rr6r1r=rZ delete_Columnrrrarrrrrrrrrrrrrrrrrrrrrrrrrr(s<rc@seZdZiZddZiZddZeZddZ e j Z ddZ ddZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Z d-S).LinecCst|t||S)N)r-r)r'r)r*rrrr:~sz Line.cCs t|t|S)N)r/r)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_Linerr;r2r3)r'r<rrrrr=s  z Line.__init__cCsdS)Nr)r'rrrr:scCs tj||S)N)rZLine_allocCells)r'rPrrr allocCellsszLine.allocCellscCs tj|S)N)rZLine_freeCells)r'rrr freeCellsszLine.freeCellscCs tj||S)N)rZ Line_addChild)r'childrrraddChildsz Line.addChildcCs tj||S)N)rZLine_removeChild)r'rrrr removeChildszLine.removeChildcCs tj||S)N)rZLine_nextChild)r'iterrrr nextChildszLine.nextChildcCstj|||S)N)rZLine_referData)r'rPrrrr referDataszLine.referDatacCstj|||S)N)rZLine_referColumnData)r'rlrrrrreferColumnDataszLine.referColumnDatacCs tj|S)N)rZLine_hasChildren)r'rrr hasChildrenszLine.hasChildrencCs tj||S)N)rZLine_isAncestor)r'parentrrr isAncestorszLine.isAncestorcCs tj|S)N)rZLine_getCellCount)r'rrr getCellCountszLine.getCellCountcCs tj|S)N)rZ Line_getColor)r'rrrrsz Line.getColorcCs tj||S)N)rZ Line_getCell)r'rPrrrgetCellsz Line.getCellcGstj|f|S)N)rZLine_getColumnCell)r'r<rrr getColumnCellszLine.getColumnCellcCs tj|S)N)rZLine_getParent)r'rrr getParentszLine.getParentcCs tj|S)N)rZLine_getUserdata)r'rrr getUserdataszLine.getUserdatacCs tj||S)N)rZLine_setUserdata)r'rrrr setUserdataszLine.setUserdatacCs tj||S)N)rZ Line_setColor)r'rrrrrsz Line.setColorcCstj|||S)N)rZ Line_setData)r'rPrrrrsetDatasz Line.setDatacGstj|f|S)N)rZLine_setColumnData)r'r<rrr setColumnDataszLine.setColumnDataN)!rr5r8r!r%r.rr6r1r=rZ delete_Linerrrrrrrrrrrrrrrrrrrrrrrrrr|s6rc@seZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZejZddZdS)CellcCst|t||S)N)r-r)r'r)r*rrrr:sz Cell.cCs t|t|S)N)r/r)r'r)rrrr:sc Cs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_Cellrr;r2r3)r'cellrrrrr=s  z Cell.__init__cCs tj|S)N)rZ Cell_reset)r'rrrresetsz Cell.resetcCs tj|S)N)rZ Cell_getFlags)r'rrrrsz Cell.getFlagscCs tj|S)N)rZCell_getAlignment)r'rrr getAlignmentszCell.getAlignmentcCs tj|S)N)rZ Cell_getData)r'rrrgetDatasz Cell.getDatacCs tj|S)N)rZ Cell_getColor)r'rrrrsz Cell.getColorcCs tj|S)N)rZCell_getUserdata)r'rrrrszCell.getUserdatacCs tj||S)N)rZ Cell_setData)r'rrrrrsz Cell.setDatacCs tj||S)N)rZ Cell_setColor)r'rrrrrsz Cell.setColorcCs tj||S)N)rZ Cell_setFlags)r'rqrrrrsz Cell.setFlagscCs tj||S)N)rZCell_setUserdata)r'rrrrrszCell.setUserdatacCs tj||S)N)rZ Cell___eq__)r'rrrr__eq__sz Cell.__eq__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rr6r1r=rrrrrrrrrrrrZ delete_Cellrrrrrrrs&r)rrr)rrr)r)sysrZ_swig_python_version_inforrpropertyZ_swig_property NameErrorbuiltinsr2r r,r-r/r6r$r7r#r3ZSHARED_PTR_DISOWNr9ZTable_swigregisterrrrZColumn_swigregisterrZLine_swigregisterrZCell_swigregisterrrrrs\     ;QH0PKhee[CsVVrepo.cpython-36.opt-1.pycnu[3 gLQ@sFddlmZddlmZddlmZmZddlZddlZddl Zddl Zddl Zddl Zddl ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZ dZ!ej"ej#dZ$dej%e$ej&fZ'd e'e!fd e'e fd d Z(ej)d Z*ddZ+ddZ,d-ddZ-ddZ.Gddde/Z0Gddde1Z2Gdddej3j4Z5Gddde/Z6Gdd d ej7j8Z9Gd!d"d"ej3j:Z;Gd#d$d$e;Zej7j?j@ZAej7j?jBZCej7j?jDZEGd)d*d*ej7jFZGGd+d,d,ejHjIZ?dS).)absolute_import)unicode_literals)ucd_NpackagesZ mirrorlistz-_.:z(?P[%s]+)\-[%s]{16}z>^%s\/.*((xml|yaml)(\.gz|\.xz|\.bz2|.zck)?|asc|cachecookie|%s)$z^%s\/%s\/.+rpm$z^.+(solv|solvx)$)metadatarZdbcachednfcCstjjj|}|dkrdS|S)zAReturn index of an invalid character in the repo ID (if present).rN)libdnfrepoRepoZverifyId)Zrepo_idZ first_invalidr /usr/lib/python3.6/repo.pyrepo_id_invalidHsrcGs8x"|D]}|||}|dk r|SqWttd|dS)Nz"no matching payload factory for %s) ValueErrorr)pkgprogressZ factoriesfnploadr r r _pkg2payloadOs   rTc Csdd}|jjddt||dD}t}ytjjjtjj||Wn,t k rv}zt ||_ WYdd}~XnX|j |jj |_xj|D]b}|j}|dks|jdrq|j} | j} | j} |dkr|jj| q| jjj|g|j| <qW|S)NcSs t|d S)NZdelta)hasattr)payloadr r r _download_sort_keyYsz._download_payloads.._download_sort_keycSsg|] }|jqSr )_librepo_target).0rr r r ]sz&_download_payloads..)keyz Not finishedzAlready downloaded)errclearsorted_DownloadErrorsr r PackageTargetZdownloadPackagesZVectorPPackageTarget RuntimeErrorstr_fatalwaitcopy _recoverableZgetErr startswithZ getCallbacks package_ploadr_skippedadd_repoZexpire_pkg_irrecoverable) payloadsZdrpmZ fail_fastrZtargetserrseZtgtr callbacksrrr r r _download_payloadsWs0     r1cCsL|\}}x:|D]2}|j}||kr,||j7}q||j7}||j7}qW||fS)N)r download_size _full_size)Zsavingr-r.realZfullrrr r r _update_savingxs   r5c@s>eZdZddZddZeddZejddZdd Zd S) rcCsi|_i|_d|_t|_dS)N)r,_val_recoverabler#setr))selfr r r __init__sz_DownloadErrors.__init__cCs"|jr |jS|jrd|jgiSiS)N)r,r#)r8r r r _irrecoverables  z_DownloadErrors._irrecoverablecCs|jS)N)r6)r8r r r r&sz_DownloadErrors._recoverablecCs ||_dS)N)r6)r8Znew_dctr r r r&scCs|j|jkrdS|jS)Nr)rr)r2)r8rr r r _bandwidth_useds z_DownloadErrors._bandwidth_usedN) __name__ __module__ __qualname__r9r;propertyr&setterr<r r r r rs  rc@seZdZddZdS)_DetailedLibrepoErrorcCs,tj||jd|_|jd|_||_dS)Nr) Exceptionr9argsZ librepo_codeZ librepo_msg source_url)r8Z librepo_errrFr r r r9s   z_DetailedLibrepoError.__init__N)r=r>r?r9r r r r rBsrBc@seZdZddZdS)_NullKeyImportcCsdS)NTr )r8iduserid fingerprinturl timestampr r r _confirmsz_NullKeyImport._confirmN)r=r>r?rMr r r r rGsrGc@s eZdZddZeddZdS)MetadatacCs ||_dS)N)r+)r8r r r r r9szMetadata.__init__cCs |jjS)N)r+fresh)r8r r r rOszMetadata.freshN)r=r>r?r9r@rOr r r r rNsrNcs4eZdZfddZddZddZddZZS) PackageTargetCallbackscstt|j||_dS)N)superrPr9r()r8r() __class__r r r9szPackageTargetCallbacks.__init__cCs|jjd||dS)Nr)r(_end_cb)r8statusmsgr r r endszPackageTargetCallbacks.endcCs|jjd||dS)Nr)r( _progress_cb)r8totalToDownload downloadedr r r rszPackageTargetCallbacks.progresscCs|jjd||dS)Nr)r(_mirrorfail_cb)r8rUrKr r r mirrorFailuresz$PackageTargetCallbacks.mirrorFailure)r=r>r?r9rVrr[ __classcell__r r )rRr rPs rPcsHeZdZfddZddZddZddZed d Zd d Z Z S) PackagePayloadcs$tt|j|t||_||_dS)N)rQr]r9rPr0r)r8rr)rRr r r9s zPackagePayload.__init__cCsRtjj}|dkrtjj}n$|jdr(dS|tjjjkr>tjj }|j j |||dS)z"End callback to librepo operation.Nz Not finished) rcallbackZ STATUS_FAILEDZ STATUS_OKr'r r PackageTargetCBZTransferStatus_ALREADYEXISTSZSTATUS_ALREADY_EXISTSrrV)r8cbdataZ lr_statusrUrTr r r rSs  zPackagePayload._end_cbcCs|jj|tjj|dS)N)rrVrr^Z STATUS_MIRROR)r8r`rrKr r r rZszPackagePayload._mirrorfail_cbc CsXy|jj||Wn@tk rRtj\}}}tj|||}tjdj|YnXdS)Nr:) rrDsysexc_info tracebackformat_exceptionloggercriticaljoin)r8r`totaldoneexc_type exc_value exc_traceback except_listr r r rWs zPackagePayload._progress_cbcCs|jS)N)r2)r8r r r r3szPackagePayload._full_sizec Cs|j}|j}tjj||d||j|j|jd}|j|j t j j |j j |d|d|d|d|d|d|d d d |j S) NT)destresumer`Z progresscbZendcbZmirrorfailurecb relative_urlrn checksum_typechecksum expectedsizebase_urlror)rpkgdirrutil ensure_dirrWrSrZupdate_target_paramsr r r r+r0)r8rruZ target_dctr r r rs   zPackagePayload._librepo_target) r=r>r?r9rSrZrWr@r3rr\r r )rRr r]s    r]c@s(eZdZddZddZeddZdS) RPMPayloadcCstjj|jjS)N)ospathbasenamerlocation)r8r r r __str__szRPMPayload.__str__cCsT|j}|j\}}tjjj|}|tjjjkr>tjt d||j |||j |j dS)Nzunsupported checksum type: %s)rprqrrrsrt) rZ returnIdSumr r r Z checksumTypeZChecksumType_UNKNOWNrewarningrr~ downloadsizebaseurl)r8rZctypeZcsumZ ctype_coder r r rys zRPMPayload._target_paramscCs|jjS)zTotal size of the download.)rr)r8r r r r2szRPMPayload.download_sizeN)r=r>r?rryr@r2r r r r rzsrzcs@eZdZfddZddZddZddZed d ZZ S) RemoteRPMPayloadcstt|jd|||_d|_||_|jjp.d|jjjd}t j |j dj dd}d|}t jj|jj|d|_tjj|jt jj|j|jjd |_dS) NZ unused_objectrr:Zbasearchutf8z commandline-r/)rQrr9remote_location remote_sizeconfZ releasever substitutionsgethashlibZsha256encodeZ hexdigestr{r|rgZcachedirrurrvrwrlstripZ local_path)r8rrrsZdigestZrepodir)rRr r r9szRemoteRPMPayload.__init__cCstjj|jS)N)r{r|r}r)r8r r r r)szRemoteRPMPayload.__str__c Cs^||_y|jj||Wn@tk rXtj\}}}tj|||}tjdj |YnXdS)Nr:) rrrDrarbrcrdrerfrg)r8r`rhrirjrkrlrmr r r rW,szRemoteRPMPayload._progress_cbc Cs<tjj|jjtjj|j|j dddtjj |jddd|j S)NrT) r r r r_configr{r|r}rrudirnamer0)r8r r r r5sz RemoteRPMPayload._librepo_targetcCs|jS)zTotal size of the download.)r)r8r r r r2;szRemoteRPMPayload.download_size) r=r>r?r9rrWrr@r2r\r r )rRr rs   rcszeZdZfddZddZddZddZd d Zd d Ze d dZ e ddZ e j ddZ ddZ ddZZS) MDPayloadcs.tt|j|d|_d|_d|_t|_dS)Nr:rF)rQrr9_text_download_sizefastest_mirror_runningr7mirror_failures)r8r)rRr r r9Cs zMDPayload.__init__cCstjjr|jS|jjdSdS)Nzutf-8)rpycompZPY3rr)r8r r r rJszMDPayload.__str__cCs|jS)N)r)r8r r r __unicode__PszMDPayload.__unicode__cCs||_|jj||dS)N)rr)r8r`rhrir r r rWSszMDPayload._progress_cbcCs\|tjjjkr"td|}d|_n*|tjjjkrH|jrH|rBd|nd}ndS|jj|dS)Nz,determining the fastest mirror (%s hosts).. Tz error: %s zdone. ) r r RepoCBZFastestMirrorStage_DETECTIONrrZFastestMirrorStage_STATUSrmessage)r8r`stagedatarUr r r _fastestmirror_cbWs zMDPayload._fastestmirror_cbcCs&|jj|d||f}tj|dS)Nzerror: %s (%s).)rr*redebug)r8r`rUrKrr r r _mirror_failure_cbcs  zMDPayload._mirror_failure_cbcCs|jS)N)r)r8r r r r2hszMDPayload.download_sizecCs|jS)N) _progress)r8r r r rlszMDPayload.progresscCs|dkrtjj}||_dS)N)rr^NullDownloadProgressr)r8rr r r rps cCs||_|jjdddS)NrCr)rrstart)r8textr r r rvszMDPayload.startcCsd|_|jj|dddS)Nr)rrrV)r8r r r rVzsz MDPayload.end)r=r>r?r9rrrWrrr@r2rrArrVr\r r )rRr rAs    rcsLeZdZfddZddZddZddZd d Zd d Zd dZ Z S) RepoCallbackscs tt|j||_|j|_dS)N)rQrr9r+ _md_pload)r8r )rRr r r9szRepoCallbacks.__init__cCs|jj|dS)N)rr)r8Zwhatr r r rszRepoCallbacks.startcCs|jjdS)N)rrV)r8r r r rVszRepoCallbacks.endcCs|jjd||dS)Nr)rrW)r8rXrYr r r rszRepoCallbacks.progresscCs|jjd||dS)N)rr)r8rZptrr r r fastestMirrorszRepoCallbacks.fastestMirrorcCs|jjd|||dS)Nr)rr)r8rUrKrr r r handleMirrorFailuresz!RepoCallbacks.handleMirrorFailurecCs|jjj|||||S)N)r+ _key_importrM)r8rHrIrJrKrLr r r repokeyImportszRepoCallbacks.repokeyImport) r=r>r?r9rrVrrrrr\r r )rRr rs rcseZdZeZd7fdd ZeddZeddZej ddZed d Z d d Z e j d d Z eddZ eddZ e j ddZ ddZddZfddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd9d5d6ZZS):r Ncstt|j||d|jjjtjj|r.|nd|j|_t t j j |_ t||_|jjj|jj|jd|_t|_d|_|jj|r|jrtn|j|r|jj|jt jjj|_|dk r|jnd|_dS)N)Zsectionparentr:T) rQr r9rthisZdisownr r r+rrr^rrrZ _callbacksZ setCallbacks_pkgdirrGrrZsetSyncStrategyZ cacheonlySYNC_ONLY_CACHE DEFAULT_SYNCZsetSubstitutionsrrZ SubstitutionsZ_substitutionsZcheck_config_file_ageZ_check_config_file_age)r8nameZ parent_conf)rRr r r9s   z Repo.__init__cCs |jjS)N)r+ZgetId)r8r r r rHszRepo.idcCs |jjS)N)r+ZgetRepoFilePath)r8r r r repofilesz Repo.repofilecCs|jj|dS)N)r+ZsetRepoFilePath)r8valuer r r rscCs|jjr|jjS|jS)N)r+ZisLocalZgetLocalBaseurl cache_pkgdir)r8r r r rus  z Repo.pkgdircCs$|jdk r|jStjj|jjtS)N)rr{r|rgr+ getCachedir_PACKAGES_RELATIVE_DIR)r8r r r rs zRepo.cache_pkgdircCs ||_dS)N)r)r8valr r r ruscCstjj|jjdS)NZpubring)r{r|rgr+r)r8r r r _pubring_dirszRepo._pubring_dircCs |jjS)N)r+ZgetLoadMetadataOther)r8r r r load_metadata_otherszRepo.load_metadata_othercCs|jj|dS)N)r+ZsetLoadMetadataOther)r8rr r r rscCs |j|jkS)N)rH)r8otherr r r __lt__sz Repo.__lt__cCsd|jj|jfS)Nz<%s %s>)rRr=rH)r8r r r __repr__sz Repo.__repr__cstt|j||dS)N)rQr __setattr__)r8rr)rRr r rszRepo.__setattr__cCs|jjdS)N)r+disable)r8r r r rsz Repo.disablecCs|jjdS)N)r+enable)r8r r r rsz Repo.enablecCs|jj|dS)a/Ask for additional repository metadata type to download. Given metadata_type is appended to the default metadata set when repository is downloaded. Parameters ---------- metadata_type: string Example: add_metadata_type_to_download("productid") N)r+ZaddMetadataTypeToDownload)r8 metadata_typer r r add_metadata_type_to_downloads z"Repo.add_metadata_type_to_downloadcCs|jj|dS)aIStop asking for this additional repository metadata type in download. Given metadata_type is no longer downloaded by default when this repository is downloaded. Parameters ---------- metadata_type: string Example: remove_metadata_type_from_download("productid") N)r+ZremoveMetadataTypeFromDownload)r8rr r r "remove_metadata_type_from_downloadsz'Repo.remove_metadata_type_from_downloadcCs |jj|S)zReturn path to the file with downloaded repository metadata of given type. Parameters ---------- metadata_type: string )r+ZgetMetadataPath)r8rr r r get_metadata_pathszRepo.get_metadata_pathcCs |jj|S)zReturn content of the file with downloaded repository metadata of given type. Content of compressed metadata file is returned uncompressed. Parameters ---------- metadata_type: string )r+ZgetMetadataContent)r8rr r r get_metadata_content!s zRepo.get_metadata_contentcCsd}zy|jj}Wnttjjtfk r}zP|jjrhd|j}x|jjD]}|d|7}qJWt j |t j j t|WYdd}~XnXWdt|j_Xt|j|_|S)aLoad the metadata for this repo. Depending on the configuration and the age and consistence of data available on the disk cache, either loads the metadata from the cache or downloads them from the mirror, baseurl or metalink. This method will by default not try to refresh already loaded data if called repeatedly. Returns True if this call to load() caused a fresh metadata download. Fz7Errors during downloading metadata for repository '%s':z - %sN)r+loadr errorErrorr!rrrHrerr exceptionsZ RepoErrorr"r7rNr)r8retr/rUZfailurer r r r-s  &  z Repo.loadcCsP|js|jjd|jrL|jdkr&dS|jj}|jjrDtd|}d|fSdS) a)Get the number of seconds after which the cached metadata will expire. Returns a tuple, boolean whether there even is cached metadata and the number of seconds it will expire in. Negative number means the metadata has expired already, None that it never expires. FrCTNr)TN)Fr)rr+Z loadCacheZmetadata_expireZ getExpiresInZ isExpiredmin)r8Z expirationr r r _metadata_expire_inJs     zRepo._metadata_expire_incCs ||_dS)N)r)r8Z key_importr r r _set_key_import]szRepo._set_key_importcCs ||j_dS)N)rr)r8rr r r set_progress_bar`szRepo.set_progress_barcCs |jjS)zoReturns user defined http headers. Returns ------- headers : tuple of strings )r+ZgetHttpHeaders)r8r r r get_http_headersdszRepo.get_http_headerscCs|jj|dS)aSets http headers. Sets new http headers and rewrites existing ones. Parameters ---------- headers : tuple or list of strings Example: set_http_headers(["User-Agent: Agent007", "MyFieldName: MyFieldValue"]) N)r+ZsetHttpHeaders)r8Zheadersr r r set_http_headersns zRepo.set_http_headershttpftpfilehttpscs@fdd}sdS|jj}|r,||S|jr<||jSdS)z :param location: relative location inside the repo :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https') :return: absolute url (string) or None csZxT|D]L}r>tjjj|d}|krRtjj|jdSqtjj|jdSqWdS)Nrr)rrZurlparser{r|rgr)Zurl_listrKr)r~schemesr r schemes_filters z,Repo.remote_location..schemes_filterN)r+Z getMirrorsr)r8r~rrZmirrorsr )r~rr r{s  zRepo.remote_location)NNrrrr)r)r=r>r?SYNC_TRY_CACHErr9r@rHrrArurrrrrrrrrrrrrrrrrrrr\r r )rRr r s6          r )T)JZ __future__rrZdnf.i18nrrZ dnf.callbackrZdnf.confZdnf.conf.substitutionsZ dnf.constZ dnf.cryptoZdnf.exceptionsZ dnf.loggingZ dnf.pycompZdnf.utilZ dnf.yum.miscZ libdnf.errorr Z libdnf.repo functoolsrZhawkeyZloggingoperatorr{reZshutilstringraZtimercrZ_MIRRORLIST_FILENAMEZ ascii_lettersZdigitsZ _REPOID_CHARSescapeZ hexdigitsZ _CACHEDIR_REZ CACHE_FILESZ getLoggerrerrr1r5objectrrDrBr^Z KeyImportrGrNr r_rPZPayloadr]rzrrr ZSyncStrategy_LAZYZ SYNC_LAZYZSyncStrategy_ONLY_CACHErZSyncStrategy_TRY_CACHErrrrZRepoConfr r r r sl       !  8&?   PKhee[6WW!common_types.cpython-36.opt-1.pycnu[3 љg@sVddlmZed,kr&ddZeZ[n"ed-kr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXd.d d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZejZeeGdddeZejZeeGd d!d!eZej Z e eGd"d#d#eZ!ej"Z"e"e!Gd$d%d%eZ#ej$Z$e$e#Gd&d'd'eZ%ej&Z&e&e%Gd(d)d)eZ'ej(Z(e(e'Gd*d+d+eZ)ej*Z*e*e)dS)/) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr. _common_types) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer$/usr/lib64/python3.6/common_types.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict____swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r,cCst||||dS)Nr)r,)r'r(r)r*rrr _swig_setattrFsr-cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rr__swig_getmethods__r"r&r)r'r(r)r+rrr _swig_getattrJs  r/c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r'Zstrthisrrr _swig_reprSs  r6c@s eZdZdS)_objectN)rr5 __qualname__rrrrr7^sr7c@seZdZiZddZiZddZddZeZ e j Z ddZ ddZd+d d Zd,d d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*S)-SwigPyIteratorcCst|t||S)N)r-r9)r'r)r*rrrdszSwigPyIterator.cCs t|t|S)N)r/r9)r'r)rrrr:fscOs tddS)Nz*No constructor defined - class is abstract)r&)r'argskwargsrrr__init__hszSwigPyIterator.__init__cCsdS)Nr)r'rrrr:lscCs tj|S)N)rZSwigPyIterator_value)r'rrrr*nszSwigPyIterator.valuercCs tj||S)N)rZSwigPyIterator_incr)r'nrrrincrqszSwigPyIterator.incrcCs tj||S)N)rZSwigPyIterator_decr)r'r>rrrdecrtszSwigPyIterator.decrcCs tj||S)N)rZSwigPyIterator_distance)r'xrrrdistancewszSwigPyIterator.distancecCs tj||S)N)rZSwigPyIterator_equal)r'rArrrequalzszSwigPyIterator.equalcCs tj|S)N)rZSwigPyIterator_copy)r'rrrcopy}szSwigPyIterator.copycCs tj|S)N)rZSwigPyIterator_next)r'rrrnextszSwigPyIterator.nextcCs tj|S)N)rZSwigPyIterator___next__)r'rrr__next__szSwigPyIterator.__next__cCs tj|S)N)rZSwigPyIterator_previous)r'rrrpreviousszSwigPyIterator.previouscCs tj||S)N)rZSwigPyIterator_advance)r'r>rrradvanceszSwigPyIterator.advancecCs tj||S)N)rZSwigPyIterator___eq__)r'rArrr__eq__szSwigPyIterator.__eq__cCs tj||S)N)rZSwigPyIterator___ne__)r'rArrr__ne__szSwigPyIterator.__ne__cCs tj||S)N)rZSwigPyIterator___iadd__)r'r>rrr__iadd__szSwigPyIterator.__iadd__cCs tj||S)N)rZSwigPyIterator___isub__)r'r>rrr__isub__szSwigPyIterator.__isub__cCs tj||S)N)rZSwigPyIterator___add__)r'r>rrr__add__szSwigPyIterator.__add__cGstj|f|S)N)rZSwigPyIterator___sub__)r'r;rrr__sub__szSwigPyIterator.__sub__cCs|S)Nr)r'rrr__iter__szSwigPyIterator.__iter__N)r)r)rr5r8r!r%r. __getattr__r=r6r1rZdelete_SwigPyIterator__swig_destroy____del__r*r?r@rBrCrDrErFrGrHrIrJrKrLrMrNrOrrrrr9bs2  r9c@seZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"e#j$Z%d8dZ&d9S): SetStringcCst|t||S)N)r-rS)r'r)r*rrrr:szSetString.cCs t|t|S)N)r/rS)r'r)rrrr:scCs tj|S)N)rZSetString_iterator)r'rrriteratorszSetString.iteratorcCs|jS)N)rT)r'rrrrOszSetString.__iter__cCs tj|S)N)rZSetString___nonzero__)r'rrr __nonzero__szSetString.__nonzero__cCs tj|S)N)rZSetString___bool__)r'rrr__bool__szSetString.__bool__cCs tj|S)N)rZSetString___len__)r'rrr__len__szSetString.__len__cCs tj||S)N)rZSetString_append)r'rArrrappendszSetString.appendcCs tj||S)N)rZSetString___contains__)r'rArrr __contains__szSetString.__contains__cCs tj||S)N)rZSetString___getitem__)r'irrr __getitem__szSetString.__getitem__cCs tj||S)N)rZ SetString_add)r'rArrraddsz SetString.addcCs tj||S)N)rZSetString_discard)r'rArrrdiscardszSetString.discardc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZ new_SetStringrrXr2r3)r'r;rrrrr=s  zSetString.__init__cCs tj|S)N)rZSetString_empty)r'rrremptyszSetString.emptycCs tj|S)N)rZSetString_size)r'rrrsizeszSetString.sizecCs tj|S)N)rZSetString_clear)r'rrrclearszSetString.clearcCs tj||S)N)rZSetString_swap)r'vrrrswapszSetString.swapcCs tj||S)N)rZSetString_count)r'rArrrcountszSetString.countcCs tj|S)N)rZSetString_begin)r'rrrbeginszSetString.begincCs tj|S)N)rZ SetString_end)r'rrrendsz SetString.endcCs tj|S)N)rZSetString_rbegin)r'rrrrbeginszSetString.rbegincCs tj|S)N)rZSetString_rend)r'rrrrendszSetString.rendcGstj|f|S)N)rZSetString_erase)r'r;rrreraseszSetString.erasecCs tj||S)N)rZSetString_find)r'rArrrfindszSetString.findcCs tj||S)N)rZSetString_lower_bound)r'rArrr lower_boundszSetString.lower_boundcCs tj||S)N)rZSetString_upper_bound)r'rArrr upper_boundszSetString.upper_boundcCs tj||S)N)rZSetString_equal_range)r'rArrr equal_rangeszSetString.equal_rangecCs tj||S)N)rZSetString_insert)r'Z _SetString__xrrrinsertszSetString.insertcCsdS)Nr)r'rrrr:sN)'rr5r8r!r%r.rPr6r1rTrOrUrVrWrXrYr[r\r]r=r^r_r`rbrcrdrerfrgrhrirjrkrlrmrZdelete_SetStringrQrRrrrrrSsBrSc@seZdZiZddZiZddZeZddZ e j ed<e j ed<e rRee j e j Ze jed<e jed<e rxee je jZdd Zd d Zd d ZddZe jZddZdS)PairStringStringcCst|t||S)N)r-rn)r'r)r*rrrr:szPairStringString.cCs t|t|S)N)r/rn)r'r)rrrr:sc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_PairStringStringrrXr2r3)r'r;rrrrr=s  zPairStringString.__init__firstsecondcCsdS)Nrr)r'rrrrWszPairStringString.__len__cCst|j|jfS)N)strrorp)r'rrrr1szPairStringString.__repr__cCs|ds|jS|jSdS)Nr)rorp)r'indexrrrr[szPairStringString.__getitem__cCs|ds||_n||_dS)Nr)rorp)r'rrvalrrr __setitem__szPairStringString.__setitem__cCsdS)Nr)r'rrrr:"sN)rr5r8r!r%r.rPr6r1r=rZPairStringString_first_setZPairStringString_first_getr#_swig_propertyroZPairStringString_second_setZPairStringString_second_getrprWr[rtZdelete_PairStringStringrQrRrrrrrns(    rnc@s>eZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$dd?Z&d@dAZ'dBdCZ(dDdEZ)e*j+Z,dFdZ-dGS)HVectorPairStringStringcCst|t||S)N)r-rv)r'r)r*rrrr:(szVectorPairStringString.cCs t|t|S)N)r/rv)r'r)rrrr:*scCs tj|S)N)rZVectorPairStringString_iterator)r'rrrrT-szVectorPairStringString.iteratorcCs|jS)N)rT)r'rrrrO/szVectorPairStringString.__iter__cCs tj|S)N)rZ"VectorPairStringString___nonzero__)r'rrrrU2sz"VectorPairStringString.__nonzero__cCs tj|S)N)rZVectorPairStringString___bool__)r'rrrrV5szVectorPairStringString.__bool__cCs tj|S)N)rZVectorPairStringString___len__)r'rrrrW8szVectorPairStringString.__len__cCstj|||S)N)rZ#VectorPairStringString___getslice__)r'rZjrrr __getslice__;sz#VectorPairStringString.__getslice__cGstj|f|S)N)rZ#VectorPairStringString___setslice__)r'r;rrr __setslice__>sz#VectorPairStringString.__setslice__cCstj|||S)N)rZ#VectorPairStringString___delslice__)r'rZrwrrr __delslice__Asz#VectorPairStringString.__delslice__cGstj|f|S)N)rZ"VectorPairStringString___delitem__)r'r;rrr __delitem__Dsz"VectorPairStringString.__delitem__cGstj|f|S)N)rZ"VectorPairStringString___getitem__)r'r;rrrr[Gsz"VectorPairStringString.__getitem__cGstj|f|S)N)rZ"VectorPairStringString___setitem__)r'r;rrrrtJsz"VectorPairStringString.__setitem__cCs tj|S)N)rZVectorPairStringString_pop)r'rrrpopMszVectorPairStringString.popcCs tj||S)N)rZVectorPairStringString_append)r'rArrrrXPszVectorPairStringString.appendcCs tj|S)N)rZVectorPairStringString_empty)r'rrrr^SszVectorPairStringString.emptycCs tj|S)N)rZVectorPairStringString_size)r'rrrr_VszVectorPairStringString.sizecCs tj||S)N)rZVectorPairStringString_swap)r'rarrrrbYszVectorPairStringString.swapcCs tj|S)N)rZVectorPairStringString_begin)r'rrrrd\szVectorPairStringString.begincCs tj|S)N)rZVectorPairStringString_end)r'rrrre_szVectorPairStringString.endcCs tj|S)N)rZVectorPairStringString_rbegin)r'rrrrfbszVectorPairStringString.rbegincCs tj|S)N)rZVectorPairStringString_rend)r'rrrrgeszVectorPairStringString.rendcCs tj|S)N)rZVectorPairStringString_clear)r'rrrr`hszVectorPairStringString.clearcCs tj|S)N)rZ$VectorPairStringString_get_allocator)r'rrr get_allocatorksz$VectorPairStringString.get_allocatorcCs tj|S)N)rZVectorPairStringString_pop_back)r'rrrpop_backnszVectorPairStringString.pop_backcGstj|f|S)N)rZVectorPairStringString_erase)r'r;rrrrhqszVectorPairStringString.erasec Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_VectorPairStringStringrrXr2r3)r'r;rrrrr=ts  zVectorPairStringString.__init__cCs tj||S)N)rZ VectorPairStringString_push_back)r'rArrr push_back{sz VectorPairStringString.push_backcCs tj|S)N)rZVectorPairStringString_front)r'rrrfront~szVectorPairStringString.frontcCs tj|S)N)rZVectorPairStringString_back)r'rrrbackszVectorPairStringString.backcCstj|||S)N)rZVectorPairStringString_assign)r'r>rArrrassignszVectorPairStringString.assigncGstj|f|S)N)rZVectorPairStringString_resize)r'r;rrrresizeszVectorPairStringString.resizecGstj|f|S)N)rZVectorPairStringString_insert)r'r;rrrrmszVectorPairStringString.insertcCs tj||S)N)rZVectorPairStringString_reserve)r'r>rrrreserveszVectorPairStringString.reservecCs tj|S)N)rZVectorPairStringString_capacity)r'rrrcapacityszVectorPairStringString.capacitycCsdS)Nr)r'rrrr:sN).rr5r8r!r%r.rPr6r1rTrOrUrVrWrxryrzr{r[rtr|rXr^r_rbrdrerfrgr`r}r~rhr=rrrrrrmrrrZdelete_VectorPairStringStringrQrRrrrrrv&sPrvc@sNeZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dGdHZ*e+j,Z-dIdZ.dJS)KMapStringStringcCst|t||S)N)r-r)r'r)r*rrrr:szMapStringString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZMapStringString_iterator)r'rrrrTszMapStringString.iteratorcCs|jS)N)rT)r'rrrrOszMapStringString.__iter__cCs tj|S)N)rZMapStringString___nonzero__)r'rrrrUszMapStringString.__nonzero__cCs tj|S)N)rZMapStringString___bool__)r'rrrrVszMapStringString.__bool__cCs tj|S)N)rZMapStringString___len__)r'rrrrWszMapStringString.__len__cCs|jS)N) key_iterator)r'rrrrOscCs|jS)N)r)r'rrriterkeysszMapStringString.iterkeyscCs|jS)N)value_iterator)r'rrr itervaluesszMapStringString.itervaluescCs|jS)N)rT)r'rrr iteritemsszMapStringString.iteritemscCs tj||S)N)rZMapStringString___getitem__)r'keyrrrr[szMapStringString.__getitem__cCs tj||S)N)rZMapStringString___delitem__)r'rrrrr{szMapStringString.__delitem__cCs tj||S)N)rZMapStringString_has_key)r'rrrrhas_keyszMapStringString.has_keycCs tj|S)N)rZMapStringString_keys)r'rrrkeysszMapStringString.keyscCs tj|S)N)rZMapStringString_values)r'rrrvaluesszMapStringString.valuescCs tj|S)N)rZMapStringString_items)r'rrritemsszMapStringString.itemscCs tj||S)N)rZMapStringString___contains__)r'rrrrrYszMapStringString.__contains__cCs tj|S)N)rZMapStringString_key_iterator)r'rrrrszMapStringString.key_iteratorcCs tj|S)N)rZMapStringString_value_iterator)r'rrrrszMapStringString.value_iteratorcGstj|f|S)N)rZMapStringString___setitem__)r'r;rrrrtszMapStringString.__setitem__cCs tj|S)N)rZMapStringString_asdict)r'rrrasdictszMapStringString.asdictc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_MapStringStringrrXr2r3)r'r;rrrrr=s  zMapStringString.__init__cCs tj|S)N)rZMapStringString_empty)r'rrrr^szMapStringString.emptycCs tj|S)N)rZMapStringString_size)r'rrrr_szMapStringString.sizecCs tj||S)N)rZMapStringString_swap)r'rarrrrbszMapStringString.swapcCs tj|S)N)rZMapStringString_begin)r'rrrrdszMapStringString.begincCs tj|S)N)rZMapStringString_end)r'rrrreszMapStringString.endcCs tj|S)N)rZMapStringString_rbegin)r'rrrrfszMapStringString.rbegincCs tj|S)N)rZMapStringString_rend)r'rrrrgszMapStringString.rendcCs tj|S)N)rZMapStringString_clear)r'rrrr`szMapStringString.clearcCs tj|S)N)rZMapStringString_get_allocator)r'rrrr}szMapStringString.get_allocatorcCs tj||S)N)rZMapStringString_count)r'rArrrrcszMapStringString.countcGstj|f|S)N)rZMapStringString_erase)r'r;rrrrhszMapStringString.erasecCs tj||S)N)rZMapStringString_find)r'rArrrriszMapStringString.findcCs tj||S)N)rZMapStringString_lower_bound)r'rArrrrjszMapStringString.lower_boundcCs tj||S)N)rZMapStringString_upper_bound)r'rArrrrkszMapStringString.upper_boundcCsdS)Nr)r'rrrr:sN)/rr5r8r!r%r.rPr6r1rTrOrUrVrWrrrr[r{rrrrrYrrrtrr=r^r_rbrdrerfrgr`r}rcrhrirjrkrZdelete_MapStringStringrQrRrrrrrsTrc@sNeZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dGdHZ*e+j,Z-dIdZ.dJS)KMapStringMapStringStringcCst|t||S)N)r-r)r'r)r*rrrr: sz!MapStringMapStringString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZ!MapStringMapStringString_iterator)r'rrrrTsz!MapStringMapStringString.iteratorcCs|jS)N)rT)r'rrrrOsz!MapStringMapStringString.__iter__cCs tj|S)N)rZ$MapStringMapStringString___nonzero__)r'rrrrUsz$MapStringMapStringString.__nonzero__cCs tj|S)N)rZ!MapStringMapStringString___bool__)r'rrrrVsz!MapStringMapStringString.__bool__cCs tj|S)N)rZ MapStringMapStringString___len__)r'rrrrWsz MapStringMapStringString.__len__cCs|jS)N)r)r'rrrrOscCs|jS)N)r)r'rrrr sz!MapStringMapStringString.iterkeyscCs|jS)N)r)r'rrrr"sz#MapStringMapStringString.itervaluescCs|jS)N)rT)r'rrrr$sz"MapStringMapStringString.iteritemscCs tj||S)N)rZ$MapStringMapStringString___getitem__)r'rrrrr['sz$MapStringMapStringString.__getitem__cCs tj||S)N)rZ$MapStringMapStringString___delitem__)r'rrrrr{*sz$MapStringMapStringString.__delitem__cCs tj||S)N)rZ MapStringMapStringString_has_key)r'rrrrr-sz MapStringMapStringString.has_keycCs tj|S)N)rZMapStringMapStringString_keys)r'rrrr0szMapStringMapStringString.keyscCs tj|S)N)rZMapStringMapStringString_values)r'rrrr3szMapStringMapStringString.valuescCs tj|S)N)rZMapStringMapStringString_items)r'rrrr6szMapStringMapStringString.itemscCs tj||S)N)rZ%MapStringMapStringString___contains__)r'rrrrrY9sz%MapStringMapStringString.__contains__cCs tj|S)N)rZ%MapStringMapStringString_key_iterator)r'rrrr<sz%MapStringMapStringString.key_iteratorcCs tj|S)N)rZ'MapStringMapStringString_value_iterator)r'rrrr?sz'MapStringMapStringString.value_iteratorcGstj|f|S)N)rZ$MapStringMapStringString___setitem__)r'r;rrrrtBsz$MapStringMapStringString.__setitem__cCs tj|S)N)rZMapStringMapStringString_asdict)r'rrrrEszMapStringMapStringString.asdictc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_MapStringMapStringStringrrXr2r3)r'r;rrrrr=Hs  z!MapStringMapStringString.__init__cCs tj|S)N)rZMapStringMapStringString_empty)r'rrrr^OszMapStringMapStringString.emptycCs tj|S)N)rZMapStringMapStringString_size)r'rrrr_RszMapStringMapStringString.sizecCs tj||S)N)rZMapStringMapStringString_swap)r'rarrrrbUszMapStringMapStringString.swapcCs tj|S)N)rZMapStringMapStringString_begin)r'rrrrdXszMapStringMapStringString.begincCs tj|S)N)rZMapStringMapStringString_end)r'rrrre[szMapStringMapStringString.endcCs tj|S)N)rZMapStringMapStringString_rbegin)r'rrrrf^szMapStringMapStringString.rbegincCs tj|S)N)rZMapStringMapStringString_rend)r'rrrrgaszMapStringMapStringString.rendcCs tj|S)N)rZMapStringMapStringString_clear)r'rrrr`dszMapStringMapStringString.clearcCs tj|S)N)rZ&MapStringMapStringString_get_allocator)r'rrrr}gsz&MapStringMapStringString.get_allocatorcCs tj||S)N)rZMapStringMapStringString_count)r'rArrrrcjszMapStringMapStringString.countcGstj|f|S)N)rZMapStringMapStringString_erase)r'r;rrrrhmszMapStringMapStringString.erasecCs tj||S)N)rZMapStringMapStringString_find)r'rArrrripszMapStringMapStringString.findcCs tj||S)N)rZ$MapStringMapStringString_lower_bound)r'rArrrrjssz$MapStringMapStringString.lower_boundcCs tj||S)N)rZ$MapStringMapStringString_upper_bound)r'rArrrrkvsz$MapStringMapStringString.upper_boundcCsdS)Nr)r'rrrr:ysN)/rr5r8r!r%r.rPr6r1rTrOrUrVrWrrrr[r{rrrrrYrrrtrr=r^r_rbrdrerfrgr`r}rcrhrirjrkrZdelete_MapStringMapStringStringrQrRrrrrr sTrc@sNeZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZ ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dGdHZ*e+j,Z-dIdZ.dJS)KMapStringPairStringStringcCst|t||S)N)r-r)r'r)r*rrrr:sz"MapStringPairStringString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZ"MapStringPairStringString_iterator)r'rrrrTsz"MapStringPairStringString.iteratorcCs|jS)N)rT)r'rrrrOsz"MapStringPairStringString.__iter__cCs tj|S)N)rZ%MapStringPairStringString___nonzero__)r'rrrrUsz%MapStringPairStringString.__nonzero__cCs tj|S)N)rZ"MapStringPairStringString___bool__)r'rrrrVsz"MapStringPairStringString.__bool__cCs tj|S)N)rZ!MapStringPairStringString___len__)r'rrrrWsz!MapStringPairStringString.__len__cCs|jS)N)r)r'rrrrOscCs|jS)N)r)r'rrrrsz"MapStringPairStringString.iterkeyscCs|jS)N)r)r'rrrrsz$MapStringPairStringString.itervaluescCs|jS)N)rT)r'rrrrsz#MapStringPairStringString.iteritemscCs tj||S)N)rZ%MapStringPairStringString___getitem__)r'rrrrr[sz%MapStringPairStringString.__getitem__cCs tj||S)N)rZ%MapStringPairStringString___delitem__)r'rrrrr{sz%MapStringPairStringString.__delitem__cCs tj||S)N)rZ!MapStringPairStringString_has_key)r'rrrrrsz!MapStringPairStringString.has_keycCs tj|S)N)rZMapStringPairStringString_keys)r'rrrrszMapStringPairStringString.keyscCs tj|S)N)rZ MapStringPairStringString_values)r'rrrrsz MapStringPairStringString.valuescCs tj|S)N)rZMapStringPairStringString_items)r'rrrrszMapStringPairStringString.itemscCs tj||S)N)rZ&MapStringPairStringString___contains__)r'rrrrrYsz&MapStringPairStringString.__contains__cCs tj|S)N)rZ&MapStringPairStringString_key_iterator)r'rrrrsz&MapStringPairStringString.key_iteratorcCs tj|S)N)rZ(MapStringPairStringString_value_iterator)r'rrrrsz(MapStringPairStringString.value_iteratorcGstj|f|S)N)rZ%MapStringPairStringString___setitem__)r'r;rrrrtsz%MapStringPairStringString.__setitem__cCs tj|S)N)rZ MapStringPairStringString_asdict)r'rrrrsz MapStringPairStringString.asdictc Gs<tj|}y|jj|Wntjk r6||_YnXdS)N)rZnew_MapStringPairStringStringrrXr2r3)r'r;rrrrr=s  z"MapStringPairStringString.__init__cCs tj|S)N)rZMapStringPairStringString_empty)r'rrrr^szMapStringPairStringString.emptycCs tj|S)N)rZMapStringPairStringString_size)r'rrrr_szMapStringPairStringString.sizecCs tj||S)N)rZMapStringPairStringString_swap)r'rarrrrbszMapStringPairStringString.swapcCs tj|S)N)rZMapStringPairStringString_begin)r'rrrrdszMapStringPairStringString.begincCs tj|S)N)rZMapStringPairStringString_end)r'rrrreszMapStringPairStringString.endcCs tj|S)N)rZ MapStringPairStringString_rbegin)r'rrrrfsz MapStringPairStringString.rbegincCs tj|S)N)rZMapStringPairStringString_rend)r'rrrrgszMapStringPairStringString.rendcCs tj|S)N)rZMapStringPairStringString_clear)r'rrrr`szMapStringPairStringString.clearcCs tj|S)N)rZ'MapStringPairStringString_get_allocator)r'rrrr}sz'MapStringPairStringString.get_allocatorcCs tj||S)N)rZMapStringPairStringString_count)r'rArrrrcszMapStringPairStringString.countcGstj|f|S)N)rZMapStringPairStringString_erase)r'r;rrrrhszMapStringPairStringString.erasecCs tj||S)N)rZMapStringPairStringString_find)r'rArrrriszMapStringPairStringString.findcCs tj||S)N)rZ%MapStringPairStringString_lower_bound)r'rArrrrjsz%MapStringPairStringString.lower_boundcCs tj||S)N)rZ%MapStringPairStringString_upper_bound)r'rArrrrksz%MapStringPairStringString.upper_boundcCsdS)Nr)r'rrrr:sN)/rr5r8r!r%r.rPr6r1rTrOrUrVrWrrrr[r{rrrrrYrrrtrr=r^r_rbrdrerfrgr`r}rcrhrirjrkrZ delete_MapStringPairStringStringrQrRrrrrr}sTrc@s>eZdZiZddZiZddZeZddZ e j Z ddZ dS) StopIteratorcCst|t||S)N)r-r)r'r)r*rrrr:szStopIterator.cCs t|t|S)N)r/r)r'r)rrrr:sc Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZnew_StopIteratorrrXr2r3)r'rrrrr=s zStopIterator.__init__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rZdelete_StopIteratorrQrRrrrrrsrc@seZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!ZejZd"dZd#S)$PreserveOrderMapStringStringcCst|t||S)N)r-r)r'r)r*rrrr:sz%PreserveOrderMapStringString.cCs t|t|S)N)r/r)r'r)rrrr:scCs tj|S)N)rZ"PreserveOrderMapStringString_empty)r'rrrr^ sz"PreserveOrderMapStringString.emptycCs tj|S)N)rZ!PreserveOrderMapStringString_size)r'rrrr_ sz!PreserveOrderMapStringString.sizecCs tj|S)N)rZ%PreserveOrderMapStringString_max_size)r'rrrmax_sizesz%PreserveOrderMapStringString.max_sizecCs tj||S)N)rZ$PreserveOrderMapStringString_reserve)r' newCapacityrrrrsz$PreserveOrderMapStringString.reservecCs tj|S)N)rZ%PreserveOrderMapStringString_capacity)r'rrrrsz%PreserveOrderMapStringString.capacitycCs tj|S)N)rZ*PreserveOrderMapStringString_shrink_to_fit)r'rrr shrink_to_fitsz*PreserveOrderMapStringString.shrink_to_fitcCs tj|S)N)rZ"PreserveOrderMapStringString_clear)r'rrrr`sz"PreserveOrderMapStringString.clearcCs tj||S)N)rZ"PreserveOrderMapStringString_erase)r'rrrrrhsz"PreserveOrderMapStringString.erasecCs tj||S)N)rZ(PreserveOrderMapStringString___getitem__)r'rrrrr[!sz(PreserveOrderMapStringString.__getitem__cCstj|||S)N)rZ(PreserveOrderMapStringString___setitem__)r'rr*rrrrt$sz(PreserveOrderMapStringString.__setitem__cCs tj||S)N)rZ(PreserveOrderMapStringString___delitem__)r'rrrrr{'sz(PreserveOrderMapStringString.__delitem__cCs tj||S)N)rZ)PreserveOrderMapStringString___contains__)r'rrrrrY*sz)PreserveOrderMapStringString.__contains__cCs tj|S)N)rZ$PreserveOrderMapStringString___len__)r'rrrrW-sz$PreserveOrderMapStringString.__len__cCs tj|S)N)rZ%PreserveOrderMapStringString___iter__)r'rrrrO0sz%PreserveOrderMapStringString.__iter__c Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZ new_PreserveOrderMapStringStringrrXr2r3)r'rrrrr=3s z%PreserveOrderMapStringString.__init__cCsdS)Nr)r'rrrr::sN)rr5r8r!r%r.rPr6r1r^r_rrrrr`rhr[rtr{rYrWrOr=rZ#delete_PreserveOrderMapStringStringrQrRrrrrrs,rc@seZdZiZddZiZddZeZddZ ddZ e j ed<e j ed<erZee j e j Ze jed <e jed <eree je jZd d Zd d Ze jZddZdS)$PreserveOrderMapStringStringIteratorcCst|t||S)N)r-r)r'r)r*rrrr:@sz-PreserveOrderMapStringStringIterator.cCs t|t|S)N)r/r)r'r)rrrr:Bsc Cs>tj||}y|jj|Wntjk r8||_YnXdS)N)rZ(new_PreserveOrderMapStringStringIteratorrrXr2r3)r'_cur_endrrrrr=Es  z-PreserveOrderMapStringStringIterator.__init__cCs tj|S)N)rZ-PreserveOrderMapStringStringIterator___iter__)r'rrrrOLsz-PreserveOrderMapStringStringIterator.__iter__currecCs tj|S)N)rZ-PreserveOrderMapStringStringIterator___next__)r'rrrrFWsz-PreserveOrderMapStringStringIterator.__next__cCs tj|S)N)rZ)PreserveOrderMapStringStringIterator_next)r'rrrrEZsz)PreserveOrderMapStringStringIterator.nextcCsdS)Nr)r'rrrr:]sN)rr5r8r!r%r.rPr6r1r=rOrZ,PreserveOrderMapStringStringIterator_cur_setZ,PreserveOrderMapStringStringIterator_cur_getr#rurZ,PreserveOrderMapStringStringIterator_end_setZ,PreserveOrderMapStringStringIterator_end_getrerFrEZ+delete_PreserveOrderMapStringStringIteratorrQrRrrrrr>s&    rc@seZdZiZddZiZddZeZddZ ddZ dd Z d d Z d d Z ddZddZddZddZddZddZddZddZddZd d!ZejZd"dZd#S)$2PreserveOrderMapStringPreserveOrderMapStringStringcCst|t||S)N)r-r)r'r)r*rrrr:csz;PreserveOrderMapStringPreserveOrderMapStringString.cCs t|t|S)N)r/r)r'r)rrrr:escCs tj|S)N)rZ8PreserveOrderMapStringPreserveOrderMapStringString_empty)r'rrrr^hsz8PreserveOrderMapStringPreserveOrderMapStringString.emptycCs tj|S)N)rZ7PreserveOrderMapStringPreserveOrderMapStringString_size)r'rrrr_ksz7PreserveOrderMapStringPreserveOrderMapStringString.sizecCs tj|S)N)rZ;PreserveOrderMapStringPreserveOrderMapStringString_max_size)r'rrrrnsz;PreserveOrderMapStringPreserveOrderMapStringString.max_sizecCs tj||S)N)rZ:PreserveOrderMapStringPreserveOrderMapStringString_reserve)r'rrrrrqsz:PreserveOrderMapStringPreserveOrderMapStringString.reservecCs tj|S)N)rZ;PreserveOrderMapStringPreserveOrderMapStringString_capacity)r'rrrrtsz;PreserveOrderMapStringPreserveOrderMapStringString.capacitycCs tj|S)N)rZ@PreserveOrderMapStringPreserveOrderMapStringString_shrink_to_fit)r'rrrrwsz@PreserveOrderMapStringPreserveOrderMapStringString.shrink_to_fitcCs tj|S)N)rZ8PreserveOrderMapStringPreserveOrderMapStringString_clear)r'rrrr`zsz8PreserveOrderMapStringPreserveOrderMapStringString.clearcCs tj||S)N)rZ8PreserveOrderMapStringPreserveOrderMapStringString_erase)r'rrrrrh}sz8PreserveOrderMapStringPreserveOrderMapStringString.erasecCs tj||S)N)rZ>PreserveOrderMapStringPreserveOrderMapStringString___getitem__)r'rrrrr[sz>PreserveOrderMapStringPreserveOrderMapStringString.__getitem__cCstj|||S)N)rZ>PreserveOrderMapStringPreserveOrderMapStringString___setitem__)r'rr*rrrrtsz>PreserveOrderMapStringPreserveOrderMapStringString.__setitem__cCs tj||S)N)rZ>PreserveOrderMapStringPreserveOrderMapStringString___delitem__)r'rrrrr{sz>PreserveOrderMapStringPreserveOrderMapStringString.__delitem__cCs tj||S)N)rZ?PreserveOrderMapStringPreserveOrderMapStringString___contains__)r'rrrrrYsz?PreserveOrderMapStringPreserveOrderMapStringString.__contains__cCs tj|S)N)rZ:PreserveOrderMapStringPreserveOrderMapStringString___len__)r'rrrrWsz:PreserveOrderMapStringPreserveOrderMapStringString.__len__cCs tj|S)N)rZ;PreserveOrderMapStringPreserveOrderMapStringString___iter__)r'rrrrOsz;PreserveOrderMapStringPreserveOrderMapStringString.__iter__c Cs:tj}y|jj|Wntjk r4||_YnXdS)N)rZ6new_PreserveOrderMapStringPreserveOrderMapStringStringrrXr2r3)r'rrrrr=s z;PreserveOrderMapStringPreserveOrderMapStringString.__init__cCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r^r_rrrrr`rhr[rtr{rYrWrOr=rZ9delete_PreserveOrderMapStringPreserveOrderMapStringStringrQrRrrrrras,rc@seZdZiZddZiZddZeZddZ ddZ e j ed<e j ed<erZee j e j Ze jed <e jed <eree je jZd d Zd d Ze jZddZdS):PreserveOrderMapStringPreserveOrderMapStringStringIteratorcCst|t||S)N)r-r)r'r)r*rrrr:szCPreserveOrderMapStringPreserveOrderMapStringStringIterator.cCs t|t|S)N)r/r)r'r)rrrr:sc Cs>tj||}y|jj|Wntjk r8||_YnXdS)N)rZ>new_PreserveOrderMapStringPreserveOrderMapStringStringIteratorrrXr2r3)r'rrrrrrr=s  zCPreserveOrderMapStringPreserveOrderMapStringStringIterator.__init__cCs tj|S)N)rZCPreserveOrderMapStringPreserveOrderMapStringStringIterator___iter__)r'rrrrOszCPreserveOrderMapStringPreserveOrderMapStringStringIterator.__iter__rrecCs tj|S)N)rZCPreserveOrderMapStringPreserveOrderMapStringStringIterator___next__)r'rrrrFszCPreserveOrderMapStringPreserveOrderMapStringStringIterator.__next__cCs tj|S)N)rZ?PreserveOrderMapStringPreserveOrderMapStringStringIterator_next)r'rrrrEsz?PreserveOrderMapStringPreserveOrderMapStringStringIterator.nextcCsdS)Nr)r'rrrr:sN)rr5r8r!r%r.rPr6r1r=rOrZBPreserveOrderMapStringPreserveOrderMapStringStringIterator_cur_setZBPreserveOrderMapStringPreserveOrderMapStringStringIterator_cur_getr#rurZBPreserveOrderMapStringPreserveOrderMapStringStringIterator_end_setZBPreserveOrderMapStringPreserveOrderMapStringStringIterator_end_getrerFrEZAdelete_PreserveOrderMapStringPreserveOrderMapStringStringIteratorrQrRrrrrrs&    r)rrr)rrr)r)+sysrZ_swig_python_version_inforrpropertyru NameErrorbuiltinsr2r r,r-r/r6r$r7r#r3r9ZSwigPyIterator_swigregisterrSZSetString_swigregisterrnZPairStringString_swigregisterrvZ#VectorPairStringString_swigregisterrZMapStringString_swigregisterrZ%MapStringMapStringString_swigregisterrZ&MapStringPairStringString_swigregisterrZStopIterator_swigregisterrZ)PreserveOrderMapStringString_swigregisterrZ1PreserveOrderMapStringStringIterator_swigregisterrZ?PreserveOrderMapStringPreserveOrderMapStringString_swigregisterrZGPreserveOrderMapStringPreserveOrderMapStringStringIterator_swigregisterrrrrs     =Y%nppp9 9 PKhee[br error.cpython-36.pycnu[3 љg @sddlmZedkr&ddZeZ[n"edkr@ddZeZ[nddlZ[yeZWnek rfYnXy ddlZ Wne k rddl Z YnXdd d Z d d Z ddZ ddZy eZd ZWn(e jk rGdddZdZYnXejZdS)) version_infoc CsTddl}tjdd}dj|dfjd}y |j|Stk rN|jdSXdS)Nr._error) importlib__name__ rpartitionjoinlstrip import_module ImportError)rZpkgZmnamer/usr/lib64/python3.6/error.pyswig_import_helper s rcCs~ddlm}ddl}d}y|jd|tg\}}}Wntk rPddl}|SXz|jd|||}Wd|dk rx|jX|S)Nr)dirnamer) Zos.pathrimp find_module__file__r r load_moduleclose)rrfppathname descriptionrZ_modrrrrs  NcCs|dkr|jj|S|dkr8t|jdkr8||j|<dS|jj|d}|rT|||S|sxtrltj |||q||j|<n t d|dS)NthisownthisZ SwigPyObjectzYou cannot add attributes to %s) rowntyper__dict__Z__swig_setmethods__get _newclassobject __setattr__AttributeError)self class_typenamevalueZstaticmethodrrr_swig_setattr_nondynamic3s    r+cCst||||dS)Nr)r+)r&r'r(r)rrr _swig_setattrFsr,cCsB|dkr|jjS|jj|d}|r,||Std|j|fdS)Nrz!'%s' object has no attribute '%s')rrZ__swig_getmethods__r!r%r)r&r'r(r*rrr _swig_getattrJs  r-c CsDyd|jj}Wntjk r,d}YnXd|jj|jj|fS)Nz proxy of z <%s.%s; %s >)r__repr__ __builtin__ Exception __class__ __module__r)r&Zstrthisrrr _swig_reprSs  r4c@s eZdZdS)_objectN)rr3 __qualname__rrrrr5^sr5)rrr)rrr)r)sysrZ_swig_python_version_inforrpropertyZ_swig_property NameErrorbuiltinsr0r r+r,r-r4r#r5r"r1Errorrrrrs:     PKkee[dGHHexpat.cpython-36.opt-1.pycnu[3 \@s,dZddlZddlTeejd<eejd<dS)z1Interface to the Expat non-validating XML parser.N)*zxml.parsers.expat.modelzxml.parsers.expat.errors)__doc__sysZpyexpatZmodelmoduleserrorsrr)/usr/lib64/python3.6/xml/parsers/expat.pys PKkee[dGHHexpat.cpython-36.pycnu[3 \@s,dZddlZddlTeejd<eejd<dS)z1Interface to the Expat non-validating XML parser.N)*zxml.parsers.expat.modelzxml.parsers.expat.errors)__doc__sysZpyexpatZmodelmoduleserrorsrr)/usr/lib64/python3.6/xml/parsers/expat.pys PKkee[9:expat.cpython-36.opt-2.pycnu[3 \@s(ddlZddlTeejd<eejd<dS)N)*zxml.parsers.expat.modelzxml.parsers.expat.errors)sysZpyexpatZmodelmoduleserrorsrr)/usr/lib64/python3.6/xml/parsers/expat.pys PKge[\Q3abc.cpython-36.opt-1.pycnu[3 \D@sddlTddlmZdS))*)__all__N)_collections_abcrrr'/usr/lib64/python3.6/collections/abc.pysPKge[\Q3abc.cpython-36.pycnu[3 \D@sddlTddlmZdS))*)__all__N)_collections_abcrrr'/usr/lib64/python3.6/collections/abc.pysPKge[\Q3abc.cpython-36.opt-2.pycnu[3 \D@sddlTddlmZdS))*)__all__N)_collections_abcrrr'/usr/lib64/python3.6/collections/abc.pysPKge[e@pppy31compat.cpython-36.opt-1.pycnu[3 vhX@srddlZddlZddlZd ddZejd kp^d ejko@dknp^dejkoZdknZerhenejZdS)NFcCsJytj|Wn6tk rD}z| s2|jtjkr4WYdd}~XnXdS)N)osmakedirsOSErrorerrnoZEEXIST)pathexist_okexcr /usr/lib/python3.6/py31compat.py _makedirs_31s r )F)r r r)r r )r r r)r r)r rr)rrsysr version_infoZneeds_makedirsrr r r r s PKge[$LLunicode_utils.cpython-36.pycnu[3 vh@s8ddlZddlZddlmZddZddZddZdS) N)sixc CsVt|tjrtjd|Sy$|jd}tjd|}|jd}Wntk rPYnX|S)NZNFDzutf-8) isinstancer text_type unicodedataZ normalizedecodeencode UnicodeError)pathr #/usr/lib/python3.6/unicode_utils.py decomposes    r c CsXt|tjr|Stjpd}|df}x.|D]&}y |j|Stk rNw*Yq*Xq*WdS)zY Ensure that the given path is decoded, NONE when no expected encoding works zutf-8N)rrrsysgetfilesystemencodingrUnicodeDecodeError)r Zfs_encZ candidatesencr r r filesys_decodes    rc Cs$y |j|Stk rdSXdS)z/turn unicode encoding into a functional routineN)rUnicodeEncodeError)stringrr r r try_encode's r)rr Zsetuptools.externrr rrr r r r s   PKge[3bZZpy36compat.cpython-36.pycnu[3 vhK @sVddlZddlmZddlmZddlmZGdddZejd krRGdddZdS) N)DistutilsOptionError) strtobool)DEBUGc@seZdZdZdddZdS)Distribution_parse_config_filesz Mix-in providing forward-compatibility for functionality to be included by default on Python 3.7. Do not edit the code in this class except to update functionality as implemented in distutils. NcCsddlm}tjtjkr8ddddddd d d d d ddg }ng}t|}|dkrT|j}trb|jd|dd}x|D]}tr|jd||j |xf|j D]Z}|j |}|j |}x@|D]8} | dkr| |kr|j || } | jdd} || f|| <qWqW|jqrWd|jkrx|jdjD]\} \} } |jj | } yF| rVt|| t|  n(| dkrrt|| t| n t|| | Wn,tk r} zt| WYdd} ~ XnXq"WdS)Nr) ConfigParserz install-basezinstall-platbasez install-libzinstall-platlibzinstall-purelibzinstall-headerszinstall-scriptsz install-dataprefixz exec-prefixhomeuserrootz"Distribution.parse_config_files():)Z interpolationz reading %s__name__-_globalverbosedry_run)rr)Z configparserrsysr base_prefix frozensetZfind_config_filesrZannouncereadZsectionsoptionsZget_option_dictgetreplace__init__Zcommand_optionsitemsZ negative_optsetattrr ValueErrorr)self filenamesrZignore_optionsparserfilenameZsectionrZopt_dictoptvalsrcaliasmsgr% /usr/lib/python3.6/py36compat.pyparse_config_filessJ                z2Distribution_parse_config_files.parse_config_files)N)r __module__ __qualname____doc__r'r%r%r%r&rsrc@s eZdZdS)rN)r r(r)r%r%r%r&rJs)r+) rZdistutils.errorsrZdistutils.utilrZdistutils.debugrr version_infor%r%r%r&s   A PKge[WƖsite-patch.cpython-36.pycnu[3 vh @sddZedkre[dS)cCsddl}ddl}|jjd}|dks4|jdkr:| r:g}n |j|j}t|di}|jt |d}|jj t }x|D]}||ksv| rqv|j|}|dk r|j d}|dk r|j dPqvy ddl} | j d|g\} } } Wntk rwvYnX| dkrqvz| j d| | | Wd| jXPqvWtdtdd|jD} t|d d}d|_x|D]}t|qXW|j|7_t|d\}}d}g}xl|jD]b}t|\}}||kr|dkrt |}|| ks|dkr|j|n|j|||d 7}qW||jdd<dS) N PYTHONPATHZwin32path_importer_cachesitez$Couldn't find the real 'site' modulecSsg|]}t|ddfqS))makepath).0itemr /usr/lib/python3.6/site-patch.py )sz__boot.. __egginsertr)sysosenvirongetplatformsplitpathsepgetattrpathlendirname__file__ find_module load_moduleimp ImportErrorclosedictr addsitedirrappendinsert)r rrZpicZstdpathZmydirrZimporterloaderrstreamrZdescr known_pathsZoldposdZndZ insert_atnew_pathpZnpr r r __boots`               r(rN)r(__name__r r r r sGPKge[B1rrextension.cpython-36.opt-1.pycnu[3 vh@s|ddlZddlZddlZddlZddlZddlmZddlm Z ddZ e Z e ej j ZGdddeZ Gd d d e ZdS) N)map) get_unpatchedc Cs2d}yt|dgdjdStk r,YnXdS)z0 Return True if Cython can be imported. zCython.Distutils.build_ext build_ext)fromlistTF) __import__r Exception)Z cython_implr /usr/lib/python3.6/extension.py _have_cython sr c@s eZdZdZddZddZdS) Extensionz7Extension that uses '.c' files in place of '.pyx' filescOs(|jdd|_tj|||f||dS)Npy_limited_apiF)popr _Extension__init__)selfnamesourcesargskwr r r r#szExtension.__init__cCsNtr dS|jpd}|jdkr$dnd}tjtjd|}tt||j |_ dS)z Replace sources with .pyx extensions to sources with the target language extension. This mechanism allows language authors to supply pre-converted sources but to prefer the .pyx sources. Nzc++z.cppz.cz.pyx$) r Zlanguagelower functoolspartialresublistrr)rZlangZ target_extrr r r _convert_pyx_sources_to_lang)s  z&Extension._convert_pyx_sources_to_langN)__name__ __module__ __qualname____doc__rrr r r r r sr c@seZdZdZdS)Libraryz=Just like a regular Extension, but built as a library insteadN)rrr r!r r r r r"8sr")rrZdistutils.coreZ distutilsZdistutils.errorsZdistutils.extensionZsetuptools.extern.six.movesrZmonkeyrr Z have_pyrexZcorer rr"r r r r s   PKge[version.cpython-36.opt-1.pycnu[3 vh @s6ddlZyejdjZWnek r0dZYnXdS)NZ setuptoolsunknown)Z pkg_resourcesZget_distributionversion __version__ Exceptionrr/usr/lib/python3.6/version.pysPKge[Qlaunch.cpython-36.opt-1.pycnu[3 vh@s.dZddlZddlZddZedkr*edS)z[ Launch the Python script on the command line after setuptools is bootstrapped via import. NcCsrttjd}t|ddd}tjddtjdd<ttdt}||j}|jdd}t ||d}t ||dS) zP Run the script in sys.argv[1] as if it had been invoked naturally. __main__N)__file____name____doc__openz\r\nz\nexec) __builtins__sysargvdictgetattrtokenizerreadreplacecompiler)Z script_name namespaceZopen_ZscriptZ norm_scriptcoder/usr/lib/python3.6/launch.pyrun s     rr)rrr rrrrrrs PKge[dep_util.cpython-36.opt-1.pycnu[3 vh@sddlmZddZdS)) newer_groupcCslt|t|krtdg}g}xBtt|D]2}t||||r.|j|||j||q.W||fS)zWalk both arguments in parallel, testing if each source group is newer than its corresponding target. Returns a pair of lists (sources_groups, targets) where sources is newer than target, according to the semantics of 'newer_group()'. z5'sources_group' and 'targets' must be the same length)len ValueErrorrangerappend)Zsources_groupsZtargetsZ n_sourcesZ n_targetsir/usr/lib/python3.6/dep_util.pynewer_pairwise_groupsr N)Zdistutils.dep_utilrr rrrr s PKge[ㄙmsvc.cpython-36.pycnu[3 vh @sdZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z ej dkrpddl mZejZnGd d d ZeZeejjfZydd lmZWnek rYnXd d Zd ddZddZddZd!ddZGdddZGdddZGdddZGdddZ dS)"a@ Improved support for Microsoft Visual C++ compilers. Known supported compilers: -------------------------- Microsoft Visual C++ 9.0: Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64) Microsoft Windows SDK 6.1 (x86, x64, ia64) Microsoft Windows SDK 7.0 (x86, x64, ia64) Microsoft Visual C++ 10.0: Microsoft Windows SDK 7.1 (x86, x64, ia64) Microsoft Visual C++ 14.0: Microsoft Visual C++ Build Tools 2015 (x86, x64, arm) Microsoft Visual Studio 2017 (x86, x64, arm, arm64) Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64) N) LegacyVersion) filterfalse) get_unpatchedWindows)winregc@seZdZdZdZdZdZdS)rN)__name__ __module__ __qualname__ HKEY_USERSHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_CLASSES_ROOTrr/usr/lib/python3.6/msvc.pyr(sr)RegcCsd}|d|f}ytj|d}WnJtk rjy|d|f}tj|d}Wntk rdd}YnXYnX|rtjjjj|d}tjj|r|Stt|S)a+ Patched "distutils.msvc9compiler.find_vcvarsall" to use the standalone compiler build for Python (VCForPython). Fall back to original behavior when the standalone compiler is not available. Redirect the path of "vcvarsall.bat". Known supported compilers ------------------------- Microsoft Visual C++ 9.0: Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64) Parameters ---------- version: float Required Microsoft Visual C++ version. Return ------ vcvarsall.bat path: str z-Software\%sMicrosoft\DevDiv\VCForPython\%0.1f installdirz Wow6432Node\Nz vcvarsall.bat) rZ get_valueKeyErrorospathjoinisfilermsvc9_find_vcvarsall)versionZVC_BASEkey productdir vcvarsallrrrr?s   rx86cOsytt}|||f||Stjjk r2Yntk rDYnXyt||jStjjk r}zt|||WYdd}~XnXdS)a Patched "distutils.msvc9compiler.query_vcvarsall" for support extra compilers. Set environment without use of "vcvarsall.bat". Known supported compilers ------------------------- Microsoft Visual C++ 9.0: Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64) Microsoft Windows SDK 6.1 (x86, x64, ia64) Microsoft Windows SDK 7.0 (x86, x64, ia64) Microsoft Visual C++ 10.0: Microsoft Windows SDK 7.1 (x86, x64, ia64) Parameters ---------- ver: float Required Microsoft Visual C++ version. arch: str Target architecture. Return ------ environment: dict N) rmsvc9_query_vcvarsall distutilserrorsDistutilsPlatformError ValueErrorEnvironmentInfo return_env_augment_exception)verarchargskwargsZorigexcrrrrjs rcCsny tt|Stjjk r$YnXyt|ddjStjjk rh}zt|dWYdd}~XnXdS)a' Patched "distutils._msvccompiler._get_vc_env" for support extra compilers. Set environment without use of "vcvarsall.bat". Known supported compilers ------------------------- Microsoft Visual C++ 14.0: Microsoft Visual C++ Build Tools 2015 (x86, x64, arm) Microsoft Visual Studio 2017 (x86, x64, arm, arm64) Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64) Parameters ---------- plat_spec: str Target architecture. Return ------ environment: dict g,@) vc_min_verN)rmsvc14_get_vc_envr r!r"r$r%r&)Z plat_specr+rrrr-s  r-cOsBdtjkr4ddl}t|jtdkr4|jjj||Stt ||S)z Patched "distutils._msvccompiler.gen_lib_options" for fix compatibility between "numpy.distutils" and "distutils._msvccompiler" (for Numpy < 1.11.2) znumpy.distutilsrNz1.11.2) sysmodulesZnumpyr __version__r Z ccompilerZgen_lib_optionsrmsvc14_gen_lib_options)r)r*Znprrrr1s  r1rcCs|jd}d|jks"d|jkrd}|jft}d}|dkrr|jjddkrh|d 7}||d 7}q|d 7}n.|d kr|d 7}||d7}n|dkr|d7}|f|_dS)zl Add details to the exception message to help guide the user as to what action will resolve it. rrzvisual cz0Microsoft Visual C++ {version:0.1f} is required.z-www.microsoft.com/download/details.aspx?id=%dg"@Zia64rz* Get it with "Microsoft Windows SDK 7.0": iB z% Get it from http://aka.ms/vcpython27g$@z* Get it with "Microsoft Windows SDK 7.1": iW g,@zj Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-toolsN)r)lowerformatlocalsfind)r+rr(messageZtmplZ msdownloadrrrr&s   r&c@sbeZdZdZejddjZddZe ddZ dd Z d d Z dd dZ dddZdddZdS) PlatformInfoz Current and Target Architectures informations. Parameters ---------- arch: str Target architecture. Zprocessor_architecturercCs|jjdd|_dS)Nx64amd64)r3replacer()selfr(rrr__init__szPlatformInfo.__init__cCs|j|jjdddS)N_r)r(r6)r<rrr target_cpuszPlatformInfo.target_cpucCs |jdkS)Nr)r?)r<rrr target_is_x86szPlatformInfo.target_is_x86cCs |jdkS)Nr) current_cpu)r<rrrcurrent_is_x86szPlatformInfo.current_is_x86FcCs.|jdkr|rdS|jdkr$|r$dSd|jS)uk Current platform specific subfolder. Parameters ---------- hidex86: bool return '' and not '†' if architecture is x86. x64: bool return 'd' and not 'md64' if architecture is amd64. Return ------ subfolder: str ' arget', or '' (see hidex86 parameter) rrr:z\x64z\%s)rA)r<hidex86r9rrr current_dir szPlatformInfo.current_dircCs.|jdkr|rdS|jdkr$|r$dSd|jS)ar Target platform specific subfolder. Parameters ---------- hidex86: bool return '' and not '\x86' if architecture is x86. x64: bool return '\x64' and not '\amd64' if architecture is amd64. Return ------ subfolder: str '\current', or '' (see hidex86 parameter) rrr:z\x64z\%s)r?)r<rCr9rrr target_dirszPlatformInfo.target_dircCs0|rdn|j}|j|krdS|jjdd|S)ao Cross platform specific subfolder. Parameters ---------- forcex86: bool Use 'x86' as current architecture even if current acritecture is not x86. Return ------ subfolder: str '' if target architecture is current architecture, '\current_target' if not. rr\z\%s_)rAr?rEr;)r<forcex86Zcurrentrrr cross_dir5szPlatformInfo.cross_dirN)FF)FF)F)rr r __doc__safe_envgetr3rAr=propertyr?r@rBrDrErHrrrrr8s   r8c@seZdZdZejejejejfZ ddZ e ddZ e ddZ e dd Ze d d Ze d d Ze ddZe ddZe ddZe ddZdddZddZdS) RegistryInfoz Microsoft Visual Studio related registry informations. Parameters ---------- platform_info: PlatformInfo "PlatformInfo" instance. cCs ||_dS)N)pi)r<Z platform_inforrrr=ZszRegistryInfo.__init__cCsdS)z< Microsoft Visual Studio root registry key. Z VisualStudior)r<rrr visualstudio]szRegistryInfo.visualstudiocCstjj|jdS)z; Microsoft Visual Studio SxS registry key. ZSxS)rrrrO)r<rrrsxsdszRegistryInfo.sxscCstjj|jdS)z8 Microsoft Visual C++ VC7 registry key. ZVC7)rrrrP)r<rrrvckszRegistryInfo.vccCstjj|jdS)z; Microsoft Visual Studio VS7 registry key. ZVS7)rrrrP)r<rrrvsrszRegistryInfo.vscCsdS)z? Microsoft Visual C++ for Python registry key. zDevDiv\VCForPythonr)r<rrr vc_for_pythonyszRegistryInfo.vc_for_pythoncCsdS)z- Microsoft SDK registry key. zMicrosoft SDKsr)r<rrr microsoft_sdkszRegistryInfo.microsoft_sdkcCstjj|jdS)z> Microsoft Windows/Platform SDK registry key. r)rrrrT)r<rrr windows_sdkszRegistryInfo.windows_sdkcCstjj|jdS)z< Microsoft .NET Framework SDK registry key. ZNETFXSDK)rrrrT)r<rrr netfx_sdkszRegistryInfo.netfx_sdkcCsdS)z< Microsoft Windows Kits Roots registry key. zWindows Kits\Installed Rootsr)r<rrrwindows_kits_rootsszRegistryInfo.windows_kits_rootsFcCs(|jjs|rdnd}tjjd|d|S)a  Return key in Microsoft software registry. Parameters ---------- key: str Registry key path where look. x86: str Force x86 software registry. Return ------ str: value rZ Wow6432NodeZSoftwareZ Microsoft)rNrBrrr)r<rrZnode64rrr microsoftszRegistryInfo.microsoftcCstj}tj}|j}x|jD]}y||||d|}WnZttfk r|jjsy||||dd|}Wqttfk rwYqXnwYnXytj ||dSttfk rYqXqWdS)a Look for values in registry in Microsoft software registry. Parameters ---------- key: str Registry key path where look. name: str Value name to find. Return ------ str: value rTN) rKEY_READOpenKeyrXHKEYSOSErrorIOErrorrNrBZ QueryValueEx)r<rnamerYZopenkeymshkeybkeyrrrlookups"   zRegistryInfo.lookupN)F)rr r rIrr r r rr[r=rLrOrPrQrRrSrTrUrVrWrXrbrrrrrMLs"          rMc@s$eZdZdZejddZejddZejdeZd3ddZ d d Z d d Z e d dZ e ddZddZddZe ddZe ddZe ddZe ddZe ddZe dd Ze d!d"Ze d#d$Ze d%d&Ze d'd(Ze d)d*Ze d+d,Ze d-d.Zd/d0Zd4d1d2ZdS)5 SystemInfoz Microsoft Windows and Visual Studio related system inormations. Parameters ---------- registry_info: RegistryInfo "RegistryInfo" instance. vc_ver: float Required Microsoft Visual C++ version. WinDirr ProgramFileszProgramFiles(x86)NcCs"||_|jj|_|p|j|_dS)N)rirN_find_latest_available_vc_vervc_ver)r<Z registry_inforhrrrr=s zSystemInfo.__init__c Cs6y |jdStk r0d}tjj|YnXdS)Nrz%No Microsoft Visual C++ version foundr2)find_available_vc_vers IndexErrorr r!r")r<errrrrrgs  z(SystemInfo._find_latest_available_vc_verc Cs6|jj}|jj|jj|jjf}g}x|jjD]}x|D]}ytj|||dtj}Wnt t fk rpw8YnXtj |\}}} xPt |D]D} y*t tj|| d} | |kr|j| Wqtk rYqXqWxPt |D]D} y(t tj|| } | |kr|j| Wqtk r YqXqWq8Wq.Wt|S)zC Find all available Microsoft Visual C++ versions. r)rfrXrQrSrRr[rrZrYr\r]Z QueryInfoKeyrangefloatZ EnumValueappendr#ZEnumKeysorted) r<r_ZvckeysZvc_versr`rraZsubkeysvaluesr>ir'rrrris2   z!SystemInfo.find_available_vc_verscCs6d|j}tjj|j|}|jj|jjd|jp4|S)z4 Microsoft Visual Studio directory. zMicrosoft Visual Studio %0.1fz%0.1f)rhrrrProgramFilesx86rfrbrR)r<r^defaultrrr VSInstallDir s zSystemInfo.VSInstallDircCs|j|jp|j}tjj|jjd|j}|jj |d}|rNtjj|dn|}|jj |jj d|jpl|}tjj |sd}t j j||S)z1 Microsoft Visual C++ directory. z%0.1frZVCz(Microsoft Visual C++ directory not found)rt _guess_vc_guess_vc_legacyrrrrfrSrhrbrQisdirr r!r")r<guess_vcZreg_pathZ python_vcZ default_vcrmsgrrr VCInstallDirs  zSystemInfo.VCInstallDirc Cs^|jdkrdSd}tjj|j|}ytj|d}tjj||Stttfk rXYnXdS)z* Locate Visual C for 2017 g,@Nz VC\Tools\MSVCrr2) rhrrrrtlistdirr\r]rj)r<rsrxZ vc_exact_verrrrru0s zSystemInfo._guess_vccCsd|j}tjj|j|S)z< Locate Visual C for versions prior to 2017 z Microsoft Visual Studio %0.1f\VC)rhrrrrr)r<rsrrrrv@s zSystemInfo._guess_vc_legacycCsJ|jdkrdS|jdkrdS|jdkr*dS|jd kr8dS|jdkrFdSdS)zN Microsoft Windows SDK versions for specified MSVC++ version. g"@7.06.16.0ag$@7.17.0ag&@8.08.0ag(@8.18.1ag,@10.0N)r|r}r~)rr)rr)rr)rr)rh)r<rrrWindowsSdkVersionGs     zSystemInfo.WindowsSdkVersioncCs|jtjj|jdS)z4 Microsoft Windows SDK last version lib)_use_last_dir_namerrr WindowsSdkDir)r<rrrWindowsSdkLastVersionWs z SystemInfo.WindowsSdkLastVersioncCsTd}x8|jD].}tjj|jjd|}|jj|d}|r Pq W| sRtjj| rtjj|jjd|j }|jj|d}|rtjj|d}| stjj| rxH|jD]>}|d|j d}d |}tjj|j |}tjj|r|}qW| stjj| r:x:|jD]0}d |}tjj|j |}tjj|r|}qW|sPtjj|j d }|S) z2 Microsoft Windows SDK directory. rzv%sinstallationfolderz%0.1frZWinSDKN.zMicrosoft SDKs\Windows Kits\%szMicrosoft SDKs\Windows\v%sZ PlatformSDK) rrrrrfrUrbrwrSrhrfindrerz)r<sdkdirr'locrZ install_baseZintverdrrrr_s6     zSystemInfo.WindowsSdkDirc Cs|jdkrd}d}n&d}|jdkr&dnd}|jjd|d}d ||jd d f}g}|jd krx(|jD]}|tjj|jj ||g7}qdWx,|j D]"}|tjj|jj d ||g7}qWx |D]}|jj |d}|rPqW|S)z= Microsoft Windows SDK executable directory. g&@#r(g(@TF)r9rCzWinSDK-NetFx%dTools%srF-g,@zv%sAr) rhrNrDr;NetFxSdkVersionrrrrfrVrrUrb) r<Znetfxverr(rCZfxZregpathsr'rZexecpathrrrWindowsSDKExecutablePaths$    " z#SystemInfo.WindowsSDKExecutablePathcCs.d|j}tjj|jj|}|jj|dp,dS)z0 Microsoft Visual F# directory. z%0.1f\Setup\F#rr)rhrrrrfrOrb)r<rrrrFSharpInstallDirs zSystemInfo.FSharpInstallDircCsF|jdkrd}nf}x(|D] }|jj|jjd|}|rPqW|pDdS)z8 Microsoft Universal CRT SDK directory. g,@1081z kitsroot%sr)rr)rhrfrbrW)r<Zversr'rrrrUniversalCRTSdkDirs    zSystemInfo.UniversalCRTSdkDircCs|jtjj|jdS)z@ Microsoft Universal C Runtime SDK last version r)rrrrr)r<rrrUniversalCRTSdkLastVersions z%SystemInfo.UniversalCRTSdkLastVersioncCs|jdkrdSfSdS)z8 Microsoft .NET Framework SDK versions. g,@4.6.14.6N)rr)rh)r<rrrrs zSystemInfo.NetFxSdkVersioncCs>x4|jD]*}tjj|jj|}|jj|d}|rPqW|p)sz0SystemInfo._use_last_dir_name..Nr)reversedrr{next)r<rrZ matching_dirsr)rrrrs zSystemInfo._use_last_dir_name)N)r) rr r rIrJrKrdrerrr=rgrirLrtrzrurvrrrrrrrrrrrrrrrrrrrrcs4         &     rcc@sReZdZdZd=ddZeddZedd Zed d Zed d Z eddZ eddZ eddZ eddZ eddZeddZddZeddZeddZed d!Zed"d#Zed$d%Zed&d'Zed(d)Zed*d+Zed,d-Zed.d/Zed0d1Zed2d3Zed4d5Zd>d7d8Zd9d:Zd?d;d<Z dS)@r$aY Return environment variables for specified Microsoft Visual C++ version and platform : Lib, Include, Path and libpath. This function is compatible with Microsoft Visual C++ 9.0 to 14.0. Script created by analysing Microsoft environment configuration files like "vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ... Parameters ---------- arch: str Target architecture. vc_ver: float Required Microsoft Visual C++ version. If not set, autodetect the last version. vc_min_ver: float Minimum Microsoft Visual C++ version. NrcCsBt||_t|j|_t|j||_|j|kr>d}tjj |dS)Nz.No suitable Microsoft Visual C++ version found) r8rNrMrfrcsirhr r!r")r<r(rhr,rkrrrr=Is    zEnvironmentInfo.__init__cCs|jjS)z/ Microsoft Visual C++ version. )rrh)r<rrrrhRszEnvironmentInfo.vc_vercsVddg}jdkrDjjddd}|dg7}|dg7}|d|g7}fd d |DS) z/ Microsoft Visual Studio Tools z Common7\IDEz Common7\Toolsg,@T)rCr9z1Common7\IDE\CommonExtensions\Microsoft\TestWindowzTeam Tools\Performance ToolszTeam Tools\Performance Tools%scsg|]}tjjjj|qSr)rrrrrt)rr)r<rr fsz+EnvironmentInfo.VSTools..)rhrNrD)r<paths arch_subdirr)r<rVSToolsYs   zEnvironmentInfo.VSToolscCs$tjj|jjdtjj|jjdgS)zL Microsoft Visual C++ & Microsoft Foundation Class Includes ZIncludezATLMFC\Include)rrrrrz)r<rrr VCIncludeshszEnvironmentInfo.VCIncludescsbjdkrjjdd}njjdd}d|d|g}jdkrP|d|g7}fd d |DS) zM Microsoft Visual C++ & Microsoft Foundation Class Libraries g.@T)r9)rCzLib%sz ATLMFC\Lib%sg,@z Lib\store%scsg|]}tjjjj|qSr)rrrrrz)rr)r<rrr~sz/EnvironmentInfo.VCLibraries..)rhrNrE)r<rrr)r<r VCLibrariesps  zEnvironmentInfo.VCLibrariescCs"|jdkrgStjj|jjdgS)zA Microsoft Visual C++ store references Libraries g,@zLib\store\references)rhrrrrrz)r<rrr VCStoreRefss zEnvironmentInfo.VCStoreRefscCs|j}tjj|jdg}|jdkr&dnd}|jj|}|rT|tjj|jd|g7}|jdkrd|jjdd}|tjj|j|g7}n|jdkr|jj rd nd }|tjj|j||jj dd g7}|jj |jj kr|tjj|j||jjdd g7}n|tjj|jd g7}|S) z, Microsoft Visual C++ Tools Z VCPackagesg$@TFzBin%sg,@)rCg.@z bin\HostX86%sz bin\HostX64%s)r9Bin) rrrrrzrhrNrHrDrBrErAr?)r<rtoolsrGrrZhost_dirrrrVCToolss&   zEnvironmentInfo.VCToolscCst|jdkr2|jjddd}tjj|jjd|gS|jjdd}tjj|jjd}|j}tjj|d||fgSdS) z1 Microsoft Windows SDK Libraries g$@T)rCr9zLib%s)r9rz%sum%sN) rhrNrErrrrr _sdk_subdir)r<rrZlibverrrr OSLibrariess zEnvironmentInfo.OSLibrariescCs|tjj|jjd}|jdkr.|tjj|dgS|jdkr@|j}nd}tjj|d|tjj|d|tjj|d|gSd S) z/ Microsoft Windows SDK Include includeg$@Zglg,@rz%ssharedz%sumz%swinrtN)rrrrrrhr)r<rsdkverrrr OSIncludess  zEnvironmentInfo.OSIncludescCstjj|jjd}g}|jdkr*||j7}|jdkrH|tjj|dg7}|jdkr||tjj|jjdtjj|ddtjj|d dtjj|d dtjj|jjd d d |jdddg7}|S)z7 Microsoft Windows SDK Libraries Paths Z Referencesg"@g&@zCommonConfiguration\Neutralg,@Z UnionMetadataz'Windows.Foundation.UniversalApiContractz1.0.0.0z%Windows.Foundation.FoundationContractz,Windows.Networking.Connectivity.WwanContractZ ExtensionSDKszMicrosoft.VCLibsz%0.1fZCommonConfigurationZneutral)rrrrrrhr)r<reflibpathrrr OSLibpaths>     zEnvironmentInfo.OSLibpathcCs t|jS)z- Microsoft Windows SDK Tools )list _sdk_tools)r<rrrSdkToolsszEnvironmentInfo.SdkToolsccs|jdkr0|jdkrdnd}tjj|jj|V|jjsd|jjdd}d|}tjj|jj|V|jdksx|jdkr|jj rd }n|jjddd }d |}tjj|jj|VnL|jdkrtjj|jjd}|jjdd}|jj }tjj|d ||fV|jj r|jj Vd S)z= Microsoft Windows SDK Tools paths generator g.@g&@rzBin\x86T)r9zBin%sg$@r)rCr9zBin\NETFX 4.0 Tools%sz%s%sN) rhrrrrrrNrBrDr@rr)r<Zbin_dirrrrrrrrs(     zEnvironmentInfo._sdk_toolscCs|jj}|rd|SdS)z6 Microsoft Windows SDK version subdir z%s\r)rr)r<ucrtverrrrrszEnvironmentInfo._sdk_subdircCs"|jdkrgStjj|jjdgS)z- Microsoft Windows SDK Setup g"@ZSetup)rhrrrrr)r<rrrSdkSetup%s zEnvironmentInfo.SdkSetupcs|j}|j|jdkr0d}|j o,|j }n$|jp>|j}|jdkpR|jdk}g}|rt|fddjD7}|r|fddjD7}|S)z0 Microsoft .NET Framework Tools g$@Tr:csg|]}tjjj|qSr)rrrr)rr')rrrr@sz+EnvironmentInfo.FxTools..csg|]}tjjj|qSr)rrrr)rr')rrrrCs) rNrrhr@rBrAr?rr)r<rNZ include32Z include64rr)rrFxTools/s     zEnvironmentInfo.FxToolscCs>|jdks|jj rgS|jjdd}tjj|jjd|gS)z8 Microsoft .Net Framework SDK Libraries g,@T)r9zlib\um%s)rhrrrNrErrr)r<rrrrNetFxSDKLibrariesGsz!EnvironmentInfo.NetFxSDKLibrariescCs,|jdks|jj rgStjj|jjdgS)z7 Microsoft .Net Framework SDK Includes g,@z include\um)rhrrrrr)r<rrrNetFxSDKIncludesRsz EnvironmentInfo.NetFxSDKIncludescCstjj|jjdgS)z> Microsoft Visual Studio Team System Database z VSTSDB\Deploy)rrrrrt)r<rrrVsTDb\szEnvironmentInfo.VsTDbcCs~|jdkrgS|jdkr0|jj}|jjdd}n |jj}d}d|j|f}tjj||g}|jdkrz|tjj||dg7}|S)z( Microsoft Build Engine g(@g.@T)rCrzMSBuild\%0.1f\bin%sZRoslyn) rhrrrrNrDrtrrr)r< base_pathrrZbuildrrrMSBuildcs   zEnvironmentInfo.MSBuildcCs"|jdkrgStjj|jjdgS)z. Microsoft HTML Help Workshop g&@zHTML Help Workshop)rhrrrrrr)r<rrrHTMLHelpWorkshopzs z EnvironmentInfo.HTMLHelpWorkshopcCsL|jdkrgS|jjdd}tjj|jjd}|j}tjj|d||fgS)z= Microsoft Universal C Runtime SDK Libraries g,@T)r9rz%sucrt%s) rhrNrErrrrr _ucrt_subdir)r<rrrrrr UCRTLibrariess  zEnvironmentInfo.UCRTLibrariescCs6|jdkrgStjj|jjd}tjj|d|jgS)z; Microsoft Universal C Runtime SDK Include g,@rz%sucrt)rhrrrrrr)r<rrrr UCRTIncludess zEnvironmentInfo.UCRTIncludescCs|jj}|rd|SdS)zB Microsoft Universal C Runtime SDK version subdir z%s\r)rr)r<rrrrrszEnvironmentInfo._ucrt_subdircCs |jdkr|jdkrgS|jjS)z% Microsoft Visual F# g&@g(@)rhrr)r<rrrFSharpszEnvironmentInfo.FSharpcCsl|jjdd}|jdkr&|jj}d}n|jjjdd}d}|jdkrHdn|j}|||j|f}tjj||S) zA Microsoft Visual C++ runtime redistribuable dll T)r9z-redist%s\Microsoft.VC%d0.CRT\vcruntime%d0.dllz\Toolsz\Redistz.onecore%s\Microsoft.VC%d0.CRT\vcruntime%d0.dllg,@) rNrErhrrzr;rrr)r<rZ redist_pathZ vcruntimeZdll_verrrrVCRuntimeRedists zEnvironmentInfo.VCRuntimeRedistTcCst|jd|j|j|j|jg||jd|j|j|j|j |j g||jd|j|j|j |j g||jd|j |j|j|j|j|j|j|j|jg |d}|jdkrtjj|jr|j|d<|S)z Return environment dict. Parameters ---------- exists: bool It True, only return existing paths. rrrr)rrrrZpy_vcruntime_redist)dict _build_pathsrrrrrrrrrrrrrrrrrrrrhrrrr)r<existsenvrrrr%sD   zEnvironmentInfo.return_envc Csxtjj|}tj|djtj}tj||}|rBtt tj j |n|}|sbd|j }t jj||j|} tjj| S)a Given an environment variable name and specified paths, return a pathsep-separated string of paths containing unique, extant, directories from those paths and from the environment variable. Raise an error if no paths are resolved. rz %s environment variable is empty) itertoolschain from_iterablerJrKsplitrpathseprfilterrrwupperr r!r"_unique_everseenr) r<r^Zspec_path_listsrZ spec_pathsZ env_pathsrZ extant_pathsryZ unique_pathsrrrrs     zEnvironmentInfo._build_pathsccsjt}|j}|dkr:xPt|j|D]}|||Vq"Wn,x*|D]"}||}||kr@|||Vq@WdS)z List unique elements, preserving order. Remember all elements ever seen. _unique_everseen('AAAABBBCCDAABBB') --> A B C D _unique_everseen('ABBCcAD', str.lower) --> A B C D N)setaddr __contains__)r<iterablerseenZseen_addelementkrrrrs   z EnvironmentInfo._unique_everseen)Nr)T)N)!rr r rIr=rLrhrrrrrrrrrrrrrrrrrrrrrrrr%rrrrrrr$1s:       -        -r$)r)r)!rIrr.platformrZdistutils.errorsr Z#setuptools.extern.packaging.versionrZsetuptools.extern.six.movesrZmonkeyrsystemrenvironrJr ImportErrorr!r"Z_msvc9_suppress_errorsZdistutils.msvc9compilerrrrr-r1r&r8rMrcr$rrrrs>      + /& %[bPKge[SB&=&=sandbox.cpython-36.pycnu[3 vh7 @sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z mZddlZejjdrddljjjjZn ejejZyeZWnek rdZYnXeZddlm Z ddlm!Z!ddd d gZ"d-d d Z#ej$d.d dZ%ej$ddZ&ej$ddZ'ej$ddZ(Gddde)Z*GdddZ+ej$ddZ,ddZ-ej$ddZ.ej$dd Z/d!d"Z0d#d$Z1d%d Z2Gd&ddZ3e4ed'rej5gZ6ngZ6Gd(dde3Z7ej8ej9d)d*d+j:DZ;Gd,d d e Z)r;r2r3rrrresumes zExceptionSaver.resumeN)r5r6r7r8r<r@rCrrrrr:rs r:c #sVtjjt }VWdQRXtjjfddtjD}t||jdS)z Context in which imported modules are saved. Translates exceptions internal to the context into the equivalent exception outside the context. Nc3s&|]}|kr|jd r|VqdS)z encodings.N) startswith).0mod_name)rrr szsave_modules..)rmodulescopyr:update_clear_modulesrC) saved_excZ del_modulesr)rr save_moduless  rMcCsxt|D] }tj|=q WdS)N)listrrH)Z module_namesrFrrrrKsrKc cs$tj}z |VWdtj|XdS)N)r" __getstate__ __setstate__)rrrrsave_pkg_resources_states rQc,cstjj|d}txtfttNt<t|(t |t ddVWdQRXWdQRXWdQRXWdQRXWdQRXWdQRXdS)NZtempZ setuptools) r&rjoinrQrMhide_setuptoolsr rr%r* __import__) setup_dirZtemp_dirrrr setup_contexts  rVcCstjd}t|j|S)aH >>> _needs_hiding('setuptools') True >>> _needs_hiding('pkg_resources') True >>> _needs_hiding('setuptools_plugin') False >>> _needs_hiding('setuptools.__init__') True >>> _needs_hiding('distutils') True >>> _needs_hiding('os') False >>> _needs_hiding('Cython') True z1(setuptools|pkg_resources|distutils|Cython)(\.|$))rerboolmatch)rFpatternrrr _needs_hidings r[cCstttj}t|dS)a% Remove references to setuptools' modules from sys.modules to allow the invocation to import the most appropriate setuptools. This technique is necessary to avoid issues such as #315 where setuptools upgrading itself would fail to find a function declared in the metadata. N)filterr[rrHrK)rHrrrrSs rScCstjjtjj|}t|y|gt|tjdd<tjjd|t j t j j ddt |trl|n |jtj}t|t|dd}t||WdQRXWn4tk r}z|jr|jdrʂWYdd}~XnXWdQRXdS)z8Run a distutils setup script, sandboxed in its directoryNrcSs|jS)N)Zactivate)Zdistrrrszrun_setup..__main__)__file__r5)r&rabspathdirnamerVrNrrinsertr__init__Z callbacksappend isinstancestrencodegetfilesystemencodingr dictr SystemExitargs)Z setup_scriptrkrUZ dunder_filensvrrrr s   c@s2eZdZdZdZddZddZddZd d Zd d Z d dZ x$d9D]Z e e e rFe e ee <qFWd:ddZer~edeZedeZx$d;D]Z e e e ree ee <qWd)d*Zx$drzDWrap 'os' module and 'open()' builtin for virtualizing setup scriptsFcsfddttD_dS)Ncs&g|]}|jd rt|r|qS)_)rDhasattr)rEname)r;rr sz,AbstractSandbox.__init__..)dir_os_attrs)r;r)r;rrcszAbstractSandbox.__init__cCs&x |jD]}tt|t||qWdS)N)rtsetattrr&getattr)r;sourcerprrr_copy s zAbstractSandbox._copycCs(|j|tr|jt_|jt_d|_dS)NT)rx_filerfile_openr_active)r;rrrr<s  zAbstractSandbox.__enter__cCs$d|_trtt_tt_|jtdS)NF)r|ryrrzr{rrxrs)r;exc_type exc_value tracebackrrrr@s zAbstractSandbox.__exit__c Cs||SQRXdS)zRun 'func' under os sandboxingNr)r;funcrrrrunszAbstractSandbox.runcsttfdd}|S)Ncs2|jr |j||f||\}}||f||S)N)r| _remap_pair)r;srcdstrkkw)rporiginalrrwrap&sz3AbstractSandbox._mk_dual_path_wrapper..wrap)rvrs)rprr)rprr_mk_dual_path_wrapper#s z%AbstractSandbox._mk_dual_path_wrapperrenamelinksymlinkNcs p ttfdd}|S)Ncs*|jr|j|f||}|f||S)N)r| _remap_input)r;rrkr)rprrrr4sz5AbstractSandbox._mk_single_path_wrapper..wrap)rvrs)rprrr)rprr_mk_single_path_wrapper1sz'AbstractSandbox._mk_single_path_wrapperrzrstatlistdirr(chmodchownmkdirremoveunlinkrmdirutimelchownchrootlstat startfilemkfifomknodpathconfaccesscsttfdd}|S)NcsB|jr2|j|f||}|j|f||S|f||S)N)r|r _remap_output)r;rrkr)rprrrrIsz4AbstractSandbox._mk_single_with_return..wrap)rvrs)rprr)rprr_mk_single_with_returnFs z&AbstractSandbox._mk_single_with_returnreadlinktempnamcsttfdd}|S)Ncs ||}|jr|j|S|S)N)r|r)r;rkrZretval)rprrrrXs  z'AbstractSandbox._mk_query..wrap)rvrs)rprr)rprr _mk_queryUs zAbstractSandbox._mk_queryr'tmpnamcCs|S)z=Called to remap or validate any path, whether input or outputr)r;rrrr_validate_pathdszAbstractSandbox._validate_pathcOs |j|S)zCalled for path inputs)r)r; operationrrkrrrrrhszAbstractSandbox._remap_inputcCs |j|S)zCalled for path outputs)r)r;rrrrrrlszAbstractSandbox._remap_outputcOs0|j|d|f|||j|d|f||fS)z?Called for path pairs like rename, link, and symlink operationsz-fromz-to)r)r;rrrrkrrrrrpszAbstractSandbox._remap_pair)rrr)N)rrr(rrrrrrrrrrrrrrrr)rr)r'r)r5r6r7r8r|rcrxr<r@rrrprorsrrryr{rrrrrrrrrrrsB          devnullc@seZdZdZejdddddddd d d d d dg ZdgZefddZ ddZ e rXd'ddZ d(ddZ ddZ ddZddZdd Zd!d"Zd)d$d%Zd&S)*r z.) r&rrr_sandboxrR_prefix _exceptionsrrc)r;Zsandbox exceptionsrrrrcs  zDirectorySandbox.__init__cOsddlm}||||dS)Nr)r )r/r )r;rrkrr rrr _violations zDirectorySandbox._violationrcOs<|dkr*|j| r*|jd||f||t||f||S)Nrrtr rUUrz)rrr rr)_okrry)r;rrrkrrrrryszDirectorySandbox._filecOs<|dkr*|j| r*|jd||f||t||f||S)Nrrr rrr)rrr rr)rrr{)r;rrrkrrrrr{szDirectorySandbox._opencCs|jddS)Nr)r)r;rrrrszDirectorySandbox.tmpnamc CsN|j}z:d|_tjjtjj|}|j|p@||jkp@|j|jS||_XdS)NF) r|r&rrr _exemptedrrDr)r;rZactiverrrrrs   zDirectorySandbox._okcs<fdd|jD}fdd|jD}tj||}t|S)Nc3s|]}j|VqdS)N)rD)rEZ exception)filepathrrrGsz-DirectorySandbox._exempted..c3s|]}tj|VqdS)N)rWrY)rErZ)rrrrGs)r_exception_patterns itertoolschainany)r;rZ start_matchesZpattern_matchesZ candidatesr)rrrs      zDirectorySandbox._exemptedcOs6||jkr2|j| r2|j|tjj|f|||S)zCalled for path inputs) write_opsrrr&rr)r;rrrkrrrrrszDirectorySandbox._remap_inputcOs6|j| s|j| r.|j|||f||||fS)z?Called for path pairs like rename, link, and symlink operations)rr)r;rrrrkrrrrrszDirectorySandbox._remap_paircOsB|t@r,|j| r,|jd|||f||tj|||f||S)zCalled for low-level os.open()zos.open) WRITE_FLAGSrrrsr)r;rzflagsrrkrrrrrszDirectorySandbox.openN)r)r)r)r5r6r7r8rifromkeysrr _EXCEPTIONSrcrryr{rrrrrrrrrrr ~s      cCsg|]}tt|dqS)r)rvrs)rEarrrrqsrqz4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYc@s&eZdZdZejdjZddZdS)r zEA setup script attempted to modify the filesystem outside the sandboxa SandboxViolation: {cmd}{args!r} {kwargs} The package setup script has attempted to modify files on your system that are not within the EasyInstall build area, and has been aborted. This package cannot be safely installed by EasyInstall, and may not support alternate installation locations even if you run its setup script by hand. Please inform the package's author and the EasyInstall maintainers to find out if a fix or workaround is available. cCs|j\}}}|jjftS)N)rktmplformatr)r;cmdrkkwargsrrr__str__s zSandboxViolation.__str__N) r5r6r7r8textwrapdedentlstriprrrrrrr s )N)N)=r&rr$operator functoolsrrW contextlibr,rZsetuptools.externrZsetuptools.extern.six.movesrrZpkg_resources.py31compatr"platformrDZ$org.python.modules.posix.PosixModulepythonrHposixZ PosixModulersrprzry NameErrorrr{Zdistutils.errorsrr__all__rcontextmanagerrr r%r*r.r+r:rMrKrQrVr[rSr rrorrr reduceor_splitrr rrrrs^             w  V PKge[4< < lib2to3_ex.cpython-36.pycnu[3 vh@sXdZddlmZddlmZddlmZmZddl Z GdddeZ Gdd d eZdS) zy Customized Mixin2to3 support: - adds support for converting doctests This module raises an ImportError on Python 2. ) Mixin2to3)log)RefactoringToolget_fixers_from_packageNc@s$eZdZddZddZddZdS)DistutilsRefactoringToolcOstj|f|dS)N)rerror)selfmsgargskwr /usr/lib/python3.6/lib2to3_ex.py log_errorsz"DistutilsRefactoringTool.log_errorcGstj|f|dS)N)rinfo)rr r r r r log_messagesz$DistutilsRefactoringTool.log_messagecGstj|f|dS)N)rdebug)rr r r r r log_debugsz"DistutilsRefactoringTool.log_debugN)__name__ __module__ __qualname__rrrr r r r rsrc@s&eZdZd ddZddZddZdS) rFcCsr|jjdk rdS|sdStjddj||j|j|rbtjrnt |j }|j |dddn t j ||dS)NTzFixing  )writeZ doctests_only) distributionZuse_2to3rrjoin_Mixin2to3__build_fixer_names_Mixin2to3__exclude_fixers setuptoolsZrun_2to3_on_doctestsr fixer_namesZrefactor _Mixin2to3run_2to3)rfilesZdoctestsrr r r rs  zMixin2to3.run_2to3cCsb|jr dSg|_xtjD]}|jjt|qW|jjdk r^x |jjD]}|jjt|qFWdS)N)rrZlib2to3_fixer_packagesextendrrZuse_2to3_fixers)rpr r r Z__build_fixer_names.s  zMixin2to3.__build_fixer_namescCsNt|dg}|jjdk r&|j|jjx"|D]}||jkr,|jj|q,WdS)NZexclude_fixers)getattrrZuse_2to3_exclude_fixersr"rremove)rZexcluded_fixersZ fixer_namer r r Z__exclude_fixers8s     zMixin2to3.__exclude_fixersN)F)rrrrrrr r r r rs  r) __doc__Zdistutils.utilrrZ distutilsrZlib2to3.refactorrrrrr r r r s    PKge[ iipep425tags.cpython-36.opt-1.pycnu[3 vhy*@sdZddlmZddlZddlmZddlZddlZddlZddl Z ddl Z ddl m Z ddl mZejdZd d Zd d Zd dZddZddZd#ddZddZddZddZddZddZd$d!d"ZeZdS)%z2Generate and work with PEP 425 Compatibility Tags.)absolute_importN)log) OrderedDict)glibcz(.+)_(\d+)_(\d+)_(.+)cCsBy tj|Stk r<}ztjdj|tdSd}~XnXdS)Nz{}) sysconfigget_config_varIOErrorwarningswarnformatRuntimeWarning)varer /usr/lib/python3.6/pep425tags.pyrs  rcCs:ttdrd}n&tjjdr"d}ntjdkr2d}nd}|S)z'Return abbreviated implementation name.pypy_version_infoppjavaZjyZcliZipcp)hasattrsysplatform startswith)Zpyimplrrr get_abbr_impls   rcCs.td}| stdkr*djttt}|S)zReturn implementation version.py_version_nodotr)rrjoinmapstrget_impl_version_info)Zimpl_verrrr get_impl_ver)sr!cCs:tdkr"tjdtjjtjjfStjdtjdfSdS)zQReturn sys.version_info-like tuple for use in decrementing the minor version.rrrN)rr version_informajorminorrrrrr 1s  r cCsdjttS)z; Returns the Tag for this specific implementation. z{}{})r rr!rrrr get_impl_tag<sr%TcCs.t|}|dkr&|r tjd||S||kS)zgUse a fallback method for determining SOABI flags if the needed config var is unset or unavailable.Nz>Config variable '%s' is unset, Python ABI tag may be incorrect)rrdebug)rZfallbackexpectedr valrrrget_flagCsr)cstd}t| rdkrttdrd}d}d}tddddkd rLd }td fd ddkd rjd }tdddddkotjdkdrtjdkrd}dt|||f}n@|r|jdrd|jdd}n|r|j ddj dd}nd}|S)zXReturn the ABI tag based on SOABI (if available) or emulate SOABI (CPython 2, PyPy).SOABIrr maxunicoderPy_DEBUGcSs ttdS)Ngettotalrefcount)rrrrrrYszget_abi_tag..)r d WITH_PYMALLOCcsdkS)Nrrr)implrrr.]smZPy_UNICODE_SIZEcSs tjdkS)Ni)rr+rrrrr.as)r'r uz %s%s%s%s%szcpython--r._N>rr)r4r4)r4r4) rrrrr)r"r!rsplitreplace)Zsoabir/r2r5abir)r1r get_abi_tagOs8    r<cCs tjdkS)Ni)rmaxsizerrrr_is_running_32bitqsr>cCstjdkr^tj\}}}|jd}|dkr6tr6d}n|dkrHtrHd}dj|d|d |Stjjj dd j d d }|d krtrd }|S)z0Return our platform name 'win32', 'linux_x86_64'darwinr7x86_64i386ppc64ppczmacosx_{}_{}_{}rrr8r6 linux_x86_64 linux_i686) rrZmac_verr9r>r distutilsutil get_platformr:)releaser8machineZ split_verresultrrrrHus  rHc CsFtdkrdSyddl}t|jSttfk r8YnXtjddS)NrDrEFr>rDrE)rH _manylinuxboolZmanylinux1_compatible ImportErrorAttributeErrorrZhave_compatible_glibc)rNrrris_manylinux1_compatibles  rRcsvg}fddtd dddg|||r8|j|x.D]&}||kr>|||r>|j|q>W|jd |S)zReturn a list of supported arches (including group arches) for the given major, minor and machine architecture of an macOS machine. cs~|dkr||fd kS|dkr(||fd kS|dkr<||fd kS|dkrP||fd kS|krzx |D]}|||rbdSqbWd S)NrC rMrBrAr3r@TF)rSrM)rSrM)rSr3)rSrMr)r#r$archgarch)_supports_archgroupsrrrVs     z)get_darwin_arches.._supports_archfatrArCintelr@fat64rBfat32Z universalrArC)rXr\r@rA)rYr]r@rB)rZr^r@rArC)r[r_)rappend)r#r$rJarchesrUr)rVrWrget_darwin_archess$    rbFcCsg}|dkrXg}t}|dd}x4t|dddD] }|jdjtt||fq4W|p`t}g} |pnt}|r|g| dd<t} ddl } x8| j D],} | dj dr| j | dj dddqW| jtt| | jd|sx|pt} | j d rtj| }|r|j\}}}}d j||}g}xTttt|dD]4}x,tt|||D]}|j|||fq^WqHWn| g}n*|dkrtr| jd d | g}n| g}x:| D]2}x*|D]"} |jd ||df|| fqWqWxZ|ddD]J}|dkrPx6| D].}x&|D]} |jd ||f|| fqWqWqWx*|D]"} |jd|ddd| fqRW|jd ||dfddf|jd ||ddfddfxNt|D]B\}}|jd|fddf|dkr|jd|dddfqW|S)acReturn a list of supported tags for each version specified in `versions`. :param versions: a list of string versions, of the form ["33", "32"], or None. The first version will be assumed to support our ABI. :param platform: specify the exact platform you want valid tags for, or None. If None, use the local system platform. :param impl: specify the exact implementation you want valid tags for, or None. If None, use the local interpreter impl. :param abi: specify the exact abi you want valid tags for, or None. If None, use the local interpreter abi. Nrrrz.abir7rLZnoneZmacosxz {}_{}_%i_%slinuxZ manylinux1z%s%s3130zpy%sanyrgrgrg>rdre)r ranger`rrrrr<setimpZ get_suffixesraddr9extendsortedlistrH _osx_arch_patmatchrWr reversedintrbrRr: enumerate)ZversionsZnoarchrr1r;Z supportedr"r#r$ZabisZabi3srjsuffixrTrpnameZ actual_archZtplrar2aversionirrr get_supportedsh            (   * "  ry)TT)NFNNN)__doc__Z __future__rZdistutils.utilrFrrrerrr collectionsrrrcompilerorrr!r r%r)r<r>rHrRrbryZimplementation_tagrrrrs2        "= _PKge[$LL"unicode_utils.cpython-36.opt-1.pycnu[3 vh@s8ddlZddlZddlmZddZddZddZdS) N)sixc CsVt|tjrtjd|Sy$|jd}tjd|}|jd}Wntk rPYnX|S)NZNFDzutf-8) isinstancer text_type unicodedataZ normalizedecodeencode UnicodeError)pathr #/usr/lib/python3.6/unicode_utils.py decomposes    r c CsXt|tjr|Stjpd}|df}x.|D]&}y |j|Stk rNw*Yq*Xq*WdS)zY Ensure that the given path is decoded, NONE when no expected encoding works zutf-8N)rrrsysgetfilesystemencodingrUnicodeDecodeError)r Zfs_encZ candidatesencr r r filesys_decodes    rc Cs$y |j|Stk rdSXdS)z/turn unicode encoding into a functional routineN)rUnicodeEncodeError)stringrr r r try_encode's r)rr Zsetuptools.externrr rrr r r r s   PKge[^[^[config.cpython-36.pycnu[3 \Ќ @stdZddlZddlZddlZddlZddlZddlZddlZddlZyddl Z ddl Z Wne k rpdZ YnXddl mZmZdZejZdad+ddZdd Zd d Zd d ZddZddZddZddZejdejZddZGddde Z!Gddde"e!Z#Gddde$e!Z%Gdd d e&e!Z'Gd!d"d"e Z(Gd#d$d$e(Z)e)Z*d%d&Z+edfd'd(Z,d)d*Z-dS),a Configuration functions for the logging package for Python. The core package is based on PEP 282 and comments thereto in comp.lang.python, and influenced by Apache's log4j system. Copyright (C) 2001-2014 Vinay Sajip. All Rights Reserved. To use, simply 'import logging' and log away! N)ThreadingTCPServerStreamRequestHandleriF#Tc Csddl}t||jr|}n*|j|}t|dr:|j|n |j|t|}tj z t t ||}t |||Wdtj XdS)aD Read the logging configuration from a ConfigParser-format file. This can be called several times from an application, allowing an end user the ability to select from various pre-canned configurations (if the developer provides a mechanism to present the choices and load the chosen configuration). rNreadline) configparser isinstanceZRawConfigParserZ ConfigParserhasattrZ read_fileread_create_formatterslogging _acquireLock_clearExistingHandlers_install_handlers_install_loggers _releaseLock)ZfnameZdefaultsdisable_existing_loggersrcp formattershandlersr&/usr/lib64/python3.6/logging/config.py fileConfig8s       rc Csp|jd}|jd}t|}xN|D]F}|d|}yt||}Wq"tk rft|t||}Yq"Xq"W|S)z)Resolve a dotted name to a global object..r)splitpop __import__getattrAttributeError)nameusedfoundnrrr_resolveZs    r!cCstdd|S)NcSs|jS)N)strip)xrrrisz_strip_spaces..)map)Zalistrrr _strip_spaceshsr&c Cs|dd}t|siS|jd}t|}i}x~|D]v}d|}|j|dddd}|j|d ddd}|j|d dd d}tj}||jd } | rt| }||||} | ||<q4W|S) zCreate and return formattersrkeys,z formatter_%sformatTN)rawfallbackdatefmtstyle%class)lenrr&getr Formatterr!) rZflistrZformZsectnameZfsZdfsZstlc class_namefrrrr ks$     r c CsD|dd}t|siS|jd}t|}i}g}x|D]}|d|}|d}|jdd}yt|tt}Wn ttfk rt |}YnX|d} t| tt} || } d |kr|d } | j | t|r| j ||t |tj jr|jd d} t| r|j| | f| ||<q8Wx |D]\} } | j|| q$W|S) zInstall and return handlersrr'r(z handler_%sr/ formatterargsleveltarget)r0rr&r1evalvarsr r NameErrorr!setLevel setFormatter issubclassr MemoryHandlerappendZ setTarget)rrhlistrZfixupshandsectionklassfmtr8hr9r:trrrr s>         r cCsHtj}x<|D]4}|jj|}||kr:tj|_g|_d|_q ||_q WdS)a When (re)configuring logging, handle loggers which were in the previous configuration but are not in the new configuration. There's no point deleting them as other threads may continue to hold references to them; and by disabling them, you stop them doing any logging. However, don't disable children of named loggers, as that's probably not what was intended by the user. Also, allow existing loggers to NOT be disabled if disable_existing is false. TN) r rootmanager loggerDictZNOTSETr9r propagatedisabled)existing child_loggersdisable_existingrJlogloggerrrr_handle_existing_loggerss   rTcCs,|dd}|jd}ttdd|}|jd|d}tj}|}d|kr^|d}|j|x |jd d D]}|j|qnW|d } t | r| jd} t | } x| D]} |j || qWt|j j j} | jg} x>|D]4}|d |}|d } |jd dd}tj| }| | kr| j| d}| d}t |}t | }x<||kr| |d ||krt| j| ||d7}qFW| j| d|kr|d}|j|x"|jd d D]}|j|qW||_d|_|d } t | r| jd} t | } x| D]} |j || qWqWt| | |d S)zCreate and install loggersloggersr'r(cSs|jS)N)r")r#rrrr$sz"_install_loggers..rJZ logger_rootr9Nrz logger_%squalnamerM)r+rr)rlistr%remover rJr>r removeHandlerr0r& addHandlerrKrLr'sortZgetint getLoggerindexrBrMrNrT)rrrQZllistrErJrRr9rHrCrDrOrPZqnrMrSiprefixedpflen num_existingrrrrsd                rcCs.tjjtjtjddtjdd=dS)z!Clear and close existing handlersN)r _handlersclearZshutdownZ _handlerListrrrrr s r z^[a-z_][a-z0-9_]*$cCstj|}|std|dS)Nz!Not a valid Python identifier: %rT) IDENTIFIERmatch ValueError)smrrr valid_idents  rjc@s"eZdZdZdddZddZdS) ConvertingMixinz?For ConvertingXXX's, this mixin class provides common functionsTcCsB|jj|}||k r>|r |||<t|tttfkr>||_||_|S)N) configuratorconverttypeConvertingDictConvertingListConvertingTupleparentkey)selfrsvaluereplaceresultrrrconvert_with_key$s  z ConvertingMixin.convert_with_keycCs0|jj|}||k r,t|tttfkr,||_|S)N)rlrmrnrorprqrr)rtrurwrrrrm0s   zConvertingMixin.convertN)T)__name__ __module__ __qualname____doc__rxrmrrrrrk!s rkc@s,eZdZdZddZd ddZd ddZdS) roz A converting dictionary wrapper.cCstj||}|j||S)N)dict __getitem__rx)rtrsrurrrr~Es zConvertingDict.__getitem__NcCstj|||}|j||S)N)r}r1rx)rtrsdefaultrurrrr1IszConvertingDict.getcCstj|||}|j||ddS)NF)rv)r}rrx)rtrsrrurrrrMszConvertingDict.pop)N)N)ryrzr{r|r~r1rrrrrroBs roc@s"eZdZdZddZd ddZdS) rpzA converting list wrapper.cCstj||}|j||S)N)rXr~rx)rtrsrurrrr~Ss zConvertingList.__getitem__rWcCstj||}|j|S)N)rXrrm)rtidxrurrrrWs zConvertingList.popN)r)ryrzr{r|r~rrrrrrpQsrpc@seZdZdZddZdS)rqzA converting tuple wrapper.cCstj||}|j||ddS)NF)rv)tupler~rx)rtrsrurrrr~]s zConvertingTuple.__getitem__N)ryrzr{r|r~rrrrrq[srqc@seZdZdZejdZejdZejdZejdZ ejdZ ddd Z e e Zd d Zd d ZddZddZddZddZddZdS)BaseConfiguratorzI The configurator base class which defines some useful defaults. z%^(?P[a-z]+)://(?P.*)$z ^\s*(\w+)\s*z^\.\s*(\w+)\s*z^\[\s*(\w+)\s*\]\s*z^\d+$ ext_convert cfg_convert)ZextZcfgcCst||_||j_dS)N)roconfigrl)rtrrrr__init__vs zBaseConfigurator.__init__c Cs|jd}|jd}y`|j|}xP|D]H}|d|7}yt||}Wq&tk rl|j|t||}Yq&Xq&W|Stk rtjdd\}}td||f}|||_ |_ |YnXdS)z` Resolve strings to objects using standard import and attribute syntax. rrrWNzCannot resolve %r: %s) rrimporterrr ImportErrorsysexc_inforg __cause__ __traceback__) rtrhrrrZfragetbvrrrresolvezs"      zBaseConfigurator.resolvecCs |j|S)z*Default converter for the ext:// protocol.)r)rtrurrrrszBaseConfigurator.ext_convertc Cs|}|jj|}|dkr&td|n||jd}|j|jd}x|r|jj|}|rp||jd}nd|jj|}|r|jd}|jj|s||}n2yt |}||}Wnt k r||}YnX|r||jd}qJtd||fqJW|S)z*Default converter for the cfg:// protocol.NzUnable to convert %rrzUnable to convert %r at %r) WORD_PATTERNrfrgendrgroups DOT_PATTERN INDEX_PATTERN DIGIT_PATTERNint TypeError)rtrurestridrr rrrrs2       zBaseConfigurator.cfg_convertcCst|t r&t|tr&t|}||_nt|t rLt|trLt|}||_n|t|t rrt|trrt|}||_nVt|tr|j j |}|r|j }|d}|j j |d}|r|d}t||}||}|S)z Convert values to an appropriate type. dicts, lists and tuples are replaced by their converting alternatives. Strings are checked to see if they have a conversion format and are converted if they do. prefixNsuffix)rror}rlrprXrqrstrCONVERT_PATTERNrf groupdictvalue_convertersr1r)rtrurirrZ converterrrrrrms*     zBaseConfigurator.convertcsrjd}t|s|j|}jdd}tfddD}|f|}|rnx |jD]\}}t|||qVW|S)z1Configure an object with a user-supplied factory.z()rNcs g|]}t|r||fqSr)rj).0k)rrr sz5BaseConfigurator.configure_custom..)rcallablerr}itemssetattr)rtrr3propskwargsrwrrur)rrconfigure_customs    z!BaseConfigurator.configure_customcCst|trt|}|S)z0Utility function which converts lists to tuples.)rrXr)rtrurrras_tuples zBaseConfigurator.as_tupleN)ryrzr{r|recompilerrrrrr staticmethodrrrrrrrmrrrrrrrbs      "rc@s^eZdZdZddZddZddZdd Zd d Zd d Z dddZ dddZ dddZ dS)DictConfiguratorz] Configure logging using a dictionary-like object to describe the configuration. cCs|j}d|krtd|ddkr2td|d|jdd}i}tjz|r|jd|}x|D]}|tjkrtd|qfy6tj|}||}|jd d }|r|jtj|Wqft k r} ztd || fWYd d } ~ XqfXqfW|jd |} xZ| D]R}y|j || |d Wn4t k rP} ztd|| fWYd d } ~ XnXqW|jdd } | ry|j | d Wn0t k r} ztd| WYd d } ~ XnXn:|jdd } t |jd|} xZ| D]R}y|j | || |<Wn4t k r"} ztd|| fWYd d } ~ XnXqW|jd|}xZ|D]R}y|j||||<Wn4t k r} ztd|| fWYd d } ~ XnXq _checkLevel Exceptionconfigure_loggerconfigure_rootr configure_formatterconfigure_filtersortedconfigure_handlerrrrBrJrXrKrLr'r\r^r0rYrTr)rtrrZ EMPTY_DICTrrhandlerZhandler_configr9rrUrJrQrrZdeferredrOrPr_r`rarbrrr configures        "  $    $  $   $  $      $ zDictConfigurator.configurec Csd|krr|d}y|j|}Wqtk rn}z4dt|kr>|jd|d<||d<|j|}WYdd}~XqXnP|jdd}|jdd}|jdd}|jd d}|stj} nt|} | |||}|S) z(Configure a formatter from a dictionary.z()z'format'r)rGNr,r-r.r/)rrrrr1r r2r!) rtrfactoryrwterGZdfmtr-cnamer3rrrrs&      z$DictConfigurator.configure_formattercCs.d|kr|j|}n|jdd}tj|}|S)z%Configure a filter from a dictionary.z()rr7)rr1r ZFilter)rtrrwrrrrrs    z!DictConfigurator.configure_filtercCs^xX|D]P}y|j|jd|Wqtk rT}ztd||fWYdd}~XqXqWdS)z/Add filters to a filterer from a list of names.rzUnable to add filter %r: %sN)Z addFilterrrrg)rtZfiltererrr5rrrr add_filterss  zDictConfigurator.add_filtersc/st}jdd}|r^y|jd|}Wn2tk r\}ztd||fWYdd}~XnXjdd}jdd}dkrjd}t|s|j|}|}njd} |j| } t| tj j od krHy>|jd d } t | tj sj |td | d <Wn8tk rD}ztd d |fWYdd}~XnXnZt| tj jrvd krv|jd d <n,t| tj jrdkr|jdd<| }jdd} tfddD} y|f| }WnLtk r"}z.dt|kr| jd| d<|f| }WYdd}~XnX|r4|j||dk rN|jtj||r`|j||| rx"| jD]\}}t|||qpW|S)z&Configure a handler from a dictionary.r6NrzUnable to set formatter %r: %sr9rz()r/r:rztarget not configured yetz#Unable to set target handler %r: %sZmailhostZaddressrcs g|]}t|r||fqSr)rj)rr)rrrrsz6DictConfigurator.configure_handler..z'stream'streamZstrm)r}rrrrgrrr@r rrArZHandlerupdaterZ SMTPHandlerrZ SysLogHandlerrr?r>rrrr)rtrZ config_copyr6rr9rr3rrrFZthrrrwrrrur)rrrsl          $      z"DictConfigurator.configure_handlercCs^xX|D]P}y|j|jd|Wqtk rT}ztd||fWYdd}~XqXqWdS)z.Add handlers to a logger from a list of names.rzUnable to add handler %r: %sN)r[rrrg)rtrSrrHrrrr add_handlerss  zDictConfigurator.add_handlersFcCs|jdd}|dk r$|jtj||sx |jddD]}|j|q8W|jdd}|rf|j|||jdd}|r|j||dS)zU Perform configuration which is common to root and non-root loggers. r9Nrr)r1r>r rrrZrr)rtrSrrr9rHrrrrrcommon_logger_configs    z%DictConfigurator.common_logger_configcCs6tj|}|j||||jdd}|dk r2||_dS)z.Configure a non-root logger from a dictionary.rMN)r r]rr1rM)rtrrrrSrMrrrrs   z!DictConfigurator.configure_loggercCstj}|j|||dS)z*Configure a root logger from a dictionary.N)r r]r)rtrrrJrrrrszDictConfigurator.configure_rootN)F)F)F) ryrzr{r|rrrrrrrrrrrrrrs ?  rcCst|jdS)z%Configure logging using a dictionary.N)dictConfigClassr)rrrr dictConfig srcsPts tdGdddt}Gdddt}Gfdddtj||||S)au Start up a socket server on the specified port, and listen for new configurations. These will be sent as a file suitable for processing by fileConfig(). Returns a Thread object on which you can call start() to start the server, and which you can join() when appropriate. To stop the server, call stopListening(). Use the ``verify`` argument to verify any bytes received across the wire from a client. If specified, it should be a callable which receives a single argument - the bytes of configuration data received across the network - and it should return either ``None``, to indicate that the passed in bytes could not be verified and should be discarded, or a byte string which is then passed to the configuration machinery as normal. Note that you can return transformed bytes, e.g. by decrypting the bytes passed in. z listen() needs threading to workc@seZdZdZddZdS)z#listen..ConfigStreamHandlerz Handler for a logging configuration request. It expects a completely new logging configuration and uses fileConfig to install it. cSs\y"|j}|jd}t|dkr"tjd|d}|jj|}x&t||krd||j|t|}q@W|jjdk r~|jj|}|dk r |jd}y,ddl}|j |}t |t st t |WnLtk r tj|}y t|Wntk rtjYnXYnX|jjr"|jjjWn2tk rV}z|jtkrFWYdd}~XnXdS)z Handle a request. Each request is expected to be a 4-byte length, packed using struct.pack(">L", n), followed by the config file. Uses fileConfig() to do the grunt work. z>LrNzutf-8)Z connectionZrecvr0structZunpackserververifydecodejsonloadsrr}AssertionErrorrrioStringIOr traceback print_excreadysetOSErrorerrno RESET_ERROR)rtZconnchunkZslenrrfilerrrrhandleBs8            z*listen..ConfigStreamHandler.handleN)ryrzr{r|rrrrrConfigStreamHandler;src@s0eZdZdZdZdedddfddZddZdS) z$listen..ConfigSocketReceiverzD A simple TCP socket-based logging config receiver. rWZ localhostNcSs>tj|||f|tjd|_tjd|_||_||_dS)NrrW) rrr r abortrtimeoutrr)rthostportrrrrrrrpsz-listen..ConfigSocketReceiver.__init__cSsfddl}d}xJ|sV|j|jjggg|j\}}}|r>|jtj|j}tjqW|jj dS)Nr) selectZsocketfilenorZhandle_requestr r rrclose)rtrrZrdwrZexrrrserve_until_stoppedzs z8listen..ConfigSocketReceiver.serve_until_stopped)ryrzr{r|Zallow_reuse_addressDEFAULT_LOGGING_CONFIG_PORTrrrrrrConfigSocketReceiveris  rcs&eZdZfddZddZZS)zlisten..Servercs4t|j||_||_||_||_tj|_dS)N) superrrcvrhdlrrr threadingZEventr)rtrrrr)Server __class__rrrs zlisten..Server.__init__cSsZ|j|j|j|j|jd}|jdkr0|jd|_|jjtj|a tj |j dS)N)rrrrrrW) rrrrrZserver_addressrr r _listenerrr)rtrrrrruns     zlisten..Server.run)ryrzr{rr __classcell__r)r)rrrsr)threadNotImplementedErrorrrrZThread)rrrrr)rrlisten%s .rc Cs*tjztrdt_daWdtjXdS)zN Stop the listening server which was created with a call to listen(). rWN)r r rrrrrrr stopListenings r)NT).r|rrr Zlogging.handlersrrrr_threadrrrZ socketserverrrrZ ECONNRESETrrrr!r&r r rTrr rIrerjobjectrkr}rorXrprrqrrrrrrrrrrsP   "#W! 9|PKge[W۾glob.cpython-36.pycnu[3 vhW@sdZddlZddlZddlZddlmZdddgZdddZdd dZd d Z d d Z ddZ ddZ ddZ ejdZejdZddZddZddZdS)z Filename globbing utility. Mostly a copy of `glob` from Python 3.5. Changes include: * `yield from` and PEP3102 `*` removed. * `bytes` changed to `six.binary_type`. * Hidden files are not ignored. N) binary_typeglobiglobescapeFcCstt||dS)ayReturn a list of paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la fnmatch. However, unlike fnmatch, filenames starting with a dot are special cases that are not matched by '*' and '?' patterns. If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories. ) recursive)listr)pathnamerr /usr/lib/python3.6/glob.pyrs cCs,t||}|r(t|r(t|}| s(t|S)aReturn an iterator which yields the paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la fnmatch. However, unlike fnmatch, filenames starting with a dot are special cases that are not matched by '*' and '?' patterns. If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories. )_iglob _isrecursivenextAssertionError)rritsr r r r s   ccs tjj|\}}t|sF|r0tjj|rB|Vntjj|rB|VdS|s|rrt|rrx4t||D] }|VqbWnxt||D] }|Vq~WdS||krt|rt ||}n|g}t|r|rt|rt}qt}nt }x0|D](}x"|||D]}tjj ||VqWqWdS)N) ospathsplit has_magiclexistsisdirr glob2glob1r glob0join)rrdirnamebasenamexdirsZ glob_in_dirnamer r r r 2s4        r c CsR|s"t|trtjjd}ntj}ytj|}Wntk rDgSXtj||S)NASCII) isinstancerrcurdirencodelistdirOSErrorfnmatchfilter)rpatternnamesr r r r]s rcCs8|stjj|r4|gSntjjtjj||r4|gSgS)N)rrrrr)rrr r r rjs  rccs6t|s t|ddVxt|D] }|Vq$WdS)Nr)r r _rlistdir)rr(rr r r rzs rc cs|s"t|trttjd}ntj}ytj|}Wntjk rFdSXxJ|D]B}|V|rjtjj||n|}x t|D]}tjj||VqxWqNWdS)Nr ) r!rrr"r$errorrrr*)rr)rryr r r r*s  r*z([*?[])s([*?[])cCs(t|trtj|}n tj|}|dk S)N)r!rmagic_check_bytessearch magic_check)rmatchr r r rs   rcCst|tr|dkS|dkSdS)Ns**z**)r!r)r(r r r r s r cCs<tjj|\}}t|tr(tjd|}n tjd|}||S)z#Escape all special characters. s[\1]z[\1])rr splitdriver!rr-subr/)rZdriver r r rs   )F)F)__doc__rrer&Zsetuptools.extern.sixr__all__rrr rrrr*compiler/r-rr rr r r r s"    +   PKge[θ:f66py33compat.cpython-36.pycnu[3 vh @sddlZddlZddlZy ddlZWnek r<dZYnXddlmZddlmZej ddZ Gddde Z e ede Ze ed ejjZdS) N)six) html_parserOpArgz opcode argc@seZdZddZddZdS)Bytecode_compatcCs ||_dS)N)code)selfrr /usr/lib/python3.6/py33compat.py__init__szBytecode_compat.__init__ccstjd|jj}t|jj}d}d}x||kr||}|tjkr||d||dd|}|d7}|tjkrtjd }||d}q&n d}|d7}t ||Vq&WdS) z>Yield '(op,arg)' pair for each operation in code object 'code'briN) arrayrco_codelendisZ HAVE_ARGUMENTZ EXTENDED_ARGrZ integer_typesr)rbyteseofZptrZ extended_argopargZ long_typerrr __iter__s        zBytecode_compat.__iter__N)__name__ __module__ __qualname__r rrrrr rsrBytecodeunescape)rr collectionsZhtml ImportErrorZsetuptools.externrZsetuptools.extern.six.movesr namedtuplerobjectrgetattrrZ HTMLParserrrrrr s     " PKge[ iipep425tags.cpython-36.pycnu[3 vhy*@sdZddlmZddlZddlmZddlZddlZddlZddl Z ddl Z ddl m Z ddl mZejdZd d Zd d Zd dZddZddZd#ddZddZddZddZddZddZd$d!d"ZeZdS)%z2Generate and work with PEP 425 Compatibility Tags.)absolute_importN)log) OrderedDict)glibcz(.+)_(\d+)_(\d+)_(.+)cCsBy tj|Stk r<}ztjdj|tdSd}~XnXdS)Nz{}) sysconfigget_config_varIOErrorwarningswarnformatRuntimeWarning)varer /usr/lib/python3.6/pep425tags.pyrs  rcCs:ttdrd}n&tjjdr"d}ntjdkr2d}nd}|S)z'Return abbreviated implementation name.pypy_version_infoppjavaZjyZcliZipcp)hasattrsysplatform startswith)Zpyimplrrr get_abbr_impls   rcCs.td}| stdkr*djttt}|S)zReturn implementation version.py_version_nodotr)rrjoinmapstrget_impl_version_info)Zimpl_verrrr get_impl_ver)sr!cCs:tdkr"tjdtjjtjjfStjdtjdfSdS)zQReturn sys.version_info-like tuple for use in decrementing the minor version.rrrN)rr version_informajorminorrrrrr 1s  r cCsdjttS)z; Returns the Tag for this specific implementation. z{}{})r rr!rrrr get_impl_tag<sr%TcCs.t|}|dkr&|r tjd||S||kS)zgUse a fallback method for determining SOABI flags if the needed config var is unset or unavailable.Nz>Config variable '%s' is unset, Python ABI tag may be incorrect)rrdebug)rZfallbackexpectedr valrrrget_flagCsr)cstd}t| rdkrttdrd}d}d}tddddkd rLd }td fd ddkd rjd }tdddddkotjdkdrtjdkrd}dt|||f}n@|r|jdrd|jdd}n|r|j ddj dd}nd}|S)zXReturn the ABI tag based on SOABI (if available) or emulate SOABI (CPython 2, PyPy).SOABIrr maxunicoderPy_DEBUGcSs ttdS)Ngettotalrefcount)rrrrrrYszget_abi_tag..)r d WITH_PYMALLOCcsdkS)Nrrr)implrrr.]smZPy_UNICODE_SIZEcSs tjdkS)Ni)rr+rrrrr.as)r'r uz %s%s%s%s%szcpython--r._N>rr)r4r4)r4r4) rrrrr)r"r!rsplitreplace)Zsoabir/r2r5abir)r1r get_abi_tagOs8    r<cCs tjdkS)Ni)rmaxsizerrrr_is_running_32bitqsr>cCstjdkr^tj\}}}|jd}|dkr6tr6d}n|dkrHtrHd}dj|d|d |Stjjj dd j d d }|d krtrd }|S)z0Return our platform name 'win32', 'linux_x86_64'darwinr7x86_64i386ppc64ppczmacosx_{}_{}_{}rrr8r6 linux_x86_64 linux_i686) rrZmac_verr9r>r distutilsutil get_platformr:)releaser8machineZ split_verresultrrrrHus  rHc CsFtdkrdSyddl}t|jSttfk r8YnXtjddS)NrDrEFr>rDrE)rH _manylinuxboolZmanylinux1_compatible ImportErrorAttributeErrorrZhave_compatible_glibc)rNrrris_manylinux1_compatibles  rRcsvg}fddtd dddg|||r8|j|x.D]&}||kr>|||r>|j|q>W|jd |S)zReturn a list of supported arches (including group arches) for the given major, minor and machine architecture of an macOS machine. cs~|dkr||fd kS|dkr(||fd kS|dkr<||fd kS|dkrP||fd kS|krzx |D]}|||rbdSqbWd S)NrC rMrBrAr3r@TF)rSrM)rSrM)rSr3)rSrMr)r#r$archgarch)_supports_archgroupsrrrVs     z)get_darwin_arches.._supports_archfatrArCintelr@fat64rBfat32Z universalrArC)rXr\r@rA)rYr]r@rB)rZr^r@rArC)r[r_)rappend)r#r$rJarchesrUr)rVrWrget_darwin_archess$    rbFcCsg}|dkrXg}t}|dd}x4t|dddD] }|jdjtt||fq4W|p`t}g} |pnt}|r|g| dd<t} ddl } x8| j D],} | dj dr| j | dj dddqW| jtt| | jd|sx|pt} | j d rtj| }|r|j\}}}}d j||}g}xTttt|dD]4}x,tt|||D]}|j|||fq^WqHWn| g}n*|dkrtr| jd d | g}n| g}x:| D]2}x*|D]"} |jd ||df|| fqWqWxZ|ddD]J}|dkrPx6| D].}x&|D]} |jd ||f|| fqWqWqWx*|D]"} |jd|ddd| fqRW|jd ||dfddf|jd ||ddfddfxNt|D]B\}}|jd|fddf|dkr|jd|dddfqW|S)acReturn a list of supported tags for each version specified in `versions`. :param versions: a list of string versions, of the form ["33", "32"], or None. The first version will be assumed to support our ABI. :param platform: specify the exact platform you want valid tags for, or None. If None, use the local system platform. :param impl: specify the exact implementation you want valid tags for, or None. If None, use the local interpreter impl. :param abi: specify the exact abi you want valid tags for, or None. If None, use the local interpreter abi. Nrrrz.abir7rLZnoneZmacosxz {}_{}_%i_%slinuxZ manylinux1z%s%s3130zpy%sanyrgrgrg>rdre)r ranger`rrrrr<setimpZ get_suffixesraddr9extendsortedlistrH _osx_arch_patmatchrWr reversedintrbrRr: enumerate)ZversionsZnoarchrr1r;Z supportedr"r#r$ZabisZabi3srjsuffixrTrpnameZ actual_archZtplrar2aversionirrr get_supportedsh            (   * "  ry)TT)NFNNN)__doc__Z __future__rZdistutils.utilrFrrrerrr collectionsrrrcompilerorrr!r r%r)r<r>rHrRrbryZimplementation_tagrrrrs2        "= _PKge[SB&=&=sandbox.cpython-36.opt-1.pycnu[3 vh7 @sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z mZddlZejjdrddljjjjZn ejejZyeZWnek rdZYnXeZddlm Z ddlm!Z!ddd d gZ"d-d d Z#ej$d.d dZ%ej$ddZ&ej$ddZ'ej$ddZ(Gddde)Z*GdddZ+ej$ddZ,ddZ-ej$ddZ.ej$dd Z/d!d"Z0d#d$Z1d%d Z2Gd&ddZ3e4ed'rej5gZ6ngZ6Gd(dde3Z7ej8ej9d)d*d+j:DZ;Gd,d d e Z)r;r2r3rrrresumes zExceptionSaver.resumeN)r5r6r7r8r<r@rCrrrrr:rs r:c #sVtjjt }VWdQRXtjjfddtjD}t||jdS)z Context in which imported modules are saved. Translates exceptions internal to the context into the equivalent exception outside the context. Nc3s&|]}|kr|jd r|VqdS)z encodings.N) startswith).0mod_name)rrr szsave_modules..)rmodulescopyr:update_clear_modulesrC) saved_excZ del_modulesr)rr save_moduless  rMcCsxt|D] }tj|=q WdS)N)listrrH)Z module_namesrFrrrrKsrKc cs$tj}z |VWdtj|XdS)N)r" __getstate__ __setstate__)rrrrsave_pkg_resources_states rQc,cstjj|d}txtfttNt<t|(t |t ddVWdQRXWdQRXWdQRXWdQRXWdQRXWdQRXdS)NZtempZ setuptools) r&rjoinrQrMhide_setuptoolsr rr%r* __import__) setup_dirZtemp_dirrrr setup_contexts  rVcCstjd}t|j|S)aH >>> _needs_hiding('setuptools') True >>> _needs_hiding('pkg_resources') True >>> _needs_hiding('setuptools_plugin') False >>> _needs_hiding('setuptools.__init__') True >>> _needs_hiding('distutils') True >>> _needs_hiding('os') False >>> _needs_hiding('Cython') True z1(setuptools|pkg_resources|distutils|Cython)(\.|$))rerboolmatch)rFpatternrrr _needs_hidings r[cCstttj}t|dS)a% Remove references to setuptools' modules from sys.modules to allow the invocation to import the most appropriate setuptools. This technique is necessary to avoid issues such as #315 where setuptools upgrading itself would fail to find a function declared in the metadata. N)filterr[rrHrK)rHrrrrSs rScCstjjtjj|}t|y|gt|tjdd<tjjd|t j t j j ddt |trl|n |jtj}t|t|dd}t||WdQRXWn4tk r}z|jr|jdrʂWYdd}~XnXWdQRXdS)z8Run a distutils setup script, sandboxed in its directoryNrcSs|jS)N)Zactivate)Zdistrrrszrun_setup..__main__)__file__r5)r&rabspathdirnamerVrNrrinsertr__init__Z callbacksappend isinstancestrencodegetfilesystemencodingr dictr SystemExitargs)Z setup_scriptrkrUZ dunder_filensvrrrr s   c@s2eZdZdZdZddZddZddZd d Zd d Z d dZ x$d9D]Z e e e rFe e ee <qFWd:ddZer~edeZedeZx$d;D]Z e e e ree ee <qWd)d*Zx$drzDWrap 'os' module and 'open()' builtin for virtualizing setup scriptsFcsfddttD_dS)Ncs&g|]}|jd rt|r|qS)_)rDhasattr)rEname)r;rr sz,AbstractSandbox.__init__..)dir_os_attrs)r;r)r;rrcszAbstractSandbox.__init__cCs&x |jD]}tt|t||qWdS)N)rtsetattrr&getattr)r;sourcerprrr_copy s zAbstractSandbox._copycCs(|j|tr|jt_|jt_d|_dS)NT)rx_filerfile_openr_active)r;rrrr<s  zAbstractSandbox.__enter__cCs$d|_trtt_tt_|jtdS)NF)r|ryrrzr{rrxrs)r;exc_type exc_value tracebackrrrr@s zAbstractSandbox.__exit__c Cs||SQRXdS)zRun 'func' under os sandboxingNr)r;funcrrrrunszAbstractSandbox.runcsttfdd}|S)Ncs2|jr |j||f||\}}||f||S)N)r| _remap_pair)r;srcdstrkkw)rporiginalrrwrap&sz3AbstractSandbox._mk_dual_path_wrapper..wrap)rvrs)rprr)rprr_mk_dual_path_wrapper#s z%AbstractSandbox._mk_dual_path_wrapperrenamelinksymlinkNcs p ttfdd}|S)Ncs*|jr|j|f||}|f||S)N)r| _remap_input)r;rrkr)rprrrr4sz5AbstractSandbox._mk_single_path_wrapper..wrap)rvrs)rprrr)rprr_mk_single_path_wrapper1sz'AbstractSandbox._mk_single_path_wrapperrzrstatlistdirr(chmodchownmkdirremoveunlinkrmdirutimelchownchrootlstat startfilemkfifomknodpathconfaccesscsttfdd}|S)NcsB|jr2|j|f||}|j|f||S|f||S)N)r|r _remap_output)r;rrkr)rprrrrIsz4AbstractSandbox._mk_single_with_return..wrap)rvrs)rprr)rprr_mk_single_with_returnFs z&AbstractSandbox._mk_single_with_returnreadlinktempnamcsttfdd}|S)Ncs ||}|jr|j|S|S)N)r|r)r;rkrZretval)rprrrrXs  z'AbstractSandbox._mk_query..wrap)rvrs)rprr)rprr _mk_queryUs zAbstractSandbox._mk_queryr'tmpnamcCs|S)z=Called to remap or validate any path, whether input or outputr)r;rrrr_validate_pathdszAbstractSandbox._validate_pathcOs |j|S)zCalled for path inputs)r)r; operationrrkrrrrrhszAbstractSandbox._remap_inputcCs |j|S)zCalled for path outputs)r)r;rrrrrrlszAbstractSandbox._remap_outputcOs0|j|d|f|||j|d|f||fS)z?Called for path pairs like rename, link, and symlink operationsz-fromz-to)r)r;rrrrkrrrrrpszAbstractSandbox._remap_pair)rrr)N)rrr(rrrrrrrrrrrrrrrr)rr)r'r)r5r6r7r8r|rcrxr<r@rrrprorsrrryr{rrrrrrrrrrrsB          devnullc@seZdZdZejdddddddd d d d d dg ZdgZefddZ ddZ e rXd'ddZ d(ddZ ddZ ddZddZdd Zd!d"Zd)d$d%Zd&S)*r z.) r&rrr_sandboxrR_prefix _exceptionsrrc)r;Zsandbox exceptionsrrrrcs  zDirectorySandbox.__init__cOsddlm}||||dS)Nr)r )r/r )r;rrkrr rrr _violations zDirectorySandbox._violationrcOs<|dkr*|j| r*|jd||f||t||f||S)Nrrtr rUUrz)rrr rr)_okrry)r;rrrkrrrrryszDirectorySandbox._filecOs<|dkr*|j| r*|jd||f||t||f||S)Nrrr rrr)rrr rr)rrr{)r;rrrkrrrrr{szDirectorySandbox._opencCs|jddS)Nr)r)r;rrrrszDirectorySandbox.tmpnamc CsN|j}z:d|_tjjtjj|}|j|p@||jkp@|j|jS||_XdS)NF) r|r&rrr _exemptedrrDr)r;rZactiverrrrrs   zDirectorySandbox._okcs<fdd|jD}fdd|jD}tj||}t|S)Nc3s|]}j|VqdS)N)rD)rEZ exception)filepathrrrGsz-DirectorySandbox._exempted..c3s|]}tj|VqdS)N)rWrY)rErZ)rrrrGs)r_exception_patterns itertoolschainany)r;rZ start_matchesZpattern_matchesZ candidatesr)rrrs      zDirectorySandbox._exemptedcOs6||jkr2|j| r2|j|tjj|f|||S)zCalled for path inputs) write_opsrrr&rr)r;rrrkrrrrrszDirectorySandbox._remap_inputcOs6|j| s|j| r.|j|||f||||fS)z?Called for path pairs like rename, link, and symlink operations)rr)r;rrrrkrrrrrszDirectorySandbox._remap_paircOsB|t@r,|j| r,|jd|||f||tj|||f||S)zCalled for low-level os.open()zos.open) WRITE_FLAGSrrrsr)r;rzflagsrrkrrrrrszDirectorySandbox.openN)r)r)r)r5r6r7r8rifromkeysrr _EXCEPTIONSrcrryr{rrrrrrrrrrr ~s      cCsg|]}tt|dqS)r)rvrs)rEarrrrqsrqz4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYc@s&eZdZdZejdjZddZdS)r zEA setup script attempted to modify the filesystem outside the sandboxa SandboxViolation: {cmd}{args!r} {kwargs} The package setup script has attempted to modify files on your system that are not within the EasyInstall build area, and has been aborted. This package cannot be safely installed by EasyInstall, and may not support alternate installation locations even if you run its setup script by hand. Please inform the package's author and the EasyInstall maintainers to find out if a fix or workaround is available. cCs|j\}}}|jjftS)N)rktmplformatr)r;cmdrkkwargsrrr__str__s zSandboxViolation.__str__N) r5r6r7r8textwrapdedentlstriprrrrrrr s )N)N)=r&rr$operator functoolsrrW contextlibr,rZsetuptools.externrZsetuptools.extern.six.movesrrZpkg_resources.py31compatr"platformrDZ$org.python.modules.posix.PosixModulepythonrHposixZ PosixModulersrprzry NameErrorrr{Zdistutils.errorsrr__all__rcontextmanagerrr r%r*r.r+r:rMrKrQrVr[rSr rrorrr reduceor_splitrr rrrrs^             w  V PKge[build_meta.cpython-36.pycnu[3 vh'@sdZddlZddlZddlZddlZddlZddlZddlZGdddeZ Gdddej j Z ddd Z d d Z d d ZddZdddZdddZdddZdddZdddZdS) a-A PEP 517 interface to setuptools Previously, when a user or a command line tool (let's call it a "frontend") needed to make a request of setuptools to take a certain action, for example, generating a list of installation requirements, the frontend would would call "setup.py egg_info" or "setup.py bdist_wheel" on the command line. PEP 517 defines a different method of interfacing with setuptools. Rather than calling "setup.py" directly, the frontend should: 1. Set the current directory to the directory with a setup.py file 2. Import this module into a safe python interpreter (one in which setuptools can potentially set global variables or crash hard). 3. Call one of the functions defined in PEP 517. What each function does is defined in PEP 517. However, here is a "casual" definition of the functions (this definition should not be relied on for bug reports or API stability): - `build_wheel`: build a wheel in the folder and return the basename - `get_requires_for_build_wheel`: get the `setup_requires` to build - `prepare_metadata_for_build_wheel`: get the `install_requires` - `build_sdist`: build an sdist in the folder and return the basename - `get_requires_for_build_sdist`: get the `setup_requires` to build Again, this is not a formal definition! Just a "taste" of the module. Nc@seZdZddZdS)SetupRequirementsErrorcCs ||_dS)N) specifiers)selfrr /usr/lib/python3.6/build_meta.py__init__(szSetupRequirementsError.__init__N)__name__ __module__ __qualname__rrrrrr'src@s&eZdZddZeejddZdS) DistributioncCs t|dS)N)r)rrrrrfetch_build_eggs-szDistribution.fetch_build_eggsc cs*tjj}|tj_z dVWd|tj_XdS)zw Replace distutils.dist.Distribution with this class for the duration of this context. N) distutilsZcorer )clsZorigrrrpatch0s  zDistribution.patchN)rr r r classmethod contextlibcontextmanagerrrrrrr ,sr setup.pycCsH|}d}ttdt|}|jjdd}|jtt||dtdS)N__main__openz\r\nz\nexec) getattrtokenizerreadreplaceclosercompilelocals)Z setup_script__file__rfcoderrr _run_setup@s r!cCs|pi}|jdg|S)Nz--global-option) setdefault)config_settingsrrr _fix_configKs r$cCs~t|}ddg}tjdddg|dt_ytj tWdQRXWn,tk rx}z||j7}WYdd}~XnX|S)N setuptoolsZwheelZegg_infoz--global-option)r$sysargvr rr!rr)r#Z requirementserrr_get_build_requiresQs  r*csfddtjDS)Ncs&g|]}tjjtjj|r|qSr)ospathisdirjoin).0name)a_dirrr asz1_get_immediate_subdirectories..)r+listdir)r1r)r1r_get_immediate_subdirectories`sr4cCst|}t|S)N)r$r*)r#rrrget_requires_for_build_wheelesr5cCst|}t|S)N)r$r*)r#rrrget_requires_for_build_sdistjsr6cCstjdddd|gt_t|}x`ddtj|D}t|dkrptt|dkrptjj|tj|d}q&t|dkst Pq&W||krt j tjj||d|t j |dd|dS) Nr&Z dist_infoz --egg-basecSsg|]}|jdr|qS)z .dist-info)endswith)r/rrrrr2usz4prepare_metadata_for_build_wheel..rT) ignore_errors) r'r(r!r+r3lenr4r,r.AssertionErrorshutilZmovermtree)metadata_directoryr#Zdist_info_directoryZ dist_infosrrr prepare_metadata_for_build_wheelos$ r>cCst|}tjj|}tjdddg|dt_t|dkrVtj|tj d|ddtj |D}t |dkszt |dS)Nr&Z bdist_wheelz--global-optiondistcSsg|]}|jdr|qS)z.whl)r7)r/rrrrr2szbuild_wheel..r) r$r+r,abspathr'r(r!r;r<copytreer3r9r:)Zwheel_directoryr#r=Zwheelsrrr build_wheels    rBcCst|}tjj|}tjdddg|dt_t|dkrVtj|tj d|ddtj |D}t |dkszt |dS)Nr&Zsdistz--global-optionr?cSsg|]}|jdr|qS)z.tar.gz)r7)r/rrrrr2szbuild_sdist..r) r$r+r,r@r'r(r!r;r<rAr3r9r:)Zsdist_directoryr#Zsdistsrrr build_sdists    rC)r)N)N)N)NN)N)__doc__r+r'rr;rr%r BaseExceptionrr?r r!r$r*r4r5r6r>rBrCrrrrs&     PKge[U%%wheel.cpython-36.pycnu[3 vhb@sdZddlmZddlZddlZddlZddlZddlZddlZddl m Z m Z m Z ddl mZddlmZddlm ZddlmZdd lmZejd ejjZd Zd d ZGdddeZdS)zWheels support.) get_platformN) Distribution PathMetadata parse_version)canonicalize_name)PY3)r) pep425tags)write_requirementsz^(?P.+?)-(?P\d.*?) ((-(?P\d.*?))?-(?P.+?)-(?P.+?)-(?P.+?) )\.whl$ztry: __import__('pkg_resources').declare_namespace(__name__) except ImportError: __path__ = __import__('pkgutil').extend_path(__path__, __name__) c Csxtj|D]\}}}tjj||}x6|D].}tjj||}tjj|||}tj||q*WxXttt|D]D\} } tjj|| }tjj||| }tjj |sntj|||| =qnWq Wx0tj|ddD]\}}}| st tj |qWdS)zDMove everything under `src_dir` to `dst_dir`, and delete the former.T)topdownN) oswalkpathrelpathjoinrenamesreversedlist enumerateexistsAssertionErrorrmdir) Zsrc_dirZdst_dirdirpathZdirnames filenamessubdirfsrcdstndr/usr/lib/python3.6/wheel.pyunpack!s    r!c@s<eZdZddZddZddZddZd d Zd d Zd S)WheelcCsTttjj|}|dkr$td|||_x$|jjD]\}}t|||q8WdS)Nzinvalid wheel name: %r) WHEEL_NAMEr r basename ValueErrorfilename groupdictitemssetattr)selfr&matchkvrrr __init__9s  zWheel.__init__cCs&tj|jjd|jjd|jjdS)z>List tags (py_version, abi, platform) supported by this wheel..) itertoolsproduct py_versionsplitabiplatform)r*rrr tagsAs z Wheel.tagscs$tjtfdd|jDdS)z5Is the wheel is compatible with the current platform?c3s|]}|krdVqdS)TNr).0t)supported_tagsrr Jsz&Wheel.is_compatible..F)rZ get_supportednextr6)r*r)r9r is_compatibleGszWheel.is_compatiblecCs*t|j|j|jdkrdntdjdS)Nany) project_nameversionr5z.egg)rr>r?r5regg_name)r*rrr r@LszWheel.egg_namecCsJx<|jD]0}tj|}|jdr t|jt|jr |Sq WtddS)Nz .dist-infoz.unsupported wheel format. .dist-info not found)Znamelist posixpathdirnameendswithr startswithr>r%)r*zfmemberrBrrr get_dist_infoRs   zWheel.get_dist_infocstj|jd|j|jf}|jd|fdd}|d}|d}t|jd}td|koxtd knstd |t j |j |t j j |tj|t|d d d tttjfddjD}t j j |d}t j|t jt j j |dt j j |dtt|dd} t| jddt j j |dt j j |t j j d} t j j| rt j j |dd} t j | xVt j| D]H} | jdrt jt j j | | n t jt j j | | t j j | | qWt j| x0t t j jfddd#DD]} t!| |q$Wt j jrPt jt j j |d}t j j|rt"|}|j#j$}WdQRXxr|D]j}t j j |f|j$d }t j j |d!}t j j|rt j j| rt"|d"}|j%t&WdQRXqWWdQRXdS)$z"Install wheel as an egg directory.z%s-%sz%s.datac sHjtj|,}tr&|jjdn|j}tjjj |SQRXdS)Nzutf-8) openrArrreaddecodeemailparserZParserZparsestr)namefpvalue) dist_inforErr get_metadatabsz*Wheel.install_as_egg..get_metadataZWHEELZMETADATAz Wheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)ZmetadatacSsd|_t|S)N)Zmarkerstr)reqrrr raw_reqxsz%Wheel.install_as_egg..raw_reqc s6i|].}ttfddtj|fD|qS)c3s|]}|kr|VqdS)Nr)r7rS)install_requiresrr r:~sz2Wheel.install_as_egg...)rsortedmaprequires)r7Zextra)distrUrTrr |sz(Wheel.install_as_egg..zEGG-INFOzPKG-INFO)rUextras_require)Zattrsegg_infoNz requires.txtscriptsz.pycc3s|]}tjj|VqdS)N)r r r)r7r) dist_datarr r:sz'Wheel.install_as_egg..dataheaderspurelibplatlibznamespace_packages.txtr/z __init__.pyw)r_r`rarb)'zipfileZZipFiler&r>r?rGrgetr%r mkdirZ extractallr rrZ from_locationrrrVrWrXZextrasrenameSetuptoolsDistributiondictr Zget_command_objrlistdirrCunlinkrfilterr!rHrIr3writeNAMESPACE_PACKAGE_INIT)r*Zdestination_eggdirZ dist_basenamerQZwheel_metadataZ dist_metadataZ wheel_versionr[r\Z setup_distZdist_data_scriptsZegg_info_scriptsentryrZnamespace_packagesrNmodZmod_dirZmod_initr)rYr^rPrUrTrEr install_as_egg\sr                  zWheel.install_as_eggN) __name__ __module__ __qualname__r.r6r<r@rGrqrrrr r"7s  r")__doc__Zdistutils.utilrrKr0r rArerdZ pkg_resourcesrrrZ!setuptools.extern.packaging.utilsrZsetuptools.extern.sixrZ setuptoolsrhrZsetuptools.command.egg_infor compileVERBOSEr+r#rnr!objectr"rrrr s&       PKge[7namespaces.cpython-36.pycnu[3 vh @sRddlZddlmZddlZddlmZejjZGdddZ Gddde Z dS)N)log)mapc @sTeZdZdZddZddZddZdZdZddZ ddZ ddZ e ddZ dS) Installerz -nspkg.pthc Cs|j}|sdStjj|j\}}||j7}|jj|tj d|t |j |}|j rdt |dSt|d}|j|WdQRXdS)Nz Installing %sZwt)_get_all_ns_packagesospathsplitext _get_target nspkg_extZoutputsappendrinfor_gen_nspkg_lineZdry_runlistopen writelines)selfZnspfilenameextlinesfr /usr/lib/python3.6/namespaces.pyinstall_namespacess     zInstaller.install_namespacescCsHtjj|j\}}||j7}tjj|s.dStjd|tj|dS)Nz Removing %s) rrrr r existsrr remove)rrrrrruninstall_namespaces!s    zInstaller.uninstall_namespacescCs|jS)N)target)rrrrr )szInstaller._get_targetimport sys, types, os#has_mfs = sys.version_info > (3, 5)$p = os.path.join(%(root)s, *%(pth)r)4importlib = has_mfs and __import__('importlib.util')-has_mfs and __import__('importlib.machinery')m = has_mfs and sys.modules.setdefault(%(pkg)r, importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec(%(pkg)r, [os.path.dirname(p)])))Cm = m or sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))7mp = (m or []) and m.__dict__.setdefault('__path__',[])(p not in mp) and mp.append(p)4m and setattr(sys.modules[%(parent)r], %(child)r, m)cCsdS)Nz$sys._getframe(1).f_locals['sitedir']r)rrrr _get_rootCszInstaller._get_rootcCsVt|}t|jd}|j}|j}|jd\}}}|rB||j7}dj|tdS)N.; ) strtuplesplitr' _nspkg_tmpl rpartition_nspkg_tmpl_multijoinlocals)rpkgZpthrootZ tmpl_linesparentsepZchildrrrr Fs zInstaller._gen_nspkg_linecCs |jjp g}ttt|j|S)z,Return sorted list of all package namespaces)Z distributionZnamespace_packagessortedflattenr _pkg_names)rZpkgsrrrrQs zInstaller._get_all_ns_packagesccs,|jd}x|r&dj|V|jq WdS)z Given a namespace package, yield the components of that package. >>> names = Installer._pkg_names('a.b.c') >>> set(names) == set(['a', 'a.b', 'a.b.c']) True r(N)r-r1pop)r3partsrrrr9Vs  zInstaller._pkg_namesN) rrrr r!r"r#r$r%)r&)__name__ __module__ __qualname__r rrr r.r0r'r r staticmethodr9rrrrr s$ rc@seZdZddZddZdS)DevelopInstallercCstt|jS)N)reprr+Zegg_path)rrrrr'gszDevelopInstaller._get_rootcCs|jS)N)Zegg_link)rrrrr jszDevelopInstaller._get_targetN)r<r=r>r'r rrrrr@fsr@) rZ distutilsr itertoolsZsetuptools.extern.six.movesrchain from_iterabler8rr@rrrrs   [PKge[3bZZpy36compat.cpython-36.opt-1.pycnu[3 vhK @sVddlZddlmZddlmZddlmZGdddZejd krRGdddZdS) N)DistutilsOptionError) strtobool)DEBUGc@seZdZdZdddZdS)Distribution_parse_config_filesz Mix-in providing forward-compatibility for functionality to be included by default on Python 3.7. Do not edit the code in this class except to update functionality as implemented in distutils. NcCsddlm}tjtjkr8ddddddd d d d d ddg }ng}t|}|dkrT|j}trb|jd|dd}x|D]}tr|jd||j |xf|j D]Z}|j |}|j |}x@|D]8} | dkr| |kr|j || } | jdd} || f|| <qWqW|jqrWd|jkrx|jdjD]\} \} } |jj | } yF| rVt|| t|  n(| dkrrt|| t| n t|| | Wn,tk r} zt| WYdd} ~ XnXq"WdS)Nr) ConfigParserz install-basezinstall-platbasez install-libzinstall-platlibzinstall-purelibzinstall-headerszinstall-scriptsz install-dataprefixz exec-prefixhomeuserrootz"Distribution.parse_config_files():)Z interpolationz reading %s__name__-_globalverbosedry_run)rr)Z configparserrsysr base_prefix frozensetZfind_config_filesrZannouncereadZsectionsoptionsZget_option_dictgetreplace__init__Zcommand_optionsitemsZ negative_optsetattrr ValueErrorr)self filenamesrZignore_optionsparserfilenameZsectionrZopt_dictoptvalsrcaliasmsgr% /usr/lib/python3.6/py36compat.pyparse_config_filessJ                z2Distribution_parse_config_files.parse_config_files)N)r __module__ __qualname____doc__r'r%r%r%r&rsrc@s eZdZdS)rN)r r(r)r%r%r%r&rJs)r+) rZdistutils.errorsrZdistutils.utilrZdistutils.debugrr version_infor%r%r%r&s   A PKge[rh$windows_support.cpython-36.opt-1.pycnu[3 vh@s(ddlZddlZddZeddZdS)NcCstjdkrddS|S)NZWindowsc_sdS)N)argskwargsrr%/usr/lib/python3.6/windows_support.pyszwindows_only..)platformsystem)funcrrr windows_onlys r cCsLtdtjjj}tjjtjjf|_tjj |_ d}|||}|sHtj dS)z Set the hidden attribute on a file or directory. From http://stackoverflow.com/questions/19622133/ `path` must be text. zctypes.wintypesN) __import__ctypesZwindllZkernel32ZSetFileAttributesWZwintypesZLPWSTRZDWORDZargtypesZBOOLZrestypeZWinError)pathZSetFileAttributesFILE_ATTRIBUTE_HIDDENretrrr hide_file s    r)rr r rrrrrsPKge[S }== ssl_support.cpython-36.opt-1.pycnu[3 vh,!"@sddlZddlZddlZddlZddlZddlmZmZmZm Z ddl m Z m Z y ddl Z Wnek rtdZ YnXdddddgZd jjZyejjZejZWnek reZZYnXe dk oeeefkZydd l mZmZWnRek r:ydd lmZdd lmZWnek r4dZdZYnXYnXesRGd ddeZesjdddZddZGdddeZGdddeZd ddZ ddZ!e!ddZ"ddZ#ddZ$dS)!N)urllib http_clientmapfilter)ResolutionErrorExtractionErrorVerifyingHTTPSHandlerfind_ca_bundle is_available cert_paths opener_fora /etc/pki/tls/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt /usr/share/ssl/certs/ca-bundle.crt /usr/local/share/certs/ca-root.crt /etc/ssl/cert.pem /System/Library/OpenSSL/certs/cert.pem /usr/local/share/certs/ca-root-nss.crt /etc/ssl/ca-bundle.pem )CertificateErrormatch_hostname)r )rc@s eZdZdS)r N)__name__ __module__ __qualname__rr!/usr/lib/python3.6/ssl_support.pyr 5sr c Csg}|s dS|jd}|d}|dd}|jd}||krLtdt||s`|j|jkS|dkrt|jdn>|jd s|jd r|jtj|n|jtj|j d d x|D]}|jtj|qWtj d d j |dtj } | j |S)zpMatching according to RFC 6125, section 6.4.3 http://tools.ietf.org/html/rfc6125#section-6.4.3 F.rrN*z,too many wildcards in certificate DNS name: z[^.]+zxn--z\*z[^.]*z\Az\.z\Z)splitcountr reprlowerappend startswithreescapereplacecompilejoin IGNORECASEmatch) ZdnhostnameZ max_wildcardsZpatspartsZleftmostZ remainderZ wildcardsZfragZpatrrr_dnsname_match;s*     r&cCs|s tdg}|jdf}x0|D](\}}|dkr"t||r@dS|j|q"W|sxF|jdfD]6}x0|D](\}}|dkrjt||rdS|j|qjWq`Wt|dkrtd|d jtt|fn*t|dkrtd ||d fntd dS) a=Verify that *cert* (in decoded format as returned by SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 rules are followed, but IP addresses are not accepted for *hostname*. CertificateError is raised on failure. On success, the function returns nothing. zempty or no certificateZsubjectAltNameZDNSNZsubjectZ commonNamerz&hostname %r doesn't match either of %sz, zhostname %r doesn't match %rrz=no appropriate commonName or subjectAltName fields were found) ValueErrorgetr&rlenr r!rr)Zcertr$ZdnsnamesZsankeyvaluesubrrrros.     rc@s eZdZdZddZddZdS)rz=Simple verifying handler: no auth, subclasses, timeouts, etc.cCs||_tj|dS)N) ca_bundle HTTPSHandler__init__)selfr-rrrr/szVerifyingHTTPSHandler.__init__csjfdd|S)Ncst|jf|S)N)VerifyingHTTPSConnr-)hostkw)r0rrsz2VerifyingHTTPSHandler.https_open..)Zdo_open)r0Zreqr)r0r https_opensz VerifyingHTTPSHandler.https_openN)rrr__doc__r/r5rrrrrsc@s eZdZdZddZddZdS)r1z@Simple verifying connection: no auth, subclasses, timeouts, etc.cKstj||f|||_dS)N)HTTPSConnectionr/r-)r0r2r-r3rrrr/szVerifyingHTTPSConn.__init__c Cstj|j|jft|dd}t|drHt|ddrH||_|j|j}n|j}tt drxt j |j d}|j ||d|_nt j |t j |j d|_yt|jj|Wn.tk r|jjtj|jjYnXdS)NZsource_address_tunnel _tunnel_hostcreate_default_context)Zcafile)Zserver_hostname)Z cert_reqsZca_certs)socketZcreate_connectionr2Zportgetattrhasattrsockr8r9sslr:r-Z wrap_socketZ CERT_REQUIREDrZ getpeercertr ZshutdownZ SHUT_RDWRclose)r0r>Z actual_hostZctxrrrconnects$  zVerifyingHTTPSConn.connectN)rrrr6r/rArrrrr1sr1cCstjjt|ptjS)z@Get a urlopen() replacement that uses ca_bundle for verification)rrequestZ build_openerrr open)r-rrrr scstjfdd}|S)Ncstds||_jS)Nalways_returns)r=rD)argskwargs)funcrrwrappers  zonce..wrapper) functoolswraps)rGrHr)rGroncesrKc sXy ddl}Wntk r dSXGfddd|j}|jd|jd|jS)Nrcs,eZdZfddZfddZZS)z"get_win_certfile..CertFilecst|jtj|jdS)N)superr/atexitregisterr@)r0)CertFile __class__rrr/sz+get_win_certfile..CertFile.__init__c s,yt|jWntk r&YnXdS)N)rLr@OSError)r0)rOrPrrr@sz(get_win_certfile..CertFile.close)rrrr/r@ __classcell__r)rO)rPrrOsrOZCAZROOT) wincertstore ImportErrorrOZaddstorename)rSZ _wincertsr)rOrget_win_certfiles    rVcCs$ttjjt}tp"t|dp"tS)z*Return an existing CA bundle path, or NoneN)rospathisfiler rVnext_certifi_where)Zextant_cert_pathsrrrr s c Cs,y tdjStttfk r&YnXdS)NZcertifi) __import__whererTrrrrrrr[s r[)r)N)%rWr;rMrrIZsetuptools.extern.six.movesrrrrZ pkg_resourcesrrr?rT__all__striprr rBr.r7AttributeErrorobjectr r rZbackports.ssl_match_hostnamer'r&rr1r rKrVr r[rrrrsP      4) (   PKge[monkey.cpython-36.opt-1.pycnu[3 vh@sdZddlZddlZddlZddlZddlZddlmZddl Z ddl m Z ddl Z gZ ddZddZd d Zd d Zd dZddZddZddZdS)z Monkey patching of distutils. N) import_module)sixcCs"tjdkr|f|jStj|S)am Returns the bases classes for cls sorted by the MRO. Works around an issue on Jython where inspect.getmro will not return all base classes if multiple classes share the same name. Instead, this function will return a tuple containing the class itself, and the contents of cls.__bases__. See https://github.com/pypa/setuptools/issues/1024. ZJython)platformZpython_implementation __bases__inspectZgetmro)clsr/usr/lib/python3.6/monkey.py_get_mros  r cCs0t|tjrtnt|tjr tndd}||S)NcSsdS)Nr)itemrrr *szget_unpatched..) isinstancerZ class_typesget_unpatched_classtypes FunctionTypeget_unpatched_function)r lookuprrr get_unpatched&srcCs:ddt|D}t|}|jjds6d|}t||S)zProtect against re-patching the distutils if reloaded Also ensures that no other distutils extension monkeypatched the distutils first. css|]}|jjds|VqdS) setuptoolsN) __module__ startswith).0rrrr 6sz&get_unpatched_class.. distutilsz(distutils has already been patched by %r)r nextrrAssertionError)rZexternal_basesbasemsgrrr r/s  rcCstjtj_tjd k}|r"tjtj_tjd kpxd tjko@dknpxdtjkoZdknpxdtjkotdkn}|rd }|tjj _ t x"tj tjtj fD]}tj j|_qWtjjtj_tjjtj_d tjkrtjjtjd _tdS)N rzhttps://upload.pypi.org/legacy/zdistutils.command.build_ext)rrr)r r!r")rr)rrr!)rr#)rr#r$)rr)rrr)rZCommandrZcoresys version_infofindallZfilelistconfigZ PyPIRCCommandZDEFAULT_REPOSITORY+_patch_distribution_metadata_write_pkg_filedistcmdZ Distribution extensionZ Extensionmodules#patch_for_msvc_specialized_compiler)Zhas_issue_12885Zneeds_warehouseZ warehousemodulerrr patch_allAs&        r0cCstjjtjj_dS)zDPatch write_pkg_file to also write Requires-Python/Requires-ExternalN)rr*Zwrite_pkg_filerZDistributionMetadatarrrr r)jsr)cCs*t||}t|jd|t|||dS)z Patch func_name in target_mod with replacement Important - original must be resolved by name to avoid patching an already patched function. unpatchedN)getattrvars setdefaultsetattr)Z replacementZ target_mod func_nameoriginalrrr patch_funcqs r8cCs t|dS)Nr1)r2) candidaterrr rsrcstdtjdkrdSfdd}tj|d}tj|d}yt|dt|d Wntk rlYnXyt|d Wntk rYnXyt|d Wntk rYnXdS) z\ Patch functions in distutils to use standalone Microsoft Visual C++ compilers. zsetuptools.msvcZWindowsNcsLd|kr dnd}||jd}t|}t|}t||sBt||||fS)zT Prepare the parameters for patch_func to patch indicated function. msvc9Zmsvc9_Zmsvc14__)lstripr2rhasattr ImportError)Zmod_namer6Z repl_prefixZ repl_namereplmod)msvcrr patch_paramss  z9patch_for_msvc_specialized_compiler..patch_paramszdistutils.msvc9compilerzdistutils._msvccompilerZfind_vcvarsallZquery_vcvarsallZ _get_vc_envZgen_lib_options)rrsystem functoolspartialr8r>)rBr:Zmsvc14r)rAr r.s&    r.)__doc__r%Zdistutils.filelistrrrrD importlibrrZsetuptools.externrr__all__r rrr0r)r8rr.rrrr s$   )PKge[dkS glibc.cpython-36.opt-1.pycnu[3 vhJ @sHddlmZddlZddlZddlZddZddZddZd d ZdS) )absolute_importNc CsPtjd}y |j}Wntk r(dSXtj|_|}t|tsL|jd}|S)z9Returns glibc version string, or None if not using glibc.Nascii) ctypesZCDLLgnu_get_libc_versionAttributeErrorZc_char_pZrestype isinstancestrdecode)Zprocess_namespacer version_strr /usr/lib/python3.6/glibc.pyglibc_version_string s    r cCsHtjd|}|s$tjd|tdSt|jd|koFt|jd|kS)Nz$(?P[0-9]+)\.(?P[0-9]+)z=Expected glibc version with 2 components major.minor, got: %sFmajorminor)rematchwarningswarnRuntimeWarningintgroup)r required_major minimum_minormr r r check_glibc_version$s  rcCst}|dkrdSt|||S)NF)r r)rrr r r r have_compatible_glibc4srcCst}|dkrdSd|fSdS)zTry to determine the glibc version Returns a tuple of strings (lib, version) which default to empty strings in case the lookup fails. NZglibc)rr)r )Z glibc_versionr r r libc_verLsr) Z __future__rrrrr rrrr r r r s PKge[o!archive_util.cpython-36.opt-1.pycnu[3 vh@sdZddlZddlZddlZddlZddlZddlZddlmZddl m Z ddddd d d gZ Gd d d eZ d dZ e dfddZe fdd Ze fddZe fddZeeefZdS)z/Utilities for extracting common archive formatsN)DistutilsError)ensure_directoryunpack_archiveunpack_zipfileunpack_tarfiledefault_filterUnrecognizedFormatextraction_driversunpack_directoryc@seZdZdZdS)rz#Couldn't recognize the archive typeN)__name__ __module__ __qualname____doc__rr"/usr/lib/python3.6/archive_util.pyrscCs|S)z@The default progress/filter callback; returns True for all filesr)srcdstrrrrsc CsNxH|ptD]0}y||||Wntk r4w Yq XdSq Wtd|dS)aUnpack `filename` to `extract_dir`, or raise ``UnrecognizedFormat`` `progress_filter` is a function taking two arguments: a source path internal to the archive ('/'-separated), and a filesystem path where it will be extracted. The callback must return the desired extract path (which may be the same as the one passed in), or else ``None`` to skip that file or directory. The callback can thus be used to report on the progress of the extraction, as well as to filter the items extracted or alter their extraction paths. `drivers`, if supplied, must be a non-empty sequence of functions with the same signature as this function (minus the `drivers` argument), that raise ``UnrecognizedFormat`` if they do not support extracting the designated archive type. The `drivers` are tried in sequence until one is found that does not raise an error, or until all are exhausted (in which case ``UnrecognizedFormat`` is raised). If you do not supply a sequence of drivers, the module's ``extraction_drivers`` constant will be used, which means that ``unpack_zipfile`` and ``unpack_tarfile`` will be tried, in that order. Nz!Not a recognized archive type: %s)r r)filename extract_dirprogress_filterZdriversZdriverrrrrsc Cstjj|std||d|fi}xtj|D]\}}}||\}}x4|D],} || dtjj|| f|tjj|| <qLWx\|D]T} tjj|| } ||| | } | sqt| tjj|| } tj| | tj | | qWq0WdS)z"Unpack" a directory, using the same interface as for archives Raises ``UnrecognizedFormat`` if `filename` is not a directory z%s is not a directory/N) ospathisdirrwalkjoinrshutilZcopyfileZcopystat) rrrpathsbasedirsfilesrrdftargetrrrr ?s      ,  c Cstj|std|ftj|}x|jD]}|j}|jds.d|jdkrRq.tj j |f|jd}|||}|szq.|j drt |n4t ||j |j}t|d}|j|WdQRX|jd?} | r.tj|| q.WWdQRXdS)zUnpack zip `filename` to `extract_dir` Raises ``UnrecognizedFormat`` if `filename` is not a zipfile (as determined by ``zipfile.is_zipfile()``). See ``unpack_archive()`` for an explanation of the `progress_filter` argument. z%s is not a zip filerz..wbN)zipfileZ is_zipfilerZZipFileZinfolistr startswithsplitrrrendswithrreadopenwriteZ external_attrchmod) rrrzinfonamer$datar#Zunix_attributesrrrrZs(        c Cshytj|}Wn$tjk r2td|fYnXtj|dd|_x |D]}|j}|jd oxd|j dkrTt j j |f|j d}xV|dk r|j s|jr|j}|jrtj|j}tj ||}tj|}|j|}qW|dk rT|js|jrT|||} | rT| jt jr,| dd } y|j|| WqTtjk rTYqTXqTWdSQRXdS) zUnpack tar/tar.gz/tar.bz2 `filename` to `extract_dir` Raises ``UnrecognizedFormat`` if `filename` is not a tarfile (as determined by ``tarfile.open()``). See ``unpack_archive()`` for an explanation of the `progress_filter` argument. z/%s is not a compressed or uncompressed tar filecWsdS)Nr)argsrrrsz unpack_tarfile..rz..NT)tarfiler,ZTarErrorr contextlibclosingchownr1r(r)rrrZislnkZissymZlinkname posixpathdirnamenormpathZ _getmemberisfilerr*sepZ_extract_memberZ ExtractError) rrrZtarobjmemberr1Z prelim_dstZlinkpathrZ final_dstrrrrs8       )rr'r7rrr;r8Zdistutils.errorsrZ pkg_resourcesr__all__rrrr rrr rrrrs$    "  % .PKge[h~}}package_index.cpython-36.pycnu[3 vh@sdZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z ddlmZmZmZmZddlZddlmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!ddlm"Z"ddl#m$Z$dd l%m&Z&dd l'm(Z(dd l)m*Z*dd l+m,Z,dd l-m.Z.ej/dZ0ej/dej1Z2ej/dZ3ej/dej1j4Z5dj6Z7ddddgZ8dZ9dZ:e:j;ejddZ?ddZ@dEd dZAdFd!d"ZBdGd#d$ZCdedfd%dZDdHd&d'ZEd(d)ZFej/d*ej1ZGeFd+d,ZHGd-d.d.eIZJGd/d0d0eJZKGd1ddeZLej/d2jMZNd3d4ZOd5d6ZPdId7d8ZQd9d:ZRGd;d<dd>ejTZUejVjWfd?d@ZXeQe9eXZXdAdBZYdCdDZZdS)Jz#PyPI and direct package downloadingN)wraps)six)urllib http_client configparsermap) CHECKOUT_DIST Distribution BINARY_DISTnormalize_path SOURCE_DIST Environmentfind_distributions safe_name safe_version to_filename Requirement DEVELOP_DISTEGG_DIST) ssl_support)log)DistutilsError) translate)get_all_headers)unescape)Wheelz^egg=([-A-Za-z0-9_.+!]+)$zhref\s*=\s*['"]?([^'"> ]+)z([^<]+) \s+\(md5\)z([-+.a-z0-9]{2,}):z.tar.gz .tar.bz2 .tar .zip .tgz PackageIndexdistros_for_urlparse_bdist_wininstinterpret_distro_namezsz(interpret_distro_name..r9Nr7) py_versionrHrV)r?anyrangerTr join)rPrUrMr^rHrVrAr\r&r&r'rs  $ccsnt}|j}|dkr>xTtjj|j|D]}|||Vq&Wn,x*|D]"}||}||krD|||VqDWdS)zHList unique elements, preserving order. Remember all elements ever seen.N)setaddrZmoves filterfalse __contains__)iterablekeyseenZseen_addelementkr&r&r'unique_everseens  rkcstfdd}|S)zs Wrap a function returning an iterable such that the resulting iterable only ever yields unique items. cst||S)N)rk)argskwargs)funcr&r'wrapperszunique_values..wrapper)r)rnror&)rnr' unique_valuessrpz3<([^>]*\srel\s{0,10}=\s{0,10}['"]?([^'" >]+)[^>]*)>ccsxvtj|D]h}|j\}}tttj|jjd}d|ksFd|kr x,t j|D]}t j j |t |jdVqRWq WxHdD]@}|j|}|d kr~t j||}|r~t j j |t |jdVq~WdS) zEFind rel="homepage" and rel="download" links in `page`, yielding URLs,Zhomepager8r7 Home PageDownload URLN)rrrsr;)RELfinditergroupsrbrstrstripr0r?HREFrr#urljoin htmldecoderLfindsearch)r@pagerKtagZrelZrelsposr&r&r'find_external_linkss "   rc@s(eZdZdZddZddZddZdS) ContentCheckerzP A null content checker that defines the interface for checking content cCsdS)z3 Feed a block of data to the hash. Nr&)selfblockr&r&r'feedszContentChecker.feedcCsdS)zC Check the hash. Return False if validation fails. Tr&)rr&r&r'is_validszContentChecker.is_validcCsdS)zu Call reporter with information about the checker (hash name) substituted into the template. Nr&)rreportertemplater&r&r'reportszContentChecker.reportN)__name__ __module__ __qualname____doc__rrrr&r&r&r'rsrc@sBeZdZejdZddZeddZddZ dd Z d d Z d S) HashCheckerzK(?Psha1|sha224|sha384|sha256|sha512|md5)=(?P[a-f0-9]+)cCs||_tj||_||_dS)N) hash_namehashlibnewhashexpected)rrrr&r&r'__init__s zHashChecker.__init__cCs>tjj|d}|stS|jj|}|s0tS|f|jS)z5Construct a (possibly null) ContentChecker from a URLr7r;)rr#r=rpatternr} groupdict)clsr@rFrKr&r&r'from_urls zHashChecker.from_urlcCs|jj|dS)N)rupdate)rrr&r&r'rszHashChecker.feedcCs|jj|jkS)N)rZ hexdigestr)rr&r&r'r!szHashChecker.is_validcCs||j}||S)N)r)rrrmsgr&r&r'r$s zHashChecker.reportN) rrrrZcompilerr classmethodrrrrr&r&r&r'rs rcs<eZdZdZdKddZdLd d ZdMd d ZdNd dZddZddZ ddZ ddZ dOddZ ddZ dPfdd ZddZdd Zd!d"Zd#d$Zd%d&ZdQd'd(ZdRd)d*Zd+d,Zd-Zd.d/Zd0d1ZdSd2d3Zd4d5Zd6d7Zd8d9Zd:d;Zdd?Z!d@dAZ"dBdCZ#dDdEZ$dFdGZ%dHdIZ&Z'S)Urz;A distribution index that scans web pages for download URLshttps://pypi.org/simple/*NTcOstj|f|||dd|jd |_i|_i|_i|_tjdj t t |j |_ g|_|ortjor|prtj}|rtj||_n tjj|_dS)Nr6|)r rr1 index_url scanned_urls fetched_urls package_pagesrZrrarrrKallowsto_scanrZ is_availableZfind_ca_bundleZ opener_foropenerrrequesturlopen)rrZhostsZ ca_bundleZ verify_sslrlkwZuse_sslr&r&r'r,s zPackageIndex.__init__Fc Cs||jkr| rdSd|j|<t|s4|j|dStt|}|r^|j|sRdS|jd||sr| sr||jkrtt|j |dS|j|sd|j|<dS|j d|d|j|<d}|j |||}|dkrdSd|j|j <d|j jddjkr|jdS|j }|j}t|tsRt|tjjr4d }n|j jd pDd }|j|d }|jx6tj|D](} tjj|t| jd } |j| qfW|j |j!rt"|d ddkr|j#||}dS)z.)filterrWrDrr itertoolsstarmap scan_egg_link)rZ search_pathdirsZ egg_linksr&r&r'scan_egg_linksszPackageIndex.scan_egg_linksc Csttjj||}ttdttj|}WdQRXt |dkrDdS|\}}x>t tjj||D](}tjj|f||_ t |_ |j|q`WdS)Nr9)openrWrDrarrrrwrxrTrrPr rHrc)rrDrZ raw_lineslinesZegg_pathZ setup_pathrNr&r&r'rs  zPackageIndex.scan_egg_linkc sfdd}xHtj|D]:}y |tjj|t|jdWqtk rPYqXqW||\}}|rxXt||D]J}t |\}} |j dr| r|r|d||f7}n j |j |qrWt jdd|SdSd S) z#Process the contents of a PyPI pagecs|jjrtttjj|tjdjd}t|dkrd|dkrt |d}t |d}dj j |j i|<t|t|fSdS)Nr6r9r:r7rT)NN)r2rrrrr#r>rTr?rrr setdefaultr0r)rrApkgver)rr&r'scans "  z(PackageIndex.process_index..scanr7z.pyz #egg=%s-%scSsd|jdddS)Nz%sr7r!r9)rL)mr&r&r'sz,PackageIndex.process_index..rN)ryrurr#rzr{rLr$rrGr1need_version_infoscan_urlPYPI_MD5sub) rr@r~rrKrrnew_urlr4fragr&)rr'rs$       zPackageIndex.process_indexcCs|jd|dS)NzPPage at %s links to .py file(s) without version info; an index scan is required.)scan_all)rr@r&r&r'rszPackageIndex.need_version_infocGs:|j|jkr*|r |j|f||jd|j|jdS)Nz6Scanning index of all packages (this may take a while))rrrrr)rrrlr&r&r'rs  zPackageIndex.scan_allcCs~|j|j|jd|jj|js:|j|j|jd|jj|jsR|j|x&t|jj|jfD]}|j|qhWdS)Nr6) rr unsafe_namerrrgrQnot_found_in_indexr)r requirementr@r&r&r' find_packagess zPackageIndex.find_packagescsR|j|j|x,||jD]}||kr.|S|jd||qWtt|j||S)Nz%s does not match %s)prescanrrgrsuperrobtain)rrZ installerrN) __class__r&r'rs zPackageIndex.obtaincCsL|j|jd||jsH|jtj|td|jjtj j |fdS)z- checker is a ContentChecker zValidating %%s checksum for %sz7%s validation failed for %s; possible download problem?N) rrrrrWunlinkrrr3rDrU)rcheckerrXtfpr&r&r' check_hashs  zPackageIndex.check_hashcCsTxN|D]F}|jdks4t| s4|jds4tt|r@|j|q|jj|qWdS)z;Add `urls` to the list that will be prescanned for searchesNzfile:)rrr2rrrappend)rZurlsr@r&r&r'add_find_links s      zPackageIndex.add_find_linkscCs"|jrtt|j|jd|_dS)z7Scan urls scheduled for prescanning (e.g. --find-links)N)rrrr)rr&r&r'rszPackageIndex.prescancCs<||jr|jd}}n |jd}}|||j|jdS)Nz#Couldn't retrieve index page for %rz3Couldn't find index page for %r (maybe misspelled?))rgrrrr)rrmethrr&r&r'r"s   zPackageIndex.not_found_in_indexcCs~t|tsjt|}|rR|j|jd||}t|\}}|jdrN|j|||}|Stj j |rb|St |}t |j ||ddS)aLocate and/or download `spec` to `tmpdir`, returning a local path `spec` may be a ``Requirement`` object, or a string containing a URL, an existing local filename, or a project/version requirement spec (i.e. the string form of a ``Requirement`` object). If it is the URL of a .py file with an unambiguous ``#egg=name-version`` tag (i.e., one that escapes ``-`` as ``_`` throughout), a trivial ``setup.py`` is automatically created alongside the downloaded file. If `spec` is a ``Requirement`` object or a string containing a project/version requirement spec, this method returns the location of a matching distribution (possibly after downloading it to `tmpdir`). If `spec` is a locally existing file or directory name, it is simply returned unchanged. If `spec` is a URL, it is downloaded to a subpath of `tmpdir`, and the local filename is returned. Various errors may be raised if a problem occurs during downloading. r7z.pyrPN)rrr _download_urlrLrGr1 gen_setuprWrDrr(rfetch_distribution)rr%tmpdirrBfoundr4rFr&r&r'r8,s    zPackageIndex.downloadc sjd|id}d fdd }|rHjj|||}| r`|dk r`|||}|dkrjdk rzj||}|dkr| rj|||}|dkrˆjdrdpd|njd||j|jd SdS) a|Obtain a distribution suitable for fulfilling `requirement` `requirement` must be a ``pkg_resources.Requirement`` instance. If necessary, or if the `force_scan` flag is set, the requirement is searched for in the (online) package index as well as the locally installed packages. If a distribution matching `requirement` is found, the returned distribution's ``location`` is the value you would have gotten from calling the ``download()`` method with the matching distribution's URL or filename. If no matching distribution is found, ``None`` is returned. If the `source` flag is set, only source distributions and source checkout links will be considered. Unless the `develop_ok` flag is set, development and system eggs (i.e., those using the ``.egg-info`` format) will be ignored. zSearching for %sNcs|dkr }x||jD]t}|jtkrJ rJ|krjd|d|<q||ko`|jtkp` }|rj|j}||_tj j |jr|SqWdS)Nz&Skipping development or system egg: %sr7) rgrHrrr r8rPdownload_locationrWrDr)ZreqenvrNZtestloc) develop_okrskippedsourcerr&r'r|fs z-PackageIndex.fetch_distribution..findz:No local packages or working download links found for %s%sza source distribution of rzBest match: %s)rP)N)rrrrrcloner) rrr force_scanrrZ local_indexrNr|r&)rrrrrr'rNs0       zPackageIndex.fetch_distributioncCs"|j||||}|dk r|jSdS)a3Obtain a file suitable for fulfilling `requirement` DEPRECATED; use the ``fetch_distribution()`` method now instead. For backward compatibility, this routine is identical but returns the ``location`` of the downloaded distribution instead of a distribution object. N)rrP)rrrrrrNr&r&r'fetchszPackageIndex.fetchc Cstj|}|r*ddt||jddDp,g}t|dkrtjj|}tjj||krtjj ||}ddl m }|||st j |||}ttjj |dd2} | jd|dj|djtjj|dfWdQRX|S|rtd ||fntd dS) NcSsg|]}|jr|qSr&)rR)r[dr&r&r' sz*PackageIndex.gen_setup..r7r)samefilezsetup.pywzIfrom setuptools import setup setup(name=%r, version=%r, py_modules=[%r]) zCan't unambiguously interpret project/version identifier %r; any dashes in the name or version should be escaped using underscores. %rzpCan't process plain .py files without an '#egg=name-version' suffix to enable automatic setup script generation.)rJrKrrLrTrWrDrUdirnameraZsetuptools.command.easy_installrshutilZcopy2rwriterQrRsplitextr) rrXrFrrKrrUdstrrr&r&r'rs2       zPackageIndex.gen_setupi c Cs|jd|d}ztj|}|j|}t|tjjrJtd||j |j f|j}d}|j }d}d|krt |d} t tt| }|j|||||t|dZ} xD|j|} | r|j| | j| |d7}|j|||||qPqW|j||| WdQRX|S|r|jXdS) NzDownloading %szCan't download %s: %s %srr7zcontent-lengthzContent-Lengthwbr;)rrrrrrrrrrr dl_blocksizermaxrint reporthookrrrr rr) rr@rXfprrblocknumZbssizeZsizesrrr&r&r' _download_tos:        zPackageIndex._download_tocCsdS)Nr&)rr@rXrZblksizerr&r&r'rszPackageIndex.reporthookcCs|jdrt|Sy t||jSttjfk r}z>djdd|jD}|r^|j ||nt d||fWYdd}~Xnt j j k r}z|Sd}~Xnt j jk r}z,|r|j ||jnt d||jfWYdd}~Xntjk r8}z.|r|j ||jnt d||jfWYdd}~XnPtjtj fk r}z*|rf|j ||nt d||fWYdd}~XnXdS)Nzfile: cSsg|] }t|qSr&)rw)r[argr&r&r'rsz)PackageIndex.open_url..z%s %szDownload error for %s: %sz;%s returned a bad status line. The server might be down, %s)r2 local_openopen_with_authrr$r InvalidURLrarlrrrrrZURLErrorreasonZ BadStatusLinelineZ HTTPExceptionsocket)rr@Zwarningvrr&r&r'rs6  "zPackageIndex.open_urlcCst|\}}|r4x&d|kr0|jddjdd}qWnd}|jdrN|dd}tjj||}|jt|sztdj |d |d ks|jd r|j ||S|d ks|jd r|j ||S|jdr|j ||S|dkrt jjt jj|dS|j|d|j||SdS)Nz...\_Z__downloaded__z.egg.zipr,zInvalid filename {filename})rXsvnzsvn+gitzgit+zhg+rr9Tr/)rGreplacer1rWrDrar2rwr$format _download_svn _download_git _download_hgrr url2pathnamer#r=r_attempt_download)rrBr@rr3rFrXr&r&r'rs(         zPackageIndex._download_urlcCs|j|ddS)NT)r)rr@r&r&r'r=szPackageIndex.scan_urlcCs6|j||}d|jddjkr.|j|||S|SdS)Nrz content-typer)rrr0_download_html)rr@rXrr&r&r'r)@s zPackageIndex._attempt_downloadcCslt|}x@|D]8}|jrtjd|rD|jtj||j||SPqW|jtj|td|dS)Nz ([^- ]+ - )?Revision \d+:zUnexpected HTML page found at ) r���rx���rZ���r}���r���rW���r���r%��r���)r���r@���r���rX���r���r��r&���r&���r'���r*��G��s����     zPackageIndex._download_htmlc�������������C���s��|j�ddd�}g�}|j�jdrd|krtjj|\}}}}}} | �r|jdrd|dd��kr|dd��j�dd\}}tjj|\} } | rd | kr| j�d d\} } d | �d | �g}n d | �g}| }|||||| f}tjj|}|�jd ||�t j d dg|�d||g��|S�)Nr:���r7���r���zsvn:@z//r6���r9���:z --username=z --password=z'Doing subversion checkout from %s to %sr!��checkoutz-q) r?���r0���r2���r���r#���r=��� splituser urlunparser��� subprocess check_call)r���r@���rX���ZcredsrB���netlocrD���r\���qr���authhostuserZpwrA���r&���r&���r'���r%��V��s$����   zPackageIndex._download_svnc�������������C���sp���t�jj|�\}}}}}|jddd�}|jddd�}d�}d|krR|jdd\}}t�jj||||df}�|�|fS�)N+r7���r:���r���r+��r���r;���)r���r#���Zurlsplitr?���rsplitZ urlunsplit)r@��� pop_prefixrB���r2��rD���rE���r���revr&���r&���r'���_vcs_split_rev_from_urlk��s����z$PackageIndex._vcs_split_rev_from_urlc�������������C���sr���|j�ddd�}|�j|dd\}}|�jd||�tjddd ||g�|d�k rn|�jd |�tjdd |d d |g�|S�) Nr:���r7���r���T)r9��zDoing git clone from %s to %sr"��r���z--quietzChecking out %sz-Cr-��)r?���r;��r���r0��r1��)r���r@���rX���r:��r&���r&���r'���r&��}��s���� zPackageIndex._download_gitc���������� ���C���sv���|j�ddd�}|�j|dd\}}|�jd||�tjddd ||g�|d�k rr|�jd |�tjdd |d d d|dg�|S�)Nr:���r7���r���T)r9��zDoing hg clone from %s to %sZhgr���z--quietzUpdating to %sz--cwdZupz-Cz-rz-q)r?���r;��r���r0��r1��)r���r@���rX���r:��r&���r&���r'���r'����s���� zPackageIndex._download_hgc�������������G���s���t�j|f|��d�S�)N)r���r���)r���r���rl���r&���r&���r'���r�����s����zPackageIndex.debugc�������������G���s���t�j|f|��d�S�)N)r���r���)r���r���rl���r&���r&���r'���r�����s����zPackageIndex.infoc�������������G���s���t�j|f|��d�S�)N)r���r���)r���r���rl���r&���r&���r'���r�����s����zPackageIndex.warnr���)r���r<��NT)F)F)F)N)N)FFFN)FF)N)F)(r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r8���r���r��r���r ��r��r��r���r���r���r)��r*��r%�� staticmethodr;��r&��r'��r���r���r��� __classcell__r&���r&���)r���r'���r���)��sL����  3   +   #� J )$ #!   z!&(#(\d+|x[\da-fA-F]+)|[\w.:-]+);?c�������������C���s���|�j�d}t|S�)Nr7���)rL���r���)rK���Zwhatr&���r&���r'��� decode_entity��s���� r?��c�������������C���s ���t�t|�S�)z'Decode HTML entities in the given text.) entity_subr?��)textr&���r&���r'���r{�����s����r{���c����������������s����fdd}|S�)Nc����������������s����fdd}|S�)Nc����������� ������s.���t�j�}t�j�z �|�|S�t�j|�X�d�S�)N)r��ZgetdefaulttimeoutZsetdefaulttimeout)rl���rm���Z old_timeout)rn���timeoutr&���r'���_socket_timeout��s ����  z@socket_timeout.<locals>._socket_timeout.<locals>._socket_timeoutr&���)rn���rC��)rB��)rn���r'���rC����s����z'socket_timeout.<locals>._socket_timeoutr&���)rB��rC��r&���)rB��r'���socket_timeout��s���� rD��c�������������C���s2���t�jj|�}|j�}tj|}|j�}|jddS�)aq�� A function compatible with Python 2.3-3.3 that will encode auth from a URL suitable for an HTTP header. >>> str(_encode_auth('username%3Apassword')) 'dXNlcm5hbWU6cGFzc3dvcmQ=' Long auth strings should not cause a newline to be inserted. >>> long_auth = 'username:' + 'password'*10 >>> chr(10) in str(_encode_auth(long_auth)) False  r���)r���r#���r>���encodebase64Z encodestringr���r#��)r4��Zauth_sZ auth_bytesZ encoded_bytesZencodedr&���r&���r'��� _encode_auth��s ����  rH��c���������������@���s(���e�Zd�ZdZdd�Zdd�Zdd�ZdS�) Credentialz: A username/password pair. Use like a namedtuple. c�������������C���s���||�_�||�_d�S�)N)usernamepassword)r���rJ��rK��r&���r&���r'���r�����s����zCredential.__init__c�������������c���s���|�j�V��|�jV��d�S�)N)rJ��rK��)r���r&���r&���r'���__iter__��s����zCredential.__iter__c�������������C���s ���dt�|��S�)Nz%(username)s:%(password)s)vars)r���r&���r&���r'���__str__��s����zCredential.__str__N)r���r���r���r���r���rL��rN��r&���r&���r&���r'���rI����s���rI��c���������������@���s0���e�Zd�Zdd�Zedd�Zdd�Zdd�Zd S�) PyPIConfigc�������������C���sP���t�jdddgd}tjj|�|�tjjtjjdd}tjj |rL|�j |�dS�)z% Load from ~/.pypirc rJ��rK�� repositoryr���~z.pypircN) dictfromkeysr���RawConfigParserr���rW���rD���ra��� expanduserr���r���)r���ZdefaultsZrcr&���r&���r'���r�����s ���� zPyPIConfig.__init__c����������������s&����fdd�j��D�}tt�j|S�)Nc����������������s ���g�|�]}�j�|d�j�r|qS�)rP��)r���rx���)r[���section)r���r&���r'���r����s����z2PyPIConfig.creds_by_repository.<locals>.<listcomp>)ZsectionsrR��r���_get_repo_cred)r���Zsections_with_repositoriesr&���)r���r'���creds_by_repository��s����zPyPIConfig.creds_by_repositoryc�������������C���s6���|�j�|dj�}|t|�j�|dj�|�j�|dj�fS�)NrP��rJ��rK��)r���rx���rI��)r���rV��Zrepor&���r&���r'���rW����s����zPyPIConfig._get_repo_credc�������������C���s*���x$|�j�j�D�]\}}|j|r |S�q W�dS�)z If the URL indicated appears to be a repository defined in this config, return the credential for that repository. N)rX��itemsr2���)r���r@���rP��credr&���r&���r'���find_credential��s���� zPyPIConfig.find_credentialN)r���r���r���r���propertyrX��rW��r[��r&���r&���r&���r'���rO����s��� rO��c�������������C���s:��t�jj|�\}}}}}}|jdr,tjd|d krFt�jj|\}} nd}|s~t�j|�} | r~t | }| j |�f} t j d | ��|rdt |�}|| ||||f} t�jj| } t�jj| }|jd|�n t�jj|�}|jd t�||}|r6t�jj|j\}}}}}}||kr6|| kr6||||||f} t�jj| |_|S�) z4Open a urllib2 request, handling HTTP authenticationr,��znonnumeric port: ''httphttpsN*Authenticating as %s for %s (from .pypirc)zBasic Z Authorizationz User-Agent)r]��r^��)r_��)r���r#���r=���r1���r���r��r.��rO��r[��rw���rJ��r���r���rH��r/��r���ZRequestZ add_header user_agentr@���)r@���r���rB���r2��rD���ZparamsrE���r���r4��r5��rZ��r���rA���r���r���r��s2Zh2Zpath2Zparam2Zquery2Zfrag2r&���r&���r'���r�� ��s6����         r��c�������������C���s���|�S�)Nr&���)r@���r&���r&���r'��� fix_sf_url>��s����rb��c���������� ���C���s��t�jj|�\}}}}}}t�jj|}tjj|r<t�jj|�S�|j drtjj |rg�}xtj |D�]b} tjj || } | dkrt | d} | j�} W�dQ�R�X�P�ntjj | r| d7�} |jdj| d�qbW�d} | j|�dj |d } d\}}n d\}}} ddi}tj| }t�jj|�||||S�)z7Read a local path, with special support for directoriesr6���z index.htmlrNz<a href="{name}">{name}</a>)r3���zB<html><head><title>{url}{files}rE)r@filesOKPath not found Not foundz content-typez text/html)rerf)rgrhri)rr#r=rr(rWrDisfilerr1rrrarrrr$rStringIOrr)r@rBrCrDZparamrErrXrdrfilepathrZbodyrZstatusmessagerZ body_streamr&r&r'rBs,        r)N)N)N)N)r )[rr0sysrWrZrrrGrr functoolsrZsetuptools.externrZsetuptools.extern.six.movesrrrrr"Z pkg_resourcesrr r r r r rrrrrrrrZ distutilsrZdistutils.errorsrZfnmatchrZsetuptools.py27compatrZsetuptools.py33compatrZsetuptools.wheelrrrJIryrrKrr?rS__all__Z_SOCKET_TIMEOUTZ_tmplr$rRr`r(rrGrrIrYrrkrprtrobjectrrrrr@r?r{rDrHrIrTrOrrrrbrr&r&r&r's|  <           !  "   !~  &. PKge[!  wheel.cpython-36.opt-1.pycnu[3 vhb@sdZddlmZddlZddlZddlZddlZddlZddlZddl m Z m Z m Z ddl mZddlmZddlm ZddlmZdd lmZejd ejjZd Zd d ZGdddeZdS)zWheels support.) get_platformN) Distribution PathMetadata parse_version)canonicalize_name)PY3)r) pep425tags)write_requirementsz^(?P.+?)-(?P\d.*?) ((-(?P\d.*?))?-(?P.+?)-(?P.+?)-(?P.+?) )\.whl$ztry: __import__('pkg_resources').declare_namespace(__name__) except ImportError: __path__ = __import__('pkgutil').extend_path(__path__, __name__) c Csxtj|D]\}}}tjj||}x6|D].}tjj||}tjj|||}tj||q*WxXttt|D]D\} } tjj|| }tjj||| }tjj |sntj|||| =qnWq Wx&tj|ddD]\}}}tj |qWdS)zDMove everything under `src_dir` to `dst_dir`, and delete the former.T)topdownN) oswalkpathrelpathjoinrenamesreversedlist enumerateexistsrmdir) Zsrc_dirZdst_dirdirpathZdirnames filenamessubdirfsrcdstndr/usr/lib/python3.6/wheel.pyunpack!s   r c@s<eZdZddZddZddZddZd d Zd d Zd S)WheelcCsTttjj|}|dkr$td|||_x$|jjD]\}}t|||q8WdS)Nzinvalid wheel name: %r) WHEEL_NAMEr r basename ValueErrorfilename groupdictitemssetattr)selfr%matchkvrrr__init__9s  zWheel.__init__cCs&tj|jjd|jjd|jjdS)z>List tags (py_version, abi, platform) supported by this wheel..) itertoolsproduct py_versionsplitabiplatform)r)rrrtagsAs z Wheel.tagscs$tjtfdd|jDdS)z5Is the wheel is compatible with the current platform?c3s|]}|krdVqdS)TNr).0t)supported_tagsrr Jsz&Wheel.is_compatible..F)rZ get_supportednextr5)r)r)r8r is_compatibleGszWheel.is_compatiblecCs*t|j|j|jdkrdntdjdS)Nany) project_nameversionr4z.egg)rr=r>r4regg_name)r)rrrr?LszWheel.egg_namecCsJx<|jD]0}tj|}|jdr t|jt|jr |Sq WtddS)Nz .dist-infoz.unsupported wheel format. .dist-info not found)Znamelist posixpathdirnameendswithr startswithr=r$)r)zfmemberrArrr get_dist_infoRs   zWheel.get_dist_infocstj|jd|j|jf}|jd|fdd}|d}|d}t|jd}td|koxtd knstd |t j |j |t j j |tj|t|d d d tttjfddjD}t j j |d}t j|t jt j j |dt j j |dtt|dd} t| jddt j j |dt j j |t j j d} t j j| rt j j |dd} t j | xVt j| D]H} | jdrt jt j j | | n t jt j j | | t j j | | qWt j| x0t t j jfddd#DD]} t!| |q$Wt j jrPt jt j j |d}t j j|rt"|}|j#j$}WdQRXxr|D]j}t j j |f|j$d }t j j |d!}t j j|rt j j| rt"|d"}|j%t&WdQRXqWWdQRXdS)$z"Install wheel as an egg directory.z%s-%sz%s.datac sHjtj|,}tr&|jjdn|j}tjjj |SQRXdS)Nzutf-8) openr@rrreaddecodeemailparserZParserZparsestr)namefpvalue) dist_inforDrr get_metadatabsz*Wheel.install_as_egg..get_metadataZWHEELZMETADATAz Wheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)ZmetadatacSsd|_t|S)N)Zmarkerstr)reqrrrraw_reqxsz%Wheel.install_as_egg..raw_reqc s6i|].}ttfddtj|fD|qS)c3s|]}|kr|VqdS)Nr)r6rR)install_requiresrrr9~sz2Wheel.install_as_egg...)rsortedmaprequires)r6Zextra)distrTrSrr |sz(Wheel.install_as_egg..zEGG-INFOzPKG-INFO)rTextras_require)Zattrsegg_infoNz requires.txtscriptsz.pycc3s|]}tjj|VqdS)N)r r r)r6r) dist_datarrr9sz'Wheel.install_as_egg..dataheaderspurelibplatlibznamespace_packages.txtr.z __init__.pyw)r^r_r`ra)'zipfileZZipFiler%r=r>rFrgetr$r mkdirZ extractallr rrZ from_locationrrrUrVrWZextrasrenameSetuptoolsDistributiondictr Zget_command_objrlistdirrBunlinkrfilterr rGrHr2writeNAMESPACE_PACKAGE_INIT)r)Zdestination_eggdirZ dist_basenamerPZwheel_metadataZ dist_metadataZ wheel_versionrZr[Z setup_distZdist_data_scriptsZegg_info_scriptsentryrZnamespace_packagesrMmodZmod_dirZmod_initr)rXr]rOrTrSrDrinstall_as_egg\sr                  zWheel.install_as_eggN) __name__ __module__ __qualname__r-r5r;r?rFrprrrrr!7s  r!)__doc__Zdistutils.utilrrJr/r r@rercZ pkg_resourcesrrrZ!setuptools.extern.packaging.utilsrZsetuptools.extern.sixrZ setuptoolsrgrZsetuptools.command.egg_infor compileVERBOSEr*r"rmr objectr!rrrrs&       PKge[\ƏƏdist.cpython-36.pycnu[3 vhu@sdgZddlZddlZddlZddlZddlZddlZddlZddl Zddl Z ddl m Z ddl mZmZmZddlmZddlmZddlmZddlmZdd lmZmZmZdd lmZdd lmZdd l m!Z!dd l"m#Z#ddl$Z$ddl%m&Z&e'de'dddZ(ddZ)ddZ*e+e,fZ-ddZ.ddZ/ddZ0ddZ1d d!Z2d"d#Z3d$d%Z4d&d'Z5d(d)Z6d*d+Z7d,d-Z8d.d/Z9e!ej:j;ZZ parse_maprCr)rEr8rFerrrcheck_entry_pointssrhcCst|tjstddS)Nztest_suite must be a string)rbr Z string_typesr)rEr8rFrrrcheck_test_suites ric Csdt|trTxH|jD]8\}}t|ts(Py t|Wqtk rJPYqXqWdSt|ddS)z@Verify that value is a dictionary of package names to glob listsNzI must be a dictionary mapping package names to lists of wildcard patterns)rbrcr2striterrBr)rEr8rFkvrrrcheck_package_datas    rncCs,x&|D]}tjd|stjjd|qWdS)Nz \w+(\.\w+)*z[WARNING: %r not a valid package name; please use only .-separated package names in setup.py)rematchrNrOr)rEr8rFZpkgnamerrrcheck_packagess   rqc@s0eZdZdZdeedZdZddZdGddZ dd Z d d Z e d d Z ddZddZdHddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dS)IraDistribution with support for features, tests, and package data This is an enhanced version of 'distutils.dist.Distribution' that effectively adds the following new optional keyword arguments to 'setup()': 'install_requires' -- a string or sequence of strings specifying project versions that the distribution requires when installed, in the format used by 'pkg_resources.require()'. They will be installed automatically when the package is installed. If you wish to use packages that are not available in PyPI, or want to give your users an alternate download location, you can add a 'find_links' option to the '[easy_install]' section of your project's 'setup.cfg' file, and then setuptools will scan the listed web pages for links that satisfy the requirements. 'extras_require' -- a dictionary mapping names of optional "extras" to the additional requirement(s) that using those extras incurs. For example, this:: extras_require = dict(reST = ["docutils>=0.3", "reSTedit"]) indicates that the distribution can optionally provide an extra capability called "reST", but it can only be used if docutils and reSTedit are installed. If the user installs your package using EasyInstall and requests one of your extras, the corresponding additional requirements will be installed if needed. 'features' **deprecated** -- a dictionary mapping option names to 'setuptools.Feature' objects. Features are a portion of the distribution that can be included or excluded based on user options, inter-feature dependencies, and availability on the current system. Excluded features are omitted from all setup commands, including source and binary distributions, so you can create multiple distributions from the same source tree. Feature names should be valid Python identifiers, except that they may contain the '-' (minus) sign. Features can be included or excluded via the command line options '--with-X' and '--without-X', where 'X' is the name of the feature. Whether a feature is included by default, and whether you are allowed to control this from the command line, is determined by the Feature object. See the 'Feature' class for more information. 'test_suite' -- the name of a test suite to run for the 'test' command. If the user runs 'python setup.py test', the package will be installed, and the named test suite will be run. The format is the same as would be used on a 'unittest.py' command line. That is, it is the dotted name of an object to import and call to generate a test suite. 'package_data' -- a dictionary mapping package names to lists of filenames or globs to use to find data files contained in the named packages. If the dictionary has filenames or globs listed under '""' (the empty string), those names will be searched for in every package, in addition to any names for the specific package. Data files found using these names/globs will be installed along with the package, in the same location as the package. Note that globs are allowed to reference the contents of non-package subdirectories, as long as you use '/' as a path separator. (Globs are automatically converted to platform-specific paths at runtime.) In addition to these new keywords, this class also has several new methods for manipulating the distribution's contents. For example, the 'include()' and 'exclude()' methods can be thought of as in-place add and subtract commands that add or remove packages, modules, extensions, and so on from the distribution. They are used by the feature subsystem to configure the distribution for the included and excluded features. N)rr1rcCsp| sd|ksd|krdStjt|dj}tjjj|}|dk rl|jd rltjt|d|_ ||_ dS)Nr[r7zPKG-INFO) r=Z safe_namerjlower working_setZby_keygetZ has_metadataZ safe_versionZ_version _patched_dist)r5attrskeyrErrrpatch_missing_pkg_infoSsz#Distribution.patch_missing_pkg_infoc std}|si_|pi}d|ks,d|kr4tjg_i_g_|jdd_j ||jdg_ |jdg_ x$t j dD]}tj|jdqWtjfdd |jDx\jjD]N\}}x6jj|fD]}||kr||}PqW|r|nd}tj||qWtjjtjr>tjjj_jjdk ryHtjjjj}t|} jj| krtj d jj| f| j_Wn0tjj!t"fk rtj d jjYnXj#dS) N package_datafeaturesrequire_featuressrc_rootdependency_linkssetup_requireszdistutils.setup_keywordscs i|]\}}|jkr||qSr)_DISTUTILS_UNSUPPORTED_METADATA).0rlrm)r5rr qsz)Distribution.__init__..zNormalizing '%s' to '%s'zThe version specified (%r) is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.)$r4ryFeaturewarn_deprecatedr{rzZ dist_filespopr|rxr}r~r=iter_entry_pointsvars setdefaultr[ _Distribution__init__r2rmetadata__dict__setattrrbr7numbersNumberrjr ZVersionrrZInvalidVersionrB_finalize_requires) r5rvZhave_package_datarGZoptiondefaultsourcerFZverZnormalized_versionr)r5rr`sR    zDistribution.__init__cCsjt|ddr|j|j_t|ddrVx2|jjD]$}|jdd}|r.|jjj|q.W|j|j dS)z Set `metadata.python_requires` and fix environment markers in `install_requires` and `extras_require`. rNextras_requirerXr) r rrrkeyssplitradd_convert_extras_requirements"_move_install_requirements_markers)r5r;rrrrs   zDistribution._finalize_requirescCspt|ddpi}tt|_xP|jD]D\}}|j|x0tj|D]"}|j|}|j||j|qBWq$WdS)z Convert requirements in `extras_require` of the form `"extra": ["barbazquux; {marker}"]` to `"extra:{marker}": ["barbazquux"]`. rN) r rrS_tmp_extras_requirer2r=rZ _suffix_forappend)r5Z spec_ext_reqsZsectionrmrsuffixrrrrs   z)Distribution._convert_extras_requirementscCs|jrdt|jSdS)ze For a requirement, return the 'extras_require' suffix for that requirement. rXrI)r\rj)reqrrrrszDistribution._suffix_forcsdd}tddpf}ttj|}t||}t||}ttt|_x&|D]}j dt|j j |qPWt fddj j D_dS)zv Move requirements in `install_requires` that are using environment markers `extras_require`. cSs|j S)N)r\)rrrr is_simple_reqszFDistribution._move_install_requirements_markers..is_simple_reqinstall_requiresNrXc3s,|]$\}}|ddtj|DfVqdS)cSsg|] }t|qSr)rj)rrrrr szMDistribution._move_install_requirements_markers...N)r _clean_req)rrlrm)r5rr szBDistribution._move_install_requirements_markers..)r rSr=rZr r r rjrrr\rrcr2r)r5rZspec_inst_reqsZ inst_reqsZ simple_reqsZ complex_reqsrr)r5rrs     z/Distribution._move_install_requirements_markerscCs d|_|S)zP Given a Requirement, remove environment markers and return it. N)r\)r5rrrrrszDistribution._clean_reqFcCs*tj||dt||j|d|jdS)zYParses configuration files from various levels and loads configuration. ) filenames)ignore_option_errorsN)rparse_config_filesrcommand_optionsr)r5rrrrrrszDistribution.parse_config_filescCstj|}|jr|j|S)z3Process features after parsing command line options)rparse_command_linerz_finalize_features)r5resultrrrrs zDistribution.parse_command_linecCsd|jddS)z;Convert feature name to corresponding option attribute nameZwith_-_)replace)r5r[rrr_feature_attrnameszDistribution._feature_attrnamecCs<tjjtj||jdd}x|D]}tjj|ddq W|S)zResolve pre-setup requirementsT) installerZreplace_conflicting)r)r=rsresolverZfetch_build_eggr)r5r!Zresolved_distsrErrrfetch_build_eggss zDistribution.fetch_build_eggscCstj||jr|jxHtjdD]:}t||jd}|dk r$|j|j d|j ||j|q$Wt|ddrdd|j D|_ ng|_ dS)Nzdistutils.setup_keywords)rconvert_2to3_doctestscSsg|]}tjj|qSr)ospathabspath)rprrrrsz1Distribution.finalize_options..) rfinalize_optionsrz_set_global_opts_from_featuresr=rr r[requirerloadr)r5rGrFrrrrs  zDistribution.finalize_optionsc Csvtjjtjd}tjj|srtj|tj|tjj|d}t|d$}|j d|j d|j dWdQRX|S)Nz.eggsz README.txtwzcThis directory contains eggs that were downloaded by setuptools to build, test, and run plug-ins. zAThis directory caches those eggs to prevent repeated downloads. z/However, it is safe to delete this directory. ) rrr3curdirexistsmkdirrZ hide_fileopenr/)r5Z egg_cache_dirZreadme_txt_filenamefrrrget_egg_cache_dirs      zDistribution.get_egg_cache_dirc Csddlm}|jddgi}|jd}|j|jdd|jdjD|jr|jdd}d|krx|dd |}d |f|d<|j}||d g|d d dd d d d d d }|j |j|S)z Fetch an egg needed for buildingr) easy_installZ script_argsrcss"|]\}}|dkr||fVqdS) find_links site_dirs index_urloptimize allow_hostsN)rrrrrrr)rrlrmrrrr1sz/Distribution.fetch_build_egg..NrrZsetupxTF) args install_dirZexclude_scriptsZ always_copyZbuild_directoryZeditableZupgradeZ multi_versionZ no_reportuser) Zsetuptools.command.easy_installr __class__get_option_dictclearupdater2r}rZensure_finalized)r5rrrEoptsZlinksrcmdrrrr*s(   zDistribution.fetch_build_eggc Csg}|jj}x|jjD]\}}|j|d|j||jr|j}d}d}|js^||}}d|dd||fd|dd||ff}|j |d||d|<qW||j |_ |_ ||_|_ dS)z;Add --with-X/--without-X options based on optional featuresNz (default)rIzwith-zinclude zwithout-zexclude ) negative_optcopyrzr2 _set_featurevalidateoptional descriptioninclude_by_defaultextendglobal_optionsZfeature_optionsZfeature_negopt) r5Zgonor[featuredescrZincdefZexcdefnewrrrrGs"     z+Distribution._set_global_opts_from_featurescCsxJ|jjD]<\}}|j|}|s2|dkr |jr |j||j|dq Wx6|jjD](\}}|j|sX|j||j|dqXWdS)z9Add/remove features and resolve dependencies between themNrr)rzr2feature_is_includedr include_inr exclude_from)r5r[rZenabledrrrrbs    zDistribution._finalize_featurescCs`||jkr|j|Stjd|}x:|D]&}|j|jd|j|j|<}|SWtj||SdS)z(Pluggable version of get_command_class()zdistutils.commands)rN)cmdclassr=rrrrrget_command_class)r5commandZepsrGrrrrrss    zDistribution.get_command_classcCs>x2tjdD]$}|j|jkr |j}||j|j<q Wtj|S)Nzdistutils.commands)r=rr[rrrprint_commands)r5rGrrrrrs  zDistribution.print_commandscCs>x2tjdD]$}|j|jkr |j}||j|j<q Wtj|S)Nzdistutils.commands)r=rr[rrrget_command_list)r5rGrrrrrs  zDistribution.get_command_listcCst||j||dS)zSet feature's inclusion statusN)rr)r5r[ZstatusrrrrszDistribution._set_featurecCst||j|S)zAReturn 1 if feature is included, 0 if excluded, 'None' if unknown)r r)r5r[rrrrsz Distribution.feature_is_includedcCsF|j|dkr&|j|j}t|d|j|j||j|ddS)z)Request inclusion of feature named 'name'rz2 is required, but was excluded or is not availablerN)rrzrrrr)r5r[rrrrinclude_features   zDistribution.include_featurecKsDx>|jD]2\}}t|d|d}|r0||q |j||q WdS)aAdd items to distribution that are named in keyword arguments For example, 'dist.exclude(py_modules=["x"])' would add 'x' to the distribution's 'py_modules' attribute, if it was not already there. Currently, this method only supports inclusion for attributes that are lists or tuples. If you need to add support for adding to other attributes in this or a subclass, you can add an '_include_X' method, where 'X' is the name of the attribute. The method will be called with the value passed to 'include()'. So, 'dist.include(foo={"bar":"baz"})' will try to call 'dist._include_foo({"bar":"baz"})', which can then handle whatever special inclusion logic is needed. Z _include_N)r2r _include_misc)r5rvrlrmincluderrrrs  zDistribution.includecsfd|jr&fdd|jD|_|jrDfdd|jD|_|jrbfdd|jD|_dS)z9Remove packages, modules, and extensions in named packagerKcs$g|]}|kr|j r|qSr) startswith)rr)packagepfxrrrsz0Distribution.exclude_package..cs$g|]}|kr|j r|qSr)r)rr)rrrrrscs(g|] }|jkr|jj r|qSr)r[r)rr)rrrrrsN)packages py_modules ext_modules)r5rr)rrrexclude_packageszDistribution.exclude_packagecCs4|d}x&|jD]}||ks(|j|rdSqWdS)z.)rbsequencerr rDr)r5r[rFoldr)rFr _exclude_miscs  zDistribution._exclude_miscc st|tstd||fyt||Wn tk rHtd|YnXdkr`t|||n:ttsxt|dn"fdd|D}t|||dS)zAHandle 'include()' for list/tuple attrs without a special handlerz%s: setting must be a list (%r)z %s: No such distribution settingNz4: this setting cannot be changed via include/excludecsg|]}|kr|qSrr)rr)rrrrsz.Distribution._include_misc..)rbrrr rDr)r5r[rFrr)rrrs   zDistribution._include_misccKsDx>|jD]2\}}t|d|d}|r0||q |j||q WdS)aRemove items from distribution that are named in keyword arguments For example, 'dist.exclude(py_modules=["x"])' would remove 'x' from the distribution's 'py_modules' attribute. Excluding packages uses the 'exclude_package()' method, so all of the package's contained packages, modules, and extensions are also excluded. Currently, this method only supports exclusion from attributes that are lists or tuples. If you need to add support for excluding from other attributes in this or a subclass, you can add an '_exclude_X' method, where 'X' is the name of the attribute. The method will be called with the value passed to 'exclude()'. So, 'dist.exclude(foo={"bar":"baz"})' will try to call 'dist._exclude_foo({"bar":"baz"})', which can then handle whatever special exclusion logic is needed. Z _exclude_N)r2r r)r5rvrlrmexcluderrrrs  zDistribution.excludecCs,t|tstd|ftt|j|dS)Nz.packages: setting must be a list or tuple (%r))rbrrrSr r)r5rrrr_exclude_packagess  zDistribution._exclude_packagesc Cs|jj|_|jj|_|d}|jd}xB||krh||\}}||=ddl}|j|d|dd<|d}q(Wtj|||}|j|} t | ddrd|f|j|d<|dk rgS|S)NraliasesTrZcommand_consumes_argumentsz command liner) rrrrshlexrr_parse_command_optsrr ) r5parserrrrsrcaliasrnargsZ cmd_classrrrr s"        z Distribution._parse_command_optsc Csi}x|jjD]\}}x|jD]\}\}}|dkr8q"|jdd}|dkr|j|}|jj}|jt|dix<|jD]\} } | |kr|| }d}Pq|Wtdn |dkrd}||j |i|<q"WqW|S) ahReturn a '{cmd: {opt:val}}' map of all command-line options Option names are all long, but do not include the leading '--', and contain dashes rather than underscores. If the option doesn't take an argument (e.g. '--quiet'), the 'val' is 'None'. Note that options provided by config files are intentionally excluded. z command linerrrrNzShouldn't be able to get herer) rr2rZget_command_objrrrr rAr) r5drroptrvalZcmdobjZneg_optnegposrrrget_cmdline_options:s(     z Distribution.get_cmdline_optionsccsx|jp fD] }|Vq Wx|jp$fD] }|Vq&WxH|jp>fD]:}t|trX|\}}n|j}|jdrt|dd}|Vq@WdS)z@Yield all packages, modules, and extension names in distributionmoduleNi)rrrrbtupler[endswith)r5ZpkgrZextr[Z buildinforrrrbs      z$Distribution.iter_distribution_namescCsddl}tjs|jr tj||Sddl}t|j|j sBtj||S|jj j dkr^tj||S|jj }|jj }|j dkr|dp~d}|jj}|j |jjd||||_z tj||S|j |jj|||||_XdS)zIf there were any non-global "display-only" options (--help-commands or the metadata display options) on the command line, display the requested info and return true; else return false. rNutf-8utf8Zwin32 )r r )sysr r0Z help_commandsrhandle_display_optionsiorbstdout TextIOWrapperencodingrrerrorsr:line_bufferingdetach)r5Z option_orderr rrrnewlinerrrrr ts$     z#Distribution.handle_display_options)N)NF)*__name__ __module__ __qualname____doc__rcrdrrurxrrr staticmethodrrrrrrrrrrrrrrrrrrrrrLrrrrrrrr rrrrrsLB ;      (c@sPeZdZdZeddZdddfffddZdd Zd d Zd d Z ddZ dS)ra **deprecated** -- The `Feature` facility was never completely implemented or supported, `has reported issues `_ and will be removed in a future version. A subset of the distribution that can be excluded if unneeded/wanted Features are created using these keyword arguments: 'description' -- a short, human readable description of the feature, to be used in error messages, and option help messages. 'standard' -- if true, the feature is included by default if it is available on the current system. Otherwise, the feature is only included if requested via a command line '--with-X' option, or if another included feature requires it. The default setting is 'False'. 'available' -- if true, the feature is available for installation on the current system. The default setting is 'True'. 'optional' -- if true, the feature's inclusion can be controlled from the command line, using the '--with-X' or '--without-X' options. If false, the feature's inclusion status is determined automatically, based on 'availabile', 'standard', and whether any other feature requires it. The default setting is 'True'. 'require_features' -- a string or sequence of strings naming features that should also be included if this feature is included. Defaults to empty list. May also contain 'Require' objects that should be added/removed from the distribution. 'remove' -- a string or list of strings naming packages to be removed from the distribution if this feature is *not* included. If the feature *is* included, this argument is ignored. This argument exists to support removing features that "crosscut" a distribution, such as defining a 'tests' feature that removes all the 'tests' subpackages provided by other features. The default for this argument is an empty list. (Note: the named package(s) or modules must exist in the base distribution when the 'setup()' function is initially called.) other keywords -- any other keyword arguments are saved, and passed to the distribution's 'include()' and 'exclude()' methods when the feature is included or excluded, respectively. So, for example, you could pass 'packages=["a","b"]' to cause packages 'a' and 'b' to be added or removed from the distribution as appropriate. A feature must include at least one 'requires', 'remove', or other keyword argument. Otherwise, it can't affect the distribution in any way. Note also that you can subclass 'Feature' to create your own specialized feature types that modify the distribution in other ways when included or excluded. See the docstrings for the various methods here for more detail. Aside from the methods, the only feature attributes that distributions look at are 'description' and 'optional'. cCsd}tj|tdddS)NzrFeatures are deprecated and will be removed in a future version. See https://github.com/pypa/setuptools/issues/65.) stacklevel)rrr)msgrrrrszFeature.warn_deprecatedFTc Ks|j||_||_||_||_t|ttfr4|f}dd|D|_dd|D}|r^||d<t|trn|f}||_ ||_ | r| r| rt ddS)NcSsg|]}t|tr|qSr)rbrj)rrrrrrsz$Feature.__init__..cSsg|]}t|ts|qSr)rbrj)rrrrrrsr{zgFeature %s: must define 'require_features', 'remove', or at least one of 'packages', 'py_modules', etc.) rrstandard availablerrbrjrr{remover@r) r5rrrrr{r r@Zerrrrrs$ zFeature.__init__cCs |jo |jS)z+Should this feature be included by default?)rr)r5rrrrszFeature.include_by_defaultcCs@|jst|jd|jf|jx|jD]}|j|q*WdS)aEnsure feature and its requirements are included in distribution You may override this in a subclass to perform additional operations on the distribution. Note that this method may be called more than once per feature, and so should be idempotent. z3 is required, but is not available on this platformN)rrrrr@r{r)r5rErrrrrs   zFeature.include_incCs2|jf|j|jr.x|jD]}|j|qWdS)a2Ensure feature is excluded from distribution You may override this in a subclass to perform additional operations on the distribution. This method will be called at most once per feature, and only after all included features have been asked to include themselves. N)rr@r r)r5rErrrrrs  zFeature.exclude_fromcCs2x,|jD]"}|j|std|j||fqWdS)aVerify that feature makes sense in context of distribution This method is called by the distribution just before it parses its command line. It checks to ensure that the 'remove' attribute, if any, contains only valid package/module names that are present in the base distribution when 'setup()' is called. You may override it in a subclass to perform any other required validation of the feature against a target distribution. zg%s wants to be able to remove %s, but the distribution doesn't contain any packages or modules under %sN)r rLrr)r5rErrrrrs  zFeature.validateN) rrrrrrrrrrrrrrrrs7 r)>__all__rorrrZ distutils.logrNZdistutils.coreZ distutils.cmdZdistutils.distrT collectionsrZdistutils.errorsrrrZdistutils.utilrZdistutils.versionrZsetuptools.externr r Zsetuptools.extern.six.movesr r r Zsetuptools.dependsrZ setuptoolsrZsetuptools.monkeyrZsetuptools.configrr=Z py36compatr __import__rr#r<rrSrrHrJrRrWrVr`rerfrhrirnrqZcorerrrrrrrs`          G     PKge[py27compat.cpython-36.opt-1.pycnu[3 vh@sTdZddlZddlmZddZejr.ddZejdko>ejZerHendd Z dS) z2 Compatibility Support for Python 2.7 and earlier N)sixcCs |j|S)zH Given an HTTPMessage, return all headers matching a given key. )Zget_all)messagekeyr /usr/lib/python3.6/py27compat.pyget_all_headers srcCs |j|S)N)Z getheaders)rrrrrrsZLinuxcCs|S)Nr)xrrrsr ) __doc__platformZsetuptools.externrrZPY2systemZlinux_py2_asciistrZ rmtree_saferrrrs  PKge[Ȩ¼\\depends.cpython-36.pycnu[3 vh@sddlZddlZddlZddlmZddlmZmZmZmZddl m Z dddd gZ Gd ddZ dd dZ dd dZdd d ZddZedS)N) StrictVersion) PKG_DIRECTORY PY_COMPILED PY_SOURCE PY_FROZEN)BytecodeRequire find_moduleget_module_constantextract_constantc@sHeZdZdZdddZddZdd Zdd d Zdd dZdddZ dS)r z7A prerequisite to building or installing a distributionNcCsF|dkr|dk rt}|dk r0||}|dkr0d}|jjt|`dS)N __version__)r__dict__updatelocalsself)rnamerequested_versionmoduleZhomepage attributeformatr/usr/lib/python3.6/depends.py__init__szRequire.__init__cCs |jdk rd|j|jfS|jS)z0Return full package/distribution name, w/versionNz%s-%s)rr)rrrr full_name s zRequire.full_namecCs*|jdkp(|jdkp(t|dko(||jkS)z%Is 'version' sufficiently up-to-date?Nunknown)rrstrr)rversionrrr version_ok&szRequire.version_okrc Cs||jdkrBy"t|j|\}}}|r*|j|Stk r@dSXt|j|j||}|dk rx||k rx|jdk rx|j|S|S)aGet version number of installed module, 'None', or 'default' Search 'paths' for module. If not found, return 'None'. If found, return the extracted version attribute, or 'default' if no version attribute was specified, or the value cannot be determined without importing the module. The version is formatted according to the requirement's version format (if any), unless it is 'None' or the supplied 'default'. N)rr rclose ImportErrorr r)rpathsdefaultfpivrrr get_version+s  zRequire.get_versioncCs|j|dk S)z/Return true if dependency is present on 'paths'N)r()rr"rrr is_presentFszRequire.is_presentcCs |j|}|dkrdS|j|S)z>Return true if dependency is present and up-to-date on 'paths'NF)r(r)rr"rrrr is_currentJs zRequire.is_current)r NN)Nr)N)N) __name__ __module__ __qualname____doc__rrrr(r)r*rrrrr s   c Csl|jd}x\|rf|jd}tj||\}}\}}}} |tkrP|pFdg}|g}q |r td||fq W| S)z7Just like 'imp.find_module()', but with package support.rrzCan't find %r in %s)splitpopimpr rr!) rr"partspartr$pathsuffixmodekindinforrrr Rs   c Csyt||\}}\}}}Wntk r.dSXz|tkrP|jdtj|} n`|tkrdtj|} nL|t kr~t |j|d} n2|t j krtj ||||||ftt j ||dSWd|r|jXt| ||S)zFind 'module' by searching 'paths', and extract 'symbol' Return 'None' if 'module' does not exist on 'paths', or it does not define 'symbol'. If the module defines 'symbol' as a constant, return the constant. Otherwise, return 'default'.Nexec)r r!rreadmarshalloadrr2get_frozen_objectrcompilesysmodules load_modulegetattrr r ) rsymbolr#r"r$r5r6r7r8coderrrr es$     c Cs||jkrdSt|jj|}d}d}d}|}xPt|D]D}|j} |j} | |kr\|j| }q8| |krx| |kst| |krx|S|}q8WdS)aExtract the constant value of 'symbol' from 'code' If the name 'symbol' is bound to a constant value by the Python code object 'code', return that value. If 'symbol' is bound to an expression, return 'default'. Otherwise, return 'None'. Return value is based on the first assignment to 'symbol'. 'symbol' must be a global, or at least a non-"fast" local in the code block. That is, only 'STORE_NAME' and 'STORE_GLOBAL' opcodes are checked, and 'symbol' must be present in 'code.co_names'. NZad)co_nameslistindexrZopcodearg co_consts) rFrEr#Zname_idxZ STORE_NAMEZ STORE_GLOBALZ LOAD_CONSTconstZ byte_codeoprMrrrr s  cCsDtjjd rtjdkrdSd}x|D]}t|=tj|q&WdS)z Patch the globals to remove the objects not available on some platforms. XXX it'd be better to test assertions about bytecode instead. javaZcliNr r )r r )rAplatform startswithglobals__all__remove)Z incompatiblerrrr_update_globalss  rW)N)rXNrX)rX)rAr2r=Zdistutils.versionrrrrrZ py33compatrrUr r r r rWrrrrs   C  " $PKge[2vvbuild_meta.cpython-36.opt-1.pycnu[3 vh'@sdZddlZddlZddlZddlZddlZddlZddlZGdddeZ Gdddej j Z ddd Z d d Z d d ZddZdddZdddZdddZdddZdddZdS) a-A PEP 517 interface to setuptools Previously, when a user or a command line tool (let's call it a "frontend") needed to make a request of setuptools to take a certain action, for example, generating a list of installation requirements, the frontend would would call "setup.py egg_info" or "setup.py bdist_wheel" on the command line. PEP 517 defines a different method of interfacing with setuptools. Rather than calling "setup.py" directly, the frontend should: 1. Set the current directory to the directory with a setup.py file 2. Import this module into a safe python interpreter (one in which setuptools can potentially set global variables or crash hard). 3. Call one of the functions defined in PEP 517. What each function does is defined in PEP 517. However, here is a "casual" definition of the functions (this definition should not be relied on for bug reports or API stability): - `build_wheel`: build a wheel in the folder and return the basename - `get_requires_for_build_wheel`: get the `setup_requires` to build - `prepare_metadata_for_build_wheel`: get the `install_requires` - `build_sdist`: build an sdist in the folder and return the basename - `get_requires_for_build_sdist`: get the `setup_requires` to build Again, this is not a formal definition! Just a "taste" of the module. Nc@seZdZddZdS)SetupRequirementsErrorcCs ||_dS)N) specifiers)selfrr /usr/lib/python3.6/build_meta.py__init__(szSetupRequirementsError.__init__N)__name__ __module__ __qualname__rrrrrr'src@s&eZdZddZeejddZdS) DistributioncCs t|dS)N)r)rrrrrfetch_build_eggs-szDistribution.fetch_build_eggsc cs*tjj}|tj_z dVWd|tj_XdS)zw Replace distutils.dist.Distribution with this class for the duration of this context. N) distutilsZcorer )clsZorigrrrpatch0s  zDistribution.patchN)rr r r classmethod contextlibcontextmanagerrrrrrr ,sr setup.pycCsH|}d}ttdt|}|jjdd}|jtt||dtdS)N__main__openz\r\nz\nexec) getattrtokenizerreadreplaceclosercompilelocals)Z setup_script__file__rfcoderrr _run_setup@s r!cCs|pi}|jdg|S)Nz--global-option) setdefault)config_settingsrrr _fix_configKs r$cCs~t|}ddg}tjdddg|dt_ytj tWdQRXWn,tk rx}z||j7}WYdd}~XnX|S)N setuptoolsZwheelZegg_infoz--global-option)r$sysargvr rr!rr)r#Z requirementserrr_get_build_requiresQs  r*csfddtjDS)Ncs&g|]}tjjtjj|r|qSr)ospathisdirjoin).0name)a_dirrr asz1_get_immediate_subdirectories..)r+listdir)r1r)r1r_get_immediate_subdirectories`sr4cCst|}t|S)N)r$r*)r#rrrget_requires_for_build_wheelesr5cCst|}t|S)N)r$r*)r#rrrget_requires_for_build_sdistjsr6cCstjdddd|gt_t|}xPddtj|D}t|dkrptt|dkrptjj|tj|d}q&Pq&W||krt j tjj||d|t j |dd|dS) Nr&Z dist_infoz --egg-basecSsg|]}|jdr|qS)z .dist-info)endswith)r/rrrrr2usz4prepare_metadata_for_build_wheel..rT) ignore_errors) r'r(r!r+r3lenr4r,r.shutilZmovermtree)metadata_directoryr#Zdist_info_directoryZ dist_infosrrr prepare_metadata_for_build_wheelos" r=cCsrt|}tjj|}tjdddg|dt_t|dkrVtj|tj d|ddtj |D}|dS)Nr&Z bdist_wheelz--global-optiondistcSsg|]}|jdr|qS)z.whl)r7)r/rrrrr2szbuild_wheel..r) r$r+r,abspathr'r(r!r:r;copytreer3)Zwheel_directoryr#r<Zwheelsrrr build_wheels    rAcCsrt|}tjj|}tjdddg|dt_t|dkrVtj|tj d|ddtj |D}|dS)Nr&Zsdistz--global-optionr>cSsg|]}|jdr|qS)z.tar.gz)r7)r/rrrrr2szbuild_sdist..r) r$r+r,r?r'r(r!r:r;r@r3)Zsdist_directoryr#Zsdistsrrr build_sdists    rB)r)N)N)N)NN)N)__doc__r+r'rr:rr%r BaseExceptionrr>r r!r$r*r4r5r6r=rArBrrrrs&     PKge[Ȩ¼\\depends.cpython-36.opt-1.pycnu[3 vh@sddlZddlZddlZddlmZddlmZmZmZmZddl m Z dddd gZ Gd ddZ dd dZ dd dZdd d ZddZedS)N) StrictVersion) PKG_DIRECTORY PY_COMPILED PY_SOURCE PY_FROZEN)BytecodeRequire find_moduleget_module_constantextract_constantc@sHeZdZdZdddZddZdd Zdd d Zdd dZdddZ dS)r z7A prerequisite to building or installing a distributionNcCsF|dkr|dk rt}|dk r0||}|dkr0d}|jjt|`dS)N __version__)r__dict__updatelocalsself)rnamerequested_versionmoduleZhomepage attributeformatr/usr/lib/python3.6/depends.py__init__szRequire.__init__cCs |jdk rd|j|jfS|jS)z0Return full package/distribution name, w/versionNz%s-%s)rr)rrrr full_name s zRequire.full_namecCs*|jdkp(|jdkp(t|dko(||jkS)z%Is 'version' sufficiently up-to-date?Nunknown)rrstrr)rversionrrr version_ok&szRequire.version_okrc Cs||jdkrBy"t|j|\}}}|r*|j|Stk r@dSXt|j|j||}|dk rx||k rx|jdk rx|j|S|S)aGet version number of installed module, 'None', or 'default' Search 'paths' for module. If not found, return 'None'. If found, return the extracted version attribute, or 'default' if no version attribute was specified, or the value cannot be determined without importing the module. The version is formatted according to the requirement's version format (if any), unless it is 'None' or the supplied 'default'. N)rr rclose ImportErrorr r)rpathsdefaultfpivrrr get_version+s  zRequire.get_versioncCs|j|dk S)z/Return true if dependency is present on 'paths'N)r()rr"rrr is_presentFszRequire.is_presentcCs |j|}|dkrdS|j|S)z>Return true if dependency is present and up-to-date on 'paths'NF)r(r)rr"rrrr is_currentJs zRequire.is_current)r NN)Nr)N)N) __name__ __module__ __qualname____doc__rrrr(r)r*rrrrr s   c Csl|jd}x\|rf|jd}tj||\}}\}}}} |tkrP|pFdg}|g}q |r td||fq W| S)z7Just like 'imp.find_module()', but with package support.rrzCan't find %r in %s)splitpopimpr rr!) rr"partspartr$pathsuffixmodekindinforrrr Rs   c Csyt||\}}\}}}Wntk r.dSXz|tkrP|jdtj|} n`|tkrdtj|} nL|t kr~t |j|d} n2|t j krtj ||||||ftt j ||dSWd|r|jXt| ||S)zFind 'module' by searching 'paths', and extract 'symbol' Return 'None' if 'module' does not exist on 'paths', or it does not define 'symbol'. If the module defines 'symbol' as a constant, return the constant. Otherwise, return 'default'.Nexec)r r!rreadmarshalloadrr2get_frozen_objectrcompilesysmodules load_modulegetattrr r ) rsymbolr#r"r$r5r6r7r8coderrrr es$     c Cs||jkrdSt|jj|}d}d}d}|}xPt|D]D}|j} |j} | |kr\|j| }q8| |krx| |kst| |krx|S|}q8WdS)aExtract the constant value of 'symbol' from 'code' If the name 'symbol' is bound to a constant value by the Python code object 'code', return that value. If 'symbol' is bound to an expression, return 'default'. Otherwise, return 'None'. Return value is based on the first assignment to 'symbol'. 'symbol' must be a global, or at least a non-"fast" local in the code block. That is, only 'STORE_NAME' and 'STORE_GLOBAL' opcodes are checked, and 'symbol' must be present in 'code.co_names'. NZad)co_nameslistindexrZopcodearg co_consts) rFrEr#Zname_idxZ STORE_NAMEZ STORE_GLOBALZ LOAD_CONSTconstZ byte_codeoprMrrrr s  cCsDtjjd rtjdkrdSd}x|D]}t|=tj|q&WdS)z Patch the globals to remove the objects not available on some platforms. XXX it'd be better to test assertions about bytecode instead. javaZcliNr r )r r )rAplatform startswithglobals__all__remove)Z incompatiblerrrr_update_globalss  rW)N)rXNrX)rX)rAr2r=Zdistutils.versionrrrrrZ py33compatrrUr r r r rWrrrrs   C  " $PKge[θ:f66py33compat.cpython-36.opt-1.pycnu[3 vh @sddlZddlZddlZy ddlZWnek r<dZYnXddlmZddlmZej ddZ Gddde Z e ede Ze ed ejjZdS) N)six) html_parserOpArgz opcode argc@seZdZddZddZdS)Bytecode_compatcCs ||_dS)N)code)selfrr /usr/lib/python3.6/py33compat.py__init__szBytecode_compat.__init__ccstjd|jj}t|jj}d}d}x||kr||}|tjkr||d||dd|}|d7}|tjkrtjd }||d}q&n d}|d7}t ||Vq&WdS) z>Yield '(op,arg)' pair for each operation in code object 'code'briN) arrayrco_codelendisZ HAVE_ARGUMENTZ EXTENDED_ARGrZ integer_typesr)rbyteseofZptrZ extended_argopargZ long_typerrr __iter__s        zBytecode_compat.__iter__N)__name__ __module__ __qualname__r rrrrr rsrBytecodeunescape)rr collectionsZhtml ImportErrorZsetuptools.externrZsetuptools.extern.six.movesr namedtuplerobjectrgetattrrZ HTMLParserrrrrr s     " PKge[7namespaces.cpython-36.opt-1.pycnu[3 vh @sRddlZddlmZddlZddlmZejjZGdddZ Gddde Z dS)N)log)mapc @sTeZdZdZddZddZddZdZdZddZ ddZ ddZ e ddZ dS) Installerz -nspkg.pthc Cs|j}|sdStjj|j\}}||j7}|jj|tj d|t |j |}|j rdt |dSt|d}|j|WdQRXdS)Nz Installing %sZwt)_get_all_ns_packagesospathsplitext _get_target nspkg_extZoutputsappendrinfor_gen_nspkg_lineZdry_runlistopen writelines)selfZnspfilenameextlinesfr /usr/lib/python3.6/namespaces.pyinstall_namespacess     zInstaller.install_namespacescCsHtjj|j\}}||j7}tjj|s.dStjd|tj|dS)Nz Removing %s) rrrr r existsrr remove)rrrrrruninstall_namespaces!s    zInstaller.uninstall_namespacescCs|jS)N)target)rrrrr )szInstaller._get_targetimport sys, types, os#has_mfs = sys.version_info > (3, 5)$p = os.path.join(%(root)s, *%(pth)r)4importlib = has_mfs and __import__('importlib.util')-has_mfs and __import__('importlib.machinery')m = has_mfs and sys.modules.setdefault(%(pkg)r, importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec(%(pkg)r, [os.path.dirname(p)])))Cm = m or sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))7mp = (m or []) and m.__dict__.setdefault('__path__',[])(p not in mp) and mp.append(p)4m and setattr(sys.modules[%(parent)r], %(child)r, m)cCsdS)Nz$sys._getframe(1).f_locals['sitedir']r)rrrr _get_rootCszInstaller._get_rootcCsVt|}t|jd}|j}|j}|jd\}}}|rB||j7}dj|tdS)N.; ) strtuplesplitr' _nspkg_tmpl rpartition_nspkg_tmpl_multijoinlocals)rpkgZpthrootZ tmpl_linesparentsepZchildrrrr Fs zInstaller._gen_nspkg_linecCs |jjp g}ttt|j|S)z,Return sorted list of all package namespaces)Z distributionZnamespace_packagessortedflattenr _pkg_names)rZpkgsrrrrQs zInstaller._get_all_ns_packagesccs,|jd}x|r&dj|V|jq WdS)z Given a namespace package, yield the components of that package. >>> names = Installer._pkg_names('a.b.c') >>> set(names) == set(['a', 'a.b', 'a.b.c']) True r(N)r-r1pop)r3partsrrrr9Vs  zInstaller._pkg_namesN) rrrr r!r"r#r$r%)r&)__name__ __module__ __qualname__r rrr r.r0r'r r staticmethodr9rrrrr s$ rc@seZdZddZddZdS)DevelopInstallercCstt|jS)N)reprr+Zegg_path)rrrrr'gszDevelopInstaller._get_rootcCs|jS)N)Zegg_link)rrrrr jszDevelopInstaller._get_targetN)r<r=r>r'r rrrrr@fsr@) rZ distutilsr itertoolsZsetuptools.extern.six.movesrchain from_iterabler8rr@rrrrs   [PKge[e@pppy31compat.cpython-36.pycnu[3 vhX@srddlZddlZddlZd ddZejd kp^d ejko@dknp^dejkoZdknZerhenejZdS)NFcCsJytj|Wn6tk rD}z| s2|jtjkr4WYdd}~XnXdS)N)osmakedirsOSErrorerrnoZEEXIST)pathexist_okexcr /usr/lib/python3.6/py31compat.py _makedirs_31s r )F)r r r)r r )r r r)r r)r rr)rrsysr version_infoZneeds_makedirsrr r r r s PKge[h~}}"package_index.cpython-36.opt-1.pycnu[3 vh@sdZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z ddlmZmZmZmZddlZddlmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!ddlm"Z"ddl#m$Z$dd l%m&Z&dd l'm(Z(dd l)m*Z*dd l+m,Z,dd l-m.Z.ej/dZ0ej/dej1Z2ej/dZ3ej/dej1j4Z5dj6Z7ddddgZ8dZ9dZ:e:j;ejddZ?ddZ@dEd dZAdFd!d"ZBdGd#d$ZCdedfd%dZDdHd&d'ZEd(d)ZFej/d*ej1ZGeFd+d,ZHGd-d.d.eIZJGd/d0d0eJZKGd1ddeZLej/d2jMZNd3d4ZOd5d6ZPdId7d8ZQd9d:ZRGd;d<dd>ejTZUejVjWfd?d@ZXeQe9eXZXdAdBZYdCdDZZdS)Jz#PyPI and direct package downloadingN)wraps)six)urllib http_client configparsermap) CHECKOUT_DIST Distribution BINARY_DISTnormalize_path SOURCE_DIST Environmentfind_distributions safe_name safe_version to_filename Requirement DEVELOP_DISTEGG_DIST) ssl_support)log)DistutilsError) translate)get_all_headers)unescape)Wheelz^egg=([-A-Za-z0-9_.+!]+)$zhref\s*=\s*['"]?([^'"> ]+)z([^<]+) \s+\(md5\)z([-+.a-z0-9]{2,}):z.tar.gz .tar.bz2 .tar .zip .tgz PackageIndexdistros_for_urlparse_bdist_wininstinterpret_distro_namezsz(interpret_distro_name..r9Nr7) py_versionrHrV)r?anyrangerTr join)rPrUrMr^rHrVrAr\r&r&r'rs  $ccsnt}|j}|dkr>xTtjj|j|D]}|||Vq&Wn,x*|D]"}||}||krD|||VqDWdS)zHList unique elements, preserving order. Remember all elements ever seen.N)setaddrZmoves filterfalse __contains__)iterablekeyseenZseen_addelementkr&r&r'unique_everseens  rkcstfdd}|S)zs Wrap a function returning an iterable such that the resulting iterable only ever yields unique items. cst||S)N)rk)argskwargs)funcr&r'wrapperszunique_values..wrapper)r)rnror&)rnr' unique_valuessrpz3<([^>]*\srel\s{0,10}=\s{0,10}['"]?([^'" >]+)[^>]*)>ccsxvtj|D]h}|j\}}tttj|jjd}d|ksFd|kr x,t j|D]}t j j |t |jdVqRWq WxHdD]@}|j|}|d kr~t j||}|r~t j j |t |jdVq~WdS) zEFind rel="homepage" and rel="download" links in `page`, yielding URLs,Zhomepager8r7 Home PageDownload URLN)rrrsr;)RELfinditergroupsrbrstrstripr0r?HREFrr#urljoin htmldecoderLfindsearch)r@pagerKtagZrelZrelsposr&r&r'find_external_linkss "   rc@s(eZdZdZddZddZddZdS) ContentCheckerzP A null content checker that defines the interface for checking content cCsdS)z3 Feed a block of data to the hash. Nr&)selfblockr&r&r'feedszContentChecker.feedcCsdS)zC Check the hash. Return False if validation fails. Tr&)rr&r&r'is_validszContentChecker.is_validcCsdS)zu Call reporter with information about the checker (hash name) substituted into the template. Nr&)rreportertemplater&r&r'reportszContentChecker.reportN)__name__ __module__ __qualname____doc__rrrr&r&r&r'rsrc@sBeZdZejdZddZeddZddZ dd Z d d Z d S) HashCheckerzK(?Psha1|sha224|sha384|sha256|sha512|md5)=(?P[a-f0-9]+)cCs||_tj||_||_dS)N) hash_namehashlibnewhashexpected)rrrr&r&r'__init__s zHashChecker.__init__cCs>tjj|d}|stS|jj|}|s0tS|f|jS)z5Construct a (possibly null) ContentChecker from a URLr7r;)rr#r=rpatternr} groupdict)clsr@rFrKr&r&r'from_urls zHashChecker.from_urlcCs|jj|dS)N)rupdate)rrr&r&r'rszHashChecker.feedcCs|jj|jkS)N)rZ hexdigestr)rr&r&r'r!szHashChecker.is_validcCs||j}||S)N)r)rrrmsgr&r&r'r$s zHashChecker.reportN) rrrrZcompilerr classmethodrrrrr&r&r&r'rs rcs<eZdZdZdKddZdLd d ZdMd d ZdNd dZddZddZ ddZ ddZ dOddZ ddZ dPfdd ZddZdd Zd!d"Zd#d$Zd%d&ZdQd'd(ZdRd)d*Zd+d,Zd-Zd.d/Zd0d1ZdSd2d3Zd4d5Zd6d7Zd8d9Zd:d;Zdd?Z!d@dAZ"dBdCZ#dDdEZ$dFdGZ%dHdIZ&Z'S)Urz;A distribution index that scans web pages for download URLshttps://pypi.org/simple/*NTcOstj|f|||dd|jd |_i|_i|_i|_tjdj t t |j |_ g|_|ortjor|prtj}|rtj||_n tjj|_dS)Nr6|)r rr1 index_url scanned_urls fetched_urls package_pagesrZrrarrrKallowsto_scanrZ is_availableZfind_ca_bundleZ opener_foropenerrrequesturlopen)rrZhostsZ ca_bundleZ verify_sslrlkwZuse_sslr&r&r'r,s zPackageIndex.__init__Fc Cs||jkr| rdSd|j|<t|s4|j|dStt|}|r^|j|sRdS|jd||sr| sr||jkrtt|j |dS|j|sd|j|<dS|j d|d|j|<d}|j |||}|dkrdSd|j|j <d|j jddjkr|jdS|j }|j}t|tsRt|tjjr4d }n|j jd pDd }|j|d }|jx6tj|D](} tjj|t| jd } |j| qfW|j |j!rt"|d ddkr|j#||}dS)z.)filterrWrDrr itertoolsstarmap scan_egg_link)rZ search_pathdirsZ egg_linksr&r&r'scan_egg_linksszPackageIndex.scan_egg_linksc Csttjj||}ttdttj|}WdQRXt |dkrDdS|\}}x>t tjj||D](}tjj|f||_ t |_ |j|q`WdS)Nr9)openrWrDrarrrrwrxrTrrPr rHrc)rrDrZ raw_lineslinesZegg_pathZ setup_pathrNr&r&r'rs  zPackageIndex.scan_egg_linkc sfdd}xHtj|D]:}y |tjj|t|jdWqtk rPYqXqW||\}}|rxXt||D]J}t |\}} |j dr| r|r|d||f7}n j |j |qrWt jdd|SdSd S) z#Process the contents of a PyPI pagecs|jjrtttjj|tjdjd}t|dkrd|dkrt |d}t |d}dj j |j i|<t|t|fSdS)Nr6r9r:r7rT)NN)r2rrrrr#r>rTr?rrr setdefaultr0r)rrApkgver)rr&r'scans "  z(PackageIndex.process_index..scanr7z.pyz #egg=%s-%scSsd|jdddS)Nz%sr7r!r9)rL)mr&r&r'sz,PackageIndex.process_index..rN)ryrurr#rzr{rLr$rrGr1need_version_infoscan_urlPYPI_MD5sub) rr@r~rrKrrnew_urlr4fragr&)rr'rs$       zPackageIndex.process_indexcCs|jd|dS)NzPPage at %s links to .py file(s) without version info; an index scan is required.)scan_all)rr@r&r&r'rszPackageIndex.need_version_infocGs:|j|jkr*|r |j|f||jd|j|jdS)Nz6Scanning index of all packages (this may take a while))rrrrr)rrrlr&r&r'rs  zPackageIndex.scan_allcCs~|j|j|jd|jj|js:|j|j|jd|jj|jsR|j|x&t|jj|jfD]}|j|qhWdS)Nr6) rr unsafe_namerrrgrQnot_found_in_indexr)r requirementr@r&r&r' find_packagess zPackageIndex.find_packagescsR|j|j|x,||jD]}||kr.|S|jd||qWtt|j||S)Nz%s does not match %s)prescanrrgrsuperrobtain)rrZ installerrN) __class__r&r'rs zPackageIndex.obtaincCsL|j|jd||jsH|jtj|td|jjtj j |fdS)z- checker is a ContentChecker zValidating %%s checksum for %sz7%s validation failed for %s; possible download problem?N) rrrrrWunlinkrrr3rDrU)rcheckerrXtfpr&r&r' check_hashs  zPackageIndex.check_hashcCsTxN|D]F}|jdks4t| s4|jds4tt|r@|j|q|jj|qWdS)z;Add `urls` to the list that will be prescanned for searchesNzfile:)rrr2rrrappend)rZurlsr@r&r&r'add_find_links s      zPackageIndex.add_find_linkscCs"|jrtt|j|jd|_dS)z7Scan urls scheduled for prescanning (e.g. --find-links)N)rrrr)rr&r&r'rszPackageIndex.prescancCs<||jr|jd}}n |jd}}|||j|jdS)Nz#Couldn't retrieve index page for %rz3Couldn't find index page for %r (maybe misspelled?))rgrrrr)rrmethrr&r&r'r"s   zPackageIndex.not_found_in_indexcCs~t|tsjt|}|rR|j|jd||}t|\}}|jdrN|j|||}|Stj j |rb|St |}t |j ||ddS)aLocate and/or download `spec` to `tmpdir`, returning a local path `spec` may be a ``Requirement`` object, or a string containing a URL, an existing local filename, or a project/version requirement spec (i.e. the string form of a ``Requirement`` object). If it is the URL of a .py file with an unambiguous ``#egg=name-version`` tag (i.e., one that escapes ``-`` as ``_`` throughout), a trivial ``setup.py`` is automatically created alongside the downloaded file. If `spec` is a ``Requirement`` object or a string containing a project/version requirement spec, this method returns the location of a matching distribution (possibly after downloading it to `tmpdir`). If `spec` is a locally existing file or directory name, it is simply returned unchanged. If `spec` is a URL, it is downloaded to a subpath of `tmpdir`, and the local filename is returned. Various errors may be raised if a problem occurs during downloading. r7z.pyrPN)rrr _download_urlrLrGr1 gen_setuprWrDrr(rfetch_distribution)rr%tmpdirrBfoundr4rFr&r&r'r8,s    zPackageIndex.downloadc sjd|id}d fdd }|rHjj|||}| r`|dk r`|||}|dkrjdk rzj||}|dkr| rj|||}|dkrˆjdrdpd|njd||j|jd SdS) a|Obtain a distribution suitable for fulfilling `requirement` `requirement` must be a ``pkg_resources.Requirement`` instance. If necessary, or if the `force_scan` flag is set, the requirement is searched for in the (online) package index as well as the locally installed packages. If a distribution matching `requirement` is found, the returned distribution's ``location`` is the value you would have gotten from calling the ``download()`` method with the matching distribution's URL or filename. If no matching distribution is found, ``None`` is returned. If the `source` flag is set, only source distributions and source checkout links will be considered. Unless the `develop_ok` flag is set, development and system eggs (i.e., those using the ``.egg-info`` format) will be ignored. zSearching for %sNcs|dkr }x||jD]t}|jtkrJ rJ|krjd|d|<q||ko`|jtkp` }|rj|j}||_tj j |jr|SqWdS)Nz&Skipping development or system egg: %sr7) rgrHrrr r8rPdownload_locationrWrDr)ZreqenvrNZtestloc) develop_okrskippedsourcerr&r'r|fs z-PackageIndex.fetch_distribution..findz:No local packages or working download links found for %s%sza source distribution of rzBest match: %s)rP)N)rrrrrcloner) rrr force_scanrrZ local_indexrNr|r&)rrrrrr'rNs0       zPackageIndex.fetch_distributioncCs"|j||||}|dk r|jSdS)a3Obtain a file suitable for fulfilling `requirement` DEPRECATED; use the ``fetch_distribution()`` method now instead. For backward compatibility, this routine is identical but returns the ``location`` of the downloaded distribution instead of a distribution object. N)rrP)rrrrrrNr&r&r'fetchszPackageIndex.fetchc Cstj|}|r*ddt||jddDp,g}t|dkrtjj|}tjj||krtjj ||}ddl m }|||st j |||}ttjj |dd2} | jd|dj|djtjj|dfWdQRX|S|rtd ||fntd dS) NcSsg|]}|jr|qSr&)rR)r[dr&r&r' sz*PackageIndex.gen_setup..r7r)samefilezsetup.pywzIfrom setuptools import setup setup(name=%r, version=%r, py_modules=[%r]) zCan't unambiguously interpret project/version identifier %r; any dashes in the name or version should be escaped using underscores. %rzpCan't process plain .py files without an '#egg=name-version' suffix to enable automatic setup script generation.)rJrKrrLrTrWrDrUdirnameraZsetuptools.command.easy_installrshutilZcopy2rwriterQrRsplitextr) rrXrFrrKrrUdstrrr&r&r'rs2       zPackageIndex.gen_setupi c Cs|jd|d}ztj|}|j|}t|tjjrJtd||j |j f|j}d}|j }d}d|krt |d} t tt| }|j|||||t|dZ} xD|j|} | r|j| | j| |d7}|j|||||qPqW|j||| WdQRX|S|r|jXdS) NzDownloading %szCan't download %s: %s %srr7zcontent-lengthzContent-Lengthwbr;)rrrrrrrrrrr dl_blocksizermaxrint reporthookrrrr rr) rr@rXfprrblocknumZbssizeZsizesrrr&r&r' _download_tos:        zPackageIndex._download_tocCsdS)Nr&)rr@rXrZblksizerr&r&r'rszPackageIndex.reporthookcCs|jdrt|Sy t||jSttjfk r}z>djdd|jD}|r^|j ||nt d||fWYdd}~Xnt j j k r}z|Sd}~Xnt j jk r}z,|r|j ||jnt d||jfWYdd}~Xntjk r8}z.|r|j ||jnt d||jfWYdd}~XnPtjtj fk r}z*|rf|j ||nt d||fWYdd}~XnXdS)Nzfile: cSsg|] }t|qSr&)rw)r[argr&r&r'rsz)PackageIndex.open_url..z%s %szDownload error for %s: %sz;%s returned a bad status line. The server might be down, %s)r2 local_openopen_with_authrr$r InvalidURLrarlrrrrrZURLErrorreasonZ BadStatusLinelineZ HTTPExceptionsocket)rr@Zwarningvrr&r&r'rs6  "zPackageIndex.open_urlcCst|\}}|r4x&d|kr0|jddjdd}qWnd}|jdrN|dd}tjj||}|jt|sztdj |d |d ks|jd r|j ||S|d ks|jd r|j ||S|jdr|j ||S|dkrt jjt jj|dS|j|d|j||SdS)Nz...\_Z__downloaded__z.egg.zipr,zInvalid filename {filename})rXsvnzsvn+gitzgit+zhg+rr9Tr/)rGreplacer1rWrDrar2rwr$format _download_svn _download_git _download_hgrr url2pathnamer#r=r_attempt_download)rrBr@rr3rFrXr&r&r'rs(         zPackageIndex._download_urlcCs|j|ddS)NT)r)rr@r&r&r'r=szPackageIndex.scan_urlcCs6|j||}d|jddjkr.|j|||S|SdS)Nrz content-typer)rrr0_download_html)rr@rXrr&r&r'r)@s zPackageIndex._attempt_downloadcCslt|}x@|D]8}|jrtjd|rD|jtj||j||SPqW|jtj|td|dS)Nz ([^- ]+ - )?Revision \d+:zUnexpected HTML page found at ) r���rx���rZ���r}���r���rW���r���r%��r���)r���r@���r���rX���r���r��r&���r&���r'���r*��G��s����     zPackageIndex._download_htmlc�������������C���s��|j�ddd�}g�}|j�jdrd|krtjj|\}}}}}} | �r|jdrd|dd��kr|dd��j�dd\}}tjj|\} } | rd | kr| j�d d\} } d | �d | �g}n d | �g}| }|||||| f}tjj|}|�jd ||�t j d dg|�d||g��|S�)Nr:���r7���r���zsvn:@z//r6���r9���:z --username=z --password=z'Doing subversion checkout from %s to %sr!��checkoutz-q) r?���r0���r2���r���r#���r=��� splituser urlunparser��� subprocess check_call)r���r@���rX���ZcredsrB���netlocrD���r\���qr���authhostuserZpwrA���r&���r&���r'���r%��V��s$����   zPackageIndex._download_svnc�������������C���sp���t�jj|�\}}}}}|jddd�}|jddd�}d�}d|krR|jdd\}}t�jj||||df}�|�|fS�)N+r7���r:���r���r+��r���r;���)r���r#���Zurlsplitr?���rsplitZ urlunsplit)r@��� pop_prefixrB���r2��rD���rE���r���revr&���r&���r'���_vcs_split_rev_from_urlk��s����z$PackageIndex._vcs_split_rev_from_urlc�������������C���sr���|j�ddd�}|�j|dd\}}|�jd||�tjddd ||g�|d�k rn|�jd |�tjdd |d d |g�|S�) Nr:���r7���r���T)r9��zDoing git clone from %s to %sr"��r���z--quietzChecking out %sz-Cr-��)r?���r;��r���r0��r1��)r���r@���rX���r:��r&���r&���r'���r&��}��s���� zPackageIndex._download_gitc���������� ���C���sv���|j�ddd�}|�j|dd\}}|�jd||�tjddd ||g�|d�k rr|�jd |�tjdd |d d d|dg�|S�)Nr:���r7���r���T)r9��zDoing hg clone from %s to %sZhgr���z--quietzUpdating to %sz--cwdZupz-Cz-rz-q)r?���r;��r���r0��r1��)r���r@���rX���r:��r&���r&���r'���r'����s���� zPackageIndex._download_hgc�������������G���s���t�j|f|��d�S�)N)r���r���)r���r���rl���r&���r&���r'���r�����s����zPackageIndex.debugc�������������G���s���t�j|f|��d�S�)N)r���r���)r���r���rl���r&���r&���r'���r�����s����zPackageIndex.infoc�������������G���s���t�j|f|��d�S�)N)r���r���)r���r���rl���r&���r&���r'���r�����s����zPackageIndex.warnr���)r���r<��NT)F)F)F)N)N)FFFN)FF)N)F)(r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r8���r���r��r���r ��r��r��r���r���r���r)��r*��r%�� staticmethodr;��r&��r'��r���r���r��� __classcell__r&���r&���)r���r'���r���)��sL����  3   +   #� J )$ #!   z!&(#(\d+|x[\da-fA-F]+)|[\w.:-]+);?c�������������C���s���|�j�d}t|S�)Nr7���)rL���r���)rK���Zwhatr&���r&���r'��� decode_entity��s���� r?��c�������������C���s ���t�t|�S�)z'Decode HTML entities in the given text.) entity_subr?��)textr&���r&���r'���r{�����s����r{���c����������������s����fdd}|S�)Nc����������������s����fdd}|S�)Nc����������� ������s.���t�j�}t�j�z �|�|S�t�j|�X�d�S�)N)r��ZgetdefaulttimeoutZsetdefaulttimeout)rl���rm���Z old_timeout)rn���timeoutr&���r'���_socket_timeout��s ����  z@socket_timeout.<locals>._socket_timeout.<locals>._socket_timeoutr&���)rn���rC��)rB��)rn���r'���rC����s����z'socket_timeout.<locals>._socket_timeoutr&���)rB��rC��r&���)rB��r'���socket_timeout��s���� rD��c�������������C���s2���t�jj|�}|j�}tj|}|j�}|jddS�)aq�� A function compatible with Python 2.3-3.3 that will encode auth from a URL suitable for an HTTP header. >>> str(_encode_auth('username%3Apassword')) 'dXNlcm5hbWU6cGFzc3dvcmQ=' Long auth strings should not cause a newline to be inserted. >>> long_auth = 'username:' + 'password'*10 >>> chr(10) in str(_encode_auth(long_auth)) False  r���)r���r#���r>���encodebase64Z encodestringr���r#��)r4��Zauth_sZ auth_bytesZ encoded_bytesZencodedr&���r&���r'��� _encode_auth��s ����  rH��c���������������@���s(���e�Zd�ZdZdd�Zdd�Zdd�ZdS�) Credentialz: A username/password pair. Use like a namedtuple. c�������������C���s���||�_�||�_d�S�)N)usernamepassword)r���rJ��rK��r&���r&���r'���r�����s����zCredential.__init__c�������������c���s���|�j�V��|�jV��d�S�)N)rJ��rK��)r���r&���r&���r'���__iter__��s����zCredential.__iter__c�������������C���s ���dt�|��S�)Nz%(username)s:%(password)s)vars)r���r&���r&���r'���__str__��s����zCredential.__str__N)r���r���r���r���r���rL��rN��r&���r&���r&���r'���rI����s���rI��c���������������@���s0���e�Zd�Zdd�Zedd�Zdd�Zdd�Zd S�) PyPIConfigc�������������C���sP���t�jdddgd}tjj|�|�tjjtjjdd}tjj |rL|�j |�dS�)z% Load from ~/.pypirc rJ��rK�� repositoryr���~z.pypircN) dictfromkeysr���RawConfigParserr���rW���rD���ra��� expanduserr���r���)r���ZdefaultsZrcr&���r&���r'���r�����s ���� zPyPIConfig.__init__c����������������s&����fdd�j��D�}tt�j|S�)Nc����������������s ���g�|�]}�j�|d�j�r|qS�)rP��)r���rx���)r[���section)r���r&���r'���r����s����z2PyPIConfig.creds_by_repository.<locals>.<listcomp>)ZsectionsrR��r���_get_repo_cred)r���Zsections_with_repositoriesr&���)r���r'���creds_by_repository��s����zPyPIConfig.creds_by_repositoryc�������������C���s6���|�j�|dj�}|t|�j�|dj�|�j�|dj�fS�)NrP��rJ��rK��)r���rx���rI��)r���rV��Zrepor&���r&���r'���rW����s����zPyPIConfig._get_repo_credc�������������C���s*���x$|�j�j�D�]\}}|j|r |S�q W�dS�)z If the URL indicated appears to be a repository defined in this config, return the credential for that repository. N)rX��itemsr2���)r���r@���rP��credr&���r&���r'���find_credential��s���� zPyPIConfig.find_credentialN)r���r���r���r���propertyrX��rW��r[��r&���r&���r&���r'���rO����s��� rO��c�������������C���s:��t�jj|�\}}}}}}|jdr,tjd|d krFt�jj|\}} nd}|s~t�j|�} | r~t | }| j |�f} t j d | ��|rdt |�}|| ||||f} t�jj| } t�jj| }|jd|�n t�jj|�}|jd t�||}|r6t�jj|j\}}}}}}||kr6|| kr6||||||f} t�jj| |_|S�) z4Open a urllib2 request, handling HTTP authenticationr,��znonnumeric port: ''httphttpsN*Authenticating as %s for %s (from .pypirc)zBasic Z Authorizationz User-Agent)r]��r^��)r_��)r���r#���r=���r1���r���r��r.��rO��r[��rw���rJ��r���r���rH��r/��r���ZRequestZ add_header user_agentr@���)r@���r���rB���r2��rD���ZparamsrE���r���r4��r5��rZ��r���rA���r���r���r��s2Zh2Zpath2Zparam2Zquery2Zfrag2r&���r&���r'���r�� ��s6����         r��c�������������C���s���|�S�)Nr&���)r@���r&���r&���r'��� fix_sf_url>��s����rb��c���������� ���C���s��t�jj|�\}}}}}}t�jj|}tjj|r<t�jj|�S�|j drtjj |rg�}xtj |D�]b} tjj || } | dkrt | d} | j�} W�dQ�R�X�P�ntjj | r| d7�} |jdj| d�qbW�d} | j|�dj |d } d\}}n d\}}} ddi}tj| }t�jj|�||||S�)z7Read a local path, with special support for directoriesr6���z index.htmlrNz<a href="{name}">{name}</a>)r3���zB<html><head><title>{url}{files}rE)r@filesOKPath not found Not foundz content-typez text/html)rerf)rgrhri)rr#r=rr(rWrDisfilerr1rrrarrrr$rStringIOrr)r@rBrCrDZparamrErrXrdrfilepathrZbodyrZstatusmessagerZ body_streamr&r&r'rBs,        r)N)N)N)N)r )[rr0sysrWrZrrrGrr functoolsrZsetuptools.externrZsetuptools.extern.six.movesrrrrr"Z pkg_resourcesrr r r r r rrrrrrrrZ distutilsrZdistutils.errorsrZfnmatchrZsetuptools.py27compatrZsetuptools.py33compatrZsetuptools.wheelrrrJIryrrKrr?rS__all__Z_SOCKET_TIMEOUTZ_tmplr$rRr`r(rrGrrIrYrrkrprtrobjectrrrrr@r?r{rDrHrIrTrOrrrrbrr&r&r&r's|  <           !  "   !~  &. PKge[Qlaunch.cpython-36.pycnu[3 vh@s.dZddlZddlZddZedkr*edS)z[ Launch the Python script on the command line after setuptools is bootstrapped via import. NcCsrttjd}t|ddd}tjddtjdd<ttdt}||j}|jdd}t ||d}t ||dS) zP Run the script in sys.argv[1] as if it had been invoked naturally. __main__N)__file____name____doc__openz\r\nz\nexec) __builtins__sysargvdictgetattrtokenizerreadreplacecompiler)Z script_name namespaceZopen_ZscriptZ norm_scriptcoder/usr/lib/python3.6/launch.pyrun s     rr)rrr rrrrrrs PKge[monkey.cpython-36.pycnu[3 vh@sdZddlZddlZddlZddlZddlZddlmZddl Z ddl m Z ddl Z gZ ddZddZd d Zd d Zd dZddZddZddZdS)z Monkey patching of distutils. N) import_module)sixcCs"tjdkr|f|jStj|S)am Returns the bases classes for cls sorted by the MRO. Works around an issue on Jython where inspect.getmro will not return all base classes if multiple classes share the same name. Instead, this function will return a tuple containing the class itself, and the contents of cls.__bases__. See https://github.com/pypa/setuptools/issues/1024. ZJython)platformZpython_implementation __bases__inspectZgetmro)clsr/usr/lib/python3.6/monkey.py_get_mros  r cCs0t|tjrtnt|tjr tndd}||S)NcSsdS)Nr)itemrrr *szget_unpatched..) isinstancerZ class_typesget_unpatched_classtypes FunctionTypeget_unpatched_function)r lookuprrr get_unpatched&srcCs:ddt|D}t|}|jjds6d|}t||S)zProtect against re-patching the distutils if reloaded Also ensures that no other distutils extension monkeypatched the distutils first. css|]}|jjds|VqdS) setuptoolsN) __module__ startswith).0rrrr 6sz&get_unpatched_class.. distutilsz(distutils has already been patched by %r)r nextrrAssertionError)rZexternal_basesbasemsgrrr r/s  rcCstjtj_tjd k}|r"tjtj_tjd kpxd tjko@dknpxdtjkoZdknpxdtjkotdkn}|rd }|tjj _ t x"tj tjtj fD]}tj j|_qWtjjtj_tjjtj_d tjkrtjjtjd _tdS)N rzhttps://upload.pypi.org/legacy/zdistutils.command.build_ext)rrr)r r!r")rr)rrr!)rr#)rr#r$)rr)rrr)rZCommandrZcoresys version_infofindallZfilelistconfigZ PyPIRCCommandZDEFAULT_REPOSITORY+_patch_distribution_metadata_write_pkg_filedistcmdZ Distribution extensionZ Extensionmodules#patch_for_msvc_specialized_compiler)Zhas_issue_12885Zneeds_warehouseZ warehousemodulerrr patch_allAs&        r0cCstjjtjj_dS)zDPatch write_pkg_file to also write Requires-Python/Requires-ExternalN)rr*Zwrite_pkg_filerZDistributionMetadatarrrr r)jsr)cCs*t||}t|jd|t|||dS)z Patch func_name in target_mod with replacement Important - original must be resolved by name to avoid patching an already patched function. unpatchedN)getattrvars setdefaultsetattr)Z replacementZ target_mod func_nameoriginalrrr patch_funcqs r8cCs t|dS)Nr1)r2) candidaterrr rsrcstdtjdkrdSfdd}tj|d}tj|d}yt|dt|d Wntk rlYnXyt|d Wntk rYnXyt|d Wntk rYnXdS) z\ Patch functions in distutils to use standalone Microsoft Visual C++ compilers. zsetuptools.msvcZWindowsNcsLd|kr dnd}||jd}t|}t|}t||sBt||||fS)zT Prepare the parameters for patch_func to patch indicated function. msvc9Zmsvc9_Zmsvc14__)lstripr2rhasattr ImportError)Zmod_namer6Z repl_prefixZ repl_namereplmod)msvcrr patch_paramss  z9patch_for_msvc_specialized_compiler..patch_paramszdistutils.msvc9compilerzdistutils._msvccompilerZfind_vcvarsallZquery_vcvarsallZ _get_vc_envZgen_lib_options)rrsystem functoolspartialr8r>)rBr:Zmsvc14r)rAr r.s&    r.)__doc__r%Zdistutils.filelistrrrrD importlibrrZsetuptools.externrr__all__r rrr0r)r8rr.rrrr s$   )PKge[߼]Jglob.cpython-36.opt-1.pycnu[3 vhW@sdZddlZddlZddlZddlmZdddgZdddZdd dZd d Z d d Z ddZ ddZ ddZ ejdZejdZddZddZddZdS)z Filename globbing utility. Mostly a copy of `glob` from Python 3.5. Changes include: * `yield from` and PEP3102 `*` removed. * `bytes` changed to `six.binary_type`. * Hidden files are not ignored. N) binary_typeglobiglobescapeFcCstt||dS)ayReturn a list of paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la fnmatch. However, unlike fnmatch, filenames starting with a dot are special cases that are not matched by '*' and '?' patterns. If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories. ) recursive)listr)pathnamerr /usr/lib/python3.6/glob.pyrs cCs"t||}|rt|rt|}|S)aReturn an iterator which yields the paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la fnmatch. However, unlike fnmatch, filenames starting with a dot are special cases that are not matched by '*' and '?' patterns. If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories. )_iglob _isrecursivenext)rritsr r r r s  ccs tjj|\}}t|sF|r0tjj|rB|Vntjj|rB|VdS|s|rrt|rrx4t||D] }|VqbWnxt||D] }|Vq~WdS||krt|rt ||}n|g}t|r|rt|rt}qt}nt }x0|D](}x"|||D]}tjj ||VqWqWdS)N) ospathsplit has_magiclexistsisdirr glob2glob1r glob0join)rrdirnamebasenamexdirsZ glob_in_dirnamer r r r 2s4        r c CsR|s"t|trtjjd}ntj}ytj|}Wntk rDgSXtj||S)NASCII) isinstancerrcurdirencodelistdirOSErrorfnmatchfilter)rpatternnamesr r r r]s rcCs8|stjj|r4|gSntjjtjj||r4|gSgS)N)rrrrr)rrr r r rjs  rccs*|ddVxt|D] }|VqWdS)Nr) _rlistdir)rr'rr r r rzsrc cs|s"t|trttjd}ntj}ytj|}Wntjk rFdSXxJ|D]B}|V|rjtjj||n|}x t|D]}tjj||VqxWqNWdS)Nr) r rrr!r#errorrrr))rr(rryr r r r)s  r)z([*?[])s([*?[])cCs(t|trtj|}n tj|}|dk S)N)r rmagic_check_bytessearch magic_check)rmatchr r r rs   rcCst|tr|dkS|dkSdS)Ns**z**)r r)r'r r r r s r cCs<tjj|\}}t|tr(tjd|}n tjd|}||S)z#Escape all special characters. s[\1]z[\1])rr splitdriver rr,subr.)rZdriver r r rs   )F)F)__doc__rrer%Zsetuptools.extern.sixr__all__rrr rrrr)compiler.r,rr rr r r r s"    +   PKge[^fdist.cpython-36.opt-1.pycnu[3 vhu@sdgZddlZddlZddlZddlZddlZddlZddlZddl Zddl Z ddl m Z ddl mZmZmZddlmZddlmZddlmZddlmZdd lmZmZmZdd lmZdd lmZdd l m!Z!dd l"m#Z#ddl$Z$ddl%m&Z&e'de'dddZ(ddZ)ddZ*e+e,fZ-ddZ.ddZ/ddZ0ddZ1d d!Z2d"d#Z3d$d%Z4d&d'Z5d(d)Z6d*d+Z7d,d-Z8d.d/Z9e!ej:j;ZZ parse_maprAr)rDr8rEerrrcheck_entry_pointssrfcCst|tjstddS)Nztest_suite must be a string)r`r Z string_typesr)rDr8rErrrcheck_test_suites rgc Csdt|trTxH|jD]8\}}t|ts(Py t|Wqtk rJPYqXqWdSt|ddS)z@Verify that value is a dictionary of package names to glob listsNzI must be a dictionary mapping package names to lists of wildcard patterns)r`rar2striterr@r)rDr8rEkvrrrcheck_package_datas    rlcCs,x&|D]}tjd|stjjd|qWdS)Nz \w+(\.\w+)*z[WARNING: %r not a valid package name; please use only .-separated package names in setup.py)rematchrLrMr)rDr8rEZpkgnamerrrcheck_packagess   roc@s0eZdZdZdeedZdZddZdGddZ dd Z d d Z e d d Z ddZddZdHddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dS)IraDistribution with support for features, tests, and package data This is an enhanced version of 'distutils.dist.Distribution' that effectively adds the following new optional keyword arguments to 'setup()': 'install_requires' -- a string or sequence of strings specifying project versions that the distribution requires when installed, in the format used by 'pkg_resources.require()'. They will be installed automatically when the package is installed. If you wish to use packages that are not available in PyPI, or want to give your users an alternate download location, you can add a 'find_links' option to the '[easy_install]' section of your project's 'setup.cfg' file, and then setuptools will scan the listed web pages for links that satisfy the requirements. 'extras_require' -- a dictionary mapping names of optional "extras" to the additional requirement(s) that using those extras incurs. For example, this:: extras_require = dict(reST = ["docutils>=0.3", "reSTedit"]) indicates that the distribution can optionally provide an extra capability called "reST", but it can only be used if docutils and reSTedit are installed. If the user installs your package using EasyInstall and requests one of your extras, the corresponding additional requirements will be installed if needed. 'features' **deprecated** -- a dictionary mapping option names to 'setuptools.Feature' objects. Features are a portion of the distribution that can be included or excluded based on user options, inter-feature dependencies, and availability on the current system. Excluded features are omitted from all setup commands, including source and binary distributions, so you can create multiple distributions from the same source tree. Feature names should be valid Python identifiers, except that they may contain the '-' (minus) sign. Features can be included or excluded via the command line options '--with-X' and '--without-X', where 'X' is the name of the feature. Whether a feature is included by default, and whether you are allowed to control this from the command line, is determined by the Feature object. See the 'Feature' class for more information. 'test_suite' -- the name of a test suite to run for the 'test' command. If the user runs 'python setup.py test', the package will be installed, and the named test suite will be run. The format is the same as would be used on a 'unittest.py' command line. That is, it is the dotted name of an object to import and call to generate a test suite. 'package_data' -- a dictionary mapping package names to lists of filenames or globs to use to find data files contained in the named packages. If the dictionary has filenames or globs listed under '""' (the empty string), those names will be searched for in every package, in addition to any names for the specific package. Data files found using these names/globs will be installed along with the package, in the same location as the package. Note that globs are allowed to reference the contents of non-package subdirectories, as long as you use '/' as a path separator. (Globs are automatically converted to platform-specific paths at runtime.) In addition to these new keywords, this class also has several new methods for manipulating the distribution's contents. For example, the 'include()' and 'exclude()' methods can be thought of as in-place add and subtract commands that add or remove packages, modules, extensions, and so on from the distribution. They are used by the feature subsystem to configure the distribution for the included and excluded features. N)rr1rcCsp| sd|ksd|krdStjt|dj}tjjj|}|dk rl|jd rltjt|d|_ ||_ dS)NrYr7zPKG-INFO) r=Z safe_namerhlower working_setZby_keygetZ has_metadataZ safe_versionZ_version _patched_dist)r5attrskeyrDrrrpatch_missing_pkg_infoSsz#Distribution.patch_missing_pkg_infoc std}|si_|pi}d|ks,d|kr4tjg_i_g_|jdd_j ||jdg_ |jdg_ x$t j dD]}tj|jdqWtjfdd |jDx\jjD]N\}}x6jj|fD]}||kr||}PqW|r|nd}tj||qWtjjtjr>tjjj_jjdk ryHtjjjj}t|} jj| krtj d jj| f| j_Wn0tjj!t"fk rtj d jjYnXj#dS) N package_datafeaturesrequire_featuressrc_rootdependency_linkssetup_requireszdistutils.setup_keywordscs i|]\}}|jkr||qSr)_DISTUTILS_UNSUPPORTED_METADATA).0rjrk)r5rr qsz)Distribution.__init__..zNormalizing '%s' to '%s'zThe version specified (%r) is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.)$r4rwFeaturewarn_deprecatedryrxZ dist_filespoprzrvr{r|r=iter_entry_pointsvars setdefaultrY _Distribution__init__r2r}metadata__dict__setattrr`r7numbersNumberrhr ZVersionrrZInvalidVersionr@_finalize_requires) r5rtZhave_package_datarFZoptiondefaultsourcerEZverZnormalized_versionr)r5rr`sR    zDistribution.__init__cCsjt|ddr|j|j_t|ddrVx2|jjD]$}|jdd}|r.|jjj|q.W|j|j dS)z Set `metadata.python_requires` and fix environment markers in `install_requires` and `extras_require`. rNextras_requirerVr) r rrrkeyssplitradd_convert_extras_requirements"_move_install_requirements_markers)r5r;rrrrs   zDistribution._finalize_requirescCspt|ddpi}tt|_xP|jD]D\}}|j|x0tj|D]"}|j|}|j||j|qBWq$WdS)z Convert requirements in `extras_require` of the form `"extra": ["barbazquux; {marker}"]` to `"extra:{marker}": ["barbazquux"]`. rN) r rrQ_tmp_extras_requirer2r=rX _suffix_forappend)r5Z spec_ext_reqsZsectionrkrsuffixrrrrs   z)Distribution._convert_extras_requirementscCs|jrdt|jSdS)ze For a requirement, return the 'extras_require' suffix for that requirement. rV)rZrh)reqrrrrszDistribution._suffix_forcsdd}tddpf}ttj|}t||}t||}ttt|_x&|D]}j dt|j j |qPWt fddj j D_dS)zv Move requirements in `install_requires` that are using environment markers `extras_require`. cSs|j S)N)rZ)rrrr is_simple_reqszFDistribution._move_install_requirements_markers..is_simple_reqinstall_requiresNrVc3s,|]$\}}|ddtj|DfVqdS)cSsg|] }t|qSr)rh)r~rrrr szMDistribution._move_install_requirements_markers...N)r _clean_req)r~rjrk)r5rr szBDistribution._move_install_requirements_markers..)r rQr=rXr r r rhrrrZrrar2r)r5rZspec_inst_reqsZ inst_reqsZ simple_reqsZ complex_reqsrr)r5rrs     z/Distribution._move_install_requirements_markerscCs d|_|S)zP Given a Requirement, remove environment markers and return it. N)rZ)r5rrrrrszDistribution._clean_reqFcCs*tj||dt||j|d|jdS)zYParses configuration files from various levels and loads configuration. ) filenames)ignore_option_errorsN)rparse_config_filesrcommand_optionsr)r5rrrrrrszDistribution.parse_config_filescCstj|}|jr|j|S)z3Process features after parsing command line options)rparse_command_linerx_finalize_features)r5resultrrrrs zDistribution.parse_command_linecCsd|jddS)z;Convert feature name to corresponding option attribute nameZwith_-_)replace)r5rYrrr_feature_attrnameszDistribution._feature_attrnamecCs<tjjtj||jdd}x|D]}tjj|ddq W|S)zResolve pre-setup requirementsT) installerZreplace_conflicting)r)r=rqresolverXfetch_build_eggr)r5r!Zresolved_distsrDrrrfetch_build_eggss zDistribution.fetch_build_eggscCstj||jr|jxHtjdD]:}t||jd}|dk r$|j|j d|j ||j|q$Wt|ddrdd|j D|_ ng|_ dS)Nzdistutils.setup_keywords)rconvert_2to3_doctestscSsg|]}tjj|qSr)ospathabspath)r~prrrrsz1Distribution.finalize_options..) rfinalize_optionsrx_set_global_opts_from_featuresr=rr rYrequirerloadr)r5rFrErrrrs  zDistribution.finalize_optionsc Csvtjjtjd}tjj|srtj|tj|tjj|d}t|d$}|j d|j d|j dWdQRX|S)Nz.eggsz README.txtwzcThis directory contains eggs that were downloaded by setuptools to build, test, and run plug-ins. zAThis directory caches those eggs to prevent repeated downloads. z/However, it is safe to delete this directory. ) rrr3curdirexistsmkdirrZ hide_fileopenr/)r5Z egg_cache_dirZreadme_txt_filenamefrrrget_egg_cache_dirs      zDistribution.get_egg_cache_dirc Csddlm}|jddgi}|jd}|j|jdd|jdjD|jr|jdd}d|krx|dd |}d |f|d<|j}||d g|d d dd d d d d d }|j |j|S)z Fetch an egg needed for buildingr) easy_installZ script_argsrcss"|]\}}|dkr||fVqdS) find_links site_dirs index_urloptimize allow_hostsN)rrrrrrr)r~rjrkrrrr1sz/Distribution.fetch_build_egg..NrrZsetupxTF) args install_dirZexclude_scriptsZ always_copyZbuild_directoryZeditableZupgradeZ multi_versionZ no_reportuser) Zsetuptools.command.easy_installr __class__get_option_dictclearupdater2r{rZensure_finalized)r5rrrDoptsZlinksrcmdrrrr*s(   zDistribution.fetch_build_eggc Csg}|jj}x|jjD]\}}|j|d|j||jr|j}d}d}|js^||}}d|dd||fd|dd||ff}|j |d||d|<qW||j |_ |_ ||_|_ dS)z;Add --with-X/--without-X options based on optional featuresNz (default)rzwith-zinclude zwithout-zexclude ) negative_optcopyrxr2 _set_featurevalidateoptional descriptioninclude_by_defaultextendglobal_optionsZfeature_optionsZfeature_negopt) r5ZgonorYfeaturedescrZincdefZexcdefnewrrrrGs"     z+Distribution._set_global_opts_from_featurescCsxJ|jjD]<\}}|j|}|s2|dkr |jr |j||j|dq Wx6|jjD](\}}|j|sX|j||j|dqXWdS)z9Add/remove features and resolve dependencies between themNrr)rxr2feature_is_includedr include_inr exclude_from)r5rYrZenabledrrrrbs    zDistribution._finalize_featurescCs`||jkr|j|Stjd|}x:|D]&}|j|jd|j|j|<}|SWtj||SdS)z(Pluggable version of get_command_class()zdistutils.commands)rN)cmdclassr=rrrrrget_command_class)r5commandZepsrFrrrrrss    zDistribution.get_command_classcCs>x2tjdD]$}|j|jkr |j}||j|j<q Wtj|S)Nzdistutils.commands)r=rrYrrrprint_commands)r5rFrrrrrs  zDistribution.print_commandscCs>x2tjdD]$}|j|jkr |j}||j|j<q Wtj|S)Nzdistutils.commands)r=rrYrrrget_command_list)r5rFrrrrrs  zDistribution.get_command_listcCst||j||dS)zSet feature's inclusion statusN)rr)r5rYZstatusrrrrszDistribution._set_featurecCst||j|S)zAReturn 1 if feature is included, 0 if excluded, 'None' if unknown)r r)r5rYrrrrsz Distribution.feature_is_includedcCsF|j|dkr&|j|j}t|d|j|j||j|ddS)z)Request inclusion of feature named 'name'rz2 is required, but was excluded or is not availablerN)rrxrrrr)r5rYrrrrinclude_features   zDistribution.include_featurecKsDx>|jD]2\}}t|d|d}|r0||q |j||q WdS)aAdd items to distribution that are named in keyword arguments For example, 'dist.exclude(py_modules=["x"])' would add 'x' to the distribution's 'py_modules' attribute, if it was not already there. Currently, this method only supports inclusion for attributes that are lists or tuples. If you need to add support for adding to other attributes in this or a subclass, you can add an '_include_X' method, where 'X' is the name of the attribute. The method will be called with the value passed to 'include()'. So, 'dist.include(foo={"bar":"baz"})' will try to call 'dist._include_foo({"bar":"baz"})', which can then handle whatever special inclusion logic is needed. Z _include_N)r2r _include_misc)r5rtrjrkincluderrrrs  zDistribution.includecsfd|jr&fdd|jD|_|jrDfdd|jD|_|jrbfdd|jD|_dS)z9Remove packages, modules, and extensions in named packagerIcs$g|]}|kr|j r|qSr) startswith)r~r)packagepfxrrrsz0Distribution.exclude_package..cs$g|]}|kr|j r|qSr)r)r~r)rrrrrscs(g|] }|jkr|jj r|qSr)rYr)r~r)rrrrrsN)packages py_modules ext_modules)r5rr)rrrexclude_packageszDistribution.exclude_packagecCs4|d}x&|jD]}||ks(|j|rdSqWdS)z.)r`sequencerr rBr)r5rYrEoldr)rEr _exclude_miscs  zDistribution._exclude_miscc st|tstd||fyt||Wn tk rHtd|YnXdkr`t|||n:ttsxt|dn"fdd|D}t|||dS)zAHandle 'include()' for list/tuple attrs without a special handlerz%s: setting must be a list (%r)z %s: No such distribution settingNz4: this setting cannot be changed via include/excludecsg|]}|kr|qSrr)r~r)rrrrsz.Distribution._include_misc..)r`rrr rBr)r5rYrErr)rrrs   zDistribution._include_misccKsDx>|jD]2\}}t|d|d}|r0||q |j||q WdS)aRemove items from distribution that are named in keyword arguments For example, 'dist.exclude(py_modules=["x"])' would remove 'x' from the distribution's 'py_modules' attribute. Excluding packages uses the 'exclude_package()' method, so all of the package's contained packages, modules, and extensions are also excluded. Currently, this method only supports exclusion from attributes that are lists or tuples. If you need to add support for excluding from other attributes in this or a subclass, you can add an '_exclude_X' method, where 'X' is the name of the attribute. The method will be called with the value passed to 'exclude()'. So, 'dist.exclude(foo={"bar":"baz"})' will try to call 'dist._exclude_foo({"bar":"baz"})', which can then handle whatever special exclusion logic is needed. Z _exclude_N)r2r r)r5rtrjrkexcluderrrrs  zDistribution.excludecCs,t|tstd|ftt|j|dS)Nz.packages: setting must be a list or tuple (%r))r`rrrQr r)r5rrrr_exclude_packagess  zDistribution._exclude_packagesc Cs|jj|_|jj|_|d}|jd}xB||krh||\}}||=ddl}|j|d|dd<|d}q(Wtj|||}|j|} t | ddrd|f|j|d<|dk rgS|S)NraliasesTrZcommand_consumes_argumentsz command liner) rrrrshlexrr_parse_command_optsrr ) r5parserrrrsrcaliasrnargsZ cmd_classrrrr s"        z Distribution._parse_command_optsc Csi}x|jjD]\}}x|jD]\}\}}|dkr8q"|jdd}|dkr|j|}|jj}|jt|dix<|jD]\} } | |kr|| }d}Pq|Wtdn |dkrd}||j |i|<q"WqW|S) ahReturn a '{cmd: {opt:val}}' map of all command-line options Option names are all long, but do not include the leading '--', and contain dashes rather than underscores. If the option doesn't take an argument (e.g. '--quiet'), the 'val' is 'None'. Note that options provided by config files are intentionally excluded. z command linerrrrNzShouldn't be able to get herer) rr2rZget_command_objrrrr rCr) r5drroptrvalZcmdobjZneg_optnegposrrrget_cmdline_options:s(     z Distribution.get_cmdline_optionsccsx|jp fD] }|Vq Wx|jp$fD] }|Vq&WxH|jp>fD]:}t|trX|\}}n|j}|jdrt|dd}|Vq@WdS)z@Yield all packages, modules, and extension names in distributionmoduleNi)rrrr`tuplerYendswith)r5ZpkgrZextrYZ buildinforrrrbs      z$Distribution.iter_distribution_namescCsddl}tjs|jr tj||Sddl}t|j|j sBtj||S|jj j dkr^tj||S|jj }|jj }|j dkr|dp~d}|jj}|j |jjd||||_z tj||S|j |jj|||||_XdS)zIf there were any non-global "display-only" options (--help-commands or the metadata display options) on the command line, display the requested info and return true; else return false. rNutf-8utf8Zwin32 )rr )sysr r0Z help_commandsrhandle_display_optionsior`stdout TextIOWrapperencodingrperrorsr:line_bufferingdetach)r5Z option_orderr r rrnewlinerrrrr ts$     z#Distribution.handle_display_options)N)NF)*__name__ __module__ __qualname____doc__rarbr}rsrvrrr staticmethodrrrrrrrrrrrrrrrrrrrrrJrrrrrrrr rrrrrsLB ;      (c@sPeZdZdZeddZdddfffddZdd Zd d Zd d Z ddZ dS)ra **deprecated** -- The `Feature` facility was never completely implemented or supported, `has reported issues `_ and will be removed in a future version. A subset of the distribution that can be excluded if unneeded/wanted Features are created using these keyword arguments: 'description' -- a short, human readable description of the feature, to be used in error messages, and option help messages. 'standard' -- if true, the feature is included by default if it is available on the current system. Otherwise, the feature is only included if requested via a command line '--with-X' option, or if another included feature requires it. The default setting is 'False'. 'available' -- if true, the feature is available for installation on the current system. The default setting is 'True'. 'optional' -- if true, the feature's inclusion can be controlled from the command line, using the '--with-X' or '--without-X' options. If false, the feature's inclusion status is determined automatically, based on 'availabile', 'standard', and whether any other feature requires it. The default setting is 'True'. 'require_features' -- a string or sequence of strings naming features that should also be included if this feature is included. Defaults to empty list. May also contain 'Require' objects that should be added/removed from the distribution. 'remove' -- a string or list of strings naming packages to be removed from the distribution if this feature is *not* included. If the feature *is* included, this argument is ignored. This argument exists to support removing features that "crosscut" a distribution, such as defining a 'tests' feature that removes all the 'tests' subpackages provided by other features. The default for this argument is an empty list. (Note: the named package(s) or modules must exist in the base distribution when the 'setup()' function is initially called.) other keywords -- any other keyword arguments are saved, and passed to the distribution's 'include()' and 'exclude()' methods when the feature is included or excluded, respectively. So, for example, you could pass 'packages=["a","b"]' to cause packages 'a' and 'b' to be added or removed from the distribution as appropriate. A feature must include at least one 'requires', 'remove', or other keyword argument. Otherwise, it can't affect the distribution in any way. Note also that you can subclass 'Feature' to create your own specialized feature types that modify the distribution in other ways when included or excluded. See the docstrings for the various methods here for more detail. Aside from the methods, the only feature attributes that distributions look at are 'description' and 'optional'. cCsd}tj|tdddS)NzrFeatures are deprecated and will be removed in a future version. See https://github.com/pypa/setuptools/issues/65.) stacklevel)rrr)msgrrrrszFeature.warn_deprecatedFTc Ks|j||_||_||_||_t|ttfr4|f}dd|D|_dd|D}|r^||d<t|trn|f}||_ ||_ | r| r| rt ddS)NcSsg|]}t|tr|qSr)r`rh)r~rrrrrsz$Feature.__init__..cSsg|]}t|ts|qSr)r`rh)r~rrrrrsryzgFeature %s: must define 'require_features', 'remove', or at least one of 'packages', 'py_modules', etc.) rrstandard availablerr`rhrryremoveextrasr) r5rrrrryrr Zerrrrrs$ zFeature.__init__cCs |jo |jS)z+Should this feature be included by default?)rr)r5rrrrszFeature.include_by_defaultcCs@|jst|jd|jf|jx|jD]}|j|q*WdS)aEnsure feature and its requirements are included in distribution You may override this in a subclass to perform additional operations on the distribution. Note that this method may be called more than once per feature, and so should be idempotent. z3 is required, but is not available on this platformN)rrrrr ryr)r5rDrrrrrs   zFeature.include_incCs2|jf|j|jr.x|jD]}|j|qWdS)a2Ensure feature is excluded from distribution You may override this in a subclass to perform additional operations on the distribution. This method will be called at most once per feature, and only after all included features have been asked to include themselves. N)rr rr)r5rDrrrrrs  zFeature.exclude_fromcCs2x,|jD]"}|j|std|j||fqWdS)aVerify that feature makes sense in context of distribution This method is called by the distribution just before it parses its command line. It checks to ensure that the 'remove' attribute, if any, contains only valid package/module names that are present in the base distribution when 'setup()' is called. You may override it in a subclass to perform any other required validation of the feature against a target distribution. zg%s wants to be able to remove %s, but the distribution doesn't contain any packages or modules under %sN)rrJrr)r5rDrrrrrs  zFeature.validateN) rrrrrrrrrrrrrrrrs7 r)>__all__rmrrrZ distutils.logrLZdistutils.coreZ distutils.cmdZdistutils.distrR collectionsrZdistutils.errorsrrrZdistutils.utilrZdistutils.versionrZsetuptools.externr r Zsetuptools.extern.six.movesr r r Zsetuptools.dependsrZ setuptoolsrZsetuptools.monkeyrZsetuptools.configrr=Z py36compatr __import__rr#r<rrQrrGrHrPrUrTr^rcrdrfrgrlroZcorerrrrrrrs`          G     PKge[version.cpython-36.pycnu[3 vh @s6ddlZyejdjZWnek r0dZYnXdS)NZ setuptoolsunknown)Z pkg_resourcesZget_distributionversion __version__ Exceptionrr/usr/lib/python3.6/version.pysPKge[rhwindows_support.cpython-36.pycnu[3 vh@s(ddlZddlZddZeddZdS)NcCstjdkrddS|S)NZWindowsc_sdS)N)argskwargsrr%/usr/lib/python3.6/windows_support.pyszwindows_only..)platformsystem)funcrrr windows_onlys r cCsLtdtjjj}tjjtjjf|_tjj |_ d}|||}|sHtj dS)z Set the hidden attribute on a file or directory. From http://stackoverflow.com/questions/19622133/ `path` must be text. zctypes.wintypesN) __import__ctypesZwindllZkernel32ZSetFileAttributesWZwintypesZLPWSTRZDWORDZargtypesZBOOLZrestypeZWinError)pathZSetFileAttributesFILE_ATTRIBUTE_HIDDENretrrr hide_file s    r)rr r rrrrrsPKge[B1rrextension.cpython-36.pycnu[3 vh@s|ddlZddlZddlZddlZddlZddlmZddlm Z ddZ e Z e ej j ZGdddeZ Gd d d e ZdS) N)map) get_unpatchedc Cs2d}yt|dgdjdStk r,YnXdS)z0 Return True if Cython can be imported. zCython.Distutils.build_ext build_ext)fromlistTF) __import__r Exception)Z cython_implr /usr/lib/python3.6/extension.py _have_cython sr c@s eZdZdZddZddZdS) Extensionz7Extension that uses '.c' files in place of '.pyx' filescOs(|jdd|_tj|||f||dS)Npy_limited_apiF)popr _Extension__init__)selfnamesourcesargskwr r r r#szExtension.__init__cCsNtr dS|jpd}|jdkr$dnd}tjtjd|}tt||j |_ dS)z Replace sources with .pyx extensions to sources with the target language extension. This mechanism allows language authors to supply pre-converted sources but to prefer the .pyx sources. Nzc++z.cppz.cz.pyx$) r Zlanguagelower functoolspartialresublistrr)rZlangZ target_extrr r r _convert_pyx_sources_to_lang)s  z&Extension._convert_pyx_sources_to_langN)__name__ __module__ __qualname____doc__rrr r r r r sr c@seZdZdZdS)Libraryz=Just like a regular Extension, but built as a library insteadN)rrr r!r r r r r"8sr")rrZdistutils.coreZ distutilsZdistutils.errorsZdistutils.extensionZsetuptools.extern.six.movesrZmonkeyrr Z have_pyrexZcorer rr"r r r r s   PKge[py27compat.cpython-36.pycnu[3 vh@sTdZddlZddlmZddZejr.ddZejdko>ejZerHendd Z dS) z2 Compatibility Support for Python 2.7 and earlier N)sixcCs |j|S)zH Given an HTTPMessage, return all headers matching a given key. )Zget_all)messagekeyr /usr/lib/python3.6/py27compat.pyget_all_headers srcCs |j|S)N)Z getheaders)rrrrrrsZLinuxcCs|S)Nr)xrrrsr ) __doc__platformZsetuptools.externrrZPY2systemZlinux_py2_asciistrZ rmtree_saferrrrs  PKge[ㄙmsvc.cpython-36.opt-1.pycnu[3 vh @sdZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z ej dkrpddl mZejZnGd d d ZeZeejjfZydd lmZWnek rYnXd d Zd ddZddZddZd!ddZGdddZGdddZGdddZGdddZ dS)"a@ Improved support for Microsoft Visual C++ compilers. Known supported compilers: -------------------------- Microsoft Visual C++ 9.0: Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64) Microsoft Windows SDK 6.1 (x86, x64, ia64) Microsoft Windows SDK 7.0 (x86, x64, ia64) Microsoft Visual C++ 10.0: Microsoft Windows SDK 7.1 (x86, x64, ia64) Microsoft Visual C++ 14.0: Microsoft Visual C++ Build Tools 2015 (x86, x64, arm) Microsoft Visual Studio 2017 (x86, x64, arm, arm64) Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64) N) LegacyVersion) filterfalse) get_unpatchedWindows)winregc@seZdZdZdZdZdZdS)rN)__name__ __module__ __qualname__ HKEY_USERSHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_CLASSES_ROOTrr/usr/lib/python3.6/msvc.pyr(sr)RegcCsd}|d|f}ytj|d}WnJtk rjy|d|f}tj|d}Wntk rdd}YnXYnX|rtjjjj|d}tjj|r|Stt|S)a+ Patched "distutils.msvc9compiler.find_vcvarsall" to use the standalone compiler build for Python (VCForPython). Fall back to original behavior when the standalone compiler is not available. Redirect the path of "vcvarsall.bat". Known supported compilers ------------------------- Microsoft Visual C++ 9.0: Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64) Parameters ---------- version: float Required Microsoft Visual C++ version. Return ------ vcvarsall.bat path: str z-Software\%sMicrosoft\DevDiv\VCForPython\%0.1f installdirz Wow6432Node\Nz vcvarsall.bat) rZ get_valueKeyErrorospathjoinisfilermsvc9_find_vcvarsall)versionZVC_BASEkey productdir vcvarsallrrrr?s   rx86cOsytt}|||f||Stjjk r2Yntk rDYnXyt||jStjjk r}zt|||WYdd}~XnXdS)a Patched "distutils.msvc9compiler.query_vcvarsall" for support extra compilers. Set environment without use of "vcvarsall.bat". Known supported compilers ------------------------- Microsoft Visual C++ 9.0: Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64) Microsoft Windows SDK 6.1 (x86, x64, ia64) Microsoft Windows SDK 7.0 (x86, x64, ia64) Microsoft Visual C++ 10.0: Microsoft Windows SDK 7.1 (x86, x64, ia64) Parameters ---------- ver: float Required Microsoft Visual C++ version. arch: str Target architecture. Return ------ environment: dict N) rmsvc9_query_vcvarsall distutilserrorsDistutilsPlatformError ValueErrorEnvironmentInfo return_env_augment_exception)verarchargskwargsZorigexcrrrrjs rcCsny tt|Stjjk r$YnXyt|ddjStjjk rh}zt|dWYdd}~XnXdS)a' Patched "distutils._msvccompiler._get_vc_env" for support extra compilers. Set environment without use of "vcvarsall.bat". Known supported compilers ------------------------- Microsoft Visual C++ 14.0: Microsoft Visual C++ Build Tools 2015 (x86, x64, arm) Microsoft Visual Studio 2017 (x86, x64, arm, arm64) Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64) Parameters ---------- plat_spec: str Target architecture. Return ------ environment: dict g,@) vc_min_verN)rmsvc14_get_vc_envr r!r"r$r%r&)Z plat_specr+rrrr-s  r-cOsBdtjkr4ddl}t|jtdkr4|jjj||Stt ||S)z Patched "distutils._msvccompiler.gen_lib_options" for fix compatibility between "numpy.distutils" and "distutils._msvccompiler" (for Numpy < 1.11.2) znumpy.distutilsrNz1.11.2) sysmodulesZnumpyr __version__r Z ccompilerZgen_lib_optionsrmsvc14_gen_lib_options)r)r*Znprrrr1s  r1rcCs|jd}d|jks"d|jkrd}|jft}d}|dkrr|jjddkrh|d 7}||d 7}q|d 7}n.|d kr|d 7}||d7}n|dkr|d7}|f|_dS)zl Add details to the exception message to help guide the user as to what action will resolve it. rrzvisual cz0Microsoft Visual C++ {version:0.1f} is required.z-www.microsoft.com/download/details.aspx?id=%dg"@Zia64rz* Get it with "Microsoft Windows SDK 7.0": iB z% Get it from http://aka.ms/vcpython27g$@z* Get it with "Microsoft Windows SDK 7.1": iW g,@zj Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-toolsN)r)lowerformatlocalsfind)r+rr(messageZtmplZ msdownloadrrrr&s   r&c@sbeZdZdZejddjZddZe ddZ dd Z d d Z dd dZ dddZdddZdS) PlatformInfoz Current and Target Architectures informations. Parameters ---------- arch: str Target architecture. Zprocessor_architecturercCs|jjdd|_dS)Nx64amd64)r3replacer()selfr(rrr__init__szPlatformInfo.__init__cCs|j|jjdddS)N_r)r(r6)r<rrr target_cpuszPlatformInfo.target_cpucCs |jdkS)Nr)r?)r<rrr target_is_x86szPlatformInfo.target_is_x86cCs |jdkS)Nr) current_cpu)r<rrrcurrent_is_x86szPlatformInfo.current_is_x86FcCs.|jdkr|rdS|jdkr$|r$dSd|jS)uk Current platform specific subfolder. Parameters ---------- hidex86: bool return '' and not '†' if architecture is x86. x64: bool return 'd' and not 'md64' if architecture is amd64. Return ------ subfolder: str ' arget', or '' (see hidex86 parameter) rrr:z\x64z\%s)rA)r<hidex86r9rrr current_dir szPlatformInfo.current_dircCs.|jdkr|rdS|jdkr$|r$dSd|jS)ar Target platform specific subfolder. Parameters ---------- hidex86: bool return '' and not '\x86' if architecture is x86. x64: bool return '\x64' and not '\amd64' if architecture is amd64. Return ------ subfolder: str '\current', or '' (see hidex86 parameter) rrr:z\x64z\%s)r?)r<rCr9rrr target_dirszPlatformInfo.target_dircCs0|rdn|j}|j|krdS|jjdd|S)ao Cross platform specific subfolder. Parameters ---------- forcex86: bool Use 'x86' as current architecture even if current acritecture is not x86. Return ------ subfolder: str '' if target architecture is current architecture, '\current_target' if not. rr\z\%s_)rAr?rEr;)r<forcex86Zcurrentrrr cross_dir5szPlatformInfo.cross_dirN)FF)FF)F)rr r __doc__safe_envgetr3rAr=propertyr?r@rBrDrErHrrrrr8s   r8c@seZdZdZejejejejfZ ddZ e ddZ e ddZ e dd Ze d d Ze d d Ze ddZe ddZe ddZe ddZdddZddZdS) RegistryInfoz Microsoft Visual Studio related registry informations. Parameters ---------- platform_info: PlatformInfo "PlatformInfo" instance. cCs ||_dS)N)pi)r<Z platform_inforrrr=ZszRegistryInfo.__init__cCsdS)z< Microsoft Visual Studio root registry key. Z VisualStudior)r<rrr visualstudio]szRegistryInfo.visualstudiocCstjj|jdS)z; Microsoft Visual Studio SxS registry key. ZSxS)rrrrO)r<rrrsxsdszRegistryInfo.sxscCstjj|jdS)z8 Microsoft Visual C++ VC7 registry key. ZVC7)rrrrP)r<rrrvckszRegistryInfo.vccCstjj|jdS)z; Microsoft Visual Studio VS7 registry key. ZVS7)rrrrP)r<rrrvsrszRegistryInfo.vscCsdS)z? Microsoft Visual C++ for Python registry key. zDevDiv\VCForPythonr)r<rrr vc_for_pythonyszRegistryInfo.vc_for_pythoncCsdS)z- Microsoft SDK registry key. zMicrosoft SDKsr)r<rrr microsoft_sdkszRegistryInfo.microsoft_sdkcCstjj|jdS)z> Microsoft Windows/Platform SDK registry key. r)rrrrT)r<rrr windows_sdkszRegistryInfo.windows_sdkcCstjj|jdS)z< Microsoft .NET Framework SDK registry key. ZNETFXSDK)rrrrT)r<rrr netfx_sdkszRegistryInfo.netfx_sdkcCsdS)z< Microsoft Windows Kits Roots registry key. zWindows Kits\Installed Rootsr)r<rrrwindows_kits_rootsszRegistryInfo.windows_kits_rootsFcCs(|jjs|rdnd}tjjd|d|S)a  Return key in Microsoft software registry. Parameters ---------- key: str Registry key path where look. x86: str Force x86 software registry. Return ------ str: value rZ Wow6432NodeZSoftwareZ Microsoft)rNrBrrr)r<rrZnode64rrr microsoftszRegistryInfo.microsoftcCstj}tj}|j}x|jD]}y||||d|}WnZttfk r|jjsy||||dd|}Wqttfk rwYqXnwYnXytj ||dSttfk rYqXqWdS)a Look for values in registry in Microsoft software registry. Parameters ---------- key: str Registry key path where look. name: str Value name to find. Return ------ str: value rTN) rKEY_READOpenKeyrXHKEYSOSErrorIOErrorrNrBZ QueryValueEx)r<rnamerYZopenkeymshkeybkeyrrrlookups"   zRegistryInfo.lookupN)F)rr r rIrr r r rr[r=rLrOrPrQrRrSrTrUrVrWrXrbrrrrrMLs"          rMc@s$eZdZdZejddZejddZejdeZd3ddZ d d Z d d Z e d dZ e ddZddZddZe ddZe ddZe ddZe ddZe ddZe dd Ze d!d"Ze d#d$Ze d%d&Ze d'd(Ze d)d*Ze d+d,Ze d-d.Zd/d0Zd4d1d2ZdS)5 SystemInfoz Microsoft Windows and Visual Studio related system inormations. Parameters ---------- registry_info: RegistryInfo "RegistryInfo" instance. vc_ver: float Required Microsoft Visual C++ version. WinDirr ProgramFileszProgramFiles(x86)NcCs"||_|jj|_|p|j|_dS)N)rirN_find_latest_available_vc_vervc_ver)r<Z registry_inforhrrrr=s zSystemInfo.__init__c Cs6y |jdStk r0d}tjj|YnXdS)Nrz%No Microsoft Visual C++ version foundr2)find_available_vc_vers IndexErrorr r!r")r<errrrrrgs  z(SystemInfo._find_latest_available_vc_verc Cs6|jj}|jj|jj|jjf}g}x|jjD]}x|D]}ytj|||dtj}Wnt t fk rpw8YnXtj |\}}} xPt |D]D} y*t tj|| d} | |kr|j| Wqtk rYqXqWxPt |D]D} y(t tj|| } | |kr|j| Wqtk r YqXqWq8Wq.Wt|S)zC Find all available Microsoft Visual C++ versions. r)rfrXrQrSrRr[rrZrYr\r]Z QueryInfoKeyrangefloatZ EnumValueappendr#ZEnumKeysorted) r<r_ZvckeysZvc_versr`rraZsubkeysvaluesr>ir'rrrris2   z!SystemInfo.find_available_vc_verscCs6d|j}tjj|j|}|jj|jjd|jp4|S)z4 Microsoft Visual Studio directory. zMicrosoft Visual Studio %0.1fz%0.1f)rhrrrProgramFilesx86rfrbrR)r<r^defaultrrr VSInstallDir s zSystemInfo.VSInstallDircCs|j|jp|j}tjj|jjd|j}|jj |d}|rNtjj|dn|}|jj |jj d|jpl|}tjj |sd}t j j||S)z1 Microsoft Visual C++ directory. z%0.1frZVCz(Microsoft Visual C++ directory not found)rt _guess_vc_guess_vc_legacyrrrrfrSrhrbrQisdirr r!r")r<guess_vcZreg_pathZ python_vcZ default_vcrmsgrrr VCInstallDirs  zSystemInfo.VCInstallDirc Cs^|jdkrdSd}tjj|j|}ytj|d}tjj||Stttfk rXYnXdS)z* Locate Visual C for 2017 g,@Nz VC\Tools\MSVCrr2) rhrrrrtlistdirr\r]rj)r<rsrxZ vc_exact_verrrrru0s zSystemInfo._guess_vccCsd|j}tjj|j|S)z< Locate Visual C for versions prior to 2017 z Microsoft Visual Studio %0.1f\VC)rhrrrrr)r<rsrrrrv@s zSystemInfo._guess_vc_legacycCsJ|jdkrdS|jdkrdS|jdkr*dS|jd kr8dS|jdkrFdSdS)zN Microsoft Windows SDK versions for specified MSVC++ version. g"@7.06.16.0ag$@7.17.0ag&@8.08.0ag(@8.18.1ag,@10.0N)r|r}r~)rr)rr)rr)rr)rh)r<rrrWindowsSdkVersionGs     zSystemInfo.WindowsSdkVersioncCs|jtjj|jdS)z4 Microsoft Windows SDK last version lib)_use_last_dir_namerrr WindowsSdkDir)r<rrrWindowsSdkLastVersionWs z SystemInfo.WindowsSdkLastVersioncCsTd}x8|jD].}tjj|jjd|}|jj|d}|r Pq W| sRtjj| rtjj|jjd|j }|jj|d}|rtjj|d}| stjj| rxH|jD]>}|d|j d}d |}tjj|j |}tjj|r|}qW| stjj| r:x:|jD]0}d |}tjj|j |}tjj|r|}qW|sPtjj|j d }|S) z2 Microsoft Windows SDK directory. rzv%sinstallationfolderz%0.1frZWinSDKN.zMicrosoft SDKs\Windows Kits\%szMicrosoft SDKs\Windows\v%sZ PlatformSDK) rrrrrfrUrbrwrSrhrfindrerz)r<sdkdirr'locrZ install_baseZintverdrrrr_s6     zSystemInfo.WindowsSdkDirc Cs|jdkrd}d}n&d}|jdkr&dnd}|jjd|d}d ||jd d f}g}|jd krx(|jD]}|tjj|jj ||g7}qdWx,|j D]"}|tjj|jj d ||g7}qWx |D]}|jj |d}|rPqW|S)z= Microsoft Windows SDK executable directory. g&@#r(g(@TF)r9rCzWinSDK-NetFx%dTools%srF-g,@zv%sAr) rhrNrDr;NetFxSdkVersionrrrrfrVrrUrb) r<Znetfxverr(rCZfxZregpathsr'rZexecpathrrrWindowsSDKExecutablePaths$    " z#SystemInfo.WindowsSDKExecutablePathcCs.d|j}tjj|jj|}|jj|dp,dS)z0 Microsoft Visual F# directory. z%0.1f\Setup\F#rr)rhrrrrfrOrb)r<rrrrFSharpInstallDirs zSystemInfo.FSharpInstallDircCsF|jdkrd}nf}x(|D] }|jj|jjd|}|rPqW|pDdS)z8 Microsoft Universal CRT SDK directory. g,@1081z kitsroot%sr)rr)rhrfrbrW)r<Zversr'rrrrUniversalCRTSdkDirs    zSystemInfo.UniversalCRTSdkDircCs|jtjj|jdS)z@ Microsoft Universal C Runtime SDK last version r)rrrrr)r<rrrUniversalCRTSdkLastVersions z%SystemInfo.UniversalCRTSdkLastVersioncCs|jdkrdSfSdS)z8 Microsoft .NET Framework SDK versions. g,@4.6.14.6N)rr)rh)r<rrrrs zSystemInfo.NetFxSdkVersioncCs>x4|jD]*}tjj|jj|}|jj|d}|rPqW|p)sz0SystemInfo._use_last_dir_name..Nr)reversedrr{next)r<rrZ matching_dirsr)rrrrs zSystemInfo._use_last_dir_name)N)r) rr r rIrJrKrdrerrr=rgrirLrtrzrurvrrrrrrrrrrrrrrrrrrrrcs4         &     rcc@sReZdZdZd=ddZeddZedd Zed d Zed d Z eddZ eddZ eddZ eddZ eddZeddZddZeddZeddZed d!Zed"d#Zed$d%Zed&d'Zed(d)Zed*d+Zed,d-Zed.d/Zed0d1Zed2d3Zed4d5Zd>d7d8Zd9d:Zd?d;d<Z dS)@r$aY Return environment variables for specified Microsoft Visual C++ version and platform : Lib, Include, Path and libpath. This function is compatible with Microsoft Visual C++ 9.0 to 14.0. Script created by analysing Microsoft environment configuration files like "vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ... Parameters ---------- arch: str Target architecture. vc_ver: float Required Microsoft Visual C++ version. If not set, autodetect the last version. vc_min_ver: float Minimum Microsoft Visual C++ version. NrcCsBt||_t|j|_t|j||_|j|kr>d}tjj |dS)Nz.No suitable Microsoft Visual C++ version found) r8rNrMrfrcsirhr r!r")r<r(rhr,rkrrrr=Is    zEnvironmentInfo.__init__cCs|jjS)z/ Microsoft Visual C++ version. )rrh)r<rrrrhRszEnvironmentInfo.vc_vercsVddg}jdkrDjjddd}|dg7}|dg7}|d|g7}fd d |DS) z/ Microsoft Visual Studio Tools z Common7\IDEz Common7\Toolsg,@T)rCr9z1Common7\IDE\CommonExtensions\Microsoft\TestWindowzTeam Tools\Performance ToolszTeam Tools\Performance Tools%scsg|]}tjjjj|qSr)rrrrrt)rr)r<rr fsz+EnvironmentInfo.VSTools..)rhrNrD)r<paths arch_subdirr)r<rVSToolsYs   zEnvironmentInfo.VSToolscCs$tjj|jjdtjj|jjdgS)zL Microsoft Visual C++ & Microsoft Foundation Class Includes ZIncludezATLMFC\Include)rrrrrz)r<rrr VCIncludeshszEnvironmentInfo.VCIncludescsbjdkrjjdd}njjdd}d|d|g}jdkrP|d|g7}fd d |DS) zM Microsoft Visual C++ & Microsoft Foundation Class Libraries g.@T)r9)rCzLib%sz ATLMFC\Lib%sg,@z Lib\store%scsg|]}tjjjj|qSr)rrrrrz)rr)r<rrr~sz/EnvironmentInfo.VCLibraries..)rhrNrE)r<rrr)r<r VCLibrariesps  zEnvironmentInfo.VCLibrariescCs"|jdkrgStjj|jjdgS)zA Microsoft Visual C++ store references Libraries g,@zLib\store\references)rhrrrrrz)r<rrr VCStoreRefss zEnvironmentInfo.VCStoreRefscCs|j}tjj|jdg}|jdkr&dnd}|jj|}|rT|tjj|jd|g7}|jdkrd|jjdd}|tjj|j|g7}n|jdkr|jj rd nd }|tjj|j||jj dd g7}|jj |jj kr|tjj|j||jjdd g7}n|tjj|jd g7}|S) z, Microsoft Visual C++ Tools Z VCPackagesg$@TFzBin%sg,@)rCg.@z bin\HostX86%sz bin\HostX64%s)r9Bin) rrrrrzrhrNrHrDrBrErAr?)r<rtoolsrGrrZhost_dirrrrVCToolss&   zEnvironmentInfo.VCToolscCst|jdkr2|jjddd}tjj|jjd|gS|jjdd}tjj|jjd}|j}tjj|d||fgSdS) z1 Microsoft Windows SDK Libraries g$@T)rCr9zLib%s)r9rz%sum%sN) rhrNrErrrrr _sdk_subdir)r<rrZlibverrrr OSLibrariess zEnvironmentInfo.OSLibrariescCs|tjj|jjd}|jdkr.|tjj|dgS|jdkr@|j}nd}tjj|d|tjj|d|tjj|d|gSd S) z/ Microsoft Windows SDK Include includeg$@Zglg,@rz%ssharedz%sumz%swinrtN)rrrrrrhr)r<rsdkverrrr OSIncludess  zEnvironmentInfo.OSIncludescCstjj|jjd}g}|jdkr*||j7}|jdkrH|tjj|dg7}|jdkr||tjj|jjdtjj|ddtjj|d dtjj|d dtjj|jjd d d |jdddg7}|S)z7 Microsoft Windows SDK Libraries Paths Z Referencesg"@g&@zCommonConfiguration\Neutralg,@Z UnionMetadataz'Windows.Foundation.UniversalApiContractz1.0.0.0z%Windows.Foundation.FoundationContractz,Windows.Networking.Connectivity.WwanContractZ ExtensionSDKszMicrosoft.VCLibsz%0.1fZCommonConfigurationZneutral)rrrrrrhr)r<reflibpathrrr OSLibpaths>     zEnvironmentInfo.OSLibpathcCs t|jS)z- Microsoft Windows SDK Tools )list _sdk_tools)r<rrrSdkToolsszEnvironmentInfo.SdkToolsccs|jdkr0|jdkrdnd}tjj|jj|V|jjsd|jjdd}d|}tjj|jj|V|jdksx|jdkr|jj rd }n|jjddd }d |}tjj|jj|VnL|jdkrtjj|jjd}|jjdd}|jj }tjj|d ||fV|jj r|jj Vd S)z= Microsoft Windows SDK Tools paths generator g.@g&@rzBin\x86T)r9zBin%sg$@r)rCr9zBin\NETFX 4.0 Tools%sz%s%sN) rhrrrrrrNrBrDr@rr)r<Zbin_dirrrrrrrrs(     zEnvironmentInfo._sdk_toolscCs|jj}|rd|SdS)z6 Microsoft Windows SDK version subdir z%s\r)rr)r<ucrtverrrrrszEnvironmentInfo._sdk_subdircCs"|jdkrgStjj|jjdgS)z- Microsoft Windows SDK Setup g"@ZSetup)rhrrrrr)r<rrrSdkSetup%s zEnvironmentInfo.SdkSetupcs|j}|j|jdkr0d}|j o,|j }n$|jp>|j}|jdkpR|jdk}g}|rt|fddjD7}|r|fddjD7}|S)z0 Microsoft .NET Framework Tools g$@Tr:csg|]}tjjj|qSr)rrrr)rr')rrrr@sz+EnvironmentInfo.FxTools..csg|]}tjjj|qSr)rrrr)rr')rrrrCs) rNrrhr@rBrAr?rr)r<rNZ include32Z include64rr)rrFxTools/s     zEnvironmentInfo.FxToolscCs>|jdks|jj rgS|jjdd}tjj|jjd|gS)z8 Microsoft .Net Framework SDK Libraries g,@T)r9zlib\um%s)rhrrrNrErrr)r<rrrrNetFxSDKLibrariesGsz!EnvironmentInfo.NetFxSDKLibrariescCs,|jdks|jj rgStjj|jjdgS)z7 Microsoft .Net Framework SDK Includes g,@z include\um)rhrrrrr)r<rrrNetFxSDKIncludesRsz EnvironmentInfo.NetFxSDKIncludescCstjj|jjdgS)z> Microsoft Visual Studio Team System Database z VSTSDB\Deploy)rrrrrt)r<rrrVsTDb\szEnvironmentInfo.VsTDbcCs~|jdkrgS|jdkr0|jj}|jjdd}n |jj}d}d|j|f}tjj||g}|jdkrz|tjj||dg7}|S)z( Microsoft Build Engine g(@g.@T)rCrzMSBuild\%0.1f\bin%sZRoslyn) rhrrrrNrDrtrrr)r< base_pathrrZbuildrrrMSBuildcs   zEnvironmentInfo.MSBuildcCs"|jdkrgStjj|jjdgS)z. Microsoft HTML Help Workshop g&@zHTML Help Workshop)rhrrrrrr)r<rrrHTMLHelpWorkshopzs z EnvironmentInfo.HTMLHelpWorkshopcCsL|jdkrgS|jjdd}tjj|jjd}|j}tjj|d||fgS)z= Microsoft Universal C Runtime SDK Libraries g,@T)r9rz%sucrt%s) rhrNrErrrrr _ucrt_subdir)r<rrrrrr UCRTLibrariess  zEnvironmentInfo.UCRTLibrariescCs6|jdkrgStjj|jjd}tjj|d|jgS)z; Microsoft Universal C Runtime SDK Include g,@rz%sucrt)rhrrrrrr)r<rrrr UCRTIncludess zEnvironmentInfo.UCRTIncludescCs|jj}|rd|SdS)zB Microsoft Universal C Runtime SDK version subdir z%s\r)rr)r<rrrrrszEnvironmentInfo._ucrt_subdircCs |jdkr|jdkrgS|jjS)z% Microsoft Visual F# g&@g(@)rhrr)r<rrrFSharpszEnvironmentInfo.FSharpcCsl|jjdd}|jdkr&|jj}d}n|jjjdd}d}|jdkrHdn|j}|||j|f}tjj||S) zA Microsoft Visual C++ runtime redistribuable dll T)r9z-redist%s\Microsoft.VC%d0.CRT\vcruntime%d0.dllz\Toolsz\Redistz.onecore%s\Microsoft.VC%d0.CRT\vcruntime%d0.dllg,@) rNrErhrrzr;rrr)r<rZ redist_pathZ vcruntimeZdll_verrrrVCRuntimeRedists zEnvironmentInfo.VCRuntimeRedistTcCst|jd|j|j|j|jg||jd|j|j|j|j |j g||jd|j|j|j |j g||jd|j |j|j|j|j|j|j|j|jg |d}|jdkrtjj|jr|j|d<|S)z Return environment dict. Parameters ---------- exists: bool It True, only return existing paths. rrrr)rrrrZpy_vcruntime_redist)dict _build_pathsrrrrrrrrrrrrrrrrrrrrhrrrr)r<existsenvrrrr%sD   zEnvironmentInfo.return_envc Csxtjj|}tj|djtj}tj||}|rBtt tj j |n|}|sbd|j }t jj||j|} tjj| S)a Given an environment variable name and specified paths, return a pathsep-separated string of paths containing unique, extant, directories from those paths and from the environment variable. Raise an error if no paths are resolved. rz %s environment variable is empty) itertoolschain from_iterablerJrKsplitrpathseprfilterrrwupperr r!r"_unique_everseenr) r<r^Zspec_path_listsrZ spec_pathsZ env_pathsrZ extant_pathsryZ unique_pathsrrrrs     zEnvironmentInfo._build_pathsccsjt}|j}|dkr:xPt|j|D]}|||Vq"Wn,x*|D]"}||}||kr@|||Vq@WdS)z List unique elements, preserving order. Remember all elements ever seen. _unique_everseen('AAAABBBCCDAABBB') --> A B C D _unique_everseen('ABBCcAD', str.lower) --> A B C D N)setaddr __contains__)r<iterablerseenZseen_addelementkrrrrs   z EnvironmentInfo._unique_everseen)Nr)T)N)!rr r rIr=rLrhrrrrrrrrrrrrrrrrrrrrrrrr%rrrrrrr$1s:       -        -r$)r)r)!rIrr.platformrZdistutils.errorsr Z#setuptools.extern.packaging.versionrZsetuptools.extern.six.movesrZmonkeyrsystemrenvironrJr ImportErrorr!r"Z_msvc9_suppress_errorsZdistutils.msvc9compilerrrrr-r1r&r8rMrcr$rrrrs>      + /& %[bPKge[WƖsite-patch.cpython-36.opt-1.pycnu[3 vh @sddZedkre[dS)cCsddl}ddl}|jjd}|dks4|jdkr:| r:g}n |j|j}t|di}|jt |d}|jj t }x|D]}||ksv| rqv|j|}|dk r|j d}|dk r|j dPqvy ddl} | j d|g\} } } Wntk rwvYnX| dkrqvz| j d| | | Wd| jXPqvWtdtdd|jD} t|d d}d|_x|D]}t|qXW|j|7_t|d\}}d}g}xl|jD]b}t|\}}||kr|dkrt |}|| ks|dkr|j|n|j|||d 7}qW||jdd<dS) N PYTHONPATHZwin32path_importer_cachesitez$Couldn't find the real 'site' modulecSsg|]}t|ddfqS))makepath).0itemr /usr/lib/python3.6/site-patch.py )sz__boot.. __egginsertr)sysosenvirongetplatformsplitpathsepgetattrpathlendirname__file__ find_module load_moduleimp ImportErrorclosedictr addsitedirrappendinsert)r rrZpicZstdpathZmydirrZimporterloaderrstreamrZdescr known_pathsZoldposdZndZ insert_atnew_pathpZnpr r r __boots`               r(rN)r(__name__r r r r sGPKge[dkS glibc.cpython-36.pycnu[3 vhJ @sHddlmZddlZddlZddlZddZddZddZd d ZdS) )absolute_importNc CsPtjd}y |j}Wntk r(dSXtj|_|}t|tsL|jd}|S)z9Returns glibc version string, or None if not using glibc.Nascii) ctypesZCDLLgnu_get_libc_versionAttributeErrorZc_char_pZrestype isinstancestrdecode)Zprocess_namespacer version_strr /usr/lib/python3.6/glibc.pyglibc_version_string s    r cCsHtjd|}|s$tjd|tdSt|jd|koFt|jd|kS)Nz$(?P[0-9]+)\.(?P[0-9]+)z=Expected glibc version with 2 components major.minor, got: %sFmajorminor)rematchwarningswarnRuntimeWarningintgroup)r required_major minimum_minormr r r check_glibc_version$s  rcCst}|dkrdSt|||S)NF)r r)rrr r r r have_compatible_glibc4srcCst}|dkrdSd|fSdS)zTry to determine the glibc version Returns a tuple of strings (lib, version) which default to empty strings in case the lookup fails. NZglibc)rr)r )Z glibc_versionr r r libc_verLsr) Z __future__rrrrr rrrr r r r s PKge[oarchive_util.cpython-36.pycnu[3 vh@sdZddlZddlZddlZddlZddlZddlZddlmZddl m Z ddddd d d gZ Gd d d eZ d dZ e dfddZe fdd Ze fddZe fddZeeefZdS)z/Utilities for extracting common archive formatsN)DistutilsError)ensure_directoryunpack_archiveunpack_zipfileunpack_tarfiledefault_filterUnrecognizedFormatextraction_driversunpack_directoryc@seZdZdZdS)rz#Couldn't recognize the archive typeN)__name__ __module__ __qualname____doc__rr"/usr/lib/python3.6/archive_util.pyrscCs|S)z@The default progress/filter callback; returns True for all filesr)srcdstrrrrsc CsNxH|ptD]0}y||||Wntk r4w Yq XdSq Wtd|dS)aUnpack `filename` to `extract_dir`, or raise ``UnrecognizedFormat`` `progress_filter` is a function taking two arguments: a source path internal to the archive ('/'-separated), and a filesystem path where it will be extracted. The callback must return the desired extract path (which may be the same as the one passed in), or else ``None`` to skip that file or directory. The callback can thus be used to report on the progress of the extraction, as well as to filter the items extracted or alter their extraction paths. `drivers`, if supplied, must be a non-empty sequence of functions with the same signature as this function (minus the `drivers` argument), that raise ``UnrecognizedFormat`` if they do not support extracting the designated archive type. The `drivers` are tried in sequence until one is found that does not raise an error, or until all are exhausted (in which case ``UnrecognizedFormat`` is raised). If you do not supply a sequence of drivers, the module's ``extraction_drivers`` constant will be used, which means that ``unpack_zipfile`` and ``unpack_tarfile`` will be tried, in that order. Nz!Not a recognized archive type: %s)r r)filename extract_dirprogress_filterZdriversZdriverrrrrsc Cstjj|std||d|fi}xtj|D]\}}}||\}}x4|D],} || dtjj|| f|tjj|| <qLWx\|D]T} tjj|| } ||| | } | sqt| tjj|| } tj| | tj | | qWq0WdS)z"Unpack" a directory, using the same interface as for archives Raises ``UnrecognizedFormat`` if `filename` is not a directory z%s is not a directory/N) ospathisdirrwalkjoinrshutilZcopyfileZcopystat) rrrpathsbasedirsfilesrrdftargetrrrr ?s      ,  c Cstj|std|ftj|}x|jD]}|j}|jds.d|jdkrRq.tj j |f|jd}|||}|szq.|j drt |n4t ||j |j}t|d}|j|WdQRX|jd?} | r.tj|| q.WWdQRXdS)zUnpack zip `filename` to `extract_dir` Raises ``UnrecognizedFormat`` if `filename` is not a zipfile (as determined by ``zipfile.is_zipfile()``). See ``unpack_archive()`` for an explanation of the `progress_filter` argument. z%s is not a zip filerz..wbN)zipfileZ is_zipfilerZZipFileZinfolistr startswithsplitrrrendswithrreadopenwriteZ external_attrchmod) rrrzinfonamer$datar#Zunix_attributesrrrrZs(        c Cshytj|}Wn$tjk r2td|fYnXtj|dd|_x |D]}|j}|jd oxd|j dkrTt j j |f|j d}xV|dk r|j s|jr|j}|jrtj|j}tj ||}tj|}|j|}qW|dk rT|js|jrT|||} | rT| jt jr,| dd } y|j|| WqTtjk rTYqTXqTWdSQRXdS) zUnpack tar/tar.gz/tar.bz2 `filename` to `extract_dir` Raises ``UnrecognizedFormat`` if `filename` is not a tarfile (as determined by ``tarfile.open()``). See ``unpack_archive()`` for an explanation of the `progress_filter` argument. z/%s is not a compressed or uncompressed tar filecWsdS)Nr)argsrrrsz unpack_tarfile..rz..NT)tarfiler,ZTarErrorr contextlibclosingchownr1r(r)rrrZislnkZissymZlinkname posixpathdirnamenormpathZ _getmemberisfilerr*sepZ_extract_memberZ ExtractError) rrrZtarobjmemberr1Z prelim_dstZlinkpathrZ final_dstrrrrs8       )rr'r7rrr;r8Zdistutils.errorsrZ pkg_resourcesr__all__rrrr rrr rrrrs$    "  % .PKge[4< < lib2to3_ex.cpython-36.opt-1.pycnu[3 vh@sXdZddlmZddlmZddlmZmZddl Z GdddeZ Gdd d eZdS) zy Customized Mixin2to3 support: - adds support for converting doctests This module raises an ImportError on Python 2. ) Mixin2to3)log)RefactoringToolget_fixers_from_packageNc@s$eZdZddZddZddZdS)DistutilsRefactoringToolcOstj|f|dS)N)rerror)selfmsgargskwr /usr/lib/python3.6/lib2to3_ex.py log_errorsz"DistutilsRefactoringTool.log_errorcGstj|f|dS)N)rinfo)rr r r r r log_messagesz$DistutilsRefactoringTool.log_messagecGstj|f|dS)N)rdebug)rr r r r r log_debugsz"DistutilsRefactoringTool.log_debugN)__name__ __module__ __qualname__rrrr r r r rsrc@s&eZdZd ddZddZddZdS) rFcCsr|jjdk rdS|sdStjddj||j|j|rbtjrnt |j }|j |dddn t j ||dS)NTzFixing  )writeZ doctests_only) distributionZuse_2to3rrjoin_Mixin2to3__build_fixer_names_Mixin2to3__exclude_fixers setuptoolsZrun_2to3_on_doctestsr fixer_namesZrefactor _Mixin2to3run_2to3)rfilesZdoctestsrr r r rs  zMixin2to3.run_2to3cCsb|jr dSg|_xtjD]}|jjt|qW|jjdk r^x |jjD]}|jjt|qFWdS)N)rrZlib2to3_fixer_packagesextendrrZuse_2to3_fixers)rpr r r Z__build_fixer_names.s  zMixin2to3.__build_fixer_namescCsNt|dg}|jjdk r&|j|jjx"|D]}||jkr,|jj|q,WdS)NZexclude_fixers)getattrrZuse_2to3_exclude_fixersr"rremove)rZexcluded_fixersZ fixer_namer r r Z__exclude_fixers8s     zMixin2to3.__exclude_fixersN)F)rrrrrrr r r r rs  r) __doc__Zdistutils.utilrrZ distutilsrZlib2to3.refactorrrrrr r r r s    PKge[Pm=.[.[config.cpython-36.opt-1.pycnu[3 \Ќ @stdZddlZddlZddlZddlZddlZddlZddlZddlZyddl Z ddl Z Wne k rpdZ YnXddl mZmZdZejZdad+ddZdd Zd d Zd d ZddZddZddZddZejdejZddZGddde Z!Gddde"e!Z#Gddde$e!Z%Gdd d e&e!Z'Gd!d"d"e Z(Gd#d$d$e(Z)e)Z*d%d&Z+edfd'd(Z,d)d*Z-dS),a Configuration functions for the logging package for Python. The core package is based on PEP 282 and comments thereto in comp.lang.python, and influenced by Apache's log4j system. Copyright (C) 2001-2014 Vinay Sajip. All Rights Reserved. To use, simply 'import logging' and log away! N)ThreadingTCPServerStreamRequestHandleriF#Tc Csddl}t||jr|}n*|j|}t|dr:|j|n |j|t|}tj z t t ||}t |||Wdtj XdS)aD Read the logging configuration from a ConfigParser-format file. This can be called several times from an application, allowing an end user the ability to select from various pre-canned configurations (if the developer provides a mechanism to present the choices and load the chosen configuration). rNreadline) configparser isinstanceZRawConfigParserZ ConfigParserhasattrZ read_fileread_create_formatterslogging _acquireLock_clearExistingHandlers_install_handlers_install_loggers _releaseLock)ZfnameZdefaultsdisable_existing_loggersrcp formattershandlersr&/usr/lib64/python3.6/logging/config.py fileConfig8s       rc Csp|jd}|jd}t|}xN|D]F}|d|}yt||}Wq"tk rft|t||}Yq"Xq"W|S)z)Resolve a dotted name to a global object..r)splitpop __import__getattrAttributeError)nameusedfoundnrrr_resolveZs    r!cCstdd|S)NcSs|jS)N)strip)xrrrisz_strip_spaces..)map)Zalistrrr _strip_spaceshsr&c Cs|dd}t|siS|jd}t|}i}x~|D]v}d|}|j|dddd}|j|d ddd}|j|d dd d}tj}||jd } | rt| }||||} | ||<q4W|S) zCreate and return formattersrkeys,z formatter_%sformatTN)rawfallbackdatefmtstyle%class)lenrr&getr Formatterr!) rZflistrZformZsectnameZfsZdfsZstlc class_namefrrrr ks$     r c CsD|dd}t|siS|jd}t|}i}g}x|D]}|d|}|d}|jdd}yt|tt}Wn ttfk rt |}YnX|d} t| tt} || } d |kr|d } | j | t|r| j ||t |tj jr|jd d} t| r|j| | f| ||<q8Wx |D]\} } | j|| q$W|S) zInstall and return handlersrr'r(z handler_%sr/ formatterargsleveltarget)r0rr&r1evalvarsr r NameErrorr!setLevel setFormatter issubclassr MemoryHandlerappendZ setTarget)rrhlistrZfixupshandsectionklassfmtr8hr9r:trrrr s>         r cCsHtj}x<|D]4}|jj|}||kr:tj|_g|_d|_q ||_q WdS)a When (re)configuring logging, handle loggers which were in the previous configuration but are not in the new configuration. There's no point deleting them as other threads may continue to hold references to them; and by disabling them, you stop them doing any logging. However, don't disable children of named loggers, as that's probably not what was intended by the user. Also, allow existing loggers to NOT be disabled if disable_existing is false. TN) r rootmanager loggerDictZNOTSETr9r propagatedisabled)existing child_loggersdisable_existingrJlogloggerrrr_handle_existing_loggerss   rTcCs,|dd}|jd}ttdd|}|jd|d}tj}|}d|kr^|d}|j|x |jd d D]}|j|qnW|d } t | r| jd} t | } x| D]} |j || qWt|j j j} | jg} x>|D]4}|d |}|d } |jd dd}tj| }| | kr| j| d}| d}t |}t | }x<||kr| |d ||krt| j| ||d7}qFW| j| d|kr|d}|j|x"|jd d D]}|j|qW||_d|_|d } t | r| jd} t | } x| D]} |j || qWqWt| | |d S)zCreate and install loggersloggersr'r(cSs|jS)N)r")r#rrrr$sz"_install_loggers..rJZ logger_rootr9Nrz logger_%squalnamerM)r+rr)rlistr%remover rJr>r removeHandlerr0r& addHandlerrKrLr'sortZgetint getLoggerindexrBrMrNrT)rrrQZllistrErJrRr9rHrCrDrOrPZqnrMrSiprefixedpflen num_existingrrrrsd                rcCs.tjjtjtjddtjdd=dS)z!Clear and close existing handlersN)r _handlersclearZshutdownZ _handlerListrrrrr s r z^[a-z_][a-z0-9_]*$cCstj|}|std|dS)Nz!Not a valid Python identifier: %rT) IDENTIFIERmatch ValueError)smrrr valid_idents  rjc@s"eZdZdZdddZddZdS) ConvertingMixinz?For ConvertingXXX's, this mixin class provides common functionsTcCsB|jj|}||k r>|r |||<t|tttfkr>||_||_|S)N) configuratorconverttypeConvertingDictConvertingListConvertingTupleparentkey)selfrsvaluereplaceresultrrrconvert_with_key$s  z ConvertingMixin.convert_with_keycCs0|jj|}||k r,t|tttfkr,||_|S)N)rlrmrnrorprqrr)rtrurwrrrrm0s   zConvertingMixin.convertN)T)__name__ __module__ __qualname____doc__rxrmrrrrrk!s rkc@s,eZdZdZddZd ddZd ddZdS) roz A converting dictionary wrapper.cCstj||}|j||S)N)dict __getitem__rx)rtrsrurrrr~Es zConvertingDict.__getitem__NcCstj|||}|j||S)N)r}r1rx)rtrsdefaultrurrrr1IszConvertingDict.getcCstj|||}|j||ddS)NF)rv)r}rrx)rtrsrrurrrrMszConvertingDict.pop)N)N)ryrzr{r|r~r1rrrrrroBs roc@s"eZdZdZddZd ddZdS) rpzA converting list wrapper.cCstj||}|j||S)N)rXr~rx)rtrsrurrrr~Ss zConvertingList.__getitem__rWcCstj||}|j|S)N)rXrrm)rtidxrurrrrWs zConvertingList.popN)r)ryrzr{r|r~rrrrrrpQsrpc@seZdZdZddZdS)rqzA converting tuple wrapper.cCstj||}|j||ddS)NF)rv)tupler~rx)rtrsrurrrr~]s zConvertingTuple.__getitem__N)ryrzr{r|r~rrrrrq[srqc@seZdZdZejdZejdZejdZejdZ ejdZ ddd Z e e Zd d Zd d ZddZddZddZddZddZdS)BaseConfiguratorzI The configurator base class which defines some useful defaults. z%^(?P[a-z]+)://(?P.*)$z ^\s*(\w+)\s*z^\.\s*(\w+)\s*z^\[\s*(\w+)\s*\]\s*z^\d+$ ext_convert cfg_convert)ZextZcfgcCst||_||j_dS)N)roconfigrl)rtrrrr__init__vs zBaseConfigurator.__init__c Cs|jd}|jd}y`|j|}xP|D]H}|d|7}yt||}Wq&tk rl|j|t||}Yq&Xq&W|Stk rtjdd\}}td||f}|||_ |_ |YnXdS)z` Resolve strings to objects using standard import and attribute syntax. rrrWNzCannot resolve %r: %s) rrimporterrr ImportErrorsysexc_inforg __cause__ __traceback__) rtrhrrrZfragetbvrrrresolvezs"      zBaseConfigurator.resolvecCs |j|S)z*Default converter for the ext:// protocol.)r)rtrurrrrszBaseConfigurator.ext_convertc Cs|}|jj|}|dkr&td|n||jd}|j|jd}x|r|jj|}|rp||jd}nd|jj|}|r|jd}|jj|s||}n2yt |}||}Wnt k r||}YnX|r||jd}qJtd||fqJW|S)z*Default converter for the cfg:// protocol.NzUnable to convert %rrzUnable to convert %r at %r) WORD_PATTERNrfrgendrgroups DOT_PATTERN INDEX_PATTERN DIGIT_PATTERNint TypeError)rtrurestridrr rrrrs2       zBaseConfigurator.cfg_convertcCst|t r&t|tr&t|}||_nt|t rLt|trLt|}||_n|t|t rrt|trrt|}||_nVt|tr|j j |}|r|j }|d}|j j |d}|r|d}t||}||}|S)z Convert values to an appropriate type. dicts, lists and tuples are replaced by their converting alternatives. Strings are checked to see if they have a conversion format and are converted if they do. prefixNsuffix)rror}rlrprXrqrstrCONVERT_PATTERNrf groupdictvalue_convertersr1r)rtrurirrZ converterrrrrrms*     zBaseConfigurator.convertcsrjd}t|s|j|}jdd}tfddD}|f|}|rnx |jD]\}}t|||qVW|S)z1Configure an object with a user-supplied factory.z()rNcs g|]}t|r||fqSr)rj).0k)rrr sz5BaseConfigurator.configure_custom..)rcallablerr}itemssetattr)rtrr3propskwargsrwrrur)rrconfigure_customs    z!BaseConfigurator.configure_customcCst|trt|}|S)z0Utility function which converts lists to tuples.)rrXr)rtrurrras_tuples zBaseConfigurator.as_tupleN)ryrzr{r|recompilerrrrrr staticmethodrrrrrrrmrrrrrrrbs      "rc@s^eZdZdZddZddZddZdd Zd d Zd d Z dddZ dddZ dddZ dS)DictConfiguratorz] Configure logging using a dictionary-like object to describe the configuration. cCs|j}d|krtd|ddkr2td|d|jdd}i}tjz|r|jd|}x|D]}|tjkrtd|qfy6tj|}||}|jd d }|r|jtj|Wqft k r} ztd || fWYd d } ~ XqfXqfW|jd |} xZ| D]R}y|j || |d Wn4t k rP} ztd|| fWYd d } ~ XnXqW|jdd } | ry|j | d Wn0t k r} ztd| WYd d } ~ XnXn:|jdd } t |jd|} xZ| D]R}y|j | || |<Wn4t k r"} ztd|| fWYd d } ~ XnXqW|jd|}xZ|D]R}y|j||||<Wn4t k r} ztd|| fWYd d } ~ XnXq _checkLevel Exceptionconfigure_loggerconfigure_rootr configure_formatterconfigure_filtersortedconfigure_handlerrrrBrJrXrKrLr'r\r^r0rYrTr)rtrrZ EMPTY_DICTrrhandlerZhandler_configr9rrUrJrQrrZdeferredrOrPr_r`rarbrrr configures        "  $    $  $   $  $      $ zDictConfigurator.configurec Csd|krr|d}y|j|}Wqtk rn}z4dt|kr>|jd|d<||d<|j|}WYdd}~XqXnP|jdd}|jdd}|jdd}|jd d}|stj} nt|} | |||}|S) z(Configure a formatter from a dictionary.z()z'format'r)rGNr,r-r.r/)rrrrr1r r2r!) rtrfactoryrwterGZdfmtr-cnamer3rrrrs&      z$DictConfigurator.configure_formattercCs.d|kr|j|}n|jdd}tj|}|S)z%Configure a filter from a dictionary.z()rr7)rr1r ZFilter)rtrrwrrrrrs    z!DictConfigurator.configure_filtercCs^xX|D]P}y|j|jd|Wqtk rT}ztd||fWYdd}~XqXqWdS)z/Add filters to a filterer from a list of names.rzUnable to add filter %r: %sN)Z addFilterrrrg)rtZfiltererrr5rrrr add_filterss  zDictConfigurator.add_filtersc/st}jdd}|r^y|jd|}Wn2tk r\}ztd||fWYdd}~XnXjdd}jdd}dkrjd}t|s|j|}|}njd} |j| } t| tj j od krHy>|jd d } t | tj sj |td | d <Wn8tk rD}ztd d |fWYdd}~XnXnZt| tj jrvd krv|jd d <n,t| tj jrdkr|jdd<| }jdd} tfddD} y|f| }WnLtk r"}z.dt|kr| jd| d<|f| }WYdd}~XnX|r4|j||dk rN|jtj||r`|j||| rx"| jD]\}}t|||qpW|S)z&Configure a handler from a dictionary.r6NrzUnable to set formatter %r: %sr9rz()r/r:rztarget not configured yetz#Unable to set target handler %r: %sZmailhostZaddressrcs g|]}t|r||fqSr)rj)rr)rrrrsz6DictConfigurator.configure_handler..z'stream'streamZstrm)r}rrrrgrrr@r rrArZHandlerupdaterZ SMTPHandlerrZ SysLogHandlerrr?r>rrrr)rtrZ config_copyr6rr9rr3rrrFZthrrrwrrrur)rrrsl          $      z"DictConfigurator.configure_handlercCs^xX|D]P}y|j|jd|Wqtk rT}ztd||fWYdd}~XqXqWdS)z.Add handlers to a logger from a list of names.rzUnable to add handler %r: %sN)r[rrrg)rtrSrrHrrrr add_handlerss  zDictConfigurator.add_handlersFcCs|jdd}|dk r$|jtj||sx |jddD]}|j|q8W|jdd}|rf|j|||jdd}|r|j||dS)zU Perform configuration which is common to root and non-root loggers. r9Nrr)r1r>r rrrZrr)rtrSrrr9rHrrrrrcommon_logger_configs    z%DictConfigurator.common_logger_configcCs6tj|}|j||||jdd}|dk r2||_dS)z.Configure a non-root logger from a dictionary.rMN)r r]rr1rM)rtrrrrSrMrrrrs   z!DictConfigurator.configure_loggercCstj}|j|||dS)z*Configure a root logger from a dictionary.N)r r]r)rtrrrJrrrrszDictConfigurator.configure_rootN)F)F)F) ryrzr{r|rrrrrrrrrrrrrrs ?  rcCst|jdS)z%Configure logging using a dictionary.N)dictConfigClassr)rrrr dictConfig srcsPts tdGdddt}Gdddt}Gfdddtj||||S)au Start up a socket server on the specified port, and listen for new configurations. These will be sent as a file suitable for processing by fileConfig(). Returns a Thread object on which you can call start() to start the server, and which you can join() when appropriate. To stop the server, call stopListening(). Use the ``verify`` argument to verify any bytes received across the wire from a client. If specified, it should be a callable which receives a single argument - the bytes of configuration data received across the network - and it should return either ``None``, to indicate that the passed in bytes could not be verified and should be discarded, or a byte string which is then passed to the configuration machinery as normal. Note that you can return transformed bytes, e.g. by decrypting the bytes passed in. z listen() needs threading to workc@seZdZdZddZdS)z#listen..ConfigStreamHandlerz Handler for a logging configuration request. It expects a completely new logging configuration and uses fileConfig to install it. cSsHy|j}|jd}t|dkrtjd|d}|jj|}x&t||krd||j|t|}q@W|jjdk r~|jj|}|dk r|jd}yddl}|j |}t |WnHt k rt j |}y t|Wnt k rtjYnXYnX|jjr|jjjWn2tk rB}z|jtkr2WYdd}~XnXdS)z Handle a request. Each request is expected to be a 4-byte length, packed using struct.pack(">L", n), followed by the config file. Uses fileConfig() to do the grunt work. z>LrNzutf-8)Z connectionZrecvr0structZunpackserververifydecodejsonloadsrrioStringIOr traceback print_excreadysetOSErrorerrno RESET_ERROR)rtZconnchunkZslenrrfilerrrrhandleBs6           z*listen..ConfigStreamHandler.handleN)ryrzr{r|rrrrrConfigStreamHandler;src@s0eZdZdZdZdedddfddZddZdS) z$listen..ConfigSocketReceiverzD A simple TCP socket-based logging config receiver. rWZ localhostNcSs>tj|||f|tjd|_tjd|_||_||_dS)NrrW) rrr r abortrtimeoutrr)rthostportrrrrrrrpsz-listen..ConfigSocketReceiver.__init__cSsfddl}d}xJ|sV|j|jjggg|j\}}}|r>|jtj|j}tjqW|jj dS)Nr) selectZsocketfilenorZhandle_requestr r rrclose)rtrrZrdwrZexrrrserve_until_stoppedzs z8listen..ConfigSocketReceiver.serve_until_stopped)ryrzr{r|Zallow_reuse_addressDEFAULT_LOGGING_CONFIG_PORTrrrrrrConfigSocketReceiveris  rcs&eZdZfddZddZZS)zlisten..Servercs4t|j||_||_||_||_tj|_dS)N) superrrcvrhdlrrr threadingZEventr)rtrrrr)Server __class__rrrs zlisten..Server.__init__cSsZ|j|j|j|j|jd}|jdkr0|jd|_|jjtj|a tj |j dS)N)rrrrrrW) rrrrrZserver_addressrr r _listenerrr)rtrrrrruns     zlisten..Server.run)ryrzr{rr __classcell__r)r)rrrsr)threadNotImplementedErrorrrrZThread)rrrrr)rrlisten%s .rc Cs*tjztrdt_daWdtjXdS)zN Stop the listening server which was created with a call to listen(). rWN)r r rrrrrrr stopListenings r)NT).r|rrr Zlogging.handlersrrrr_threadrrrZ socketserverrrrZ ECONNRESETrrrr!r&r r rTrr rIrerjobjectrkr}rorXrprrqrrrrrrrrrrsP   "#W! 9|PKge[S }==ssl_support.cpython-36.pycnu[3 vh,!"@sddlZddlZddlZddlZddlZddlmZmZmZm Z ddl m Z m Z y ddl Z Wnek rtdZ YnXdddddgZd jjZyejjZejZWnek reZZYnXe dk oeeefkZydd l mZmZWnRek r:ydd lmZdd lmZWnek r4dZdZYnXYnXesRGd ddeZesjdddZddZGdddeZGdddeZd ddZ ddZ!e!ddZ"ddZ#ddZ$dS)!N)urllib http_clientmapfilter)ResolutionErrorExtractionErrorVerifyingHTTPSHandlerfind_ca_bundle is_available cert_paths opener_fora /etc/pki/tls/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt /usr/share/ssl/certs/ca-bundle.crt /usr/local/share/certs/ca-root.crt /etc/ssl/cert.pem /System/Library/OpenSSL/certs/cert.pem /usr/local/share/certs/ca-root-nss.crt /etc/ssl/ca-bundle.pem )CertificateErrormatch_hostname)r )rc@s eZdZdS)r N)__name__ __module__ __qualname__rr!/usr/lib/python3.6/ssl_support.pyr 5sr c Csg}|s dS|jd}|d}|dd}|jd}||krLtdt||s`|j|jkS|dkrt|jdn>|jd s|jd r|jtj|n|jtj|j d d x|D]}|jtj|qWtj d d j |dtj } | j |S)zpMatching according to RFC 6125, section 6.4.3 http://tools.ietf.org/html/rfc6125#section-6.4.3 F.rrN*z,too many wildcards in certificate DNS name: z[^.]+zxn--z\*z[^.]*z\Az\.z\Z)splitcountr reprlowerappend startswithreescapereplacecompilejoin IGNORECASEmatch) ZdnhostnameZ max_wildcardsZpatspartsZleftmostZ remainderZ wildcardsZfragZpatrrr_dnsname_match;s*     r&cCs|s tdg}|jdf}x0|D](\}}|dkr"t||r@dS|j|q"W|sxF|jdfD]6}x0|D](\}}|dkrjt||rdS|j|qjWq`Wt|dkrtd|d jtt|fn*t|dkrtd ||d fntd dS) a=Verify that *cert* (in decoded format as returned by SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 rules are followed, but IP addresses are not accepted for *hostname*. CertificateError is raised on failure. On success, the function returns nothing. zempty or no certificateZsubjectAltNameZDNSNZsubjectZ commonNamerz&hostname %r doesn't match either of %sz, zhostname %r doesn't match %rrz=no appropriate commonName or subjectAltName fields were found) ValueErrorgetr&rlenr r!rr)Zcertr$ZdnsnamesZsankeyvaluesubrrrros.     rc@s eZdZdZddZddZdS)rz=Simple verifying handler: no auth, subclasses, timeouts, etc.cCs||_tj|dS)N) ca_bundle HTTPSHandler__init__)selfr-rrrr/szVerifyingHTTPSHandler.__init__csjfdd|S)Ncst|jf|S)N)VerifyingHTTPSConnr-)hostkw)r0rrsz2VerifyingHTTPSHandler.https_open..)Zdo_open)r0Zreqr)r0r https_opensz VerifyingHTTPSHandler.https_openN)rrr__doc__r/r5rrrrrsc@s eZdZdZddZddZdS)r1z@Simple verifying connection: no auth, subclasses, timeouts, etc.cKstj||f|||_dS)N)HTTPSConnectionr/r-)r0r2r-r3rrrr/szVerifyingHTTPSConn.__init__c Cstj|j|jft|dd}t|drHt|ddrH||_|j|j}n|j}tt drxt j |j d}|j ||d|_nt j |t j |j d|_yt|jj|Wn.tk r|jjtj|jjYnXdS)NZsource_address_tunnel _tunnel_hostcreate_default_context)Zcafile)Zserver_hostname)Z cert_reqsZca_certs)socketZcreate_connectionr2Zportgetattrhasattrsockr8r9sslr:r-Z wrap_socketZ CERT_REQUIREDrZ getpeercertr ZshutdownZ SHUT_RDWRclose)r0r>Z actual_hostZctxrrrconnects$  zVerifyingHTTPSConn.connectN)rrrr6r/rArrrrr1sr1cCstjjt|ptjS)z@Get a urlopen() replacement that uses ca_bundle for verification)rrequestZ build_openerrr open)r-rrrr scstjfdd}|S)Ncstds||_jS)Nalways_returns)r=rD)argskwargs)funcrrwrappers  zonce..wrapper) functoolswraps)rGrHr)rGroncesrKc sXy ddl}Wntk r dSXGfddd|j}|jd|jd|jS)Nrcs,eZdZfddZfddZZS)z"get_win_certfile..CertFilecst|jtj|jdS)N)superr/atexitregisterr@)r0)CertFile __class__rrr/sz+get_win_certfile..CertFile.__init__c s,yt|jWntk r&YnXdS)N)rLr@OSError)r0)rOrPrrr@sz(get_win_certfile..CertFile.close)rrrr/r@ __classcell__r)rO)rPrrOsrOZCAZROOT) wincertstore ImportErrorrOZaddstorename)rSZ _wincertsr)rOrget_win_certfiles    rVcCs$ttjjt}tp"t|dp"tS)z*Return an existing CA bundle path, or NoneN)rospathisfiler rVnext_certifi_where)Zextant_cert_pathsrrrr s c Cs,y tdjStttfk r&YnXdS)NZcertifi) __import__whererTrrrrrrr[s r[)r)N)%rWr;rMrrIZsetuptools.extern.six.movesrrrrZ pkg_resourcesrrr?rT__all__striprr rBr.r7AttributeErrorobjectr r rZbackports.ssl_match_hostnamer'r&rr1r rKrVr r[rrrrsP      4) (   PKge[dep_util.cpython-36.pycnu[3 vh@sddlmZddZdS)) newer_groupcCslt|t|krtdg}g}xBtt|D]2}t||||r.|j|||j||q.W||fS)zWalk both arguments in parallel, testing if each source group is newer than its corresponding target. Returns a pair of lists (sources_groups, targets) where sources is newer than target, according to the semantics of 'newer_group()'. z5'sources_group' and 'targets' must be the same length)len ValueErrorrangerappend)Zsources_groupsZtargetsZ n_sourcesZ n_targetsir/usr/lib/python3.6/dep_util.pynewer_pairwise_groupsr N)Zdistutils.dep_utilrr rrrr s PK.ge[NSM_M_install.cpython-311.pycnu[ bh%odZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z ddl mZddlmZdd lmZmZmZdd lmZdd l mZdd lmZdd lmZeduZdZiiidZeD]6ZdD]1\ZZeZ ej!eZ"edkree"vrdZ e"e eee<27eD]Z#ee#$D]\ZZ%ej&dde%Z%e%'ddZ%e%'ddZ%edkre%dz Z%ej(dkredkre%'ddZ%e%ee#e<erdddd d!ded"<ddd#d$d!ded%<Gd&d'eZ)dS)(zFdistutils.command.install Implements the Distutils 'install' command.N)log)Command)DEBUG)get_config_vars)DistutilsPlatformError) write_file) convert_path subst_vars change_root) get_platform)DistutilsOptionError) USER_BASE) USER_SITE)purelibplatlibheadersscriptsdata) unix_prefix unix_homent))r posix_prefix)r posix_home)rrrincludez \{(.+?)\}z$\g<1>z$installed_basez$basez$py_version_nodot_platz$py_version_nodotz /$dist_name) rz/lib/z /$platlibdir/z $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbasent_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/bin unix_usercJeZdZdZgdZgdZer0edddezfedddiZ e e d d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d efd!efd"e fd#e!fd$d%fgZ"dS)&installz'install everything from build directory))zprefix=Nzinstallation prefix)z exec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)z install-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nz-K-K-M-M*407#:J2A2:N0N069I"1"9M0M*0&,/:+6(0*-.    A+/+@D Z (+/+@D Z (  $T * * L)2)A()K)KD X &  /000$(#4 '+'<$  % % % % % % % . ! ! ! F4# $ $ $  +,,, 9 $  ! ! # # #   # , 8#'#7  #'#7 5)Y$fi 9 9 9  7   z: 6 6 6    #/7<<(8$/JJ 9   i 9' < < < ./// ""7#?#= ? ? ? ? ?s E++ E:9E:ctsdSddlm}tj|dz|jD]}|d}|ddkr |dd}||jvr4|j|}||}t|| }n%||}t||}tjd||dS)zDumps the list of user options.Nr) longopt_xlate:=z %s: %s) rdistutils.fancy_getoptrrdebug user_options negative_opt translategetattr)rEmsgroptopt_namevals rFrbzinstall.dump_dirss  F888888 #)$ 1 1C1vH|s""#AbD>4,,,,X6#--m<<!$111#--m<<dH-- Ij(C 0 0 0 0 1 1rHc|j|j;|j|j|j|j|j|jtddS|j r@|j td|j x|_|_| ddS|j *|j x|_|_| ddS|j|jtdt jt&j|jz|_t jt&j|jz|_n|j |j|_|j|_|j|_| ddS)z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incomplete$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)r0r1r6r3r4r5r7r8r r(r:r select_schemer/r-r.r_rznormpathrer)rDs rFrczinstall.finalize_unixs   (D,A,M!)%-%-$,$,!)*:;;; F 9 .$,,:<<<8<8M MD  5   { + + + + + Y "8< AD  5   { + + + + +{"#/.FHHHG$$SZ0043HH G$$S_558MM  #+'+{D$ $ D $($4D !   } - - - - -rHc4|jrM|jtd|jx|_|_|t jdzdS|j*|jx|_|_|ddS|j .t j tj |_ |j x|_|_ |t jdS#t$rtdt jzwxYw)z)Finalizes options for non-posix platformsNr_userrz)I don't know how to install stuff on '%s')r(r:rr0r1rr_r`r/r-rzrreKeyErrorrDs rFrdzinstall.finalize_others& 9 M$,,:<<<8<8M MD  5   rw0 1 1 1 1 1 Y "8< AD  5   { + + + + +{" g..sz:: 8< CD  5 M""27+++++ M M M,ABGKMMM Ms C00'Dct|}tD].}d|z}t||t||||/dS)z=Sets the install directories by applying the install schemes.install_N)INSTALL_SCHEMES SCHEME_KEYSrsetattr)rEr`schemekeyattrnames rFrzinstall.select_schemesX!& 5 5C!C'HtX&&.hs 444 5 5rHc|D]y}t||}|etjdkstjdkrtj|}t ||j}t|||zdS)NrJr)rr_r`rz expanduserr rnr)rEattrsattrrs rF _expand_attrszinstall._expand_attrss ) )D$%%C7g%%D',,S11C d&677dC(((  ) )rHc4|gddS)zNCalls `os.path.expanduser` on install_base, install_platbase and root.)r0r1r2NrrDs rFrrzinstall.expand_basedirss% GGGHHHHHrHc4|gddS)z+Calls `os.path.expanduser` on install dirs.)r3r4r6r5r7r8NrrDs rFrtzinstall.expand_dirss; @@@ A A A A ArHc r|D]3}d|z}t||tt||4dS)z!Call `convert_path` over `names`.rN)rr rrEnamesr`rs rFrwzinstall.convert_pathssP C CD$D D$ WT4-@-@ A A B B B B C CrHc|j|jj|_|jtjdt |jt r|jd|_t|jdkr|jdx}}n2t|jdkr |j\}}ntdt|}nd}d}||_ ||_ dS) z4Set `path_file` and `extra_dirs` using `extra_path`.NzIDistribution option extra_path is deprecated. See issue27919 for details.,r,rrKzY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsr*) r=rirra isinstancestrrglenr r path_filer|)rErr|s rFrxzinstall.handle_extra_paths ? ""/:DO ? & H.   $/3// ="&/"7"7"<"<4?##q(()-);; JJT_%%**(,% ::*DEEE &j11JJIJ#$rHc ~|D]9}d|z}t||t|jt||:dS)z:Change the install directories pointed by name using root.rN)rr r2rrs rFr}zinstall.change_roots&sT M MD$D D$ DIwtT7J7J K K L L L L M MrHcp|jsdSttjd}|jD]f\}}||rLtj|s-| d|ztj |dgdS)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i) r(r r_rzrrnitems startswithisdir debug_printmakedirs)rEr/r`rzs rFruzinstall.create_home_path,sy  FBG..s3344*0022 ) )JD$t$$ )RW]]4-@-@ )  !;d!BCCC D%((( ) )rHc|js\|d|jdj}|jr!|t krtd|D]}|||j r| |j r| }|j rFt|j }tt|D]}|||d||<|t"|j |fd|j zt%t&jjt,j}t%t&jj|}t&jt&j|j}|jr.|j r|js$||vrt5jd|jdSdSdSdS)zRuns the command.r^z"Can't install when cross-compilingNz'writing list of installed files to '%s'zmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)r? run_commandriget_command_obj plat_namer@r rget_sub_commandsrcreate_path_filerC get_outputsr2rrangeexecutermapr_rzrrenormcaser6r>rr)rE build_platcmd_nameoutputsroot_lencountersys_pathr6s rFrunz install.run8s# @   W % % %*::7CCMJ} @|~~!=!=,.?@@@--// ' 'H   X & & & & > $  ! ! # # # ; &&&((Gy Cty>>$S\\22CCG'.w'7 'BGG$$ LL+w/B% & & & rw'22rw'22g&&rw'7'78H'I'IJJ M ) )$($: ) x ' ' IH' ) ) ) ) ) ) ) ' ' ) )rHctj|j|jdz}|jr)|t||jgfd|zdS| d|zdS)zCreates the .pth file.pthz creating %szpath file '%s' not createdN) r_rzr{ryrr>rrr|ra)rEfilenames rFrzinstall.create_path_fileds7<< 4 $ 799  ! ? LL"T_$56&1 3 3 3 3 3 II2X= > > > > >rHc^g}|D]G}||}|D]}||vr||H|jrG|jr@|t j|j |jdz|S)z.Assembles the outputs of all the sub-commands.r) rget_finalized_commandrappendrr>r_rzr{ry)rErrcmdrs rFrzinstall.get_outputsrs--// - -H,,X66C OO-- - -7**NN8,,, - > Bd4 B NN27<<(<(,(?AA B B BrHcg}|D]>}||}||?|S)z*Returns the inputs of all the sub-commands)rrextend get_inputs)rEinputsrrs rFrzinstall.get_inputss[--// , ,H,,X66C MM#..** + + + + rHcf|jp|jS)zSReturns true if the current distribution has any Python modules to install.)rihas_pure_moduleshas_ext_modulesrDs rFhas_libzinstall.has_libs2!22444!1133 5rHc4|jS)zLReturns true if the current distribution has any headers to install.)ri has_headersrDs rFrzinstall.has_headers ,,...rHc4|jS)zMReturns true if the current distribution has any scripts to. install.)ri has_scriptsrDs rFrzinstall.has_scriptsrrHc4|jS)zJReturns true if the current distribution has any data to. install.)rihas_data_filesrDs rFhas_datazinstall.has_datas //111rHr6r5r7r8install_egg_infocdS)NTrDs rFzinstall.sTrH)#__name__ __module__ __qualname__ descriptionrboolean_optionsr9rrrrror)rGrrbrcrdrrrrrtrwrxr}rurrrrrrrr sub_commandsrrHrFr r Zs&;K9 9 9 Lv988O'VT@9LN O O Ov&&& 9-Lwy*rs//  """"""!!!!!!//////333333******@@@@@@@@@@''''''111111$& C #%2R@@  J JC3 J J./@ )  : 5 5  G6@6I-.s33 J / /H%h/5577 / / U|Y66 /99 68KLL )   ] "E  v % %#*:*:MM'?;;E).!#&& / I> " " OI K" $ $ OK Q Q Q Q Q gQ Q Q Q Q rHPK.ge[G{ { clean.cpython-311.pycnu[ !A?h RdZddlZddlmZddlmZddlmZGddeZdS)zBdistutils.command.clean Implements the Distutils 'clean' command.N)Command) remove_tree)logc2eZdZdZgdZdgZdZdZdZdS)cleanz-clean up temporary files from 'build' command))z build-base=bz2base build directory (default: 'build.build-base'))z build-lib=Nz>$/ * * '  > > > > > I=o ' ' ' 8 ("n"o"02 ( ( 7>>),,( 4<@@@@@HD&(((( |  )))$/:::::       s 3D DDN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr'rrrr scAK   LgOAAArr) __doc__rdistutils.corerdistutils.dir_utilr distutilsrrr.rrr3s--  """"""******@@@@@G@@@@@rPK.ge[.rr bdist_dumb.cpython-311.opt-2.pycnu[ !A?h1t ddlZddlmZddlmZddlmZmZddlTddl m Z ddl m Z Gdd eZ dS) N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc heZdZdZddddezfdddd d d d g Zgd ZdddZdZdZ dZ dS) bdist_dumbz"create a "dumb" built distribution)z bdist-dir=dz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s))zformat=fz>archive format to create (tar, gztar, bztar, xztar, ztar, zip)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z dist-dir=r z-directory to put final built distributions in) skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths (default: false))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])rrrgztarzip)posixntcd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfs 5/usr/lib64/python3.11/distutils/command/bdist_dumb.pyinitialize_optionszbdist_dumb.initialize_options2sE     c`|j?|dj}tj|d|_|jH |jtj|_n*#t$rtdtjzwxYw| dddddS)Nbdistdumbz@don't know how to create dumb built distributions on platform %s)rr)rr)rr) rget_finalized_command bdist_baseospathjoinrdefault_formatnameKeyErrorDistutilsPlatformErrorset_undefined_options)r"r*s r#finalize_optionszbdist_dumb.finalize_options=s > !33G<<GJW\\*f==DN ;  3"1"':  3 3 3,(*,'2333 3 ""7#;#=#? A A A A As A,,'Bc|js|d|dd}|j|_|j|_d|_t jd|j|d|j d|j }tj |j|}|js|j}n|jrJ|j|jkr:t'dt)|jd t)|jd tj |jt+|j}|||j||j|j }|jrt5}nd }|jjd ||f|jst=|j|jdSdS)Nbuildinstall)reinit_subcommandsrzinstalling to %s.zLcan't make a dumb built distribution where base and platbase are different (z, ))root_dirr r!anyr )dry_run) r run_commandreinitialize_commandrrootwarn_dirr info distribution get_fullnamerr+r,r-rrhas_ext_modules install_baseinstall_platbaser1reprr make_archiverr r!r dist_filesappendrrr=)r"r6archive_basenamepseudoinstall_root archive_rootfilename pyversions r#runzbdist_dumb.runOs% &   W % % %++I!+LL~ !_ #T^444 ###'+&7&D&D&F&F&F&F&*nn6 W\\$-9IJJ} J>LL!1133 J%)AAA,,w34444w78888:;;; "w||DN#273G#H#H J J $$%7%)[<+/:TZ%II   , , . . *,,III $++\9-5-7 8 8 8~ >  = = = = = = > >r%N) __name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr.r$r3rQr%r#r r s8KJ!3%'3|~~67#:FK)12+L4>==O '"%%N   AAA$,>,>,>,>,>r%r )r+distutils.corerdistutils.utilrdistutils.dir_utilrrdistutils.errorsdistutils.sysconfigr distutilsr r rXr%r#r_s  """"""'''''';;;;;;;;222222l>l>l>l>l>l>l>l>l>l>r%PK.ge[]$  bdist.cpython-311.opt-1.pycnu[ !A?hTdZddlZddlmZddlTddlmZdZGddeZdS) zidistutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).N)Command)*) get_platformcddlm}g}tjD]3}|d|zdtj|df4||}|ddS)zFPrint list of available formats (arguments to "--format" option). r) FancyGetoptformats=Nz'List of available distribution formats:)distutils.fancy_getoptrbdistformat_commandsappendformat_command print_help)rformatsformatpretty_printers 0/usr/lib64/python3.11/distutils/command/bdist.py show_formatsr s322222G':: V+T,V4Q79 : : : : [))NGHHHHHceZdZdZddddezfdddd d gZd gZd d defgZdZ dddZ gdZ ddddddddZ dZ dZdZd S)r z$create a built (binary) distribution)z bdist-base=bz4temporary directory for creating built distributionsz plat-name=pz;platform name to embed in generated filenames (default: %s))rNz/formats for distribution (comma-separated list))z dist-dir=dz=directory to put final built distributions in [default: dist]) skip-buildNz2skip rebuilding everything (for testing/debugging))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]rz help-formatsNz$lists available distribution formats) bdist_rpmgztarzip)posixnt)rpmrbztarxztarztartarr)rzRPM distribution) bdist_dumbzgzip'ed tar file)r'zbzip2'ed tar file)r'zxz'ed tar file)r'zcompressed tar file)r'ztar file)r'zZIP filechd|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_base plat_namerdist_dir skip_buildgroupowner)selfs rinitialize_optionszbdist.initialize_optionsLs7    rc|j:|jrt|_n|dj|_|jG|dj}t j|d|jz|_| d|j I |j t j g|_ n*#t$rtdt j zwxYw|j d|_dSdS)Nbuildzbdist.rz;don't know how to create built distributions on platform %sdist)r*r,rget_finalized_commandr) build_baseospathjoinensure_string_listrdefault_formatnameKeyErrorDistutilsPlatformErrorr+)r/r5s rfinalize_optionszbdist.finalize_optionsUs > ! O!-!%!;!;G!D!D!N ? "33G<<GJ gll:+3dn+DFFDO  *** <  2 $ 3BG <=  2 2 2,')+1222 2 = "DMMM ! s -C 'C2cg}|jD]I} ||j|d*#t$rt d|zwxYwt t |jD]}||}||}||jvr|j||_ |dkr|j |_ |j |_ |||dzdvrd|_ | |dS)Nrzinvalid format '%s'r'r )rr rr<DistutilsOptionErrorrangelenreinitialize_commandno_format_optionrr.r- keep_temp run_command)r/commandsricmd_namesub_cmds rrunz bdist.runqs0l K KF K 3F ;A >???? K K K*+@6+IJJJ Ks4<(()) ' 'A{H//99Gt444!%a<'' $  $  8AaCDD>))$%!   X & & & & ' 's &4A)__name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr help_optionsrDr:r rr0r>rKrrr r s8KM!3%'3|~~67H(K12L($nO  / ? L & '!##NONNO BAB?D99 N###8'''''rr ) __doc__r6distutils.corerdistutils.errorsdistutils.utilrrr rSrrrXs  """"""'''''' I I Ir'r'r'r'r'Gr'r'r'r'r'rPK.ge[YYbdist_rpm.cpython-311.opt-1.pycnu[ !A?h!TdZddlZddlZddlZddlmZddlmZddlm Z ddl Tddl m Z ddl mZGd d eZdS) zwdistutils.command.bdist_rpm Implements the Distutils 'bdist_rpm' command (create RPM source and binary distributions).N)Command)DEBUG) write_file)*)get_python_version)logcXeZdZdZgdZgdZddddZdZd Zd Z d Z d Z d Z dZ dS) bdist_rpmzcreate an RPM distribution)))z bdist-base=Nz/base directory for creating built distributions)z rpm-base=Nzdbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2))z dist-dir=dzDdirectory to put final RPM files in (and .spec files if --spec-only))zpython=NzMpath to Python interpreter to hard-code in the .spec file (default: "python"))z fix-pythonNzLhard-code the exact path to the current Python interpreter in the .spec file)z spec-onlyNzonly regenerate spec file)z source-onlyNzonly generate source RPM)z binary-onlyNzonly generate binary RPM)z use-bzip2Nz7use bzip2 instead of gzip to create source distribution)zdistribution-name=Nzgname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!))zgroup=Nz9package classification [default: "Development/Libraries"])zrelease=NzRPM release number)zserial=NzRPM serial number)zvendor=NzaRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script])z packager=NzBRPM packager (eg. "Jane Doe ") [default: vendor])z doc-files=Nz6list of documentation files (space or comma-separated))z changelog=Nz RPM changelog)zicon=Nzname of icon file)z provides=Nz%capabilities provided by this package)z requires=Nz%capabilities required by this package)z conflicts=Nz-capabilities which conflict with this package)zbuild-requires=Nz+capabilities required to build this package)z obsoletes=Nz*capabilities made obsolete by this package) no-autoreqNz+do not automatically calculate dependencies) keep-tempkz"don't clean up RPM build directory) no-keep-tempNz&clean up RPM build directory [default])use-rpm-opt-flagsNz8compile with RPM_OPT_FLAGS when building from source RPM)no-rpm-opt-flagsNz&do not pass any RPM CFLAGS to compiler) rpm3-modeNz"RPM 3 compatibility mode (default)) rpm2-modeNzRPM 2 compatibility mode)z prep-script=Nz3Specify a script for the PREP phase of RPM building)z build-script=Nz4Specify a script for the BUILD phase of RPM building)z pre-install=Nz:Specify a script for the pre-INSTALL phase of RPM building)zinstall-script=Nz6Specify a script for the INSTALL phase of RPM building)z post-install=Nz;Specify a script for the post-INSTALL phase of RPM building)zpre-uninstall=Nzs r@finalize_optionszbdist_rpm.finalize_optionssU ""7,HIII = > C*ACCCGLL%@@DM ;  (!n ' _ N&LNN N 7g  (*246G*<== =   L 0 L&JLL L 0022 '%&D " ""7,DEEE ""$$$$$rBcd|dd|d|jd|jd|d|dt |jtrGdD]D}tj |r#||jvr|j |E|d d |d |d |d | |j |_ |d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|ddS)Nr"zDevelopment/Librariesr%z <>r&r')READMEz README.txtr#1r$r!r(r)r*r+r,r-r.r/r0r1r2r4r5r6r7r8r=) ensure_stringrQ get_contactget_contact_emailensure_string_list isinstancer'listrJrKexistsappend_format_changelogr(ensure_filename)r?readmes r@rSzbdist_rpm.finalize_package_datas 7$;<<< 8(,(9(E(E(G(G(G(G(,(9(K(K(M(M(M(MO P P P :&&&  ,,, dnd + + 22 2 27>>&))2fDN.J.JN))&111 9c*** 8$$$ ./// ;'''//?? V$$$ ]+++ ^,,, -... ^,,, _--- ]+++ ^,,, _--- -...  +++  +++  ,,,  0111  ,,, <(((((rBc trctdtd|jtd|jtd|jtd|j|jr|j}||nRi}dD]E}tj |j |||<|||F|d}tj |d|j z}|t ||fd |z|jrdS|j jdd}|d }|jr d g|_nd g|_|d ||j _|d }|d}||||jrWtj |jr||j|nt7d|jzt9jddg} |jr| dn2|j r| dn| d| !dd|j"zg|j#r<| !ddtj $|j zg|j%s| d|j&r| d| |d} | dz} d| zdz} d| d| d |d!} tj'| } g}d} |(}|snL|)*}||d#||d }c|+}|rtYd$t[| z |+n#|+wxYw|.| |j/s|j 0rtc}nd%}|j stj |d&|}|2||jtj |j|}|j jd'||f|js|D]}tj |d(|}tj |r|2||jtj |jtj 3|}|j jd'||fdSdSdS))Nzbefore _get_package_data():zvendor =z packager =z doc_files =z changelog =)SOURCESSPECSBUILDRPMSSRPMSrfz%s.specz writing '%s'sdistbztargztarrrezicon file '%s' does not existz building RPMsrpmbuildz-bsz-bbz-baz--definez __python %sz _topdir %sz--cleanz--quietz%{name}-%{version}-%{release}z.src.rpmz%{arch}/z .%{arch}.rpmz rpm -q --qf ' z\n' --specfile ''TrzFailed to execute: %sanyrir rh)4rprintr%r&r'r(rrmkpathrJrKrLrrQget_nameexecuter_make_spec_file dist_filesreinitialize_commandr formats run_commandget_archive_files copy_filer)r_DistutilsFileErrorrinforr`rextendrr;abspathr9rpopenreadlinestripsplitcloseDistutilsExecErrorreprspawndry_runrRr move_filebasename)r?spec_dirrpm_dirr spec_pathsaved_dist_filesrjsource source_dirrpm_cmd nvr_stringsrc_rpm non_src_rpmq_cmdout binary_rpms source_rpmlinelstatus pyversionsrpmfilenamerEs r@runz bdist_rpm.runs  1 / 0 0 0 *dk * * * , . . . - 0 0 0 - 0 0 0 > (}H KK ! ! ! !GC ( (W\\$-;;  GAJ''''w'HGLL!*T->-G-G-I-I!IKK  Z**,,.#i/ 1 1 1 >  F ,7:))'22 > &$IEMM$IEM !!!'7$((**1-Y'  vz*** 9 Cw~~di(( Cty*5555(5 ACCC !!!,   " NN5 ! ! ! !   " NN5 ! ! ! ! NN5 ! ! ! MDK$?@AAA > M NNJ)BGOODM,J,JJL M M M~ & NN9 % % % : & NN9 % % %y!!! 5 z) :-> GG[[[)))-huoo KJ &||~~JJLL&&((""1Q4(((%!"1J &YY[[F P()@4;;)NOOO P IIKKKKCIIKKKK 7| @ 0022 ".00 ! # 8w||GG$4jAAtT]3337<< zBB!,33 )X6888# @&@@C',,wv<@@@+ @ @ @ @@@s BQQctj|jtj|S)N)rJrKrLrr)r?rKs r@ _dist_pathzbdist_rpm._dist_paths*w||DM27+;+;D+A+ABBBrBc  d|jzd|jddzd|jzd|jddzdd|jzg}t jd }d d | D}d }d }|||}||kr0| d| d|zd z| gd|j r| dn| d| d|j zd|jzddg|js/|js| dn| d|jzdD]}t#||}t'|t(r.| |dd|g|| |d||jdkr/| d|jz|jr| d|jz|jr0| d d|jz|jr:| d!t2j|jz|jr| d"| dd#|jg|jdt2jt>j d$}d%|z} |j!rd&| z} d'|z} d(d)d*| fd+d,| fd-d.d/d0d1d2g } | D]\} } }t#|| }|s|r| dd3| zg|rbtE|5}| |#$d dddn #1swxYwY| || gd4|j%r0| d5d|j%z|j&r1| dd6g| |j&|S)7ziGenerate the text of an RPM spec file and return it as a list of strings (one per line). z %define name z%define version -_z%define unmangled_version z%define release z Summary: zrpm --eval %{__os_install_post} c<g|]}d|zS)z %s \)r).0rs r@ z-bdist_rpm._make_spec_file..s;!G!G!G%)"+TZZ\\!9!G!G!GrBzbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post )z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %s)VendorPackagerProvidesRequires Conflicts Obsoletesz: rnNUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionrz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES)r3r*z&%setup -n %{name}-%{unmangled_version}buildr+installr,)cleanr-zrm -rf $RPM_BUILD_ROOT) verifyscriptr.N)prer/N)postr0N)preunr1N)postunr2N%)rz%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)'rQrs get_versionreplacer#get_description subprocess getoutputrL splitlinesr`r~r get_licenser"r=rRgetattrlowerr]r^get_urlr!r7r)rJrKrr<get_long_descriptionrrMargvr:openreadrr'r()r? spec_file vendor_hookproblemfixed fixed_hookfieldvaldef_setup_call def_build install_cmdscript_optionsrpm_optattrdefaultfs r@ruzbdist_rpm._make_spec_filesE d/88:: : !2!>!>!@!@!H!HS!Q!Q Q (4+<+H+H+J+J J !5!5c#!>!> >  $+;;== =  !*+LMM ii!G!G-8-C-C-E-E!G!G!GHH /9 ((%88  $ $   Q R R R   9JFM N N N $$$ % % % > M   L M M M M   K L L L $+7799 9  " L $ % % %  B$4466 6  !4555   o? A A A : :E$ ..C#t$$ :  UUUCHHSMMM!BCCCC  UUUCC!8999   $ $ & &) 3 3   Wt'8'@'@'B'BB C C C  ! H   -0FF G G G   <   . XXd&9::; < < < 9 E   X(8(8(C(CC D D D ? +   \ * * *     2 2 4 4   $%)KKK0@0@!0M0M0MN/  ! C6BI25CD  N ni 0 (+ 6 ? 3 ( * , .  )7 . . $WdG$%%C .g .  'M"$%%%.c?a!(()=)=>>>???????????????$$W---     > A   Wsxx'?'?? @ @ @ > -         T^ , , ,s-;R44R8 ;R8 c`|s|Sg}|dD]t}|}|ddkr|d|g:|ddkr||\|d|zu|ds|d=|S)zKFormat the changelog correctly and convert it to a list of strings rrrrrz )rrr~r`)r?r( new_changelogrs r@razbdist_rpm._format_changelog0s   OO%%++D11 2 2D::<+)+)+)ZB@B@B@HCCCgggRrBr )__doc__rrMrJdistutils.corerdistutils.debugrdistutils.file_utilrdistutils.errorsdistutils.sysconfigr distutilsrr rrBr@rs """"""!!!!!!******222222uuuuuuuuuurBPK.ge[NSM_M_install.cpython-311.opt-1.pycnu[ bh%odZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z ddl mZddlmZdd lmZmZmZdd lmZdd l mZdd lmZdd lmZeduZdZiiidZeD]6ZdD]1\ZZeZ ej!eZ"edkree"vrdZ e"e eee<27eD]Z#ee#$D]\ZZ%ej&dde%Z%e%'ddZ%e%'ddZ%edkre%dz Z%ej(dkredkre%'ddZ%e%ee#e<erdddd d!ded"<ddd#d$d!ded%<Gd&d'eZ)dS)(zFdistutils.command.install Implements the Distutils 'install' command.N)log)Command)DEBUG)get_config_vars)DistutilsPlatformError) write_file) convert_path subst_vars change_root) get_platform)DistutilsOptionError) USER_BASE) USER_SITE)purelibplatlibheadersscriptsdata) unix_prefix unix_homent))r posix_prefix)r posix_home)rrrincludez \{(.+?)\}z$\g<1>z$installed_basez$basez$py_version_nodot_platz$py_version_nodotz /$dist_name) rz/lib/z /$platlibdir/z $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbasent_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/bin unix_usercJeZdZdZgdZgdZer0edddezfedddiZ e e d d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d efd!efd"e fd#e!fd$d%fgZ"dS)&installz'install everything from build directory))zprefix=Nzinstallation prefix)z exec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)z install-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nz-K-K-M-M*407#:J2A2:N0N069I"1"9M0M*0&,/:+6(0*-.    A+/+@D Z (+/+@D Z (  $T * * L)2)A()K)KD X &  /000$(#4 '+'<$  % % % % % % % . ! ! ! F4# $ $ $  +,,, 9 $  ! ! # # #   # , 8#'#7  #'#7 5)Y$fi 9 9 9  7   z: 6 6 6    #/7<<(8$/JJ 9   i 9' < < < ./// ""7#?#= ? ? ? ? ?s E++ E:9E:ctsdSddlm}tj|dz|jD]}|d}|ddkr |dd}||jvr4|j|}||}t|| }n%||}t||}tjd||dS)zDumps the list of user options.Nr) longopt_xlate:=z %s: %s) rdistutils.fancy_getoptrrdebug user_options negative_opt translategetattr)rEmsgroptopt_namevals rFrbzinstall.dump_dirss  F888888 #)$ 1 1C1vH|s""#AbD>4,,,,X6#--m<<!$111#--m<<dH-- Ij(C 0 0 0 0 1 1rHc|j|j;|j|j|j|j|j|jtddS|j r@|j td|j x|_|_| ddS|j *|j x|_|_| ddS|j|jtdt jt&j|jz|_t jt&j|jz|_n|j |j|_|j|_|j|_| ddS)z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incomplete$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)r0r1r6r3r4r5r7r8r r(r:r select_schemer/r-r.r_rznormpathrer)rDs rFrczinstall.finalize_unixs   (D,A,M!)%-%-$,$,!)*:;;; F 9 .$,,:<<<8<8M MD  5   { + + + + + Y "8< AD  5   { + + + + +{"#/.FHHHG$$SZ0043HH G$$S_558MM  #+'+{D$ $ D $($4D !   } - - - - -rHc4|jrM|jtd|jx|_|_|t jdzdS|j*|jx|_|_|ddS|j .t j tj |_ |j x|_|_ |t jdS#t$rtdt jzwxYw)z)Finalizes options for non-posix platformsNr_userrz)I don't know how to install stuff on '%s')r(r:rr0r1rr_r`r/r-rzrreKeyErrorrDs rFrdzinstall.finalize_others& 9 M$,,:<<<8<8M MD  5   rw0 1 1 1 1 1 Y "8< AD  5   { + + + + +{" g..sz:: 8< CD  5 M""27+++++ M M M,ABGKMMM Ms C00'Dct|}tD].}d|z}t||t||||/dS)z=Sets the install directories by applying the install schemes.install_N)INSTALL_SCHEMES SCHEME_KEYSrsetattr)rEr`schemekeyattrnames rFrzinstall.select_schemesX!& 5 5C!C'HtX&&.hs 444 5 5rHc|D]y}t||}|etjdkstjdkrtj|}t ||j}t|||zdS)NrJr)rr_r`rz expanduserr rnr)rEattrsattrrs rF _expand_attrszinstall._expand_attrss ) )D$%%C7g%%D',,S11C d&677dC(((  ) )rHc4|gddS)zNCalls `os.path.expanduser` on install_base, install_platbase and root.)r0r1r2NrrDs rFrrzinstall.expand_basedirss% GGGHHHHHrHc4|gddS)z+Calls `os.path.expanduser` on install dirs.)r3r4r6r5r7r8NrrDs rFrtzinstall.expand_dirss; @@@ A A A A ArHc r|D]3}d|z}t||tt||4dS)z!Call `convert_path` over `names`.rN)rr rrEnamesr`rs rFrwzinstall.convert_pathssP C CD$D D$ WT4-@-@ A A B B B B C CrHc|j|jj|_|jtjdt |jt r|jd|_t|jdkr|jdx}}n2t|jdkr |j\}}ntdt|}nd}d}||_ ||_ dS) z4Set `path_file` and `extra_dirs` using `extra_path`.NzIDistribution option extra_path is deprecated. See issue27919 for details.,r,rrKzY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsr*) r=rirra isinstancestrrglenr r path_filer|)rErr|s rFrxzinstall.handle_extra_paths ? ""/:DO ? & H.   $/3// ="&/"7"7"<"<4?##q(()-);; JJT_%%**(,% ::*DEEE &j11JJIJ#$rHc ~|D]9}d|z}t||t|jt||:dS)z:Change the install directories pointed by name using root.rN)rr r2rrs rFr}zinstall.change_roots&sT M MD$D D$ DIwtT7J7J K K L L L L M MrHcp|jsdSttjd}|jD]f\}}||rLtj|s-| d|ztj |dgdS)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i) r(r r_rzrrnitems startswithisdir debug_printmakedirs)rEr/r`rzs rFruzinstall.create_home_path,sy  FBG..s3344*0022 ) )JD$t$$ )RW]]4-@-@ )  !;d!BCCC D%((( ) )rHc|js\|d|jdj}|jr!|t krtd|D]}|||j r| |j r| }|j rFt|j }tt|D]}|||d||<|t"|j |fd|j zt%t&jjt,j}t%t&jj|}t&jt&j|j}|jr.|j r|js$||vrt5jd|jdSdSdSdS)zRuns the command.r^z"Can't install when cross-compilingNz'writing list of installed files to '%s'zmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)r? run_commandriget_command_obj plat_namer@r rget_sub_commandsrcreate_path_filerC get_outputsr2rrangeexecutermapr_rzrrenormcaser6r>rr)rE build_platcmd_nameoutputsroot_lencountersys_pathr6s rFrunz install.run8s# @   W % % %*::7CCMJ} @|~~!=!=,.?@@@--// ' 'H   X & & & & > $  ! ! # # # ; &&&((Gy Cty>>$S\\22CCG'.w'7 'BGG$$ LL+w/B% & & & rw'22rw'22g&&rw'7'78H'I'IJJ M ) )$($: ) x ' ' IH' ) ) ) ) ) ) ) ' ' ) )rHctj|j|jdz}|jr)|t||jgfd|zdS| d|zdS)zCreates the .pth file.pthz creating %szpath file '%s' not createdN) r_rzr{ryrr>rrr|ra)rEfilenames rFrzinstall.create_path_fileds7<< 4 $ 799  ! ? LL"T_$56&1 3 3 3 3 3 II2X= > > > > >rHc^g}|D]G}||}|D]}||vr||H|jrG|jr@|t j|j |jdz|S)z.Assembles the outputs of all the sub-commands.r) rget_finalized_commandrappendrr>r_rzr{ry)rErrcmdrs rFrzinstall.get_outputsrs--// - -H,,X66C OO-- - -7**NN8,,, - > Bd4 B NN27<<(<(,(?AA B B BrHcg}|D]>}||}||?|S)z*Returns the inputs of all the sub-commands)rrextend get_inputs)rEinputsrrs rFrzinstall.get_inputss[--// , ,H,,X66C MM#..** + + + + rHcf|jp|jS)zSReturns true if the current distribution has any Python modules to install.)rihas_pure_moduleshas_ext_modulesrDs rFhas_libzinstall.has_libs2!22444!1133 5rHc4|jS)zLReturns true if the current distribution has any headers to install.)ri has_headersrDs rFrzinstall.has_headers ,,...rHc4|jS)zMReturns true if the current distribution has any scripts to. install.)ri has_scriptsrDs rFrzinstall.has_scriptsrrHc4|jS)zJReturns true if the current distribution has any data to. install.)rihas_data_filesrDs rFhas_datazinstall.has_datas //111rHr6r5r7r8install_egg_infocdS)NTrDs rFzinstall.sTrH)#__name__ __module__ __qualname__ descriptionrboolean_optionsr9rrrrror)rGrrbrcrdrrrrrtrwrxr}rurrrrrrrr sub_commandsrrHrFr r Zs&;K9 9 9 Lv988O'VT@9LN O O Ov&&& 9-Lwy*rs//  """"""!!!!!!//////333333******@@@@@@@@@@''''''111111$& C #%2R@@  J JC3 J J./@ )  : 5 5  G6@6I-.s33 J / /H%h/5577 / / U|Y66 /99 68KLL )   ] "E  v % %#*:*:MM'?;;E).!#&& / I> " " OI K" $ $ OK Q Q Q Q Q gQ Q Q Q Q rHPK.ge[Tcheck.cpython-311.pycnu[ !A?hdZddlmZddlmZ ddlmZddlmZddl m Z ddl m Z Gdd eZ d Z n #e$rd Z YnwxYwGd d eZdS)zCdistutils.command.check Implements the Distutils 'check' command. )Command)DistutilsSetupError)Reporter)Parser)frontend)nodesc eZdZ ddZdZdS)SilentReporterNrasciireplacec Jg|_tj||||||||dSN)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlers 0/usr/lib64/python3.11/distutils/command/check.pyrzSilentReporter.__init__s9DM  dFL*f#X} > > > > >c|j||||ftj|g|R||j|d|S)N)leveltype)rappendrsystem_messagelevels)rrmessagechildrenkwargss rrzSilentReporter.system_messagesc M %(F!C D D D'=)1==u-1[-?==5;== =r)Nrr r )__name__ __module__ __qualname__rrrrr r s=DH>G > > > >  = = = = =rr TFcPeZdZdZdZgdZgdZdZdZdZ dZ d Z d Z d Z d S) checkz6This command checks the meta-data of the package. z"perform some checks on the package))metadatamzVerify meta-data)restructuredtextrzEChecks if long string meta-data syntax are reStructuredText-compliant)strictsz(Will exit with an error if a check fails)r*r,r.c>d|_d|_d|_d|_dS)z Sets default values for options.rN)r,r*r. _warningsrs rinitialize_optionszcheck.initialize_options0s# !  rcdSrr'r3s rfinalize_optionszcheck.finalize_options7s rcL|xjdz c_tj||S)z*Counts the number of warnings that occurs.r1)r2rwarn)rmsgs rr8z check.warn:s$ !|D#&&&rc|jr||jr2tr|n|jrt d|jr|jdkrt ddSdS)zRuns the command.zThe docutils package is needed.rzPlease correct your package.N)r*check_metadatar, HAS_DOCUTILScheck_restructuredtextr.rr2r3s rrunz check.run?s = "    ! ! !   M M++---- M)*KLLL ; F4>A--%&DEE E F F--rc|jj}g}dD]7}t||rt||s||8|r+|dd|z|jr |js|ddSdS|j r |j s|ddSdS|ddS)a Ensures that all required elements of meta-data are supplied. Required fields: name, version, URL Recommended fields: (author and author_email) or (maintainer and maintainer_email) Warns if any are missing. )nameversionurlzmissing required meta-data: %sz, zNmissing meta-data: if 'author' supplied, 'author_email' should be supplied toozVmissing meta-data: if 'maintainer' supplied, 'maintainer_email' should be supplied toozkmissing meta-data: either (author and author_email) or (maintainer and maintainer_email) should be suppliedN) distributionr*hasattrgetattrrr8joinauthor author_email maintainermaintainer_email)rr*missingattrs rr;zcheck.check_metadataOsJ$-. % %DHd++ %$0G0G %t$$$  N II6$))G:L:LL M M M ? ,( C BCCCCC C C  ,, G FGGGGG G G II+ , , , , ,rc|j}||D]K}|dd}| |d}n|dd|d}||LdS)z4Checks if the long string fields are reST-compliant.lineNr1z (line ))rCget_long_description_check_rst_datagetr8)rdatawarningrOs rr=zcheck.check_restructuredtextps 5577++D11  G2;??6**D|!!*,3AJJJ= IIg       rc |jjpd}t} tj}|t}n=#t $r0tjtf}YnwxYwd|_d|_ d|_ t||j |j |j|j|j|j}t%j|||}||d |||n8#t $r+}|jdd|zd ifYd}~nd}~wwxYw|jS) z8Returns warnings when the provided data doesn't compile.zsetup.py) componentsN)rrrr)rrNz!Could not finish the parsing: %s.)rC script_namerrget_default_settingsAttributeError OptionParserget_default_values tab_widthpep_referencesrfc_referencesr rrwarning_streamrerror_encodingerror_encoding_error_handlerrdocument note_sourceparserr) rrT source_pathparserr[settingsreporterrees rrRzcheck._check_rst_data{s'3Az  4#+#@ ,+F33HH  X X X, BBBUUWWHHH X "&"&!+"/"-!)!8 (#+#:(0(M OOO>(H[III["--- G LLx ( ( ( ( G G G   $ $81r;r=rRr'rrr)r)#s7KBBBLA@@O   ''' FFF ,,,B   !!!!!rr)N)rmdistutils.corerdistutils.errorsrdocutils.utilsrdocutils.parsers.rstrdocutilsrrr r< Exceptionr)r'rrrws#"""""000000''''''++++++!!!!!! = = = = = = = =LLLLL w!w!w!w!w!Gw!w!w!w!w!s(9AAPK.ge[]$  bdist.cpython-311.pycnu[ !A?hTdZddlZddlmZddlTddlmZdZGddeZdS) zidistutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).N)Command)*) get_platformcddlm}g}tjD]3}|d|zdtj|df4||}|ddS)zFPrint list of available formats (arguments to "--format" option). r) FancyGetoptformats=Nz'List of available distribution formats:)distutils.fancy_getoptrbdistformat_commandsappendformat_command print_help)rformatsformatpretty_printers 0/usr/lib64/python3.11/distutils/command/bdist.py show_formatsr s322222G':: V+T,V4Q79 : : : : [))NGHHHHHceZdZdZddddezfdddd d gZd gZd d defgZdZ dddZ gdZ ddddddddZ dZ dZdZd S)r z$create a built (binary) distribution)z bdist-base=bz4temporary directory for creating built distributionsz plat-name=pz;platform name to embed in generated filenames (default: %s))rNz/formats for distribution (comma-separated list))z dist-dir=dz=directory to put final built distributions in [default: dist]) skip-buildNz2skip rebuilding everything (for testing/debugging))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]rz help-formatsNz$lists available distribution formats) bdist_rpmgztarzip)posixnt)rpmrbztarxztarztartarr)rzRPM distribution) bdist_dumbzgzip'ed tar file)r'zbzip2'ed tar file)r'zxz'ed tar file)r'zcompressed tar file)r'ztar file)r'zZIP filechd|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_base plat_namerdist_dir skip_buildgroupowner)selfs rinitialize_optionszbdist.initialize_optionsLs7    rc|j:|jrt|_n|dj|_|jG|dj}t j|d|jz|_| d|j I |j t j g|_ n*#t$rtdt j zwxYw|j d|_dSdS)Nbuildzbdist.rz;don't know how to create built distributions on platform %sdist)r*r,rget_finalized_commandr) build_baseospathjoinensure_string_listrdefault_formatnameKeyErrorDistutilsPlatformErrorr+)r/r5s rfinalize_optionszbdist.finalize_optionsUs > ! O!-!%!;!;G!D!D!N ? "33G<<GJ gll:+3dn+DFFDO  *** <  2 $ 3BG <=  2 2 2,')+1222 2 = "DMMM ! s -C 'C2cg}|jD]I} ||j|d*#t$rt d|zwxYwt t |jD]}||}||}||jvr|j||_ |dkr|j |_ |j |_ |||dzdvrd|_ | |dS)Nrzinvalid format '%s'r'r )rr rr<DistutilsOptionErrorrangelenreinitialize_commandno_format_optionrr.r- keep_temp run_command)r/commandsricmd_namesub_cmds rrunz bdist.runqs0l K KF K 3F ;A >???? K K K*+@6+IJJJ Ks4<(()) ' 'A{H//99Gt444!%a<'' $  $  8AaCDD>))$%!   X & & & & ' 's &4A)__name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr help_optionsrDr:r rr0r>rKrrr r s8KM!3%'3|~~67H(K12L($nO  / ? L & '!##NONNO BAB?D99 N###8'''''rr ) __doc__r6distutils.corerdistutils.errorsdistutils.utilrrr rSrrrXs  """"""'''''' I I Ir'r'r'r'r'Gr'r'r'r'r'rPK.ge[͸8!!!install_lib.cpython-311.opt-1.pycnu[ !A?h ZdZddlZddlZddlZddlmZddlmZdZ GddeZ dS)zkdistutils.command.install_lib Implements the Distutils 'install_lib' command (install all Python modules).N)Command)DistutilsOptionErrorz.pycfeZdZdZgdZgdZddiZdZdZdZ d Z d Z d Z d Z d ZdZdZdS) install_libz7install all Python modules (extensions and pure Python)))z install-dir=dzdirectory to install to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files))compileczcompile .py to .pyc [default]) no-compileNzdon't compile .py files)z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]) skip-buildNzskip the build steps)r r rr r cZd|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirr r optimize skip_buildselfs 6/usr/lib64/python3.11/distutils/command/install_lib.pyinitialize_optionszinstall_lib.initialize_options3s1   c H|ddddddd|jd|_|jd |_t|jtsP t |j|_|jd vrt dS#t t f$rtd wxYwdS) Ninstall) build_libr)rr)r r )r r )rr)rrTF)rzoptimize must be 0, 1, or 2)set_undefined_optionsr r isinstanceintAssertionError ValueErrorrrs rfinalize_optionszinstall_lib.finalize_options<s ""9#=#A#5#9#;#?  $ $ $ < DL = !DM$--- J J #DM 2 2 = 11((21/ J J J*+HIII J  J Js )A>>!Bc||}|0|jr||dSdSdSN)buildr distributionhas_pure_modules byte_compileroutfiless rrunzinstall_lib.runVsb <<>>  D$5$F$F$H$H    h ' ' ' ' '   rc|js^|jr|d|jr|ddSdSdS)Nbuild_py build_ext)rr(r) run_commandhas_ext_modulesrs rr'zinstall_lib.buildfs| . 1133 -  ,,, 0022 .  -----  . . . .rctj|jr!||j|j}n|d|jzdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirr copy_treerwarnr+s rrzinstall_lib.installmsa 7== ( ( ~~dnd6FGGHH IIKn% & & & Frc2tjr|ddSddlm}|dj}|jr||d|j||j |j dkr'|||j |j||j |j dSdS)Nz%byte-compiling is disabled, skipping.r)r*r)rr prefixdry_run)rr r:verboser;) sysdont_write_bytecoder8distutils.utilr*get_finalized_commandrootr r r;rr<)rfilesr* install_roots rr*zinstall_lib.byte_compilevs  "  II= > > > F////// 11)<<A < / L#z,!% / / / / =1   L#z,!%t| E E E E E E  rc V|sgS||}|}t||}t|ttjz}g}|D]=} |tj|| |d>|Sr&) r@ get_outputsgetattrlenr4sepappendr5join) rhas_any build_cmd cmd_option output_dir build_filesr prefix_lenoutputsfiles r_mutate_outputszinstall_lib._mutate_outputss I..y99 ++-- Iz22 ^^c"&kk1  H HD NN27<< D4EFF G G G Grcg}|D]}tjtj|d}|tkrP|jr4|tj |d|j dkr9|tj ||j |S)Nr) optimizationr) r4r5splitextnormcasePYTHON_SOURCE_EXTENSIONr rI importlibutilcache_from_sourcer)r py_filenamesbytecode_filespy_fileexts r_bytecode_filenameszinstall_lib._bytecode_filenamess# : :G'""27#3#3G#<#<==a@C---| /%%in&F&F"'G'.'.///}q  %%in&F&F$-'G'9'9:::rc ||jdd|j}|jr||}ng}||jdd|j}||z|zS)zReturn the list of files that would be installed if this command were actually run. Not affected by the "dry-run" flag or whether modules have actually been built yet. r/rr0)rSr(r)rr rar2)r pure_outputsbytecode_outputs ext_outputss rrEzinstall_lib.get_outputss  !2!C!C!E!E!+[!%!1 3 3  < "#77 EE  !   !2!B!B!D!D!,k!%!1 3 3  ..<rvs!!   """"""111111 HHHHH'HHHHHrPK.ge[YM\\sdist.cpython-311.opt-1.pycnu[ !A?h=JdZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z ddlm Z dd l m Z dd lmZdd lmZdd lmZdd lmZmZdZGddeZdS)zadistutils.command.sdist Implements the Distutils 'sdist' command (create a source distribution).N)glob)warn)Command)dir_util) file_util) archive_util)TextFile)FileList)log) convert_path)DistutilsTemplateErrorDistutilsOptionErrorcddlm}ddlm}g}|D])}|d|zd||df*|||ddS)zoPrint all possible values for the 'formats' option (used by the "--help-formats" command-line option). r) FancyGetopt)ARCHIVE_FORMATSformats=Nz.List of available source distribution formats:)distutils.fancy_getoptrdistutils.archive_utilrkeysappendsort print_help)rrformatsformats 0/usr/lib64/python3.11/distutils/command/sdist.py show_formatsrs322222666666G!&&((55 V+T'/24 5 5 5 5 LLNNNK##8:::::ceZdZdZdZgdZgdZdddefgZdd d Z d efgZ d Z d Z dZ dZdZdZdZedZdZdZdZdZdZdZdZdZdZdZdZdZd Z d!Z!d"Z"dS)#sdistz6create a source distribution (tarball, zip file, etc.)c|jS)zYCallable used for the check sub-command. Placed here so user_options can view it)metadata_checkselfs rchecking_metadatazsdist.checking_metadata(s ""r))z template=tz5name of manifest template file [default: MANIFEST.in])z manifest=mz)name of manifest file [default: MANIFEST]) use-defaultsNzRinclude the default file set in the manifest [default; disable with --no-defaults]) no-defaultsNz"don't include the default file set)pruneNzspecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune])no-pruneNz$don't automatically exclude anything) manifest-onlyozEjust regenerate the manifest and then stop (implies --force-manifest))force-manifestfzkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.)rNz6formats for source distribution (comma-separated list)) keep-tempkz@keep the distribution tree around after creating archive file(s))z dist-dir=dzFdirectory to put the source distribution archive(s) in [default: dist])metadata-checkNz[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default])zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])r(r*r,r.r0r3z help-formatsNz#list available distribution formatsr(r*)r)r+check)READMEz README.txtz README.rstcd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_ d|_ d|_ d|_ dS)Nrgztar) templatemanifest use_defaultsr* manifest_onlyforce_manifestr keep_tempdist_dir archive_filesr"ownergroupr#s rinitialize_optionszsdist.initialize_optionsesl   y  !  rc|jd|_|jd|_|dtj|j}|rt d|z|j d|_dSdS)NMANIFESTz MANIFEST.inrzunknown archive format '%s'dist)r<r;ensure_string_listrcheck_archive_formatsrrrA)r$ bad_formats rfinalize_optionszsdist.finalize_options|s = &DM = )DM  ***!7 EE  >&/*<>> > = "DMMM ! rct|_|D]}||||jrdS|dSN)r filelistget_sub_commands run_command get_file_listr>make_distribution)r$cmd_names rrunz sdist.runs!  --// ' 'H   X & & & &     F      rctdt|jd}||dS)zDeprecated API.zadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr6N)rPendingDeprecationWarning distributionget_command_objensure_finalizedrU)r$r6s rcheck_metadatazsdist.check_metadatasX -.G I I I!11'::     rctj|j}|s\|rH||j|jdS|s| d|jz|j |j r| |r| |jr||j|j|dS)aCFigure out the list of files to include in the source distribution, and put it in 'self.filelist'. This might involve reading the manifest template (and writing the manifest), or just reading the manifest, or just using the default file set -- it all depends on the user's options. Nz?manifest template '%s' does not exist (using default file list))ospathisfiler;_manifest_is_not_generated read_manifestrOrremove_duplicatesrfindallr= add_defaults read_templater*prune_file_listwrite_manifest)r$template_existss rrRzsdist.get_file_listsI'..77 4#B#B#D#D     M   M + + - - - F ' II4 & ' ' '           !    : #  " " "  ''))) rc|||||||dS)a9Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. N)_add_defaults_standards_add_defaults_optional_add_defaults_python_add_defaults_data_files_add_defaults_ext_add_defaults_c_libs_add_defaults_scriptsr#s rrdzsdist.add_defaultss $$&&& ##%%% !!### %%'''     !!### ""$$$$$rctj|sdStj|}tj|\}}|tj|vS)z Case-sensitive path existence check >>> sdist._cs_path_exists(__file__) True >>> sdist._cs_path_exists(__file__.upper()) False F)r]r^existsabspathsplitlistdir)fspathrs directoryfilenames r_cs_path_existszsdist._cs_path_existss_w~~f%% 5'//&)) gmmG44 82:i0000rc|j|jjg}|D]}t|trj|}d}|D]5}||rd}|j|n6|s+|dd |z||r|j||d|zdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found) READMESrX script_name isinstancetupleryrOrrjoin)r$ standardsfnaltsgot_its rrjzsdist._add_defaults_standardss\4#4#@A  C CB"e$$ CB++B//!% ,,R000 /IIL"iioo.///''++CM((,,,,II4==99E M  ' ' ' ' ( (rcR|d}|jr,|j||jD]D\}}}}|D]:}|jtj ||;EdS)Nbuild_py) get_finalized_commandrXhas_pure_modulesrOrget_source_files data_filesrr]r^r)r$rpkgsrc_dir build_dir filenamesrxs rrlzsdist._add_defaults_pythons--j99   - - / / > M !:!:!>!,,4 M003334 4 4 4 4rc|jrC|d}|j|dSdS)N build_ext)rXhas_ext_modulesrrOrr)r$rs rrnzsdist._add_defaults_ext5s^   , , . . ?22;??I M !;!;!=!= > > > > > ? ?rc|jrC|d}|j|dSdS)N build_clib)rXhas_c_librariesrrOrr)r$rs rrozsdist._add_defaults_c_libs:sa   , , . . @33LAAJ M !!> ? ? ? ? ? @ @rc|jrC|d}|j|dSdS)N build_scripts)rX has_scriptsrrOrr)r$rs rrpzsdist._add_defaults_scripts?sa   ( ( * * C 66GGM M !?!?!A!A B B B B B C Crc tjd|jt|jdddddd} |}|n` |j|nC#ttf$r/}| d|j |j |fzYd}~nd}~wwxYww | dS#| wxYw)zRead and parse manifest template file named by self.template. (usually "MANIFEST.in") The parsing and processing is done by 'self.filelist', which updates itself accordingly. zreading manifest template '%s'r9)strip_comments skip_blanks join_lines lstrip_ws rstrip_ws collapse_joinTNz%s, line %d: %s) r infor;r readlinerOprocess_template_liner ValueErrorrrx current_lineclose)r$r;linemsgs rrezsdist.read_templateDs( 14=AAADM!'(A*+---  9((**<9M77====/ ;999II/83D3;3H36388999999999 9 NN     HNN    s5CA+*C+B+<%B&!C&B++CCc|d}|j}|jd|j|jd|t jdkrd}nd}gd}d|d d |d |d }|j|d dS)avPrune off branches that might slip into the file list as created by 'read_template()', but really don't belong there: * the build tree (typically "build") * the release tree itself (only an issue if we ran "sdist" previously with --keep-temp, or it aborted) * any RCS, CVS, .svn, .hg, .git, .bzr, _darcs directories buildN)prefixwin32z/|\\/)RCSCVSz\.svnz\.hgz\.gitz\.bzr_darcsz(^|z)(|z).*r9)is_regex) rrX get_fullnamerOexclude_pattern build_basesysplatformr)r$rbase_dirsepsvcs_dirsvcs_ptrns rrfzsdist.prune_file_listas**733$1133 %%d53C%DDD %%d8%<<< <7 " "DDD*.$$0B0B0B0BDDDI %%h%;;;;;rc|rtjd|jzdS|jjdd}|dd|tj |j|fd|jzdS)zWrite the file list in 'self.filelist' (presumably as filled in by 'add_defaults()' and 'read_template()') to the manifest file named by 'self.manifest'. z5not writing to manually maintained manifest file '%s'Nrz*# file GENERATED by distutils, do NOT editzwriting manifest file '%s') r`r rr<rOrinsertexecuter write_file)r$contents rrgzsdist.write_manifestys  * * , ,  H*,0M: ; ; ; F-%aaa(qFGGG Y)DM7+C1DMA C C C C Crctj|jsdSt |j} |}|n#|wxYw|dkS)NFz+# file GENERATED by distutils, do NOT edit )r]r^r_r<openrr)r$fp first_lines rr`z sdist._manifest_is_not_generatedsmw~~dm,, 5 $-  J HHJJJJBHHJJJJKKKs A%%A;c,tjd|jt|j5}|D]H}|}|ds|s.|j|I ddddS#1swxYwYdS)zRead the manifest file (named by 'self.manifest') and use it to fill in 'self.filelist', the list of files to include in the source distribution. zreading manifest file '%s'#N)r rr<rstrip startswithrOr)r$r<rs rrazsdist.read_manifests -t}=== $-  +H  + +zz||??3''t $$T****  + + + + + + + + + + + + + + + + + + +sA B  B B c(||tj|||jt t drd}d|z}nd}d|z}|st jdnt j||D]o}t j |st jd|7t j ||}| ||| p|j j|dS) aCreate the directory tree that will become the source distribution archive. All directories implied by the filenames in 'files' are created under 'base_dir', and then we hard link or copy (if hard linking is unavailable) those files into place. Essentially, this duplicates the developer's source tree, but in a directory named after the distribution, containing only the files to be distributed. dry_runlinkhardzmaking hard links in %s...Nzcopying files to %s...z)no files to distribute -- empty manifest?z#'%s' not a regular file -- skipping)r)mkpathr create_treerhasattrr]r rrr^r_r copy_filerXmetadatawrite_pkg_info)r$rrrrfiledests rmake_release_treezsdist.make_release_trees HXudlCCCC 2v   6D.9CCD*X5C  H@ A A A A HSMMM 6 6D7>>$'' 6>EEEEw||Hd33tT5555 "11(;;;;;rc|j}tj|j|}|||jjg}d|j vrJ|j |j |j d|j D]]}| ||||j|j}| ||jj dd|f^||_|jst'j||jdSdS)aCreate the source distribution(s). First, we create the release tree with 'make_release_tree()'; then, we create all required archive files (according to 'self.formats') from the release tree. Finally, we clean up by blowing away the release tree (unless 'self.keep_temp' is true). The list of archive files created is stored so it can be retrieved later by 'get_archive_files()'. tar)rrCrDr rN)rXrr]r^rrArrOrrrpopindex make_archiverCrD dist_filesrBr@r remove_treer)r$r base_namerBfmtrs rrSzsdist.make_distributionsE$1133GLL99  x)<=== DL L   0 01C1CE1J1J K K L L L< E EC$$Yh+/:TZ%IID   & & &   ( / /"d0C D D D D*~ A  4< @ @ @ @ @ @ A Arc|jS)zzReturn the list of archive files created when the command was run, or None if the command hasn't run yet. )rBr#s rget_archive_fileszsdist.get_archive_filess !!r)#__name__ __module__ __qualname__ descriptionr% user_optionsboolean_optionsr help_options negative_opt sub_commandsr{rErLrUr[rRrd staticmethodryrjrkrlrmrnrorprerfrgr`rarrSrrrr r $sJK### % % % LN666O  .  > L $2 '**L/01L4G.### !!!,&&&P%%%,11\1 CCC*((( FFF 444"??? @@@ CCC :<<<0 C C C L L L + + +(<(<(rs>LL """"""""""""((((((''''''''''''IIIIIIII : : :J"J"J"J"J"GJ"J"J"J"J"rPK.ge[YnVVbuild_clib.cpython-311.pycnu[ !A?hV`dZddlZddlmZddlTddlmZddlmZdZ Gdd eZ dS) zdistutils.command.build_clib Implements the Distutils 'build_clib' command, to build a C/C++ library that is included in the module distribution and needed by an extension module.N)Command)*)customize_compiler)logc&ddlm}|dS)Nrshow_compilers)distutils.ccompilerr rs 5/usr/lib64/python3.11/distutils/command/build_clib.pyr r s(222222NcZeZdZdZgdZddgZdddefgZdZd Z d Z d Z d Z d Z dZdS) build_clibz/build C/C++ libraries used by Python extensions))z build-clib=bz%directory to build C/C++ libraries to)z build-temp=tz,directory to put temporary build by-products)debuggz"compile with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler typerrz help-compilerNzlist available compilerscd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompilerselfs r initialize_optionszbuild_clib.initialize_options4sJ!     r c\|dddddd|jj|_|jr||j|j|jjpg|_t |jt r+|jtj |_dSdS)Nbuild)rr)rr)rr)rr)rr) set_undefined_options distributionrcheck_library_listr isinstancestrsplitospathseprs r finalize_optionszbuild_clib.finalize_optionsDs ""7#?#?#;#5#5  7 7 7*4 > 4  # #DN 3 3 3   $ $ 1 > D"D  d' - - D $ 1 7 7 C CD    D Dr c|jsdSddlm}||j|j|j|_t |j|j|j|j|j (|j D] \}}|j ||!|j $|j D]}|j || |jdS)Nr) new_compiler)rdry_runr)rr r,rr-rrrset_include_dirsr define_macrorundefine_macrobuild_libraries)rr,namevaluemacros r runzbuild_clib.run^s~  F 544444$ dm-1\+/:777  4=)))   ( M * *4+< = = = ; " $  8 8 e **47777 : ! 4 4 ,,U3333 T^,,,,,r ct|tstd|D]}t|ts"t |dkrtd|\}}t|t stdd|vst jdkr&t j|vrtd|dzt|tstdd S) a`Ensure that the list of libraries is valid. `library` is presumably provided as a command option 'libraries'. This method checks that it is a list of 2-tuples, where the tuples are (library_name, build_info_dict). Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)/z;bad library name '%s': may not contain directory separatorsrzMsecond element of each tuple in 'libraries' must be a dictionary (build info)N) r%listDistutilsSetupErrortuplelenr&r(sepdict)rrlibr2 build_infos r r$zbuild_clib.check_library_listvs.)T** A%?AA A ; ;Cc5)) Dc#hh!mm)BDDD # D*dC(( =)<===d{{rv}}4)+>@CA+GHHHj$// ;):;;; ;! ; ;r c`|jsdSg}|jD]\}}|||S)N)rappend)r lib_nameslib_namer@s r get_library_nameszbuild_clib.get_library_namessK~ 4 &*n ' ' "Xz   X & & & &r c ||jg}|jD]_\}}|d}|t|tt fst d|z||`|S)Nsourcesfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)r$rgetr%r9r;r:extend)r filenamesrDr@rGs r get_source_fileszbuild_clib.get_source_filess /// &*n & & "Xz nnY//Gj4-&H&H)46>?@@@   W % % % %r c|D]\}}|d}|t|ttfst d|zt|}t jd||d}|d}|j||j |||j }|j |||j |j dS)NrGrHzbuilding '%s' librarymacrosr) output_dirrNrr)rOr) rIr%r9r;r:rinforcompilerrcreate_static_libr)rrrDr@rGrNrobjectss r r1zbuild_clib.build_librariess&/ > > "Xz nnY//Gj4-&H&H)46>?@@@7mmG H,h 7 7 7  ^^H--F%>>.99Lm++G7;399E26* ,>>G M + +GX7;26* , > > > >3 > >r )__name__ __module__ __qualname__ description user_optionsboolean_optionsr help_optionsrr*r5r$rErLr1r r rrsCK    L(O $ #^ 5 L    DDD4---0!;!;!;H      >>>>>r r) __doc__r(distutils.corerdistutils.errorsdistutils.sysconfigr distutilsrr rr[r r ras   """"""222222 u>u>u>u>u>u>u>u>u>u>r PK.ge[6P6Psdist.cpython-311.opt-2.pycnu[ !A?h=J ddlZddlZddlmZddlmZddlmZddlmZddlm Z ddlm Z ddl m Z dd l mZdd lmZdd lmZdd lmZmZd ZGddeZdS)N)glob)warn)Command)dir_util) file_util) archive_util)TextFile)FileList)log) convert_path)DistutilsTemplateErrorDistutilsOptionErrorc ddlm}ddlm}g}|D])}|d|zd||df*|||ddS)Nr) FancyGetopt)ARCHIVE_FORMATSformats=z.List of available source distribution formats:)distutils.fancy_getoptrdistutils.archive_utilrkeysappendsort print_help)rrformatsformats 0/usr/lib64/python3.11/distutils/command/sdist.py show_formatsrs322222666666G!&&((55 V+T'/24 5 5 5 5 LLNNNK##8:::::ceZdZdZdZgdZgdZdddefgZdd d Z d efgZ d Z d Z dZ dZdZdZdZedZdZdZdZdZdZdZdZdZdZdZdZdZd Z d!Z!d"Z"dS)#sdistz6create a source distribution (tarball, zip file, etc.)c |jSN)metadata_checkselfs rchecking_metadatazsdist.checking_metadata(s 3""r))z template=tz5name of manifest template file [default: MANIFEST.in])z manifest=mz)name of manifest file [default: MANIFEST]) use-defaultsNzRinclude the default file set in the manifest [default; disable with --no-defaults]) no-defaultsNz"don't include the default file set)pruneNzspecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune])no-pruneNz$don't automatically exclude anything) manifest-onlyozEjust regenerate the manifest and then stop (implies --force-manifest))force-manifestfzkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.)rNz6formats for source distribution (comma-separated list)) keep-tempkz@keep the distribution tree around after creating archive file(s))z dist-dir=dzFdirectory to put the source distribution archive(s) in [default: dist])metadata-checkNz[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default])zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])r)r+r-r/r1r4z help-formatsNz#list available distribution formatsr)r+)r*r,check)READMEz README.txtz README.rstcd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_ d|_ d|_ d|_ dS)Nrgztar) templatemanifest use_defaultsr+ manifest_onlyforce_manifestr keep_tempdist_dir archive_filesr#ownergroupr$s rinitialize_optionszsdist.initialize_optionsesl   y  !  rc|jd|_|jd|_|dtj|j}|rt d|z|j d|_dSdS)NMANIFESTz MANIFEST.inrzunknown archive format '%s'dist)r=r<ensure_string_listrcheck_archive_formatsrrrB)r% bad_formats rfinalize_optionszsdist.finalize_options|s = &DM = )DM  ***!7 EE  >&/*<>> > = "DMMM ! rct|_|D]}||||jrdS|dSr")r filelistget_sub_commands run_command get_file_listr?make_distribution)r%cmd_names rrunz sdist.runs!  --// ' 'H   X & & & &     F      rc tdt|jd}||dS)Nzadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr7)rPendingDeprecationWarning distributionget_command_objensure_finalizedrU)r%r7s rcheck_metadatazsdist.check_metadatas[ -.G I I I!11'::     rc tj|j}|s\|rH||j|jdS|s| d|jz|j |j r| |r| |jr||j|j|dS)Nz?manifest template '%s' does not exist (using default file list))ospathisfiler<_manifest_is_not_generated read_manifestrOrremove_duplicatesrfindallr> add_defaults read_templater+prune_file_listwrite_manifest)r%template_existss rrRzsdist.get_file_listsN '..77 4#B#B#D#D     M   M + + - - - F ' II4 & ' ' '           !    : #  " " "  ''))) rc  |||||||dSr")_add_defaults_standards_add_defaults_optional_add_defaults_python_add_defaults_data_files_add_defaults_ext_add_defaults_c_libs_add_defaults_scriptsr$s rrdzsdist.add_defaultss  $$&&& ##%%% !!### %%'''     !!### ""$$$$$rc tj|sdStj|}tj|\}}|tj|vS)NF)r]r^existsabspathsplitlistdir)fspathrs directoryfilenames r_cs_path_existszsdist._cs_path_existssd w~~f%% 5'//&)) gmmG44 82:i0000rc|j|jjg}|D]}t|trj|}d}|D]5}||rd}|j|n6|s+|dd |z||r|j||d|zdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found) READMESrX script_name isinstancetupleryrOrrjoin)r% standardsfnaltsgot_its rrjzsdist._add_defaults_standardss\4#4#@A  C CB"e$$ CB++B//!% ,,R000 /IIL"iioo.///''++CM((,,,,II4==99E M  ' ' ' ' ( (rcR|d}|jr,|j||jD]D\}}}}|D]:}|jtj ||;EdS)Nbuild_py) get_finalized_commandrXhas_pure_modulesrOrget_source_files data_filesrr]r^r)r%rpkgsrc_dir build_dir filenamesrxs rrlzsdist._add_defaults_pythons--j99   - - / / > M !:!:!>!,,4 M003334 4 4 4 4rc|jrC|d}|j|dSdS)N build_ext)rXhas_ext_modulesrrOrr)r%rs rrnzsdist._add_defaults_ext5s^   , , . . ?22;??I M !;!;!=!= > > > > > ? ?rc|jrC|d}|j|dSdS)N build_clib)rXhas_c_librariesrrOrr)r%rs rrozsdist._add_defaults_c_libs:sa   , , . . @33LAAJ M !!> ? ? ? ? ? @ @rc|jrC|d}|j|dSdS)N build_scripts)rX has_scriptsrrOrr)r%rs rrpzsdist._add_defaults_scripts?sa   ( ( * * C 66GGM M !?!?!A!A B B B B B C Crc  tjd|jt|jdddddd} |}|n` |j|nC#ttf$r/}| d|j |j |fzYd}~nd}~wwxYww | dS#| wxYw)Nzreading manifest template '%s'r:)strip_comments skip_blanks join_lines lstrip_ws rstrip_ws collapse_joinTz%s, line %d: %s) r infor<r readlinerOprocess_template_liner ValueErrorrrx current_lineclose)r%r<linemsgs rrezsdist.read_templateDs- 14=AAADM!'(A*+---  9((**<9M77====/ ;999II/83D3;3H36388999999999 9 NN     HNN    s5CA,+C,B,=%B'"C'B,,CCc |d}|j}|jd|j|jd|t jdkrd}nd}gd}d|dd |d|d }|j|d dS) Nbuild)prefixwin32z/|\\/)RCSCVSz\.svnz\.hgz\.gitz\.bzr_darcsz(^|z)(|z).*r:)is_regex) rrX get_fullnamerOexclude_pattern build_basesysplatformr)r%rbase_dirsepsvcs_dirsvcs_ptrns rrfzsdist.prune_file_listas **733$1133 %%d53C%DDD %%d8%<<< <7 " "DDD*.$$0B0B0B0BDDDI %%h%;;;;;rc  |rtjd|jzdS|jjdd}|dd|tj |j|fd|jzdS)Nz5not writing to manually maintained manifest file '%s'rz*# file GENERATED by distutils, do NOT editzwriting manifest file '%s') r`r rr=rOrinsertexecuter write_file)r%contents rrgzsdist.write_manifestys   * * , ,  H*,0M: ; ; ; F-%aaa(qFGGG Y)DM7+C1DMA C C C C Crctj|jsdSt |j} |}|n#|wxYw|dkS)NFz+# file GENERATED by distutils, do NOT edit )r]r^r_r=openrr)r%fp first_lines rr`z sdist._manifest_is_not_generatedsmw~~dm,, 5 $-  J HHJJJJBHHJJJJKKKs A%%A;c. tjd|jt|j5}|D]H}|}|ds|s.|j|I ddddS#1swxYwYdS)Nzreading manifest file '%s'#)r rr=rstrip startswithrOr)r%r=rs rrazsdist.read_manifests  -t}=== $-  +H  + +zz||??3''t $$T****  + + + + + + + + + + + + + + + + + + +sA B  BBc* ||tj|||jt t drd}d|z}nd}d|z}|st jdnt j||D]o}t j |st jd|7t j ||}| |||p|j j|dS) Ndry_runlinkhardzmaking hard links in %s...zcopying files to %s...z)no files to distribute -- empty manifest?z#'%s' not a regular file -- skipping)r)mkpathr create_treerhasattrr]r rrr^r_r copy_filerXmetadatawrite_pkg_info)r%rrrrfiledests rmake_release_treezsdist.make_release_trees  HXudlCCCC 2v   6D.9CCD*X5C  H@ A A A A HSMMM 6 6D7>>$'' 6>EEEEw||Hd33tT5555 "11(;;;;;rc |j}tj|j|}|||jjg}d|j vrJ|j |j |j d|j D]]}| ||||j|j}| ||jj dd|f^||_|jst'j||jdSdS)Ntar)rrDrEr r)rXrr]r^rrBrrOrrrpopindex make_archiverDrE dist_filesrCrAr remove_treer)r%r base_namerCfmtrs rrSzsdist.make_distributionsJ $1133GLL99  x)<=== DL L   0 01C1CE1J1J K K L L L< E EC$$Yh+/:TZ%IID   & & &   ( / /"d0C D D D D*~ A  4< @ @ @ @ @ @ A Arc |jSr")rCr$s rget_archive_fileszsdist.get_archive_filess !!r)#__name__ __module__ __qualname__ descriptionr& user_optionsboolean_optionsr help_options negative_opt sub_commandsr{rFrMrUr[rRrd staticmethodryrjrkrlrmrnrorprerfrgr`rarrSrrrr r $sJK### % % % LN666O  .  > L $2 '**L/01L4G.### !!!,&&&P%%%,11\1 CCC*((( FFF 444"??? @@@ CCC :<<<0 C C C L L L + + +(<(<(rs8L """"""""""""((((((''''''''''''IIIIIIII : : :J"J"J"J"J"GJ"J"J"J"J"rPK.ge[ʻ!install_lib.cpython-311.opt-2.pycnu[ !A?h X ddlZddlZddlZddlmZddlmZdZGddeZ dS)N)Command)DistutilsOptionErrorz.pycfeZdZdZgdZgdZddiZdZdZdZ d Z d Z d Z d Z d ZdZdZdS) install_libz7install all Python modules (extensions and pure Python)))z install-dir=dzdirectory to install to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files))compileczcompile .py to .pyc [default]) no-compileNzdon't compile .py files)z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]) skip-buildNzskip the build steps)r r rr r cZd|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirr r optimize skip_buildselfs 6/usr/lib64/python3.11/distutils/command/install_lib.pyinitialize_optionszinstall_lib.initialize_options3s1   c H|ddddddd|jd|_|jd |_t|jtsP t |j|_|jd vrt dS#t t f$rtd wxYwdS) Ninstall) build_libr)rr)r r )r r )rr)rrTF)rzoptimize must be 0, 1, or 2)set_undefined_optionsr r isinstanceintAssertionError ValueErrorrrs rfinalize_optionszinstall_lib.finalize_options<s ""9#=#A#5#9#;#?  $ $ $ < DL = !DM$--- J J #DM 2 2 = 11((21/ J J J*+HIII J  J Js )A>>!Bc||}|0|jr||dSdSdSN)buildr distributionhas_pure_modules byte_compileroutfiless rrunzinstall_lib.runVsb <<>>  D$5$F$F$H$H    h ' ' ' ' '   rc|js^|jr|d|jr|ddSdSdSNbuild_py build_ext)rr(r) run_commandhas_ext_modulesrs rr'zinstall_lib.buildfs| . 1133 -  ,,, 0022 .  -----  . . . .rctj|jr!||j|j}n|d|jzdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirr copy_treerwarnr+s rrzinstall_lib.installmsa 7== ( ( ~~dnd6FGGHH IIKn% & & & Frc2tjr|ddSddlm}|dj}|jr||d|j||j |j dkr'|||j |j||j |j dSdS)Nz%byte-compiling is disabled, skipping.r)r*r)rr prefixdry_run)rr r;verboser<) sysdont_write_bytecoder9distutils.utilr*get_finalized_commandrootr r r<rr=)rfilesr* install_roots rr*zinstall_lib.byte_compilevs  "  II= > > > F////// 11)<<A < / L#z,!% / / / / =1   L#z,!%t| E E E E E E  rc V|sgS||}|}t||}t|ttjz}g}|D]=} |tj|| |d>|Sr&) rA get_outputsgetattrlenr5sepappendr6join) rhas_any build_cmd cmd_option output_dir build_filesr prefix_lenoutputsfiles r_mutate_outputszinstall_lib._mutate_outputss I..y99 ++-- Iz22 ^^c"&kk1  H HD NN27<< D4EFF G G G Grcg}|D]}tjtj|d}|tkrP|jr4|tj |d|j dkr9|tj ||j |S)Nr) optimizationr) r5r6splitextnormcasePYTHON_SOURCE_EXTENSIONr rJ importlibutilcache_from_sourcer)r py_filenamesbytecode_filespy_fileexts r_bytecode_filenameszinstall_lib._bytecode_filenamess# : :G'""27#3#3G#<#<==a@C---| /%%in&F&F"'G'.'.///}q  %%in&F&F$-'G'9'9:::rc" ||jdd|j}|jr||}ng}||jdd|j}||z|zS)Nr0rr1)rTr(r)rr rbr3)r pure_outputsbytecode_outputs ext_outputss rrFzinstall_lib.get_outputss  !2!C!C!E!E!+[!%!1 3 3  < "#77 EE  !   !2!B!B!D!D!,k!%!1 3 3  ..<distutils.corerdistutils.errorsrrZrrrrrrvs!   """"""111111 HHHHH'HHHHHrPK.ge[}((upload.cpython-311.opt-1.pycnu[ !A?hdZddlZddlZddlZddlmZddlmZddlm Z m Z ddl m Z ddl mZmZddlmZdd lmZdd lmZeed deed deed ddZGddeZdS)zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). N)standard_b64encode) HTTPError)urlopenRequest)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logmd5sha256blake2b) md5_digest sha256_digestblake2_256_digestcXeZdZdZejddgzZejdgzZdZdZdZ dZ d S) uploadzupload binary package to PyPI)signszsign files to upload using gpg)z identity=izGPG identity used to sign filesrcttj|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responseridentity)selfs 1/usr/lib64/python3.11/distutils/command/upload.pyrzupload.initialize_options*s;(...    cTtj||jr|jst d|}|ikr4|d|_|d|_|d|_|d|_ |js|j jr|j j|_dSdSdS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrrr _read_pypircrrr#r$ distribution)rconfigs r r%zupload.finalize_options2s&t,,, =  &@ ""$$ R<<":.DM":.DM$\2DODJ} 7!2!; 7 -6DMMM 7 7 7 7r!c|jjsd}t||jjD]\}}}||||dS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))r' dist_filesr upload_file)rmsgcommand pyversionfilenames r runz upload.runDsf + ,2C&s++ +,0,=,H ; ; (GY   Wi : : : : ; ;r!c t|j\}}}}}} |s|s| rtd|jz|dvrtd|z|jr1ddd|g} |jrd|jg| dd<t | |j t|d } | } | n#| wxYw|j j } id d d dd| d| dtj|| fd|d|ddd| d| d| d| d| d| d| d| d| | | | | d}d |d!<t<D]9\}}| ||  ||<*#tB$rY6wxYw|jrdt|d"zd 5} tj|d"z| f|d#<dddn #1swxYwY|j"d$z|j#z$d%}d&tK|&d%z}d'}d(|$d%z}|d)z}tOj(}|D]\}}d*|z}tS|tTs|g}|D]}tW|tXur|d+|d,zz }|d-}n"t[|$d.}|.||.|$d.|.d/|.||.||/}d0|d1|j}|0|tbj2d2|zt[tg||d3}ti|j||4} tk|}|6}|j7}n`#tp$r} | j9}| j7}Yd} ~ nCd} ~ wtt$r3} |0t[| tbj;d} ~ wwxYw|d5kr~|0d6|d7|tbj2|j<rO|=|}!d8>d9|!d9f}|0|tbj2dSdSd:|d7|}|0|tbj;t|);NzIncompatible url %s)httphttpszunsupported schema gpgz --detach-signz-az --local-user)dry_runrbz:action file_uploadprotocol_version1nameversioncontentfiletyper.metadata_versionz1.0summary home_pageauthor author_emaillicense descriptionkeywordsplatform classifiers) download_urlprovidesrequires obsoletesrcommentz.asc gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"rzutf-8s z Submitting z to z multipart/form-data; boundary=%s)z Content-typezContent-length Authorization)dataheaderszServer response (z):  zK---------------------------------------------------------------------------zUpload failed ()@rr#AssertionErrorrrr r6openreadcloser'metadataget_name get_versionospathbasenameget_descriptionget_url get_contactget_contact_email get_licenceget_long_description get_keywords get_platformsget_classifiersget_download_url get_provides get_requires get_obsoletes_FILE_CONTENT_DIGESTSitems hexdigest ValueErrorrrencoderdecodeioBytesIO isinstancelisttypetuplestrwritegetvalueannouncer INFOlenrrgetcoder,rcodeOSErrorERRORr_read_pypi_responsejoinr)"rr-r.r/schemanetlocurlparamsquery fragmentsgpg_argsfr=metarS digest_name digest_cons user_passauthboundary sep_boundary end_boundarybodykeyvaluetitler,rTrequestresultstatusreasonetexts" r r+zupload.upload_fileLsF T_ % % 6VUI  JU Ji J !6!HII I * * * !6!?@@ @ 9 (h?H} @!/ ?1 (, ( ( ( ( $   ffhhG GGIIIIAGGIIII ) }  DMMOO  t'')) ((227;    t++--!" #$ d&&((%& D2244'( t'')))* 44466+, ))++-. **,,/0 4//1112!1133))++))++++--;@Y)>(C(C(E(E   $K" $/K$8$8$B$B$D$D[!!     9 3h'.. 3!)+)9)9()C)Cf)L)*)3_% 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ]S(4=8@@II ,Y77>>wGGGI 8??7#;#;; #i/ z||**,, " "JCCcIEeT**  " ";;%''.q99E!!HEEJJ--g66E <((( 5<<00111 ;''' 5!!!! " <   }}'/xxA c38$$$?I!#d))nn!   $/")+++ W%%F^^%%FZFF   VFUFFFFFF    MM#a&&#) , , ,   S== MMMG( $ $ $! -//77ii4 :;; c38,,,,, - - /5ffff=C MM#sy ) ) ) %% %sTCC6 J J$#J$:LL L *T<< VU V&.VVN) __name__ __module__ __qualname__rEr user_optionsboolean_optionsrr%r0r+r!r rrs1K - +=1  L $3vh>O777$;;;K&K&K&K&K&r!r)__doc__r^rthashlibbase64r urllib.errorrurllib.requestrr urllib.parserdistutils.errorsrr distutils.corer distutils.spawnr distutilsr getattrrnrrr!r rsH %%%%%%""""""++++++++!!!!!!AAAAAAAA((((((!!!!!! ''5$//WWh55 )T::y&y&y&y&y&]y&y&y&y&y&r!PK.ge[GxcZcZbdist_rpm.cpython-311.pycnu[ !A?h!TdZddlZddlZddlZddlmZddlmZddlm Z ddl Tddl m Z ddl mZGd d eZdS) zwdistutils.command.bdist_rpm Implements the Distutils 'bdist_rpm' command (create RPM source and binary distributions).N)Command)DEBUG) write_file)*)get_python_version)logcXeZdZdZgdZgdZddddZdZd Zd Z d Z d Z d Z dZ dS) bdist_rpmzcreate an RPM distribution)))z bdist-base=Nz/base directory for creating built distributions)z rpm-base=Nzdbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2))z dist-dir=dzDdirectory to put final RPM files in (and .spec files if --spec-only))zpython=NzMpath to Python interpreter to hard-code in the .spec file (default: "python"))z fix-pythonNzLhard-code the exact path to the current Python interpreter in the .spec file)z spec-onlyNzonly regenerate spec file)z source-onlyNzonly generate source RPM)z binary-onlyNzonly generate binary RPM)z use-bzip2Nz7use bzip2 instead of gzip to create source distribution)zdistribution-name=Nzgname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!))zgroup=Nz9package classification [default: "Development/Libraries"])zrelease=NzRPM release number)zserial=NzRPM serial number)zvendor=NzaRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script])z packager=NzBRPM packager (eg. "Jane Doe ") [default: vendor])z doc-files=Nz6list of documentation files (space or comma-separated))z changelog=Nz RPM changelog)zicon=Nzname of icon file)z provides=Nz%capabilities provided by this package)z requires=Nz%capabilities required by this package)z conflicts=Nz-capabilities which conflict with this package)zbuild-requires=Nz+capabilities required to build this package)z obsoletes=Nz*capabilities made obsolete by this package) no-autoreqNz+do not automatically calculate dependencies) keep-tempkz"don't clean up RPM build directory) no-keep-tempNz&clean up RPM build directory [default])use-rpm-opt-flagsNz8compile with RPM_OPT_FLAGS when building from source RPM)no-rpm-opt-flagsNz&do not pass any RPM CFLAGS to compiler) rpm3-modeNz"RPM 3 compatibility mode (default)) rpm2-modeNzRPM 2 compatibility mode)z prep-script=Nz3Specify a script for the PREP phase of RPM building)z build-script=Nz4Specify a script for the BUILD phase of RPM building)z pre-install=Nz:Specify a script for the pre-INSTALL phase of RPM building)zinstall-script=Nz6Specify a script for the INSTALL phase of RPM building)z post-install=Nz;Specify a script for the post-INSTALL phase of RPM building)zpre-uninstall=Nzs r@finalize_optionszbdist_rpm.finalize_optionssU ""7,HIII = > C*ACCCGLL%@@DM ;  (!n ' _ N&LNN N 7g  (*246G*<== =   L 0 L&JLL L 0022 '%&D " ""7,DEEE ""$$$$$rBcd|dd|d|jd|jd|d|dt |jtrGdD]D}tj |r#||jvr|j |E|d d |d |d |d | |j |_ |d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|ddS)Nr"zDevelopment/Librariesr%z <>r&r')READMEz README.txtr#1r$r!r(r)r*r+r,r-r.r/r0r1r2r4r5r6r7r8r=) ensure_stringrQ get_contactget_contact_emailensure_string_list isinstancer'listrJrKexistsappend_format_changelogr(ensure_filename)r?readmes r@rSzbdist_rpm.finalize_package_datas 7$;<<< 8(,(9(E(E(G(G(G(G(,(9(K(K(M(M(M(MO P P P :&&&  ,,, dnd + + 22 2 27>>&))2fDN.J.JN))&111 9c*** 8$$$ ./// ;'''//?? V$$$ ]+++ ^,,, -... ^,,, _--- ]+++ ^,,, _--- -...  +++  +++  ,,,  0111  ,,, <(((((rBc trctdtd|jtd|jtd|jtd|j|jr|j}||nRi}dD]E}tj |j |||<|||F|d}tj |d|j z}|t ||fd |z|jrdS|j jdd}|d }|jr d g|_nd g|_|d ||j _|d }|d}||||jrWtj |jr||j|nt7d|jzt9jddg} |jr| dn2|j r| dn| d| !dd|j"zg|j#r<| !ddtj $|j zg|j%s| d|j&r| d| |d} | dz} d| zdz} d| d| d |d!} tj'| } g}d} |(}|sna|)*}tW|d#ksJ||d$||d }x|,}|rt[d%t]| z |,n#|,wxYw|/| |j0s|j 1rte}nd&}|j stj |d'|}tj |sJ|3||jtj |j|}|j jd(||f|js|D]}tj |d)|}tj |r|3||jtj |jtj 4|}|j jd(||fdSdSdS)*Nzbefore _get_package_data():zvendor =z packager =z doc_files =z changelog =)SOURCESSPECSBUILDRPMSSRPMSrfz%s.specz writing '%s'sdistbztargztarrrezicon file '%s' does not existz building RPMsrpmbuildz-bsz-bbz-baz--definez __python %sz _topdir %sz--cleanz--quietz%{name}-%{version}-%{release}z.src.rpmz%{arch}/z .%{arch}.rpmz rpm -q --qf ' z\n' --specfile ''TrzFailed to execute: %sanyrir rh)5rprintr%r&r'r(rrmkpathrJrKrLrrQget_nameexecuter_make_spec_file dist_filesreinitialize_commandr formats run_commandget_archive_files copy_filer)r_DistutilsFileErrorrinforr`rextendrr;abspathr9rpopenreadlinestripsplitlencloseDistutilsExecErrorreprspawndry_runrRr move_filebasename)r?spec_dirrpm_dirr spec_pathsaved_dist_filesrjsource source_dirrpm_cmd nvr_stringsrc_rpm non_src_rpmq_cmdout binary_rpms source_rpmlinelstatus pyversionsrpmfilenamerEs r@runz bdist_rpm.runsJ  1 / 0 0 0 *dk * * * , . . . - 0 0 0 - 0 0 0 > (}H KK ! ! ! !GC ( (W\\$-;;  GAJ''''w'HGLL!*T->-G-G-I-I!IKK  Z**,,.#i/ 1 1 1 >  F ,7:))'22 > &$IEMM$IEM !!!'7$((**1-Y'  vz*** 9 Cw~~di(( Cty*5555(5 ACCC !!!,   " NN5 ! ! ! !   " NN5 ! ! ! ! NN5 ! ! ! MDK$?@AAA > M NNJ)BGOODM,J,JJL M M M~ & NN9 % % % : & NN9 % % %y!!! 5 z) :-> GG[[[)))-huoo KJ &||~~JJLL&&((1vv{{{{""1Q4(((%!"1J &YY[[F P()@4;;)NOOO P IIKKKKCIIKKKK 7| @ 0022 ".00 ! # 8w||GG$4jAAw~~d++,,+tT]3337<< zBB!,33 )X6888# @&@@C',,wv<@@@+ @ @ @ @@@s B2QQ2ctj|jtj|S)N)rJrKrLrr)r?rKs r@ _dist_pathzbdist_rpm._dist_paths*w||DM27+;+;D+A+ABBBrBc  d|jzd|jddzd|jzd|jddzdd|jzg}t jd }d d | D}d }d }|||}||kr0| d| d|zd z| gd|j r| dn| d| d|j zd|jzddg|js/|js| dn| d|jzdD]}t#||}t'|t(r.| |dd|g|| |d||jdkr/| d|jz|jr| d|jz|jr0| d d|jz|jr:| d!t2j|jz|jr| d"| dd#|jg|jdt2jt>j d$}d%|z} |j!rd&| z} d'|z} d(d)d*| fd+d,| fd-d.d/d0d1d2g } | D]\} } }t#|| }|s|r| dd3| zg|rbtE|5}| |#$d dddn #1swxYwY| || gd4|j%r0| d5d|j%z|j&r1| dd6g| |j&|S)7ziGenerate the text of an RPM spec file and return it as a list of strings (one per line). z %define name z%define version -_z%define unmangled_version z%define release z Summary: zrpm --eval %{__os_install_post} c<g|]}d|zS)z %s \)r).0rs r@ z-bdist_rpm._make_spec_file..s;!G!G!G%)"+TZZ\\!9!G!G!GrBzbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post )z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %s)VendorPackagerProvidesRequires Conflicts Obsoletesz: rnNUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionrz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES)r3r*z&%setup -n %{name}-%{unmangled_version}buildr+installr,)cleanr-zrm -rf $RPM_BUILD_ROOT) verifyscriptr.N)prer/N)postr0N)preunr1N)postunr2N%)rz%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)'rQrt get_versionreplacer#get_description subprocess getoutputrL splitlinesr`rr get_licenser"r=rRgetattrlowerr]r^get_urlr!r7r)rJrKrr<get_long_descriptionrrMargvr:openreadrr'r()r? spec_file vendor_hookproblemfixed fixed_hookfieldvaldef_setup_call def_build install_cmdscript_optionsrpm_optattrdefaultfs r@rvzbdist_rpm._make_spec_filesE d/88:: : !2!>!>!@!@!H!HS!Q!Q Q (4+<+H+H+J+J J !5!5c#!>!> >  $+;;== =  !*+LMM ii!G!G-8-C-C-E-E!G!G!GHH /9 ((%88  $ $   Q R R R   9JFM N N N $$$ % % % > M   L M M M M   K L L L $+7799 9  " L $ % % %  B$4466 6  !4555   o? A A A : :E$ ..C#t$$ :  UUUCHHSMMM!BCCCC  UUUCC!8999   $ $ & &) 3 3   Wt'8'@'@'B'BB C C C  ! H   -0FF G G G   <   . XXd&9::; < < < 9 E   X(8(8(C(CC D D D ? +   \ * * *     2 2 4 4   $%)KKK0@0@!0M0M0MN/  ! C6BI25CD  N ni 0 (+ 6 ? 3 ( * , .  )7 . . $WdG$%%C .g .  'M"$%%%.c?a!(()=)=>>>???????????????$$W---     > A   Wsxx'?'?? @ @ @ > -         T^ , , ,s-;R44R8 ;R8 c`|s|Sg}|dD]t}|}|ddkr|d|g:|ddkr||\|d|zu|ds|d=|S)zKFormat the changelog correctly and convert it to a list of strings rrrrrz )rrrr`)r?r( new_changelogrs r@razbdist_rpm._format_changelog0s   OO%%++D11 2 2D::<+)+)+)ZB@B@B@HCCCgggRrBr )__doc__rrMrJdistutils.corerdistutils.debugrdistutils.file_utilrdistutils.errorsdistutils.sysconfigr distutilsrr rrBr@rs """"""!!!!!!******222222uuuuuuuuuurBPK.ge[YM\\sdist.cpython-311.pycnu[ !A?h=JdZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z ddlm Z dd l m Z dd lmZdd lmZdd lmZdd lmZmZdZGddeZdS)zadistutils.command.sdist Implements the Distutils 'sdist' command (create a source distribution).N)glob)warn)Command)dir_util) file_util) archive_util)TextFile)FileList)log) convert_path)DistutilsTemplateErrorDistutilsOptionErrorcddlm}ddlm}g}|D])}|d|zd||df*|||ddS)zoPrint all possible values for the 'formats' option (used by the "--help-formats" command-line option). r) FancyGetopt)ARCHIVE_FORMATSformats=Nz.List of available source distribution formats:)distutils.fancy_getoptrdistutils.archive_utilrkeysappendsort print_help)rrformatsformats 0/usr/lib64/python3.11/distutils/command/sdist.py show_formatsrs322222666666G!&&((55 V+T'/24 5 5 5 5 LLNNNK##8:::::ceZdZdZdZgdZgdZdddefgZdd d Z d efgZ d Z d Z dZ dZdZdZdZedZdZdZdZdZdZdZdZdZdZdZdZdZd Z d!Z!d"Z"dS)#sdistz6create a source distribution (tarball, zip file, etc.)c|jS)zYCallable used for the check sub-command. Placed here so user_options can view it)metadata_checkselfs rchecking_metadatazsdist.checking_metadata(s ""r))z template=tz5name of manifest template file [default: MANIFEST.in])z manifest=mz)name of manifest file [default: MANIFEST]) use-defaultsNzRinclude the default file set in the manifest [default; disable with --no-defaults]) no-defaultsNz"don't include the default file set)pruneNzspecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune])no-pruneNz$don't automatically exclude anything) manifest-onlyozEjust regenerate the manifest and then stop (implies --force-manifest))force-manifestfzkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.)rNz6formats for source distribution (comma-separated list)) keep-tempkz@keep the distribution tree around after creating archive file(s))z dist-dir=dzFdirectory to put the source distribution archive(s) in [default: dist])metadata-checkNz[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default])zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])r(r*r,r.r0r3z help-formatsNz#list available distribution formatsr(r*)r)r+check)READMEz README.txtz README.rstcd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_ d|_ d|_ d|_ dS)Nrgztar) templatemanifest use_defaultsr* manifest_onlyforce_manifestr keep_tempdist_dir archive_filesr"ownergroupr#s rinitialize_optionszsdist.initialize_optionsesl   y  !  rc|jd|_|jd|_|dtj|j}|rt d|z|j d|_dSdS)NMANIFESTz MANIFEST.inrzunknown archive format '%s'dist)r<r;ensure_string_listrcheck_archive_formatsrrrA)r$ bad_formats rfinalize_optionszsdist.finalize_options|s = &DM = )DM  ***!7 EE  >&/*<>> > = "DMMM ! rct|_|D]}||||jrdS|dSN)r filelistget_sub_commands run_command get_file_listr>make_distribution)r$cmd_names rrunz sdist.runs!  --// ' 'H   X & & & &     F      rctdt|jd}||dS)zDeprecated API.zadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr6N)rPendingDeprecationWarning distributionget_command_objensure_finalizedrU)r$r6s rcheck_metadatazsdist.check_metadatasX -.G I I I!11'::     rctj|j}|s\|rH||j|jdS|s| d|jz|j |j r| |r| |jr||j|j|dS)aCFigure out the list of files to include in the source distribution, and put it in 'self.filelist'. This might involve reading the manifest template (and writing the manifest), or just reading the manifest, or just using the default file set -- it all depends on the user's options. Nz?manifest template '%s' does not exist (using default file list))ospathisfiler;_manifest_is_not_generated read_manifestrOrremove_duplicatesrfindallr= add_defaults read_templater*prune_file_listwrite_manifest)r$template_existss rrRzsdist.get_file_listsI'..77 4#B#B#D#D     M   M + + - - - F ' II4 & ' ' '           !    : #  " " "  ''))) rc|||||||dS)a9Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. N)_add_defaults_standards_add_defaults_optional_add_defaults_python_add_defaults_data_files_add_defaults_ext_add_defaults_c_libs_add_defaults_scriptsr#s rrdzsdist.add_defaultss $$&&& ##%%% !!### %%'''     !!### ""$$$$$rctj|sdStj|}tj|\}}|tj|vS)z Case-sensitive path existence check >>> sdist._cs_path_exists(__file__) True >>> sdist._cs_path_exists(__file__.upper()) False F)r]r^existsabspathsplitlistdir)fspathrs directoryfilenames r_cs_path_existszsdist._cs_path_existss_w~~f%% 5'//&)) gmmG44 82:i0000rc|j|jjg}|D]}t|trj|}d}|D]5}||rd}|j|n6|s+|dd |z||r|j||d|zdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found) READMESrX script_name isinstancetupleryrOrrjoin)r$ standardsfnaltsgot_its rrjzsdist._add_defaults_standardss\4#4#@A  C CB"e$$ CB++B//!% ,,R000 /IIL"iioo.///''++CM((,,,,II4==99E M  ' ' ' ' ( (rcR|d}|jr,|j||jD]D\}}}}|D]:}|jtj ||;EdS)Nbuild_py) get_finalized_commandrXhas_pure_modulesrOrget_source_files data_filesrr]r^r)r$rpkgsrc_dir build_dir filenamesrxs rrlzsdist._add_defaults_pythons--j99   - - / / > M !:!:!>!,,4 M003334 4 4 4 4rc|jrC|d}|j|dSdS)N build_ext)rXhas_ext_modulesrrOrr)r$rs rrnzsdist._add_defaults_ext5s^   , , . . ?22;??I M !;!;!=!= > > > > > ? ?rc|jrC|d}|j|dSdS)N build_clib)rXhas_c_librariesrrOrr)r$rs rrozsdist._add_defaults_c_libs:sa   , , . . @33LAAJ M !!> ? ? ? ? ? @ @rc|jrC|d}|j|dSdS)N build_scripts)rX has_scriptsrrOrr)r$rs rrpzsdist._add_defaults_scripts?sa   ( ( * * C 66GGM M !?!?!A!A B B B B B C Crc tjd|jt|jdddddd} |}|n` |j|nC#ttf$r/}| d|j |j |fzYd}~nd}~wwxYww | dS#| wxYw)zRead and parse manifest template file named by self.template. (usually "MANIFEST.in") The parsing and processing is done by 'self.filelist', which updates itself accordingly. zreading manifest template '%s'r9)strip_comments skip_blanks join_lines lstrip_ws rstrip_ws collapse_joinTNz%s, line %d: %s) r infor;r readlinerOprocess_template_liner ValueErrorrrx current_lineclose)r$r;linemsgs rrezsdist.read_templateDs( 14=AAADM!'(A*+---  9((**<9M77====/ ;999II/83D3;3H36388999999999 9 NN     HNN    s5CA+*C+B+<%B&!C&B++CCc|d}|j}|jd|j|jd|t jdkrd}nd}gd}d|d d |d |d }|j|d dS)avPrune off branches that might slip into the file list as created by 'read_template()', but really don't belong there: * the build tree (typically "build") * the release tree itself (only an issue if we ran "sdist" previously with --keep-temp, or it aborted) * any RCS, CVS, .svn, .hg, .git, .bzr, _darcs directories buildN)prefixwin32z/|\\/)RCSCVSz\.svnz\.hgz\.gitz\.bzr_darcsz(^|z)(|z).*r9)is_regex) rrX get_fullnamerOexclude_pattern build_basesysplatformr)r$rbase_dirsepsvcs_dirsvcs_ptrns rrfzsdist.prune_file_listas**733$1133 %%d53C%DDD %%d8%<<< <7 " "DDD*.$$0B0B0B0BDDDI %%h%;;;;;rc|rtjd|jzdS|jjdd}|dd|tj |j|fd|jzdS)zWrite the file list in 'self.filelist' (presumably as filled in by 'add_defaults()' and 'read_template()') to the manifest file named by 'self.manifest'. z5not writing to manually maintained manifest file '%s'Nrz*# file GENERATED by distutils, do NOT editzwriting manifest file '%s') r`r rr<rOrinsertexecuter write_file)r$contents rrgzsdist.write_manifestys  * * , ,  H*,0M: ; ; ; F-%aaa(qFGGG Y)DM7+C1DMA C C C C Crctj|jsdSt |j} |}|n#|wxYw|dkS)NFz+# file GENERATED by distutils, do NOT edit )r]r^r_r<openrr)r$fp first_lines rr`z sdist._manifest_is_not_generatedsmw~~dm,, 5 $-  J HHJJJJBHHJJJJKKKs A%%A;c,tjd|jt|j5}|D]H}|}|ds|s.|j|I ddddS#1swxYwYdS)zRead the manifest file (named by 'self.manifest') and use it to fill in 'self.filelist', the list of files to include in the source distribution. zreading manifest file '%s'#N)r rr<rstrip startswithrOr)r$r<rs rrazsdist.read_manifests -t}=== $-  +H  + +zz||??3''t $$T****  + + + + + + + + + + + + + + + + + + +sA B  B B c(||tj|||jt t drd}d|z}nd}d|z}|st jdnt j||D]o}t j |st jd|7t j ||}| ||| p|j j|dS) aCreate the directory tree that will become the source distribution archive. All directories implied by the filenames in 'files' are created under 'base_dir', and then we hard link or copy (if hard linking is unavailable) those files into place. Essentially, this duplicates the developer's source tree, but in a directory named after the distribution, containing only the files to be distributed. dry_runlinkhardzmaking hard links in %s...Nzcopying files to %s...z)no files to distribute -- empty manifest?z#'%s' not a regular file -- skipping)r)mkpathr create_treerhasattrr]r rrr^r_r copy_filerXmetadatawrite_pkg_info)r$rrrrfiledests rmake_release_treezsdist.make_release_trees HXudlCCCC 2v   6D.9CCD*X5C  H@ A A A A HSMMM 6 6D7>>$'' 6>EEEEw||Hd33tT5555 "11(;;;;;rc|j}tj|j|}|||jjg}d|j vrJ|j |j |j d|j D]]}| ||||j|j}| ||jj dd|f^||_|jst'j||jdSdS)aCreate the source distribution(s). First, we create the release tree with 'make_release_tree()'; then, we create all required archive files (according to 'self.formats') from the release tree. Finally, we clean up by blowing away the release tree (unless 'self.keep_temp' is true). The list of archive files created is stored so it can be retrieved later by 'get_archive_files()'. tar)rrCrDr rN)rXrr]r^rrArrOrrrpopindex make_archiverCrD dist_filesrBr@r remove_treer)r$r base_namerBfmtrs rrSzsdist.make_distributionsE$1133GLL99  x)<=== DL L   0 01C1CE1J1J K K L L L< E EC$$Yh+/:TZ%IID   & & &   ( / /"d0C D D D D*~ A  4< @ @ @ @ @ @ A Arc|jS)zzReturn the list of archive files created when the command was run, or None if the command hasn't run yet. )rBr#s rget_archive_fileszsdist.get_archive_filess !!r)#__name__ __module__ __qualname__ descriptionr% user_optionsboolean_optionsr help_options negative_opt sub_commandsr{rErLrUr[rRrd staticmethodryrjrkrlrmrnrorprerfrgr`rarrSrrrr r $sJK### % % % LN666O  .  > L $2 '**L/01L4G.### !!!,&&&P%%%,11\1 CCC*((( FFF 444"??? @@@ CCC :<<<0 C C C L L L + + +(<(<(rs>LL """"""""""""((((((''''''''''''IIIIIIII : : :J"J"J"J"J"GJ"J"J"J"J"rPK.ge[ ZQ#build_scripts.cpython-311.opt-2.pycnu[ !A?hX ddlZddlZddlmZddlmZddlmZddlm Z ddl m Z m Z ddlm Z ddlZejdZGd d eZGd d ee ZdS) N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c>eZdZdZgdZdgZdZdZdZdZ dZ d S) build_scriptsz("build" scripts (copy and fixup #! line)))z build-dir=dzdirectory to "build" (copy) to)forcefz1forcibly build everything (ignore file timestamps)z executable=ez*specify final destination interpreter pathr cLd|_d|_d|_d|_d|_dSN) build_dirscriptsr executableoutfilesselfs 8/usr/lib64/python3.11/distutils/command/build_scripts.pyinitialize_optionsz build_scripts.initialize_optionss)   cX|dddd|jj|_dS)Nbuild)r r)r r )rr)set_undefined_options distributionrrs rfinalize_optionszbuild_scripts.finalize_options%s; ""7#A#5#? A A A(0 rc|jSr)rrs rget_source_fileszbuild_scripts.get_source_files,s |rc@|jsdS|dSr)r copy_scriptsrs rrunzbuild_scripts.run/s)|  F rc T ||jg}g}|jD]o}d}t|}tj|jtj|}|||j s&t||stj d| t|d}tj|j\}}|d|} | s|d|z t&| } | rd}| dpd} n#t,$r |jsd}YnwxYw|rtjd ||j|||jst2js|j} n[tjt3jd d t3jd t3jd } t j| } d| z| zdz} | dn0#t>$r#tAd!| wxYw | |n1#t>$r$tAd!| |wxYwt|d5}|"| |#|$dddn #1swxYwY|r|%.|r|%|||&||qtj'dkr~|D]{}|jrtjd|t j(|tRdz}|dzdz}||kr,tjd|||t j*|||||fS)NFznot copying %s (up-to-date)rbrz%s is an empty file (skipping)Trzcopying and adjusting %s -> %sBINDIRpythonVERSIONEXEs#! zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+mkpathrrrospathjoinbasenameappendr rr debugopentokenizedetect_encodingreadlineseekwarn first_line_rematchgroupOSErrordry_runinfor python_buildrget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinesclose copy_filenamestatrchmod)rr updated_filesscriptadjustoutfilerencodinglines first_liner= post_interprshebangoutffileoldmodenewmodes rr#zbuild_scripts.copy_scripts5s DN### lL 0L 0FF!&))Fgll4>273C3CF3K3KLLG OOG $ $ $: eFG&<&<  7@@@  8&& #+":1:"F"F%q ZZ\\ !II>GHHH%++J778!F"'++a.."7CK   | ", 096)))$$W---|!7$1M%)_ %'W\\%4X>>>+4+CI+N+N+N+4+CE+J+J+JL&M&M "$Z!8!8J#j0;>FG :w////-:::())/::::8x0000-888(<#VGX668888 gt,,7 7+++ 666777777777777777GGIIIGGIII$$W---vw//// 7g   0 0<0H2D9999 gdmmG4v=G&&8G'))!D!%w999w///&&s<E''E>=E> I!!-JJ((.K)=L22L6 9L6 N) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr!r$r#rrr r s>K   L iO111 c'c'c'c'c'rr ceZdZdZdS)build_scripts_2to3c|t|\}}|js||||fSr)r r#r@run_2to3)rrrQs rr#zbuild_scripts_2to3.copy_scriptssA"/"<"ros5 """"""$$$$$$22222222 ;<< G'G'G'G'G'GG'G'G'R''''' '''''rPK.ge[3jXXbdist_rpm.cpython-311.opt-2.pycnu[ !A?h!T ddlZddlZddlZddlmZddlmZddlmZddl Tddl m Z ddl m Z Gdd eZdS) N)Command)DEBUG) write_file)*)get_python_version)logcXeZdZdZgdZgdZddddZdZd Zd Z d Z d Z d Z dZ dS) bdist_rpmzcreate an RPM distribution)))z bdist-base=Nz/base directory for creating built distributions)z rpm-base=Nzdbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2))z dist-dir=dzDdirectory to put final RPM files in (and .spec files if --spec-only))zpython=NzMpath to Python interpreter to hard-code in the .spec file (default: "python"))z fix-pythonNzLhard-code the exact path to the current Python interpreter in the .spec file)z spec-onlyNzonly regenerate spec file)z source-onlyNzonly generate source RPM)z binary-onlyNzonly generate binary RPM)z use-bzip2Nz7use bzip2 instead of gzip to create source distribution)zdistribution-name=Nzgname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!))zgroup=Nz9package classification [default: "Development/Libraries"])zrelease=NzRPM release number)zserial=NzRPM serial number)zvendor=NzaRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script])z packager=NzBRPM packager (eg. "Jane Doe ") [default: vendor])z doc-files=Nz6list of documentation files (space or comma-separated))z changelog=Nz RPM changelog)zicon=Nzname of icon file)z provides=Nz%capabilities provided by this package)z requires=Nz%capabilities required by this package)z conflicts=Nz-capabilities which conflict with this package)zbuild-requires=Nz+capabilities required to build this package)z obsoletes=Nz*capabilities made obsolete by this package) no-autoreqNz+do not automatically calculate dependencies) keep-tempkz"don't clean up RPM build directory) no-keep-tempNz&clean up RPM build directory [default])use-rpm-opt-flagsNz8compile with RPM_OPT_FLAGS when building from source RPM)no-rpm-opt-flagsNz&do not pass any RPM CFLAGS to compiler) rpm3-modeNz"RPM 3 compatibility mode (default)) rpm2-modeNzRPM 2 compatibility mode)z prep-script=Nz3Specify a script for the PREP phase of RPM building)z build-script=Nz4Specify a script for the BUILD phase of RPM building)z pre-install=Nz:Specify a script for the pre-INSTALL phase of RPM building)zinstall-script=Nz6Specify a script for the INSTALL phase of RPM building)z post-install=Nz;Specify a script for the post-INSTALL phase of RPM building)zpre-uninstall=Nzs r@finalize_optionszbdist_rpm.finalize_optionssU ""7,HIII = > C*ACCCGLL%@@DM ;  (!n ' _ N&LNN N 7g  (*246G*<== =   L 0 L&JLL L 0022 '%&D " ""7,DEEE ""$$$$$rBcd|dd|d|jd|jd|d|dt |jtrGdD]D}tj |r#||jvr|j |E|d d |d |d |d | |j |_ |d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|ddS)Nr"zDevelopment/Librariesr%z <>r&r')READMEz README.txtr#1r$r!r(r)r*r+r,r-r.r/r0r1r2r4r5r6r7r8r=) ensure_stringrQ get_contactget_contact_emailensure_string_list isinstancer'listrJrKexistsappend_format_changelogr(ensure_filename)r?readmes r@rSzbdist_rpm.finalize_package_datas 7$;<<< 8(,(9(E(E(G(G(G(G(,(9(K(K(M(M(M(MO P P P :&&&  ,,, dnd + + 22 2 27>>&))2fDN.J.JN))&111 9c*** 8$$$ ./// ;'''//?? V$$$ ]+++ ^,,, -... ^,,, _--- ]+++ ^,,, _--- -...  +++  +++  ,,,  0111  ,,, <(((((rBc trctdtd|jtd|jtd|jtd|j|jr|j}||nRi}dD]E}tj |j |||<|||F|d}tj |d|j z}|t ||fd |z|jrdS|j jdd}|d }|jr d g|_nd g|_|d ||j _|d }|d}||||jrWtj |jr||j|nt7d|jzt9jddg} |jr| dn2|j r| dn| d| !dd|j"zg|j#r<| !ddtj $|j zg|j%s| d|j&r| d| |d} | dz} d| zdz} d| d| d |d!} tj'| } g}d} |(}|snL|)*}||d#||d }c|+}|rtYd$t[| z |+n#|+wxYw|.| |j/s|j 0rtc}nd%}|j stj |d&|}|2||jtj |j|}|j jd'||f|js|D]}tj |d(|}tj |r|2||jtj |jtj 3|}|j jd'||fdSdSdS))Nzbefore _get_package_data():zvendor =z packager =z doc_files =z changelog =)SOURCESSPECSBUILDRPMSSRPMSrfz%s.specz writing '%s'sdistbztargztarrrezicon file '%s' does not existz building RPMsrpmbuildz-bsz-bbz-baz--definez __python %sz _topdir %sz--cleanz--quietz%{name}-%{version}-%{release}z.src.rpmz%{arch}/z .%{arch}.rpmz rpm -q --qf ' z\n' --specfile ''TrzFailed to execute: %sanyrir rh)4rprintr%r&r'r(rrmkpathrJrKrLrrQget_nameexecuter_make_spec_file dist_filesreinitialize_commandr formats run_commandget_archive_files copy_filer)r_DistutilsFileErrorrinforr`rextendrr;abspathr9rpopenreadlinestripsplitcloseDistutilsExecErrorreprspawndry_runrRr move_filebasename)r?spec_dirrpm_dirr spec_pathsaved_dist_filesrjsource source_dirrpm_cmd nvr_stringsrc_rpm non_src_rpmq_cmdout binary_rpms source_rpmlinelstatus pyversionsrpmfilenamerEs r@runz bdist_rpm.runs  1 / 0 0 0 *dk * * * , . . . - 0 0 0 - 0 0 0 > (}H KK ! ! ! !GC ( (W\\$-;;  GAJ''''w'HGLL!*T->-G-G-I-I!IKK  Z**,,.#i/ 1 1 1 >  F ,7:))'22 > &$IEMM$IEM !!!'7$((**1-Y'  vz*** 9 Cw~~di(( Cty*5555(5 ACCC !!!,   " NN5 ! ! ! !   " NN5 ! ! ! ! NN5 ! ! ! MDK$?@AAA > M NNJ)BGOODM,J,JJL M M M~ & NN9 % % % : & NN9 % % %y!!! 5 z) :-> GG[[[)))-huoo KJ &||~~JJLL&&((""1Q4(((%!"1J &YY[[F P()@4;;)NOOO P IIKKKKCIIKKKK 7| @ 0022 ".00 ! # 8w||GG$4jAAtT]3337<< zBB!,33 )X6888# @&@@C',,wv<@@@+ @ @ @ @@@s BQQctj|jtj|S)N)rJrKrLrr)r?rKs r@ _dist_pathzbdist_rpm._dist_paths*w||DM27+;+;D+A+ABBBrBc  d|jzd|jddzd|jzd|jddzdd|jzg}t jd }d d | D}d }d }|||}||kr0| d| d|zd z| gd|j r| dn| d| d|j zd|jzddg|js/|js| dn| d|jzdD]}t#||}t'|t(r.| |dd|g|| |d||jdkr/| d|jz|jr| d|jz|jr0| dd|jz|jr:| d t2j|jz|jr| d!| dd"|jg|jdt2jt>j d#}d$|z} |j!rd%| z} d&|z} d'd(d)| fd*d+| fd,d-d.d/d0d1g } | D]\} } }t#|| }|s|r| dd2| zg|rbtE|5}| |#$d dddn #1swxYwY| || gd3|j%r0| d4d|j%z|j&r1| dd5g| |j&|S)6Nz %define name z%define version -_z%define unmangled_version z%define release z Summary: zrpm --eval %{__os_install_post} c<g|]}d|zS)z %s \)r).0rs r@ z-bdist_rpm._make_spec_file..s;!G!G!G%)"+TZZ\\!9!G!G!GrBzbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post )z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %s)VendorPackagerProvidesRequires Conflicts Obsoletesz: rnUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionrz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES)r3r*z&%setup -n %{name}-%{unmangled_version}buildr+installr,)cleanr-zrm -rf $RPM_BUILD_ROOT) verifyscriptr.N)prer/N)postr0N)preunr1N)postunr2N%)rz%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)'rQrs get_versionreplacer#get_description subprocess getoutputrL splitlinesr`r~r get_licenser"r=rRgetattrlowerr]r^get_urlr!r7r)rJrKrr<get_long_descriptionrrMargvr:openreadrr'r()r? spec_file vendor_hookproblemfixed fixed_hookfieldvaldef_setup_call def_build install_cmdscript_optionsrpm_optattrdefaultfs r@ruzbdist_rpm._make_spec_filesJ d/88:: : !2!>!>!@!@!H!HS!Q!Q Q (4+<+H+H+J+J J !5!5c#!>!> >  $+;;== =  !*+LMM ii!G!G-8-C-C-E-E!G!G!GHH /9 ((%88  $ $   Q R R R   9JFM N N N $$$ % % % > M   L M M M M   K L L L $+7799 9  " L $ % % %  B$4466 6  !4555   o? A A A : :E$ ..C#t$$ :  UUUCHHSMMM!BCCCC  UUUCC!8999   $ $ & &) 3 3   Wt'8'@'@'B'BB C C C  ! H   -0FF G G G   <   . XXd&9::; < < < 9 E   X(8(8(C(CC D D D ? +   \ * * *     2 2 4 4   $%)KKK0@0@!0M0M0MN/  ! C6BI25CD  N ni 0 (+ 6 ? 3 ( * , .  )7 . . $WdG$%%C .g .  'M"$%%%.c?a!(()=)=>>>???????????????$$W---     > A   Wsxx'?'?? @ @ @ > -         T^ , , ,s.;R55R9 <R9 cb |s|Sg}|dD]t}|}|ddkr|d|g:|ddkr||\|d|zu|ds|d=|S)Nrrrrrz )rrr~r`)r?r( new_changelogrs r@razbdist_rpm._format_changelog0s    OO%%++D11 2 2D::<+)+)+)ZB@B@B@HCCCgggRrBr )rrMrJdistutils.corerdistutils.debugrdistutils.file_utilrdistutils.errorsdistutils.sysconfigr distutilsrr rrBr@rs """"""!!!!!!******222222uuuuuuuuuurBPK.ge[H"x&ZJZJbuild_py.cpython-311.pycnu[ !A?h&CdZddlZddlZddlZddlZddlmZddlTddl m Z m Z ddl m Z GddeZGd d ee ZdS) zHdistutils.command.build_py Implements the Distutils 'build_py' command.N)Command)*) convert_path Mixin2to3)logceZdZdZgdZddgZddiZdZdZdZ d Z d Z d Z d Z d ZdZdZdZdZdZdZddZdZdZdZdZdS)build_pyz5"build" pure Python modules (copy to build directory)))z build-lib=dzdirectory to "build" (copy) to)compileczcompile .py to .pyc) no-compileNz!don't compile .py files [default])z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])forcefz2forcibly build everything (ignore file timestamps)r rr cvd|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizerselfs 3/usr/lib64/python3.11/distutils/command/build_py.pyinitialize_optionszbuild_py.initialize_options s@     cH|ddd|jj|_|jj|_|jj|_i|_|jjr;|jjD]\}}t||j|<||_ t|j tsV t|j |_ d|j cxkrdksnJdS#ttf$rtdwxYwdS)Nbuild)rr)rrrzoptimize must be 0, 1, or 2)set_undefined_options distributionpackagesrrritemsrget_data_files data_files isinstancerint ValueErrorAssertionErrorDistutilsOptionError)rnamepaths rfinalize_optionszbuild_py.finalize_options*sL ""7#=#5 7 7 7 )2 +6 -:   ( <"/;AACC < < d)5d);); &&--//$--- J J #DM 2 2 DM....Q......../ J J J*+HIII J  J Js /C>>!Dc|jr||jr(||||ddSNr)include_bytecode)r build_modulesr"build_packagesbuild_package_data byte_compile get_outputsrs rrunz build_py.runCsy, ? !    = &    ! ! !  # # % % % $**A*>>?????rc\g}|js|S|jD]}||}tjj|jg|dz}d|rt|dzfd|||D}| ||||f|S)z?Generate list of '(package,src_dir,build_dir,filenames)' tuples.rc$g|] }|d SN).0fileplens r z+build_py.get_data_files..ss. $TUU r) r"get_package_dirosr,joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesr?s @rr$zbuild_py.get_data_filesas} K} B BG**733G '7'--:L:L'LNID &7||A~(,(<(.s;(((2U??GNN2&&4C"???r) rgetglobrBr,rCescaperextend)rrrIglobspatternfilelistrQs @rrFzbuild_py.find_data_filesys"&&r2..$(("556 ) )Gydk'.B.BLQXDYDY!Z!Z[[H LL((((x((( ) ) ) ) rcBd}|jD]\}}}}|D]}tj||}|tj||tj|||ddS)z$Copy data files into build directoryNF preserve_mode)r%rBr,rCmkpathdirname copy_file)rlastdirrrIrJrKfilenametargets rr3zbuild_py.build_package_datas6:o 4 4 2GWi% 4 4i:: BGOOF33444rw||GX>>-24444 4 4 4rc|d}|js|rtjj|SdSg}|r{ |jd|}|d|tjj|S#t $r"|d|d|d=YnwxYw|{|jd}||d||rtjj|SdS)zReturn the directory, relative to the top of the source distribution, where package 'package' should be found (at least according to the 'package_dir' option, if any).r8rMr)rDrrBr,rCinsertKeyErrorrR)rrr,tailpdirs rrAzbuild_py.get_package_dirs"}}S!!  w|T**rD /+CHHTNN;D KK4(((7<..  !!!KK48,,,R! "'++B//#KK4(((7<..2s B)B.-B.c|dkrbtj|std|ztj|std|z|rVtj|d}tj|r|Stjd|dS)NrMz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz8package init file '%s' not found (or not a regular file)) rBr,existsDistutilsFileErrorisdirrCrOrwarn)rrrinit_pys r check_packagezbuild_py.check_packages "  7>>+.. M(= KMMM7==-- ?(02=>???  ?gll; >>Gw~~g&& ?46=??? trcttj|stjd||dSdS)Nz!file %s (for module %s) not foundFT)rBr,rOrrl)rmodule module_files r check_modulezbuild_py.check_modules7w~~k**  H8+v N N N54rcJ|||tjtjtj|d}g}tj|jj}|D]}tj|}||kr[tj tj |d}| |||f| d|z|S)Nz*.pyrz excluding %s) rnrSrBr,rCrTabspathr! script_namesplitextbasenamerG debug_print) rrr module_filesmodules setup_scriptrabs_frps rfind_package_moduleszbuild_py.find_package_moduless 7K000ydk+.F.F!O!OPP wt'8'DEE  @ @AGOOA&&E $$))"'*:*:1*=*=>>qA34444  ,!>????rci}g}|jD]}|d}d|dd}|d} ||\}}n'#t$r||}d}YnwxYw|s7|||} |df||<| r||d| ftj||dz} | || s|||| f|S)aFinds individually-specified Python modules, ie. those listed by module name in 'self.py_modules'. Returns a list of tuples (package, module_base, filename): 'package' is a tuple of the path through package-space to the module; 'module_base' is the bare (no packages, no dots) module name, and 'filename' is the path to the ".py" file (relative to the distribution root) that implements the module. r8rrcr9__init__.py) rrDrCrerArnrGrBr,rr) rr"rzrpr,r module_basercheckedrmrqs r find_moduleszbuild_py.find_modulessN o @ @F<<$$DhhtAbDz**Gr(K )1'):&gg   "227;;   C,,WkBB%0!$4!CNNGZ#ABBB ',,{K%4GHHK$$V[99  NNG[+> ? ? ? ?s A!A98A9cg}|jr'|||jrJ|jD]B}||}|||}||C|S)a4Compute the list of all modules that will be built, whether they are specified one-module-at-a-time ('self.py_modules') or by whole packages ('self.packages'). Return a list of tuples (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.)rrUrr"rAr})rrzrrms rfind_all_moduleszbuild_py.find_all_moduless  ? 0 NN4,,.. / / / = "= " ""227;; --g{CCq!!!!rc>d|DS)Ncg|] }|d S)rcr<)r=rps rr@z-build_py.get_source_files..-sAAAvr AAAr)rrs rget_source_fileszbuild_py.get_source_files,s"AA)>)>)@)@AAAArc\|gt|z|dzgz}tjj|S)Nr)listrBr,rC)rrJrrp outfile_paths rget_module_outfilezbuild_py.get_module_outfile/s/!{T']]2fun5EE w|\**rr9c|}g}|D]\}}}|d}||j||}|||r|jr4|t j|d|j dkr9|t j||j |d|j Dz }|S)Nr8rM) optimizationrcbg|],\}}}}|D]"}tj||#-Sr<)rBr,rC)r=rrIrJrKr`s rr@z(build_py.get_outputs..BsW6)Y% GLLH - -r) rrDrrrGr importlibutilcache_from_sourcerr%)rr0rzoutputsrrprqr`s rr5zbuild_py.get_outputs3s''')).5 ? ? *WfkmmC((G..t~wOOH NN8 $ $ $ ?<4NN9>#C#C r$D$3$3444=1$$NN9>#C#C t}$D$>$>??? :>/  rc~t|tr|d}n+t|ttfst d||j||}tj |}| || ||dS)Nr8z:'package' must be a string (dot-separated), list, or tuplerrZ) r&strrDrtuple TypeErrorrrrBr,r]r\r^)rrprqroutfiledirs r build_modulezbuild_py.build_moduleJs gs # # PmmC((GGGdE]33 PNPP P ))$.'6JJgoog&& C~~k7!~DDDrcn|}|D]\}}}||||dSr;)rr)rrzrrprqs rr1zbuild_py.build_modulesYsP##%%.5 < < *Wfk   fk7 ; ; ; ;  < > > F////// ":  bf_F < P L#z&$, P P P P =1   L#z&$, P P P P P P  rN)r9)__name__ __module__ __qualname__ description user_optionsboolean_options negative_optrr-r6r$rFr3rArnrrr}rrrrr5rr1r2r4r<rrr r sxKK   L!'*O 9-LJJJ2@@@<0   444%%%N6   222h BBB+++. E E E<<<@@@(PPPPPrr ceZdZdZdZdS) build_py_2to3c.g|_|jr||jr(||||j||ddSr/) updated_filesrr1r"r2r3run_2to3r4r5rs rr6zbuild_py_2to3.runs ? !    = &    ! ! !  # # % % % d())) $**A*>>?????rct||||}|dr |j|d|S)Nr9r)r rrrG)rrprqrress rrzbuild_py_2to3.build_modulesG##D&+wGG q6 .   % %c!f - - - rN)rrrr6rr<rrrrs5@@@ rr)__doc__rBimportlib.utilrrrSdistutils.corerdistutils.errorsrrr distutilsrr rr<rrrs00  """"""22222222yPyPyPyPyPyPyPyPv HirPK.ge[:jH;;bdist_dumb.cpython-311.pycnu[ !A?h1vdZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gd d eZdS) zdistutils.command.bdist_dumb Implements the Distutils 'bdist_dumb' command (create a "dumb" built distribution -- i.e., just an archive to be unpacked under $prefix or $exec_prefix).N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc heZdZdZddddezfdddd d d d g Zgd ZdddZdZdZ dZ dS) bdist_dumbz"create a "dumb" built distribution)z bdist-dir=dz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s))zformat=fz>archive format to create (tar, gztar, bztar, xztar, ztar, zip)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z dist-dir=r z-directory to put final built distributions in) skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths (default: false))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])rrrgztarzip)posixntcd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfs 5/usr/lib64/python3.11/distutils/command/bdist_dumb.pyinitialize_optionszbdist_dumb.initialize_options2sE     c`|j?|dj}tj|d|_|jH |jtj|_n*#t$rtdtjzwxYw| dddddS)Nbdistdumbz@don't know how to create dumb built distributions on platform %s)rr)rr)rr) rget_finalized_command bdist_baseospathjoinrdefault_formatnameKeyErrorDistutilsPlatformErrorset_undefined_options)r"r*s r#finalize_optionszbdist_dumb.finalize_options=s > !33G<<GJW\\*f==DN ;  3"1"':  3 3 3,(*,'2333 3 ""7#;#=#? A A A A As A,,'Bc|js|d|dd}|j|_|j|_d|_t jd|j|d|j d|j }tj |j|}|js|j}n|jrJ|j|jkr:t'dt)|jd t)|jd tj |jt+|j}|||j||j|j }|jrt5}nd }|jjd ||f|jst=|j|jdSdS)Nbuildinstall)reinit_subcommandsrzinstalling to %s.zLcan't make a dumb built distribution where base and platbase are different (z, ))root_dirr r!anyr )dry_run) r run_commandreinitialize_commandrrootwarn_dirr info distribution get_fullnamerr+r,r-rrhas_ext_modules install_baseinstall_platbaser1reprr make_archiverr r!r dist_filesappendrrr=)r"r6archive_basenamepseudoinstall_root archive_rootfilename pyversions r#runzbdist_dumb.runOs% &   W % % %++I!+LL~ !_ #T^444 ###'+&7&D&D&F&F&F&F&*nn6 W\\$-9IJJ} J>LL!1133 J%)AAA,,w34444w78888:;;; "w||DN#273G#H#H J J $$%7%)[<+/:TZ%II   , , . . *,,III $++\9-5-7 8 8 8~ >  = = = = = = > >r%N) __name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr.r$r3rQr%r#r r s8KJ!3%'3|~~67#:FK)12+L4>==O '"%%N   AAA$,>,>,>,>,>r%r )__doc__r+distutils.corerdistutils.utilrdistutils.dir_utilrrdistutils.errorsdistutils.sysconfigr distutilsr r rXr%r#r`s  """"""'''''';;;;;;;;222222l>l>l>l>l>l>l>l>l>l>r%PK.ge[ MMbdist.cpython-311.opt-2.pycnu[ !A?hR ddlZddlmZddlTddlmZdZGddeZdS)N)Command)*) get_platformc ddlm}g}tjD]3}|d|zdtj|df4||}|ddS)Nr) FancyGetoptformats=z'List of available distribution formats:)distutils.fancy_getoptrbdistformat_commandsappendformat_command print_help)rformatsformatpretty_printers 0/usr/lib64/python3.11/distutils/command/bdist.py show_formatsr s222222G':: V+T,V4Q79 : : : : [))NGHHHHHceZdZdZddddezfdddd d gZd gZd d defgZdZ dddZ gdZ ddddddddZ dZ dZdZd S)r z$create a built (binary) distribution)z bdist-base=bz4temporary directory for creating built distributionsz plat-name=pz;platform name to embed in generated filenames (default: %s))rNz/formats for distribution (comma-separated list))z dist-dir=dz=directory to put final built distributions in [default: dist]) skip-buildNz2skip rebuilding everything (for testing/debugging))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]rz help-formatsNz$lists available distribution formats) bdist_rpmgztarzip)posixnt)rpmrbztarxztarztartarr)rzRPM distribution) bdist_dumbzgzip'ed tar file)r'zbzip2'ed tar file)r'zxz'ed tar file)r'zcompressed tar file)r'ztar file)r'zZIP filechd|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_base plat_namerdist_dir skip_buildgroupowner)selfs rinitialize_optionszbdist.initialize_optionsLs7    rc|j:|jrt|_n|dj|_|jG|dj}t j|d|jz|_| d|j I |j t j g|_ n*#t$rtdt j zwxYw|j d|_dSdS)Nbuildzbdist.rz;don't know how to create built distributions on platform %sdist)r*r,rget_finalized_commandr) build_baseospathjoinensure_string_listrdefault_formatnameKeyErrorDistutilsPlatformErrorr+)r/r5s rfinalize_optionszbdist.finalize_optionsUs > ! O!-!%!;!;G!D!D!N ? "33G<<GJ gll:+3dn+DFFDO  *** <  2 $ 3BG <=  2 2 2,')+1222 2 = "DMMM ! s -C 'C2cg}|jD]I} ||j|d*#t$rt d|zwxYwt t |jD]}||}||}||jvr|j||_ |dkr|j |_ |j |_ |||dzdvrd|_ | |dS)Nrzinvalid format '%s'r'r )rr rr<DistutilsOptionErrorrangelenreinitialize_commandno_format_optionrr.r- keep_temp run_command)r/commandsricmd_namesub_cmds rrunz bdist.runqs0l K KF K 3F ;A >???? K K K*+@6+IJJJ Ks4<(()) ' 'A{H//99Gt444!%a<'' $  $  8AaCDD>))$%!   X & & & & ' 's &4A)__name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr help_optionsrDr:r rr0r>rKrrr r s8KM!3%'3|~~67H(K12L($nO  / ? L & '!##NONNO BAB?D99 N###8'''''rr )r6distutils.corerdistutils.errorsdistutils.utilrrr rSrrrWs  """"""'''''' I I Ir'r'r'r'r'Gr'r'r'r'r'rPK.ge[?T  #build_scripts.cpython-311.opt-1.pycnu[ !A?hXdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlZejd ZGd d eZGd d ee ZdS)zRdistutils.command.build_scripts Implements the Distutils 'build_scripts' command.N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c>eZdZdZgdZdgZdZdZdZdZ dZ d S) build_scriptsz("build" scripts (copy and fixup #! line)))z build-dir=dzdirectory to "build" (copy) to)forcefz1forcibly build everything (ignore file timestamps)z executable=ez*specify final destination interpreter pathr cLd|_d|_d|_d|_d|_dSN) build_dirscriptsr executableoutfilesselfs 8/usr/lib64/python3.11/distutils/command/build_scripts.pyinitialize_optionsz build_scripts.initialize_optionss)   cX|dddd|jj|_dS)Nbuild)r r)r r )rr)set_undefined_options distributionrrs rfinalize_optionszbuild_scripts.finalize_options%s; ""7#A#5#? A A A(0 rc|jSr)rrs rget_source_fileszbuild_scripts.get_source_files,s |rc@|jsdS|dSr)r copy_scriptsrs rrunzbuild_scripts.run/s)|  F rc R||jg}g}|jD]o}d}t|}tj|jtj|}|||j s&t||stj d| t|d}tj|j\}}|d|} | s|d|z t&| } | rd}| dpd} n#t,$r |jsd }YnwxYw|rtjd ||j|||jst2js|j} n[tjt3jd d t3jd t3jd} t j| } d| z| zdz} | dn0#t>$r#tAd!| wxYw | |n1#t>$r$tAd!| |wxYwt|d5}|"| |#|$d d d n #1swxYwY|r|%.|r|%|||&||qtj'dkr~|D]{}|jrtjd|t j(|tRdz}|dzdz}||kr,tjd|||t j*|||||fS)a"Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. Fznot copying %s (up-to-date)rbrz%s is an empty file (skipping)TrNzcopying and adjusting %s -> %sBINDIRpythonVERSIONEXEs#! zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+mkpathrrrospathjoinbasenameappendr rr debugopentokenizedetect_encodingreadlineseekwarn first_line_rematchgroupOSErrordry_runinfor python_buildrget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinesclose copy_filenamestatrchmod)rr updated_filesscriptadjustoutfilerencodinglines first_liner= post_interprshebangoutffileoldmodenewmodes rr#zbuild_scripts.copy_scripts5s DN### lL 0L 0FF!&))Fgll4>273C3CF3K3KLLG OOG $ $ $: eFG&<&<  7@@@  8&& #+":1:"F"F%q ZZ\\ !II>GHHH%++J778!F"'++a.."7CK   | ", 096)))$$W---|!7$1M%)_ %'W\\%4X>>>+4+CI+N+N+N+4+CE+J+J+JL&M&M "$Z!8!8J#j0;>FG :w////-:::())/::::8x0000-888(<#VGX668888 gt,,7 7+++ 666777777777777777GGIIIGGIII$$W---vw//// 7g   0 0<0H2D9999 gdmmG4v=G&&8G'))!D!%w999w///&&s<?E&&E=<E= I  -J J''.K(=L11L5 8L5 N) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr!r$r#rrr r s>K   L iO111 c'c'c'c'c'rr ceZdZdZdS)build_scripts_2to3c|t|\}}|js||||fSr)r r#r@run_2to3)rrrQs rr#zbuild_scripts_2to3.copy_scriptssA"/"<"rps55 """"""$$$$$$22222222 ;<< G'G'G'G'G'GG'G'G'R''''' '''''rPK.ge[&install_egg_info.cpython-311.opt-1.pycnu[ !A?h+ ldZddlmZddlmZmZddlZddlZddlZGddeZ dZ dZ d Z dS) zdistutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.)Command)logdir_utilNc4eZdZdZdZdgZdZdZdZdZ dS) install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file)z install-dir=dzdirectory to install tocd|_dSN) install_dirselfs ;/usr/lib64/python3.11/distutils/command/install_egg_info.pyinitialize_optionsz#install_egg_info.initialize_optionssc|dddtt|jtt |jgtjddRz}tj |j ||_ |j g|_dS)N install_lib)r r z%s-%s-py%d.%d.egg-info)set_undefined_options to_filename safe_name distributionget_name safe_version get_versionsys version_infoospathjoinr targetoutputs)r basenames rfinalize_optionsz!install_egg_info.finalize_optionss ""=1NOOO+  $"3"<"<">">?? @ @  T%6%B%B%D%DEE F F/  bqb !/ /   gll4#3X>>  } rc|j}tj|r;tj|st j||jntj|r+| tj |jfd|znStj|j s/| tj |j fd|j ztjd||jsLt|dd5}|jj|ddddS#1swxYwYdSdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)r rrisdirislinkr remove_treer%existsexecuteunlinkr makedirsrinfoopenrmetadatawrite_pkg_file)r r fs rrunzinstall_egg_info.run s 7==  7)?)? 7   > > > > > W^^F # # 7 LLDK>+f2D E E E Et/00 7 LLt'7&9$T%55 7 7 7 v&&&| =fcG444 =!*99!<<< = = = = = = = = = = = = = = = = = = = =s- EE!Ec|jSr )r!r s r get_outputszinstall_egg_info.get_outputs.s |rN) __name__ __module__ __qualname____doc__ description user_optionsrr#r4r6rrrr se33LK8L   %%% = = =rrc.tjdd|S)zConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. [^A-Za-z0-9.]+-)resubnames rrr6s 6"C . ..rcZ|dd}tjdd|S)zConvert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash.  .r?r@)replacerArB)versions rrr>s, ooc#&&G 6"C 1 11rc.|ddS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r@_)rHrCs rrrHs <<C  r) r: distutils.cmdr distutilsrrrrrArrrrr=rrrNs"" "!!!!!########$$$$$w$$$V///222!!!!!rPK.ge[0,8,8register.cpython-311.opt-2.pycnu[ !A?h-p ddlZddlZddlZddlZddlmZddlmZddl Tddl m Z GddeZ dS)N)warn) PyPIRCCommand)*)logceZdZdZejddgzZejgdzZddfgZdZdZ d Z d Z d Z d Z d ZdZdZddZdS)registerz7register the distribution with the Python package index)list-classifiersNz list the valid Trove classifiers)strictNzBWill stop the registering if the meta-data are not fully compliant)verifyr r checkcdS)NTselfs 3/usr/lib64/python3.11/distutils/command/register.pyzregister.s4cJtj|d|_d|_dS)Nr)rinitialize_optionslist_classifiersr rs rrzregister.initialize_optionss&(... ! rcdtj|d|jfdd}||jjd<dS)Nr)r)r restructuredtextr )rfinalize_optionsr distributioncommand_options)r check_optionss rrzregister.finalize_options$sB&t,,,$. #<-<>> 5B)'222rcJ|||D]}|||jr|dS|jr|dS|dSN) r _set_configget_sub_commands run_commanddry_runverify_metadatar classifiers send_metadata)rcmd_names rrunz register.run+s  --// ' 'H   X & & & & < !  " " " " "  " !            rc tdt|jd}||j|_d|_|dS)Nzddistutils.command.register.check_metadata is deprecated, use the check command insteadr r)rPendingDeprecationWarningrget_command_objensure_finalizedr rr()rr s rcheck_metadatazregister.check_metadata:sl -.G I I I!11'::    { !" rc@ |}|ikr=|d|_|d|_|d|_|d|_d|_dS|jd|jfvrtd|jz|jdkr |j|_d|_dS) Nusernamepassword repositoryrealmTpypiz%s not found in .pypircF) _read_pypircr/r0r1r2 has_configDEFAULT_REPOSITORY ValueError)rconfigs rr zregister._set_configDs ""$$ R<<":.DM":.DM$\2DODJ"DOOOvt/F&GGG !:T_!LMMM&(("&"9#DOOOrc |jdz}tj|}t j||dS)Nz?:action=list_classifiers)r1urllibrequesturlopenrinfo_read_pypi_response)rurlresponses rr%zregister.classifiersUsM o99>))#.. ))(3344444rc ||d\}}tjd||dS)Nr Server response (%s): %s)post_to_serverbuild_post_datarr=)rcoderesults rr$zregister.verify_metadata\sI ,,T-A-A(-K-KLLv +T6:::::rc& |jrd}|j}|j}nd}dx}}d}||vrJ|dt jt}|sd}n||vrtd||vJ|dkr|std}||stj d}|tj }tj |jd }||j|||||d |\}}|d |d |t j|d kr|jr||j_dS|dt j|d|zt jd}|dvr)td}|sd}|dv)|dkr|||dSdSdS|dkrYddi} dx| d<x| d<| d<d| d<| dstd| d<| d| d| dkr| dstj d| d<| d| dstj d| d<| d| d| dkrd| d<d| d<td| d| dk| dstd| d<| d|| \}}|d krt jd||dSt jd t jd!dS|d"kr[dd#i} d| d<| dstd$| d<| d|| \}}t jd||dSdS)%N1xz1 2 3 4zWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rsubmitzServer response (z): zAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)XynzSave your login (y/N)?ny2:actionusernamer0emailconfirmz Confirm: z!Password and confirm don't match!z EMail: rBz"You will receive an email shortly.z7Follow the instructions in it to complete registration.3password_resetzYour email address: )r5r/r0splitannouncerINFOinputprintgetpassr:r;HTTPPasswordMgrparseurlparser1 add_passwordr2rCrDr _get_rc_filelower _store_pypircr=) rchoicer/r0choicesauthhostrErFdatas rr&zregister.send_metadatacs : ? %F}H}HHF"$ $Hx//##G## MM "%  + + +WWF @w&&>???G## S== / .. / 9"?<88 9>1133D<((99!>>>>!{-,s]]v&D>@ @DL @4 +d7m"DO6l 3$\22V 6l 3z"d9o55z*E'.|'D'DD$z*Ey/D&-ol&C&CDOy/D #tI66')D$&*DO=>>>z"d9o557m 4 %l 3 3W 7m 4..t44LD&s{{3T6BBBBB=>>>355555 s]]/0DDM7m > %&< = =W 7m >..t44LD& H/v > > > > > ]rc|jj}id|ddd|d|d|d|d|d |d |d | d | d | d| d| d|d|d|}|ds|ds|drd|d<|S)NrRmetadata_versionz1.0rTversionsummary home_pageauthor author_emaillicense descriptionkeywordsplatformr% download_urlprovidesrequires obsoletesz1.1)rmetadataget_name get_versionget_descriptionget_url get_contactget_contact_email get_licenceget_long_description get_keywords get_platformsget_classifiersget_download_url get_provides get_requires get_obsoletes)ractionmetarjs rrDzregister.build_post_datas ) v   DMMOO  t''))  t++--     d&&((  D2244  t''))  44466  ))++  **,,  4//11  D1133 ))++! " ))++# $ ++--% (   -tJ/ -4 3D -',D# $ rNc d|vr1|d|dd|jtjd}d|z}|dz}t j}|D]\}}t|tgtdfvr|g}|D]}t|}| || d|z| d | ||r!|d d kr| d | || d | d }d|ztt|d} tj|j|| } tjtj|} d} | | } |jr|| }d} n|#tjj$r8} |jr| j}| j| jf} Yd} ~ n5d} ~ wtjj$r} dt| f} Yd} ~ nd} ~ wwxYw|jr8d d|df}||tj| S)NrTz Registering z to z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--rz* Content-Disposition: form-data; name="%s"z   zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length) password_mgrrJ)rLOKizK---------------------------------------------------------------------------)rZr1rr[ioStringIOitemstypestrwritegetvalueencodelenr:r;Request build_openerHTTPBasicAuthHandleropen show_responser>error HTTPErrorfpreadrEmsgURLErrorjoin)rrjrhboundary sep_boundary end_boundarybodykeyvalueheadersreqopenerrFers rrCzregister.post_to_servers T>> MMMDLLL48OOE47H > > >I( #d* {}}**,, % %JCE{{488T2ZZ"888 % %E  <((( HLMMM 6""" 5!!!%U2Y$..JJt$$$ % <    4}}%%g..NhV!#d))nn  n$$T_dGDD,, N / /T / B B   [[%%F! 8//77FF|% # # #! #tyy{{VQU]FFFFFF|$ ! ! !#a&&[FFFFFF !   )))XtX677C MM#sx ( ( ( s$H;;J4.JJ4J//J4r)__name__ __module__ __qualname__rsr user_optionsboolean_options sub_commandsrrr(r-r r%r$r&rDrCrrrrrs LK - - O1  L $37070700O//01L CCC ! ! !$$$"555;;;x?x?x?t8777777rr) r^r urllib.parser:urllib.requestwarningsrdistutils.corerdistutils.errors distutilsrrrrrrs ########((((((_____}_____rPK.ge[YnVV build_clib.cpython-311.opt-1.pycnu[ !A?hV`dZddlZddlmZddlTddlmZddlmZdZ Gdd eZ dS) zdistutils.command.build_clib Implements the Distutils 'build_clib' command, to build a C/C++ library that is included in the module distribution and needed by an extension module.N)Command)*)customize_compiler)logc&ddlm}|dS)Nrshow_compilers)distutils.ccompilerr rs 5/usr/lib64/python3.11/distutils/command/build_clib.pyr r s(222222NcZeZdZdZgdZddgZdddefgZdZd Z d Z d Z d Z d Z dZdS) build_clibz/build C/C++ libraries used by Python extensions))z build-clib=bz%directory to build C/C++ libraries to)z build-temp=tz,directory to put temporary build by-products)debuggz"compile with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler typerrz help-compilerNzlist available compilerscd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompilerselfs r initialize_optionszbuild_clib.initialize_options4sJ!     r c\|dddddd|jj|_|jr||j|j|jjpg|_t |jt r+|jtj |_dSdS)Nbuild)rr)rr)rr)rr)rr) set_undefined_options distributionrcheck_library_listr isinstancestrsplitospathseprs r finalize_optionszbuild_clib.finalize_optionsDs ""7#?#?#;#5#5  7 7 7*4 > 4  # #DN 3 3 3   $ $ 1 > D"D  d' - - D $ 1 7 7 C CD    D Dr c|jsdSddlm}||j|j|j|_t |j|j|j|j|j (|j D] \}}|j ||!|j $|j D]}|j || |jdS)Nr) new_compiler)rdry_runr)rr r,rr-rrrset_include_dirsr define_macrorundefine_macrobuild_libraries)rr,namevaluemacros r runzbuild_clib.run^s~  F 544444$ dm-1\+/:777  4=)))   ( M * *4+< = = = ; " $  8 8 e **47777 : ! 4 4 ,,U3333 T^,,,,,r ct|tstd|D]}t|ts"t |dkrtd|\}}t|t stdd|vst jdkr&t j|vrtd|dzt|tstdd S) a`Ensure that the list of libraries is valid. `library` is presumably provided as a command option 'libraries'. This method checks that it is a list of 2-tuples, where the tuples are (library_name, build_info_dict). Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)/z;bad library name '%s': may not contain directory separatorsrzMsecond element of each tuple in 'libraries' must be a dictionary (build info)N) r%listDistutilsSetupErrortuplelenr&r(sepdict)rrlibr2 build_infos r r$zbuild_clib.check_library_listvs.)T** A%?AA A ; ;Cc5)) Dc#hh!mm)BDDD # D*dC(( =)<===d{{rv}}4)+>@CA+GHHHj$// ;):;;; ;! ; ;r c`|jsdSg}|jD]\}}|||S)N)rappend)r lib_nameslib_namer@s r get_library_nameszbuild_clib.get_library_namessK~ 4 &*n ' ' "Xz   X & & & &r c ||jg}|jD]_\}}|d}|t|tt fst d|z||`|S)Nsourcesfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)r$rgetr%r9r;r:extend)r filenamesrDr@rGs r get_source_fileszbuild_clib.get_source_filess /// &*n & & "Xz nnY//Gj4-&H&H)46>?@@@   W % % % %r c|D]\}}|d}|t|ttfst d|zt|}t jd||d}|d}|j||j |||j }|j |||j |j dS)NrGrHzbuilding '%s' librarymacrosr) output_dirrNrr)rOr) rIr%r9r;r:rinforcompilerrcreate_static_libr)rrrDr@rGrNrobjectss r r1zbuild_clib.build_librariess&/ > > "Xz nnY//Gj4-&H&H)46>?@@@7mmG H,h 7 7 7  ^^H--F%>>.99Lm++G7;399E26* ,>>G M + +GX7;26* , > > > >3 > >r )__name__ __module__ __qualname__ description user_optionsboolean_optionsr help_optionsrr*r5r$rErLr1r r rrsCK    L(O $ #^ 5 L    DDD4---0!;!;!;H      >>>>>r r) __doc__r(distutils.corerdistutils.errorsdistutils.sysconfigr distutilsrr rr[r r ras   """"""222222 u>u>u>u>u>u>u>u>u>u>r PK.ge[|`TvTvbuild_ext.cpython-311.pycnu[ !A?h{dZddlZddlZddlZddlZddlmZddlTddlm Z m Z ddlm Z ddl m Z ddlmZdd lmZdd lmZdd lmZejd Zd ZGddeZdS)zdistutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$c&ddlm}|dS)Nrshow_compilers)distutils.ccompilerrrs 4/usr/lib64/python3.11/distutils/command/build_ext.pyrrs(222222Nc eZdZdZdejzZdddddezfdd d d ezfd d ddddezfddddddddddgZgdZ ddde fgZ d Z d!Z d"Zd#Zd$Zd%Zd&Zd'Zd(Zejd)Zd*Zd+Zd,Zd-Zd.Zd/Zd0Zd1ZdS)2 build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s'))z build-lib=bz(directory for compiled extension modules)z build-temp=tz1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s))inplaceiziignore build-lib and put compiled extensions into the source directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header files)zdefine=DzC preprocessor macros to define)zundef=Uz!C preprocessor macros to undefine)z libraries=lz!external C libraries to link withz library-dirs=Lz.directories to search for external C libraries)zrpath=Rz7directories to search for shared C libraries at runtime)z link-objects=Oz2extra explicit link objects to include in the link)debuggz'compile/link with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)swig-cppNz)make SWIG create C++ files (default is C))z swig-opts=Nz!list of SWIG command line options)zswig=Nzpath to the SWIG executable)userNz#add user include, library and rpath)rr!r#r'r(z help-compilerNzlist available compilersc,d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsr!r#compilerswigswig_cpp swig_optsr(parallelselfs rinitialize_optionszbuild_ext.initialize_optionsjs               rc ddlm}|ddddddd d |j|jj|_|jj|_|}|d }|j |jj pg|_ t|j tr)|j tj|_ tjtjkrB|j tjtjd |j | tjj||kr<|j | tjj|d|d|jg|_|jg|_nCt|jtr)|j tj|_|jg|_nCt|jtr)|j tj|_tjdkr|jtjtjdtjtjkrB|jtjtjd|jr+tj|jd|_n*tj|jd|_|j tjt?tAtdd}|r|j||j!dkrd}n|j!dd}tjtjd}|r tj||}|j|tj"dddkrtj#$tjtjdrT|jtjtjddtKzdn|jd|&drO|j's.|j|&d n|jd|j(r+|j( d!}d"|D|_(|j)r|j) d!|_)|j*g|_*n|j* d#|_*|j+rtjtXd }tjtXd} tj-|r|j |tj-| r4|j| |j| t|j.tr9 t_|j.|_.dS#t`$rtcd$wxYwdS)%Nr) sysconfigbuild)r+r+)r-r-)r6r6)r!r!)r#r#)r:r:)r,r,) plat_specificincluder2r5ntlibsDebugRelease_homewin32PCbuildcygwinbinlibpythonconfig.Py_ENABLE_SHAREDLIBDIR,cg|]}|dfS)1).0symbols r z.build_ext.finalize_options..s???VFC=???r zparallel should be an integer)2 distutilsr?set_undefined_optionsr. distribution ext_package ext_modulesr*get_python_incr/ isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinextendensure_string_listr2r3r4nameprefixr!r-dirnamergetattrr,platform executable startswithrget_config_var python_buildr0r1r9r(r isdirr:int ValueErrorDistutilsOptionError) r<r? py_includeplat_py_include _sys_homesuffixnew_libdefines user_includeuser_libs rfinalize_optionszbuild_ext.finalize_optionss`'''''' ""7#=#?#;#5#5#;#= % % % < ,8DL+7--// #222CC   $ $ 1 > D"D  d' - - D $ 1 7 7 C CD  ?c2 2 2   $ $RW\\#/9%M%M N N N   !1!1"'/!B!BCCC j ( (   $ $%%bgo66 8 8 8  ,,, /// > !DN   $ "D   )3 / / D $ 1 7 7 C CD  : DJJ  C ( ( 6))"*55DJ 7d??   $ $RW\\#/6%J%J K K K#sz11!((c6JF)S)STTTz K"$',,t"H"H"$',,t "J"J   $ $RW__5J5L5L%M%M N N NWd33I 4!((333~(( +gll3?I>>G 8',,w77   $ $W - - - < x ' '~((cou)M)MNN .!((cj%6>ASAUAU6U6>*@*@AAAA !((---  $ $%7 8 8 .) .!(()A)A()K)KLLLL!((--- ; @k'',,G??w???DK : /))#..DJ > !DNN!^11#66DN 9 ,7<< 9==Lw||Iu55Hw}}\** 7!((666w}}X&& ,!((222 !!(+++ dmS ) ) L L #DM 2 2  L L L*+JKKK L L Ls ;]]0cvddlm}|jsdS|jrb|d}|j|pg|j |j ||j |j |j|j|_ t!|j t"jdkr6|jt)kr|j |j|j|j |j|j(|jD] \}}|j ||!|j$|jD]}|j ||j|j |j|j |j |j |j|j |j|j |j !|j |"dS)Nr) new_compiler build_clib)r6verbosedry_runr#rD)#rrr*r_has_c_librariesget_finalized_commandr2rnget_library_namesr3rkrr6rrr#rrfrpr,r initializer/set_include_dirsr0 define_macror1undefine_macro set_librariesset_library_dirsr4set_runtime_library_dirsr5set_link_objectsbuild_extensions)r<rrrpvaluemacros rrunz build_ext.runs2444444  F   , , . . <33LAAJ N ! !*">">"@"@"FB G G G   $ $Z%: ; ; ;% dm-1\-1\+/:777  4=))) 7d??t~?? M $ $T^ 4 4 4   ( M * *4+< = = = ; "!% 8 8 u **47777 : ! 4 4 ,,U3333 > % M ' ' 7 7 7   ( M * *4+< = = = : ! M 2 24: > > >   ( M * *4+< = = = rct|tstdt|D] \}}t|trt|t rt |dkrtd|\}}tjd|t|trt |stdt|tstdt ||d}dD]*}| |}|t|||+| d |_d |vrtjd | d }|rg|_g|_|D]} t| t rt | dvstdt | dkr!|j| dkt | dkr|j| |||< d S)aEnsure that the list of extensions (presumably provided as a command option 'extensions') is valid, i.e. it is a list of Extension objects. We also support the old-style list of 2-tuples, where the tuples are (ext_name, build_info), which are converted to Extension instances here. Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)sources)r/r3r2 extra_objectsextra_compile_argsextra_link_argsNr4def_filez9'def_file' element of build info dict no longer supportedmacros)rArz9'macros' element of build info dict must be 1- or 2-tuplerAr)rclistDistutilsSetupError enumerater tuplelenr warnrdextension_name_rematchdictgetsetattrruntime_library_dirs define_macros undef_macrosrk) r<r*rextext_name build_infokeyvalrrs rcheck_extensions_listzbuild_ext.check_extensions_listVs*d++ P%NPP P ++> > FAs#y)) c5)) 8SXX]])7888$' Hj H?@H J J Jx-- @%++H55 @)?@@@j$// <);<<< Hj&;<'>C $Z''/000  ^^H--F 8$&!#% #88E&ue447Uv9M9M167775zzQ(//a9999Uq)00777JqMM}> > rc||jg}|jD]}||j|SN)rr*rnr)r< filenamesrs rget_source_fileszbuild_ext.get_source_filessO ""4?333 ? * *C   S[ ) ) ) )rc||jg}|jD]/}|||j0|Sr)rr*rkget_ext_fullpathrp)r<outputsrs r get_outputszbuild_ext.get_outputss\ ""4?333 ? < .s:333 t';SAA333r) r:rf cpu_countconcurrent.futuresr ImportErrorrr*zip_filter_build_errorsresult)r<workersrfuturesrfutrs` @rrz$build_ext._build_extensions_parallels- =D lnnG  = = = = = = =   GGG  ?  ) ) + + + F  G 4 4 4 !33333"&/333G99 ! !S..s33!!JJLLL!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !sC. ==$AC#(C = C# C C#C C##C'*C'c|jD]D}||5||dddn #1swxYwYEdSr)r*rr)r<rs rrz"build_ext._build_extensions_serials? * *C**3// * *$$S))) * * * * * * * * * * * * * * * * *sAA A c#K dVdS#tttf$r3}|js|d|jd|Yd}~dSd}~wwxYw)Nzbuilding extension "z " failed: )CCompilerErrorDistutilsError CompileErroroptionalrrp)r<res rrzbuild_ext._filter_build_errorss % EEEEE = % % %<  IIIxxx$ % % % % % % % % % %s A(AAc |j}|t|ttfst d|jzt |}||j}||jz}|j s-t||dstj d|jdStj d|j|||}|jpg}|jdd}|jD]}||f|j||j||j|j ||j}|dd|_|jr||j|jpg}|jp|j|} |j|||||j|j ||!||j |j|  dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension) output_dirrr/r!extra_postargsdepends)r2r3rrexport_symbolsr!r- target_lang)"rrcrrrrpsortedrrr#rr r!info swig_sourcesrrrrkr6compiler-r/_built_objectsrrnrlanguagedetect_languagelink_shared_object get_librariesr3rget_export_symbols) r<rrext_pathr extra_argsrr1objectsrs rrzbuild_ext.build_extensions+ ?*WtUm"D"D?%/14:;; ; //((22CK'  :k'8WEE : I>&aaaj   . NN3, - - -(.B <I4=#@#@#I#I (( X((--)!$!9%22377*  ) " " " " "rcg}g}i}|jrtjd|jsd|jvs d|jvrd}nd}|D]{}tj|\}} | dkr<||dz|z|||d||<f||||s|S|jp| } | dg} | |j|jr| d|js|jD]} | | |D];}||} tj d || | | d | |gz<|S) zWalk the list of source files in 'sources', looking for SWIG interface (.i) files. Run SWIG on all that are found, and return a modified 'sources' list with SWIG source files replaced by the generated C (or C++) files. z/--swig-cpp is deprecated - use --swig-opts=-c++z-c++z.cppz.cz.i_wrapz-pythonzswigging %s to %sz-o) r8r rr9rfrlsplitextrkr7 find_swigrnrspawn)r<r extension new_sourcesr swig_targets target_extsourcebaserr7swig_cmdotargets rrzbuild_ext.swig_sources2s     = H HF G G G = Vt~55 i) ) )JJJ + +F'**622KT3d{{""4'>J#>???##F+++'22 V$$""6****  y,DNN,,)$''' = $ OOF # # #~ #( # #""""" : :F!&)F H(&& 9 9 9 JJx4"88 9 9 9 9rctjdkrdStjdkrMdD]H}tjd|zd}tj|r|cSIdSt dtjz)zReturn the name of the SWIG executable. On Unix, this is just "swig" -- it should be in the PATH. Tries a bit harder on Windows. posixr7rD)z1.3z1.2z1.1z c:\swig%szswig.exez>I don't know how to find (much less run) SWIG on platform '%s')rfrprlrmisfileDistutilsPlatformError)r<versfns rrzbuild_ext.find_swighs 7g  6 W__. " "W\\,"5zBB7>>"%%III"z(%')w/00 0rc*||}|d}||d}|jsDt jj|dd|gz}tj|j|Sd|dd}|d}tj | |}tj||S)zReturns the path of the filename for a given extension. The file is located in `build_lib` or directly in the package (inplace option). rRrNrbuild_py) get_ext_fullnamereget_ext_filenamerrfrlrmr+rabspathget_package_dir)r<rfullnamemodpathfilenamer.r package_dirs rrzbuild_ext.get_ext_fullpaths ((22..%%((55| :w|WSbS\8*%<=H7<<99 9((71R4=))--j99gooh&>&>w&G&GHH w||K222rc.|j|S|jdz|zS)zSReturns the fullname of a given extension name. Adds the `package.` prefixNrR)r.)r<rs rrzbuild_ext.get_ext_fullnames# < O<#%0 0rczddlm}|d}|d}tjj||zS)zConvert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). rrwrR EXT_SUFFIX)distutils.sysconfigrwrerfrlrm)r<rrwr ext_suffixs rrzbuild_ext.get_ext_filenamesJ 766666>>#&&#^L11 w|X&33rcrd|jddz} |dnO#t$rBd|ddddz}YnwxYwd |z}||jvr|j||jS) aReturn the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not provided, "PyInit_" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "PyInit_" function. _rRrasciirpunycode-_PyInit)rpreencodeUnicodeEncodeErrorreplacedecoderrk)r<rr initfunc_names rrzbuild_ext.get_export_symbolss sx~~c**2.. Y MM' " " " "! Y Y Y6==44<>)- >*N;77 }9(<'===}r) __name__ __module__ __qualname__ descriptionrfrgsep_byr user_optionsboolean_optionsr help_optionsr=rrrrrrrr contextlibcontextmanagerrrrrrrrrrrXrrrr!sLK($bj 0F 5 > s '<>> * + 9 # 9F B D , . . # 9F B D D ? 4 ? & * 6 . ( 0O) LVHGGO $ #^ 5 L 0RLRLRLh> > > @L L L \   ,,,!!!(*** %%%J"J"J"X444l00003336111444"""&11111rr)__doc__r8rfrerhdistutils.corerdistutils.errorsrrrrdistutils.dep_utilrdistutils.extensionr distutils.utilr r]r siter rrrrrXrrrBs@  """"""FFFFFFFF555555******))))))''''''BJ;== Q Q Q Q Q Q Q Q Q Q rPK.ge[O$yycheck.cpython-311.opt-2.pycnu[ !A?h ddlmZddlmZ ddlmZddlmZddlm Z ddlm Z GddeZ d Z n #e $rd Z YnwxYwGd d eZd S))Command)DistutilsSetupError)Reporter)Parser)frontend)nodesc eZdZ ddZdZdS)SilentReporterNrasciireplacec Jg|_tj||||||||dSN)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlers 0/usr/lib64/python3.11/distutils/command/check.pyrzSilentReporter.__init__s9DM  dFL*f#X} > > > > >c|j||||ftj|g|R||j|d|S)N)leveltype)rappendrsystem_messagelevels)rrmessagechildrenkwargss rrzSilentReporter.system_messagesc M %(F!C D D D'=)1==u-1[-?==5;== =r)Nrr r )__name__ __module__ __qualname__rrrrr r s=DH>G > > > >  = = = = =rr TFcNeZdZ dZgdZgdZdZdZdZdZ dZ d Z d Z d S) checkz"perform some checks on the package))metadatamzVerify meta-data)restructuredtextrzEChecks if long string meta-data syntax are reStructuredText-compliant)strictsz(Will exit with an error if a check fails)r*r,r.c@ d|_d|_d|_d|_dS)Nr)r,r*r. _warningsrs rinitialize_optionszcheck.initialize_options0s&. !  rcdSrr'r3s rfinalize_optionszcheck.finalize_options7s rcN |xjdz c_tj||S)Nr1)r2rwarn)rmsgs rr8z check.warn:s'8 !|D#&&&rc |jr||jr2tr|n|jrt d|jr|jdkrt ddSdS)NzThe docutils package is needed.rzPlease correct your package.)r*check_metadatar, HAS_DOCUTILScheck_restructuredtextr.rr2r3s rrunz check.run?s = "    ! ! !   M M++---- M)*KLLL ; F4>A--%&DEE E F F--rc |jj}g}dD]7}t||rt||s||8|r+|dd|z|jr |js|ddSdS|j r |j s|ddSdS|ddS)N)nameversionurlzmissing required meta-data: %sz, zNmissing meta-data: if 'author' supplied, 'author_email' should be supplied toozVmissing meta-data: if 'maintainer' supplied, 'maintainer_email' should be supplied toozkmissing meta-data: either (author and author_email) or (maintainer and maintainer_email) should be supplied) distributionr*hasattrgetattrrr8joinauthor author_email maintainermaintainer_email)rr*missingattrs rr;zcheck.check_metadataOsO $-. % %DHd++ %$0G0G %t$$$  N II6$))G:L:LL M M M ? ,( C BCCCCC C C  ,, G FGGGGG G G II+ , , , , ,rc |j}||D]K}|dd}| |d}n|dd|d}||LdS)Nliner1z (line ))rCget_long_description_check_rst_datagetr8)rdatawarningrOs rr=zcheck.check_restructuredtextpsB 5577++D11  G2;??6**D|!!*,3AJJJ= IIg       rc  |jjpd}t} tj}|t}n=#t $r0tjtf}YnwxYwd|_d|_ d|_ t||j |j |j|j|j|j}t%j|||}||d |||n8#t $r+}|jdd|zdifYd}~nd}~wwxYw|jS) Nzsetup.py) components)rrrr)rrNz!Could not finish the parsing: %s.)rC script_namerrget_default_settingsAttributeError OptionParserget_default_values tab_widthpep_referencesrfc_referencesr rrwarning_streamrerror_encodingerror_encoding_error_handlerrdocument note_sourceparserr) rrT source_pathparserr[settingsreporterrees rrRzcheck._check_rst_data{sF'3Az  4#+#@ ,+F33HH  X X X, BBBUUWWHHH X "&"&!+"/"-!)!8 (#+#:(0(M OOO>(H[III["--- G LLx ( ( ( ( G G G   $ $81r;r=rRr'rrr)r)#s7KBBBLA@@O   ''' FFF ,,,B   !!!!!rr)N)distutils.corerdistutils.errorsrdocutils.utilsrdocutils.parsers.rstrdocutilsrrr r< Exceptionr)r'rrrvs#"""""000000''''''++++++!!!!!! = = = = = = = =LLLLL w!w!w!w!w!Gw!w!w!w!w!s(8AAPK.ge[Bconfig.cpython-311.pycnu[ !A?hWRdZddlZddlmZddlZddlmZdZGddeZdS)zdistutils.pypirc Provides the PyPIRCCommand class, the base class for the command classes that uses .pypirc in the distutils.command package. N)RawConfigParser)CommandzE[distutils] index-servers = pypi [pypi] username:%s password:%s c`eZdZdZdZdZdZdZdddezfdgZd gZ d Z d Z d Z d Z dZdZdS) PyPIRCCommandz;Base command that knows how to handle the .pypirc file zhttps://upload.pypi.org/legacy/pypiNz repository=rzurl of repository [default: %s]) show-responseNz&display full response text from serverr c|tjtjddS)zReturns rc file path.~z.pypirc)ospathjoin expanduserselfs )/usr/lib64/python3.11/distutils/config.py _get_rc_filezPyPIRCCommand._get_rc_file's(w||BG..s33Y???c|}tjtj|tjtjzdd5}|t||fzddddS#1swxYwYdS)zCreates a default .pypirc file.iwN)rr fdopenopenO_CREATO_WRONLYwriteDEFAULT_PYPIRC)rusernamepasswordrcfs r _store_pypirczPyPIRCCommand._store_pypirc+s     Yrwr2: #;UCCS I I ;Q GGNh%99 : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s BB Bc|}tj|r|d|z|jp|j}t}||| }d|vr| dd}d| dD}|gkr d|vrdg}niS|D]}d|i}| |d|d<d |jfd |j fd fD]:\} } | || r| || || <5| || <;|dkr||jdfvr|j|d <|cS|d|ks |d |kr|cSnod |vrkd }| |d r| |d }n|j}| |d| |d |||j dSiS)zReads the .pypirc file.zUsing PyPI login from %s distutilsz index-serverscfg|].}|dk|/S))strip).0servers r z.PyPIRCCommand._read_pypirc..>s<555v%||~~33#LLNN333r rr(r repositoryrealm)rNz server-loginr)rrr+r(r,)rr r existsannouncer+DEFAULT_REPOSITORYrreadsectionsgetsplit DEFAULT_REALM has_option) rrr+configr1 index_servers_serversr(currentkeydefaults r _read_pypirczPyPIRCCommand._read_pypirc1s     7>>"  9 5 MM4r9 : : :CD,CJ$&&F KKOOO((Hh&& & ; H H 55)//55555r>>))$*8 " &''F'0G*0**VZ*H*HGJ'+7*.*A*C*143E)F);)=33 W",,VS993+1::fc+B+BGCLL+2GCLL &(("t'>&GGG040G -&)Z77 -;;& ? ? ? JJJ                )).,GG ##L11!488GLL}}%%h///s?AAc0d|_d|_d|_dS)zInitialize options.Nr)r+r, show_responsers rinitialize_optionsz PyPIRCCommand.initialize_optionszs rcV|j |j|_|j|j|_dSdS)zFinalizes options.N)r+r/r,r4rs rfinalize_optionszPyPIRCCommand.finalize_optionss2 ? ""5DO : +DJJJ  r)__name__ __module__ __qualname____doc__r/r4r+r, user_optionsboolean_optionsrr!r<rMrPrRrrrrs:MJ E  *    3 4L''O@@@;;; >>>@000 ,,,,,rr) rVr configparserrrB distutils.cmdrrrrYrrr\s  ((((((!!!!!!o,o,o,o,o,Go,o,o,o,o,rPK.ge[Y2LHEHEbuild_py.cpython-311.opt-2.pycnu[ !A?h&C ddlZddlZddlZddlZddlmZddlTddlm Z m Z ddl m Z GddeZ Gdd e e ZdS) N)Command)*) convert_path Mixin2to3)logceZdZdZgdZddgZddiZdZdZdZ d Z d Z d Z d Z d ZdZdZdZdZdZdZddZdZdZdZdZdS)build_pyz5"build" pure Python modules (copy to build directory)))z build-lib=dzdirectory to "build" (copy) to)compileczcompile .py to .pyc) no-compileNz!don't compile .py files [default])z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])forcefz2forcibly build everything (ignore file timestamps)r rr cvd|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizerselfs 3/usr/lib64/python3.11/distutils/command/build_py.pyinitialize_optionszbuild_py.initialize_options s@     c|ddd|jj|_|jj|_|jj|_i|_|jjr;|jjD]\}}t||j|<||_ t|j ts@ t|j |_ dS#ttf$rtdwxYwdS)Nbuild)rr)rrzoptimize must be 0, 1, or 2)set_undefined_options distributionpackagesrrritemsrget_data_files data_files isinstancerint ValueErrorAssertionErrorDistutilsOptionError)rnamepaths rfinalize_optionszbuild_py.finalize_options*s# ""7#=#5 7 7 7 )2 +6 -:   ( <"/;AACC < < d)5d);); &&--//$--- J J #DM 2 2 / J J J*+HIII J  J Js C((!D c|jr||jr(||||ddSNr)include_bytecode)r build_modulesr!build_packagesbuild_package_data byte_compile get_outputsrs rrunz build_py.runCsy, ? !    = &    ! ! !  # # % % % $**A*>>?????rc^ g}|js|S|jD]}||}tjj|jg|dz}d|rt|dzfd|||D}| ||||f|S)N.rc$g|] }|d SN).0fileplens r z+build_py.get_data_files..ss. $TUU r) r!get_package_dirosr+joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesr>s @rr#zbuild_py.get_data_filesasM} K} B BG**733G '7'--:L:L'LNID &7||A~(,(<(.s;(((2U??GNN2&&4C"???r) rgetglobrAr+rBescaperextend)rrrHglobspatternfilelistrPs @rrEzbuild_py.find_data_filesysD"&&r2..$(("556 ) )Gydk'.B.BLQXDYDY!Z!Z[[H LL((((x((( ) ) ) ) rcD d}|jD]\}}}}|D]}tj||}|tj||tj|||ddS)NF preserve_mode)r$rAr+rBmkpathdirname copy_file)rlastdirrrHrIrJfilenametargets rr2zbuild_py.build_package_datas26:o 4 4 2GWi% 4 4i:: BGOOF33444rw||GX>>-24444 4 4 4rc |d}|js|rtjj|SdSg}|r{ |jd|}|d|tjj|S#t $r"|d|d|d=YnwxYw|{|jd}||d||rtjj|SdS)Nr7rLr)rCrrAr+rBinsertKeyErrorrQ)rrr+tailpdirs rr@zbuild_py.get_package_dirs( H}}S!!  w|T**rD /+CHHTNN;D KK4(((7<..  !!!KK48,,,R! "'++B//#KK4(((7<..2s B)B/.B/c|dkrbtj|std|ztj|std|z|rVtj|d}tj|r|Stjd|dS)NrLz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz8package init file '%s' not found (or not a regular file)) rAr+existsDistutilsFileErrorisdirrBrNrwarn)rrrinit_pys r check_packagezbuild_py.check_packages "  7>>+.. M(= KMMM7==-- ?(02=>???  ?gll; >>Gw~~g&& ?46=??? trcttj|stjd||dSdS)Nz!file %s (for module %s) not foundFT)rAr+rNrrk)rmodule module_files r check_modulezbuild_py.check_modules7w~~k**  H8+v N N N54rcJ|||tjtjtj|d}g}tj|jj}|D]}tj|}||kr[tj tj |d}| |||f| d|z|S)Nz*.pyrz excluding %s) rmrRrAr+rBrSabspathr script_namesplitextbasenamerF debug_print) rrr module_filesmodules setup_scriptrabs_fros rfind_package_moduleszbuild_py.find_package_moduless 7K000ydk+.F.F!O!OPP wt'8'DEE  @ @AGOOA&&E $$))"'*:*:1*=*=>>qA34444  ,!>????rc i}g}|jD]}|d}d|dd}|d} ||\}}n'#t$r||}d}YnwxYw|s7|||} |df||<| r||d| ftj||dz} | || s|||| f|S)Nr7rrbr8__init__.py) rrCrBrdr@rmrFrAr+rq) rr!ryror+r module_basercheckedrlrps r find_moduleszbuild_py.find_modulessS  o @ @F<<$$DhhtAbDz**Gr(K )1'):&gg   "227;;   C,,WkBB%0!$4!CNNGZ#ABBB ',,{K%4GHHK$$V[99  NNG[+> ? ? ? ?s A!A:9A:c  g}|jr'|||jrJ|jD]B}||}|||}||C|Sr:)rrTrr!r@r|)rryrrms rfind_all_moduleszbuild_py.find_all_moduless (  ? 0 NN4,,.. / / / = "= " ""227;; --g{CCq!!!!rc>d|DS)Ncg|] }|d S)rbr;)r<ros rr?z-build_py.get_source_files..-sAAAvr AAAr)rrs rget_source_fileszbuild_py.get_source_files,s"AA)>)>)@)@AAAArc\|gt|z|dzgz}tjj|S)Nr)listrAr+rB)rrIrro outfile_paths rget_module_outfilezbuild_py.get_module_outfile/s/!{T']]2fun5EE w|\**rr8c|}g}|D]\}}}|d}||j||}|||r|jr4|t j|d|j dkr9|t j||j |d|j Dz }|S)Nr7rL) optimizationrcbg|],\}}}}|D]"}tj||#-Sr;)rAr+rB)r<rrHrIrJr_s rr?z(build_py.get_outputs..BsW6)Y% GLLH - -r) rrCrrrFr importlibutilcache_from_sourcerr$)rr/ryoutputsrrorpr_s rr4zbuild_py.get_outputs3s''')).5 ? ? *WfkmmC((G..t~wOOH NN8 $ $ $ ?<4NN9>#C#C r$D$3$3444=1$$NN9>#C#C t}$D$>$>??? :>/  rc~t|tr|d}n+t|ttfst d||j||}tj |}| || ||dS)Nr7z:'package' must be a string (dot-separated), list, or tuplerrY) r%strrCrtuple TypeErrorrrrAr+r\r[r])rrorproutfiledirs r build_modulezbuild_py.build_moduleJs gs # # PmmC((GGGdE]33 PNPP P ))$.'6JJgoog&& C~~k7!~DDDrcn|}|D]\}}}||||dSr:)rr)rryrrorps rr0zbuild_py.build_modulesYsP##%%.5 < < *Wfk   fk7 ; ; ; ;  < > > F////// ":  bf_F < P L#z&$, P P P P =1   L#z&$, P P P P P P  rN)r8)__name__ __module__ __qualname__ description user_optionsboolean_options negative_optrr,r5r#rEr2r@rmrqr|rrrrr4rr0r1r3r;rrr r sxKK   L!'*O 9-LJJJ2@@@<0   444%%%N6   222h BBB+++. E E E<<<@@@(PPPPPrr ceZdZdZdZdS) build_py_2to3c.g|_|jr||jr(||||j||ddSr.) updated_filesrr0r!r1r2run_2to3r3r4rs rr5zbuild_py_2to3.runs ? !    = &    ! ! !  # # % % % d())) $**A*>>?????rct||||}|dr |j|d|S)Nr8r)r rrrF)rrorprress rrzbuild_py_2to3.build_modulesG##D&+wGG q6 .   % %c!f - - - rN)rrrr5rr;rrrrs5@@@ rr)rAimportlib.utilrrrRdistutils.corerdistutils.errorsrrr distutilsrr rr;rrrs0  """"""22222222yPyPyPyPyPyPyPyPv HirPK.ge[+((upload.cpython-311.opt-2.pycnu[ !A?h ddlZddlZddlZddlmZddlmZddlmZm Z ddl m Z ddl m Z mZddlmZddlmZdd lmZeed deed deed dd ZGddeZdS)N)standard_b64encode) HTTPError)urlopenRequest)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logmd5sha256blake2b) md5_digest sha256_digestblake2_256_digestcXeZdZdZejddgzZejdgzZdZdZdZ dZ d S) uploadzupload binary package to PyPI)signszsign files to upload using gpg)z identity=izGPG identity used to sign filesrcttj|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responseridentity)selfs 1/usr/lib64/python3.11/distutils/command/upload.pyrzupload.initialize_options*s;(...    cTtj||jr|jst d|}|ikr4|d|_|d|_|d|_|d|_ |js|j jr|j j|_dSdSdS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrrr _read_pypircrrr#r$ distribution)rconfigs r r%zupload.finalize_options2s&t,,, =  &@ ""$$ R<<":.DM":.DM$\2DODJ} 7!2!; 7 -6DMMM 7 7 7 7r!c|jjsd}t||jjD]\}}}||||dS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))r' dist_filesr upload_file)rmsgcommand pyversionfilenames r runz upload.runDsf + ,2C&s++ +,0,=,H ; ; (GY   Wi : : : : ; ;r!c t|j\}}}}}} |s|s| rtd|jz|dvrtd|z|jr1ddd|g} |jrd|jg| dd<t | |j t|d } | } | n#| wxYw|j j } id d d dd| d| dtj|| fd|d|ddd| d| d| d| d| d| d| d| d| | | | | d}d |d!<t<D]9\}}| ||  ||<*#tB$rY6wxYw|jrdt|d"zd 5} tj|d"z| f|d#<dddn #1swxYwY|j"d$z|j#z$d%}d&tK|&d%z}d'}d(|$d%z}|d)z}tOj(}|D]\}}d*|z}tS|tTs|g}|D]}tW|tXur|d+|d,zz }|d-}n"t[|$d.}|.||.|$d.|.d/|.||.||/}d0|d1|j}|0|tbj2d2|zt[tg||d3}ti|j||4} tk|}|6}|j7}n`#tp$r} | j9}| j7}Yd} ~ nCd} ~ wtt$r3} |0t[| tbj;d} ~ wwxYw|d5kr~|0d6|d7|tbj2|j<rO|=|}!d8>d9|!d9f}|0|tbj2dSdSd:|d7|}|0|tbj;t|);NzIncompatible url %s)httphttpszunsupported schema gpgz --detach-signz-az --local-user)dry_runrbz:action file_uploadprotocol_version1nameversioncontentfiletyper.metadata_versionz1.0summary home_pageauthor author_emaillicense descriptionkeywordsplatform classifiers) download_urlprovidesrequires obsoletesrcommentz.asc gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"rzutf-8s z Submitting z to z multipart/form-data; boundary=%s)z Content-typezContent-length Authorization)dataheaderszServer response (z):  zK---------------------------------------------------------------------------zUpload failed ()@rr#AssertionErrorrrr r6openreadcloser'metadataget_name get_versionospathbasenameget_descriptionget_url get_contactget_contact_email get_licenceget_long_description get_keywords get_platformsget_classifiersget_download_url get_provides get_requires get_obsoletes_FILE_CONTENT_DIGESTSitems hexdigest ValueErrorrrencoderdecodeioBytesIO isinstancelisttypetuplestrwritegetvalueannouncer INFOlenrrgetcoder,rcodeOSErrorERRORr_read_pypi_responsejoinr)"rr-r.r/schemanetlocurlparamsquery fragmentsgpg_argsfr=metarS digest_name digest_cons user_passauthboundary sep_boundary end_boundarybodykeyvaluetitler,rTrequestresultstatusreasonetexts" r r+zupload.upload_fileLsF T_ % % 6VUI  JU Ji J !6!HII I * * * !6!?@@ @ 9 (h?H} @!/ ?1 (, ( ( ( ( $   ffhhG GGIIIIAGGIIII ) }  DMMOO  t'')) ((227;    t++--!" #$ d&&((%& D2244'( t'')))* 44466+, ))++-. **,,/0 4//1112!1133))++))++++--;@Y)>(C(C(E(E   $K" $/K$8$8$B$B$D$D[!!     9 3h'.. 3!)+)9)9()C)Cf)L)*)3_% 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ]S(4=8@@II ,Y77>>wGGGI 8??7#;#;; #i/ z||**,, " "JCCcIEeT**  " ";;%''.q99E!!HEEJJ--g66E <((( 5<<00111 ;''' 5!!!! " <   }}'/xxA c38$$$?I!#d))nn!   $/")+++ W%%F^^%%FZFF   VFUFFFFFF    MM#a&&#) , , ,   S== MMMG( $ $ $! -//77ii4 :;; c38,,,,, - - /5ffff=C MM#sy ) ) ) %% %sTCC6 J J$#J$:LL L *T<< VU V&.VVN) __name__ __module__ __qualname__rEr user_optionsboolean_optionsrr%r0r+r!r rrs1K - +=1  L $3vh>O777$;;;K&K&K&K&K&r!r)r^rthashlibbase64r urllib.errorrurllib.requestrr urllib.parserdistutils.errorsrr distutils.corer distutils.spawnr distutilsr getattrrnrrr!r rsC %%%%%%""""""++++++++!!!!!!AAAAAAAA((((((!!!!!! ''5$//WWh55 )T::y&y&y&y&y&]y&y&y&y&y&r!PK.ge[G@}}build.cpython-311.opt-1.pycnu[ !A?h`dZddlZddlZddlmZddlmZddlmZdZ GddeZ dS) zBdistutils.command.build Implements the Distutils 'build' command.N)Command)DistutilsOptionError) get_platformc&ddlm}|dS)Nrshow_compilers)distutils.ccompilerrrs 0/usr/lib64/python3.11/distutils/command/build.pyrr s(222222Nc eZdZdZdddddddd d ezfd d d ddg ZddgZdddefgZdZ dZ dZ dZ dZ dZdZde fde fdefdefgZdS) buildz"build everything needed to install)z build-base=bz base directory for build library)zbuild-purelib=Nz2build directory for platform-neutral distributions)zbuild-platlib=Nz3build directory for platform-specific distributions)z build-lib=NzWbuild directory for all distribution (defaults to either build-purelib or build-platlib)zbuild-scripts=Nzbuild directory for scripts)z build-temp=tztemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)debuggz;compile extensions and libraries with debugging information)forcefz2forcibly build everything (ignore file timestamps))z executable=ez5specify final destination interpreter path (build.py)rrz help-compilerNzlist available compilerscd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nr r) build_base build_purelib build_platlib build_lib build_temp build_scriptscompiler plat_namerr executableparallelselfs r initialize_optionszbuild.initialize_options8s_!"!!    r c,|jt|_ntjdkrt dd|jgt jddRz}tt dr|dz }|j*tj |j d|_|j -tj |j d|z|_ |j %|jjr |j |_ n |j|_ |j-tj |j d|z|_|j?tj |j d t jddz|_|j:t jr.tj t j|_t)|jt,r9 t/|j|_dS#t0$rt d wxYwdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z .%s-%d.%dgettotalrefcountz-pydebuglibtempz scripts-%d.%dzparallel should be an integer)r rosnamersys version_infohasattrrpathjoinrrr distribution ext_modulesrrr!normpath isinstancer"strint ValueError)r$plat_specifiers r finalize_optionszbuild.finalize_optionsHs > !)^^DNN w$*KLLL%'N9I"1"9M'N'NN 3* + + ) j (N   %!#dou!E!ED    %!#do.3n.D"F"FD  > ! , 4!%!3!%!3 ? " gll4?+1N+BDDDO   %!#do.=@PQSRSQS@T.T"V"VD  ? "s~ " g..s~>>DO dmS ) ) L L #DM 2 2  L L L*+JKKK L L Ls G77Hc^|D]}||dSN)get_sub_commands run_command)r$cmd_names r runz build.runs@ --// ' 'H   X & & & & ' 'r c4|jSr=)r3has_pure_modulesr#s r rCzbuild.has_pure_moduless 11333r c4|jSr=)r3has_c_librariesr#s r rEzbuild.has_c_libraries 00222r c4|jSr=)r3has_ext_modulesr#s r rHzbuild.has_ext_modulesrFr c4|jSr=)r3 has_scriptsr#s r rJzbuild.has_scriptss ,,...r build_py build_clib build_extr)__name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr help_optionsr%r;rArCrErHrJ sub_commandsr r r r s,6K - ? @ + ( & s '<>> * + & * H ? B3 L:(O $ #^ 5 L  6L6L6Lp'''444333333/// &67!o6 o6$k2LLLr r ) __doc__r.r,distutils.corerdistutils.errorsrdistutils.utilrrr rVr r r[s--""""""111111'''''' MMMMMGMMMMMr PK.ge[ install_egg_info.cpython-311.pycnu[ !A?h+ ldZddlmZddlmZmZddlZddlZddlZGddeZ dZ dZ d Z dS) zdistutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.)Command)logdir_utilNc4eZdZdZdZdgZdZdZdZdZ dS) install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file)z install-dir=dzdirectory to install tocd|_dSN) install_dirselfs ;/usr/lib64/python3.11/distutils/command/install_egg_info.pyinitialize_optionsz#install_egg_info.initialize_optionssc|dddtt|jtt |jgtjddRz}tj |j ||_ |j g|_dS)N install_lib)r r z%s-%s-py%d.%d.egg-info)set_undefined_options to_filename safe_name distributionget_name safe_version get_versionsys version_infoospathjoinr targetoutputs)r basenames rfinalize_optionsz!install_egg_info.finalize_optionss ""=1NOOO+  $"3"<"<">">?? @ @  T%6%B%B%D%DEE F F/  bqb !/ /   gll4#3X>>  } rc|j}tj|r;tj|st j||jntj|r+| tj |jfd|znStj|j s/| tj |j fd|j ztjd||jsLt|dd5}|jj|ddddS#1swxYwYdSdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)r rrisdirislinkr remove_treer%existsexecuteunlinkr makedirsrinfoopenrmetadatawrite_pkg_file)r r fs rrunzinstall_egg_info.run s 7==  7)?)? 7   > > > > > W^^F # # 7 LLDK>+f2D E E E Et/00 7 LLt'7&9$T%55 7 7 7 v&&&| =fcG444 =!*99!<<< = = = = = = = = = = = = = = = = = = = =s- EE!Ec|jSr )r!r s r get_outputszinstall_egg_info.get_outputs.s |rN) __name__ __module__ __qualname____doc__ description user_optionsrr#r4r6rrrr se33LK8L   %%% = = =rrc.tjdd|S)zConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. [^A-Za-z0-9.]+-)resubnames rrr6s 6"C . ..rcZ|dd}tjdd|S)zConvert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash.  .r?r@)replacerArB)versions rrr>s, ooc#&&G 6"C 1 11rc.|ddS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r@_)rHrCs rrrHs <<C  r) r: distutils.cmdr distutilsrrrrrArrrrr=rrrNs"" "!!!!!########$$$$$w$$$V///222!!!!!rPK.ge[ASIIbuild_py.cpython-311.opt-1.pycnu[ !A?h&CdZddlZddlZddlZddlZddlmZddlTddl m Z m Z ddl m Z GddeZGd d ee ZdS) zHdistutils.command.build_py Implements the Distutils 'build_py' command.N)Command)*) convert_path Mixin2to3)logceZdZdZgdZddgZddiZdZdZdZ d Z d Z d Z d Z d ZdZdZdZdZdZdZddZdZdZdZdZdS)build_pyz5"build" pure Python modules (copy to build directory)))z build-lib=dzdirectory to "build" (copy) to)compileczcompile .py to .pyc) no-compileNz!don't compile .py files [default])z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])forcefz2forcibly build everything (ignore file timestamps)r rr cvd|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizerselfs 3/usr/lib64/python3.11/distutils/command/build_py.pyinitialize_optionszbuild_py.initialize_options s@     c|ddd|jj|_|jj|_|jj|_i|_|jjr;|jjD]\}}t||j|<||_ t|j ts@ t|j |_ dS#ttf$rtdwxYwdS)Nbuild)rr)rrzoptimize must be 0, 1, or 2)set_undefined_options distributionpackagesrrritemsrget_data_files data_files isinstancerint ValueErrorAssertionErrorDistutilsOptionError)rnamepaths rfinalize_optionszbuild_py.finalize_options*s# ""7#=#5 7 7 7 )2 +6 -:   ( <"/;AACC < < d)5d);); &&--//$--- J J #DM 2 2 / J J J*+HIII J  J Js C((!D c|jr||jr(||||ddSNr)include_bytecode)r build_modulesr!build_packagesbuild_package_data byte_compile get_outputsrs rrunz build_py.runCsy, ? !    = &    ! ! !  # # % % % $**A*>>?????rc\g}|js|S|jD]}||}tjj|jg|dz}d|rt|dzfd|||D}| ||||f|S)z?Generate list of '(package,src_dir,build_dir,filenames)' tuples.rc$g|] }|d SN).0fileplens r z+build_py.get_data_files..ss. $TUU r) r!get_package_dirosr+joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesr>s @rr#zbuild_py.get_data_filesas} K} B BG**733G '7'--:L:L'LNID &7||A~(,(<(.s;(((2U??GNN2&&4C"???r) rgetglobrAr+rBescaperextend)rrrHglobspatternfilelistrPs @rrEzbuild_py.find_data_filesys"&&r2..$(("556 ) )Gydk'.B.BLQXDYDY!Z!Z[[H LL((((x((( ) ) ) ) rcBd}|jD]\}}}}|D]}tj||}|tj||tj|||ddS)z$Copy data files into build directoryNF preserve_mode)r$rAr+rBmkpathdirname copy_file)rlastdirrrHrIrJfilenametargets rr2zbuild_py.build_package_datas6:o 4 4 2GWi% 4 4i:: BGOOF33444rw||GX>>-24444 4 4 4rc|d}|js|rtjj|SdSg}|r{ |jd|}|d|tjj|S#t $r"|d|d|d=YnwxYw|{|jd}||d||rtjj|SdS)zReturn the directory, relative to the top of the source distribution, where package 'package' should be found (at least according to the 'package_dir' option, if any).r7rLr)rCrrAr+rBinsertKeyErrorrQ)rrr+tailpdirs rr@zbuild_py.get_package_dirs"}}S!!  w|T**rD /+CHHTNN;D KK4(((7<..  !!!KK48,,,R! "'++B//#KK4(((7<..2s B)B.-B.c|dkrbtj|std|ztj|std|z|rVtj|d}tj|r|Stjd|dS)NrLz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz8package init file '%s' not found (or not a regular file)) rAr+existsDistutilsFileErrorisdirrBrNrwarn)rrrinit_pys r check_packagezbuild_py.check_packages "  7>>+.. M(= KMMM7==-- ?(02=>???  ?gll; >>Gw~~g&& ?46=??? trcttj|stjd||dSdS)Nz!file %s (for module %s) not foundFT)rAr+rNrrk)rmodule module_files r check_modulezbuild_py.check_modules7w~~k**  H8+v N N N54rcJ|||tjtjtj|d}g}tj|jj}|D]}tj|}||kr[tj tj |d}| |||f| d|z|S)Nz*.pyrz excluding %s) rmrRrAr+rBrSabspathr script_namesplitextbasenamerF debug_print) rrr module_filesmodules setup_scriptrabs_fros rfind_package_moduleszbuild_py.find_package_moduless 7K000ydk+.F.F!O!OPP wt'8'DEE  @ @AGOOA&&E $$))"'*:*:1*=*=>>qA34444  ,!>????rci}g}|jD]}|d}d|dd}|d} ||\}}n'#t$r||}d}YnwxYw|s7|||} |df||<| r||d| ftj||dz} | || s|||| f|S)aFinds individually-specified Python modules, ie. those listed by module name in 'self.py_modules'. Returns a list of tuples (package, module_base, filename): 'package' is a tuple of the path through package-space to the module; 'module_base' is the bare (no packages, no dots) module name, and 'filename' is the path to the ".py" file (relative to the distribution root) that implements the module. r7rrbr8__init__.py) rrCrBrdr@rmrFrAr+rq) rr!ryror+r module_basercheckedrlrps r find_moduleszbuild_py.find_modulessN o @ @F<<$$DhhtAbDz**Gr(K )1'):&gg   "227;;   C,,WkBB%0!$4!CNNGZ#ABBB ',,{K%4GHHK$$V[99  NNG[+> ? ? ? ?s A!A98A9cg}|jr'|||jrJ|jD]B}||}|||}||C|S)a4Compute the list of all modules that will be built, whether they are specified one-module-at-a-time ('self.py_modules') or by whole packages ('self.packages'). Return a list of tuples (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.)rrTrr!r@r|)rryrrms rfind_all_moduleszbuild_py.find_all_moduless  ? 0 NN4,,.. / / / = "= " ""227;; --g{CCq!!!!rc>d|DS)Ncg|] }|d S)rbr;)r<ros rr?z-build_py.get_source_files..-sAAAvr AAAr)rrs rget_source_fileszbuild_py.get_source_files,s"AA)>)>)@)@AAAArc\|gt|z|dzgz}tjj|S)Nr)listrAr+rB)rrIrro outfile_paths rget_module_outfilezbuild_py.get_module_outfile/s/!{T']]2fun5EE w|\**rr8c|}g}|D]\}}}|d}||j||}|||r|jr4|t j|d|j dkr9|t j||j |d|j Dz }|S)Nr7rL) optimizationrcbg|],\}}}}|D]"}tj||#-Sr;)rAr+rB)r<rrHrIrJr_s rr?z(build_py.get_outputs..BsW6)Y% GLLH - -r) rrCrrrFr importlibutilcache_from_sourcerr$)rr/ryoutputsrrorpr_s rr4zbuild_py.get_outputs3s''')).5 ? ? *WfkmmC((G..t~wOOH NN8 $ $ $ ?<4NN9>#C#C r$D$3$3444=1$$NN9>#C#C t}$D$>$>??? :>/  rc~t|tr|d}n+t|ttfst d||j||}tj |}| || ||dS)Nr7z:'package' must be a string (dot-separated), list, or tuplerrY) r%strrCrtuple TypeErrorrrrAr+r\r[r])rrorproutfiledirs r build_modulezbuild_py.build_moduleJs gs # # PmmC((GGGdE]33 PNPP P ))$.'6JJgoog&& C~~k7!~DDDrcn|}|D]\}}}||||dSr:)rr)rryrrorps rr0zbuild_py.build_modulesYsP##%%.5 < < *Wfk   fk7 ; ; ; ;  < > > F////// ":  bf_F < P L#z&$, P P P P =1   L#z&$, P P P P P P  rN)r8)__name__ __module__ __qualname__ description user_optionsboolean_options negative_optrr,r5r#rEr2r@rmrqr|rrrrr4rr0r1r3r;rrr r sxKK   L!'*O 9-LJJJ2@@@<0   444%%%N6   222h BBB+++. E E E<<<@@@(PPPPPrr ceZdZdZdZdS) build_py_2to3c.g|_|jr||jr(||||j||ddSr.) updated_filesrr0r!r1r2run_2to3r3r4rs rr5zbuild_py_2to3.runs ? !    = &    ! ! !  # # % % % d())) $**A*>>?????rct||||}|dr |j|d|S)Nr8r)r rrrF)rrorprress rrzbuild_py_2to3.build_modulesG##D&+wGG q6 .   % %c!f - - - rN)rrrr5rr;rrrrs5@@@ rr)__doc__rAimportlib.utilrrrRdistutils.corerdistutils.errorsrrr distutilsrr rr;rrrs00  """"""22222222yPyPyPyPyPyPyPyPv HirPK.ge[>y22 build_clib.cpython-311.opt-2.pycnu[ !A?hV^ ddlZddlmZddlTddlmZddlmZdZGddeZ dS) N)Command)*)customize_compiler)logc&ddlm}|dS)Nrshow_compilers)distutils.ccompilerr rs 5/usr/lib64/python3.11/distutils/command/build_clib.pyr r s(222222NcZeZdZdZgdZddgZdddefgZdZd Z d Z d Z d Z d Z dZdS) build_clibz/build C/C++ libraries used by Python extensions))z build-clib=bz%directory to build C/C++ libraries to)z build-temp=tz,directory to put temporary build by-products)debuggz"compile with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler typerrz help-compilerNzlist available compilerscd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompilerselfs r initialize_optionszbuild_clib.initialize_options4sJ!     r c\|dddddd|jj|_|jr||j|j|jjpg|_t |jt r+|jtj |_dSdS)Nbuild)rr)rr)rr)rr)rr) set_undefined_options distributionrcheck_library_listr isinstancestrsplitospathseprs r finalize_optionszbuild_clib.finalize_optionsDs ""7#?#?#;#5#5  7 7 7*4 > 4  # #DN 3 3 3   $ $ 1 > D"D  d' - - D $ 1 7 7 C CD    D Dr c|jsdSddlm}||j|j|j|_t |j|j|j|j|j (|j D] \}}|j ||!|j $|j D]}|j || |jdS)Nr) new_compiler)rdry_runr)rr r,rr-rrrset_include_dirsr define_macrorundefine_macrobuild_libraries)rr,namevaluemacros r runzbuild_clib.run^s~  F 544444$ dm-1\+/:777  4=)))   ( M * *4+< = = = ; " $  8 8 e **47777 : ! 4 4 ,,U3333 T^,,,,,r c t|tstd|D]}t|ts"t |dkrtd|\}}t|t stdd|vst jdkr&t j|vrtd|dzt|tstddS) Nz+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)/z;bad library name '%s': may not contain directory separatorsrzMsecond element of each tuple in 'libraries' must be a dictionary (build info)) r%listDistutilsSetupErrortuplelenr&r(sepdict)rrlibr2 build_infos r r$zbuild_clib.check_library_listvs3 )T** A%?AA A ; ;Cc5)) Dc#hh!mm)BDDD # D*dC(( =)<===d{{rv}}4)+>@CA+GHHHj$// ;):;;; ;! ; ;r c`|jsdSg}|jD]\}}|||S)N)rappend)r lib_nameslib_namer@s r get_library_nameszbuild_clib.get_library_namessK~ 4 &*n ' ' "Xz   X & & & &r c ||jg}|jD]_\}}|d}|t|tt fst d|z||`|S)Nsourcesfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)r$rgetr%r9r;r:extend)r filenamesrDr@rGs r get_source_fileszbuild_clib.get_source_filess /// &*n & & "Xz nnY//Gj4-&H&H)46>?@@@   W % % % %r c|D]\}}|d}|t|ttfst d|zt|}t jd||d}|d}|j||j |||j }|j |||j |j dS)NrGrHzbuilding '%s' librarymacrosr) output_dirrNrr)rOr) rIr%r9r;r:rinforcompilerrcreate_static_libr)rrrDr@rGrNrobjectss r r1zbuild_clib.build_librariess&/ > > "Xz nnY//Gj4-&H&H)46>?@@@7mmG H,h 7 7 7  ^^H--F%>>.99Lm++G7;399E26* ,>>G M + +GX7;26* , > > > >3 > >r )__name__ __module__ __qualname__ description user_optionsboolean_optionsr help_optionsrr*r5r$rErLr1r r rrsCK    L(O $ #^ 5 L    DDD4---0!;!;!;H      >>>>>r r) r(distutils.corerdistutils.errorsdistutils.sysconfigr distutilsrr rr[r r r`s  """"""222222 u>u>u>u>u>u>u>u>u>u>r PK.ge[|`TvTvbuild_ext.cpython-311.opt-1.pycnu[ !A?h{dZddlZddlZddlZddlZddlmZddlTddlm Z m Z ddlm Z ddl m Z ddlmZdd lmZdd lmZdd lmZejd Zd ZGddeZdS)zdistutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$c&ddlm}|dS)Nrshow_compilers)distutils.ccompilerrrs 4/usr/lib64/python3.11/distutils/command/build_ext.pyrrs(222222Nc eZdZdZdejzZdddddezfdd d d ezfd d ddddezfddddddddddgZgdZ ddde fgZ d Z d!Z d"Zd#Zd$Zd%Zd&Zd'Zd(Zejd)Zd*Zd+Zd,Zd-Zd.Zd/Zd0Zd1ZdS)2 build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s'))z build-lib=bz(directory for compiled extension modules)z build-temp=tz1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s))inplaceiziignore build-lib and put compiled extensions into the source directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header files)zdefine=DzC preprocessor macros to define)zundef=Uz!C preprocessor macros to undefine)z libraries=lz!external C libraries to link withz library-dirs=Lz.directories to search for external C libraries)zrpath=Rz7directories to search for shared C libraries at runtime)z link-objects=Oz2extra explicit link objects to include in the link)debuggz'compile/link with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)swig-cppNz)make SWIG create C++ files (default is C))z swig-opts=Nz!list of SWIG command line options)zswig=Nzpath to the SWIG executable)userNz#add user include, library and rpath)rr!r#r'r(z help-compilerNzlist available compilersc,d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsr!r#compilerswigswig_cpp swig_optsr(parallelselfs rinitialize_optionszbuild_ext.initialize_optionsjs               rc ddlm}|ddddddd d |j|jj|_|jj|_|}|d }|j |jj pg|_ t|j tr)|j tj|_ tjtjkrB|j tjtjd |j | tjj||kr<|j | tjj|d|d|jg|_|jg|_nCt|jtr)|j tj|_|jg|_nCt|jtr)|j tj|_tjdkr|jtjtjdtjtjkrB|jtjtjd|jr+tj|jd|_n*tj|jd|_|j tjt?tAtdd}|r|j||j!dkrd}n|j!dd}tjtjd}|r tj||}|j|tj"dddkrtj#$tjtjdrT|jtjtjddtKzdn|jd|&drO|j's.|j|&d n|jd|j(r+|j( d!}d"|D|_(|j)r|j) d!|_)|j*g|_*n|j* d#|_*|j+rtjtXd }tjtXd} tj-|r|j |tj-| r4|j| |j| t|j.tr9 t_|j.|_.dS#t`$rtcd$wxYwdS)%Nr) sysconfigbuild)r+r+)r-r-)r6r6)r!r!)r#r#)r:r:)r,r,) plat_specificincluder2r5ntlibsDebugRelease_homewin32PCbuildcygwinbinlibpythonconfig.Py_ENABLE_SHAREDLIBDIR,cg|]}|dfS)1).0symbols r z.build_ext.finalize_options..s???VFC=???r zparallel should be an integer)2 distutilsr?set_undefined_optionsr. distribution ext_package ext_modulesr*get_python_incr/ isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinextendensure_string_listr2r3r4nameprefixr!r-dirnamergetattrr,platform executable startswithrget_config_var python_buildr0r1r9r(r isdirr:int ValueErrorDistutilsOptionError) r<r? py_includeplat_py_include _sys_homesuffixnew_libdefines user_includeuser_libs rfinalize_optionszbuild_ext.finalize_optionss`'''''' ""7#=#?#;#5#5#;#= % % % < ,8DL+7--// #222CC   $ $ 1 > D"D  d' - - D $ 1 7 7 C CD  ?c2 2 2   $ $RW\\#/9%M%M N N N   !1!1"'/!B!BCCC j ( (   $ $%%bgo66 8 8 8  ,,, /// > !DN   $ "D   )3 / / D $ 1 7 7 C CD  : DJJ  C ( ( 6))"*55DJ 7d??   $ $RW\\#/6%J%J K K K#sz11!((c6JF)S)STTTz K"$',,t"H"H"$',,t "J"J   $ $RW__5J5L5L%M%M N N NWd33I 4!((333~(( +gll3?I>>G 8',,w77   $ $W - - - < x ' '~((cou)M)MNN .!((cj%6>ASAUAU6U6>*@*@AAAA !((---  $ $%7 8 8 .) .!(()A)A()K)KLLLL!((--- ; @k'',,G??w???DK : /))#..DJ > !DNN!^11#66DN 9 ,7<< 9==Lw||Iu55Hw}}\** 7!((666w}}X&& ,!((222 !!(+++ dmS ) ) L L #DM 2 2  L L L*+JKKK L L Ls ;]]0cvddlm}|jsdS|jrb|d}|j|pg|j |j ||j |j |j|j|_ t!|j t"jdkr6|jt)kr|j |j|j|j |j|j(|jD] \}}|j ||!|j$|jD]}|j ||j|j |j|j |j |j |j|j |j|j |j !|j |"dS)Nr) new_compiler build_clib)r6verbosedry_runr#rD)#rrr*r_has_c_librariesget_finalized_commandr2rnget_library_namesr3rkrr6rrr#rrfrpr,r initializer/set_include_dirsr0 define_macror1undefine_macro set_librariesset_library_dirsr4set_runtime_library_dirsr5set_link_objectsbuild_extensions)r<rrrpvaluemacros rrunz build_ext.runs2444444  F   , , . . <33LAAJ N ! !*">">"@"@"FB G G G   $ $Z%: ; ; ;% dm-1\-1\+/:777  4=))) 7d??t~?? M $ $T^ 4 4 4   ( M * *4+< = = = ; "!% 8 8 u **47777 : ! 4 4 ,,U3333 > % M ' ' 7 7 7   ( M * *4+< = = = : ! M 2 24: > > >   ( M * *4+< = = = rct|tstdt|D] \}}t|trt|t rt |dkrtd|\}}tjd|t|trt |stdt|tstdt ||d}dD]*}| |}|t|||+| d |_d |vrtjd | d }|rg|_g|_|D]} t| t rt | dvstdt | dkr!|j| dkt | dkr|j| |||< d S)aEnsure that the list of extensions (presumably provided as a command option 'extensions') is valid, i.e. it is a list of Extension objects. We also support the old-style list of 2-tuples, where the tuples are (ext_name, build_info), which are converted to Extension instances here. Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)sources)r/r3r2 extra_objectsextra_compile_argsextra_link_argsNr4def_filez9'def_file' element of build info dict no longer supportedmacros)rArz9'macros' element of build info dict must be 1- or 2-tuplerAr)rclistDistutilsSetupError enumerater tuplelenr warnrdextension_name_rematchdictgetsetattrruntime_library_dirs define_macros undef_macrosrk) r<r*rextext_name build_infokeyvalrrs rcheck_extensions_listzbuild_ext.check_extensions_listVs*d++ P%NPP P ++> > FAs#y)) c5)) 8SXX]])7888$' Hj H?@H J J Jx-- @%++H55 @)?@@@j$// <);<<< Hj&;<'>C $Z''/000  ^^H--F 8$&!#% #88E&ue447Uv9M9M167775zzQ(//a9999Uq)00777JqMM}> > rc||jg}|jD]}||j|SN)rr*rnr)r< filenamesrs rget_source_fileszbuild_ext.get_source_filessO ""4?333 ? * *C   S[ ) ) ) )rc||jg}|jD]/}|||j0|Sr)rr*rkget_ext_fullpathrp)r<outputsrs r get_outputszbuild_ext.get_outputss\ ""4?333 ? < .s:333 t';SAA333r) r:rf cpu_countconcurrent.futuresr ImportErrorrr*zip_filter_build_errorsresult)r<workersrfuturesrfutrs` @rrz$build_ext._build_extensions_parallels- =D lnnG  = = = = = = =   GGG  ?  ) ) + + + F  G 4 4 4 !33333"&/333G99 ! !S..s33!!JJLLL!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !sC. ==$AC#(C = C# C C#C C##C'*C'c|jD]D}||5||dddn #1swxYwYEdSr)r*rr)r<rs rrz"build_ext._build_extensions_serials? * *C**3// * *$$S))) * * * * * * * * * * * * * * * * *sAA A c#K dVdS#tttf$r3}|js|d|jd|Yd}~dSd}~wwxYw)Nzbuilding extension "z " failed: )CCompilerErrorDistutilsError CompileErroroptionalrrp)r<res rrzbuild_ext._filter_build_errorss % EEEEE = % % %<  IIIxxx$ % % % % % % % % % %s A(AAc |j}|t|ttfst d|jzt |}||j}||jz}|j s-t||dstj d|jdStj d|j|||}|jpg}|jdd}|jD]}||f|j||j||j|j ||j}|dd|_|jr||j|jpg}|jp|j|} |j|||||j|j ||!||j |j|  dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension) output_dirrr/r!extra_postargsdepends)r2r3rrexport_symbolsr!r- target_lang)"rrcrrrrpsortedrrr#rr r!info swig_sourcesrrrrkr6compiler-r/_built_objectsrrnrlanguagedetect_languagelink_shared_object get_librariesr3rget_export_symbols) r<rrext_pathr extra_argsrr1objectsrs rrzbuild_ext.build_extensions+ ?*WtUm"D"D?%/14:;; ; //((22CK'  :k'8WEE : I>&aaaj   . NN3, - - -(.B <I4=#@#@#I#I (( X((--)!$!9%22377*  ) " " " " "rcg}g}i}|jrtjd|jsd|jvs d|jvrd}nd}|D]{}tj|\}} | dkr<||dz|z|||d||<f||||s|S|jp| } | dg} | |j|jr| d|js|jD]} | | |D];}||} tj d || | | d | |gz<|S) zWalk the list of source files in 'sources', looking for SWIG interface (.i) files. Run SWIG on all that are found, and return a modified 'sources' list with SWIG source files replaced by the generated C (or C++) files. z/--swig-cpp is deprecated - use --swig-opts=-c++z-c++z.cppz.cz.i_wrapz-pythonzswigging %s to %sz-o) r8r rr9rfrlsplitextrkr7 find_swigrnrspawn)r<r extension new_sourcesr swig_targets target_extsourcebaserr7swig_cmdotargets rrzbuild_ext.swig_sources2s     = H HF G G G = Vt~55 i) ) )JJJ + +F'**622KT3d{{""4'>J#>???##F+++'22 V$$""6****  y,DNN,,)$''' = $ OOF # # #~ #( # #""""" : :F!&)F H(&& 9 9 9 JJx4"88 9 9 9 9rctjdkrdStjdkrMdD]H}tjd|zd}tj|r|cSIdSt dtjz)zReturn the name of the SWIG executable. On Unix, this is just "swig" -- it should be in the PATH. Tries a bit harder on Windows. posixr7rD)z1.3z1.2z1.1z c:\swig%szswig.exez>I don't know how to find (much less run) SWIG on platform '%s')rfrprlrmisfileDistutilsPlatformError)r<versfns rrzbuild_ext.find_swighs 7g  6 W__. " "W\\,"5zBB7>>"%%III"z(%')w/00 0rc*||}|d}||d}|jsDt jj|dd|gz}tj|j|Sd|dd}|d}tj | |}tj||S)zReturns the path of the filename for a given extension. The file is located in `build_lib` or directly in the package (inplace option). rRrNrbuild_py) get_ext_fullnamereget_ext_filenamerrfrlrmr+rabspathget_package_dir)r<rfullnamemodpathfilenamer.r package_dirs rrzbuild_ext.get_ext_fullpaths ((22..%%((55| :w|WSbS\8*%<=H7<<99 9((71R4=))--j99gooh&>&>w&G&GHH w||K222rc.|j|S|jdz|zS)zSReturns the fullname of a given extension name. Adds the `package.` prefixNrR)r.)r<rs rrzbuild_ext.get_ext_fullnames# < O<#%0 0rczddlm}|d}|d}tjj||zS)zConvert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). rrwrR EXT_SUFFIX)distutils.sysconfigrwrerfrlrm)r<rrwr ext_suffixs rrzbuild_ext.get_ext_filenamesJ 766666>>#&&#^L11 w|X&33rcrd|jddz} |dnO#t$rBd|ddddz}YnwxYwd |z}||jvr|j||jS) aReturn the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not provided, "PyInit_" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "PyInit_" function. _rRrasciirpunycode-_PyInit)rpreencodeUnicodeEncodeErrorreplacedecoderrk)r<rr initfunc_names rrzbuild_ext.get_export_symbolss sx~~c**2.. Y MM' " " " "! Y Y Y6==44<>)- >*N;77 }9(<'===}r) __name__ __module__ __qualname__ descriptionrfrgsep_byr user_optionsboolean_optionsr help_optionsr=rrrrrrrr contextlibcontextmanagerrrrrrrrrrrXrrrr!sLK($bj 0F 5 > s '<>> * + 9 # 9F B D , . . # 9F B D D ? 4 ? & * 6 . ( 0O) LVHGGO $ #^ 5 L 0RLRLRLh> > > @L L L \   ,,,!!!(*** %%%J"J"J"X444l00003336111444"""&11111rr)__doc__r8rfrerhdistutils.corerdistutils.errorsrrrrdistutils.dep_utilrdistutils.extensionr distutils.utilr r]r siter rrrrrXrrrBs@  """"""FFFFFFFF555555******))))))''''''BJ;== Q Q Q Q Q Q Q Q Q Q rPK.ge[!Sinstall_data.cpython-311.pycnu[ !A?h JdZddlZddlmZddlmZmZGddeZdS)zdistutils.command.install_data Implements the Distutils 'install_data' command, for installing platform-independent data files.N)Command) change_root convert_pathc>eZdZdZgdZdgZdZdZdZdZ dZ d S) install_datazinstall data files))z install-dir=dzIbase directory for installing data files (default: installation base dir))zroot=Nz>!T-=>>a $$S))))#1Q4((w}}S))6',,t'7==CCY6%di55C C   Q42::M((----!"!22+D11#'>>$#<#<a ,,S111125 2 2rc|jpgSN)rrs r get_inputszinstall_data.get_inputsKs$"$rc|jSr.)rrs r get_outputszinstall_data.get_outputsNs }rN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr,r/r1rrrr s&K   LiO$$$222B%%%rr)__doc__r$distutils.corerdistutils.utilrrrr8rrr<s$$ """"""44444444CCCCC7CCCCCrPK.ge[ %install_scripts.cpython-311.opt-2.pycnu[ !A?hP ddlZddlmZddlmZddlmZGddeZdS)N)Command)log)ST_MODEc@eZdZdZgdZddgZdZdZdZdZ d Z d S) install_scriptsz%install scripts (Python or otherwise)))z install-dir=dzdirectory to install scripts to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files)) skip-buildNzskip the build stepsr r c>d|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_buildselfs :/usr/lib64/python3.11/distutils/command/install_scripts.pyinitialize_optionsz"install_scripts.initialize_optionss# cb|dd|dddddS)Nbuild) build_scriptsrinstall)rr)r r )rr)set_undefined_optionsrs rfinalize_optionsz install_scripts.finalize_options!sF ""7,JKKK ""9#E#5#? $ $ $ $ $rc|js|d||j|j|_t jdkr|D]q}|j rtj d|t j |tdzdz}tj d||t j||pdSdS)Nrposixzchanging mode of %simizchanging mode of %s to %o)r run_command copy_treerroutfilesosname get_outputsdry_runrinfostatrchmod)rfilemodes rrunzinstall_scripts.run)s .   _ - - -t~t7GHH 7g  ((** ) )<)H2D9999WT]]73u<FDH8$EEEHT4((((   ) )rc|jjpgSN) distributionscriptsrs r get_inputszinstall_scripts.get_inputs8s (.B.rc|jpgSr,)r rs rr#zinstall_scripts.get_outputs;s}""rN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr*r/r#rrrrs9KL -O $$$ ) ) )///#####rr)r!distutils.corer distutilsrr&rrr7rrr:s """""".#.#.#.#.#g.#.#.#.#.#rPK.ge[l-' ' clean.cpython-311.opt-2.pycnu[ !A?h P ddlZddlmZddlmZddlmZGddeZdS)N)Command) remove_tree)logc2eZdZdZgdZdgZdZdZdZdS)cleanz-clean up temporary files from 'build' command))z build-base=bz2base build directory (default: 'build.build-base'))z build-lib=Nz>$/ * * '  > > > > > I=o ' ' ' 8 ("n"o"02 ( ( 7>>),,( 4<@@@@@HD&(((( |  )))$/:::::       s 3D DDN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr'rrrr scAK   LgOAAArr)rdistutils.corerdistutils.dir_utilr distutilsrrr.rrr2s-  """"""******@@@@@G@@@@@rPK.ge[}gg%install_headers.cpython-311.opt-2.pycnu[ !A?h0 ddlmZGddeZdS))Commandc>eZdZdZddgZdgZdZdZdZdZ d Z d S) install_headerszinstall C/C++ header files)z install-dir=dz$directory to install header files to)forcefz-force installation (overwrite existing files)rc0d|_d|_g|_dS)Nr) install_dirroutfilesselfs :/usr/lib64/python3.11/distutils/command/install_headers.pyinitialize_optionsz"install_headers.initialize_optionss  c4|ddddS)Ninstall)rr )rr)set_undefined_optionsr s rfinalize_optionsz install_headers.finalize_optionss, ""9#E#5 7 7 7 7 7rc|jj}|sdS||j|D]:}|||j\}}|j|;dSN) distributionheadersmkpathr copy_filer append)r rheaderout_s rrunzinstall_headers.run!s{#+  F D$%%% & &F~~fd.>??HS! M  % % % % & &rc|jjpgSr)rrr s r get_inputszinstall_headers.get_inputs+s (.B.rc|jSr)r r s r get_outputszinstall_headers.get_outputs.s }rN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrrr!r#rrrr s.K=FL iO 777 &&&///rrN)distutils.corerrr*rrr,sR* #"""""%%%%%g%%%%%rPK.ge[Bconfig.cpython-311.opt-1.pycnu[ !A?hWRdZddlZddlmZddlZddlmZdZGddeZdS)zdistutils.pypirc Provides the PyPIRCCommand class, the base class for the command classes that uses .pypirc in the distutils.command package. N)RawConfigParser)CommandzE[distutils] index-servers = pypi [pypi] username:%s password:%s c`eZdZdZdZdZdZdZdddezfdgZd gZ d Z d Z d Z d Z dZdZdS) PyPIRCCommandz;Base command that knows how to handle the .pypirc file zhttps://upload.pypi.org/legacy/pypiNz repository=rzurl of repository [default: %s]) show-responseNz&display full response text from serverr c|tjtjddS)zReturns rc file path.~z.pypirc)ospathjoin expanduserselfs )/usr/lib64/python3.11/distutils/config.py _get_rc_filezPyPIRCCommand._get_rc_file's(w||BG..s33Y???c|}tjtj|tjtjzdd5}|t||fzddddS#1swxYwYdS)zCreates a default .pypirc file.iwN)rr fdopenopenO_CREATO_WRONLYwriteDEFAULT_PYPIRC)rusernamepasswordrcfs r _store_pypirczPyPIRCCommand._store_pypirc+s     Yrwr2: #;UCCS I I ;Q GGNh%99 : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s BB Bc|}tj|r|d|z|jp|j}t}||| }d|vr| dd}d| dD}|gkr d|vrdg}niS|D]}d|i}| |d|d<d |jfd |j fd fD]:\} } | || r| || || <5| || <;|dkr||jdfvr|j|d <|cS|d|ks |d |kr|cSnod |vrkd }| |d r| |d }n|j}| |d| |d |||j dSiS)zReads the .pypirc file.zUsing PyPI login from %s distutilsz index-serverscfg|].}|dk|/S))strip).0servers r z.PyPIRCCommand._read_pypirc..>s<555v%||~~33#LLNN333r rr(r repositoryrealm)rNz server-loginr)rrr+r(r,)rr r existsannouncer+DEFAULT_REPOSITORYrreadsectionsgetsplit DEFAULT_REALM has_option) rrr+configr1 index_servers_serversr(currentkeydefaults r _read_pypirczPyPIRCCommand._read_pypirc1s     7>>"  9 5 MM4r9 : : :CD,CJ$&&F KKOOO((Hh&& & ; H H 55)//55555r>>))$*8 " &''F'0G*0**VZ*H*HGJ'+7*.*A*C*143E)F);)=33 W",,VS993+1::fc+B+BGCLL+2GCLL &(("t'>&GGG040G -&)Z77 -;;& ? ? ? JJJ                )).,GG ##L11!488GLL}}%%h///s?AAc0d|_d|_d|_dS)zInitialize options.Nr)r+r, show_responsers rinitialize_optionsz PyPIRCCommand.initialize_optionszs rcV|j |j|_|j|j|_dSdS)zFinalizes options.N)r+r/r,r4rs rfinalize_optionszPyPIRCCommand.finalize_optionss2 ? ""5DO : +DJJJ  r)__name__ __module__ __qualname____doc__r/r4r+r, user_optionsboolean_optionsrr!r<rMrPrRrrrrs:MJ E  *    3 4L''O@@@;;; >>>@000 ,,,,,rr) rVr configparserrrB distutils.cmdrrrrYrrr\s  ((((((!!!!!!o,o,o,o,o,Go,o,o,o,o,rPK.ge[o))build.cpython-311.opt-2.pycnu[ !A?h^ ddlZddlZddlmZddlmZddlmZdZGddeZ dS)N)Command)DistutilsOptionError) get_platformc&ddlm}|dS)Nrshow_compilers)distutils.ccompilerrrs 0/usr/lib64/python3.11/distutils/command/build.pyrr s(222222Nc eZdZdZdddddddd d ezfd d d ddg ZddgZdddefgZdZ dZ dZ dZ dZ dZdZde fde fdefdefgZdS) buildz"build everything needed to install)z build-base=bz base directory for build library)zbuild-purelib=Nz2build directory for platform-neutral distributions)zbuild-platlib=Nz3build directory for platform-specific distributions)z build-lib=NzWbuild directory for all distribution (defaults to either build-purelib or build-platlib)zbuild-scripts=Nzbuild directory for scripts)z build-temp=tztemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)debuggz;compile extensions and libraries with debugging information)forcefz2forcibly build everything (ignore file timestamps))z executable=ez5specify final destination interpreter path (build.py)rrz help-compilerNzlist available compilerscd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nr r) build_base build_purelib build_platlib build_lib build_temp build_scriptscompiler plat_namerr executableparallelselfs r initialize_optionszbuild.initialize_options8s_!"!!    r c,|jt|_ntjdkrt dd|jgt jddRz}tt dr|dz }|j*tj |j d|_|j -tj |j d|z|_ |j %|jjr |j |_ n |j|_ |j-tj |j d|z|_|j?tj |j d t jddz|_|j:t jr.tj t j|_t)|jt,r9 t/|j|_dS#t0$rt d wxYwdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z .%s-%d.%dgettotalrefcountz-pydebuglibtempz scripts-%d.%dzparallel should be an integer)r rosnamersys version_infohasattrrpathjoinrrr distribution ext_modulesrrr!normpath isinstancer"strint ValueError)r$plat_specifiers r finalize_optionszbuild.finalize_optionsHs > !)^^DNN w$*KLLL%'N9I"1"9M'N'NN 3* + + ) j (N   %!#dou!E!ED    %!#do.3n.D"F"FD  > ! , 4!%!3!%!3 ? " gll4?+1N+BDDDO   %!#do.=@PQSRSQS@T.T"V"VD  ? "s~ " g..s~>>DO dmS ) ) L L #DM 2 2  L L L*+JKKK L L Ls G77Hc^|D]}||dSN)get_sub_commands run_command)r$cmd_names r runz build.runs@ --// ' 'H   X & & & & ' 'r c4|jSr=)r3has_pure_modulesr#s r rCzbuild.has_pure_moduless 11333r c4|jSr=)r3has_c_librariesr#s r rEzbuild.has_c_libraries 00222r c4|jSr=)r3has_ext_modulesr#s r rHzbuild.has_ext_modulesrFr c4|jSr=)r3 has_scriptsr#s r rJzbuild.has_scriptss ,,...r build_py build_clib build_extr)__name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr help_optionsr%r;rArCrErHrJ sub_commandsr r r r s,6K - ? @ + ( & s '<>> * + & * H ? B3 L:(O $ #^ 5 L  6L6L6Lp'''444333333/// &67!o6 o6$k2LLLr r ) r.r,distutils.corerdistutils.errorsrdistutils.utilrrr rVr r rZs-""""""111111'''''' MMMMMGMMMMMr PK.ge[Tcheck.cpython-311.opt-1.pycnu[ !A?hdZddlmZddlmZ ddlmZddlmZddl m Z ddl m Z Gdd eZ d Z n #e$rd Z YnwxYwGd d eZdS)zCdistutils.command.check Implements the Distutils 'check' command. )Command)DistutilsSetupError)Reporter)Parser)frontend)nodesc eZdZ ddZdZdS)SilentReporterNrasciireplacec Jg|_tj||||||||dSN)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlers 0/usr/lib64/python3.11/distutils/command/check.pyrzSilentReporter.__init__s9DM  dFL*f#X} > > > > >c|j||||ftj|g|R||j|d|S)N)leveltype)rappendrsystem_messagelevels)rrmessagechildrenkwargss rrzSilentReporter.system_messagesc M %(F!C D D D'=)1==u-1[-?==5;== =r)Nrr r )__name__ __module__ __qualname__rrrrr r s=DH>G > > > >  = = = = =rr TFcPeZdZdZdZgdZgdZdZdZdZ dZ d Z d Z d Z d S) checkz6This command checks the meta-data of the package. z"perform some checks on the package))metadatamzVerify meta-data)restructuredtextrzEChecks if long string meta-data syntax are reStructuredText-compliant)strictsz(Will exit with an error if a check fails)r*r,r.c>d|_d|_d|_d|_dS)z Sets default values for options.rN)r,r*r. _warningsrs rinitialize_optionszcheck.initialize_options0s# !  rcdSrr'r3s rfinalize_optionszcheck.finalize_options7s rcL|xjdz c_tj||S)z*Counts the number of warnings that occurs.r1)r2rwarn)rmsgs rr8z check.warn:s$ !|D#&&&rc|jr||jr2tr|n|jrt d|jr|jdkrt ddSdS)zRuns the command.zThe docutils package is needed.rzPlease correct your package.N)r*check_metadatar, HAS_DOCUTILScheck_restructuredtextr.rr2r3s rrunz check.run?s = "    ! ! !   M M++---- M)*KLLL ; F4>A--%&DEE E F F--rc|jj}g}dD]7}t||rt||s||8|r+|dd|z|jr |js|ddSdS|j r |j s|ddSdS|ddS)a Ensures that all required elements of meta-data are supplied. Required fields: name, version, URL Recommended fields: (author and author_email) or (maintainer and maintainer_email) Warns if any are missing. )nameversionurlzmissing required meta-data: %sz, zNmissing meta-data: if 'author' supplied, 'author_email' should be supplied toozVmissing meta-data: if 'maintainer' supplied, 'maintainer_email' should be supplied toozkmissing meta-data: either (author and author_email) or (maintainer and maintainer_email) should be suppliedN) distributionr*hasattrgetattrrr8joinauthor author_email maintainermaintainer_email)rr*missingattrs rr;zcheck.check_metadataOsJ$-. % %DHd++ %$0G0G %t$$$  N II6$))G:L:LL M M M ? ,( C BCCCCC C C  ,, G FGGGGG G G II+ , , , , ,rc|j}||D]K}|dd}| |d}n|dd|d}||LdS)z4Checks if the long string fields are reST-compliant.lineNr1z (line ))rCget_long_description_check_rst_datagetr8)rdatawarningrOs rr=zcheck.check_restructuredtextps 5577++D11  G2;??6**D|!!*,3AJJJ= IIg       rc |jjpd}t} tj}|t}n=#t $r0tjtf}YnwxYwd|_d|_ d|_ t||j |j |j|j|j|j}t%j|||}||d |||n8#t $r+}|jdd|zd ifYd}~nd}~wwxYw|jS) z8Returns warnings when the provided data doesn't compile.zsetup.py) componentsN)rrrr)rrNz!Could not finish the parsing: %s.)rC script_namerrget_default_settingsAttributeError OptionParserget_default_values tab_widthpep_referencesrfc_referencesr rrwarning_streamrerror_encodingerror_encoding_error_handlerrdocument note_sourceparserr) rrT source_pathparserr[settingsreporterrees rrRzcheck._check_rst_data{s'3Az  4#+#@ ,+F33HH  X X X, BBBUUWWHHH X "&"&!+"/"-!)!8 (#+#:(0(M OOO>(H[III["--- G LLx ( ( ( ( G G G   $ $81r;r=rRr'rrr)r)#s7KBBBLA@@O   ''' FFF ,,,B   !!!!!rr)N)rmdistutils.corerdistutils.errorsrdocutils.utilsrdocutils.parsers.rstrdocutilsrrr r< Exceptionr)r'rrrws#"""""000000''''''++++++!!!!!! = = = = = = = =LLLLL w!w!w!w!w!Gw!w!w!w!w!s(9AAPK.ge[Ύ@xxconfig.cpython-311.opt-2.pycnu[ !A?hWP ddlZddlmZddlZddlmZdZGddeZdS)N)RawConfigParser)CommandzE[distutils] index-servers = pypi [pypi] username:%s password:%s c^eZdZ dZdZdZdZdddezfdgZdgZd Z d Z d Z d Z d Z dZdS) PyPIRCCommandzhttps://upload.pypi.org/legacy/pypiNz repository=rzurl of repository [default: %s]) show-responseNz&display full response text from serverr c~ tjtjddS)N~z.pypirc)ospathjoin expanduserselfs )/usr/lib64/python3.11/distutils/config.py _get_rc_filezPyPIRCCommand._get_rc_file's+#w||BG..s33Y???c  |}tjtj|tjtjzdd5}|t||fzddddS#1swxYwYdS)Niw)rr fdopenopenO_CREATO_WRONLYwriteDEFAULT_PYPIRC)rusernamepasswordrcfs r _store_pypirczPyPIRCCommand._store_pypirc+s-     Yrwr2: #;UCCS I I ;Q GGNh%99 : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s BB Bc |}tj|r|d|z|jp|j}t}||| }d|vr| dd}d| dD}|gkr d|vrdg}niS|D]}d|i}| |d|d<d |jfd |j fd fD]:\} } | || r| || || <5| || <;|dkr||jdfvr|j|d <|cS|d|ks |d |kr|cSnod |vrkd }| |d r| |d }n|j}| |d| |d |||j dSiS)NzUsing PyPI login from %s distutilsz index-serverscfg|].}|dk|/S))strip).0servers r z.PyPIRCCommand._read_pypirc..>s<555v%||~~33#LLNN333r rr(r repositoryrealm)rNz server-loginr)rrr+r(r,)rr r existsannouncer+DEFAULT_REPOSITORYrreadsectionsgetsplit DEFAULT_REALM has_option) rrr+configr1 index_servers_serversr(currentkeydefaults r _read_pypirczPyPIRCCommand._read_pypirc1s%     7>>"  9 5 MM4r9 : : :CD,CJ$&&F KKOOO((Hh&& & ; H H 55)//55555r>>))$*8 " &''F'0G*0**VZ*H*HGJ'+7*.*A*C*143E)F);)=33 W",,VS993+1::fc+B+BGCLL+2GCLL &(("t'>&GGG040G -&)Z77 -;;& ? ? ? JJJ                )).,GG ##L11!488GLL}}%%h///sAAAc2 d|_d|_d|_dS)Nr)r+r, show_responsers rinitialize_optionsz PyPIRCCommand.initialize_optionszs!! rcX |j |j|_|j|j|_dSdS)N)r+r/r,r4rs rfinalize_optionszPyPIRCCommand.finalize_optionss5 ? ""5DO : +DJJJ  r)__name__ __module__ __qualname__r/r4r+r, user_optionsboolean_optionsrr!r<rMrPrRrrrrs:MJ E  *    3 4L''O@@@;;; >>>@000 ,,,,,rr)r configparserrrB distutils.cmdrrrrXrrr[s  ((((((!!!!!!o,o,o,o,o,Go,o,o,o,o,rPK.ge[8[[install.cpython-311.opt-2.pycnu[ bh%o ddlZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZddlmZmZmZdd lmZdd l mZdd lmZdd lmZeduZd ZiiidZeD]6ZdD]1\ZZeZej eZ!edkree!vrdZe!eeee<27eD]Z"ee"#D]\ZZ$ej%dde$Z$e$&ddZ$e$&ddZ$edkre$dz Z$ej'dkredkre$&ddZ$e$ee"e<erddddd d ed!<ddd"d#d d ed$<Gd%d&eZ(dS)'N)log)Command)DEBUG)get_config_vars)DistutilsPlatformError) write_file) convert_path subst_vars change_root) get_platform)DistutilsOptionError) USER_BASE) USER_SITE)purelibplatlibheadersscriptsdata) unix_prefix unix_homent))r posix_prefix)r posix_home)rrrincludez \{(.+?)\}z$\g<1>z$installed_basez$basez$py_version_nodot_platz$py_version_nodotz /$dist_name) rz/lib/z /$platlibdir/z $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbasent_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/bin unix_usercJeZdZdZgdZgdZer0edddezfedddiZ e e d d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d efd!efd"e fd#e!fd$d%fgZ"dS)&installz'install everything from build directory))zprefix=Nzinstallation prefix)z exec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)z install-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nz-K-K-M-M*407#:J2A2:N0N069I"1"9M0M*0&,/:+6(0*-.    A+/+@D Z (+/+@D Z (  $T * * L)2)A()K)KD X &  /000$(#4 '+'<$  % % % % % % % . ! ! ! F4# $ $ $  +,,, 9 $  ! ! # # #   # , 8#'#7  #'#7 5)Y$fi 9 9 9  7   z: 6 6 6    #/7<<(8$/JJ 9   i 9' < < < ./// ""7#?#= ? ? ? ? ?s E,, E;:E;c tsdSddlm}tj|dz|jD]}|d}|ddkr |dd}||jvr4|j|}||}t|| }n%||}t||}tjd||dS)Nr) longopt_xlate:=z %s: %s) rdistutils.fancy_getoptrrdebug user_options negative_opt translategetattr)rEmsgroptopt_namevals rFrbzinstall.dump_dirss-  F888888 #)$ 1 1C1vH|s""#AbD>4,,,,X6#--m<<!$111#--m<<dH-- Ij(C 0 0 0 0 1 1rHc |j|j;|j|j|j|j|j|jtddS|j r@|j td|j x|_|_| ddS|j *|j x|_|_| ddS|j|jtdt jt&j|jz|_t jt&j|jz|_n|j |j|_|j|_|j|_| ddS)NzPinstall-base or install-platbase supplied, but installation scheme is incomplete$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)r0r1r6r3r4r5r7r8r r(r:r select_schemer/r-r.r_rznormpathrer)rDs rFrczinstall.finalize_unixs4   (D,A,M!)%-%-$,$,!)*:;;; F 9 .$,,:<<<8<8M MD  5   { + + + + + Y "8< AD  5   { + + + + +{"#/.FHHHG$$SZ0043HH G$$S_558MM  #+'+{D$ $ D $($4D !   } - - - - -rHc6 |jrM|jtd|jx|_|_|t jdzdS|j*|jx|_|_|ddS|j .t j tj |_ |j x|_|_ |t jdS#t$rtdt jzwxYw)Nr_userrz)I don't know how to install stuff on '%s')r(r:rr0r1rr_r`r/r-rzrreKeyErrorrDs rFrdzinstall.finalize_others)7 9 M$,,:<<<8<8M MD  5   rw0 1 1 1 1 1 Y "8< AD  5   { + + + + +{" g..sz:: 8< CD  5 M""27+++++ M M M,ABGKMMM Ms C11'Dc t|}tD].}d|z}t||t||||/dSNinstall_)INSTALL_SCHEMES SCHEME_KEYSrsetattr)rEr`schemekeyattrnames rFrzinstall.select_schemesYK & 5 5C!C'HtX&&.hs 444 5 5rHc|D]y}t||}|etjdkstjdkrtj|}t ||j}t|||zdS)NrJr)rr_r`rz expanduserr rnr)rEattrsattrrs rF _expand_attrszinstall._expand_attrss ) )D$%%C7g%%D',,S11C d&677dC(((  ) )rHc6 |gddS)N)r0r1r2rrDs rFrrzinstall.expand_basedirss(  GGGHHHHHrHc6 |gddS)N)r3r4r6r5r7r8rrDs rFrtzinstall.expand_dirss>9 @@@ A A A A ArHc t |D]3}d|z}t||tt||4dSr)rr rrEnamesr`rs rFrwzinstall.convert_pathssS/ C CD$D D$ WT4-@-@ A A B B B B C CrHc |j|jj|_|jtjdt |jt r|jd|_t|jdkr|jdx}}n2t|jdkr |j\}}ntdt|}nd}d}||_ ||_ dS)NzIDistribution option extra_path is deprecated. See issue27919 for details.,r,rrKzY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsr*) r=rirra isinstancestrrglenr r path_filer|)rErr|s rFrxzinstall.handle_extra_pathsB ? ""/:DO ? & H.   $/3// ="&/"7"7"<"<4?##q(()-);; JJT_%%**(,% ::*DEEE &j11JJIJ#$rHc  |D]9}d|z}t||t|jt||:dSr)rr r2rrs rFr}zinstall.change_roots&sWH M MD$D D$ DIwtT7J7J K K L L L L M MrHcr |jsdSttjd}|jD]f\}}||rLtj|s-| d|ztj |dgdS)N~zos.makedirs('%s', 0o700)i) r(r r_rzrrnitems startswithisdir debug_printmakedirs)rEr/r`rzs rFruzinstall.create_home_path,s)y  FBG..s3344*0022 ) )JD$t$$ )RW]]4-@-@ )  !;d!BCCC D%((( ) )rHc |js\|d|jdj}|jr!|t krtd|D]}|||j r| |j r| }|j rFt|j }tt|D]}|||d||<|t"|j |fd|j zt%t&jjt,j}t%t&jj|}t&jt&j|j}|jr.|j r|js$||vrt5jd|jdSdSdSdS)Nr^z"Can't install when cross-compilingz'writing list of installed files to '%s'zmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)r? run_commandriget_command_obj plat_namer@r rget_sub_commandsrcreate_path_filerC get_outputsr2rrangeexecutermapr_rzrrenormcaser6r>rr)rE build_platcmd_nameoutputsroot_lencountersys_pathr6s rFrunz install.run8s$ @   W % % %*::7CCMJ} @|~~!=!=,.?@@@--// ' 'H   X & & & & > $  ! ! # # # ; &&&((Gy Cty>>$S\\22CCG'.w'7 'BGG$$ LL+w/B% & & & rw'22rw'22g&&rw'7'78H'I'IJJ M ) )$($: ) x ' ' IH' ) ) ) ) ) ) ) ' ' ) )rHc tj|j|jdz}|jr)|t||jgfd|zdS| d|zdS)N.pthz creating %szpath file '%s' not created) r_rzr{ryrr>rrr|ra)rEfilenames rFrzinstall.create_path_fileds#7<< 4 $ 799  ! ? LL"T_$56&1 3 3 3 3 3 II2X= > > > > >rHc` g}|D]G}||}|D]}||vr||H|jrG|jr@|t j|j |jdz|S)Nr) rget_finalized_commandrappendrr>r_rzr{ry)rErrcmdrs rFrzinstall.get_outputsrs<--// - -H,,X66C OO-- - -7**NN8,,, - > Bd4 B NN27<<(<(,(?AA B B BrHc g}|D]>}||}||?|SN)rrextend get_inputs)rEinputsrrs rFrzinstall.get_inputss\8--// , ,H,,X66C MM#..** + + + + rHch |jp|jSr)rihas_pure_moduleshas_ext_modulesrDs rFhas_libzinstall.has_libs5 !22444!1133 5rHc6 |jSr)ri has_headersrDs rFrzinstall.has_headers  ,,...rHc6 |jSr)ri has_scriptsrDs rFrzinstall.has_scriptsrrHc6 |jSr)rihas_data_filesrDs rFhas_datazinstall.has_datas  //111rHr6r5r7r8install_egg_infocdS)NTrDs rFzinstall.sTrH)#__name__ __module__ __qualname__ descriptionrboolean_optionsr9rrrrror)rGrrbrcrdrrrrrtrwrxr}rurrrrrrrr sub_commandsrrHrFr r Zs&;K9 9 9 Lv988O'VT@9LN O O Ov&&& 9-Lwy*rs/  """"""!!!!!!//////333333******@@@@@@@@@@''''''111111$& C #%2R@@  J JC3 J J./@ )  : 5 5  G6@6I-.s33 J / /H%h/5577 / / U|Y66 /99 68KLL )   ] "E  v % %#*:*:MM'?;;E).!#&& / I> " " OI K" $ $ OK Q Q Q Q Q gQ Q Q Q Q rHPK.ge[}((upload.cpython-311.pycnu[ !A?hdZddlZddlZddlZddlmZddlmZddlm Z m Z ddl m Z ddl mZmZddlmZdd lmZdd lmZeed deed deed ddZGddeZdS)zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). N)standard_b64encode) HTTPError)urlopenRequest)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logmd5sha256blake2b) md5_digest sha256_digestblake2_256_digestcXeZdZdZejddgzZejdgzZdZdZdZ dZ d S) uploadzupload binary package to PyPI)signszsign files to upload using gpg)z identity=izGPG identity used to sign filesrcttj|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responseridentity)selfs 1/usr/lib64/python3.11/distutils/command/upload.pyrzupload.initialize_options*s;(...    cTtj||jr|jst d|}|ikr4|d|_|d|_|d|_|d|_ |js|j jr|j j|_dSdSdS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrrr _read_pypircrrr#r$ distribution)rconfigs r r%zupload.finalize_options2s&t,,, =  &@ ""$$ R<<":.DM":.DM$\2DODJ} 7!2!; 7 -6DMMM 7 7 7 7r!c|jjsd}t||jjD]\}}}||||dS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))r' dist_filesr upload_file)rmsgcommand pyversionfilenames r runz upload.runDsf + ,2C&s++ +,0,=,H ; ; (GY   Wi : : : : ; ;r!c t|j\}}}}}} |s|s| rtd|jz|dvrtd|z|jr1ddd|g} |jrd|jg| dd<t | |j t|d } | } | n#| wxYw|j j } id d d dd| d| dtj|| fd|d|ddd| d| d| d| d| d| d| d| d| | | | | d}d |d!<t<D]9\}}| ||  ||<*#tB$rY6wxYw|jrdt|d"zd 5} tj|d"z| f|d#<dddn #1swxYwY|j"d$z|j#z$d%}d&tK|&d%z}d'}d(|$d%z}|d)z}tOj(}|D]\}}d*|z}tS|tTs|g}|D]}tW|tXur|d+|d,zz }|d-}n"t[|$d.}|.||.|$d.|.d/|.||.||/}d0|d1|j}|0|tbj2d2|zt[tg||d3}ti|j||4} tk|}|6}|j7}n`#tp$r} | j9}| j7}Yd} ~ nCd} ~ wtt$r3} |0t[| tbj;d} ~ wwxYw|d5kr~|0d6|d7|tbj2|j<rO|=|}!d8>d9|!d9f}|0|tbj2dSdSd:|d7|}|0|tbj;t|);NzIncompatible url %s)httphttpszunsupported schema gpgz --detach-signz-az --local-user)dry_runrbz:action file_uploadprotocol_version1nameversioncontentfiletyper.metadata_versionz1.0summary home_pageauthor author_emaillicense descriptionkeywordsplatform classifiers) download_urlprovidesrequires obsoletesrcommentz.asc gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"rzutf-8s z Submitting z to z multipart/form-data; boundary=%s)z Content-typezContent-length Authorization)dataheaderszServer response (z):  zK---------------------------------------------------------------------------zUpload failed ()@rr#AssertionErrorrrr r6openreadcloser'metadataget_name get_versionospathbasenameget_descriptionget_url get_contactget_contact_email get_licenceget_long_description get_keywords get_platformsget_classifiersget_download_url get_provides get_requires get_obsoletes_FILE_CONTENT_DIGESTSitems hexdigest ValueErrorrrencoderdecodeioBytesIO isinstancelisttypetuplestrwritegetvalueannouncer INFOlenrrgetcoder,rcodeOSErrorERRORr_read_pypi_responsejoinr)"rr-r.r/schemanetlocurlparamsquery fragmentsgpg_argsfr=metarS digest_name digest_cons user_passauthboundary sep_boundary end_boundarybodykeyvaluetitler,rTrequestresultstatusreasonetexts" r r+zupload.upload_fileLsF T_ % % 6VUI  JU Ji J !6!HII I * * * !6!?@@ @ 9 (h?H} @!/ ?1 (, ( ( ( ( $   ffhhG GGIIIIAGGIIII ) }  DMMOO  t'')) ((227;    t++--!" #$ d&&((%& D2244'( t'')))* 44466+, ))++-. **,,/0 4//1112!1133))++))++++--;@Y)>(C(C(E(E   $K" $/K$8$8$B$B$D$D[!!     9 3h'.. 3!)+)9)9()C)Cf)L)*)3_% 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ]S(4=8@@II ,Y77>>wGGGI 8??7#;#;; #i/ z||**,, " "JCCcIEeT**  " ";;%''.q99E!!HEEJJ--g66E <((( 5<<00111 ;''' 5!!!! " <   }}'/xxA c38$$$?I!#d))nn!   $/")+++ W%%F^^%%FZFF   VFUFFFFFF    MM#a&&#) , , ,   S== MMMG( $ $ $! -//77ii4 :;; c38,,,,, - - /5ffff=C MM#sy ) ) ) %% %sTCC6 J J$#J$:LL L *T<< VU V&.VVN) __name__ __module__ __qualname__rEr user_optionsboolean_optionsrr%r0r+r!r rrs1K - +=1  L $3vh>O777$;;;K&K&K&K&K&r!r)__doc__r^rthashlibbase64r urllib.errorrurllib.requestrr urllib.parserdistutils.errorsrr distutils.corer distutils.spawnr distutilsr getattrrnrrr!r rsH %%%%%%""""""++++++++!!!!!!AAAAAAAA((((((!!!!!! ''5$//WWh55 )T::y&y&y&y&y&]y&y&y&y&y&r!PK.ge[G@}}build.cpython-311.pycnu[ !A?h`dZddlZddlZddlmZddlmZddlmZdZ GddeZ dS) zBdistutils.command.build Implements the Distutils 'build' command.N)Command)DistutilsOptionError) get_platformc&ddlm}|dS)Nrshow_compilers)distutils.ccompilerrrs 0/usr/lib64/python3.11/distutils/command/build.pyrr s(222222Nc eZdZdZdddddddd d ezfd d d ddg ZddgZdddefgZdZ dZ dZ dZ dZ dZdZde fde fdefdefgZdS) buildz"build everything needed to install)z build-base=bz base directory for build library)zbuild-purelib=Nz2build directory for platform-neutral distributions)zbuild-platlib=Nz3build directory for platform-specific distributions)z build-lib=NzWbuild directory for all distribution (defaults to either build-purelib or build-platlib)zbuild-scripts=Nzbuild directory for scripts)z build-temp=tztemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)debuggz;compile extensions and libraries with debugging information)forcefz2forcibly build everything (ignore file timestamps))z executable=ez5specify final destination interpreter path (build.py)rrz help-compilerNzlist available compilerscd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nr r) build_base build_purelib build_platlib build_lib build_temp build_scriptscompiler plat_namerr executableparallelselfs r initialize_optionszbuild.initialize_options8s_!"!!    r c,|jt|_ntjdkrt dd|jgt jddRz}tt dr|dz }|j*tj |j d|_|j -tj |j d|z|_ |j %|jjr |j |_ n |j|_ |j-tj |j d|z|_|j?tj |j d t jddz|_|j:t jr.tj t j|_t)|jt,r9 t/|j|_dS#t0$rt d wxYwdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z .%s-%d.%dgettotalrefcountz-pydebuglibtempz scripts-%d.%dzparallel should be an integer)r rosnamersys version_infohasattrrpathjoinrrr distribution ext_modulesrrr!normpath isinstancer"strint ValueError)r$plat_specifiers r finalize_optionszbuild.finalize_optionsHs > !)^^DNN w$*KLLL%'N9I"1"9M'N'NN 3* + + ) j (N   %!#dou!E!ED    %!#do.3n.D"F"FD  > ! , 4!%!3!%!3 ? " gll4?+1N+BDDDO   %!#do.=@PQSRSQS@T.T"V"VD  ? "s~ " g..s~>>DO dmS ) ) L L #DM 2 2  L L L*+JKKK L L Ls G77Hc^|D]}||dSN)get_sub_commands run_command)r$cmd_names r runz build.runs@ --// ' 'H   X & & & & ' 'r c4|jSr=)r3has_pure_modulesr#s r rCzbuild.has_pure_moduless 11333r c4|jSr=)r3has_c_librariesr#s r rEzbuild.has_c_libraries 00222r c4|jSr=)r3has_ext_modulesr#s r rHzbuild.has_ext_modulesrFr c4|jSr=)r3 has_scriptsr#s r rJzbuild.has_scriptss ,,...r build_py build_clib build_extr)__name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr help_optionsr%r;rArCrErHrJ sub_commandsr r r r s,6K - ? @ + ( & s '<>> * + & * H ? B3 L:(O $ #^ 5 L  6L6L6Lp'''444333333/// &67!o6 o6$k2LLLr r ) __doc__r.r,distutils.corerdistutils.errorsrdistutils.utilrrr rVr r r[s--""""""111111'''''' MMMMMGMMMMMr PK.ge[O$Su  install_headers.cpython-311.pycnu[ !A?h2dZddlmZGddeZdS)zdistutils.command.install_headers Implements the Distutils 'install_headers' command, to install C/C++ header files to the Python include directory.)Commandc>eZdZdZddgZdgZdZdZdZdZ d Z d S) install_headerszinstall C/C++ header files)z install-dir=dz$directory to install header files to)forcefz-force installation (overwrite existing files)rc0d|_d|_g|_dS)Nr) install_dirroutfilesselfs :/usr/lib64/python3.11/distutils/command/install_headers.pyinitialize_optionsz"install_headers.initialize_optionss  c4|ddddS)Ninstall)rr )rr)set_undefined_optionsr s rfinalize_optionsz install_headers.finalize_optionss, ""9#E#5 7 7 7 7 7rc|jj}|sdS||j|D]:}|||j\}}|j|;dSN) distributionheadersmkpathr copy_filer append)r rheaderout_s rrunzinstall_headers.run!s{#+  F D$%%% & &F~~fd.>??HS! M  % % % % & &rc|jjpgSr)rrr s r get_inputszinstall_headers.get_inputs+s (.B.rc|jSr)r r s r get_outputszinstall_headers.get_outputs.s }rN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrrr!r#rrrr s.K=FL iO 777 &&&///rrN)__doc__distutils.corerrr*rrr-sW** #"""""%%%%%g%%%%%rPK.ge[-G&install_egg_info.cpython-311.opt-2.pycnu[ !A?h+ j ddlmZddlmZmZddlZddlZddlZGddeZdZ dZ dZ dS) )Command)logdir_utilNc2eZdZ dZdgZdZdZdZdZdS)install_egg_infoz8Install package's PKG-INFO metadata as an .egg-info file)z install-dir=dzdirectory to install tocd|_dSN) install_dirselfs ;/usr/lib64/python3.11/distutils/command/install_egg_info.pyinitialize_optionsz#install_egg_info.initialize_optionssc|dddtt|jtt |jgtjddRz}tj |j ||_ |j g|_dS)N install_lib)r r z%s-%s-py%d.%d.egg-info)set_undefined_options to_filename safe_name distributionget_name safe_version get_versionsys version_infoospathjoinr targetoutputs)r basenames rfinalize_optionsz!install_egg_info.finalize_optionss ""=1NOOO+  $"3"<"<">">?? @ @  T%6%B%B%D%DEE F F/  bqb !/ /   gll4#3X>>  } rc|j}tj|r;tj|st j||jntj|r+| tj |jfd|znStj|j s/| tj |j fd|j ztjd||jsLt|dd5}|jj|ddddS#1swxYwYdSdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)r rrisdirislinkr remove_treer%existsexecuteunlinkr makedirsrinfoopenrmetadatawrite_pkg_file)r r fs rrunzinstall_egg_info.run s 7==  7)?)? 7   > > > > > W^^F # # 7 LLDK>+f2D E E E Et/00 7 LLt'7&9$T%55 7 7 7 v&&&| =fcG444 =!*99!<<< = = = = = = = = = = = = = = = = = = = =s- EE!Ec|jSr )r!r s r get_outputszinstall_egg_info.get_outputs.s |rN) __name__ __module__ __qualname__ description user_optionsrr#r4r6rrrr sb3LK8L   %%% = = =rrc0 tjdd|S)N[^A-Za-z0-9.]+-)resubnames rrr6s 6"C . ..rc\ |dd}tjdd|S)N .r>r?)replacer@rA)versions rrr>s1 ooc#&&G 6"C 1 11rc0 |ddS)Nr?_)rGrBs rrrHs <<C  r) distutils.cmdr distutilsrrrrr@rrrrr<rrrMs" "!!!!!########$$$$$w$$$V///222!!!!!rPK.ge[m') ) %install_scripts.cpython-311.opt-1.pycnu[ !A?hRdZddlZddlmZddlmZddlmZGddeZdS)zudistutils.command.install_scripts Implements the Distutils 'install_scripts' command, for installing Python scripts.N)Command)log)ST_MODEc@eZdZdZgdZddgZdZdZdZdZ d Z d S) install_scriptsz%install scripts (Python or otherwise)))z install-dir=dzdirectory to install scripts to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files)) skip-buildNzskip the build stepsr r c>d|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_buildselfs :/usr/lib64/python3.11/distutils/command/install_scripts.pyinitialize_optionsz"install_scripts.initialize_optionss# cb|dd|dddddS)Nbuild) build_scriptsrinstall)rr)r r )rr)set_undefined_optionsrs rfinalize_optionsz install_scripts.finalize_options!sF ""7,JKKK ""9#E#5#? $ $ $ $ $rc|js|d||j|j|_t jdkr|D]q}|j rtj d|t j |tdzdz}tj d||t j||pdSdS)Nrposixzchanging mode of %simizchanging mode of %s to %o)r run_command copy_treerroutfilesosname get_outputsdry_runrinfostatrchmod)rfilemodes rrunzinstall_scripts.run)s .   _ - - -t~t7GHH 7g  ((** ) )<)H2D9999WT]]73u<FDH8$EEEHT4((((   ) )rc|jjpgSN) distributionscriptsrs r get_inputszinstall_scripts.get_inputs8s (.B.rc|jpgSr,)r rs rr#zinstall_scripts.get_outputs;s}""rN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr*r/r#rrrrs9KL -O $$$ ) ) )///#####rr) __doc__r!distutils.corer distutilsrr&rrr7rrr;s """""".#.#.#.#.#g.#.#.#.#.#rPK.ge[Bnnbuild_ext.cpython-311.opt-2.pycnu[ !A?h{ ddlZddlZddlZddlZddlmZddlTddlmZm Z ddlm Z ddl m Z ddl mZddlmZdd lmZdd lmZejd Zd ZGd deZdS)N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$c&ddlm}|dS)Nrshow_compilers)distutils.ccompilerrrs 4/usr/lib64/python3.11/distutils/command/build_ext.pyrrs(222222Nc eZdZdZdejzZdddddezfdd d d ezfd d ddddezfddddddddddgZgdZ ddde fgZ d Z d!Z d"Zd#Zd$Zd%Zd&Zd'Zd(Zejd)Zd*Zd+Zd,Zd-Zd.Zd/Zd0Zd1ZdS)2 build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s'))z build-lib=bz(directory for compiled extension modules)z build-temp=tz1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s))inplaceiziignore build-lib and put compiled extensions into the source directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header files)zdefine=DzC preprocessor macros to define)zundef=Uz!C preprocessor macros to undefine)z libraries=lz!external C libraries to link withz library-dirs=Lz.directories to search for external C libraries)zrpath=Rz7directories to search for shared C libraries at runtime)z link-objects=Oz2extra explicit link objects to include in the link)debuggz'compile/link with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)swig-cppNz)make SWIG create C++ files (default is C))z swig-opts=Nz!list of SWIG command line options)zswig=Nzpath to the SWIG executable)userNz#add user include, library and rpath)rr!r#r'r(z help-compilerNzlist available compilersc,d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsr!r#compilerswigswig_cpp swig_optsr(parallelselfs rinitialize_optionszbuild_ext.initialize_optionsjs               rc ddlm}|ddddddd d |j|jj|_|jj|_|}|d }|j |jj pg|_ t|j tr)|j tj|_ tjtjkrB|j tjtjd |j | tjj||kr<|j | tjj|d|d|jg|_|jg|_nCt|jtr)|j tj|_|jg|_nCt|jtr)|j tj|_tjdkr|jtjtjdtjtjkrB|jtjtjd|jr+tj|jd|_n*tj|jd|_|j tjt?tAtdd}|r|j||j!dkrd}n|j!dd}tjtjd}|r tj||}|j|tj"dddkrtj#$tjtjdrT|jtjtjddtKzdn|jd|&drO|j's.|j|&d n|jd|j(r+|j( d!}d"|D|_(|j)r|j) d!|_)|j*g|_*n|j* d#|_*|j+rtjtXd }tjtXd} tj-|r|j |tj-| r4|j| |j| t|j.tr9 t_|j.|_.dS#t`$rtcd$wxYwdS)%Nr) sysconfigbuild)r+r+)r-r-)r6r6)r!r!)r#r#)r:r:)r,r,) plat_specificincluder2r5ntlibsDebugRelease_homewin32PCbuildcygwinbinlibpythonconfig.Py_ENABLE_SHAREDLIBDIR,cg|]}|dfS)1).0symbols r z.build_ext.finalize_options..s???VFC=???r zparallel should be an integer)2 distutilsr?set_undefined_optionsr. distribution ext_package ext_modulesr*get_python_incr/ isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinextendensure_string_listr2r3r4nameprefixr!r-dirnamergetattrr,platform executable startswithrget_config_var python_buildr0r1r9r(r isdirr:int ValueErrorDistutilsOptionError) r<r? py_includeplat_py_include _sys_homesuffixnew_libdefines user_includeuser_libs rfinalize_optionszbuild_ext.finalize_optionss`'''''' ""7#=#?#;#5#5#;#= % % % < ,8DL+7--// #222CC   $ $ 1 > D"D  d' - - D $ 1 7 7 C CD  ?c2 2 2   $ $RW\\#/9%M%M N N N   !1!1"'/!B!BCCC j ( (   $ $%%bgo66 8 8 8  ,,, /// > !DN   $ "D   )3 / / D $ 1 7 7 C CD  : DJJ  C ( ( 6))"*55DJ 7d??   $ $RW\\#/6%J%J K K K#sz11!((c6JF)S)STTTz K"$',,t"H"H"$',,t "J"J   $ $RW__5J5L5L%M%M N N NWd33I 4!((333~(( +gll3?I>>G 8',,w77   $ $W - - - < x ' '~((cou)M)MNN .!((cj%6>ASAUAU6U6>*@*@AAAA !((---  $ $%7 8 8 .) .!(()A)A()K)KLLLL!((--- ; @k'',,G??w???DK : /))#..DJ > !DNN!^11#66DN 9 ,7<< 9==Lw||Iu55Hw}}\** 7!((666w}}X&& ,!((222 !!(+++ dmS ) ) L L #DM 2 2  L L L*+JKKK L L Ls ;]]0cvddlm}|jsdS|jrb|d}|j|pg|j |j ||j |j |j|j|_ t!|j t"jdkr6|jt)kr|j |j|j|j |j|j(|jD] \}}|j ||!|j$|jD]}|j ||j|j |j|j |j |j |j|j |j|j |j !|j |"dS)Nr) new_compiler build_clib)r6verbosedry_runr#rD)#rrr*r_has_c_librariesget_finalized_commandr2rnget_library_namesr3rkrr6rrr#rrfrpr,r initializer/set_include_dirsr0 define_macror1undefine_macro set_librariesset_library_dirsr4set_runtime_library_dirsr5set_link_objectsbuild_extensions)r<rrrpvaluemacros rrunz build_ext.runs2444444  F   , , . . <33LAAJ N ! !*">">"@"@"FB G G G   $ $Z%: ; ; ;% dm-1\-1\+/:777  4=))) 7d??t~?? M $ $T^ 4 4 4   ( M * *4+< = = = ; "!% 8 8 u **47777 : ! 4 4 ,,U3333 > % M ' ' 7 7 7   ( M * *4+< = = = : ! M 2 24: > > >   ( M * *4+< = = = rc t|tstdt|D] \}}t|trt|t rt |dkrtd|\}}tjd|t|trt |stdt|tstdt ||d}dD]*}| |}|t|||+| d |_d |vrtjd | d }|rg|_g|_|D]} t| t rt | d vstdt | dkr!|j| dkt | dkr|j| |||< dS)Nz:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)sources)r/r3r2 extra_objectsextra_compile_argsextra_link_argsr4def_filez9'def_file' element of build info dict no longer supportedmacros)rArz9'macros' element of build info dict must be 1- or 2-tuplerAr)rclistDistutilsSetupError enumerater tuplelenr warnrdextension_name_rematchdictgetsetattrruntime_library_dirs define_macros undef_macrosrk) r<r*rextext_name build_infokeyvalrrs rcheck_extensions_listzbuild_ext.check_extensions_listVs *d++ P%NPP P ++> > FAs#y)) c5)) 8SXX]])7888$' Hj H?@H J J Jx-- @%++H55 @)?@@@j$// <);<<< Hj&;<'>C $Z''/000  ^^H--F 8$&!#% #88E&ue447Uv9M9M167775zzQ(//a9999Uq)00777JqMM}> > rc||jg}|jD]}||j|SN)rr*rnr)r< filenamesrs rget_source_fileszbuild_ext.get_source_filessO ""4?333 ? * *C   S[ ) ) ) )rc||jg}|jD]/}|||j0|Sr)rr*rkget_ext_fullpathrp)r<outputsrs r get_outputszbuild_ext.get_outputss\ ""4?333 ? < .s:333 t';SAA333r) r:rf cpu_countconcurrent.futuresr ImportErrorrr*zip_filter_build_errorsresult)r<workersrfuturesrfutrs` @rrz$build_ext._build_extensions_parallels- =D lnnG  = = = = = = =   GGG  ?  ) ) + + + F  G 4 4 4 !33333"&/333G99 ! !S..s33!!JJLLL!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !sC. ==$AC#(C = C# C C#C C##C'*C'c|jD]D}||5||dddn #1swxYwYEdSr)r*rr)r<rs rrz"build_ext._build_extensions_serials? * *C**3// * *$$S))) * * * * * * * * * * * * * * * * *sAA A c#K dVdS#tttf$r3}|js|d|jd|Yd}~dSd}~wwxYw)Nzbuilding extension "z " failed: )CCompilerErrorDistutilsError CompileErroroptionalrrp)r<res rrzbuild_ext._filter_build_errorss % EEEEE = % % %<  IIIxxx$ % % % % % % % % % %s A(AAc |j}|t|ttfst d|jzt |}||j}||jz}|j s-t||dstj d|jdStj d|j|||}|jpg}|jdd}|jD]}||f|j||j||j|j ||j}|dd|_|jr||j|jpg}|jp|j|} |j|||||j|j ||!||j |j|  dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension) output_dirrr/r!extra_postargsdepends)r2r3rrexport_symbolsr!r- target_lang)"rrcrrrrpsortedrrr#rr r!info swig_sourcesrrrrkr6compiler-r/_built_objectsrrnrlanguagedetect_languagelink_shared_object get_librariesr3rget_export_symbols) r<rrext_pathr extra_argsrr1objectsrs rrzbuild_ext.build_extensions+ ?*WtUm"D"D?%/14:;; ; //((22CK'  :k'8WEE : I>&aaaj   . NN3, - - -(.B <I4=#@#@#I#I (( X((--)!$!9%22377*  ) " " " " "rc g}g}i}|jrtjd|jsd|jvs d|jvrd}nd}|D]{}tj|\}} | dkr<||dz|z|||d||<f||||s|S|jp| } | dg} | |j|jr| d|js|jD]} | | |D];}||} tj d || | | d | |gz<|S) Nz/--swig-cpp is deprecated - use --swig-opts=-c++z-c++z.cppz.cz.i_wrapz-pythonzswigging %s to %sz-o) r8r rr9rfrlsplitextrkr7 find_swigrnrspawn)r<r extension new_sourcesr swig_targets target_extsourcebaserr7swig_cmdotargets rrzbuild_ext.swig_sources2s     = H HF G G G = Vt~55 i) ) )JJJ + +F'**622KT3d{{""4'>J#>???##F+++'22 V$$""6****  y,DNN,,)$''' = $ OOF # # #~ #( # #""""" : :F!&)F H(&& 9 9 9 JJx4"88 9 9 9 9rc tjdkrdStjdkrMdD]H}tjd|zd}tj|r|cSIdSt dtjz)Nposixr7rD)z1.3z1.2z1.1z c:\swig%szswig.exez>I don't know how to find (much less run) SWIG on platform '%s')rfrprlrmisfileDistutilsPlatformError)r<versfns rrzbuild_ext.find_swighs  7g  6 W__. " "W\\,"5zBB7>>"%%III"z(%')w/00 0rc, ||}|d}||d}|jsDt jj|dd|gz}tj|j|Sd|dd}|d}tj | |}tj||S)NrRrrbuild_py) get_ext_fullnamereget_ext_filenamerrfrlrmr+rabspathget_package_dir)r<rfullnamemodpathfilenamer.r package_dirs rrzbuild_ext.get_ext_fullpaths ((22..%%((55| :w|WSbS\8*%<=H7<<99 9((71R4=))--j99gooh&>&>w&G&GHH w||K222rc0 |j|S|jdz|zS)NrR)r.)r<rs rrzbuild_ext.get_ext_fullnames( & < O<#%0 0rc| ddlm}|d}|d}tjj||zS)NrrwrR EXT_SUFFIX)distutils.sysconfigrwrerfrlrm)r<rrwr ext_suffixs rrzbuild_ext.get_ext_filenamesO  766666>>#&&#^L11 w|X&33rct d|jddz} |dnO#t$rBd|ddddz}YnwxYwd |z}||jvr|j||jS) N_rRrasciirpunycode-_PyInit)rpreencodeUnicodeEncodeErrorreplacedecoderrk)r<rr initfunc_names rrzbuild_ext.get_export_symbolss sx~~c**2.. Y MM' " " " "! Y Y Y6==44<>)- >*N;77 }9(<'===}r) __name__ __module__ __qualname__ descriptionrfrgsep_byr user_optionsboolean_optionsr help_optionsr=rrrrrrrr contextlibcontextmanagerrrrrrrrrrrXrrrr!sLK($bj 0F 5 > s '<>> * + 9 # 9F B D , . . # 9F B D D ? 4 ? & * 6 . ( 0O) LVHGGO $ #^ 5 L 0RLRLRLh> > > @L L L \   ,,,!!!(*** %%%J"J"J"X444l00003336111444"""&11111rr)r8rfrerhdistutils.corerdistutils.errorsrrrrdistutils.dep_utilrdistutils.extensionr distutils.utilr r]r siter rrrrrXrrrAs;  """"""FFFFFFFF555555******))))))''''''BJ;== Q Q Q Q Q Q Q Q Q Q rPK.ge[?T  build_scripts.cpython-311.pycnu[ !A?hXdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlZejd ZGd d eZGd d ee ZdS)zRdistutils.command.build_scripts Implements the Distutils 'build_scripts' command.N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c>eZdZdZgdZdgZdZdZdZdZ dZ d S) build_scriptsz("build" scripts (copy and fixup #! line)))z build-dir=dzdirectory to "build" (copy) to)forcefz1forcibly build everything (ignore file timestamps)z executable=ez*specify final destination interpreter pathr cLd|_d|_d|_d|_d|_dSN) build_dirscriptsr executableoutfilesselfs 8/usr/lib64/python3.11/distutils/command/build_scripts.pyinitialize_optionsz build_scripts.initialize_optionss)   cX|dddd|jj|_dS)Nbuild)r r)r r )rr)set_undefined_options distributionrrs rfinalize_optionszbuild_scripts.finalize_options%s; ""7#A#5#? A A A(0 rc|jSr)rrs rget_source_fileszbuild_scripts.get_source_files,s |rc@|jsdS|dSr)r copy_scriptsrs rrunzbuild_scripts.run/s)|  F rc R||jg}g}|jD]o}d}t|}tj|jtj|}|||j s&t||stj d| t|d}tj|j\}}|d|} | s|d|z t&| } | rd}| dpd} n#t,$r |jsd }YnwxYw|rtjd ||j|||jst2js|j} n[tjt3jd d t3jd t3jd} t j| } d| z| zdz} | dn0#t>$r#tAd!| wxYw | |n1#t>$r$tAd!| |wxYwt|d5}|"| |#|$d d d n #1swxYwY|r|%.|r|%|||&||qtj'dkr~|D]{}|jrtjd|t j(|tRdz}|dzdz}||kr,tjd|||t j*|||||fS)a"Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. Fznot copying %s (up-to-date)rbrz%s is an empty file (skipping)TrNzcopying and adjusting %s -> %sBINDIRpythonVERSIONEXEs#! zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+mkpathrrrospathjoinbasenameappendr rr debugopentokenizedetect_encodingreadlineseekwarn first_line_rematchgroupOSErrordry_runinfor python_buildrget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinesclose copy_filenamestatrchmod)rr updated_filesscriptadjustoutfilerencodinglines first_liner= post_interprshebangoutffileoldmodenewmodes rr#zbuild_scripts.copy_scripts5s DN### lL 0L 0FF!&))Fgll4>273C3CF3K3KLLG OOG $ $ $: eFG&<&<  7@@@  8&& #+":1:"F"F%q ZZ\\ !II>GHHH%++J778!F"'++a.."7CK   | ", 096)))$$W---|!7$1M%)_ %'W\\%4X>>>+4+CI+N+N+N+4+CE+J+J+JL&M&M "$Z!8!8J#j0;>FG :w////-:::())/::::8x0000-888(<#VGX668888 gt,,7 7+++ 666777777777777777GGIIIGGIII$$W---vw//// 7g   0 0<0H2D9999 gdmmG4v=G&&8G'))!D!%w999w///&&s<?E&&E=<E= I  -J J''.K(=L11L5 8L5 N) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr!r$r#rrr r s>K   L iO111 c'c'c'c'c'rr ceZdZdZdS)build_scripts_2to3c|t|\}}|js||||fSr)r r#r@run_2to3)rrrQs rr#zbuild_scripts_2to3.copy_scriptssA"/"<"rps55 """"""$$$$$$22222222 ;<< G'G'G'G'G'GG'G'G'R''''' '''''rPK.ge[!S"install_data.cpython-311.opt-1.pycnu[ !A?h JdZddlZddlmZddlmZmZGddeZdS)zdistutils.command.install_data Implements the Distutils 'install_data' command, for installing platform-independent data files.N)Command) change_root convert_pathc>eZdZdZgdZdgZdZdZdZdZ dZ d S) install_datazinstall data files))z install-dir=dzIbase directory for installing data files (default: installation base dir))zroot=Nz>!T-=>>a $$S))))#1Q4((w}}S))6',,t'7==CCY6%di55C C   Q42::M((----!"!22+D11#'>>$#<#<a ,,S111125 2 2rc|jpgSN)rrs r get_inputszinstall_data.get_inputsKs$"$rc|jSr.)rrs r get_outputszinstall_data.get_outputsNs }rN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr,r/r1rrrr s&K   LiO$$$222B%%%rr)__doc__r$distutils.corerdistutils.utilrrrr8rrr<s$$ """"""44444444CCCCC7CCCCCrPK.ge[m') ) install_scripts.cpython-311.pycnu[ !A?hRdZddlZddlmZddlmZddlmZGddeZdS)zudistutils.command.install_scripts Implements the Distutils 'install_scripts' command, for installing Python scripts.N)Command)log)ST_MODEc@eZdZdZgdZddgZdZdZdZdZ d Z d S) install_scriptsz%install scripts (Python or otherwise)))z install-dir=dzdirectory to install scripts to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files)) skip-buildNzskip the build stepsr r c>d|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_buildselfs :/usr/lib64/python3.11/distutils/command/install_scripts.pyinitialize_optionsz"install_scripts.initialize_optionss# cb|dd|dddddS)Nbuild) build_scriptsrinstall)rr)r r )rr)set_undefined_optionsrs rfinalize_optionsz install_scripts.finalize_options!sF ""7,JKKK ""9#E#5#? $ $ $ $ $rc|js|d||j|j|_t jdkr|D]q}|j rtj d|t j |tdzdz}tj d||t j||pdSdS)Nrposixzchanging mode of %simizchanging mode of %s to %o)r run_command copy_treerroutfilesosname get_outputsdry_runrinfostatrchmod)rfilemodes rrunzinstall_scripts.run)s .   _ - - -t~t7GHH 7g  ((** ) )<)H2D9999WT]]73u<FDH8$EEEHT4((((   ) )rc|jjpgSN) distributionscriptsrs r get_inputszinstall_scripts.get_inputs8s (.B.rc|jpgSr,)r rs rr#zinstall_scripts.get_outputs;s}""rN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr*r/r#rrrrs9KL -O $$$ ) ) )///#####rr) __doc__r!distutils.corer distutilsrr&rrr7rrr;s """""".#.#.#.#.#g.#.#.#.#.#rPK.ge[<<register.cpython-311.opt-1.pycnu[ !A?h-rdZddlZddlZddlZddlZddlmZddlm Z ddl Tddl m Z Gdde Z dS) zhdistutils.command.register Implements the Distutils 'register' command (register with the repository). N)warn) PyPIRCCommand)*)logceZdZdZejddgzZejgdzZddfgZdZdZ d Z d Z d Z d Z d ZdZdZddZdS)registerz7register the distribution with the Python package index)list-classifiersNz list the valid Trove classifiers)strictNzBWill stop the registering if the meta-data are not fully compliant)verifyr r checkcdS)NTselfs 3/usr/lib64/python3.11/distutils/command/register.pyzregister.s4cJtj|d|_d|_dS)Nr)rinitialize_optionslist_classifiersr rs rrzregister.initialize_optionss&(... ! rcdtj|d|jfdd}||jjd<dS)Nr)r)r restructuredtextr )rfinalize_optionsr distributioncommand_options)r check_optionss rrzregister.finalize_options$sB&t,,,$. #<-<>> 5B)'222rcJ|||D]}|||jr|dS|jr|dS|dSN) r _set_configget_sub_commands run_commanddry_runverify_metadatar classifiers send_metadata)rcmd_names rrunz register.run+s  --// ' 'H   X & & & & < !  " " " " "  " !            rctdt|jd}||j|_d|_|dS)zDeprecated API.zddistutils.command.register.check_metadata is deprecated, use the check command insteadr rN)rPendingDeprecationWarningrget_command_objensure_finalizedr rr()rr s rcheck_metadatazregister.check_metadata:si -.G I I I!11'::    { !" rc>|}|ikr=|d|_|d|_|d|_|d|_d|_d S|jd|jfvrtd|jz|jdkr |j|_d|_d S) z: Reads the configuration file and set attributes. usernamepassword repositoryrealmTpypiz%s not found in .pypircFN) _read_pypircr/r0r1r2 has_configDEFAULT_REPOSITORY ValueError)rconfigs rr zregister._set_configDs""$$ R<<":.DM":.DM$\2DODJ"DOOOvt/F&GGG !:T_!LMMM&(("&"9#DOOOrc|jdz}tj|}t j||dS)z8 Fetch the list of classifiers from the server. z?:action=list_classifiersN)r1urllibrequesturlopenrinfo_read_pypi_response)rurlresponses rr%zregister.classifiersUsJo99>))#.. ))(3344444rc||d\}}tjd||dS)zF Send the metadata to the package index server to be checked. r Server response (%s): %sN)post_to_serverbuild_post_datarr=)rcoderesults rr$zregister.verify_metadata\sD,,T-A-A(-K-KLLv +T6:::::rc$|jrd}|j}|j}nd}dx}}d}||vrJ|dt jt}|sd}n||vrtd||vJ|dkr|std}||stj d}|tj }tj |jd }||j|||||d |\}}|d |d |t j|d kr|jr||j_dS|dt j|d|zt jd}|dvr)td}|sd}|dv)|dkr|||dSdSdS|dkrYddi} dx| d<x| d<| d<d| d<| dstd| d<| d| d| dkr| dstj d| d<| d| dstj d| d<| d| d| dkrd| d<d| d<td| d| dk| dstd| d<| d|| \}}|d krt jd ||dSt jd!t jd"dS|d#kr[dd$i} d| d<| dstd%| d<| d|| \}}t jd ||dSdS)&a_ Send the metadata to the package index server. Well, do the following: 1. figure who the user is, and then 2. send the data as a Basic auth'ed POST. First we try to read the username/password from $HOME/.pypirc, which is a ConfigParser-formatted file with a section [distutils] containing username and password entries (both in clear text). Eg: [distutils] index-servers = pypi [pypi] username: fred password: sekrit Otherwise, to figure who the user is, we offer the user three choices: 1. use existing login, 2. register as a new user, or 3. set the password to a random string and email the user. 1xz1 2 3 4zWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rsubmitzServer response (z): zAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)XynzSave your login (y/N)?ny2:actionusernamer0emailNconfirmz Confirm: z!Password and confirm don't match!z EMail: rBz"You will receive an email shortly.z7Follow the instructions in it to complete registration.3password_resetzYour email address: )r5r/r0splitannouncerINFOinputprintgetpassr:r;HTTPPasswordMgrparseurlparser1 add_passwordr2rCrDr _get_rc_filelower _store_pypircr=) rchoicer/r0choicesauthhostrErFdatas rr&zregister.send_metadatacs< ? %F}H}HHF"$ $Hx//##G## MM "%  + + +WWF @w&&>???G## S== / .. / 9"?<88 9>1133D<((99!>>>>!{-,s]]v&D>@ @DL @4 +d7m"DO6l 3$\22V 6l 3z"d9o55z*E'.|'D'DD$z*Ey/D&-ol&C&CDOy/D #tI66')D$&*DO=>>>z"d9o557m 4 %l 3 3W 7m 4..t44LD&s{{3T6BBBBB=>>>355555 s]]/0DDM7m > %&< = =W 7m >..t44LD& H/v > > > > > ]rc|jj}id|ddd|d|d|d|d|d |d |d | d | d | d| d| d|d|d|}|ds|ds|drd|d<|S)NrRmetadata_versionz1.0rTversionsummary home_pageauthor author_emaillicense descriptionkeywordsplatformr% download_urlprovidesrequires obsoletesz1.1)rmetadataget_name get_versionget_descriptionget_url get_contactget_contact_email get_licenceget_long_description get_keywords get_platformsget_classifiersget_download_url get_provides get_requires get_obsoletes)ractionmetarjs rrDzregister.build_post_datas ) v   DMMOO  t''))  t++--     d&&((  D2244  t''))  44466  ))++  **,,  4//11  D1133 ))++! " ))++# $ ++--% (   -tJ/ -4 3D -',D# $ rNcd|vr1|d|dd|jtjd}d|z}|dz}t j}|D]\}}t|tgtdfvr|g}|D]}t|}| || d|z| d | ||r!|d d kr| d | || d | d }d|ztt|d} tj|j|| } tjtj|} d} | | } |jr|| }d} n|#tjj$r8} |jr| j}| j| jf} Yd} ~ n5d} ~ wtjj$r} dt| f} Yd} ~ nd} ~ wwxYw|jr8d d|df}||tj| S)zC Post a query to the server, and return a string response. rTz Registering z to z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--rz* Content-Disposition: form-data; name="%s"z   zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length) password_mgrrJ)rLOKNizK---------------------------------------------------------------------------)rZr1rr[ioStringIOitemstypestrwritegetvalueencodelenr:r;Request build_openerHTTPBasicAuthHandleropen show_responser>error HTTPErrorfpreadrEmsgURLErrorjoin)rrjrhboundary sep_boundary end_boundarybodykeyvalueheadersreqopenerrFers rrCzregister.post_to_servers T>> MMMDLLL48OOE47H > > >I( #d* {}}**,, % %JCE{{488T2ZZ"888 % %E  <((( HLMMM 6""" 5!!!%U2Y$..JJt$$$ % <    4}}%%g..NhV!#d))nn  n$$T_dGDD,, N / /T / B B   [[%%F! 8//77FF|% # # #! #tyy{{VQU]FFFFFF|$ ! ! !#a&&[FFFFFF !   )))XtX677C MM#sx ( ( ( s$H::J3.JJ3J..J3r)__name__ __module__ __qualname__rsr user_optionsboolean_options sub_commandsrrr(r-r r%r$r&rDrCrrrrrs LK - - O1  L $37070700O//01L CCC ! ! !$$$"555;;;x?x?x?t8777777rr)__doc__r^r urllib.parser:urllib.requestwarningsrdistutils.corerdistutils.errors distutilsrrrrrrs ########((((((_____}_____rPK.ge[͸8!!install_lib.cpython-311.pycnu[ !A?h ZdZddlZddlZddlZddlmZddlmZdZ GddeZ dS)zkdistutils.command.install_lib Implements the Distutils 'install_lib' command (install all Python modules).N)Command)DistutilsOptionErrorz.pycfeZdZdZgdZgdZddiZdZdZdZ d Z d Z d Z d Z d ZdZdZdS) install_libz7install all Python modules (extensions and pure Python)))z install-dir=dzdirectory to install to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files))compileczcompile .py to .pyc [default]) no-compileNzdon't compile .py files)z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]) skip-buildNzskip the build steps)r r rr r cZd|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirr r optimize skip_buildselfs 6/usr/lib64/python3.11/distutils/command/install_lib.pyinitialize_optionszinstall_lib.initialize_options3s1   c H|ddddddd|jd|_|jd |_t|jtsP t |j|_|jd vrt dS#t t f$rtd wxYwdS) Ninstall) build_libr)rr)r r )r r )rr)rrTF)rzoptimize must be 0, 1, or 2)set_undefined_optionsr r isinstanceintAssertionError ValueErrorrrs rfinalize_optionszinstall_lib.finalize_options<s ""9#=#A#5#9#;#?  $ $ $ < DL = !DM$--- J J #DM 2 2 = 11((21/ J J J*+HIII J  J Js )A>>!Bc||}|0|jr||dSdSdSN)buildr distributionhas_pure_modules byte_compileroutfiless rrunzinstall_lib.runVsb <<>>  D$5$F$F$H$H    h ' ' ' ' '   rc|js^|jr|d|jr|ddSdSdS)Nbuild_py build_ext)rr(r) run_commandhas_ext_modulesrs rr'zinstall_lib.buildfs| . 1133 -  ,,, 0022 .  -----  . . . .rctj|jr!||j|j}n|d|jzdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirr copy_treerwarnr+s rrzinstall_lib.installmsa 7== ( ( ~~dnd6FGGHH IIKn% & & & Frc2tjr|ddSddlm}|dj}|jr||d|j||j |j dkr'|||j |j||j |j dSdS)Nz%byte-compiling is disabled, skipping.r)r*r)rr prefixdry_run)rr r:verboser;) sysdont_write_bytecoder8distutils.utilr*get_finalized_commandrootr r r;rr<)rfilesr* install_roots rr*zinstall_lib.byte_compilevs  "  II= > > > F////// 11)<<A < / L#z,!% / / / / =1   L#z,!%t| E E E E E E  rc V|sgS||}|}t||}t|ttjz}g}|D]=} |tj|| |d>|Sr&) r@ get_outputsgetattrlenr4sepappendr5join) rhas_any build_cmd cmd_option output_dir build_filesr prefix_lenoutputsfiles r_mutate_outputszinstall_lib._mutate_outputss I..y99 ++-- Iz22 ^^c"&kk1  H HD NN27<< D4EFF G G G Grcg}|D]}tjtj|d}|tkrP|jr4|tj |d|j dkr9|tj ||j |S)Nr) optimizationr) r4r5splitextnormcasePYTHON_SOURCE_EXTENSIONr rI importlibutilcache_from_sourcer)r py_filenamesbytecode_filespy_fileexts r_bytecode_filenameszinstall_lib._bytecode_filenamess# : :G'""27#3#3G#<#<==a@C---| /%%in&F&F"'G'.'.///}q  %%in&F&F$-'G'9'9:::rc ||jdd|j}|jr||}ng}||jdd|j}||z|zS)zReturn the list of files that would be installed if this command were actually run. Not affected by the "dry-run" flag or whether modules have actually been built yet. r/rr0)rSr(r)rr rar2)r pure_outputsbytecode_outputs ext_outputss rrEzinstall_lib.get_outputss  !2!C!C!E!E!+[!%!1 3 3  < "#77 EE  !   !2!B!B!D!D!,k!%!1 3 3  ..<rvs!!   """"""111111 HHHHH'HHHHHrPK.ge[G{ { clean.cpython-311.opt-1.pycnu[ !A?h RdZddlZddlmZddlmZddlmZGddeZdS)zBdistutils.command.clean Implements the Distutils 'clean' command.N)Command) remove_tree)logc2eZdZdZgdZdgZdZdZdZdS)cleanz-clean up temporary files from 'build' command))z build-base=bz2base build directory (default: 'build.build-base'))z build-lib=Nz>$/ * * '  > > > > > I=o ' ' ' 8 ("n"o"02 ( ( 7>>),,( 4<@@@@@HD&(((( |  )))$/:::::       s 3D DDN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr'rrrr scAK   LgOAAArr) __doc__rdistutils.corerdistutils.dir_utilr distutilsrrr.rrr3s--  """"""******@@@@@G@@@@@rPK.ge[O$Su  %install_headers.cpython-311.opt-1.pycnu[ !A?h2dZddlmZGddeZdS)zdistutils.command.install_headers Implements the Distutils 'install_headers' command, to install C/C++ header files to the Python include directory.)Commandc>eZdZdZddgZdgZdZdZdZdZ d Z d S) install_headerszinstall C/C++ header files)z install-dir=dz$directory to install header files to)forcefz-force installation (overwrite existing files)rc0d|_d|_g|_dS)Nr) install_dirroutfilesselfs :/usr/lib64/python3.11/distutils/command/install_headers.pyinitialize_optionsz"install_headers.initialize_optionss  c4|ddddS)Ninstall)rr )rr)set_undefined_optionsr s rfinalize_optionsz install_headers.finalize_optionss, ""9#E#5 7 7 7 7 7rc|jj}|sdS||j|D]:}|||j\}}|j|;dSN) distributionheadersmkpathr copy_filer append)r rheaderout_s rrunzinstall_headers.run!s{#+  F D$%%% & &F~~fd.>??HS! M  % % % % & &rc|jjpgSr)rrr s r get_inputszinstall_headers.get_inputs+s (.B.rc|jSr)r r s r get_outputszinstall_headers.get_outputs.s }rN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrrr!r#rrrr s.K=FL iO 777 &&&///rrN)__doc__distutils.corerrr*rrr-sW** #"""""%%%%%g%%%%%rPK.ge[:jH;; bdist_dumb.cpython-311.opt-1.pycnu[ !A?h1vdZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gd d eZdS) zdistutils.command.bdist_dumb Implements the Distutils 'bdist_dumb' command (create a "dumb" built distribution -- i.e., just an archive to be unpacked under $prefix or $exec_prefix).N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc heZdZdZddddezfdddd d d d g Zgd ZdddZdZdZ dZ dS) bdist_dumbz"create a "dumb" built distribution)z bdist-dir=dz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s))zformat=fz>archive format to create (tar, gztar, bztar, xztar, ztar, zip)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z dist-dir=r z-directory to put final built distributions in) skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths (default: false))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])rrrgztarzip)posixntcd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfs 5/usr/lib64/python3.11/distutils/command/bdist_dumb.pyinitialize_optionszbdist_dumb.initialize_options2sE     c`|j?|dj}tj|d|_|jH |jtj|_n*#t$rtdtjzwxYw| dddddS)Nbdistdumbz@don't know how to create dumb built distributions on platform %s)rr)rr)rr) rget_finalized_command bdist_baseospathjoinrdefault_formatnameKeyErrorDistutilsPlatformErrorset_undefined_options)r"r*s r#finalize_optionszbdist_dumb.finalize_options=s > !33G<<GJW\\*f==DN ;  3"1"':  3 3 3,(*,'2333 3 ""7#;#=#? A A A A As A,,'Bc|js|d|dd}|j|_|j|_d|_t jd|j|d|j d|j }tj |j|}|js|j}n|jrJ|j|jkr:t'dt)|jd t)|jd tj |jt+|j}|||j||j|j }|jrt5}nd }|jjd ||f|jst=|j|jdSdS)Nbuildinstall)reinit_subcommandsrzinstalling to %s.zLcan't make a dumb built distribution where base and platbase are different (z, ))root_dirr r!anyr )dry_run) r run_commandreinitialize_commandrrootwarn_dirr info distribution get_fullnamerr+r,r-rrhas_ext_modules install_baseinstall_platbaser1reprr make_archiverr r!r dist_filesappendrrr=)r"r6archive_basenamepseudoinstall_root archive_rootfilename pyversions r#runzbdist_dumb.runOs% &   W % % %++I!+LL~ !_ #T^444 ###'+&7&D&D&F&F&F&F&*nn6 W\\$-9IJJ} J>LL!1133 J%)AAA,,w34444w78888:;;; "w||DN#273G#H#H J J $$%7%)[<+/:TZ%II   , , . . *,,III $++\9-5-7 8 8 8~ >  = = = = = = > >r%N) __name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr.r$r3rQr%r#r r s8KJ!3%'3|~~67#:FK)12+L4>==O '"%%N   AAA$,>,>,>,>,>r%r )__doc__r+distutils.corerdistutils.utilrdistutils.dir_utilrrdistutils.errorsdistutils.sysconfigr distutilsr r rXr%r#r`s  """"""'''''';;;;;;;;222222l>l>l>l>l>l>l>l>l>l>r%PK.ge[<<register.cpython-311.pycnu[ !A?h-rdZddlZddlZddlZddlZddlmZddlm Z ddl Tddl m Z Gdde Z dS) zhdistutils.command.register Implements the Distutils 'register' command (register with the repository). N)warn) PyPIRCCommand)*)logceZdZdZejddgzZejgdzZddfgZdZdZ d Z d Z d Z d Z d ZdZdZddZdS)registerz7register the distribution with the Python package index)list-classifiersNz list the valid Trove classifiers)strictNzBWill stop the registering if the meta-data are not fully compliant)verifyr r checkcdS)NTselfs 3/usr/lib64/python3.11/distutils/command/register.pyzregister.s4cJtj|d|_d|_dS)Nr)rinitialize_optionslist_classifiersr rs rrzregister.initialize_optionss&(... ! rcdtj|d|jfdd}||jjd<dS)Nr)r)r restructuredtextr )rfinalize_optionsr distributioncommand_options)r check_optionss rrzregister.finalize_options$sB&t,,,$. #<-<>> 5B)'222rcJ|||D]}|||jr|dS|jr|dS|dSN) r _set_configget_sub_commands run_commanddry_runverify_metadatar classifiers send_metadata)rcmd_names rrunz register.run+s  --// ' 'H   X & & & & < !  " " " " "  " !            rctdt|jd}||j|_d|_|dS)zDeprecated API.zddistutils.command.register.check_metadata is deprecated, use the check command insteadr rN)rPendingDeprecationWarningrget_command_objensure_finalizedr rr()rr s rcheck_metadatazregister.check_metadata:si -.G I I I!11'::    { !" rc>|}|ikr=|d|_|d|_|d|_|d|_d|_d S|jd|jfvrtd|jz|jdkr |j|_d|_d S) z: Reads the configuration file and set attributes. usernamepassword repositoryrealmTpypiz%s not found in .pypircFN) _read_pypircr/r0r1r2 has_configDEFAULT_REPOSITORY ValueError)rconfigs rr zregister._set_configDs""$$ R<<":.DM":.DM$\2DODJ"DOOOvt/F&GGG !:T_!LMMM&(("&"9#DOOOrc|jdz}tj|}t j||dS)z8 Fetch the list of classifiers from the server. z?:action=list_classifiersN)r1urllibrequesturlopenrinfo_read_pypi_response)rurlresponses rr%zregister.classifiersUsJo99>))#.. ))(3344444rc||d\}}tjd||dS)zF Send the metadata to the package index server to be checked. r Server response (%s): %sN)post_to_serverbuild_post_datarr=)rcoderesults rr$zregister.verify_metadata\sD,,T-A-A(-K-KLLv +T6:::::rc$|jrd}|j}|j}nd}dx}}d}||vrJ|dt jt}|sd}n||vrtd||vJ|dkr|std}||stj d}|tj }tj |jd }||j|||||d |\}}|d |d |t j|d kr|jr||j_dS|dt j|d|zt jd}|dvr)td}|sd}|dv)|dkr|||dSdSdS|dkrYddi} dx| d<x| d<| d<d| d<| dstd| d<| d| d| dkr| dstj d| d<| d| dstj d| d<| d| d| dkrd| d<d| d<td| d| dk| dstd| d<| d|| \}}|d krt jd ||dSt jd!t jd"dS|d#kr[dd$i} d| d<| dstd%| d<| d|| \}}t jd ||dSdS)&a_ Send the metadata to the package index server. Well, do the following: 1. figure who the user is, and then 2. send the data as a Basic auth'ed POST. First we try to read the username/password from $HOME/.pypirc, which is a ConfigParser-formatted file with a section [distutils] containing username and password entries (both in clear text). Eg: [distutils] index-servers = pypi [pypi] username: fred password: sekrit Otherwise, to figure who the user is, we offer the user three choices: 1. use existing login, 2. register as a new user, or 3. set the password to a random string and email the user. 1xz1 2 3 4zWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rsubmitzServer response (z): zAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)XynzSave your login (y/N)?ny2:actionusernamer0emailNconfirmz Confirm: z!Password and confirm don't match!z EMail: rBz"You will receive an email shortly.z7Follow the instructions in it to complete registration.3password_resetzYour email address: )r5r/r0splitannouncerINFOinputprintgetpassr:r;HTTPPasswordMgrparseurlparser1 add_passwordr2rCrDr _get_rc_filelower _store_pypircr=) rchoicer/r0choicesauthhostrErFdatas rr&zregister.send_metadatacs< ? %F}H}HHF"$ $Hx//##G## MM "%  + + +WWF @w&&>???G## S== / .. / 9"?<88 9>1133D<((99!>>>>!{-,s]]v&D>@ @DL @4 +d7m"DO6l 3$\22V 6l 3z"d9o55z*E'.|'D'DD$z*Ey/D&-ol&C&CDOy/D #tI66')D$&*DO=>>>z"d9o557m 4 %l 3 3W 7m 4..t44LD&s{{3T6BBBBB=>>>355555 s]]/0DDM7m > %&< = =W 7m >..t44LD& H/v > > > > > ]rc|jj}id|ddd|d|d|d|d|d |d |d | d | d | d| d| d|d|d|}|ds|ds|drd|d<|S)NrRmetadata_versionz1.0rTversionsummary home_pageauthor author_emaillicense descriptionkeywordsplatformr% download_urlprovidesrequires obsoletesz1.1)rmetadataget_name get_versionget_descriptionget_url get_contactget_contact_email get_licenceget_long_description get_keywords get_platformsget_classifiersget_download_url get_provides get_requires get_obsoletes)ractionmetarjs rrDzregister.build_post_datas ) v   DMMOO  t''))  t++--     d&&((  D2244  t''))  44466  ))++  **,,  4//11  D1133 ))++! " ))++# $ ++--% (   -tJ/ -4 3D -',D# $ rNcd|vr1|d|dd|jtjd}d|z}|dz}t j}|D]\}}t|tgtdfvr|g}|D]}t|}| || d|z| d | ||r!|d d kr| d | || d | d }d|ztt|d} tj|j|| } tjtj|} d} | | } |jr|| }d} n|#tjj$r8} |jr| j}| j| jf} Yd} ~ n5d} ~ wtjj$r} dt| f} Yd} ~ nd} ~ wwxYw|jr8d d|df}||tj| S)zC Post a query to the server, and return a string response. rTz Registering z to z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--rz* Content-Disposition: form-data; name="%s"z   zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length) password_mgrrJ)rLOKNizK---------------------------------------------------------------------------)rZr1rr[ioStringIOitemstypestrwritegetvalueencodelenr:r;Request build_openerHTTPBasicAuthHandleropen show_responser>error HTTPErrorfpreadrEmsgURLErrorjoin)rrjrhboundary sep_boundary end_boundarybodykeyvalueheadersreqopenerrFers rrCzregister.post_to_servers T>> MMMDLLL48OOE47H > > >I( #d* {}}**,, % %JCE{{488T2ZZ"888 % %E  <((( HLMMM 6""" 5!!!%U2Y$..JJt$$$ % <    4}}%%g..NhV!#d))nn  n$$T_dGDD,, N / /T / B B   [[%%F! 8//77FF|% # # #! #tyy{{VQU]FFFFFF|$ ! ! !#a&&[FFFFFF !   )))XtX677C MM#sx ( ( ( s$H::J3.JJ3J..J3r)__name__ __module__ __qualname__rsr user_optionsboolean_options sub_commandsrrr(r-r r%r$r&rDrCrrrrrs LK - - O1  L $37070700O//01L CCC ! ! !$$$"555;;;x?x?x?t8777777rr)__doc__r^r urllib.parser:urllib.requestwarningsrdistutils.corerdistutils.errors distutilsrrrrrrs ########((((((_____}_____rPK.ge[џA{"install_data.cpython-311.opt-2.pycnu[ !A?h H ddlZddlmZddlmZmZGddeZdS)N)Command) change_root convert_pathc>eZdZdZgdZdgZdZdZdZdZ dZ d S) install_datazinstall data files))z install-dir=dzIbase directory for installing data files (default: installation base dir))zroot=Nz>!T-=>>a $$S))))#1Q4((w}}S))6',,t'7==CCY6%di55C C   Q42::M((----!"!22+D11#'>>$#<#<a ,,S111125 2 2rc|jpgSN)rrs r get_inputszinstall_data.get_inputsKs$"$rc|jSr.)rrs r get_outputszinstall_data.get_outputsNs }rN) __name__ __module__ __qualname__ description user_optionsboolean_optionsrrr,r/r1rrrr s&K   LiO$$$222B%%%rr)r$distutils.corerdistutils.utilrrrr8rrr;s}$ """"""44444444CCCCC7CCCCCrPKhe[MAascii.cpython-36.opt-2.pycnu[3 \ !@szdZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBg!Z$dCdDZ%dEdFZ&dGdHZ'dIdJZ(dKdLZ)dMdNZ*dOdPZ+dQdRZ,dSdTZ-dUdVZ.dWdXZ/dYdZZ0d[d\Z1d]d^Z2d_d`Z3dadbZ4dcddZ5dedfZ6dgdhZ7didjZ8dkS)l  NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPcCs t|tdkrt|S|SdS)N)typeord)crH$/usr/lib64/python3.6/curses/ascii.py_ctoi0srJcCst|pt|S)N)isalphaisdigit)rGrHrHrIisalnum6srMcCst|pt|S)N)isupperislower)rGrHrHrIrK7srKcCsdt|kodkSS)Nrr")rJ)rGrHrHrIisascii8srPcCs t|dkS)Nr r!)r r!)rJ)rGrHrHrIisblank9srQcCs(dt|kodknp&t|dkS)Nrr r")rJ)rGrHrHrIiscntrl:srRcCsdt|kodkSS)N09)rJ)rGrHrHrIrL;srLcCsdt|kodkSS)N!~)rJ)rGrHrHrIisgraph<srWcCsdt|kodkSS)Naz)rJ)rGrHrHrIrO=srOcCsdt|kodkSS)Nr!rV)rJ)rGrHrHrIisprint>srZcCst|ot| S)N)rWrM)rGrHrHrIispunct?sr[cCs t|dkS)Nr r r r rr!)r r r r rr!)rJ)rGrHrHrIisspace@sr\cCsdt|kodkSS)NAZ)rJ)rGrHrHrIrNAsrNcCs@t|p>dt|kodknp>dt|ko:dkSS)Nr]FrXf)rLrJ)rGrHrHrIisxdigitBsracCsdt|kodkSS)Nrr!)rJ)rGrHrHrIisctrlDsrbcCs t|dkS)Nr")rJ)rGrHrHrIismetaEsrccCs0t|tdkr tt|d@St|d@SdS)NrDr")rEchrrJ)rGrHrHrIasciiGsrecCs0t|tdkr tt|d@St|d@SdS)NrDr )rErdrJ)rGrHrHrIctrlMsrfcCs0t|tdkr tt|dBSt|dBSdS)NrD)rErdrJ)rGrHrHrIaltSsrhcCs\t|}|dkrd}n2t|d@r0t|d@}ndt|d@dBd}|d@rXd|S|S)Nr"z^?^r!rg!)rJrZrd)rGbitsZreprHrHrIunctrlYs rlN)9r#r$r%r&r'r(r)r*r+ZTABr,r-NLr.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCZDELZ controlnamesrJrMrKrPrQrRrLrWrOrZr[r\rNrarbrcrerfrhrlrHrHrHrIsxPKhe[wpanel.cpython-36.pycnu[3 \W@sdZddlTdS)z3curses.panel Module for using panels with curses. )*N)__doc__Z _curses_panelrr$/usr/lib64/python3.6/curses/panel.pysPKhe[T~Rhas_key.cpython-36.opt-1.pycnu[3 \*@sddlZejdejdejdejdejdejdejdejd ej d ej d ej d ej d ej dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejd ej d!ej!d"ej"d#ej#d$ej$d%ej%d&ej&d'ej'd(ej(d)ej)d*ej*d+ej+d,ej,d-ej-d.ej.d/ej/d0ej0d1ej1d2ej2d3ej3d4ej4d5ej5d6ej6d7ej7d8ej8d9ej9d:ej:d;ej;dej>d?ej?d@ej@dAejAdBejBdCejCdDejDdEejEdFejFdGejGdHejHdIejIdJejJdKejKdLejLdMejMdNejNdOejOdPejPdQejQdRejRdSejSdTejTdUejUdVejVdWejWdXejXdYejYdZejZd[ej[d\ej\d]ej]d^ej^d_ej_d`ej`daejadbejbdcejcddejddeejedfejfdgejgdhejhdiejidjejjdkejkdlejldmejmdnejndoejodpejpdqejqdrejrdsejsdtejtduejudvejvdwejwdxejxdyejydzejzd{ej{d|ej|d}ej}d~ej~dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdiZddZedkrzZgZejxHejD]t|trt|}tj|}|dkr(dStj|r6dSdSdS)NFT) isinstancestrord_capability_namesget_cursesZtigetstr)ZchZcapability_namer&/usr/lib64/python3.6/curses/has_key.pyhas_keys   r __main__z)Mismatch for key %s, system=%i, Python=%i)rZKEY_A1ZKEY_A3ZKEY_B2Z KEY_BACKSPACEZKEY_BEGZKEY_BTABZKEY_C1ZKEY_C3Z KEY_CANCELZ KEY_CATABZ KEY_CLEARZ KEY_CLOSEZ KEY_COMMANDZKEY_COPYZ KEY_CREATEZKEY_CTABZKEY_DCZKEY_DLZKEY_DOWNZKEY_EICZKEY_ENDZ KEY_ENTERZKEY_EOLZKEY_EOSZKEY_EXITZKEY_F0ZKEY_F1ZKEY_F10ZKEY_F11ZKEY_F12ZKEY_F13ZKEY_F14ZKEY_F15ZKEY_F16ZKEY_F17ZKEY_F18ZKEY_F19ZKEY_F2ZKEY_F20ZKEY_F21ZKEY_F22ZKEY_F23ZKEY_F24ZKEY_F25ZKEY_F26ZKEY_F27ZKEY_F28ZKEY_F29ZKEY_F3ZKEY_F30ZKEY_F31ZKEY_F32ZKEY_F33ZKEY_F34ZKEY_F35ZKEY_F36ZKEY_F37ZKEY_F38ZKEY_F39ZKEY_F4ZKEY_F40ZKEY_F41ZKEY_F42ZKEY_F43ZKEY_F44ZKEY_F45ZKEY_F46ZKEY_F47ZKEY_F48ZKEY_F49ZKEY_F5ZKEY_F50ZKEY_F51ZKEY_F52ZKEY_F53ZKEY_F54ZKEY_F55ZKEY_F56ZKEY_F57ZKEY_F58ZKEY_F59ZKEY_F6ZKEY_F60ZKEY_F61ZKEY_F62ZKEY_F63ZKEY_F7ZKEY_F8ZKEY_F9ZKEY_FINDZKEY_HELPZKEY_HOMEZKEY_ICZKEY_ILZKEY_LEFTZKEY_LLZKEY_MARKZ KEY_MESSAGEZKEY_MOVEZKEY_NEXTZ KEY_NPAGEZKEY_OPENZ KEY_OPTIONSZ KEY_PPAGEZ KEY_PREVIOUSZ KEY_PRINTZKEY_REDOZ KEY_REFERENCEZ KEY_REFRESHZ KEY_REPLACEZ KEY_RESTARTZ KEY_RESUMEZ KEY_RIGHTZKEY_SAVEZKEY_SBEGZ KEY_SCANCELZ KEY_SCOMMANDZ KEY_SCOPYZ KEY_SCREATEZKEY_SDCZKEY_SDLZ KEY_SELECTZKEY_SENDZKEY_SEOLZ KEY_SEXITZKEY_SFZ KEY_SFINDZ KEY_SHELPZ KEY_SHOMEZKEY_SICZ KEY_SLEFTZ KEY_SMESSAGEZ KEY_SMOVEZ KEY_SNEXTZ KEY_SOPTIONSZ KEY_SPREVIOUSZ KEY_SPRINTZKEY_SRZ KEY_SREDOZ KEY_SREPLACEZ KEY_SRIGHTZ KEY_SRSUMEZ KEY_SSAVEZ KEY_SSUSPENDZKEY_STABZ KEY_SUNDOZ KEY_SUSPENDZKEY_UNDOZKEY_UPrr __name__LZinitscrkeyskeysystempythonappendZkeynameZendwiniprintrrrr sF     PKhe[SSascii.cpython-36.pycnu[3 \ !@s~dZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCg!Z%dDdEZ&dFdGZ'dHdIZ(dJdKZ)dLdMZ*dNdOZ+dPdQZ,dRdSZ-dTdUZ.dVdWZ/dXdYZ0dZd[Z1d\d]Z2d^d_Z3d`daZ4dbdcZ5dddeZ6dfdgZ7dhdiZ8djdkZ9dlS)mz3Constants and membership tests for ASCII characters  NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPcCs t|tdkrt|S|SdS)N)typeord)crH$/usr/lib64/python3.6/curses/ascii.py_ctoi0srJcCst|pt|S)N)isalphaisdigit)rGrHrHrIisalnum6srMcCst|pt|S)N)isupperislower)rGrHrHrIrK7srKcCsdt|kodkSS)Nrr")rJ)rGrHrHrIisascii8srPcCs t|dkS)Nr r!)r r!)rJ)rGrHrHrIisblank9srQcCs(dt|kodknp&t|dkS)Nrr r")rJ)rGrHrHrIiscntrl:srRcCsdt|kodkSS)N09)rJ)rGrHrHrIrL;srLcCsdt|kodkSS)N!~)rJ)rGrHrHrIisgraph<srWcCsdt|kodkSS)Naz)rJ)rGrHrHrIrO=srOcCsdt|kodkSS)Nr!rV)rJ)rGrHrHrIisprint>srZcCst|ot| S)N)rWrM)rGrHrHrIispunct?sr[cCs t|dkS)Nr r r r rr!)r r r r rr!)rJ)rGrHrHrIisspace@sr\cCsdt|kodkSS)NAZ)rJ)rGrHrHrIrNAsrNcCs@t|p>dt|kodknp>dt|ko:dkSS)Nr]FrXf)rLrJ)rGrHrHrIisxdigitBsracCsdt|kodkSS)Nrr!)rJ)rGrHrHrIisctrlDsrbcCs t|dkS)Nr")rJ)rGrHrHrIismetaEsrccCs0t|tdkr tt|d@St|d@SdS)NrDr")rEchrrJ)rGrHrHrIasciiGsrecCs0t|tdkr tt|d@St|d@SdS)NrDr )rErdrJ)rGrHrHrIctrlMsrfcCs0t|tdkr tt|dBSt|dBSdS)NrD)rErdrJ)rGrHrHrIaltSsrhcCs\t|}|dkrd}n2t|d@r0t|d@}ndt|d@dBd}|d@rXd|S|S)Nr"z^?^r!rg!)rJrZrd)rGbitsZreprHrHrIunctrlYs rlN):__doc__r#r$r%r&r'r(r)r*r+ZTABr,r-NLr.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCZDELZ controlnamesrJrMrKrPrQrRrLrWrOrZr[r\rNrarbrcrerfrhrlrHrHrHrIszPKhe[EOtextpad.cpython-36.pycnu[3 \@sVdZddlZddlZddZGdddZedkrRdd ZejeZe d e edS) z:Simple textbox editing widget with Emacs-like keybindings.NcCs|j|d|tj||d|j||dtj||d|j||dtj||d|j|d|tj||d|j||tj|j||tj|j||tj|j||tj dS)z^Draw a rectangle with corners at the provided upper-left and lower-right coordinates. N) ZvlinecursesZ ACS_VLINEZhlineZ ACS_HLINEaddchZ ACS_ULCORNERZ ACS_URCORNERZ ACS_LRCORNERZ ACS_LLCORNER)winulyulxZlryZlrxr&/usr/lib64/python3.6/curses/textpad.py rectanglesr c@sLeZdZdZdddZddZddZd d Zd d Zd dZ dddZ dS)TextboxadEditing widget using the interior of a window object. Supports the following Emacs-like key bindings: Ctrl-A Go to left edge of window. Ctrl-B Cursor left, wrapping to previous line if appropriate. Ctrl-D Delete character under cursor. Ctrl-E Go to right edge (stripspaces off) or end of line (stripspaces on). Ctrl-F Cursor right, wrapping to next line when appropriate. Ctrl-G Terminate, returning the window contents. Ctrl-H Delete character backward. Ctrl-J Terminate if the window is 1 line, otherwise insert newline. Ctrl-K If line is blank, delete it, otherwise clear to end of line. Ctrl-L Refresh screen. Ctrl-N Cursor down; move down one line. Ctrl-O Insert a blank line at cursor location. Ctrl-P Cursor up; move up one line. Move operations do nothing if the cursor is at an edge where the movement is not possible. The following synonyms are supported where possible: KEY_LEFT = Ctrl-B, KEY_RIGHT = Ctrl-F, KEY_UP = Ctrl-P, KEY_DOWN = Ctrl-N KEY_BACKSPACE = Ctrl-h FcCs.||_||_|jd|_d|_|jddS)Nr)r insert_mode_update_max_yx stripspaceslastcmdZkeypad)selfrr rrr __init__+s zTextbox.__init__cCs&|jj\}}|d|_|d|_dS)Nr)rZgetmaxyxmaxymaxx)rrrrrr r 3s zTextbox._update_max_yxcCs\|j|j}xHtjj|jj||tjjkrBt|j|d}Pn |dkrLP|d}qW|S)zuGo to the location of the first blank on the given line, returning the index of the last non-blank character.rr)r rrasciirinchZSPmin)ryZlastrrr _end_of_line8s zTextbox._end_of_linec Cs|j|jj\}}d}x||jks0||jkr|jr@|jj}y|jj|Wntj k rfYnX|j s~tj j | rP|}|jj\}}|dkr||f}qW|dk r|jj |dS)N) r rgetyxrrr rrrerrorrisprintmove)rchrxZbackyxZoldchrrr _insert_printable_charFs$  zTextbox._insert_printable_charcCsV|j|jj\}}||_tjj|rJ||jks<||jkrF|j |n|tjj krh|jj |dn|tjj tj tjjtjfkr|dkr|jj ||dnB|dkrn8|jr|jj |d|j|dn|jj |d|j|tjjtjfkrR|jjnL|tjjkr"|jjn0|tjjkrb|jrN|jj ||j|n|jj ||jn|tjjtjfkr||jkr|jj ||dn ||jkrn|jj |ddn|tjjkrdS|tjjkr |jdkrdS||jkrR|jj |ddnF|tjjkrZ|dkr@|j|dkr@|jjn|jj |||jjn|tjjkrt|jjn|tjjtjfkr||jkrR|jj |d|||j|dkrR|jj |d|j|dnz|tjj kr|jj!n`|tjj"tj#fkrR|dkrR|jj |d|||j|dkrR|jj |d|j|ddS)z!Process a single editing command.rr)$r rrrrrrrrrZSOHrZSTXZKEY_LEFTZBSZ KEY_BACKSPACErrZdelchZEOTZENQZACKZ KEY_RIGHTZBELNLZVTZdeletelnZclrtoeolZFFrefreshSOZKEY_DOWNZSIZinsertlnZDLEZKEY_UP)rrrrrrr do_command_sr            zTextbox.do_commandcCsd}|jxt|jdD]}|jj|d|j|}|dkrH|jrHqxDt|jdD]2}|jrl||krlP|tt j j |jj ||}qXW|jdkr|d}qW|S)z.Collect and return the contents of the window.rr ) r rangerrrrrrchrrrr)rresultrstoprrrr gathers "  zTextbox.gatherNcCs@x6|jj}|r||}|sq|j|s*P|jjqW|jS)z2Edit in the widget window and collect the results.)rZgetchr#r!r*)rZvalidaterrrr edits  z Textbox.edit)F)N) __name__ __module__ __qualname____doc__rr rrr#r*r+rrrr r s Ar __main__cCsfd\}}d \}}|j|d|dtj||||}t||d|d|||||jt|jS) N zUse Ctrl-G to end editing.r)r1r2)r3r4)ZaddstrrZnewwinr r!r r+)ZstdscrZncolsZnlinesrrrrrr test_editboxs r6zContents of text box:) r/rZ curses.asciir r r,r6wrapperstrprintreprrrrr s , PKhe[dQ'panel.cpython-36.opt-2.pycnu[3 \W@s ddlTdS))*N)Z _curses_panelrr$/usr/lib64/python3.6/curses/panel.pysPKhe[EOtextpad.cpython-36.opt-1.pycnu[3 \@sVdZddlZddlZddZGdddZedkrRdd ZejeZe d e edS) z:Simple textbox editing widget with Emacs-like keybindings.NcCs|j|d|tj||d|j||dtj||d|j||dtj||d|j|d|tj||d|j||tj|j||tj|j||tj|j||tj dS)z^Draw a rectangle with corners at the provided upper-left and lower-right coordinates. N) ZvlinecursesZ ACS_VLINEZhlineZ ACS_HLINEaddchZ ACS_ULCORNERZ ACS_URCORNERZ ACS_LRCORNERZ ACS_LLCORNER)winulyulxZlryZlrxr&/usr/lib64/python3.6/curses/textpad.py rectanglesr c@sLeZdZdZdddZddZddZd d Zd d Zd dZ dddZ dS)TextboxadEditing widget using the interior of a window object. Supports the following Emacs-like key bindings: Ctrl-A Go to left edge of window. Ctrl-B Cursor left, wrapping to previous line if appropriate. Ctrl-D Delete character under cursor. Ctrl-E Go to right edge (stripspaces off) or end of line (stripspaces on). Ctrl-F Cursor right, wrapping to next line when appropriate. Ctrl-G Terminate, returning the window contents. Ctrl-H Delete character backward. Ctrl-J Terminate if the window is 1 line, otherwise insert newline. Ctrl-K If line is blank, delete it, otherwise clear to end of line. Ctrl-L Refresh screen. Ctrl-N Cursor down; move down one line. Ctrl-O Insert a blank line at cursor location. Ctrl-P Cursor up; move up one line. Move operations do nothing if the cursor is at an edge where the movement is not possible. The following synonyms are supported where possible: KEY_LEFT = Ctrl-B, KEY_RIGHT = Ctrl-F, KEY_UP = Ctrl-P, KEY_DOWN = Ctrl-N KEY_BACKSPACE = Ctrl-h FcCs.||_||_|jd|_d|_|jddS)Nr)r insert_mode_update_max_yx stripspaceslastcmdZkeypad)selfrr rrr __init__+s zTextbox.__init__cCs&|jj\}}|d|_|d|_dS)Nr)rZgetmaxyxmaxymaxx)rrrrrr r 3s zTextbox._update_max_yxcCs\|j|j}xHtjj|jj||tjjkrBt|j|d}Pn |dkrLP|d}qW|S)zuGo to the location of the first blank on the given line, returning the index of the last non-blank character.rr)r rrasciirinchZSPmin)ryZlastrrr _end_of_line8s zTextbox._end_of_linec Cs|j|jj\}}d}x||jks0||jkr|jr@|jj}y|jj|Wntj k rfYnX|j s~tj j | rP|}|jj\}}|dkr||f}qW|dk r|jj |dS)N) r rgetyxrrr rrrerrorrisprintmove)rchrxZbackyxZoldchrrr _insert_printable_charFs$  zTextbox._insert_printable_charcCsV|j|jj\}}||_tjj|rJ||jks<||jkrF|j |n|tjj krh|jj |dn|tjj tj tjjtjfkr|dkr|jj ||dnB|dkrn8|jr|jj |d|j|dn|jj |d|j|tjjtjfkrR|jjnL|tjjkr"|jjn0|tjjkrb|jrN|jj ||j|n|jj ||jn|tjjtjfkr||jkr|jj ||dn ||jkrn|jj |ddn|tjjkrdS|tjjkr |jdkrdS||jkrR|jj |ddnF|tjjkrZ|dkr@|j|dkr@|jjn|jj |||jjn|tjjkrt|jjn|tjjtjfkr||jkrR|jj |d|||j|dkrR|jj |d|j|dnz|tjj kr|jj!n`|tjj"tj#fkrR|dkrR|jj |d|||j|dkrR|jj |d|j|ddS)z!Process a single editing command.rr)$r rrrrrrrrrZSOHrZSTXZKEY_LEFTZBSZ KEY_BACKSPACErrZdelchZEOTZENQZACKZ KEY_RIGHTZBELNLZVTZdeletelnZclrtoeolZFFrefreshSOZKEY_DOWNZSIZinsertlnZDLEZKEY_UP)rrrrrrr do_command_sr            zTextbox.do_commandcCsd}|jxt|jdD]}|jj|d|j|}|dkrH|jrHqxDt|jdD]2}|jrl||krlP|tt j j |jj ||}qXW|jdkr|d}qW|S)z.Collect and return the contents of the window.rr ) r rangerrrrrrchrrrr)rresultrstoprrrr gathers "  zTextbox.gatherNcCs@x6|jj}|r||}|sq|j|s*P|jjqW|jS)z2Edit in the widget window and collect the results.)rZgetchr#r!r*)rZvalidaterrrr edits  z Textbox.edit)F)N) __name__ __module__ __qualname____doc__rr rrr#r*r+rrrr r s Ar __main__cCsfd\}}d \}}|j|d|dtj||||}t||d|d|||||jt|jS) N zUse Ctrl-G to end editing.r)r1r2)r3r4)ZaddstrrZnewwinr r!r r+)ZstdscrZncolsZnlinesrrrrrr test_editboxs r6zContents of text box:) r/rZ curses.asciir r r,r6wrapperstrprintreprrrrr s , PKhe[ ;ttextpad.cpython-36.opt-2.pycnu[3 \@sRddlZddlZddZGdddZedkrNddZejeZed e edS) NcCs|j|d|tj||d|j||dtj||d|j||dtj||d|j|d|tj||d|j||tj|j||tj|j||tj|j||tj dS)N) ZvlinecursesZ ACS_VLINEZhlineZ ACS_HLINEaddchZ ACS_ULCORNERZ ACS_URCORNERZ ACS_LRCORNERZ ACS_LLCORNER)winulyulxZlryZlrxr&/usr/lib64/python3.6/curses/textpad.py rectanglesr c@sHeZdZdddZddZddZdd Zd d Zd d ZdddZ dS)TextboxFcCs.||_||_|jd|_d|_|jddS)Nr)r insert_mode_update_max_yx stripspaceslastcmdZkeypad)selfrr rrr __init__+s zTextbox.__init__cCs&|jj\}}|d|_|d|_dS)Nr)rZgetmaxyxmaxymaxx)rrrrrr r 3s zTextbox._update_max_yxcCs\|j|j}xHtjj|jj||tjjkrBt|j|d}Pn |dkrLP|d}qW|S)Nrr)r rrasciirinchZSPmin)ryZlastrrr _end_of_line8s zTextbox._end_of_linec Cs|j|jj\}}d}x||jks0||jkr|jr@|jj}y|jj|Wntj k rfYnX|j s~tj j | rP|}|jj\}}|dkr||f}qW|dk r|jj |dS)N) r rgetyxrrr rrrerrorrisprintmove)rchrxZbackyxZoldchrrr _insert_printable_charFs$  zTextbox._insert_printable_charcCsV|j|jj\}}||_tjj|rJ||jks<||jkrF|j |n|tjj krh|jj |dn|tjj tj tjjtjfkr|dkr|jj ||dnB|dkrn8|jr|jj |d|j|dn|jj |d|j|tjjtjfkrR|jjnL|tjjkr"|jjn0|tjjkrb|jrN|jj ||j|n|jj ||jn|tjjtjfkr||jkr|jj ||dn ||jkrn|jj |ddn|tjjkrdS|tjjkr |jdkrdS||jkrR|jj |ddnF|tjjkrZ|dkr@|j|dkr@|jjn|jj |||jjn|tjjkrt|jjn|tjjtjfkr||jkrR|jj |d|||j|dkrR|jj |d|j|dnz|tjj kr|jj!n`|tjj"tj#fkrR|dkrR|jj |d|||j|dkrR|jj |d|j|ddS)Nrr)$r rrrrrrrrrZSOHrZSTXZKEY_LEFTZBSZ KEY_BACKSPACErrZdelchZEOTZENQZACKZ KEY_RIGHTZBELNLZVTZdeletelnZclrtoeolZFFrefreshSOZKEY_DOWNZSIZinsertlnZDLEZKEY_UP)rrrrrrr do_command_sr            zTextbox.do_commandcCsd}|jxt|jdD]}|jj|d|j|}|dkrH|jrHqxDt|jdD]2}|jrl||krlP|tt j j |jj ||}qXW|jdkr|d}qW|S)Nrr ) r rangerrrrrrchrrrr)rresultrstoprrrr gathers "  zTextbox.gatherNcCs@x6|jj}|r||}|sq|j|s*P|jjqW|jS)N)rZgetchr#r!r*)rZvalidaterrrr edits  z Textbox.edit)F)N) __name__ __module__ __qualname__rr rrr#r*r+rrrr r s Ar __main__cCsfd\}}d \}}|j|d|dtj||||}t||d|d|||||jt|jS) N zUse Ctrl-G to end editing.r)r0r1)r2r3)ZaddstrrZnewwinr r!r r+)ZstdscrZncolsZnlinesrrrrrr test_editboxs r5zContents of text box:) rZ curses.asciir r r,r5wrapperstrprintreprrrrr s , PKhe[SSascii.cpython-36.opt-1.pycnu[3 \ !@s~dZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCg!Z%dDdEZ&dFdGZ'dHdIZ(dJdKZ)dLdMZ*dNdOZ+dPdQZ,dRdSZ-dTdUZ.dVdWZ/dXdYZ0dZd[Z1d\d]Z2d^d_Z3d`daZ4dbdcZ5dddeZ6dfdgZ7dhdiZ8djdkZ9dlS)mz3Constants and membership tests for ASCII characters  NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPcCs t|tdkrt|S|SdS)N)typeord)crH$/usr/lib64/python3.6/curses/ascii.py_ctoi0srJcCst|pt|S)N)isalphaisdigit)rGrHrHrIisalnum6srMcCst|pt|S)N)isupperislower)rGrHrHrIrK7srKcCsdt|kodkSS)Nrr")rJ)rGrHrHrIisascii8srPcCs t|dkS)Nr r!)r r!)rJ)rGrHrHrIisblank9srQcCs(dt|kodknp&t|dkS)Nrr r")rJ)rGrHrHrIiscntrl:srRcCsdt|kodkSS)N09)rJ)rGrHrHrIrL;srLcCsdt|kodkSS)N!~)rJ)rGrHrHrIisgraph<srWcCsdt|kodkSS)Naz)rJ)rGrHrHrIrO=srOcCsdt|kodkSS)Nr!rV)rJ)rGrHrHrIisprint>srZcCst|ot| S)N)rWrM)rGrHrHrIispunct?sr[cCs t|dkS)Nr r r r rr!)r r r r rr!)rJ)rGrHrHrIisspace@sr\cCsdt|kodkSS)NAZ)rJ)rGrHrHrIrNAsrNcCs@t|p>dt|kodknp>dt|ko:dkSS)Nr]FrXf)rLrJ)rGrHrHrIisxdigitBsracCsdt|kodkSS)Nrr!)rJ)rGrHrHrIisctrlDsrbcCs t|dkS)Nr")rJ)rGrHrHrIismetaEsrccCs0t|tdkr tt|d@St|d@SdS)NrDr")rEchrrJ)rGrHrHrIasciiGsrecCs0t|tdkr tt|d@St|d@SdS)NrDr )rErdrJ)rGrHrHrIctrlMsrfcCs0t|tdkr tt|dBSt|dBSdS)NrD)rErdrJ)rGrHrHrIaltSsrhcCs\t|}|dkrd}n2t|d@r0t|d@}ndt|d@dBd}|d@rXd|S|S)Nr"z^?^r!rg!)rJrZrd)rGbitsZreprHrHrIunctrlYs rlN):__doc__r#r$r%r&r'r(r)r*r+ZTABr,r-NLr.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCZDELZ controlnamesrJrMrKrPrQrRrLrWrOrZr[r\rNrarbrcrerfrhrlrHrHrHrIszPKhe[T~Rhas_key.cpython-36.opt-2.pycnu[3 \*@sddlZejdejdejdejdejdejdejdejd ej d ej d ej d ej d ej dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejd ej d!ej!d"ej"d#ej#d$ej$d%ej%d&ej&d'ej'd(ej(d)ej)d*ej*d+ej+d,ej,d-ej-d.ej.d/ej/d0ej0d1ej1d2ej2d3ej3d4ej4d5ej5d6ej6d7ej7d8ej8d9ej9d:ej:d;ej;dej>d?ej?d@ej@dAejAdBejBdCejCdDejDdEejEdFejFdGejGdHejHdIejIdJejJdKejKdLejLdMejMdNejNdOejOdPejPdQejQdRejRdSejSdTejTdUejUdVejVdWejWdXejXdYejYdZejZd[ej[d\ej\d]ej]d^ej^d_ej_d`ej`daejadbejbdcejcddejddeejedfejfdgejgdhejhdiejidjejjdkejkdlejldmejmdnejndoejodpejpdqejqdrejrdsejsdtejtduejudvejvdwejwdxejxdyejydzejzd{ej{d|ej|d}ej}d~ej~dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdiZddZedkrzZgZejxHejD]t|trt|}tj|}|dkr(dStj|r6dSdSdS)NFT) isinstancestrord_capability_namesget_cursesZtigetstr)ZchZcapability_namer&/usr/lib64/python3.6/curses/has_key.pyhas_keys   r __main__z)Mismatch for key %s, system=%i, Python=%i)rZKEY_A1ZKEY_A3ZKEY_B2Z KEY_BACKSPACEZKEY_BEGZKEY_BTABZKEY_C1ZKEY_C3Z KEY_CANCELZ KEY_CATABZ KEY_CLEARZ KEY_CLOSEZ KEY_COMMANDZKEY_COPYZ KEY_CREATEZKEY_CTABZKEY_DCZKEY_DLZKEY_DOWNZKEY_EICZKEY_ENDZ KEY_ENTERZKEY_EOLZKEY_EOSZKEY_EXITZKEY_F0ZKEY_F1ZKEY_F10ZKEY_F11ZKEY_F12ZKEY_F13ZKEY_F14ZKEY_F15ZKEY_F16ZKEY_F17ZKEY_F18ZKEY_F19ZKEY_F2ZKEY_F20ZKEY_F21ZKEY_F22ZKEY_F23ZKEY_F24ZKEY_F25ZKEY_F26ZKEY_F27ZKEY_F28ZKEY_F29ZKEY_F3ZKEY_F30ZKEY_F31ZKEY_F32ZKEY_F33ZKEY_F34ZKEY_F35ZKEY_F36ZKEY_F37ZKEY_F38ZKEY_F39ZKEY_F4ZKEY_F40ZKEY_F41ZKEY_F42ZKEY_F43ZKEY_F44ZKEY_F45ZKEY_F46ZKEY_F47ZKEY_F48ZKEY_F49ZKEY_F5ZKEY_F50ZKEY_F51ZKEY_F52ZKEY_F53ZKEY_F54ZKEY_F55ZKEY_F56ZKEY_F57ZKEY_F58ZKEY_F59ZKEY_F6ZKEY_F60ZKEY_F61ZKEY_F62ZKEY_F63ZKEY_F7ZKEY_F8ZKEY_F9ZKEY_FINDZKEY_HELPZKEY_HOMEZKEY_ICZKEY_ILZKEY_LEFTZKEY_LLZKEY_MARKZ KEY_MESSAGEZKEY_MOVEZKEY_NEXTZ KEY_NPAGEZKEY_OPENZ KEY_OPTIONSZ KEY_PPAGEZ KEY_PREVIOUSZ KEY_PRINTZKEY_REDOZ KEY_REFERENCEZ KEY_REFRESHZ KEY_REPLACEZ KEY_RESTARTZ KEY_RESUMEZ KEY_RIGHTZKEY_SAVEZKEY_SBEGZ KEY_SCANCELZ KEY_SCOMMANDZ KEY_SCOPYZ KEY_SCREATEZKEY_SDCZKEY_SDLZ KEY_SELECTZKEY_SENDZKEY_SEOLZ KEY_SEXITZKEY_SFZ KEY_SFINDZ KEY_SHELPZ KEY_SHOMEZKEY_SICZ KEY_SLEFTZ KEY_SMESSAGEZ KEY_SMOVEZ KEY_SNEXTZ KEY_SOPTIONSZ KEY_SPREVIOUSZ KEY_SPRINTZKEY_SRZ KEY_SREDOZ KEY_SREPLACEZ KEY_SRIGHTZ KEY_SRSUMEZ KEY_SSAVEZ KEY_SSUSPENDZKEY_STABZ KEY_SUNDOZ KEY_SUSPENDZKEY_UNDOZKEY_UPrr __name__LZinitscrkeyskeysystempythonappendZkeynameZendwiniprintrrrr sF     PKhe[T~Rhas_key.cpython-36.pycnu[3 \*@sddlZejdejdejdejdejdejdejdejd ej d ej d ej d ej d ej dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejd ej d!ej!d"ej"d#ej#d$ej$d%ej%d&ej&d'ej'd(ej(d)ej)d*ej*d+ej+d,ej,d-ej-d.ej.d/ej/d0ej0d1ej1d2ej2d3ej3d4ej4d5ej5d6ej6d7ej7d8ej8d9ej9d:ej:d;ej;dej>d?ej?d@ej@dAejAdBejBdCejCdDejDdEejEdFejFdGejGdHejHdIejIdJejJdKejKdLejLdMejMdNejNdOejOdPejPdQejQdRejRdSejSdTejTdUejUdVejVdWejWdXejXdYejYdZejZd[ej[d\ej\d]ej]d^ej^d_ej_d`ej`daejadbejbdcejcddejddeejedfejfdgejgdhejhdiejidjejjdkejkdlejldmejmdnejndoejodpejpdqejqdrejrdsejsdtejtduejudvejvdwejwdxejxdyejydzejzd{ej{d|ej|d}ej}d~ej~dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdiZddZedkrzZgZejxHejD]t|trt|}tj|}|dkr(dStj|r6dSdSdS)NFT) isinstancestrord_capability_namesget_cursesZtigetstr)ZchZcapability_namer&/usr/lib64/python3.6/curses/has_key.pyhas_keys   r __main__z)Mismatch for key %s, system=%i, Python=%i)rZKEY_A1ZKEY_A3ZKEY_B2Z KEY_BACKSPACEZKEY_BEGZKEY_BTABZKEY_C1ZKEY_C3Z KEY_CANCELZ KEY_CATABZ KEY_CLEARZ KEY_CLOSEZ KEY_COMMANDZKEY_COPYZ KEY_CREATEZKEY_CTABZKEY_DCZKEY_DLZKEY_DOWNZKEY_EICZKEY_ENDZ KEY_ENTERZKEY_EOLZKEY_EOSZKEY_EXITZKEY_F0ZKEY_F1ZKEY_F10ZKEY_F11ZKEY_F12ZKEY_F13ZKEY_F14ZKEY_F15ZKEY_F16ZKEY_F17ZKEY_F18ZKEY_F19ZKEY_F2ZKEY_F20ZKEY_F21ZKEY_F22ZKEY_F23ZKEY_F24ZKEY_F25ZKEY_F26ZKEY_F27ZKEY_F28ZKEY_F29ZKEY_F3ZKEY_F30ZKEY_F31ZKEY_F32ZKEY_F33ZKEY_F34ZKEY_F35ZKEY_F36ZKEY_F37ZKEY_F38ZKEY_F39ZKEY_F4ZKEY_F40ZKEY_F41ZKEY_F42ZKEY_F43ZKEY_F44ZKEY_F45ZKEY_F46ZKEY_F47ZKEY_F48ZKEY_F49ZKEY_F5ZKEY_F50ZKEY_F51ZKEY_F52ZKEY_F53ZKEY_F54ZKEY_F55ZKEY_F56ZKEY_F57ZKEY_F58ZKEY_F59ZKEY_F6ZKEY_F60ZKEY_F61ZKEY_F62ZKEY_F63ZKEY_F7ZKEY_F8ZKEY_F9ZKEY_FINDZKEY_HELPZKEY_HOMEZKEY_ICZKEY_ILZKEY_LEFTZKEY_LLZKEY_MARKZ KEY_MESSAGEZKEY_MOVEZKEY_NEXTZ KEY_NPAGEZKEY_OPENZ KEY_OPTIONSZ KEY_PPAGEZ KEY_PREVIOUSZ KEY_PRINTZKEY_REDOZ KEY_REFERENCEZ KEY_REFRESHZ KEY_REPLACEZ KEY_RESTARTZ KEY_RESUMEZ KEY_RIGHTZKEY_SAVEZKEY_SBEGZ KEY_SCANCELZ KEY_SCOMMANDZ KEY_SCOPYZ KEY_SCREATEZKEY_SDCZKEY_SDLZ KEY_SELECTZKEY_SENDZKEY_SEOLZ KEY_SEXITZKEY_SFZ KEY_SFINDZ KEY_SHELPZ KEY_SHOMEZKEY_SICZ KEY_SLEFTZ KEY_SMESSAGEZ KEY_SMOVEZ KEY_SNEXTZ KEY_SOPTIONSZ KEY_SPREVIOUSZ KEY_SPRINTZKEY_SRZ KEY_SREDOZ KEY_SREPLACEZ KEY_SRIGHTZ KEY_SRSUMEZ KEY_SSAVEZ KEY_SSUSPENDZKEY_STABZ KEY_SUNDOZ KEY_SUSPENDZKEY_UNDOZKEY_UPrr __name__LZinitscrkeyskeysystempythonappendZkeynameZendwiniprintrrrr sF     PKhe[wpanel.cpython-36.opt-1.pycnu[3 \W@sdZddlTdS)z3curses.panel Module for using panels with curses. )*N)__doc__Z _curses_panelrr$/usr/lib64/python3.6/curses/panel.pysPKhe[I}22_base.cpython-36.opt-2.pycnu[3 \R @sPdZddlZddlZddlZddlZdZdZdZdZdZ dZ d Z d Z d Z e e e e e gZe d e d e de de diZejdZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZd!d"Zd#d$Zd/d%d&Zejd'd(Z defd)d*Z!Gd+d,d,eZ"Gd-d.d.eZ#dS)0z"Brian Quinlan (brian@sweetapp.com)NFIRST_COMPLETEDFIRST_EXCEPTION ALL_COMPLETED _AS_COMPLETEDPENDINGRUNNING CANCELLEDCANCELLED_AND_NOTIFIEDFINISHEDpendingrunning cancelledfinishedzconcurrent.futuresc@s eZdZdS)ErrorN)__name__ __module__ __qualname__rr0/usr/lib64/python3.6/concurrent/futures/_base.pyr,src@s eZdZdS)CancelledErrorN)rrrrrrrr0src@s eZdZdS) TimeoutErrorN)rrrrrrrr4src@s,eZdZddZddZddZddZd S) _WaitercCstj|_g|_dS)N) threadingZEventeventfinished_futures)selfrrr__init__:s z_Waiter.__init__cCs|jj|dS)N)rappend)rfuturerrr add_result>sz_Waiter.add_resultcCs|jj|dS)N)rr)rrrrr add_exceptionAsz_Waiter.add_exceptioncCs|jj|dS)N)rr)rrrrr add_cancelledDsz_Waiter.add_cancelledN)rrrrrr r!rrrrr8srcs@eZdZfddZfddZfddZfddZZS) _AsCompletedWaitercstt|jtj|_dS)N)superr"rrLocklock)r) __class__rrrJsz_AsCompletedWaiter.__init__c s0|j tt|j||jjWdQRXdS)N)r%r#r"rrset)rr)r&rrrNsz_AsCompletedWaiter.add_resultc s0|j tt|j||jjWdQRXdS)N)r%r#r"r rr')rr)r&rrr Ssz _AsCompletedWaiter.add_exceptionc s0|j tt|j||jjWdQRXdS)N)r%r#r"r!rr')rr)r&rrr!Xsz _AsCompletedWaiter.add_cancelled)rrrrrr r! __classcell__rr)r&rr"Gs   r"cs4eZdZfddZfddZfddZZS)_FirstCompletedWaitercstj||jjdS)N)r#rrr')rr)r&rrr`s z _FirstCompletedWaiter.add_resultcstj||jjdS)N)r#r rr')rr)r&rrr ds z#_FirstCompletedWaiter.add_exceptioncstj||jjdS)N)r#r!rr')rr)r&rrr!hs z#_FirstCompletedWaiter.add_cancelled)rrrrr r!r(rr)r&rr)]s  r)csHeZdZfddZddZfddZfddZfd d ZZS) _AllCompletedWaitercs$||_||_tj|_tjdS)N)num_pending_callsstop_on_exceptionrr$r%r#r)rr+r,)r&rrros z_AllCompletedWaiter.__init__c Cs4|j$|jd8_|js&|jjWdQRXdS)N)r%r+rr')rrrr_decrement_pending_callsusz,_AllCompletedWaiter._decrement_pending_callscstj||jdS)N)r#rr.)rr)r&rrr{s z_AllCompletedWaiter.add_resultcs*tj||jr|jjn|jdS)N)r#r r,rr'r.)rr)r&rrr s  z!_AllCompletedWaiter.add_exceptioncstj||jdS)N)r#r!r.)rr)r&rrr!s z!_AllCompletedWaiter.add_cancelled) rrrrr.rr r!r(rr)r&rr*ls    r*c@s$eZdZddZddZddZdS)_AcquireFuturescCst|td|_dS)N)key)sortedidfutures)rr3rrrrsz_AcquireFutures.__init__cCsx|jD]}|jjqWdS)N)r3 _conditionacquire)rrrrr __enter__s z_AcquireFutures.__enter__cGsx|jD]}|jjqWdS)N)r3r4release)rargsrrrr__exit__s z_AcquireFutures.__exit__N)rrrrr6r9rrrrr/sr/cCs|tkrt}nZ|tkr t}nJtdd|D}|tkrHt|dd}n"|tkr^t|dd}n td|x|D]}|j j |qpW|S)Ncss|]}|jttgkVqdS)N)_stater r ).0frrr sz._create_and_install_waiters..T)r,FzInvalid return condition: %r) rr"rr)sumrr*r ValueError_waitersr)fs return_whenwaiterZ pending_countr<rrr_create_and_install_waiterss  rDc csXxR|rR|d}x|D]}|j|qW|j|jj|WdQRX~|jVqWdS)Nr-)remover4r@pop)rArC ref_collectr<Z futures_setrrr_yield_finished_futuress  rIc csJ|dk r|tj}t|}t|}t|*tdd|D}||}t|t}WdQRXt|}zt|||fdEdHx|r|dkrd}n(|tj}|dkrt dt||f|j j ||j |j }g|_ |j jWdQRX|jt||||fdEdHq~WWdx,|D]$}|j|jj|WdQRXqWXdS)Ncss |]}|jttgkr|VqdS)N)r:r r )r;r<rrrr=szas_completed..)rHrz%d (of %d) futures unfinished)time monotonicr'lenr/rDrlistrIrrwaitr%rclearreverser4r@rF) rAtimeoutend_timeZ total_futuresrr rCZ wait_timeoutr<rrr as_completeds@     rSDoneAndNotDoneFuturesz done not_donecCst|tdd|D}t||}|tkr>|r>t||S|tkrf|rftdd|Drft||St|t|krt||St||}WdQRX|jj |x*|D]"}|j |j j |WdQRXqW|j |jt|t||S)Ncss |]}|jttgkr|VqdS)N)r:r r )r;r<rrrr=szwait..css(|] }|j r|jdk r|VqdS)N)r exception)r;r<rrrr=$s)r/r'rrTranyrLrDrrNr4r@rFupdater)rArQrBdoneZnot_donerCr<rrrrNs"          rNc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dddZ dddZ ddZddZddZdS) FuturecCs,tj|_t|_d|_d|_g|_g|_dS)N) rZ Conditionr4rr:_result _exceptionr@_done_callbacks)rrrrr8s  zFuture.__init__c CsBx<|jD]2}y ||Wqtk r8tjd|YqXqWdS)Nz!exception calling callback for %r)r\ ExceptionLOGGERrU)rcallbackrrr_invoke_callbacksAs   zFuture._invoke_callbacksc Cs|jv|jtkr`|jrz <%s at %#x state=%s returned %s>z<%s at %#x state=%s>) r4r:r r[r&rr2_STATE_TO_DESCRIPTION_MAPrZ)rrrr__repr__Hs" zFuture.__repr__c CsR|j:|jttgkrdS|jttgkr,dSt|_|jjWdQRX|jdS)NFT)r4r:rr rr notify_allr`)rrrrcancel\sz Future.cancelc Cs |j|jttgkSQRXdS)N)r4r:rr )rrrrr oszFuture.cancelledc Cs|j |jtkSQRXdS)N)r4r:r)rrrrr tszFuture.runningc Cs"|j|jtttgkSQRXdS)N)r4r:rr r )rrrrrXysz Future.donecCs|jr|jn|jSdS)N)r[rZ)rrrrZ __get_result~szFuture.__get_resultc Cs>|j&|jtttgkr(|jj|dSWdQRX||dS)N)r4r:rr r r\r)rfnrrradd_done_callbacks  zFuture.add_done_callbackNc Csx|jh|jttgkrtn|jtkr0|jS|jj||jttgkrRtn|jtkrd|jStWdQRXdS)N) r4r:rr rr _Future__get_resultrNr)rrQrrrresults   z Future.resultc Cst|jd|jttgkrtn|jtkr.|jS|jj||jttgkrPtn|jtkr`|jStWdQRXdS)N) r4r:rr rr r[rNr)rrQrrrrUs   zFuture.exceptionc Cst|jd|jtkr6t|_x|jD]}|j|q WdS|jtkrJt|_dStj dt ||jt dWdQRXdS)NFTz!Future %s in unexpected state: %szFuture in unexpected state) r4r:rr r@r!rrr^Zcriticalr2 RuntimeError)rrCrrrset_running_or_notify_cancels   z#Future.set_running_or_notify_cancelc CsN|j6||_t|_x|jD]}|j|qW|jjWdQRX|jdS)N)r4rZr r:r@rrcr`)rrhrCrrr set_results zFuture.set_resultc CsN|j6||_t|_x|jD]}|j|qW|jjWdQRX|jdS)N)r4r[r r:r@r rcr`)rrUrCrrr set_exception s zFuture.set_exception)N)N)rrrrr`rbrdr r rXrgrfrhrUrjrkrlrrrrrY5s   "( rYc@s>eZdZddZdddddZdd d Zd d Zd dZdS)ExecutorcOs tdS)N)NotImplementedError)rrer8kwargsrrrsubmits zExecutor.submitNr-)rQ chunksizecsBdk rtjfddt|Dfdd}|S)Ncsg|]}jf|qSr)rp)r;r8)rerrr ?sz Executor.map..c 3sdzFjx8rBdkr(jjVq jjtjVq WWdxD] }|jqNWXdS)N)rPrGrhrJrKrd)r)rRrArQrrresult_iteratorCs  z%Executor.map..result_iterator)rJrKzip)rrerQrq iterablesrsr)rRrerArrQrmap&s   z Executor.mapTcCsdS)Nr)rrNrrrshutdownRs zExecutor.shutdowncCs|S)Nr)rrrrr6_szExecutor.__enter__cCs|jdddS)NT)rNF)rw)rexc_typeZexc_valZexc_tbrrrr9bs zExecutor.__exit__)T)rrrrprvrwr6r9rrrrrms  , rm)N)$ __author__ collectionsZloggingrrJrrrrrrrr r Z_FUTURE_STATESraZ getLoggerr^r]rrrobjectrr"r)r*r/rDrIrS namedtuplerTrNrYrmrrrrsR  >1dPKhe[!^rJJthread.cpython-36.pycnu[3 \@sdZdZddlZddlmZddlZddlZddlZddlZddl Z ej Z da ddZ eje Gdd d eZd d ZGd d d ejZdS)zImplements ThreadPoolExecutor.z"Brian Quinlan (brian@sweetapp.com)N)_baseFcCsJdattj}x|D]\}}|jdqWx|D]\}}|jq2WdS)NT) _shutdownlist_threads_queuesitemsputjoin)rtqr 1/usr/lib64/python3.6/concurrent/futures/thread.py _python_exit!s  r c@seZdZddZddZdS) _WorkItemcCs||_||_||_||_dS)N)futurefnargskwargs)selfrrrrr r r __init__-sz_WorkItem.__init__cCsf|jjsdSy|j|j|j}Wn2tk rT}z|jj|d}WYdd}~XnX|jj|dS)N)rZset_running_or_notify_cancelrrr BaseExceptionZ set_exceptionZ set_result)rresultexcr r r run3s  z _WorkItem.runN)__name__ __module__ __qualname__rrr r r r r,src Cs|yRxL|jdd}|dk r$|j~q|}ts<|dks<|jrJ|jddS~qWWn$tk rvtjjdddYnXdS)NT)blockzException in worker)exc_info)getrrrrrZLOGGERZcritical)Zexecutor_referenceZ work_queueZ work_itemZexecutorr r r _worker@s   rc@sReZdZejjZd ddZddZe j jj e_ ddZ d d d Z e j j j e _ dS)ThreadPoolExecutorNcCsf|dkrtjpdd}|dkr(td||_tj|_t|_d|_ t j |_ |p^d|j |_dS)aInitializes a new ThreadPoolExecutor instance. Args: max_workers: The maximum number of threads that can be used to execute the given calls. thread_name_prefix: An optional name prefix to give our threads. Nrz"max_workers must be greater than 0FzThreadPoolExecutor-%d)os cpu_count ValueError _max_workersqueueZQueue _work_queueset_threadsr threadingZLock_shutdown_lock_counter_thread_name_prefix)rZ max_workersZthread_name_prefixr r r r[s  zThreadPoolExecutor.__init__c OsN|j>|jrtdtj}t||||}|jj||j|SQRXdS)Nz*cannot schedule new futures after shutdown) r-r RuntimeErrorrZFuturerr)r_adjust_thread_count)rrrrfwr r r submitrs zThreadPoolExecutor.submitcCsz|jfdd}t|j}||jkrvd|jp,||f}tj|ttj |||jfd}d|_ |j |jj ||jt |<dS)NcSs|jddS)N)r)_r r r r weakref_cbsz;ThreadPoolExecutor._adjust_thread_count..weakref_cbz%s_%d)nametargetrT)r)lenr+r'r/r,ZThreadrweakrefrefZdaemonstartaddr)rr6Z num_threadsZ thread_namer r r r r1s      z'ThreadPoolExecutor._adjust_thread_countTc CsD|jd|_|jjdWdQRX|r@x|jD] }|jq0WdS)NT)r-rr)rr+r)rwaitr r r r shutdowns  zThreadPoolExecutor.shutdown)Nr!)T)rrr itertoolscount__next__r.rr4rExecutor__doc__r1r?r r r r r Vs    r )rD __author__atexitZconcurrent.futuresrr@r(r,r:r$WeakKeyDictionaryrrr registerobjectrrrCr r r r r s  PKhe[ !thread.cpython-36.opt-2.pycnu[3 \@sdZddlZddlmZddlZddlZddlZddlZddlZej Z da ddZ ej e GdddeZd d ZGd d d ejZdS) z"Brian Quinlan (brian@sweetapp.com)N)_baseFcCsJdattj}x|D]\}}|jdqWx|D]\}}|jq2WdS)NT) _shutdownlist_threads_queuesitemsputjoin)rtqr 1/usr/lib64/python3.6/concurrent/futures/thread.py _python_exit!s  r c@seZdZddZddZdS) _WorkItemcCs||_||_||_||_dS)N)futurefnargskwargs)selfrrrrr r r __init__-sz_WorkItem.__init__cCsf|jjsdSy|j|j|j}Wn2tk rT}z|jj|d}WYdd}~XnX|jj|dS)N)rZset_running_or_notify_cancelrrr BaseExceptionZ set_exceptionZ set_result)rresultexcr r r run3s  z _WorkItem.runN)__name__ __module__ __qualname__rrr r r r r,src Cs|yRxL|jdd}|dk r$|j~q|}ts<|dks<|jrJ|jddS~qWWn$tk rvtjjdddYnXdS)NT)blockzException in worker)exc_info)getrrrrrZLOGGERZcritical)Zexecutor_referenceZ work_queueZ work_itemZexecutorr r r _worker@s   rc@sReZdZejjZd ddZddZe j jj e_ ddZ d d d Z e j j j e _ dS)ThreadPoolExecutorNcCsf|dkrtjpdd}|dkr(td||_tj|_t|_d|_ t j |_ |p^d|j |_dS)Nrz"max_workers must be greater than 0FzThreadPoolExecutor-%d)os cpu_count ValueError _max_workersqueueZQueue _work_queueset_threadsr threadingZLock_shutdown_lock_counter_thread_name_prefix)rZ max_workersZthread_name_prefixr r r r[s  zThreadPoolExecutor.__init__c OsN|j>|jrtdtj}t||||}|jj||j|SQRXdS)Nz*cannot schedule new futures after shutdown) r-r RuntimeErrorrZFuturerr)r_adjust_thread_count)rrrrfwr r r submitrs zThreadPoolExecutor.submitcCsz|jfdd}t|j}||jkrvd|jp,||f}tj|ttj |||jfd}d|_ |j |jj ||jt |<dS)NcSs|jddS)N)r)_r r r r weakref_cbsz;ThreadPoolExecutor._adjust_thread_count..weakref_cbz%s_%d)nametargetrT)r)lenr+r'r/r,ZThreadrweakrefrefZdaemonstartaddr)rr6Z num_threadsZ thread_namer r r r r1s      z'ThreadPoolExecutor._adjust_thread_countTc CsD|jd|_|jjdWdQRX|r@x|jD] }|jq0WdS)NT)r-rr)rr+r)rwaitr r r r shutdowns  zThreadPoolExecutor.shutdown)Nr!)T)rrr itertoolscount__next__r.rr4rExecutor__doc__r1r?r r r r r Vs    r ) __author__atexitZconcurrent.futuresrr@r(r,r:r$WeakKeyDictionaryrrr registerobjectrrrCr r r r r s  PKhe[>۱==process.cpython-36.opt-1.pycnu[3 \ P@sbdZdZddlZddlZddlmZddlZddlmZddlZddlm Z ddl m Z ddl Z ddl Z ddlmZddlZddlZe jZd ad d Zd ZGd ddeZGdddZddZGdddeZGdddeZGdddeZddZddZ ddZ!dd Z"d!d"Z#d a$da%d#d$Z&d%d&Z'Gd'd(d(e(Z)Gd)d*d*ej*Z+ej,edS)+a* Implements ProcessPoolExecutor. The follow diagram and text describe the data-flow through the system: |======================= In-process =====================|== Out-of-process ==| +----------+ +----------+ +--------+ +-----------+ +---------+ | | => | Work Ids | => | | => | Call Q | => | | | | +----------+ | | +-----------+ | | | | | ... | | | | ... | | | | | | 6 | | | | 5, call() | | | | | | 7 | | | | ... | | | | Process | | ... | | Local | +-----------+ | Process | | Pool | +----------+ | Worker | | #1..n | | Executor | | Thread | | | | | +----------- + | | +-----------+ | | | | <=> | Work Items | <=> | | <= | Result Q | <= | | | | +------------+ | | +-----------+ | | | | | 6: call() | | | | ... | | | | | | future | | | | 4, result | | | | | | ... | | | | 3, except | | | +----------+ +------------+ +--------+ +-----------+ +---------+ Executor.submit() called: - creates a uniquely numbered _WorkItem and adds it to the "Work Items" dict - adds the id of the _WorkItem to the "Work Ids" queue Local worker thread: - reads work ids from the "Work Ids" queue and looks up the corresponding WorkItem from the "Work Items" dict: if the work item has been cancelled then it is simply removed from the dict, otherwise it is repackaged as a _CallItem and put in the "Call Q". New _CallItems are put in the "Call Q" until "Call Q" is full. NOTE: the size of the "Call Q" is kept small because calls placed in the "Call Q" can no longer be cancelled with Future.cancel(). - reads _ResultItems from "Result Q", updates the future stored in the "Work Items" dict and deletes the dict entry Process #1..n: - reads _CallItems from "Call Q", executes the calls, and puts the resulting _ResultItems in "Result Q" z"Brian Quinlan (brian@sweetapp.com)N)_base)Full) SimpleQueue)wait)partialFcCsJdattj}x|D]\}}|jdqWx|D]\}}|jq2WdS)NT) _shutdownlist_threads_queuesitemsputjoin)r tqr2/usr/lib64/python3.6/concurrent/futures/process.py _python_exitOs  rc@seZdZddZddZdS)_RemoteTracebackcCs ||_dS)N)tb)selfrrrr__init__asz_RemoteTraceback.__init__cCs|jS)N)r)rrrr__str__csz_RemoteTraceback.__str__N)__name__ __module__ __qualname__rrrrrrr`src@seZdZddZddZdS)_ExceptionWithTracebackcCs0tjt|||}dj|}||_d||_dS)Nz """ %s""") tracebackformat_exceptiontyper excr)rr rrrrrgs z _ExceptionWithTraceback.__init__cCst|j|jffS)N) _rebuild_excr r)rrrr __reduce__lsz"_ExceptionWithTraceback.__reduce__N)rrrrr"rrrrrfsrcCst||_|S)N)r __cause__)r rrrrr!os r!c@seZdZddZdS) _WorkItemcCs||_||_||_||_dS)N)futurefnargskwargs)rr%r&r'r(rrrrtsz_WorkItem.__init__N)rrrrrrrrr$ssr$c@seZdZdddZdS) _ResultItemNcCs||_||_||_dS)N)work_id exceptionresult)rr*r+r,rrrr{sz_ResultItem.__init__)NN)rrrrrrrrr)zsr)c@seZdZddZdS) _CallItemcCs||_||_||_||_dS)N)r*r&r'r()rr*r&r'r(rrrrsz_CallItem.__init__N)rrrrrrrrr-sr-cgs0t|}x"ttj||}|s"dS|Vq WdS)z, Iterates over zip()ed iterables in chunks. N)ziptuple itertoolsislice) chunksize iterablesitchunkrrr _get_chunkss r6csfdd|DS)z Processes a chunk of an iterable passed to map. Runs the function passed to map() on a chunk of the iterable passed to map. This function is run in a separate process. csg|] }|qSrr).0r')r&rr sz"_process_chunk..r)r&r5r)r&r_process_chunks r9cCsx|jdd}|dkr(|jtjdSy|j|j|j}WnBtk r~}z&t||j }|jt |j |dWYdd}~XqX|jt |j |dqWdS)aEvaluates calls from call_queue and places the results in result_queue. This worker is run in a separate process. Args: call_queue: A multiprocessing.Queue of _CallItems that will be read and evaluated by the worker. result_queue: A multiprocessing.Queue of _ResultItems that will written to by the worker. shutdown: A multiprocessing.Event that will be set as a signal to the worker that it should exit when call_queue is empty. T)blockN)r+)r,) getr osgetpidr&r'r( BaseExceptionr __traceback__r)r*) call_queue result_queueZ call_itemrer rrr_process_workers   & rDcCsxxr|jrdSy|jdd}Wntjk r4dSX||}|jjrh|jt||j|j |j ddq||=qqWdS)aMFills call_queue with _WorkItems from pending_work_items. This function never blocks. Args: pending_work_items: A dict mapping work ids to _WorkItems e.g. {5: <_WorkItem...>, 6: <_WorkItem...>, ...} work_ids: A queue.Queue of work ids e.g. Queue([5, 6, ...]). Work ids are consumed and the corresponding _WorkItems from pending_work_items are transformed into _CallItems and put in call_queue. call_queue: A multiprocessing.Queue that will be filled with _CallItems derived from _WorkItems. NF)r:T) Zfullr;queueZEmptyr%Zset_running_or_notify_cancelr r-r&r'r()pending_work_itemsZwork_idsr@r* work_itemrrr_add_call_item_to_queues   rHc sdfdd}fdd}|j}xlt||ddjD} t|g| } || krf|j} nr|dk rd_d_dx&|jD]\} } | jj t d ~ qW|j xjD] }|j qW|dSt | trj| }|jsR|dSnJ| dk rR|j| jd} | dk rR| jrB| jj | jn| jj| j~ ||ry|sr|dSWntk rYnXdq(WdS) aManages the communication between this process and the worker processes. This function is run in a local thread. Args: executor_reference: A weakref.ref to the ProcessPoolExecutor that owns this thread. Used to determine if the ProcessPoolExecutor has been garbage collected and that this function can exit. process: A list of the multiprocessing.Process instances used as workers. pending_work_items: A dict mapping work ids to _WorkItems e.g. {5: <_WorkItem...>, 6: <_WorkItem...>, ...} work_ids_queue: A queue.Queue of work ids e.g. Queue([5, 6, ...]). call_queue: A multiprocessing.Queue that will be filled with _CallItems derived from _WorkItems for processing by the process workers. result_queue: A multiprocessing.Queue of _ResultItems generated by the process workers. NcstpdkpjS)N)r_shutdown_threadr)executorrr shutting_downsz/_queue_management_worker..shutting_downcsZtddjD}xtd|D]}jdq"WjxjD] }|jqFWdS)Ncss|]}|jVqdS)N)Zis_alive)r7prrr szD_queue_management_worker..shutdown_worker..r)sumvaluesrangeZ put_nowaitcloser )Znb_children_aliveirL)r@ processesrrshutdown_workers z1_queue_management_worker..shutdown_workercSsg|] }|jqSr)sentinel)r7rLrrrr8 sz,_queue_management_worker..Tz^A process in the process pool was terminated abruptly while the future was running or pending.)Z_readerrHrOrZrecv_brokenrIr r%Z set_exceptionBrokenProcessPoolclearZ terminate isinstanceintpopr r*r+Z set_resultr,r)Zexecutor_referencerSrFZwork_ids_queuer@rArKrTreaderZ sentinelsZreadyZ result_itemr*rGrLr)r@rJrSr_queue_management_workersb        r]c Cshtrtrttdaytjd}Wnttfk r:dSX|dkrHdS|dkrTdSd|attdS)NTSC_SEM_NSEMS_MAXrz@system provides too few semaphores (%d available, 256 necessary))_system_limits_checked_system_limitedNotImplementedErrorr<sysconfAttributeError ValueError)Z nsems_maxrrr_check_system_limitsQsrgccs.x(|D] }|jx|r$|jVqWqWdS)z Specialized implementation of itertools.chain.from_iterable. Each item in *iterable* should be a list. This function is careful not to keep references to yielded objects. N)reverser[)iterableelementrrr_chain_from_iterable_of_listshs rkc@seZdZdZdS)rWzy Raised when a process in a ProcessPoolExecutor terminated abruptly while a future was in the running state. N)rrr__doc__rrrrrWtsrWcsheZdZdddZddZddZdd Zejjj e_ dd d fd d Z dddZ ejj j e _ Z S)ProcessPoolExecutorNcCst|dkrtjpd|_n|dkr.td||_tj|jt|_d|j_ t |_ t j|_ d|_i|_d|_tj|_d|_d|_i|_dS)a/Initializes a new ProcessPoolExecutor instance. Args: max_workers: The maximum number of processes that can be used to execute the given calls. If None or not given then as many worker processes will be created as the machine has processors. Nrrz"max_workers must be greater than 0TF)rgr< cpu_count _max_workersrfmultiprocessingZQueueEXTRA_QUEUED_CALLS _call_queueZ _ignore_epiper _result_queuerE _work_ids_queue_management_thread _processesrI threadingZLock_shutdown_lockrV _queue_count_pending_work_items)rZ max_workersrrrr|s$   zProcessPoolExecutor.__init__cCsp|jfdd}|jdkrl|jtjttj|||j|j |j |j |jfd|_d|j_ |jj |jt|j<dS)NcSs|jddS)N)r )_rrrr weakref_cbszFProcessPoolExecutor._start_queue_management_thread..weakref_cb)targetr'T)rsru_adjust_process_countrwZThreadr]weakrefrefrvrzrtrrZdaemonstartr )rr|rrr_start_queue_management_threads   z2ProcessPoolExecutor._start_queue_management_threadcCsJxDtt|j|jD].}tjt|j|jfd}|j ||j|j <qWdS)N)r}r') rPlenrvrorpZProcessrDrrrsrpid)rr{rLrrrr~s z)ProcessPoolExecutor._adjust_process_countc Os|jt|jrtd|jr$tdtj}t||||}||j|j <|j j |j |j d7_ |j j d|j |SQRXdS)NzKA child process terminated abruptly, the process pool is not usable anymorez*cannot schedule new futures after shutdownr)rxrVrWrI RuntimeErrorrZFuturer$rzryrtr rsr)rr&r'r(fwrrrsubmits  zProcessPoolExecutor.submitr)timeoutr2cs:|dkrtdtjtt|t|d|i|d}t|S)ajReturns an iterator equivalent to map(fn, iter). Args: fn: A callable that will take as many arguments as there are passed iterables. timeout: The maximum number of seconds to wait. If None, then there is no limit on the wait time. chunksize: If greater than one, the iterables will be chopped into chunks of size chunksize and submitted to the process pool. If set to one, the items in the list will be sent one at a time. Returns: An iterator equivalent to: map(func, *iterables) but the calls may be evaluated out-of-order. Raises: TimeoutError: If the entire result iterator could not be generated before the given timeout. Exception: If fn(*args) raises for any values. rzchunksize must be >= 1.r2)r)rfsupermaprr9r6rk)rr&rr2r3Zresults) __class__rrrs  zProcessPoolExecutor.mapTc CsT|j d|_WdQRX|jr8|jjd|r8|jjd|_d|_d|_d|_dS)NT)rxrIrursr r rrrv)rrrrrshutdowns  zProcessPoolExecutor.shutdown)N)T) rrrrrr~rrExecutorrlrr __classcell__rr)rrrm{s (   rm)-rl __author__atexitr<Zconcurrent.futuresrrErrprZmultiprocessing.connectionrrwr functoolsrr0rWeakKeyDictionaryr rrrq Exceptionrrr!objectr$r)r-r6r9rDrHr]rarbrgrkrrWrrmregisterrrrr,sJ         %s  PKhe[GꂚPP_base.cpython-36.opt-1.pycnu[3 \R @sPdZddlZddlZddlZddlZdZdZdZdZdZ dZ d Z d Z d Z e e e e e gZe d e d e de de diZejdZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZd!d"Zd#d$Zd/d%d&Zejd'd(Z defd)d*Z!Gd+d,d,eZ"Gd-d.d.eZ#dS)0z"Brian Quinlan (brian@sweetapp.com)NFIRST_COMPLETEDFIRST_EXCEPTION ALL_COMPLETED _AS_COMPLETEDPENDINGRUNNING CANCELLEDCANCELLED_AND_NOTIFIEDFINISHEDpendingrunning cancelledfinishedzconcurrent.futuresc@seZdZdZdS)Errorz-Base class for all future-related exceptions.N)__name__ __module__ __qualname____doc__rr0/usr/lib64/python3.6/concurrent/futures/_base.pyr,src@seZdZdZdS)CancelledErrorzThe Future was cancelled.N)rrrrrrrrr0src@seZdZdZdS) TimeoutErrorz*The operation exceeded the given deadline.N)rrrrrrrrr4src@s0eZdZdZddZddZddZdd Zd S) _Waiterz;Provides the event that wait() and as_completed() block on.cCstj|_g|_dS)N) threadingZEventeventfinished_futures)selfrrr__init__:s z_Waiter.__init__cCs|jj|dS)N)rappend)rfuturerrr add_result>sz_Waiter.add_resultcCs|jj|dS)N)rr)rrrrr add_exceptionAsz_Waiter.add_exceptioncCs|jj|dS)N)rr)rrrrr add_cancelledDsz_Waiter.add_cancelledN)rrrrrr r!r"rrrrr8s rcsDeZdZdZfddZfddZfddZfdd ZZS) _AsCompletedWaiterzUsed by as_completed().cstt|jtj|_dS)N)superr#rrLocklock)r) __class__rrrJsz_AsCompletedWaiter.__init__c s0|j tt|j||jjWdQRXdS)N)r&r$r#r rset)rr)r'rrr Nsz_AsCompletedWaiter.add_resultc s0|j tt|j||jjWdQRXdS)N)r&r$r#r!rr()rr)r'rrr!Ssz _AsCompletedWaiter.add_exceptionc s0|j tt|j||jjWdQRXdS)N)r&r$r#r"rr()rr)r'rrr"Xsz _AsCompletedWaiter.add_cancelled) rrrrrr r!r" __classcell__rr)r'rr#Gs    r#cs8eZdZdZfddZfddZfddZZS)_FirstCompletedWaiterz*Used by wait(return_when=FIRST_COMPLETED).cstj||jjdS)N)r$r rr()rr)r'rrr `s z _FirstCompletedWaiter.add_resultcstj||jjdS)N)r$r!rr()rr)r'rrr!ds z#_FirstCompletedWaiter.add_exceptioncstj||jjdS)N)r$r"rr()rr)r'rrr"hs z#_FirstCompletedWaiter.add_cancelled)rrrrr r!r"r)rr)r'rr*]s  r*csLeZdZdZfddZddZfddZfdd Zfd d ZZ S) _AllCompletedWaiterzsz._create_and_install_waiters..T)r-FzInvalid return condition: %r) rr#rr*sumrr+r ValueError_waitersr)fs return_whenwaiterZ pending_countr=rrr_create_and_install_waiterss  rEc csXxR|rR|d}x|D]}|j|qW|j|jj|WdQRX~|jVqWdS)a~ Iterate on the list *fs*, yielding finished futures one by one in reverse order. Before yielding a future, *waiter* is removed from its waiters and the future is removed from each set in the collection of sets *ref_collect*. The aim of this function is to avoid keeping stale references after the future is yielded and before the iterator resumes. r.N)remover5rApop)rBrD ref_collectr=Z futures_setrrr_yield_finished_futuress  rJc csJ|dk r|tj}t|}t|}t|*tdd|D}||}t|t}WdQRXt|}zt|||fdEdHx|r|dkrd}n(|tj}|dkrt dt||f|j j ||j |j }g|_ |j jWdQRX|jt||||fdEdHq~WWdx,|D]$}|j|jj|WdQRXqWXdS)anAn iterator over the given futures that yields each as it completes. Args: fs: The sequence of Futures (possibly created by different Executors) to iterate over. timeout: The maximum number of seconds to wait. If None, then there is no limit on the wait time. Returns: An iterator that yields the given Futures as they complete (finished or cancelled). If any given Futures are duplicated, they will be returned once. Raises: TimeoutError: If the entire result iterator could not be generated before the given timeout. Ncss |]}|jttgkr|VqdS)N)r;r r )r<r=rrrr>szas_completed..)rIrz%d (of %d) futures unfinished)time monotonicr(lenr0rErlistrJrrwaitr&rclearreverser5rArG) rBtimeoutend_timeZ total_futuresrr rDZ wait_timeoutr=rrr as_completeds@     rTDoneAndNotDoneFuturesz done not_donecCst|tdd|D}t||}|tkr>|r>t||S|tkrf|rftdd|Drft||St|t|krt||St||}WdQRX|jj |x*|D]"}|j |j j |WdQRXqW|j |jt|t||S)aWait for the futures in the given sequence to complete. Args: fs: The sequence of Futures (possibly created by different Executors) to wait upon. timeout: The maximum number of seconds to wait. If None, then there is no limit on the wait time. return_when: Indicates when this function should return. The options are: FIRST_COMPLETED - Return when any future finishes or is cancelled. FIRST_EXCEPTION - Return when any future finishes by raising an exception. If no future raises an exception then it is equivalent to ALL_COMPLETED. ALL_COMPLETED - Return when all futures finish or are cancelled. Returns: A named 2-tuple of sets. The first set, named 'done', contains the futures that completed (is finished or cancelled) before the wait completed. The second set, named 'not_done', contains uncompleted futures. css |]}|jttgkr|VqdS)N)r;r r )r<r=rrrr>szwait..css(|] }|j r|jdk r|VqdS)N)r exception)r<r=rrrr>$sN)r0r(rrUranyrMrErrOr5rArGupdater)rBrRrCdoneZnot_donerDr=rrrrOs"          rOc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ dddZ d ddZddZddZddZdS)!Futurez5Represents the result of an asynchronous computation.cCs,tj|_t|_d|_d|_g|_g|_dS)z8Initializes the future. Should not be called by clients.N) rZ Conditionr5rr;_result _exceptionrA_done_callbacks)rrrrr8s  zFuture.__init__c CsBx<|jD]2}y ||Wqtk r8tjd|YqXqWdS)Nz!exception calling callback for %r)r] ExceptionLOGGERrV)rcallbackrrr_invoke_callbacksAs   zFuture._invoke_callbacksc Cs|jv|jtkr`|jrz <%s at %#x state=%s returned %s>z<%s at %#x state=%s>) r5r;r r\r'rr3_STATE_TO_DESCRIPTION_MAPr[)rrrr__repr__Hs" zFuture.__repr__c CsR|j:|jttgkrdS|jttgkr,dSt|_|jjWdQRX|jdS)zCancel the future if possible. Returns True if the future was cancelled, False otherwise. A future cannot be cancelled if it is running or has already completed. FTN)r5r;rr rr notify_allra)rrrrcancel\sz Future.cancelc Cs |j|jttgkSQRXdS)z(Return True if the future was cancelled.N)r5r;rr )rrrrr oszFuture.cancelledc Cs|j |jtkSQRXdS)z1Return True if the future is currently executing.N)r5r;r)rrrrr tszFuture.runningc Cs"|j|jtttgkSQRXdS)z>Return True of the future was cancelled or finished executing.N)r5r;rr r )rrrrrYysz Future.donecCs|jr|jn|jSdS)N)r\r[)rrrrZ __get_result~szFuture.__get_resultc Cs>|j&|jtttgkr(|jj|dSWdQRX||dS)a%Attaches a callable that will be called when the future finishes. Args: fn: A callable that will be called with this future as its only argument when the future completes or is cancelled. The callable will always be called by a thread in the same process in which it was added. If the future has already completed or been cancelled then the callable will be called immediately. These callables are called in the order that they were added. N)r5r;rr r r]r)rfnrrradd_done_callbacks  zFuture.add_done_callbackNc Csx|jh|jttgkrtn|jtkr0|jS|jj||jttgkrRtn|jtkrd|jStWdQRXdS)aBReturn the result of the call that the future represents. Args: timeout: The number of seconds to wait for the result if the future isn't done. If None, then there is no limit on the wait time. Returns: The result of the call that the future represents. Raises: CancelledError: If the future was cancelled. TimeoutError: If the future didn't finish executing before the given timeout. Exception: If the call raised then that exception will be raised. N) r5r;rr rr _Future__get_resultrOr)rrRrrrresults   z Future.resultc Cst|jd|jttgkrtn|jtkr.|jS|jj||jttgkrPtn|jtkr`|jStWdQRXdS)aUReturn the exception raised by the call that the future represents. Args: timeout: The number of seconds to wait for the exception if the future isn't done. If None, then there is no limit on the wait time. Returns: The exception raised by the call that the future represents or None if the call completed without raising. Raises: CancelledError: If the future was cancelled. TimeoutError: If the future didn't finish executing before the given timeout. N) r5r;rr rr r\rOr)rrRrrrrVs   zFuture.exceptionc Cst|jd|jtkr6t|_x|jD]}|j|q WdS|jtkrJt|_dStj dt ||jt dWdQRXdS)aMark the future as running or process any cancel notifications. Should only be used by Executor implementations and unit tests. If the future has been cancelled (cancel() was called and returned True) then any threads waiting on the future completing (though calls to as_completed() or wait()) are notified and False is returned. If the future was not cancelled then it is put in the running state (future calls to running() will return True) and True is returned. This method should be called by Executor implementations before executing the work associated with this future. If this method returns False then the work should not be executed. Returns: False if the Future was cancelled, True otherwise. Raises: RuntimeError: if this method was already called or if set_result() or set_exception() was called. FTz!Future %s in unexpected state: %szFuture in unexpected stateN) r5r;rr rAr"rrr_Zcriticalr3 RuntimeError)rrDrrrset_running_or_notify_cancels   z#Future.set_running_or_notify_cancelc CsN|j6||_t|_x|jD]}|j|qW|jjWdQRX|jdS)zSets the return value of work associated with the future. Should only be used by Executor implementations and unit tests. N)r5r[r r;rAr rdra)rrirDrrr set_results zFuture.set_resultc CsN|j6||_t|_x|jD]}|j|qW|jjWdQRX|jdS)zSets the result of the future as being the given exception. Should only be used by Executor implementations and unit tests. N)r5r\r r;rAr!rdra)rrVrDrrr set_exception s zFuture.set_exception)N)N)rrrrrrarcrer r rYrhrgrirVrkrlrmrrrrrZ5s   "( rZc@sBeZdZdZddZdddddZdd d Zd d ZddZdS)ExecutorzCThis is an abstract base class for concrete asynchronous executors.cOs tdS)a Submits a callable to be executed with the given arguments. Schedules the callable to be executed as fn(*args, **kwargs) and returns a Future instance representing the execution of the callable. Returns: A Future representing the given call. N)NotImplementedError)rrfr9kwargsrrrsubmits zExecutor.submitNr.)rR chunksizecsBdk rtjfddt|Dfdd}|S)a}Returns an iterator equivalent to map(fn, iter). Args: fn: A callable that will take as many arguments as there are passed iterables. timeout: The maximum number of seconds to wait. If None, then there is no limit on the wait time. chunksize: The size of the chunks the iterable will be broken into before being passed to a child process. This argument is only used by ProcessPoolExecutor; it is ignored by ThreadPoolExecutor. Returns: An iterator equivalent to: map(func, *iterables) but the calls may be evaluated out-of-order. Raises: TimeoutError: If the entire result iterator could not be generated before the given timeout. Exception: If fn(*args) raises for any values. Ncsg|]}jf|qSr)rq)r<r9)rfrrr ?sz Executor.map..c 3sdzFjx8rBdkr(jjVq jjtjVq WWdxD] }|jqNWXdS)N)rQrHrirKrLre)r)rSrBrRrrresult_iteratorCs  z%Executor.map..result_iterator)rKrLzip)rrfrRrr iterablesrtr)rSrfrBrrRrmap&s   z Executor.mapTcCsdS)aClean-up the resources associated with the Executor. It is safe to call this method several times. Otherwise, no other methods can be called after this one. Args: wait: If True then shutdown will not return until all running futures have finished executing and the resources used by the executor have been reclaimed. Nr)rrOrrrshutdownRs zExecutor.shutdowncCs|S)Nr)rrrrr7_szExecutor.__enter__cCs|jdddS)NT)rOF)rx)rexc_typeZexc_valZexc_tbrrrr:bs zExecutor.__exit__)T) rrrrrqrwrxr7r:rrrrrns  , rn)N)$ __author__ collectionsZloggingrrKrrrrrrrr r Z_FUTURE_STATESrbZ getLoggerr_r^rrrobjectrr#r*r+r0rErJrT namedtuplerUrOrZrnrrrrsR  >1dPKhe[%%process.cpython-36.opt-2.pycnu[3 \ P@s^dZddlZddlZddlmZddlZddlmZddlZddlmZddl m Z ddl Z ddl Z ddl mZddlZddlZe jZdad d Zd ZGd d d eZGdddZddZGdddeZGdddeZGdddeZddZddZddZ ddZ!d d!Z"da#da$d"d#Z%d$d%Z&Gd&d'd'e'Z(Gd(d)d)ej)Z*ej+edS)*z"Brian Quinlan (brian@sweetapp.com)N)_base)Full) SimpleQueue)wait)partialFcCsJdattj}x|D]\}}|jdqWx|D]\}}|jq2WdS)NT) _shutdownlist_threads_queuesitemsputjoin)r tqr2/usr/lib64/python3.6/concurrent/futures/process.py _python_exitOs  rc@seZdZddZddZdS)_RemoteTracebackcCs ||_dS)N)tb)selfrrrr__init__asz_RemoteTraceback.__init__cCs|jS)N)r)rrrr__str__csz_RemoteTraceback.__str__N)__name__ __module__ __qualname__rrrrrrr`src@seZdZddZddZdS)_ExceptionWithTracebackcCs0tjt|||}dj|}||_d||_dS)Nz """ %s""") tracebackformat_exceptiontyper excr)rr rrrrrgs z _ExceptionWithTraceback.__init__cCst|j|jffS)N) _rebuild_excr r)rrrr __reduce__lsz"_ExceptionWithTraceback.__reduce__N)rrrrr"rrrrrfsrcCst||_|S)N)r __cause__)r rrrrr!os r!c@seZdZddZdS) _WorkItemcCs||_||_||_||_dS)N)futurefnargskwargs)rr%r&r'r(rrrrtsz_WorkItem.__init__N)rrrrrrrrr$ssr$c@seZdZdddZdS) _ResultItemNcCs||_||_||_dS)N)work_id exceptionresult)rr*r+r,rrrr{sz_ResultItem.__init__)NN)rrrrrrrrr)zsr)c@seZdZddZdS) _CallItemcCs||_||_||_||_dS)N)r*r&r'r()rr*r&r'r(rrrrsz_CallItem.__init__N)rrrrrrrrr-sr-cgs0t|}x"ttj||}|s"dS|Vq WdS)N)ziptuple itertoolsislice) chunksize iterablesitchunkrrr _get_chunkss r6csfdd|DS)Ncsg|] }|qSrr).0r')r&rr sz"_process_chunk..r)r&r5r)r&r_process_chunks r9cCsx|jdd}|dkr(|jtjdSy|j|j|j}WnBtk r~}z&t||j }|jt |j |dWYdd}~XqX|jt |j |dqWdS)NT)block)r+)r,) getr osgetpidr&r'r( BaseExceptionr __traceback__r)r*) call_queue result_queueZ call_itemrer rrr_process_workers   & rDcCsxxr|jrdSy|jdd}Wntjk r4dSX||}|jjrh|jt||j|j |j ddq||=qqWdS)NF)r:T) Zfullr;queueZEmptyr%Zset_running_or_notify_cancelr r-r&r'r()pending_work_itemsZwork_idsr@r* work_itemrrr_add_call_item_to_queues   rHc sdfdd}fdd}|j}xlt||ddjD} t|g| } || krf|j} nr|dk rd_d_dx&|jD]\} } | jj t d~ qW|j xjD] }|j qW|dSt | trj| }|jsR|dSnJ| dk rR|j| jd} | dk rR| jrB| jj | jn| jj| j~ ||ry|sr|dSWntk rYnXdq(WdS) NcstpdkpjS)N)r_shutdown_threadr)executorrr shutting_downsz/_queue_management_worker..shutting_downcsZtddjD}xtd|D]}jdq"WjxjD] }|jqFWdS)Ncss|]}|jVqdS)N)Zis_alive)r7prrr szD_queue_management_worker..shutdown_worker..r)sumvaluesrangeZ put_nowaitcloser )Znb_children_aliveirL)r@ processesrrshutdown_workers z1_queue_management_worker..shutdown_workercSsg|] }|jqSr)sentinel)r7rLrrrr8 sz,_queue_management_worker..Tz^A process in the process pool was terminated abruptly while the future was running or pending.)Z_readerrHrOrZrecv_brokenrIr r%Z set_exceptionBrokenProcessPoolclearZ terminate isinstanceintpopr r*r+Z set_resultr,r)Zexecutor_referencerSrFZwork_ids_queuer@rArKrTreaderZ sentinelsZreadyZ result_itemr*rGrLr)r@rJrSr_queue_management_workersb        r]c Cshtrtrttdaytjd}Wnttfk r:dSX|dkrHdS|dkrTdSd|attdS)NTSC_SEM_NSEMS_MAXrz@system provides too few semaphores (%d available, 256 necessary))_system_limits_checked_system_limitedNotImplementedErrorr<sysconfAttributeError ValueError)Z nsems_maxrrr_check_system_limitsQsrgccs.x(|D] }|jx|r$|jVqWqWdS)N)reverser[)iterableelementrrr_chain_from_iterable_of_listshs rkc@s eZdZdS)rWN)rrrrrrrrWtsrWcsheZdZdddZddZddZdd Zejjj e_ dd d fd d Z dddZ ejj j e _ Z S)ProcessPoolExecutorNcCst|dkrtjpd|_n|dkr.td||_tj|jt|_d|j_ t |_ t j|_ d|_i|_d|_tj|_d|_d|_i|_dS)Nrrz"max_workers must be greater than 0TF)rgr< cpu_count _max_workersrfmultiprocessingZQueueEXTRA_QUEUED_CALLS _call_queueZ _ignore_epiper _result_queuerE _work_ids_queue_management_thread _processesrI threadingZLock_shutdown_lockrV _queue_count_pending_work_items)rZ max_workersrrrr|s$   zProcessPoolExecutor.__init__cCsp|jfdd}|jdkrl|jtjttj|||j|j |j |j |jfd|_d|j_ |jj |jt|j<dS)NcSs|jddS)N)r )_rrrr weakref_cbszFProcessPoolExecutor._start_queue_management_thread..weakref_cb)targetr'T)rrrt_adjust_process_countrvZThreadr]weakrefrefruryrsrqZdaemonstartr )rr{rrr_start_queue_management_threads   z2ProcessPoolExecutor._start_queue_management_threadcCsJxDtt|j|jD].}tjt|j|jfd}|j ||j|j <qWdS)N)r|r') rPlenrurnroZProcessrDrqrrrpid)rrzrLrrrr}s z)ProcessPoolExecutor._adjust_process_countc Os|jt|jrtd|jr$tdtj}t||||}||j|j <|j j |j |j d7_ |j j d|j |SQRXdS)NzKA child process terminated abruptly, the process pool is not usable anymorez*cannot schedule new futures after shutdownr)rwrVrWrI RuntimeErrorrZFuturer$ryrxrsr rrr)rr&r'r(fwrrrsubmits  zProcessPoolExecutor.submitr)timeoutr2cs:|dkrtdtjtt|t|d|i|d}t|S)Nrzchunksize must be >= 1.r2)r)rfsupermaprr9r6rk)rr&rr2r3Zresults) __class__rrrs  zProcessPoolExecutor.mapTc CsT|j d|_WdQRX|jr8|jjd|r8|jjd|_d|_d|_d|_dS)NT)rwrIrtrrr r rqru)rrrrrshutdowns  zProcessPoolExecutor.shutdown)N)T) rrrrrr}rrExecutor__doc__rr __classcell__rr)rrrl{s (   rl), __author__atexitr<Zconcurrent.futuresrrErrorZmultiprocessing.connectionrrvr~ functoolsrr0rWeakKeyDictionaryr rrrp Exceptionrrr!objectr$r)r-r6r9rDrHr]rarbrgrkrrWrrlregisterrrrr.sH         %s  PKhe[==process.cpython-36.pycnu[3 \ P@sbdZdZddlZddlZddlmZddlZddlmZddlZddlm Z ddl m Z ddl Z ddl Z ddlmZddlZddlZe jZd ad d Zd ZGd ddeZGdddZddZGdddeZGdddeZGdddeZddZddZ ddZ!dd Z"d!d"Z#d a$da%d#d$Z&d%d&Z'Gd'd(d(e(Z)Gd)d*d*ej*Z+ej,edS)+a* Implements ProcessPoolExecutor. The follow diagram and text describe the data-flow through the system: |======================= In-process =====================|== Out-of-process ==| +----------+ +----------+ +--------+ +-----------+ +---------+ | | => | Work Ids | => | | => | Call Q | => | | | | +----------+ | | +-----------+ | | | | | ... | | | | ... | | | | | | 6 | | | | 5, call() | | | | | | 7 | | | | ... | | | | Process | | ... | | Local | +-----------+ | Process | | Pool | +----------+ | Worker | | #1..n | | Executor | | Thread | | | | | +----------- + | | +-----------+ | | | | <=> | Work Items | <=> | | <= | Result Q | <= | | | | +------------+ | | +-----------+ | | | | | 6: call() | | | | ... | | | | | | future | | | | 4, result | | | | | | ... | | | | 3, except | | | +----------+ +------------+ +--------+ +-----------+ +---------+ Executor.submit() called: - creates a uniquely numbered _WorkItem and adds it to the "Work Items" dict - adds the id of the _WorkItem to the "Work Ids" queue Local worker thread: - reads work ids from the "Work Ids" queue and looks up the corresponding WorkItem from the "Work Items" dict: if the work item has been cancelled then it is simply removed from the dict, otherwise it is repackaged as a _CallItem and put in the "Call Q". New _CallItems are put in the "Call Q" until "Call Q" is full. NOTE: the size of the "Call Q" is kept small because calls placed in the "Call Q" can no longer be cancelled with Future.cancel(). - reads _ResultItems from "Result Q", updates the future stored in the "Work Items" dict and deletes the dict entry Process #1..n: - reads _CallItems from "Call Q", executes the calls, and puts the resulting _ResultItems in "Result Q" z"Brian Quinlan (brian@sweetapp.com)N)_base)Full) SimpleQueue)wait)partialFcCsJdattj}x|D]\}}|jdqWx|D]\}}|jq2WdS)NT) _shutdownlist_threads_queuesitemsputjoin)r tqr2/usr/lib64/python3.6/concurrent/futures/process.py _python_exitOs  rc@seZdZddZddZdS)_RemoteTracebackcCs ||_dS)N)tb)selfrrrr__init__asz_RemoteTraceback.__init__cCs|jS)N)r)rrrr__str__csz_RemoteTraceback.__str__N)__name__ __module__ __qualname__rrrrrrr`src@seZdZddZddZdS)_ExceptionWithTracebackcCs0tjt|||}dj|}||_d||_dS)Nz """ %s""") tracebackformat_exceptiontyper excr)rr rrrrrgs z _ExceptionWithTraceback.__init__cCst|j|jffS)N) _rebuild_excr r)rrrr __reduce__lsz"_ExceptionWithTraceback.__reduce__N)rrrrr"rrrrrfsrcCst||_|S)N)r __cause__)r rrrrr!os r!c@seZdZddZdS) _WorkItemcCs||_||_||_||_dS)N)futurefnargskwargs)rr%r&r'r(rrrrtsz_WorkItem.__init__N)rrrrrrrrr$ssr$c@seZdZdddZdS) _ResultItemNcCs||_||_||_dS)N)work_id exceptionresult)rr*r+r,rrrr{sz_ResultItem.__init__)NN)rrrrrrrrr)zsr)c@seZdZddZdS) _CallItemcCs||_||_||_||_dS)N)r*r&r'r()rr*r&r'r(rrrrsz_CallItem.__init__N)rrrrrrrrr-sr-cgs0t|}x"ttj||}|s"dS|Vq WdS)z, Iterates over zip()ed iterables in chunks. N)ziptuple itertoolsislice) chunksize iterablesitchunkrrr _get_chunkss r6csfdd|DS)z Processes a chunk of an iterable passed to map. Runs the function passed to map() on a chunk of the iterable passed to map. This function is run in a separate process. csg|] }|qSrr).0r')r&rr sz"_process_chunk..r)r&r5r)r&r_process_chunks r9cCsx|jdd}|dkr(|jtjdSy|j|j|j}WnBtk r~}z&t||j }|jt |j |dWYdd}~XqX|jt |j |dqWdS)aEvaluates calls from call_queue and places the results in result_queue. This worker is run in a separate process. Args: call_queue: A multiprocessing.Queue of _CallItems that will be read and evaluated by the worker. result_queue: A multiprocessing.Queue of _ResultItems that will written to by the worker. shutdown: A multiprocessing.Event that will be set as a signal to the worker that it should exit when call_queue is empty. T)blockN)r+)r,) getr osgetpidr&r'r( BaseExceptionr __traceback__r)r*) call_queue result_queueZ call_itemrer rrr_process_workers   & rDcCsxxr|jrdSy|jdd}Wntjk r4dSX||}|jjrh|jt||j|j |j ddq||=qqWdS)aMFills call_queue with _WorkItems from pending_work_items. This function never blocks. Args: pending_work_items: A dict mapping work ids to _WorkItems e.g. {5: <_WorkItem...>, 6: <_WorkItem...>, ...} work_ids: A queue.Queue of work ids e.g. Queue([5, 6, ...]). Work ids are consumed and the corresponding _WorkItems from pending_work_items are transformed into _CallItems and put in call_queue. call_queue: A multiprocessing.Queue that will be filled with _CallItems derived from _WorkItems. NF)r:T) Zfullr;queueZEmptyr%Zset_running_or_notify_cancelr r-r&r'r()pending_work_itemsZwork_idsr@r* work_itemrrr_add_call_item_to_queues   rHc sdfdd}fdd}|j}x~t||ddjD} | sNtt|g| } || krn|j} nr|dk rd_d_dx&|jD]\} } | j j t d ~ qW|j xjD] }|j qW|dSt| tr|stj| }|jsd|dSnJ| dk rd|j| jd} | dk rd| jrT| j j | jn| j j| j~ ||ry|s|dSWntk rYnXdq(WdS) aManages the communication between this process and the worker processes. This function is run in a local thread. Args: executor_reference: A weakref.ref to the ProcessPoolExecutor that owns this thread. Used to determine if the ProcessPoolExecutor has been garbage collected and that this function can exit. process: A list of the multiprocessing.Process instances used as workers. pending_work_items: A dict mapping work ids to _WorkItems e.g. {5: <_WorkItem...>, 6: <_WorkItem...>, ...} work_ids_queue: A queue.Queue of work ids e.g. Queue([5, 6, ...]). call_queue: A multiprocessing.Queue that will be filled with _CallItems derived from _WorkItems for processing by the process workers. result_queue: A multiprocessing.Queue of _ResultItems generated by the process workers. NcstpdkpjS)N)r_shutdown_threadr)executorrr shutting_downsz/_queue_management_worker..shutting_downcsZtddjD}xtd|D]}jdq"WjxjD] }|jqFWdS)Ncss|]}|jVqdS)N)Zis_alive)r7prrr szD_queue_management_worker..shutdown_worker..r)sumvaluesrangeZ put_nowaitcloser )Znb_children_aliveirL)r@ processesrrshutdown_workers z1_queue_management_worker..shutdown_workercSsg|] }|jqSr)sentinel)r7rLrrrr8 sz,_queue_management_worker..Tz^A process in the process pool was terminated abruptly while the future was running or pending.)Z_readerrHrOAssertionErrorrZrecv_brokenrIr r%Z set_exceptionBrokenProcessPoolclearZ terminate isinstanceintpopr r*r+Z set_resultr,r)Zexecutor_referencerSrFZwork_ids_queuer@rArKrTreaderZ sentinelsZreadyZ result_itemr*rGrLr)r@rJrSr_queue_management_workersf         r^c Cshtrtrttdaytjd}Wnttfk r:dSX|dkrHdS|dkrTdSd|attdS)NTSC_SEM_NSEMS_MAXrz@system provides too few semaphores (%d available, 256 necessary))_system_limits_checked_system_limitedNotImplementedErrorr<sysconfAttributeError ValueError)Z nsems_maxrrr_check_system_limitsQsrhccs.x(|D] }|jx|r$|jVqWqWdS)z Specialized implementation of itertools.chain.from_iterable. Each item in *iterable* should be a list. This function is careful not to keep references to yielded objects. N)reverser\)iterableelementrrr_chain_from_iterable_of_listshs rlc@seZdZdZdS)rXzy Raised when a process in a ProcessPoolExecutor terminated abruptly while a future was in the running state. N)rrr__doc__rrrrrXtsrXcsheZdZdddZddZddZdd Zejjj e_ dd d fd d Z dddZ ejj j e _ Z S)ProcessPoolExecutorNcCst|dkrtjpd|_n|dkr.td||_tj|jt|_d|j_ t |_ t j|_ d|_i|_d|_tj|_d|_d|_i|_dS)a/Initializes a new ProcessPoolExecutor instance. Args: max_workers: The maximum number of processes that can be used to execute the given calls. If None or not given then as many worker processes will be created as the machine has processors. Nrrz"max_workers must be greater than 0TF)rhr< cpu_count _max_workersrgmultiprocessingZQueueEXTRA_QUEUED_CALLS _call_queueZ _ignore_epiper _result_queuerE _work_ids_queue_management_thread _processesrI threadingZLock_shutdown_lockrW _queue_count_pending_work_items)rZ max_workersrrrr|s$   zProcessPoolExecutor.__init__cCsp|jfdd}|jdkrl|jtjttj|||j|j |j |j |jfd|_d|j_ |jj |jt|j<dS)NcSs|jddS)N)r )_rrrr weakref_cbszFProcessPoolExecutor._start_queue_management_thread..weakref_cb)targetr'T)rtrv_adjust_process_countrxZThreadr^weakrefrefrwr{rursZdaemonstartr )rr}rrr_start_queue_management_threads   z2ProcessPoolExecutor._start_queue_management_threadcCsJxDtt|j|jD].}tjt|j|jfd}|j ||j|j <qWdS)N)r~r') rPlenrwrprqZProcessrDrsrtrpid)rr|rLrrrrs z)ProcessPoolExecutor._adjust_process_countc Os|jt|jrtd|jr$tdtj}t||||}||j|j <|j j |j |j d7_ |j j d|j |SQRXdS)NzKA child process terminated abruptly, the process pool is not usable anymorez*cannot schedule new futures after shutdownr)ryrWrXrI RuntimeErrorrZFuturer$r{rzrur rtr)rr&r'r(fwrrrsubmits  zProcessPoolExecutor.submitr)timeoutr2cs:|dkrtdtjtt|t|d|i|d}t|S)ajReturns an iterator equivalent to map(fn, iter). Args: fn: A callable that will take as many arguments as there are passed iterables. timeout: The maximum number of seconds to wait. If None, then there is no limit on the wait time. chunksize: If greater than one, the iterables will be chopped into chunks of size chunksize and submitted to the process pool. If set to one, the items in the list will be sent one at a time. Returns: An iterator equivalent to: map(func, *iterables) but the calls may be evaluated out-of-order. Raises: TimeoutError: If the entire result iterator could not be generated before the given timeout. Exception: If fn(*args) raises for any values. rzchunksize must be >= 1.r2)r)rgsupermaprr9r6rl)rr&rr2r3Zresults) __class__rrrs  zProcessPoolExecutor.mapTc CsT|j d|_WdQRX|jr8|jjd|r8|jjd|_d|_d|_d|_dS)NT)ryrIrvrtr r rsrw)rrrrrshutdowns  zProcessPoolExecutor.shutdown)N)T) rrrrrrrrExecutorrmrr __classcell__rr)rrrn{s (   rn)-rm __author__atexitr<Zconcurrent.futuresrrErrqrZmultiprocessing.connectionrrxr functoolsrr0rWeakKeyDictionaryr rrrr Exceptionrrr!objectr$r)r-r6r9rDrHr^rbrcrhrlrrXrrnregisterrrrr,sJ         %s  PKhe[!^rJJthread.cpython-36.opt-1.pycnu[3 \@sdZdZddlZddlmZddlZddlZddlZddlZddl Z ej Z da ddZ eje Gdd d eZd d ZGd d d ejZdS)zImplements ThreadPoolExecutor.z"Brian Quinlan (brian@sweetapp.com)N)_baseFcCsJdattj}x|D]\}}|jdqWx|D]\}}|jq2WdS)NT) _shutdownlist_threads_queuesitemsputjoin)rtqr 1/usr/lib64/python3.6/concurrent/futures/thread.py _python_exit!s  r c@seZdZddZddZdS) _WorkItemcCs||_||_||_||_dS)N)futurefnargskwargs)selfrrrrr r r __init__-sz_WorkItem.__init__cCsf|jjsdSy|j|j|j}Wn2tk rT}z|jj|d}WYdd}~XnX|jj|dS)N)rZset_running_or_notify_cancelrrr BaseExceptionZ set_exceptionZ set_result)rresultexcr r r run3s  z _WorkItem.runN)__name__ __module__ __qualname__rrr r r r r,src Cs|yRxL|jdd}|dk r$|j~q|}ts<|dks<|jrJ|jddS~qWWn$tk rvtjjdddYnXdS)NT)blockzException in worker)exc_info)getrrrrrZLOGGERZcritical)Zexecutor_referenceZ work_queueZ work_itemZexecutorr r r _worker@s   rc@sReZdZejjZd ddZddZe j jj e_ ddZ d d d Z e j j j e _ dS)ThreadPoolExecutorNcCsf|dkrtjpdd}|dkr(td||_tj|_t|_d|_ t j |_ |p^d|j |_dS)aInitializes a new ThreadPoolExecutor instance. Args: max_workers: The maximum number of threads that can be used to execute the given calls. thread_name_prefix: An optional name prefix to give our threads. Nrz"max_workers must be greater than 0FzThreadPoolExecutor-%d)os cpu_count ValueError _max_workersqueueZQueue _work_queueset_threadsr threadingZLock_shutdown_lock_counter_thread_name_prefix)rZ max_workersZthread_name_prefixr r r r[s  zThreadPoolExecutor.__init__c OsN|j>|jrtdtj}t||||}|jj||j|SQRXdS)Nz*cannot schedule new futures after shutdown) r-r RuntimeErrorrZFuturerr)r_adjust_thread_count)rrrrfwr r r submitrs zThreadPoolExecutor.submitcCsz|jfdd}t|j}||jkrvd|jp,||f}tj|ttj |||jfd}d|_ |j |jj ||jt |<dS)NcSs|jddS)N)r)_r r r r weakref_cbsz;ThreadPoolExecutor._adjust_thread_count..weakref_cbz%s_%d)nametargetrT)r)lenr+r'r/r,ZThreadrweakrefrefZdaemonstartaddr)rr6Z num_threadsZ thread_namer r r r r1s      z'ThreadPoolExecutor._adjust_thread_countTc CsD|jd|_|jjdWdQRX|r@x|jD] }|jq0WdS)NT)r-rr)rr+r)rwaitr r r r shutdowns  zThreadPoolExecutor.shutdown)Nr!)T)rrr itertoolscount__next__r.rr4rExecutor__doc__r1r?r r r r r Vs    r )rD __author__atexitZconcurrent.futuresrr@r(r,r:r$WeakKeyDictionaryrrr registerobjectrrrCr r r r r s  PKhe[GꂚPP_base.cpython-36.pycnu[3 \R @sPdZddlZddlZddlZddlZdZdZdZdZdZ dZ d Z d Z d Z e e e e e gZe d e d e de de diZejdZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZd!d"Zd#d$Zd/d%d&Zejd'd(Z defd)d*Z!Gd+d,d,eZ"Gd-d.d.eZ#dS)0z"Brian Quinlan (brian@sweetapp.com)NFIRST_COMPLETEDFIRST_EXCEPTION ALL_COMPLETED _AS_COMPLETEDPENDINGRUNNING CANCELLEDCANCELLED_AND_NOTIFIEDFINISHEDpendingrunning cancelledfinishedzconcurrent.futuresc@seZdZdZdS)Errorz-Base class for all future-related exceptions.N)__name__ __module__ __qualname____doc__rr0/usr/lib64/python3.6/concurrent/futures/_base.pyr,src@seZdZdZdS)CancelledErrorzThe Future was cancelled.N)rrrrrrrrr0src@seZdZdZdS) TimeoutErrorz*The operation exceeded the given deadline.N)rrrrrrrrr4src@s0eZdZdZddZddZddZdd Zd S) _Waiterz;Provides the event that wait() and as_completed() block on.cCstj|_g|_dS)N) threadingZEventeventfinished_futures)selfrrr__init__:s z_Waiter.__init__cCs|jj|dS)N)rappend)rfuturerrr add_result>sz_Waiter.add_resultcCs|jj|dS)N)rr)rrrrr add_exceptionAsz_Waiter.add_exceptioncCs|jj|dS)N)rr)rrrrr add_cancelledDsz_Waiter.add_cancelledN)rrrrrr r!r"rrrrr8s rcsDeZdZdZfddZfddZfddZfdd ZZS) _AsCompletedWaiterzUsed by as_completed().cstt|jtj|_dS)N)superr#rrLocklock)r) __class__rrrJsz_AsCompletedWaiter.__init__c s0|j tt|j||jjWdQRXdS)N)r&r$r#r rset)rr)r'rrr Nsz_AsCompletedWaiter.add_resultc s0|j tt|j||jjWdQRXdS)N)r&r$r#r!rr()rr)r'rrr!Ssz _AsCompletedWaiter.add_exceptionc s0|j tt|j||jjWdQRXdS)N)r&r$r#r"rr()rr)r'rrr"Xsz _AsCompletedWaiter.add_cancelled) rrrrrr r!r" __classcell__rr)r'rr#Gs    r#cs8eZdZdZfddZfddZfddZZS)_FirstCompletedWaiterz*Used by wait(return_when=FIRST_COMPLETED).cstj||jjdS)N)r$r rr()rr)r'rrr `s z _FirstCompletedWaiter.add_resultcstj||jjdS)N)r$r!rr()rr)r'rrr!ds z#_FirstCompletedWaiter.add_exceptioncstj||jjdS)N)r$r"rr()rr)r'rrr"hs z#_FirstCompletedWaiter.add_cancelled)rrrrr r!r"r)rr)r'rr*]s  r*csLeZdZdZfddZddZfddZfdd Zfd d ZZ S) _AllCompletedWaiterzsz._create_and_install_waiters..T)r-FzInvalid return condition: %r) rr#rr*sumrr+r ValueError_waitersr)fs return_whenwaiterZ pending_countr=rrr_create_and_install_waiterss  rEc csXxR|rR|d}x|D]}|j|qW|j|jj|WdQRX~|jVqWdS)a~ Iterate on the list *fs*, yielding finished futures one by one in reverse order. Before yielding a future, *waiter* is removed from its waiters and the future is removed from each set in the collection of sets *ref_collect*. The aim of this function is to avoid keeping stale references after the future is yielded and before the iterator resumes. r.N)remover5rApop)rBrD ref_collectr=Z futures_setrrr_yield_finished_futuress  rJc csJ|dk r|tj}t|}t|}t|*tdd|D}||}t|t}WdQRXt|}zt|||fdEdHx|r|dkrd}n(|tj}|dkrt dt||f|j j ||j |j }g|_ |j jWdQRX|jt||||fdEdHq~WWdx,|D]$}|j|jj|WdQRXqWXdS)anAn iterator over the given futures that yields each as it completes. Args: fs: The sequence of Futures (possibly created by different Executors) to iterate over. timeout: The maximum number of seconds to wait. If None, then there is no limit on the wait time. Returns: An iterator that yields the given Futures as they complete (finished or cancelled). If any given Futures are duplicated, they will be returned once. Raises: TimeoutError: If the entire result iterator could not be generated before the given timeout. Ncss |]}|jttgkr|VqdS)N)r;r r )r<r=rrrr>szas_completed..)rIrz%d (of %d) futures unfinished)time monotonicr(lenr0rErlistrJrrwaitr&rclearreverser5rArG) rBtimeoutend_timeZ total_futuresrr rDZ wait_timeoutr=rrr as_completeds@     rTDoneAndNotDoneFuturesz done not_donecCst|tdd|D}t||}|tkr>|r>t||S|tkrf|rftdd|Drft||St|t|krt||St||}WdQRX|jj |x*|D]"}|j |j j |WdQRXqW|j |jt|t||S)aWait for the futures in the given sequence to complete. Args: fs: The sequence of Futures (possibly created by different Executors) to wait upon. timeout: The maximum number of seconds to wait. If None, then there is no limit on the wait time. return_when: Indicates when this function should return. The options are: FIRST_COMPLETED - Return when any future finishes or is cancelled. FIRST_EXCEPTION - Return when any future finishes by raising an exception. If no future raises an exception then it is equivalent to ALL_COMPLETED. ALL_COMPLETED - Return when all futures finish or are cancelled. Returns: A named 2-tuple of sets. The first set, named 'done', contains the futures that completed (is finished or cancelled) before the wait completed. The second set, named 'not_done', contains uncompleted futures. css |]}|jttgkr|VqdS)N)r;r r )r<r=rrrr>szwait..css(|] }|j r|jdk r|VqdS)N)r exception)r<r=rrrr>$sN)r0r(rrUranyrMrErrOr5rArGupdater)rBrRrCdoneZnot_donerDr=rrrrOs"          rOc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ dddZ d ddZddZddZddZdS)!Futurez5Represents the result of an asynchronous computation.cCs,tj|_t|_d|_d|_g|_g|_dS)z8Initializes the future. Should not be called by clients.N) rZ Conditionr5rr;_result _exceptionrA_done_callbacks)rrrrr8s  zFuture.__init__c CsBx<|jD]2}y ||Wqtk r8tjd|YqXqWdS)Nz!exception calling callback for %r)r] ExceptionLOGGERrV)rcallbackrrr_invoke_callbacksAs   zFuture._invoke_callbacksc Cs|jv|jtkr`|jrz <%s at %#x state=%s returned %s>z<%s at %#x state=%s>) r5r;r r\r'rr3_STATE_TO_DESCRIPTION_MAPr[)rrrr__repr__Hs" zFuture.__repr__c CsR|j:|jttgkrdS|jttgkr,dSt|_|jjWdQRX|jdS)zCancel the future if possible. Returns True if the future was cancelled, False otherwise. A future cannot be cancelled if it is running or has already completed. FTN)r5r;rr rr notify_allra)rrrrcancel\sz Future.cancelc Cs |j|jttgkSQRXdS)z(Return True if the future was cancelled.N)r5r;rr )rrrrr oszFuture.cancelledc Cs|j |jtkSQRXdS)z1Return True if the future is currently executing.N)r5r;r)rrrrr tszFuture.runningc Cs"|j|jtttgkSQRXdS)z>Return True of the future was cancelled or finished executing.N)r5r;rr r )rrrrrYysz Future.donecCs|jr|jn|jSdS)N)r\r[)rrrrZ __get_result~szFuture.__get_resultc Cs>|j&|jtttgkr(|jj|dSWdQRX||dS)a%Attaches a callable that will be called when the future finishes. Args: fn: A callable that will be called with this future as its only argument when the future completes or is cancelled. The callable will always be called by a thread in the same process in which it was added. If the future has already completed or been cancelled then the callable will be called immediately. These callables are called in the order that they were added. N)r5r;rr r r]r)rfnrrradd_done_callbacks  zFuture.add_done_callbackNc Csx|jh|jttgkrtn|jtkr0|jS|jj||jttgkrRtn|jtkrd|jStWdQRXdS)aBReturn the result of the call that the future represents. Args: timeout: The number of seconds to wait for the result if the future isn't done. If None, then there is no limit on the wait time. Returns: The result of the call that the future represents. Raises: CancelledError: If the future was cancelled. TimeoutError: If the future didn't finish executing before the given timeout. Exception: If the call raised then that exception will be raised. N) r5r;rr rr _Future__get_resultrOr)rrRrrrresults   z Future.resultc Cst|jd|jttgkrtn|jtkr.|jS|jj||jttgkrPtn|jtkr`|jStWdQRXdS)aUReturn the exception raised by the call that the future represents. Args: timeout: The number of seconds to wait for the exception if the future isn't done. If None, then there is no limit on the wait time. Returns: The exception raised by the call that the future represents or None if the call completed without raising. Raises: CancelledError: If the future was cancelled. TimeoutError: If the future didn't finish executing before the given timeout. N) r5r;rr rr r\rOr)rrRrrrrVs   zFuture.exceptionc Cst|jd|jtkr6t|_x|jD]}|j|q WdS|jtkrJt|_dStj dt ||jt dWdQRXdS)aMark the future as running or process any cancel notifications. Should only be used by Executor implementations and unit tests. If the future has been cancelled (cancel() was called and returned True) then any threads waiting on the future completing (though calls to as_completed() or wait()) are notified and False is returned. If the future was not cancelled then it is put in the running state (future calls to running() will return True) and True is returned. This method should be called by Executor implementations before executing the work associated with this future. If this method returns False then the work should not be executed. Returns: False if the Future was cancelled, True otherwise. Raises: RuntimeError: if this method was already called or if set_result() or set_exception() was called. FTz!Future %s in unexpected state: %szFuture in unexpected stateN) r5r;rr rAr"rrr_Zcriticalr3 RuntimeError)rrDrrrset_running_or_notify_cancels   z#Future.set_running_or_notify_cancelc CsN|j6||_t|_x|jD]}|j|qW|jjWdQRX|jdS)zSets the return value of work associated with the future. Should only be used by Executor implementations and unit tests. N)r5r[r r;rAr rdra)rrirDrrr set_results zFuture.set_resultc CsN|j6||_t|_x|jD]}|j|qW|jjWdQRX|jdS)zSets the result of the future as being the given exception. Should only be used by Executor implementations and unit tests. N)r5r\r r;rAr!rdra)rrVrDrrr set_exception s zFuture.set_exception)N)N)rrrrrrarcrer r rYrhrgrirVrkrlrmrrrrrZ5s   "( rZc@sBeZdZdZddZdddddZdd d Zd d ZddZdS)ExecutorzCThis is an abstract base class for concrete asynchronous executors.cOs tdS)a Submits a callable to be executed with the given arguments. Schedules the callable to be executed as fn(*args, **kwargs) and returns a Future instance representing the execution of the callable. Returns: A Future representing the given call. N)NotImplementedError)rrfr9kwargsrrrsubmits zExecutor.submitNr.)rR chunksizecsBdk rtjfddt|Dfdd}|S)a}Returns an iterator equivalent to map(fn, iter). Args: fn: A callable that will take as many arguments as there are passed iterables. timeout: The maximum number of seconds to wait. If None, then there is no limit on the wait time. chunksize: The size of the chunks the iterable will be broken into before being passed to a child process. This argument is only used by ProcessPoolExecutor; it is ignored by ThreadPoolExecutor. Returns: An iterator equivalent to: map(func, *iterables) but the calls may be evaluated out-of-order. Raises: TimeoutError: If the entire result iterator could not be generated before the given timeout. Exception: If fn(*args) raises for any values. Ncsg|]}jf|qSr)rq)r<r9)rfrrr ?sz Executor.map..c 3sdzFjx8rBdkr(jjVq jjtjVq WWdxD] }|jqNWXdS)N)rQrHrirKrLre)r)rSrBrRrrresult_iteratorCs  z%Executor.map..result_iterator)rKrLzip)rrfrRrr iterablesrtr)rSrfrBrrRrmap&s   z Executor.mapTcCsdS)aClean-up the resources associated with the Executor. It is safe to call this method several times. Otherwise, no other methods can be called after this one. Args: wait: If True then shutdown will not return until all running futures have finished executing and the resources used by the executor have been reclaimed. Nr)rrOrrrshutdownRs zExecutor.shutdowncCs|S)Nr)rrrrr7_szExecutor.__enter__cCs|jdddS)NT)rOF)rx)rexc_typeZexc_valZexc_tbrrrr:bs zExecutor.__exit__)T) rrrrrqrwrxr7r:rrrrrns  , rn)N)$ __author__ collectionsZloggingrrKrrrrrrrr r Z_FUTURE_STATESrbZ getLoggerr_r^rrrobjectrr#r*r+r0rErJrT namedtuplerUrOrZrnrrrrsR  >1dPK~e[*5ee__main__.cpython-311.opt-2.pycnu[ !A?hX`ddlZddlZedkrejejdSdS)N__main__) ensurepipsys__name__exit_main+/usr/lib64/python3.11/ensurepip/__main__.pyr sO  z CH_Y_  r PK~e[\\ _uninstall.cpython-311.opt-2.pycnu[ !A?h(h ddlZddlZddlZddZedkrejedSdS)Nc:tjd}|dddt jd|dd d d d d ||}t j|jS)Nzpython -m ensurepip._uninstall)progz --versionversionzpip {}z7Show the version of pip this will attempt to uninstall.)actionrhelpz-vz --verbosecountr verbosityzDGive more output. Option is additive, and can be used up to 3 times.)rdefaultdestr)r ) argparseArgumentParser add_argumentformat ensurepipr parse_args_uninstall_helperr )argvparserargss -/usr/lib64/python3.11/ensurepip/_uninstall.py_mainrs  $*J K K KF  1 3 344 F    k     T " "D  & @ @ @@__main__)N)r rsysr__name__exitrrrsqJ AAAA, z CHUUWWrPK~e[>9u _uninstall.cpython-311.opt-1.pycnu[ !A?h(jdZddlZddlZddlZddZedkrejedSdS)zDBasic pip uninstallation support, helper for the Windows uninstallerNc:tjd}|dddt jd|dd d d d d ||}t j|jS)Nzpython -m ensurepip._uninstall)progz --versionversionzpip {}z7Show the version of pip this will attempt to uninstall.)actionrhelpz-vz --verbosecountr verbosityzDGive more output. Option is additive, and can be used up to 3 times.)rdefaultdestr)r ) argparseArgumentParser add_argumentformat ensurepipr parse_args_uninstall_helperr )argvparserargss -/usr/lib64/python3.11/ensurepip/_uninstall.py_mainrs  $*J K K KF  1 3 344 F    k     T " "D  & @ @ @@__main__)N)__doc__r rsysr__name__exitrrrstJJ AAAA, z CHUUWWrPK~e[>9u_uninstall.cpython-311.pycnu[ !A?h(jdZddlZddlZddlZddZedkrejedSdS)zDBasic pip uninstallation support, helper for the Windows uninstallerNc:tjd}|dddt jd|dd d d d d ||}t j|jS)Nzpython -m ensurepip._uninstall)progz --versionversionzpip {}z7Show the version of pip this will attempt to uninstall.)actionrhelpz-vz --verbosecountr verbosityzDGive more output. Option is additive, and can be used up to 3 times.)rdefaultdestr)r ) argparseArgumentParser add_argumentformat ensurepipr parse_args_uninstall_helperr )argvparserargss -/usr/lib64/python3.11/ensurepip/_uninstall.py_mainrs  $*J K K KF  1 3 344 F    k     T " "D  & @ @ @@__main__)N)__doc__r rsysr__name__exitrrrstJJ AAAA, z CHUUWWrPK~e[*5ee__main__.cpython-311.pycnu[ !A?hX`ddlZddlZedkrejejdSdS)N__main__) ensurepipsys__name__exit_main+/usr/lib64/python3.11/ensurepip/__main__.pyr sO  z CH_Y_  r PK~e[*5ee__main__.cpython-311.opt-1.pycnu[ !A?hX`ddlZddlZedkrejejdSdS)N__main__) ensurepipsys__name__exit_main+/usr/lib64/python3.11/ensurepip/__main__.pyr sO  z CH_Y_  r PKpe[MBHHdammit.cpython-36.opt-1.pycnu[3 6]t@s dZdZddlZddlmZddlZddlZddlZdZyddl Z ddZ WnFe k ryddl Z ddZ Wne k rddZ YnXYnXy ddl Z Wne k rYnXejd jejZejd jejZGd d d eZGd ddZGdddZdS)aBBeautiful Soup bonus library: Unicode, Dammit This library converts a bytestream to Unicode through any means necessary. It is heavily based on code from Mark Pilgrim's Universal Feed Parser. It works best on XML and HTML, but it does not rewrite the XML or HTML to reflect a new encoding; that's the tree builder's job. ZMITN)codepoint2namecCstj|dS)Nencoding)cchardetdetect)sr/usr/lib/python3.6/dammit.pychardet_dammitsr cCstj|dS)Nr)chardetr)rrrrr !scCsdS)Nr)rrrrr 'sz!^<\?.*encoding=['"](.*?)['"].*\?>z0<\s*meta[^>]+charset\s*=\s*["']?([^>]*?)[ /;'">]c@seZdZdZddZe\ZZZdddddd Ze j d Z e j d Z e d d Ze ddZe ddZe dddZe dddZe ddZdS)EntitySubstitutionzASubstitute XML or HTML entities for the corresponding characters.cCsni}i}g}xBttjD]2\}}t|}|dkrD|j||||<|||<qWddj|}||tj|fS)N"z[%s])listritemschrappendjoinrecompile)lookupZreverse_lookupZcharacters_for_reZ codepointname characterZ re_definitionrrr_populate_class_variables9s  z,EntitySubstitution._populate_class_variablesZaposZquotZampltgt)'"&<>z&([<>]|&(?!#\d+;|#x[0-9a-fA-F]+;|\w+;))z([<>&])cCs|jj|jd}d|S)Nrz&%s;)CHARACTER_TO_HTML_ENTITYgetgroup)clsmatchobjentityrrr_substitute_html_entityZsz*EntitySubstitution._substitute_html_entitycCs|j|jd}d|S)zmUsed with a regular expression to substitute the appropriate XML entity for an XML special character.rz&%s;)CHARACTER_TO_XML_ENTITYr")r#r$r%rrr_substitute_xml_entity_sz)EntitySubstitution._substitute_xml_entitycCs6d}d|kr*d|kr&d}|jd|}nd}|||S)a*Make a value into a quoted XML attribute, possibly escaping it. Most strings will be quoted using double quotes. Bob's Bar -> "Bob's Bar" If a string contains double quotes, it will be quoted using single quotes. Welcome to "my bar" -> 'Welcome to "my bar"' If a string contains both single and double quotes, the double quotes will be escaped, and the string will be quoted using double quotes. Welcome to "Bob's Bar" -> "Welcome to "Bob's bar" rrz")replace)selfvalueZ quote_withZ replace_withrrrquoted_attribute_valuefsz)EntitySubstitution.quoted_attribute_valueFcCs"|jj|j|}|r|j|}|S)a Substitute XML entities for special XML characters. :param value: A string to be substituted. The less-than sign will become <, the greater-than sign will become >, and any ampersands will become &. If you want ampersands that appear to be part of an entity definition to be left alone, use substitute_xml_containing_entities() instead. :param make_quoted_attribute: If True, then the string will be quoted, as befits an attribute value. )AMPERSAND_OR_BRACKETsubr(r,)r#r+make_quoted_attributerrrsubstitute_xmls   z!EntitySubstitution.substitute_xmlcCs"|jj|j|}|r|j|}|S)aSubstitute XML entities for special XML characters. :param value: A string to be substituted. The less-than sign will become <, the greater-than sign will become >, and any ampersands that are not part of an entity defition will become &. :param make_quoted_attribute: If True, then the string will be quoted, as befits an attribute value. )BARE_AMPERSAND_OR_BRACKETr.r(r,)r#r+r/rrr"substitute_xml_containing_entitiess   z5EntitySubstitution.substitute_xml_containing_entitiescCs|jj|j|S)aReplace certain Unicode characters with named HTML entities. This differs from data.encode(encoding, 'xmlcharrefreplace') in that the goal is to make the result more readable (to those with ASCII displays) rather than to recover from errors. There's absolutely nothing wrong with a UTF-8 string containg a LATIN SMALL LETTER E WITH ACUTE, but replacing that character with "é" will make it more readable to some people. )CHARACTER_TO_HTML_ENTITY_REr.r&)r#rrrrsubstitute_htmls z"EntitySubstitution.substitute_htmlN)F)F)__name__ __module__ __qualname____doc__rr ZHTML_ENTITY_TO_CHARACTERr3r'rrr1r- classmethodr&r(r,r0r2r4rrrrr 5s$      %  r c@sHeZdZdZdddZddZedd Zed d Z edd d Z dS)EncodingDetectora^Suggests a number of possible encodings for a bytestring. Order of precedence: 1. Encodings you specifically tell EncodingDetector to try first (the override_encodings argument to the constructor). 2. An encoding declared within the bytestring itself, either in an XML declaration (if the bytestring is to be interpreted as an XML document), or in a tag (if the bytestring is to be interpreted as an HTML document.) 3. An encoding detected through textual analysis by chardet, cchardet, or a similar external library. 4. UTF-8. 5. Windows-1252. NFcCsN|pg|_|pg}tdd|D|_d|_||_d|_|j|\|_|_dS)NcSsg|] }|jqSr)lower).0xrrr sz-EncodingDetector.__init__..) override_encodingssetexclude_encodingschardet_encodingis_htmldeclared_encodingstrip_byte_order_markmarkupsniffed_encoding)r*rFr?rCrArrr__init__s zEncodingDetector.__init__cCs8|dk r4|j}||jkrdS||kr4|j|dSdS)NFT)r;rAadd)r*rtriedrrr_usables  zEncodingDetector._usableccst}x |jD]}|j||r|VqW|j|j|r>|jV|jdkrZ|j|j|j|_|j|j|rp|jV|jdkrt |j|_|j|j|r|jVxdD]}|j||r|VqWdS)z tag, hopefully near the beginning of the document. iig?N)endposrasciir)) rVmaxintxml_encoding_research html_meta_regroupsdecoder;)r#rFrCZsearch_entire_documentZ xml_endposZ html_endposrDZdeclared_encoding_matchrrrrN+s   z'EncodingDetector.find_declared_encoding)NFN)FF) r5r6r7r8rHrKpropertyrPr9rErNrrrrr:s  ! r:c@sReZdZdZdddZdddgZgdd gfd d Zd d ZdddZdddZ e ddZ ddZ ddZ ddd d!d"d#d$d%d&d'd(d)d*d2d+d2d2d,d-d.d/d0d1d2d3d4d5d6d7d2d8d9dQ ZdRddSdTdUdVdWdXdYdZd[d\d]d2d^d2d2d_d_d`d`dadbdcdddedfdgdhd2didjddkdldmdndodpd[dqdPdrdsdkddtdbdudvdwdxd:dzd{dadSd|drd}d~ddd2ddddddddddddddddddddddddaddddddjddddddddddlddddddddduddudududududdudzdzdzdzddddZdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d dzZd;d<d=gZeddZed>dZed?ddZdS(@ UnicodeDammitzA class for detecting the encoding of a *ML document and converting it to a Unicode string. If the source encoding is windows-1252, can replace MS smart quotes with their HTML or XML equivalents.z mac-romanz shift-jis) macintoshzx-sjis windows-1252z iso-8859-1z iso-8859-2NFcCs||_g|_d|_||_tjt|_t|||||_ t |t sF|dkr`||_ t ||_ d|_dS|j j |_ d}x,|j jD] }|j j }|j|}|dk rxPqxW|sx@|j jD]4}|dkr|j|d}|dk r|jjdd|_PqW||_ |sd|_dS)NFr rYr)zSSome characters could not be decoded, and were replaced with REPLACEMENT CHARACTER.T)smart_quotes_totried_encodingsZcontains_replacement_charactersrCloggingZ getLoggerr5logr:detectorrTrUrFZunicode_markuporiginal_encodingrP _convert_fromZwarning)r*rFr?rerCrAurrrrrHXs>     zUnicodeDammit.__init__cCs|jd}|jdkr&|jj|j}nf|jj|}t|tkr|jdkrfdj|djdj}qdj|djdj}n|j}|S)z[Changes a MS smart quote character to an XML or HTML entity, or an ASCII character.rYZxmlz&#x;rr)r"reMS_CHARS_TO_ASCIIr!encodeMS_CHARStypetuple)r*matchZorigr.rrr _sub_ms_chars     zUnicodeDammit._sub_ms_charstrictcCs|j|}| s||f|jkr"dS|jj||f|j}|jdk rh||jkrhd}tj|}|j|j |}y|j |||}||_||_ Wn t k r}zdSd}~XnX|jS)Ns([-])) find_codecrfrrFreENCODINGS_WITH_SMART_QUOTESrrr.ru _to_unicoderj Exception)r*ZproposederrorsrFZsmart_quotes_reZsmart_quotes_compiledrlrOrrrrks"     zUnicodeDammit._convert_fromcCs t|||S)zGiven a string and its encoding, decodes the string into Unicode. %encoding is a string recognized by encodings.aliases)rU)r*rWrr{rrrryszUnicodeDammit._to_unicodecCs|js dS|jjS)N)rCrirD)r*rrrdeclared_html_encodingsz$UnicodeDammit.declared_html_encodingcCs`|j|jj||pN|r*|j|jddpN|r@|j|jddpN|rL|jpN|}|r\|jSdS)N-r _)_codecCHARSET_ALIASESr!r)r;)r*charsetr+rrrrws zUnicodeDammit.find_codecc Cs<|s|Sd}ytj||}Wnttfk r6YnX|S)N)codecsr LookupError ValueError)r*rcodecrrrrs zUnicodeDammit._codeceuro20AC sbquo201Afnof192bdquo201Ehellip2026dagger2020Dagger2021circ2C6permil2030Scaron160lsaquo2039OElig152?#x17D17Dlsquo2018rsquo2019ldquo201Crdquo201Dbull2022ndash2013mdash2014tilde2DCtrade2122scaron161rsaquo203Aoelig153#x17E17EYumlr ) ZEUR,fz,,z...+z++^%SrZOEZrr*r}z--~z(TM)rrZoezY!cZGBP$ZYEN|z..z(th)z<>z1/4z1/2z3/4AZAECEIDNOUbBaZaerOin/y)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs€s‚sƒs„s…s†s‡sˆs‰sŠs‹sŒsŽs‘s’s“s”s•s–s—s˜s™sšs›sœsžsŸs s¡s¢s£s¤s¥s¦s§s¨s©sªs«s¬s­s®s¯s°s±s²s³s´sµs¶s·s¸s¹sºs»s¼s½s¾s¿sÀsÁsÂsÃsÄsÅsÆsÇsÈsÉsÊsËsÌsÍsÎsÏsÐsÑsÒsÓsÔsÕsÖs×sØsÙsÚsÛsÜsÝsÞsßsàrsâsãsäsåsæsçsèsésêsësìsísîsïsðsñsòsósôsõsös÷søsùsúsûsüsýsþ)zrrrRrrrSrrrQrrmutf8c Cs$|jddjdkrtd|jdkr0tdg}d }d }x|t|kr||}t|tsft|}||jkr||jkrxz|j D]$\}} } ||kr|| kr|| 7}PqWq>|d kr||j kr|j ||||j |j ||d 7}|}q>|d 7}q>W|d kr|S|j ||d d j |S)aFix characters from one encoding embedded in some other encoding. Currently the only situation supported is Windows-1252 (or its subset ISO-8859-1), embedded in UTF-8. The input must be a bytestring. If you've already converted the document to Unicode, you're too late. The output is a bytestring in which `embedded_encoding` characters have been converted to their `main_encoding` equivalents. r~r} windows-1252 windows_1252zPWindows-1252 and ISO-8859-1 are the only currently supported embedded encodings.rutf-8z4UTF-8 is the only currently supported main encoding.rrarmN)rr)rr) r)r;NotImplementedErrorrVrTr[ordFIRST_MULTIBYTE_MARKERLAST_MULTIBYTE_MARKERMULTIBYTE_MARKERS_AND_SIZESWINDOWS_1252_TO_UTF8rr) r#Zin_bytesZ main_encodingZembedded_encodingZ byte_chunksZ chunk_startposZbytestartendsizerrr detwingle s<      zUnicodeDammit.detwingle)rv)rv)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr )rr)rrrR)rrrS)rrrQ)rrd)r5r6r7r8rrxrHrurkryrar|rwrrqrorrrrr9rrrrrrbEs`1        rb)r8Z __license__rZ html.entitiesrrrgstringZ chardet_typerr ImportErrorr Z iconv_codecrrprr\r^objectr r:rbrrrrs8    PKpe[rd?Z"d@dAZ#dBdCZ$dDdEZ%dFdZdGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:dqS)rHTMLTreeBuilderSmokeTestaCA basic test of a treebuilder's competence. Any HTML treebuilder, present or future, should be able to pass these tests. With invalid markup, there's room for interpretation, and different parsers can handle it differently. But with the markup in these tests, there's not much room for interpretation. cCs4x.dD]&}|jd}|j|}|jd|jqWdS)zmVerify that all HTML4 and HTML5 empty element (aka void element) tags are handled correctly. areabasebrcolembedhrimginputkeygenlinkmenuitemmetaparamsourcetrackwbrspacerframeTN)r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4)rnew_tagris_empty_element)r namerr6r r rtest_empty_element_tagsIs   z0HTMLTreeBuilderSmokeTest.test_empty_element_tagscCsF|jd}tj|d}tj|}|j|jt|j|j|jdS)Nz foo)rpickledumpsloadsr __class__rr)r treedumpedloadedr r r!test_pickle_and_unpickle_identityUs    z:HTMLTreeBuilderSmokeTest.test_pickle_and_unpickle_identitycCsf|j|\}}|jd}|j|jt|j|||jt|dt|||j|jjdddS)z8Assert that a given doctype string is handled correctly.rNfoo)_document_with_doctypecontentsrr>rstrlenp)r doctype_fragmentZ doctype_strrdoctyper r rassertDoctypeHandled^s   z-HTMLTreeBuilderSmokeTest.assertDoctypeHandledcCs"d|}|d}|j|}||fS)z5Generate and parse a document with the given doctype.z z

foo

)r)r rIrJrrr r rrDls z/HTMLTreeBuilderSmokeTest._document_with_doctypecCs|jd|jddS)z?Make sure normal, everyday HTML doctypes are handled correctly.htmlz4html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"N)rK)r r r rtest_normal_doctypesss z-HTMLTreeBuilderSmokeTest.test_normal_doctypescCs(|jd}|jd}|jd|jdS)Nz rr5)rrErstrip)r rrJr r rtest_empty_doctypeys  z+HTMLTreeBuilderSmokeTest.test_empty_doctypecCsd}|j|dS)Nznhtml PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd")rK)r rJr r rtest_public_doctype_with_url~sz5HTMLTreeBuilderSmokeTest.test_public_doctype_with_urlcCs|jddS)Nz$foo SYSTEM "http://www.example.com/")rK)r r r rtest_system_doctypesz,HTMLTreeBuilderSmokeTest.test_system_doctypecCs|jddS)Nz#xsl:stylesheet SYSTEM "htmlent.dtd")rK)r r r rtest_namespaced_system_doctypesz7HTMLTreeBuilderSmokeTest.test_namespaced_system_doctypecCs|jddS)Nz#xsl:stylesheet PUBLIC "htmlent.dtd")rK)r r r rtest_namespaced_public_doctypesz7HTMLTreeBuilderSmokeTest.test_namespaced_public_doctypecCs4d}|j|}|j|jdjdd|jdddS)zJA real XHTML document should come out more or less the same as it went in.s Hello. Goodbye. zutf-8 N)rrencodereplace)r rrr r rtest_real_xhtml_documents  z1HTMLTreeBuilderSmokeTest.test_real_xhtml_documentcCs(d}|j|}|jdt|jddS)ztWhen a namespaced XML document is parsed as HTML it should be treated as HTML with weird tag names. s.contentr:zns1:fooN)rrrGfind_all)r rrr r rtest_namespaced_htmls z-HTMLTreeBuilderSmokeTest.test_namespaced_htmlcCsBd}|j|}|j||jd}|j|}|j||jddS)Nzsutf8)rrrrV)r rrr r rtest_processing_instructions   z4HTMLTreeBuilderSmokeTest.test_processing_instructioncCstj|jdS)zMake sure you can copy the tree builder. This is important because the builder is part of a BeautifulSoup object, and we want to be able to copy that. N)copydeepcopyr )r r r r test_deepcopysz&HTMLTreeBuilderSmokeTest.test_deepcopycCs.|jd}|j|jj|jt|jddS)zA

tag is never designated as an empty-element tag. Even if the markup shows it as an empty-element tag, it shouldn't be presented that way. z

z

N)rZ assertFalserHr7rrF)r rr r r!test_p_tag_is_never_empty_elements z:HTMLTreeBuilderSmokeTest.test_p_tag_is_never_empty_elementcCs(|jdd|jdd|jdddS)zA tag that's not closed by the end of the document should be closed. This applies to all tags except empty-element tags. z

z

zzz
z
N)r)r r r rtest_unclosed_tags_get_closeds  z6HTMLTreeBuilderSmokeTest.test_unclosed_tags_get_closedcCs.|jd}|j|jj|jt|jddS)zA
tag is designated as an empty-element tag. Some parsers treat

as one
tag, some parsers as two tags, but it should always be an empty-element tag. z

z
N)r assertTruer%r7rrF)r rr r r#test_br_is_always_empty_element_tags z)r)r r r rtest_nested_formatting_elementssz8HTMLTreeBuilderSmokeTest.test_nested_formatting_elementscCs(d}|j|}|jd|jdddS)Nz Ordinary HEAD element test Hello, world! ztext/javascriptscripttype)rrfind)r rLrr r rtest_double_heads  z)HTMLTreeBuilderSmokeTest.test_double_headcCsjd}|j||j|}|jdd}|j|jt|jdd}|j||j|jdd}|j||jdS)Nz

foobaz

Zfoobar)textrCbaz)rrrgrr>rrr)r rrZcommentrCrjr r r test_comments     z%HTMLTreeBuilderSmokeTest.test_commentcCstd}d}|j||j||j|}|j|jj||j|}|j|jj||jd}|j|jjddS)zWhitespace must be preserved in
 and zN)rrrZpreZprettifyZtextarea)rZ
pre_markupZtextarea_markuprr
r
r-test_preserved_whitespace_in_pre_and_textareas




zFHTMLTreeBuilderSmokeTest.test_preserved_whitespace_in_pre_and_textareacCs.d}|j|d}|j|d}|j|dS)z+Inline elements can be nested indefinitely.zInside a B tagz!

A nested tag

z/

A doubly nested tag

N)r)r Zb_tagZ nested_b_tagZdouble_nested_b_tagr r rtest_nested_inline_elements s   z4HTMLTreeBuilderSmokeTest.test_nested_inline_elementscCs6|jd}|j}|j|jjjd|j|jjddS)zBlock elements can be nested.z*

Foo

ZFooN)r blockquoterrHbstring)r rrnr r r test_nested_block_level_elementss z9HTMLTreeBuilderSmokeTest.test_nested_block_level_elementscCsd}|j|d|jddS)z$One table can go inside another one.z[zh
Here's another table:
foo
Here's another table:
foo
z{
Foo
Bar
Baz
N)r)r rr r rtest_correctly_nested_tabless z5HTMLTreeBuilderSmokeTest.test_correctly_nested_tablescCs(d}|j|}|jdg|jjddS)Nz1
Zcssclass)rrZdiv)r rrr r r(test_deeply_nested_multivalued_attribute0s zAHTMLTreeBuilderSmokeTest.test_deeply_nested_multivalued_attributecCs(d}|j|}|jddg|jddS)Nzarors)rrrL)r rrr r r"test_multivalued_attribute_on_html8s z;HTMLTreeBuilderSmokeTest.test_multivalued_attribute_on_htmlcCs|jdddS)Nzz)r)r r r r3test_angle_brackets_in_attribute_values_are_escaped@szLHTMLTreeBuilderSmokeTest.test_angle_brackets_in_attribute_values_are_escapedcCs|jdddS)Nz$

• AT&T is in the s&p 500

z,

\u2022 AT&T is in the s&p 500

)r)r r r r3test_strings_resembling_character_entity_referencesCszLHTMLTreeBuilderSmokeTest.test_strings_resembling_character_entity_referencescCs"d}|j|}|jd|jjdS)Nz%

“Hello” -☃

u“Hello” -☃)rrrHrp)r rrr r r*test_entities_in_foreign_document_encodingKs zCHTMLTreeBuilderSmokeTest.test_entities_in_foreign_document_encodingcCs8d}|jd||jd||jd||jd|dS)Nu

z

z

z

z

)r)r expectr r r0test_entities_in_attributes_converted_to_unicodeWs    zIHTMLTreeBuilderSmokeTest.test_entities_in_attributes_converted_to_unicodecCs8d}|jd||jd||jd||jd|dS)Nu

piñata

z

piñata

z

piñata

z

piñata

z

piñata

)r)r rzr r r*test_entities_in_text_converted_to_unicode^s    zCHTMLTreeBuilderSmokeTest.test_entities_in_text_converted_to_unicodecCs|jdddS)Nz#

I said "good day!"

z

I said "good day!"

)r)r r r r,test_quot_entity_converted_to_quotation_markeszEHTMLTreeBuilderSmokeTest.test_quot_entity_converted_to_quotation_markcCs,d}|jd||jd||jd|dS)Nu�z�z�z �)r)r rzr r rtest_out_of_range_entityis  z1HTMLTreeBuilderSmokeTest.test_out_of_range_entitycCs<|jd}|jd|jjjj|jd|jj|j|dS)zDMostly to prevent a recurrence of a bug in the html5lib treebuilder.z!

foo

rHN)rrZh2rprr8rHr)r rr r rtest_multipart_stringsos z/HTMLTreeBuilderSmokeTest.test_multipart_stringscCs|jdd|jdddS)zqVerify consistent handling of empty-element tags, no matter how they come in through the markup. z


z


N)r)r r r rr9vs cCs,d}|j|}|jd|jj|j|dS)z8Prevent recurrence of a bug in the html5lib treebuilder.z? foo N)rZassertNotEqualrLbodyr)r contentrr r r#test_head_tag_between_head_and_body}s z N)rrZarticle)r rrr r rtest_multiple_copies_of_a_tags  z6HTMLTreeBuilderSmokeTest.test_multiple_copies_of_a_tagcCs^d}|j|}|j||j|j}|jd|jd|jd|jd|jd|jddS) zParsers don't need to *understand* namespaces, but at the very least they should not choke on namespaces or lose data.s4zhttp://www.w3.org/1999/xhtmlZxmlnsz"http://www.w3.org/1998/Math/MathMLz xmlns:mathmlzhttp://www.w3.org/2000/svgz xmlns:svgN)rrrVrL)r rrrLr r rtest_basic_namespacess z.HTMLTreeBuilderSmokeTest.test_basic_namespacescCs(d}|j|}|jddg|jddS)NsrCbarrs)rrru)r rrr r r-test_multivalued_attribute_value_becomes_lists zFHTMLTreeBuilderSmokeTest.test_multivalued_attribute_value_becomes_listcCs"d}|j|}|jd|jjdS)NuDSacré bleu!u Sacré bleu!)rrrrp)r rrr r rtest_can_parse_unicode_documents z8HTMLTreeBuilderSmokeTest.test_can_parse_unicode_documentcCs*td}|jd|d}|j|jddS)z2Parsers should be able to work with SoupStrainers.roz&A bold statement)Z parse_onlyz boldN)rrrr)r Zstrainerrr r rtest_soupstrainersz*HTMLTreeBuilderSmokeTest.test_soupstrainercCs|jdddS)Nzz)r)r r r r7test_single_quote_attribute_values_become_double_quotesszPHTMLTreeBuilderSmokeTest.test_single_quote_attribute_values_become_double_quotescCsd}|j|dS)Nz'a)r)r rir r r7test_attribute_values_with_nested_quotes_are_left_aloneszPHTMLTreeBuilderSmokeTest.test_attribute_values_with_nested_quotes_are_left_alonecCs.d}|j|}d|jd<|j|jjddS)Nz'azBrawls happen at "Bob's Bar"attrz:a)rrCrr)r rirr r r:test_attribute_values_with_double_nested_quotes_get_quoteds   zSHTMLTreeBuilderSmokeTest.test_attribute_values_with_double_nested_quotes_get_quotedcCs|jdd|jdddS)Nz+z/z.fooz2foo)r)r r r r.test_ampersand_in_attribute_value_gets_escapeds zGHTMLTreeBuilderSmokeTest.test_ampersand_in_attribute_value_gets_escapedcCs|jddS)Nz/)r)r r r r7test_escaped_ampersand_in_attribute_value_is_left_aloneszPHTMLTreeBuilderSmokeTest.test_escaped_ampersand_in_attribute_value_is_left_alonecCsd}d}|j||dS)Nz-

<<sacré bleu!>>

u#

<<sacré bleu!>>

)r)r riexpectedr r r1test_entities_in_strings_converted_during_parsingszJHTMLTreeBuilderSmokeTest.test_entities_in_strings_converted_during_parsingcCs"d}|j|}|j|jjddS)Ns

Foo

u ‘Foo’)rrrHrp)r Zquoterr r r)test_smart_quotes_converted_on_the_way_ins  zBHTMLTreeBuilderSmokeTest.test_smart_quotes_converted_on_the_way_incCs|jd}|j|jjddS)Nz   r:u  )rrrurp)r rr r r0test_non_breaking_spaces_converted_on_the_way_ins zIHTMLTreeBuilderSmokeTest.test_non_breaking_spaces_converted_on_the_way_incCs0d}djd}|j|}|j|jjd|dS)Nz-

<<sacré bleu!>>

u#

<<sacré bleu!>>

zutf-8)rVrrrH)r rirrr r r&test_entities_converted_on_the_way_outs  z?HTMLTreeBuilderSmokeTest.test_entities_converted_on_the_way_outcCsHd}|jd}|j|}|jd}|jdd}|jd}|j||dS)Nu

Sacré bleu!

z iso-8859-1zutf-8z ISO-Latin-1)rVrrWr)r unicode_htmlZiso_latin_htmlrresultrr r rtest_real_iso_latin_documents     z5HTMLTreeBuilderSmokeTest.test_real_iso_latin_documentcCsLd}|jd}|j|}|j|jd|jd|j|jd|jddS)Nsk
Shift-JISŃR[fBOꂽ{̃t@CłB
z shift-jiszutf-8euc_jp)rrrrV)r shift_jis_htmlrrr r rtest_real_shift_jis_documents   z5HTMLTreeBuilderSmokeTest.test_real_shift_jis_documentcCs4d}|j|dd}|j|jd|jdjddS)NsHebrew (ISO 8859-8) in Visual Directionality

Hebrew (ISO 8859-8) in Visual Directionality

z iso8859-8)Z from_encodingzutf-8)rrrVr)r Zhebrew_documentrr r rtest_real_hebrew_document$s  z2HTMLTreeBuilderSmokeTest.test_real_hebrew_documentcCs`d}d|}|j|}|jdddi}|d}|jd||jt|t|jd|jd dS) NzEzj %s Shift-JIS markup goes here.r.z http-equivz Content-typerztext/html; charset=x-sjisztext/html; charset=utf8r[)rrgrrb isinstancerrV)r meta_tagrr parsed_metarr r r'test_meta_tag_reflects_current_encoding1s  z@HTMLTreeBuilderSmokeTest.test_meta_tag_reflects_current_encodingcCs^d}d|}|j|}|jddd}|d}|jd||jt|t|jd|jddS) Nz'zj %s Shift-JIS markup goes here.r.encoding)idcharsetzx-sjisr[)rrgrrbrrrV)r rrrrrr r r3test_html5_style_meta_tag_reflects_current_encodingMs  zLHTMLTreeBuilderSmokeTest.test_html5_style_meta_tag_reflects_current_encodingcCs*|jd}d|jd<|jd|jjdS)Nz textrrCztext)rrurr)r datar r r5test_tag_with_no_attributes_can_have_attributes_addedes  zNHTMLTreeBuilderSmokeTest.test_tag_with_no_attributes_can_have_attributes_addedN);rrr __doc__r9rBrKrDrMrOrPrQrRrSrXrZr\r_r`rarcrdrhrkrlrmrqrrrtrvrwrxryr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrr r r rr"?sr             r"c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%S)&XMLTreeBuilderSmokeTestcCsF|jd}tj|d}tj|}|j|jt|j|j|jdS)Nz foor:)rr;r<r=rr>rr)r r?r@rAr r rrBls    z9XMLTreeBuilderSmokeTest.test_pickle_and_unpickle_identitycCs|jd}|j|jddS)Nzs. )rrrV)r rr r rtest_docstring_generatedus z0XMLTreeBuilderSmokeTest.test_docstring_generatedcCs$d}|j|}|j||jddS)Ns, r[)rrrV)r rrr r rtest_xml_declarationzs z,XMLTreeBuilderSmokeTest.test_xml_declarationcCs$d}|j|}|j||jddS)Ns< r[)rrrV)r rrr r rr\s z3XMLTreeBuilderSmokeTest.test_processing_instructioncCs$d}|j|}|j|jd|dS)zGA real XHTML document should come out *exactly* the same as it went in.s Hello. Goodbye. zutf-8N)rrrV)r rrr r rrXs z0XMLTreeBuilderSmokeTest.test_real_xhtml_documentcCs"d}|j|}|j||jdS)Ns )rrrV)r docrr r rtest_nested_namespacess z.XMLTreeBuilderSmokeTest.test_nested_namespacescCs0d}t|d}d|j_|j}|jd|kdS)Nz/ zlxml-xmlzconsole.log("< < hey > > ");s< < hey > >)rrerprVrb)r rrZencodedr r r5test_formatter_processes_script_tag_for_xml_documentss  zMXMLTreeBuilderSmokeTest.test_formatter_processes_script_tag_for_xml_documentscCs"d}|j|}|jd|jjdS)Nu?Sacré bleu!u Sacré bleu!)rrrootrp)r rrr r rrs z7XMLTreeBuilderSmokeTest.test_can_parse_unicode_documentcCs$d}|j|}|jt|j|dS)Nzb2012-07-02T20:33:42Zcd)rrrFZrss)r rrr r rtest_popping_namespaced_tags z3XMLTreeBuilderSmokeTest.test_popping_namespaced_tagcCs |jd}|j|jdddS)Nzlatin1s/ )rrrV)r rr r r(test_docstring_includes_correct_encodings z@XMLTreeBuilderSmokeTest.test_docstring_includes_correct_encodingcCs0dddd}|j|}|j|jd|dS) z 0r: szutf-8Ni)rrrV)r rrr r rtest_large_xml_documents z/XMLTreeBuilderSmokeTest.test_large_xml_documentcCs|jdd|jddS)Nz

z

z

foo

)r)r r r r9test_tags_are_empty_element_if_and_only_if_they_are_emptys zQXMLTreeBuilderSmokeTest.test_tags_are_empty_element_if_and_only_if_they_are_emptycCs8d}|j|}|j}|jd|d|jd|ddS)NzThis tag is in the a namespaceThis tag is in the b namespacezhttp://example.com/zxmlns:azhttp://example.net/zxmlns:b)rrr)r rrrr r rtest_namespaces_are_preserveds  z5XMLTreeBuilderSmokeTest.test_namespaces_are_preservedcCs$d}|j|}|jt|j|dS)NzN

20010504

)rrrFrH)r rrr r rtest_closing_namespaced_tags z3XMLTreeBuilderSmokeTest.test_closing_namespaced_tagcCs$d}|j|}|jt|j|dS)Nzs)rrrFrC)r rrr r rtest_namespaced_attributess z2XMLTreeBuilderSmokeTest.test_namespaced_attributescCs$d}|j|}|jt|j|dS)Nzbar)rrrFrC)r rrr r r(test_namespaced_attributes_xml_namespaces z@XMLTreeBuilderSmokeTest.test_namespaced_attributes_xml_namespacecCsd}|j|}|jdt|jd|jdt|jd|jdt|jd|jdt|jddd |jdt|jddgdS) Na foo bar baz tagr:zns1:tagzns2:tagvalue)key)rrrGrY)r rrr r rtest_find_by_prefixed_names  z2XMLTreeBuilderSmokeTest.test_find_by_prefixed_namecCs2d}|j|}|j}tj|}|j|j|jdS)Nzf )rZdocumentr]rprefix)r ZxmlrrZ duplicater r r!test_copy_tag_preserves_namespaces   z9XMLTreeBuilderSmokeTest.test_copy_tag_preserves_namespaceN)rrr rBrrr\rXrrrrrrrrrrrrrr r r rrjs$     rc@s8eZdZdZddZddZddZdd Zd d Zd S) HTML5TreeBuilderSmokeTestz2Smoke test for a tree builder that supports HTML5.cCsdS)Nr )r r r rrXsz2HTML5TreeBuilderSmokeTest.test_real_xhtml_documentcCs"d}|j|}|jd|jjdS)Nz
zhttp://www.w3.org/1999/xhtml)rrru namespace)r rrr r rtest_html_tags_have_namespaces z7HTML5TreeBuilderSmokeTest.test_html_tags_have_namespacecCs6d}|j|}d}|j||jj|j||jjdS)Nzzhttp://www.w3.org/2000/svg)rrZsvgrZcircle)r rrrr r rtest_svg_tags_have_namespace s  z6HTML5TreeBuilderSmokeTest.test_svg_tags_have_namespacecCs6d}|j|}d}|j||jj|j||jjdS)Nz5z"http://www.w3.org/1998/Math/MathML)rrZmathrZmsqrt)r rrrr r rtest_mathml_tags_have_namespaces  z9HTML5TreeBuilderSmokeTest.test_mathml_tags_have_namespacecCsPd}|j|}|jt|jdt|j|jdd|jd|jdjjdS)Nz3rz$?xml version="1.0" encoding="utf-8"?rL)rrbrrErrrr8)r rrr r r$test_xml_declaration_becomes_comments  z>HTML5TreeBuilderSmokeTest.test_xml_declaration_becomes_commentN) rrr rrXrrrrr r r rrs rcsddfdd}|S)Nc_sdS)Nr )Ztestargsrr r rnothing!szskipIf..nothingcsrS|SdS)Nr )Z test_item) conditionrr r decorator$szskipIf..decoratorr )rreasonrr )rrrskipIf sr)rZ __license__r;r] functoolsZunittestrZbs4rZ bs4.elementrrrrrZ bs4.builderr r r objectr"rrrr r r rs(   %/#PKpe[{ielement.cpython-36.pycnu[3 &6]$@s dZyddlmZWn.ek rBZzddlmZWYddZ[XnXddlZddlZddlZddl Z ddl m Z dZ ej ddkZejdZdd ZGd d d eZGd d d eZGdddeZGdddeZGddde ZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGd d!d!eZGd"d#d#eeZ Gd$d%d%e Z!Gd&d'd'e!Z"Gd(d)d)e!Z#Gd*d+d+e#Z$Gd,d-d-e!Z%Gd.d/d/e!Z&Gd0d1d1e!Z'Gd2d3d3eZ(Gd4d5d5eZ)Gd6d7d7e*Z+dS)8ZMIT)CallableN)EntitySubstitutionzutf-8z\s+cs&tfdd}|jfdd}|S)z>Alias one attribute name to another for backward compatibilitycs t|S)N)getattr)self)attr/usr/lib/python3.6/element.pyaliassz_alias..aliascs t|S)N)setattr)r)rrr r s)propertysetter)rr r)rr _aliassrc@seZdZdddZdS)NamespacedAttributeNcCsV|dkrtj||}n*|dkr,tj||}ntj||d|}||_||_||_|S)N:)str__new__prefixname namespace)clsrrrobjrrr r"szNamespacedAttribute.__new__)N)__name__ __module__ __qualname__rrrrr r src@seZdZdZdS)%AttributeValueWithCharsetSubstitutionz=A stand-in object for a character encoding specified in HTML.N)rrr__doc__rrrr r/src@s eZdZdZddZddZdS)CharsetMetaAttributeValuezA generic stand-in for the value of a meta tag's 'charset' attribute. When Beautiful Soup parses the markup '', the value of the 'charset' attribute will be one of these objects. cCstj||}||_|S)N)rroriginal_value)rrrrrr r9s z!CharsetMetaAttributeValue.__new__cCs|S)Nr)rencodingrrr encode>sz CharsetMetaAttributeValue.encodeN)rrrrrr rrrr r2src@s.eZdZdZejdejZddZddZ dS)ContentMetaAttributeValueaA generic stand-in for the value of a meta tag's 'content' attribute. When Beautiful Soup parses the markup: The value of the 'content' attribute will be one of these objects. z((^|;)\s*charset=)([^;]*)cCs6|jj|}|dkr tjt|Stj||}||_|S)N) CHARSET_REsearchrrr)rrmatchrrrr rMs    z!ContentMetaAttributeValue.__new__csfdd}|jj||jS)Ncs|jdS)N)group)r$)rrr rewriteXsz1ContentMetaAttributeValue.encode..rewrite)r"subr)rrr'r)rr r Ws z ContentMetaAttributeValue.encodeN) rrrrrecompileMr"rr rrrr r!Bs r!c@sVeZdZdZeddgZedgZeddgZeddZ edd Z ed d Z d S) HTMLAwareEntitySubstitutiona%Entity substitution rules that are aware of some HTML quirks. Specifically, the contents of Hello, world! ztext/javascriptscripttype)rrfind)r rLrr r rtest_double_heads  z)HTMLTreeBuilderSmokeTest.test_double_headcCsjd}|j||j|}|jdd}|j|jt|jdd}|j||j|jdd}|j||jdS)Nz

foobaz

Zfoobar)textrCbaz)rrrgrr>rrr)r rrZcommentrCrjr r r test_comments     z%HTMLTreeBuilderSmokeTest.test_commentcCstd}d}|j||j||j|}|j|jj||j|}|j|jj||jd}|j|jjddS)zWhitespace must be preserved in
 and zN)rrrZpreZprettifyZtextarea)rZ
pre_markupZtextarea_markuprr
r
r-test_preserved_whitespace_in_pre_and_textareas




zFHTMLTreeBuilderSmokeTest.test_preserved_whitespace_in_pre_and_textareacCs.d}|j|d}|j|d}|j|dS)z+Inline elements can be nested indefinitely.zInside a B tagz!

A nested tag

z/

A doubly nested tag

N)r)r Zb_tagZ nested_b_tagZdouble_nested_b_tagr r rtest_nested_inline_elements s   z4HTMLTreeBuilderSmokeTest.test_nested_inline_elementscCs6|jd}|j}|j|jjjd|j|jjddS)zBlock elements can be nested.z*

Foo

ZFooN)r blockquoterrHbstring)r rrnr r r test_nested_block_level_elementss z9HTMLTreeBuilderSmokeTest.test_nested_block_level_elementscCsd}|j|d|jddS)z$One table can go inside another one.z[zh
Here's another table:
foo
Here's another table:
foo
z{
Foo
Bar
Baz
N)r)r rr r rtest_correctly_nested_tabless z5HTMLTreeBuilderSmokeTest.test_correctly_nested_tablescCs(d}|j|}|jdg|jjddS)Nz1
Zcssclass)rrZdiv)r rrr r r(test_deeply_nested_multivalued_attribute0s zAHTMLTreeBuilderSmokeTest.test_deeply_nested_multivalued_attributecCs(d}|j|}|jddg|jddS)Nzarors)rrrL)r rrr r r"test_multivalued_attribute_on_html8s z;HTMLTreeBuilderSmokeTest.test_multivalued_attribute_on_htmlcCs|jdddS)Nzz)r)r r r r3test_angle_brackets_in_attribute_values_are_escaped@szLHTMLTreeBuilderSmokeTest.test_angle_brackets_in_attribute_values_are_escapedcCs|jdddS)Nz$

• AT&T is in the s&p 500

z,

\u2022 AT&T is in the s&p 500

)r)r r r r3test_strings_resembling_character_entity_referencesCszLHTMLTreeBuilderSmokeTest.test_strings_resembling_character_entity_referencescCs"d}|j|}|jd|jjdS)Nz%

“Hello” -☃

u“Hello” -☃)rrrHrp)r rrr r r*test_entities_in_foreign_document_encodingKs zCHTMLTreeBuilderSmokeTest.test_entities_in_foreign_document_encodingcCs8d}|jd||jd||jd||jd|dS)Nu

z

z

z

z

)r)r expectr r r0test_entities_in_attributes_converted_to_unicodeWs    zIHTMLTreeBuilderSmokeTest.test_entities_in_attributes_converted_to_unicodecCs8d}|jd||jd||jd||jd|dS)Nu

piñata

z

piñata

z

piñata

z

piñata

z

piñata

)r)r rzr r r*test_entities_in_text_converted_to_unicode^s    zCHTMLTreeBuilderSmokeTest.test_entities_in_text_converted_to_unicodecCs|jdddS)Nz#

I said "good day!"

z

I said "good day!"

)r)r r r r,test_quot_entity_converted_to_quotation_markeszEHTMLTreeBuilderSmokeTest.test_quot_entity_converted_to_quotation_markcCs,d}|jd||jd||jd|dS)Nu�z�z�z �)r)r rzr r rtest_out_of_range_entityis  z1HTMLTreeBuilderSmokeTest.test_out_of_range_entitycCs<|jd}|jd|jjjj|jd|jj|j|dS)zDMostly to prevent a recurrence of a bug in the html5lib treebuilder.z!

foo

rHN)rrZh2rprr8rHr)r rr r rtest_multipart_stringsos z/HTMLTreeBuilderSmokeTest.test_multipart_stringscCs|jdd|jdddS)zqVerify consistent handling of empty-element tags, no matter how they come in through the markup. z


z


N)r)r r r rr9vs cCs,d}|j|}|jd|jj|j|dS)z8Prevent recurrence of a bug in the html5lib treebuilder.z? foo N)rZassertNotEqualrLbodyr)r contentrr r r#test_head_tag_between_head_and_body}s z N)rrZarticle)r rrr r rtest_multiple_copies_of_a_tags  z6HTMLTreeBuilderSmokeTest.test_multiple_copies_of_a_tagcCs^d}|j|}|j||j|j}|jd|jd|jd|jd|jd|jddS) zParsers don't need to *understand* namespaces, but at the very least they should not choke on namespaces or lose data.s4zhttp://www.w3.org/1999/xhtmlZxmlnsz"http://www.w3.org/1998/Math/MathMLz xmlns:mathmlzhttp://www.w3.org/2000/svgz xmlns:svgN)rrrVrL)r rrrLr r rtest_basic_namespacess z.HTMLTreeBuilderSmokeTest.test_basic_namespacescCs(d}|j|}|jddg|jddS)NsrCbarrs)rrru)r rrr r r-test_multivalued_attribute_value_becomes_lists zFHTMLTreeBuilderSmokeTest.test_multivalued_attribute_value_becomes_listcCs"d}|j|}|jd|jjdS)NuDSacré bleu!u Sacré bleu!)rrrrp)r rrr r rtest_can_parse_unicode_documents z8HTMLTreeBuilderSmokeTest.test_can_parse_unicode_documentcCs*td}|jd|d}|j|jddS)z2Parsers should be able to work with SoupStrainers.roz&A bold statement)Z parse_onlyz boldN)rrrr)r Zstrainerrr r rtest_soupstrainersz*HTMLTreeBuilderSmokeTest.test_soupstrainercCs|jdddS)Nzz)r)r r r r7test_single_quote_attribute_values_become_double_quotesszPHTMLTreeBuilderSmokeTest.test_single_quote_attribute_values_become_double_quotescCsd}|j|dS)Nz'a)r)r rir r r7test_attribute_values_with_nested_quotes_are_left_aloneszPHTMLTreeBuilderSmokeTest.test_attribute_values_with_nested_quotes_are_left_alonecCs.d}|j|}d|jd<|j|jjddS)Nz'azBrawls happen at "Bob's Bar"attrz:a)rrCrr)r rirr r r:test_attribute_values_with_double_nested_quotes_get_quoteds   zSHTMLTreeBuilderSmokeTest.test_attribute_values_with_double_nested_quotes_get_quotedcCs|jdd|jdddS)Nz+z/z.fooz2foo)r)r r r r.test_ampersand_in_attribute_value_gets_escapeds zGHTMLTreeBuilderSmokeTest.test_ampersand_in_attribute_value_gets_escapedcCs|jddS)Nz/)r)r r r r7test_escaped_ampersand_in_attribute_value_is_left_aloneszPHTMLTreeBuilderSmokeTest.test_escaped_ampersand_in_attribute_value_is_left_alonecCsd}d}|j||dS)Nz-

<<sacré bleu!>>

u#

<<sacré bleu!>>

)r)r riexpectedr r r1test_entities_in_strings_converted_during_parsingszJHTMLTreeBuilderSmokeTest.test_entities_in_strings_converted_during_parsingcCs"d}|j|}|j|jjddS)Ns

Foo

u ‘Foo’)rrrHrp)r Zquoterr r r)test_smart_quotes_converted_on_the_way_ins  zBHTMLTreeBuilderSmokeTest.test_smart_quotes_converted_on_the_way_incCs|jd}|j|jjddS)Nz   r:u  )rrrurp)r rr r r0test_non_breaking_spaces_converted_on_the_way_ins zIHTMLTreeBuilderSmokeTest.test_non_breaking_spaces_converted_on_the_way_incCs0d}djd}|j|}|j|jjd|dS)Nz-

<<sacré bleu!>>

u#

<<sacré bleu!>>

zutf-8)rVrrrH)r rirrr r r&test_entities_converted_on_the_way_outs  z?HTMLTreeBuilderSmokeTest.test_entities_converted_on_the_way_outcCsHd}|jd}|j|}|jd}|jdd}|jd}|j||dS)Nu

Sacré bleu!

z iso-8859-1zutf-8z ISO-Latin-1)rVrrWr)r unicode_htmlZiso_latin_htmlrresultrr r rtest_real_iso_latin_documents     z5HTMLTreeBuilderSmokeTest.test_real_iso_latin_documentcCsLd}|jd}|j|}|j|jd|jd|j|jd|jddS)Nsk
Shift-JISŃR[fBOꂽ{̃t@CłB
z shift-jiszutf-8euc_jp)rrrrV)r shift_jis_htmlrrr r rtest_real_shift_jis_documents   z5HTMLTreeBuilderSmokeTest.test_real_shift_jis_documentcCsBd}|j|dd}|jdks t|j|jd|jdjddS)NsHebrew (ISO 8859-8) in Visual Directionality

Hebrew (ISO 8859-8) in Visual Directionality

iso8859-8)Z from_encoding iso-8859-8zutf-8)rr)rZoriginal_encodingAssertionErrorrrVr)r Zhebrew_documentrr r rtest_real_hebrew_document$s z2HTMLTreeBuilderSmokeTest.test_real_hebrew_documentcCs`d}d|}|j|}|jdddi}|d}|jd||jt|t|jd|jd dS) NzEzj %s Shift-JIS markup goes here.r.z http-equivz Content-typerztext/html; charset=x-sjisztext/html; charset=utf8r[)rrgrrb isinstancerrV)r meta_tagrr parsed_metarr r r'test_meta_tag_reflects_current_encoding1s  z@HTMLTreeBuilderSmokeTest.test_meta_tag_reflects_current_encodingcCs^d}d|}|j|}|jddd}|d}|jd||jt|t|jd|jddS) Nz'zj %s Shift-JIS markup goes here.r.encoding)idcharsetzx-sjisr[)rrgrrbrrrV)r rrrrrr r r3test_html5_style_meta_tag_reflects_current_encodingMs  zLHTMLTreeBuilderSmokeTest.test_html5_style_meta_tag_reflects_current_encodingcCs*|jd}d|jd<|jd|jjdS)Nz textrrCztext)rrurr)r datar r r5test_tag_with_no_attributes_can_have_attributes_addedes  zNHTMLTreeBuilderSmokeTest.test_tag_with_no_attributes_can_have_attributes_addedN);rrr __doc__r9rBrKrDrMrOrPrQrRrSrXrZr\r_r`rarcrdrhrkrlrmrqrrrtrvrwrxryr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrr r r rr"?sr             r"c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%S)&XMLTreeBuilderSmokeTestcCsF|jd}tj|d}tj|}|j|jt|j|j|jdS)Nz foor:)rr;r<r=rr>rr)r r?r@rAr r rrBls    z9XMLTreeBuilderSmokeTest.test_pickle_and_unpickle_identitycCs|jd}|j|jddS)Nzs. )rrrV)r rr r rtest_docstring_generatedus z0XMLTreeBuilderSmokeTest.test_docstring_generatedcCs$d}|j|}|j||jddS)Ns, r[)rrrV)r rrr r rtest_xml_declarationzs z,XMLTreeBuilderSmokeTest.test_xml_declarationcCs$d}|j|}|j||jddS)Ns< r[)rrrV)r rrr r rr\s z3XMLTreeBuilderSmokeTest.test_processing_instructioncCs$d}|j|}|j|jd|dS)zGA real XHTML document should come out *exactly* the same as it went in.s Hello. Goodbye. zutf-8N)rrrV)r rrr r rrXs z0XMLTreeBuilderSmokeTest.test_real_xhtml_documentcCs"d}|j|}|j||jdS)Ns )rrrV)r docrr r rtest_nested_namespacess z.XMLTreeBuilderSmokeTest.test_nested_namespacescCs0d}t|d}d|j_|j}|jd|kdS)Nz/ zlxml-xmlzconsole.log("< < hey > > ");s< < hey > >)rrerprVrb)r rrZencodedr r r5test_formatter_processes_script_tag_for_xml_documentss  zMXMLTreeBuilderSmokeTest.test_formatter_processes_script_tag_for_xml_documentscCs"d}|j|}|jd|jjdS)Nu?Sacré bleu!u Sacré bleu!)rrrootrp)r rrr r rrs z7XMLTreeBuilderSmokeTest.test_can_parse_unicode_documentcCs$d}|j|}|jt|j|dS)Nzb2012-07-02T20:33:42Zcd)rrrFZrss)r rrr r rtest_popping_namespaced_tags z3XMLTreeBuilderSmokeTest.test_popping_namespaced_tagcCs |jd}|j|jdddS)Nzlatin1s/ )rrrV)r rr r r(test_docstring_includes_correct_encodings z@XMLTreeBuilderSmokeTest.test_docstring_includes_correct_encodingcCs0dddd}|j|}|j|jd|dS) z 0r: szutf-8Ni)rrrV)r rrr r rtest_large_xml_documents z/XMLTreeBuilderSmokeTest.test_large_xml_documentcCs|jdd|jddS)Nz

z

z

foo

)r)r r r r9test_tags_are_empty_element_if_and_only_if_they_are_emptys zQXMLTreeBuilderSmokeTest.test_tags_are_empty_element_if_and_only_if_they_are_emptycCs8d}|j|}|j}|jd|d|jd|ddS)NzThis tag is in the a namespaceThis tag is in the b namespacezhttp://example.com/zxmlns:azhttp://example.net/zxmlns:b)rrr)r rrrr r rtest_namespaces_are_preserveds  z5XMLTreeBuilderSmokeTest.test_namespaces_are_preservedcCs$d}|j|}|jt|j|dS)NzN

20010504

)rrrFrH)r rrr r rtest_closing_namespaced_tags z3XMLTreeBuilderSmokeTest.test_closing_namespaced_tagcCs$d}|j|}|jt|j|dS)Nzs)rrrFrC)r rrr r rtest_namespaced_attributess z2XMLTreeBuilderSmokeTest.test_namespaced_attributescCs$d}|j|}|jt|j|dS)Nzbar)rrrFrC)r rrr r r(test_namespaced_attributes_xml_namespaces z@XMLTreeBuilderSmokeTest.test_namespaced_attributes_xml_namespacecCsd}|j|}|jdt|jd|jdt|jd|jdt|jd|jdt|jddd |jdt|jddgdS) Na foo bar baz tagr:zns1:tagzns2:tagvalue)key)rrrGrY)r rrr r rtest_find_by_prefixed_names  z2XMLTreeBuilderSmokeTest.test_find_by_prefixed_namecCs2d}|j|}|j}tj|}|j|j|jdS)Nzf )rZdocumentr]rprefix)r ZxmlrrZ duplicater r r!test_copy_tag_preserves_namespaces   z9XMLTreeBuilderSmokeTest.test_copy_tag_preserves_namespaceN)rrr rBrrr\rXrrrrrrrrrrrrrr r r rrjs$     rc@s8eZdZdZddZddZddZdd Zd d Zd S) HTML5TreeBuilderSmokeTestz2Smoke test for a tree builder that supports HTML5.cCsdS)Nr )r r r rrXsz2HTML5TreeBuilderSmokeTest.test_real_xhtml_documentcCs"d}|j|}|jd|jjdS)Nz
zhttp://www.w3.org/1999/xhtml)rrru namespace)r rrr r rtest_html_tags_have_namespaces z7HTML5TreeBuilderSmokeTest.test_html_tags_have_namespacecCs6d}|j|}d}|j||jj|j||jjdS)Nzzhttp://www.w3.org/2000/svg)rrZsvgrZcircle)r rrrr r rtest_svg_tags_have_namespace s  z6HTML5TreeBuilderSmokeTest.test_svg_tags_have_namespacecCs6d}|j|}d}|j||jj|j||jjdS)Nz5z"http://www.w3.org/1998/Math/MathML)rrZmathrZmsqrt)r rrrr r rtest_mathml_tags_have_namespaces  z9HTML5TreeBuilderSmokeTest.test_mathml_tags_have_namespacecCsPd}|j|}|jt|jdt|j|jdd|jd|jdjjdS)Nz3rz$?xml version="1.0" encoding="utf-8"?rL)rrbrrErrrr8)r rrr r r$test_xml_declaration_becomes_comments  z>HTML5TreeBuilderSmokeTest.test_xml_declaration_becomes_commentN) rrr rrXrrrrr r r rrs rcsddfdd}|S)Nc_sdS)Nr )Ztestargsrr r rnothing!szskipIf..nothingcsrS|SdS)Nr )Z test_item) conditionrr r decorator$szskipIf..decoratorr )rreasonrr )rrrskipIf sr)rZ __license__r;r] functoolsZunittestrZbs4rZ bs4.elementrrrrrZ bs4.builderr r r objectr"rrrr r r rs(   %/#PKpe[{ielement.cpython-36.opt-1.pycnu[3 &6]$@s dZyddlmZWn.ek rBZzddlmZWYddZ[XnXddlZddlZddlZddl Z ddl m Z dZ ej ddkZejdZdd ZGd d d eZGd d d eZGdddeZGdddeZGddde ZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGd d!d!eZGd"d#d#eeZ Gd$d%d%e Z!Gd&d'd'e!Z"Gd(d)d)e!Z#Gd*d+d+e#Z$Gd,d-d-e!Z%Gd.d/d/e!Z&Gd0d1d1e!Z'Gd2d3d3eZ(Gd4d5d5eZ)Gd6d7d7e*Z+dS)8ZMIT)CallableN)EntitySubstitutionzutf-8z\s+cs&tfdd}|jfdd}|S)z>Alias one attribute name to another for backward compatibilitycs t|S)N)getattr)self)attr/usr/lib/python3.6/element.pyaliassz_alias..aliascs t|S)N)setattr)r)rrr r s)propertysetter)rr r)rr _aliassrc@seZdZdddZdS)NamespacedAttributeNcCsV|dkrtj||}n*|dkr,tj||}ntj||d|}||_||_||_|S)N:)str__new__prefixname namespace)clsrrrobjrrr r"szNamespacedAttribute.__new__)N)__name__ __module__ __qualname__rrrrr r src@seZdZdZdS)%AttributeValueWithCharsetSubstitutionz=A stand-in object for a character encoding specified in HTML.N)rrr__doc__rrrr r/src@s eZdZdZddZddZdS)CharsetMetaAttributeValuezA generic stand-in for the value of a meta tag's 'charset' attribute. When Beautiful Soup parses the markup '', the value of the 'charset' attribute will be one of these objects. cCstj||}||_|S)N)rroriginal_value)rrrrrr r9s z!CharsetMetaAttributeValue.__new__cCs|S)Nr)rencodingrrr encode>sz CharsetMetaAttributeValue.encodeN)rrrrrr rrrr r2src@s.eZdZdZejdejZddZddZ dS)ContentMetaAttributeValueaA generic stand-in for the value of a meta tag's 'content' attribute. When Beautiful Soup parses the markup: The value of the 'content' attribute will be one of these objects. z((^|;)\s*charset=)([^;]*)cCs6|jj|}|dkr tjt|Stj||}||_|S)N) CHARSET_REsearchrrr)rrmatchrrrr rMs    z!ContentMetaAttributeValue.__new__csfdd}|jj||jS)Ncs|jdS)N)group)r$)rrr rewriteXsz1ContentMetaAttributeValue.encode..rewrite)r"subr)rrr'r)rr r Ws z ContentMetaAttributeValue.encodeN) rrrrrecompileMr"rr rrrr r!Bs r!c@sVeZdZdZeddgZedgZeddgZeddZ edd Z ed d Z d S) HTMLAwareEntitySubstitutiona%Entity substitution rules that are aware of some HTML quirks. Specifically, the contents of