o
    ^+)hL                    @   s   d Z ddlZddlmZ ededededd	ZedZi dfd
dZi dfddZ	i dfddZ
i dfddZi dfddZi dfddZi dfddZi dfddZi dfddZi dfddZi dfddZdS ) z2.15.3    N   )JsonSchemaValueException^.*$.+^.+$z^[^@]+@[^@]+\.[^@]+\Z)r   r   r   idn-email_re_patternc                 C   s   t | ||pdd  | S )Ndata )[validate_https___packaging_python_org_en_latest_specifications_declaring_build_dependenciesr   custom_formatsname_prefix r   C:\Users\User\Downloads\Proyecto_IoT\venv\Lib\site-packages\setuptools/config/_validate_pyproject/fastjsonschema_validations.pyvalidate   s   r   c              %      s4  t | ts~td|pd d | d|pd d dddg ddd	dd
d	dg dddiddddddddgddddddgddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}ddd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddidddddddddddg dddddd2idddiidddddg ddd	i ddddidmdddgddd dYddddgddd dYddddddddddidddddgdddiddg ddddddYddEdigd8dg ddd	ddddidtdigidddiiddg ddd	ddddidtdigiddddidmiddg ddddg d¢dd	ddddidtdigiddddidmiddddddYddŜddddddYdddg dʢdddddidmid˜dg d͢dddddYid˜ddddiddgg dҢddԜdoddd	ddgdEdidEdigd8dEdidEdidEdidEdiddddid	ddEdiidۜdEdidd3ddiiigd,gdݜdޜdߜddddd	d,dddidddidmgiid,gdddddgdd	dddiidgddddd	ddddgd	ddddiddddgddiddddgddiddddgd'ddidddddddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}ddd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddiddddddddddt | t}|rt|  }d|v r|d | d  t  tstd|pd d  d|pd d dd
d	dg dddiddddddddgddddddgdddt  t}|rt }t fd ddD s+td|pd d  d|pd d dd
d	dg dddiddddddddgddddddgdddt  }d|v r|d  d }t |tt	fshtd|pMd d |d|pWd d dg dddidddt |tt	f}	|	rt|}
t
|D ];\}}t |tstd|pd djdi t  d |d|pd djdi t  d ddiddqzd	|v r|d	  d	 }t |tstd|pd d
 |d|pd d ddddddt |tr|d |std|pd d |d|pd d dddddddd|v r|d  d }t |tt	fsOtd|p3d d |d|p=d d dddgddddddt |tt	f}|rt|}t
|D ]<\}}t |tstd|pqd djdi t  d |d|pd djdi t  d dddddqa|rtd|pd d t| d  d|pd d dd
d	dg dddiddddddddgddddddgdddd|v r|d | d }t|||pdd  d|v 	r|d | d }t |tstd|pd d |d|p%d d ddddg dddddd2idddiidddddg ddd	i ddddidmdddgddd dYddddgddd dYddddddddddidddddgdddiddg ddddddYddEdigd8dg ddd	ddddidtdigidddiiddg ddd	ddddidtdigiddddidmiddg ddddg d¢dd	ddddidtdigiddddidmiddddddYddŜddddddYdddg dʢdddddidmid˜dg d͢dddddYid˜ddddiddgg dҢddԜdoddd	ddgdEdidEdigd8dEdidEdidEdidEdiddddid	ddEdiidۜdEdidd3ddiiigd,gdݜdޜdߜddddd	d,dddidddidmgiid,gdddddgdd	dddiidgddddd	ddddgd	ddddiddddgddiddddgddiddddgd'ddidddddddt |t}|	rt| }d|v r|d |d }t|||pdd  d|v 	r|d |d }t|||	pdd  |rtd|	pd d t| d | d|	p,d d dddg ddd	dd
d	dg dddiddddddddgddddddgddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}ddd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddidddddddddddg dddddd2idddiidddddg ddd	i ddddidmdddgddd dYddddgddd dYddddddddddidddddgdddiddg ddddddYddEdigd8dg ddd	ddddidtdigidddiiddg ddd	ddddidtdigiddddidmiddg ddddg d¢dd	ddddidtdigiddddidmiddddddYddŜddddddYdddg dʢdddddidmid˜dg d͢dddddYid˜ddddiddgg dҢddԜdoddd	ddgdEdidEdigd8dEdidEdidEdidEdiddddid	ddEdiidۜdEdidd3ddiiigd,gdݜdޜdߜddddd	d,dddidddidmgiid,gdddddgdd	dddiidgddddd	ddddgd	ddddiddddgddiddddgddiddddgd'ddidddddddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}ddd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddidddddddddd| S (  Nr	   r    must be object&http://json-schema.org/draft-07/schemazShttps://packaging.python.org/en/latest/specifications/declaring-build-dependencies/z+Data structure for ``pyproject.toml`` files)zKFile format containing build-time configurations for the Python ecosystem. zO:pep:`517` initially defined a build-system independent format for source treeszQwhich was complemented by :pep:`518` to provide a way of specifying dependencies zfor building Python projects.zYPlease notice the ``project`` table (as initially defined in  :pep:`621`) is not includedz3in this schema and should be considered separately.objectFz&Table used to store build-related dataarray)zKList of dependencies in the :pep:`508` format required to execute the buildz9system. Please notice that the resulting dependency graphz**MUST NOT contain cycles**typestringr   $$descriptionitemszLPython object that will be used to perform the build according to :pep:`517`zpep517-backend-referencer   descriptionformatzDList of directories to be prepended to ``sys.path`` when loading thezback-end, and running its hooksz0Should be a path (TODO: enforce it with format?))r   $comment)requiresbuild-backendbackend-pathr   )r   r   additionalProperties
propertiesrequiredQhttps://packaging.python.org/en/latest/specifications/declaring-project-metadata/0Package metadata stored in the ``project`` tableBData structure for the **project** table inside ``pyproject.toml``$(as initially defined in :pep:`621`)nameIThe name (primary identifier) of the project. MUST be statically defined.pep508-identifierversion6The version of the project as supported by :pep:`440`.pep440r   'The `summary description of the projectF<https://packaging.python.org/specifications/core-metadata/#summary>`_r   r   readmezA`Full/detailed description of the project in the form of a READMEz4<https://www.python.org/dev/peps/pep-0621/#readme>`_zGwith meaning similar to the one defined in `core metadata's DescriptionzJ<https://packaging.python.org/specifications/core-metadata/#description>`_zDRelative path to a text file (UTF-8) containing the full descriptionzDof the project. If the file path ends in case-insensitive ``.md`` orz8``.rst`` suffixes, then the content-type is respectivelyz#``text/markdown`` or ``text/x-rst``anyOffile<Relative path to a text file containing the full descriptionof the project.r"   r#   text!Full text describing the project.r   r   content-typez2Content-type (:rfc:`1341`) of the full descriptionz>(e.g. ``text/markdown``). The ``charset`` parameter is assumedzUTF-8 when not present."TODO: add regex pattern or format?r   r   r   r   ZallOfr   oneOfrequires-pythonpep508-versionspec/`The Python version requirements of the projectO<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.r   r   r   licenseG`Project license <https://www.python.org/dev/peps/pep-0621/#license>`_.DRelative path to the file (UTF-8) which contains the license for theproject.z7The license of the project whose meaning is that of thez%`License field from the core metadatazG<https://packaging.python.org/specifications/core-metadata/#license>`_.r   rB   authors$ref#/definitions/authorzJThe people or organizations considered to be the 'authors' of the project.zNThe exact meaning is open to interpretation (e.g. original or primary authors,z/current maintainers, or owners of the package).r   r   r   maintainersNThe people or organizations considered to be the 'maintainers' of the project.FSimilarly to ``authors``, the exact meaning is open to interpretation.keywordsNList of keywords to assist searching for the distribution in a larger catalog.r   r   r   classifierstrove-classifier3`PyPI classifier <https://pypi.org/classifiers/>`_.r   r   r   4`Trove classifiers <https://pypi.org/classifiers/>`_which apply to the project.urls@URLs associated with the project in the form ``label => value``.r   urlr   r   r   r   r!   patternPropertiesscripts#/definitions/entry-point-groupzDInstruct the installer to create command-line wrappers for the givenL`entry points <https://packaging.python.org/specifications/entry-points/>`_.)rO   r   gui-scripts)z;Instruct the installer to create GUI wrappers for the givenrg   zJThe difference between ``scripts`` and ``gui-scripts`` is only relevant inzWindows.entry-pointsz@Instruct the installer to expose the given modules/functions viaz9``entry-point`` discovery mechanism (useful for plugins).z9More information available in the `Python packaging guidez><https://packaging.python.org/specifications/entry-points/>`_.r   python-entrypoint-groupr   propertyNamesr!   rd   dependencies!Project (mandatory) dependencies.#/definitions/dependencyr   r   r   optional-dependencies#Optional dependency for the projectr   r   r   r   rm   r!   rd   dynamicGSpecifies which fields are intentionally unspecified and expected to be#dynamically provided by build toolsenumr+   r   r1   rC   rH   rN   rS   rV   rY   r_   re   rh   ri   rn   rr   const version is listed in ``dynamic``containsr   r#   r"   	zAccording to :pep:`621`:zH    If the core metadata specification lists a field as "Required", thenzH    the metadata MUST specify the field statically or list it in dynamicz"In turn, `core metadata`_ defines:z=    The required fields are: Metadata-Version, Name, Version.z&    All the other fields are optional.zISince ``Metadata-Version`` is defined by the build back-end, ``name`` andzE``version`` are the only mandatory information in ``pyproject.toml``.zM.. _core metadata: https://packaging.python.org/specifications/core-metadata/notz	$$comment=version should be statically defined in the ``version`` fieldr#   r   Author or Maintainer=https://www.python.org/dev/peps/pep-0621/#authors-maintainersIMUST be a valid email name, i.e. whatever can be put as a name, before anemail, in :rfc:`822`.	idn-emailMUST be a valid email addressr(   email$idtitler   r   r"   Entry-pointszLEntry-points are grouped together to indicate what sort of capabilities theyzprovide.zSee the `packaging guidesz=<https://packaging.python.org/specifications/entry-points/>`_zand `setuptools docszC<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_zfor more information.python-entrypoint-name6Reference to a Python object. It is either in the form<``importable.module``, or ``importable.module:object.attr``.python-entrypoint-reference9https://packaging.python.org/specifications/entry-points/r   r   r   r   r   r   r   r   rm   r!   rd   
Dependency5Project dependency specification according to PEP 508pep508r   r   r   r   r   authorzentry-point-group
dependency$schemar   r   r   r   r"   r#   r!   ifZthendefinitions"https://docs.python.org/3/install/``tool.distutils`` tablezGOriginally, ``distutils`` allowed developers to configure arguments forz7``setup.py`` scripts via `distutils configuration fileszE<https://docs.python.org/3/install/#distutils-configuration-files>`_.z@``tool.distutils`` subtables could be used with the same purposez(NOT CURRENTLY IMPLEMENTED).global4Global options applied to all ``distutils`` commandsr   CTODO: Is there a practical way of making this schema more specific?r   r   r   r   r   r"   rd   r   =https://setuptools.pypa.io/en/latest/references/keywords.html``tool.setuptools`` tablezLPlease notice for the time being the ``setuptools`` project does not specifyz3a way of configuring builds via ``pyproject.toml``.zMTherefore this schema should be taken just as a *"thought experiment"* on howz@this *might be done*, by following the principles established inzO`ini2toml <https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html>`_.z,It considers only ``setuptools`` `parameterszJ<https://setuptools.pypa.io/en/latest/userguide/declarative_config.html>`_zTthat can currently be configured via ``setup.cfg`` and are not covered by :pep:`621`zGbut intentionally excludes ``dependency_links`` and ``setup_requires``.zINOTE: ``scripts`` was renamed to ``script-files`` to avoid confusion withz2entry-point based scripts (defined in :pep:`621`).	platformsprovides?Package and virtual package names contained within this package**(not supported by pip)**r   r   r   	obsoletes,Packages which this package renders obsoletezip-safeDWhether the project can be safely installed and run from a zip file.booleanr   r   script-files<Legacy way of defining scripts (entry-points are preferred).1TODO: is this field deprecated/should be removed?r   r   r   r   eager-resourcesFResources that should be extracted together, if any of them is needed,<or if any C extensions included in the project are imported.packagesz5Packages that should be included in the distribution.z7It can be given either as a list of package identifiersz:or as a ``dict``-like structure with a single key ``find``z&which corresponds to a dynamic call toz4``setuptools.config.expand.find_packages`` function.zMThe ``find`` key is associated with a nested ``dict``-like structure that canzDcontain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,z;mimicking the keyword arguments of the associated function.#Array of Python package identifierspython-module-namer   r   r   #/definitions/find-directivepackage-dirzR:class:`dict`-like structure mapping from package names to directories where theirzcode can be found.zFThe empty string (as key) means that all packages are contained insidez9the given directory will be included in the distribution.rB   r   r   r   r!   rm   rd   package-dataz5Mapping from package names to lists of glob patterns.zLUsually this option is not needed when using ``include-package-data = true``MFor more information on how to include data files, check ``setuptools`` `docsB<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.*include-package-datazCAutomatically include any data files inside the package directoriesz%that are specified by ``MANIFEST.in``r   r   r   r   exclude-package-datazLMapping from package names to lists of glob patterns that should be excludedr   r   namespace-packagesEhttps://setuptools.pypa.io/en/latest/userguide/package_discovery.htmlr   r   r   
py-modules'Modules that setuptools will manipulate0TODO: clarify the relationship with ``packages``
data-fileszM**DEPRECATED**: dict-like structure where each key represents a directory andzFthe value is a list of glob patterns that should be installed in them.zBPlease notice this don't work with wheels. See `data files supportzA<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_r   r   rd   cmdclasszMMapping of distutils-style command names to ``setuptools.Command`` subclasseszJwhich in turn should be represented by strings with a qualified class namez+(i.e., "dotted" form with module), e.g.::

z;    cmdclass = {mycmd = "pkg.subpkg.module.CommandClass"}

zFThe command class should be a directly defined at the top-level of thez%containing module (no class nesting).python-qualified-identifierlicense-filesKPROVISIONAL: List of glob patterns for all license files being distributed.%(might become standard with PEP 639).zLICEN[CS]E*z	 COPYING*z NOTICE*zAUTHORS*HTODO: revise if PEP 639 is accepted. Probably ``project.license-files``?r   r   r   defaultr   @Instructions for loading :pep:`621`-related metadata dynamicallyBA version dynamically loaded via either the ``attr:`` or ``file:``Mdirectives. Please make sure the given file or attribute respects :pep:`440`.#/definitions/attr-directive#/definitions/file-directivepython-identifierr   rm   r!   rd   r"   r4   r#   r+   rY   r   rn   ri   rr   r1   r   r   r!   r"   'file:' directiveBValue is read from a file (or list of files and then concatenated)r   r   r   r   r!   r"   r#   'attr:' directiveHValue is read from a module attribute. Supports callables and iterables;(unsupported types are cast via ``str()``attrr   r   r   r   r!   r"   r#   'find:' directivefindDynamic `package discoveryJ<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.BDirectories to be searched for packages (Unix-style relative path)r   r   r   <Exclude packages that match the values listed in this field.6Can container shell-style wildcards (e.g. ``'pkg.*'``)BRestrict the found packages to just the ones listed in this field.CWhen ``True``, directories without a ``__init__.py`` file will also3be scanned for :pep:`420`-style implicit namespaceswhereexcludeinclude
namespacesr   r   r!   r"   r   r   r   r!   r"   zfile-directivezattr-directivezfind-directiver   r   r   r   r   r!   r"   r   )	distutils
setuptools)r   r"   )build-systemprojecttool)r   r   r   r   r   r!   r"   r  valuer(   Z
definitionruler  z.build-system must be objectz.build-systemc                 3       | ]}| v V  qd S Nr   .0propZdata__buildsystemr   r   	<genexpr>-       znvalidate_https___packaging_python_org_en_latest_specifications_declaring_build_dependencies.<locals>.<genexpr>)r   z2.build-system must contain ['requires'] propertiesr#   z$.build-system.requires must be arrayz.build-system.requiresz7.build-system.requires[{data__buildsystem__requires_x}] must be stringr   z*.build-system.build-backend must be stringz.build-system.build-backendz<.build-system.build-backend must be pep517-backend-referencer    z(.build-system.backend-path must be arrayz.build-system.backend-pathz>.build-system.backend-path[{data__buildsystem__backendpath_x}]z.build-system must not contain  propertiesr!   r  z.projectr  z.tool must be objectz.toolr  z.tool.distutilsr  z.tool.setuptools must not contain r   )
isinstancedictr   setkeysremovelenalllisttuple	enumeratestrr   localsYvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata*validate_https___docs_python_org_3_installFvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html)r   r   r   data_is_dict	data_keysZdata__buildsystem_is_dictZdata__buildsystem_lenZdata__buildsystem_keysZdata__buildsystem__requiresZ#data__buildsystem__requires_is_listZdata__buildsystem__requires_lenZdata__buildsystem__requires_xZ data__buildsystem__requires_itemZdata__buildsystem__buildbackendZdata__buildsystem__backendpathZ&data__buildsystem__backendpath_is_listZ"data__buildsystem__backendpath_lenZ data__buildsystem__backendpath_xZ#data__buildsystem__backendpath_itemZdata__projectZ
data__toolZdata__tool_is_dictZdata__tool_keysZdata__tool__distutilsZdata__tool__setuptoolsr   r  r   r
      s            


n
r

B`
::
Db

  p 


         r
   c           x   #      sz0  t | tsctd|pd d | d|pd d dddg ddd	i d
dddiddddgddddddddgddddddddddddddidddd d!gdddidd"g d#d$ddd%dd&d'd(dd	d)dd*d+gd	d,dddid-dd.d/gddid0dd1d/gddid0dd2d3gd4d5d6id7gd8d9g d:dd	d;d<d%id=digid>ddiid?d@g dAdd	d;d<d%id=dBigid>dddidid?dCg dDddEdFg dGdd	d;d<d%id=dBigid>dddidid?dHddd%ddIdJdKdLddd%ddMddNg dOdd>dddididPdQg dRdd>ddSdidPdTdddidUdVgg dWdXdYdZdd[d	d\d]gd^d_d`dagdd	dbddiidbgdcdddedfdd	dgd;ddidddidgiidggdhgd8dddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdd<diid	djdddedfdd	dgd;ddidddidgiidggdhidkdddedfdd	dgd;ddidddidgiidggdhdldmddiiigdggdndodpdddedfdd	dgd;ddidddidgiidggdhd^d_d`dagdd	dbddiidbgdcd'd(dd	d)dd*d+gd	d,dddid-dd.d/gddid0dd1d/gddid0dd2d3gd4d5d6id7dqdrddst | t}|r;t|  }d
|v r|d
 | d
 }t |ttfstd|pd dt |d|pd du dddidddst |ttf}|rt|}t	|D ]6\}}	t |	t
std|pd dvjdi t  dw |	d|pd dvjdi t  d ddiddsqd|v r|d | d }
t |
ttfs"td|pd dx |
d|pd dy ddgdddddddst |
ttf}|rt|
}t	|
D ]p\}}t |t
sjtd|pDd dzjdi t  dw |d|pVd dzjdi t  d dddddst |t
r|d |std|p}d dzjdi t  d{ |d|pd dzjdi t  d dddd<dsq4d|v r^|d | d }t |ttfstd|pd d| |d|pd d} ddgdddddddst |ttf}|r^t|}t	|D ]p\}}t |t
s#td|pd d~jdi t  dw |d|pd d~jdi t  d dddddst |t
r\|d |s\td|p6d d~jdi t  d{ |d|pHd d~jdi t  d dddd<dsqd|v r|d | d }t |tstd|pxd d |d|pd d dddddsd|v r	|d | d }t |ttfstd|pd d |d|pd d ddddiddddst |ttf}|r	t|}t	|D ]6\}}t |t
std|pd djdi t  dw |d|pd djdi t  d ddiddsqd|v r|d | d }t |ttfs>td|p%d d |d|p.d d d d!gdddidddst |ttf}|rt|}t	|D ]6\}}t |t
std|p`d djdi t  dw |d|prd djdi t  d ddiddsqPd"|v r|d" | d" }d} | dk rVzt |ttfstd|pd d |d|pd d d$ddd%dd&ddst |ttf}!|!rFt|}"t	|D ]p\}#}$t |$t
std|pd djdi t  dw |$d|pd djdi t  d dd%dddst |$t
rD|d% |$sDtd|pd djdi t  d |$d|p0d djdi t  d dd%dd<dsq| d7 } W n
 tyU   Y nw | dk rwzt|||pcdd  | d7 } W n
 tyv   Y nw | dkrtd|pd d dt
|  d  |d|pd d g d#d$ddd%dd&d'd(dd	d)dd*d+gd	d,dddid-dd.d/gddid0dd1d/gddid0dd2d3gd4d5d6id7gd8d;dsd9|v r|d9 | d9 }%t |%tstd|pd d |%d|pd d g d:dd	d;d<d%id=digid>ddiid?ddst |%t}&|&rt|% }'|% D ]H\}(})td> |(rp|(|'v r?|'|( t |)t
sptd|pKd djdi t  dw |)d|p]d djdi t  d ddiddsq)|'rtd|p{d d t
|' d |%d|pd d g d:dd	d;d<d%id=digid>ddiid?ddst|%}*|*dkrd}+|%D ]}(zd},|,dk rz,t |(t
r|d% |(std|pd d |(d|pd d d<d%id<ds|,d7 },W n
 ty   Y nw |,dk r(z$|(dkrtd|pd d |(d|pd d d=did=ds|,d7 },W n
 ty'   Y nw |,dkrTtd|p3d d dt
|, d  |(d|pDd d d;d<d%id=digid;dsW q tyc   d	}+Y qw |+std|pmd d |%d|pvd d g d:dd	d;d<d%id=digid>ddiid?ddsd@|v 
r|d@ | d@ }-t |-tstd|pd d |-d|pd d g dAdd	d;d<d%id=dBigid>dddidid?ddst |-t}.|.
rt|- }/|- D ]\}0}1td> |0	r{|0|/v r|/|0 t |1ttf	s2td|	p
d djdi t  d |1d|	pd djdi t  d dddidddst |1ttf}2|2	r{t|1}3t	|1D ]6\}4}5t |5t
	sytd|	pTd djdi t  dw |5d|	pfd djdi t  d ddidds	qDq|/	rtd|	pd d t
|/ d |-d|	pd d g dAdd	d;d<d%id=dBigid>dddidid?ddst|-}6|6dk
rd}7|-D ]}0zd}8|8dk 
rz,t |0t
	r|d% |0	std|	pd d |0d|	pd d d<d%id<ds|8d7 }8W n
 t
y   Y nw |8dk 
r6z$|0dBk
r&td|
pd d |0d|
pd d d=dBid=ds|8d7 }8W n
 t
y5   Y nw |8dk
rbtd|
pAd d dt
|8 d  |0d|
pRd d d;d<d%id=dBigid;dsW 	q t
yq   d	}7Y 	qw |7
std|
p{d d |-d|
pd d g dAdd	d;d<d%id=dBigid>dddidid?ddsdC|v 
r|dC | dC }9t |9t
std|
pd d |9d|
pd d g dDddEddsdF|v r|dF | dF }:t |:tstd|
pd d |:d|
pd d g dGdd	d;d<d%id=dBigid>dddidid?ddst |:t};|;rt|: }<|: D ]\}=}>td> |=r|=|<v r=|<|= t |>ttfsstd|pKd djdi t  d |>d|p]d djdi t  d dddidddst |>ttf}?|?rt|>}@t	|>D ]6\}A}Bt |Bt
std|pd djdi t  dw |Bd|pd djdi t  d ddiddsqq'|<rtd|pd d t
|< d |:d|pd d g dGdd	d;d<d%id=dBigid>dddidid?ddst|:}C|Cdkrd}D|:D ]}=zd}E|Edk rCz,t |=t
r3|d% |=s3td|p d d |=d|p)d d d<d%id<ds|Ed7 }EW n
 tyB   Y nw |Edk rwz$|=dBkrgtd|pTd d |=d|p]d d d=dBid=ds|Ed7 }EW n
 tyv   Y nw |Edkrtd|pd d dt
|E d  |=d|pd d d;d<d%id=dBigid;dsW q ty   d	}DY qw |Dstd|pd d |:d|pd d g dGdd	d;d<d%id=dBigid>dddidid?ddsdH|v r|dH | dH }Ft |Fttfstd|p d d |Fd|p	d d ddd%ddIdJddst |Fttf}G|Grt|F}Ht	|FD ]p\}I}Jt |Jt
s`td|p:d djdi t  dw |Jd|pLd djdi t  d dd%dddst |Jt
r|d% |Jstd|psd djdi t  d |Jd|pd djdi t  d dd%dd<dsq*dK|v rS|dK | dK }Kt |Kttfstd|pd d |Kd|pd d dLddd%ddMdddst |Kttf}L|LrSt|K}Mt	|KD ]p\}N}Ot |Ot
std|pd djdi t  dw |Od|pd djdi t  d dd%dddst |Ot
rQ|d% |OsQtd|p+d djdi t  d |Od|p=d djdi t  d dd%dd<dsqdN|v r4|dN | dN }Pt |Ptstd|pmd d |Pd|pvd d g dOdd>dddididPddst |Pt}Q|Qr4t|P }R|P D ]\}S}Ttd> |Sr2|S|Rv r|R|S t |Tttfstd|pd djdi t  d |Td|pd djdi t  d dddidddst |Tttf}U|Ur2t|T}Vt	|TD ]6\}W}Xt |Xt
s0td|pd djdi t  dw |Xd|pd djdi t  d ddiddsqqdQ|v r|dQ | dQ }Yt |Ytsjtd|pNd d |Yd|pWd d g dRdd>ddSdidPddst |Yt}Z|Zrt|Y }[|Y D ]\}\}]td> |\r|\|[v r|[|\ t |]t
std|pd djdi t  dw |]d|pd djdi t  d ddSdddst |]t
r|dS |]std|pd djdi t  d |]d|pd djdi t  d ddSdd<dsq|dT|v r|dT | dT }^t |^ttfs8td|pd d |^d|p$d d dddidUdVgg dWdXdYddst |^ttf}_|_rt|^}`t	|^D ]6\}a}bt |bt
std|pZd djdi t  dw |bd|pld djdi t  d ddiddsqJng dW| dT< dZ|v r|dZ | dZ }ct |ctstd|pd d |cd|pd d dd[d	d\d]gd^d_d`dagdd	dbddiidbgdcdddedfdd	dgd;ddidddidgiidggdhgd8dddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdd<diid	djdddedfdd	dgd;ddidddidgiidggdhidkdddedfdd	dgd;ddidddidgiidggdhdldmddiiigdggdndodpddst |ct}d|drt|c }ed|ev r5|edš |cd }fd}g|gdk rzt|f||pdd  |gd7 }gW n
 ty   Y nw |gdk rzt|f||pdd  |gd7 }gW n
 ty   Y nw |gdkr5td|pd d dt
|g d  |fd|pd d d\d]gd^d_d`dagdd	dbddiidbgdcdddedfdd	dgd;ddidddidgiidggdhgd8d;dsd|ev rN|edȡ |cd }ht|h||pJdd  d|ev rg|edʡ |cd }it|i||pcdd  d|ev r|ed̡ |cd }jt|j||p|dd  d|ev r|edΡ |cd }kt|k||pdd  d|ev r|edС |cd }lt |ltstd|pd d |ld|pd d dd<diid	djdddedfdd	dgd;ddidddidgiidggdhidkddst |lt}m|mrt|l }n|l D ]"\}o}ptdj |or|o|nv r|n|o t|p||pdd  q|nrWtd|p!d d t
|n d |ld|p0d d dd<diid	djdddedfdd	dgd;ddidddidgiidggdhidkddst|l}q|qdkrd}r|lD ]8}oz)t |ot
r|di |ostd|pzd d |od|pd d d<diid<dsW qd ty   d	}rY qdw |rstd|pd d |ld|pd d dd<diid	djdddedfdd	dgd;ddidddidgiidggdhidkddsd|ev r|edס |cd  d}s|sszt ||pdd  |sd7 }sW n
 ty   Y nw |ssTzAt  t}t|trDt  }udm|uv rD|udm  dm }vt |vt
sDtd|p1d d |vd|p:d d ddidds|sd7 }sW n
 tyS   Y nw |sstd|p]d d  d|pfd d dddedfdd	dgd;ddidddidgiidggdhdldmddiiigdggdnddst  t}t|trt }wt fddބdD std|pd d  d|pd d dddedfdd	dgd;ddidddidgiidggdhdldmddiiigdggdndds|ertd|pd d t
|e d |cd|pd d dd[d	d\d]gd^d_d`dagdd	dbddiidbgdcdddedfdd	dgd;ddidddidgiidggdhgd8dddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdd<diid	djdddedfdd	dgd;ddidddidgiidggdhidkdddedfdd	dgd;ddidddidgiidggdhdldmddiiigdggdndodpdds|r;td|pd d t
| d | d|pd d dddg ddd	i d
dddiddddgddddddddgddddddddddddddidddd d!gdddidd"g d#d$ddd%dd&d'd(dd	d)dd*d+gd	d,dddid-dd.d/gddid0dd1d/gddid0dd2d3gd4d5d6id7gd8d9g d:dd	d;d<d%id=digid>ddiid?d@g dAdd	d;d<d%id=dBigid>dddidid?dCg dDddEdFg dGdd	d;d<d%id=dBigid>dddidid?dHddd%ddIdJdKdLddd%ddMddNg dOdd>dddididPdQg dRdd>ddSdidPdTdddidUdVgg dWdXdYdZdd[d	d\d]gd^d_d`dagdd	dbddiidbgdcdddedfdd	dgd;ddidddidgiidggdhgd8dddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdddedfdd	dgd;ddidddidgiidggdhdd<diid	djdddedfdd	dgd;ddidddidgiidggdhidkdddedfdd	dgd;ddidddidgiidggdhdldmddiiigdggdndodpdddedfdd	dgd;ddidddidgiidggdhd^d_d`dagdd	dbddiidbgdcd'd(dd	d)dd*d+gd	d,dddid-dd.d/gddid0dd1d/gddid0dd2d3gd4d5d6id7dqdrdds| S )Nr	   r   r   r   r   r   r   r   Fr   r   r   r   rt   r   r   r   r*   rb   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r0   r  r  r	  rA   r   r   rB   r   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rv   r   r   r   r   r   r   r   r   r   r   r   r   r5   r   r   r   r   r"   r<   r   r   r   r
  r  r  z.platforms must be arrayz
.platformsz.platforms[{data__platforms_x}]r  z.provides must be arrayz	.providesz.provides[{data__provides_x}]z must be pep508-identifierz.obsoletes must be arrayz
.obsoletesz.obsoletes[{data__obsoletes_x}]z.zip-safe must be booleanz	.zip-safez.script-files must be arrayz.script-filesz$.script-files[{data__scriptfiles_x}]z.eager-resources must be arrayz.eager-resourcesz*.eager-resources[{data__eagerresources_x}]r      z.packages must be arrayz	.packagesz.packages[{data__packages_x}]z must be python-module-namer   z1.packages must be valid exactly by one definition ( matches found)z.package-dir must be objectz.package-dirz#.package-dir.{data__packagedir_key}z.package-dir must not contain r  r!   Tz'.package-dir must be python-module-namez/.package-dir must be same as const definition: z4.package-dir must be valid exactly by one definitionz5.package-dir must be named by propertyName definitionrm   z.package-data must be objectz.package-dataz%.package-data.{data__packagedata_key} must be arrayz@.package-data.{data__packagedata_key}[{data__packagedata_val_x}]z.package-data must not contain z(.package-data must be python-module-namez1.package-data must be same as const definition: *z5.package-data must be valid exactly by one definitionz6.package-data must be named by propertyName definitionz%.include-package-data must be booleanz.include-package-dataz$.exclude-package-data must be objectz.exclude-package-dataz4.exclude-package-data.{data__excludepackagedata_key}zV.exclude-package-data.{data__excludepackagedata_key}[{data__excludepackagedata_val_x}]z'.exclude-package-data must not contain z0.exclude-package-data must be python-module-namez9.exclude-package-data must be same as const definition: *z=.exclude-package-data must be valid exactly by one definitionz>.exclude-package-data must be named by propertyName definitionz!.namespace-packages must be arrayz.namespace-packagesz0.namespace-packages[{data__namespacepackages_x}]z.py-modules must be arrayz.py-modulesz .py-modules[{data__pymodules_x}]z.data-files must be objectz.data-filesz!.data-files.{data__datafiles_key}z:.data-files.{data__datafiles_key}[{data__datafiles_val_x}]z.cmdclass must be objectz	.cmdclassz.cmdclass.{data__cmdclass_key}z$ must be python-qualified-identifierz.license-files must be arrayz.license-filesz&.license-files[{data__licensefiles_x}]z.dynamic must be object.dynamicr+   z.dynamic.versionz8.dynamic.version must be valid exactly by one definitionrY   z.dynamic.classifiersr   z.dynamic.descriptionrn   z.dynamic.dependenciesri   z.dynamic.entry-pointsrr   z-.dynamic.optional-dependencies must be objectz.dynamic.optional-dependencieszH.dynamic.optional-dependencies.{data__dynamic__optionaldependencies_key}z0.dynamic.optional-dependencies must not contain z8.dynamic.optional-dependencies must be python-identifierzG.dynamic.optional-dependencies must be named by propertyName definitionr1   z.dynamic.readmez+.dynamic.readme.content-type must be stringz.dynamic.readme.content-typez5.dynamic.readme cannot be validated by any definitionr4   c                 3   r  r  r   r  Zdata__dynamic__readmer   r   r     r  zYvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html.<locals>.<genexpr>r5   z0.dynamic.readme must contain ['file'] propertiesr#   z.dynamic must not contain r  r   )r  r   r   r!  r"  r#  r&  r'  r$  r(  r)  r   r*  boolbvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_find_directiver   REGEX_PATTERNSsearchbvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_attr_directivebvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directiver%  )xr   r   r   r.  r/  Zdata__platformsZdata__platforms_is_listZdata__platforms_lenZdata__platforms_xZdata__platforms_itemZdata__providesZdata__provides_is_listZdata__provides_lenZdata__provides_xZdata__provides_itemZdata__obsoletesZdata__obsoletes_is_listZdata__obsoletes_lenZdata__obsoletes_xZdata__obsoletes_itemZdata__zipsafeZdata__scriptfilesZdata__scriptfiles_is_listZdata__scriptfiles_lenZdata__scriptfiles_xZdata__scriptfiles_itemZdata__eagerresourcesZdata__eagerresources_is_listZdata__eagerresources_lenZdata__eagerresources_xZdata__eagerresources_itemZdata__packagesZdata__packages_one_of_count1Zdata__packages_is_listZdata__packages_lenZdata__packages_xZdata__packages_itemZdata__packagedirZdata__packagedir_is_dictZdata__packagedir_keysZdata__packagedir_keyZdata__packagedir_valZdata__packagedir_lenZdata__packagedir_property_namesZ"data__packagedir_key_one_of_count2Zdata__packagedataZdata__packagedata_is_dictZdata__packagedata_keysZdata__packagedata_keyZdata__packagedata_valZdata__packagedata_val_is_listZdata__packagedata_val_lenZdata__packagedata_val_xZdata__packagedata_val_itemZdata__packagedata_lenZ data__packagedata_property_namesZ#data__packagedata_key_one_of_count3Zdata__includepackagedataZdata__excludepackagedataZ data__excludepackagedata_is_dictZdata__excludepackagedata_keysZdata__excludepackagedata_keyZdata__excludepackagedata_valZ$data__excludepackagedata_val_is_listZ data__excludepackagedata_val_lenZdata__excludepackagedata_val_xZ!data__excludepackagedata_val_itemZdata__excludepackagedata_lenZ'data__excludepackagedata_property_namesZ*data__excludepackagedata_key_one_of_count4Zdata__namespacepackagesZdata__namespacepackages_is_listZdata__namespacepackages_lenZdata__namespacepackages_xZdata__namespacepackages_itemZdata__pymodulesZdata__pymodules_is_listZdata__pymodules_lenZdata__pymodules_xZdata__pymodules_itemZdata__datafilesZdata__datafiles_is_dictZdata__datafiles_keysZdata__datafiles_keyZdata__datafiles_valZdata__datafiles_val_is_listZdata__datafiles_val_lenZdata__datafiles_val_xZdata__datafiles_val_itemZdata__cmdclassZdata__cmdclass_is_dictZdata__cmdclass_keysZdata__cmdclass_keyZdata__cmdclass_valZdata__licensefilesZdata__licensefiles_is_listZdata__licensefiles_lenZdata__licensefiles_xZdata__licensefiles_itemdata__dynamicZdata__dynamic_is_dictZdata__dynamic_keysZdata__dynamic__versionZ$data__dynamic__version_one_of_count5Zdata__dynamic__classifiersZdata__dynamic__descriptionZdata__dynamic__dependenciesZdata__dynamic__entrypointsZ#data__dynamic__optionaldependenciesZ+data__dynamic__optionaldependencies_is_dictZ(data__dynamic__optionaldependencies_keysZ'data__dynamic__optionaldependencies_keyZ'data__dynamic__optionaldependencies_valZ'data__dynamic__optionaldependencies_lenZ2data__dynamic__optionaldependencies_property_namesZ#data__dynamic__readme_any_of_count6Zdata__dynamic__readme_is_dictZdata__dynamic__readme_keysZ"data__dynamic__readme__contenttypeZdata__dynamic__readme_lenr   r5  r   r-  h   s      


8V

@XX

@XX

4

<V

>V


<XX



V


Vb

2

2
N
V

\


\Vh

2

2
N
\

8

\


\Vh

2

2
N
\

<XX

>XX

H


\V

D


XX

FV

 















l


x
2
l




2r
r     r-  c                    s<  t  ts0td|p
d d  d|pd d dddddd	d
ddidddidgiid	gdddt  t}|rt }t fdddD srtd|pLd d  d|pTd d dddddd	d
ddidddidgiid	gdddt  }d	|v rf|d	  d	 }d}|dk rz"t |tstd|pd d |d|pd d ddidd|d7 }W n	 ty   Y nw |dk r7zot |t	t
fstd|pd d |d|pd d dddidddt |t	t
f}|r't|}	t|D ]5\}
}t |ts&td|pd djd$i t  d |d|pd djd$i t  d ddiddq|d7 }W n
 ty6   Y nw |dkrftd|pBd d dt| d   |d|pSd d d
ddidddidgid
d|rtd|pod d! t| d"  d|p~d d dddddd	d
ddidddidgiid	gdd#d S )%Nr	   r   r   r   r   r   r   Fr5   rB   r   r   r   rt   r   r  c                 3   r  r  r   r  r   r   r   r    r  zuvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive.<locals>.<genexpr>r6  z! must contain ['file'] propertiesr#   r   r0  z.file must be stringz.filer   z.file must be arrayz.file[{data__file_x}]r  z-.file must be valid exactly by one definitionr1  r2  r  r  r!   r   )r  r   r   r$  r%  r!  r"  r#  r)  r&  r'  r(  r   r*  )r   r   r   r.  data_lenr/  Z
data__fileZdata__file_one_of_count7Zdata__file_is_listZdata__file_lenZdata__file_xZdata__file_itemr   r>  r   r<    sH   
V
V


.
4V
Tfr<  c                    s  t  ts)td|p
d d  d|pd d ddddgdd	d
ddiid
gdddt  t}|rt }t fdddD sctd|pDd d  d|pLd d ddddgdd	d
ddiid
gdddt  }d
|v r|d
  d
 }t |tstd|pd d |d|pd d ddidd|rtd|pd d t| d  d|pd d ddddgdd	d
ddiid
gddd S )Nr	   r   r   r   r   r   r   r   Fr   r   r   r   r  c                 3   r  r  r   r  r>  r   r   r  3  r  zuvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_attr_directive.<locals>.<genexpr>)r   z! must contain ['attr'] propertiesr#   z.attr must be stringz.attrr  r  r!   )	r  r   r   r$  r%  r!  r"  r#  r)  )r   r   r   r.  r?  r/  Z
data__attrr   r>  r   r;  -  s    
H
H

.Tr;  c                 C   s  t | tsItd|p
d d | d|pd d ddddddd	d
gdddddiddddgddiddddgddiddddgdddidddt | t}|rt|  }d|v r|d | d }t |tstd|pod d |d|pwd d dd	d
gdddddiddddgddiddddgddiddddgdddddt |t}|rt| }d|v r,|d |d }t |ttfstd|pd d |d|pd d  ddddidddt |ttf}	|	r,t|}
t	|D ]5\}}t |t
s+td|pd d!jd2i t  d" |d|pd d!jd2i t  d ddiddqd#|v r|d# |d# }t |ttfsatd|pHd d$ |d|pQd d% dddgddidddt |ttf}|rt|}t	|D ]6\}}t |t
std|pd d&jd2i t  d" |d|pd d&jd2i t  d ddiddqsd'|v r(|d' |d' }t |ttfstd|pd d( |d|pd d) dddgddidddt |ttf}|r(t|}t	|D ]6\}}t |t
s&td|pd d*jd2i t  d" |d|pd d*jd2i t  d ddiddqd+|v rX|d+ |d+ }t |tsXtd|pBd d, |d|pKd d- dddgddd|rtd|pad d. t
| d/ |d|ppd d dd	d
gdddddiddddgddiddddgddiddddgdddd0d|rtd|pd d1 t
| d/ | d|pd d ddddddd	d
gdddddiddddgddiddddgddiddddgdddidd0d| S )3Nr	   r   r   r   r   r   Fr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r0   r  r  r	  r  z.find must be objectz.findr  z.find.where must be arrayz.find.wherez".find.where[{data__find__where_x}]r  r  z.find.exclude must be arrayz.find.excludez&.find.exclude[{data__find__exclude_x}]r  z.find.include must be arrayz.find.includez&.find.include[{data__find__include_x}]r  z .find.namespaces must be booleanz.find.namespacesz.find must not contain r  r!   r  r   )r  r   r   r!  r"  r#  r&  r'  r$  r(  r)  r   r*  r7  )r   r   r   r.  r/  Z
data__findZdata__find_is_dictZdata__find_keysZdata__find__whereZdata__find__where_is_listZdata__find__where_lenZdata__find__where_xZdata__find__where_itemZdata__find__excludeZdata__find__exclude_is_listZdata__find__exclude_lenZdata__find__exclude_xZdata__find__exclude_itemZdata__find__includeZdata__find__include_is_listZdata__find__include_lenZdata__find__include_xZdata__find__include_itemZdata__find__namespacesr   r   r   r8  ?  sv   




x


6V

>V

>V

8r8  c                 C   s\  t | ts.td|p
d d | d|pd d dddg ddd	dd
didddiiddddt | t}|rt|  }d	|v re|d	 | d	 }t |tsetd|pRd d |d|pZd d dd
ddd|  D ]B\}}td |r||v r}|| t |tstd|pd dj	di t
  d |d|pd dj	di t
  d ddiddqi| S )Nr	   r   r   r   r   r   r   r   r   r   r;   r   r   r   r   r  z.global must be objectz.global.{data_key}r   )r  r   r   r!  r"  r#  r   r9  r:  r   r*  )r   r   r   r.  r/  Zdata__globaldata_keydata_valr   r   r   r,  y  s$   
R


0

Rr,  c           Q         s~$  t  tstd|pd d  d|pd d dddddgd	i d
dddddddddddddgddg ddg ddd	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%gd&d'dd(d)d*gd+d,d-ddd.d/gdidgdddg d0didgdgd1d2d3d4d5d6d	dd7d8gddd9d:d;d<d=g d>d?d@d3d4d5d6d	dd7d8gddd9d:d;d<d=dAdBgd?dCd3dDdidEdFdGd3ddHdId;dJdKgd?dLd	dMdNdOddPdQidRdSdTdUd	g dVdWdXidNdOddYdZgd[d\d]id^d_dTdUd	g dVdWdXidNdOddYdZgd[d\d]id^d`g dadWdbidNdOdTdUd	g dVdWdXidNdOddYdZgd[d\d]id^idcddd3dedfdgddhdidjdkdld	dmdWdidNdOd3dfdgddhdidjdnidodpd3dqdrgdsg dtidud
gdNdpgdpdvdidwgdxidyg dzd{dgd|gd}d4d5d6d	dd7d8gddd9d:d;d<d=dTdUd	g dVdWdXidNdOddYdZgd[d\d]id^dfdgddhdidjd~ddDdt  t}|rt }t fdddD std|pd d  d|pd d dddddgd	i d
dddddddddddddgddg ddg ddd	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%gd&d'dd(d)d*gd+d,d-ddd.d/gdidgdddg d0didgdgd1d2d3d4d5d6d	dd7d8gddd9d:d;d<d=g d>d?d@d3d4d5d6d	dd7d8gddd9d:d;d<d=dAdBgd?dCd3dDdidEdFdGd3ddHdId;dJdKgd?dLd	dMdNdOddPdQidRdSdTdUd	g dVdWdXidNdOddYdZgd[d\d]id^d_dTdUd	g dVdWdXidNdOddYdZgd[d\d]id^d`g dadWdbidNdOdTdUd	g dVdWdXidNdOddYdZgd[d\d]id^idcddd3dedfdgddhdidjdkdld	dmdWdidNdOd3dfdgddhdidjdnidodpd3dqdrgdsg dtidud
gdNdpgdpdvdidwgdxidyg dzd{dgd|gd}d4d5d6d	dd7d8gddd9d:d;d<d=dTdUd	g dVdWdXidNdOddYdZgd[d\d]id^dfdgddhdidjd~dddt  }d
|v r|d
  d
 }t |tstd|pd d |d|pd d dddddDdt |tr|d |std|pd d |d|pd d dddddWdd|v rL|d  d }t |ts$td|pd d |d|pd d dddddDdt |trL|d |sLtd|p7d d |d|p@d d dddddWdd|v r||d  d }t |ts|td|pfd d |d|pod d dddgddDdd|v r$|d  d d}	|	dk rz(t tstd|pd d d|pd d dg dddDd|	d7 }	W n
 ty   Y nw |	dk rːzt tstd|pd d d|pd d d	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%dDdd}
|
szvt t}|rt}tfdddD sQtd|p5d d d|p>d d ddddgdidgdddt }d|v r|d d }t |tstd|pqd d |d|pzd d dddgddDd|
d7 }
W n
 ty   Y nw |
szrt t}|rt}tfdddD std|pd d d|pd d dddd idgdddt }d|v r|d d }t |tstd|pd d |d|pd d ddd dDd|
d7 }
W n
 ty   Y nw |
sItd|p d d d|p)d d dddddgdidgddddd idgdgiddt t}|rt}tfdddD std|pgd d d|ppd d d!dg d"d#d$id!gdddt }d!|v r|d! d! }t |tstd|pd d |d|pd d dg d"d#d$dDd|	d7 }	W n
 ty   Y nw |	dkr$td|pd d dt|	 d  d|pd d g ddg ddd	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%gd&ddd'|v r|d'  d' }t |tsUtd|p>d d |d|pGd d dd(d)d*gd+dDdt |tr|d( |std|phd d |d|pqd d dd(d)d*gd+dWdd,|v r|d,  d, d}|dk rzvt t}|rt}tfdddD std|pd d d|pd d ddd.d/gdidgdddt }d|v r|d d }t |tstd|pd d |d|pd d dd.d/gddDd|d7 }W n
 ty   Y nw |dk rzvt t}|rt}tfdddD sUtd|p9d d d|pBd d ddg d0didgdddt }d|v r|d d }t |tstd|pud d |d|p~d d dg d0ddDd|d7 }W n
 ty   Y nw |dkrtd|pd d dt| d  d|pd d d-ddd.d/gdidgdddg d0didgdgd1ddd2|v 	rB|d2  d2 }t |t	t
f	std|pd d |d|pd d d3d4d5d6d	dd7d8gddd9d:d;d<d=g d>d?dDdt |t	t
f}|	rBt|}t|D ]\}}t|||	p<dd  	q1d@|v 	r|d@  d@ }t |t	t
f	std|	p^d d |d|	pgd d d3d4d5d6d	dd7d8gddd9d:d;d<d=dAdBgd?dDdt |t	t
f}|	rt|}t|D ]\} }!t|!||	pdd  	qdC|v 
r&|dC  dC }"t |"t	t
f	std|	pd d |"d|	pd d d3dDdidEdFdDdt |"t	t
f}#|#
r&t|"}$t|"D ]6\}%}&t |&t
s$td|	pd djdi t  d |&d|
pd djdi t  d dDdidDd	qdG|v 
r|dG  dG }'t |'t	t
f
s]td|
pBd d |'d|
pKd d d3ddHdId;dJdKgd?dDdt |'t	t
f}(|(
rt|'})t|'D ]r\}*}+t |+t
std|
pd djdi t  d |+d|
pd djdi t  d ddHdId;dDdt |+t
r|dH |+
std|
pd djdi t  d |+d|
pd djdi t  d ddHdId;dWd
qodL|v r|dL  dL },t |,tstd|
pd d |,d|pd d d	dMdNdOddPdQidRdDdt |,t}-|-rt|, }.|, D ]\}/}0tdO |/r|/|.v r?|.|/ t |0tsqtd|pKd djdi t  d |0d|p]d djdi t  d ddPdQdDdt |0tr|dP |0std|pd djdi t  d |0d|pd djdi t  d ddPdQdWdq)|.rtd|pd d t|. d |,d|pd d d	dMdNdOddPdQidRdddS|v r|dS  dS }1t|1||pdd  d_|v r|d_  d_ }2t|2||pdd  d`|v r|d`  d` }3t |3t}4|4rt|3 }5|3 D ]"\}6}7tdO |6rI|6|5v r>|5|6 t|7||pEdd  q(|5rtd|pTd d t|5 d |3d|pcd d g dadWdbidNdOdTdUd	g dVdWdXidNdOddYdZgd[d\d]id^idcddt|3}8|8dkrd}9|3D ]8}6z)t |6tr|db |6std|pd d |6d|pd d dWdbidWdW q ty   dN}9Y qw |9std|pd d |3d|pd d g dadWdbidNdOdTdUd	g dVdWdXidNdOddYdZgd[d\d]id^idcdddd|v re|dd  dd }:t |:t	t
fsBtd|p'd d |:d|p0d d d3dedfdgddhdidjdkdDdt |:t	t
f};|;ret|:}<t|:D ]\}=}>t|>||p_dd  qTdl|v r|dl  dl }?t |?tstd|pd d |?d|pd d d	dmdWdidNdOd3dfdgddhdidjdnidodDdt |?t}@|@rt|? }A|? D ]t\}B}CtdO |Br(|B|Av r|A|B t |Ct	t
fstd|pd djdi t  d |Cd|pd djdi t  d d3dfdgddhdidjdndDdt |Ct	t
f}D|Dr(t|C}Et|CD ]\}F}Gt|G||p"dd  qq|Ar]td|p3d d t|A d |?d|pBd d d	dmdWdidNdOd3dfdgddhdidjdnidoddt|?}H|Hdkrd}I|?D ]8}Bz)t |Btr|d |Bstd|pd d |Bd|pd d dWdidWdW qj ty   dN}IY qjw |Istd|pd d |?d|pd d d	dmdWdidNdOd3dfdgddhdidjdnidodddp|v rQ|dp  dp }Jt |Jt	t
fstd|pd d |Jd|pd d d3dqdrgdsg dtidudDdt |Jt	t
f}K|KrQt|J}Lt|JD ]7\}M}N|NdtvrOtd|p(d djdi t  d |Nd|p:d djdi t  d dsg dtidsdq|rtd|pZd d t| d  d|pid d dddddgd	i d
dddddddddddddgddg ddg ddd	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%gd&d'dd(d)d*gd+d,d-ddd.d/gdidgdddg d0didgdgd1d2d3d4d5d6d	dd7d8gddd9d:d;d<d=g d>d?d@d3d4d5d6d	dd7d8gddd9d:d;d<d=dAdBgd?dCd3dDdidEdFdGd3ddHdId;dJdKgd?dLd	dMdNdOddPdQidRdSdTdUd	g dVdWdXidNdOddYdZgd[d\d]id^d_dTdUd	g dVdWdXidNdOddYdZgd[d\d]id^d`g dadWdbidNdOdTdUd	g dVdWdXidNdOddYdZgd[d\d]id^idcddd3dedfdgddhdidjdkdld	dmdWdidNdOd3dfdgddhdidjdnidodpd3dqdrgdsg dtidud
gdNdpgdpdvdidwgdxidyg dzd{dgd|gd}d4d5d6d	dd7d8gddd9d:d;d<d=dTdUd	g dVdWdXidNdOddYdZgd[d\d]id^dfdgddhdidjd~dddzzt  t}|rt }t fdddD sUtd|p8d d  d|pAd d dpgdpdvdidwgdxidyddt  }dp|v r|dp  dp }Jt |Jt	t
f}K|KrdN}O|JD ]0}Pz#|Pdkrtd|pd d |Pd|pd d dvdidvdd}OW  n ty   Y qww |Ostd|pd d |Jd|pd d dvdidwgdxddW n
 ty   Y n)w td|pd d  d|pd d dpgdpdvdidwgdxidyg dzd{ddW n ty   Y  S w t  t}|r=t }t fdddD s=td|p'd d  d|p0d d dgd|gd}dd S )Nr	   r   r   r   r$   r%   r&   r'   r   r(   r   r)   r*   r   r+   r,   r-   r   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r   rP   r   r   r   r   r   r   r\   r   r   rQ   rR   rS   rT   rU   rV   r   rW   rX   rY   rZ   r[   r]   r^   r_   r`   Fr   ra   rb   rc   re   rf   r   r   r   r   r   r   r   r   r   r   rh   ri   rj   rk   rl   rn   ro   rp   r   r   r   r   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r   r{   r|   r}   r   r   r   r   r   r   r   r  c                 3   r  r  r   r  r>  r   r   r    r  zlvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata.<locals>.<genexpr>)r(   z! must contain ['name'] propertiesr#   .name must be string.namez.name must be pep508-identifierz.version must be stringz.versionz.version must be pep440z.description must be stringz.descriptionr   r0  z.readme must be stringz.readmer   z.readme must be objectc                 3   r  r  r   r  data__readmer   r   r    r  r6  z(.readme must contain ['file'] propertiesz.readme.file must be stringz.readme.filec                 3   r  r  r   r  rE  r   r   r    r  )r9   z(.readme must contain ['text'] propertiesz.readme.text must be stringz.readme.textz-.readme cannot be validated by any definitionc                 3   r  r  r   r  rE  r   r   r    r  )r<   z0.readme must contain ['content-type'] propertiesz#.readme.content-type must be stringz.readme.content-typez/.readme must be valid exactly by one definitionr1  r2  rB   z.requires-python must be stringz.requires-pythonz+.requires-python must be pep508-versionspecc                 3   r  r  r   r  data__licenser   r   r    r  z).license must contain ['file'] propertiesz.licensez.license.file must be stringz.license.filec                 3   r  r  r   r  rG  r   r   r    r  z).license must contain ['text'] propertiesz.license.text must be stringz.license.textz0.license must be valid exactly by one definitionz.authors must be arrayz.authorsz.authors[{data__authors_x}]z.maintainers must be arrayz.maintainersz#.maintainers[{data__maintainers_x}]z.keywords must be arrayz	.keywordsz.keywords[{data__keywords_x}]r  z.classifiers must be arrayz.classifiersz#.classifiers[{data__classifiers_x}]z must be trove-classifierz.urls must be objectz.urlsz.urls.{data__urls_key}z must be urlz.urls must not contain r  r!   z.scriptsz.gui-scriptsz%.entry-points.{data__entrypoints_key}z.entry-points must not contain z.entry-pointsTz-.entry-points must be python-entrypoint-groupz6.entry-points must be named by propertyName definitionrm   z.dependencies must be arrayz.dependenciesz%.dependencies[{data__dependencies_x}]z%.optional-dependencies must be objectz.optional-dependenciesz7.optional-dependencies.{data__optionaldependencies_key}r3  z[.optional-dependencies.{data__optionaldependencies_key}[{data__optionaldependencies_val_x}]z(.optional-dependencies must not contain z0.optional-dependencies must be pep508-identifierz?.optional-dependencies must be named by propertyName definitionz.dynamic must be arrayr4  z.dynamic[{data__dynamic_x}]z must be one of ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']r  c                 3   r  r  r   r  r>  r   r   r    r  )rv   z$ must contain ['dynamic'] propertiesz2.dynamic must be same as const definition: versionz0.dynamic must contain one of contains definitionr~   z' must NOT match a disallowed definitionr   c                 3   r  r  r   r  r>  r   r   r    r  )r+   z$ must contain ['version'] propertiesr   )r  r   r   r$  r%  r!  r"  r#  r)  r&  r'  r(  nvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_authorr   r*  r   r9  r:  yvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_entry_point_grouprvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_dependency)Qr   r   r   r.  r?  r/  
data__nameZdata__versionZdata__descriptionZdata__readme_one_of_count8Zdata__readme_any_of_count9Zdata__readme_is_dictZdata__readme_lenZdata__readme_keysZdata__readme__fileZdata__readme__textZdata__readme__contenttypeZdata__requirespythonZdata__license_one_of_count10Zdata__license_is_dictZdata__license_lenZdata__license_keysZdata__license__fileZdata__license__textZdata__authorsZdata__authors_is_listZdata__authors_lenZdata__authors_xZdata__authors_itemZdata__maintainersZdata__maintainers_is_listZdata__maintainers_lenZdata__maintainers_xZdata__maintainers_itemZdata__keywordsZdata__keywords_is_listZdata__keywords_lenZdata__keywords_xZdata__keywords_itemZdata__classifiersZdata__classifiers_is_listZdata__classifiers_lenZdata__classifiers_xZdata__classifiers_itemZ
data__urlsZdata__urls_is_dictZdata__urls_keysZdata__urls_keyZdata__urls_valZdata__scriptsZdata__guiscriptsZdata__entrypointsZdata__entrypoints_is_dictZdata__entrypoints_keysZdata__entrypoints_keyZdata__entrypoints_valZdata__entrypoints_lenZ data__entrypoints_property_namesZdata__dependenciesZdata__dependencies_is_listZdata__dependencies_lenZdata__dependencies_xZdata__dependencies_itemZdata__optionaldependenciesZ"data__optionaldependencies_is_dictZdata__optionaldependencies_keysZdata__optionaldependencies_keyZdata__optionaldependencies_valZ&data__optionaldependencies_val_is_listZ"data__optionaldependencies_val_lenZ data__optionaldependencies_val_xZ#data__optionaldependencies_val_itemZdata__optionaldependencies_lenZ)data__optionaldependencies_property_namesr=  Zdata__dynamic_is_listZdata__dynamic_lenZdata__dynamic_xZdata__dynamic_itemZdata__dynamic_containsZdata__dynamic_keyr   )r   rH  rF  r   r+    s    ~ 
   

66

66

8


8

D

8
@

4^
F

:


::



D

8

D

8
t

^

^

:V

BZZ

B


XXN








z
2
n

B

T


d`
2
T

B
Z   
F


2:P
8r+  c              
   C   s   t | ts td|p
d d | d|pd d dddddd	d
dt | trF|d | sFtd|p0d d | d|p8d d dddddd	dd| S )Nr	   r   r  rp   r   r   r   r   r   r   r  z must be pep508r   )r  r)  r   r   r   r   r   rK    s   
6
6rK  c           	      C   s  t | ts/td|p
d d | d|pd d dddg ddd	id
ddddgdddidddt | t}|rit|  }|  D ]\}}td |r||v rU|| t |t	std|p_d dj
d i t  d |d|ppd dj
d i t  d dddgdddddt |t	r|d |std|pd dj
d i t  d |d|pd dj
d i t  d dddgdddddqA|rtd|pd d t	| d | d|pd d dddg ddd	id
ddddgdddidddt| }|dkrid}| D ]8}z)t |t	r*|d	 |s*td|pd d |d|p d d dd	iddW q ty9   d
}Y qw |sitd|pCd d | d|pLd d dddg ddd	id
ddddgdddiddd| S )!Nr	   r   r   rf   r   r   r   r   r   Fr   r   r   r   r   r   r   r   r   r  r@  r  z$ must be python-entrypoint-referencer  r  r!   r   Tz must be python-entrypoint-namez) must be named by propertyName definitionrm   r   )r  r   r   r!  r"  r   r9  r:  r#  r)  r   r*  r$  )	r   r   r   r.  r/  rA  rB  r?  Zdata_property_namesr   r   r   rJ    s@   
T


\
\`
2
XrJ  c                 C   sn  t | ts,td|p
d d | d|pd d dddddd	d
gdddddddddt | t}|rt|  }d|v re|d | d }t |tsetd|pPd d |d|pXd d dd	d
gdddd|v r|d | d }t |tstd|p|d d |d|pd d ddddddt |trtd |std|pd d |d|pd d dddddd| S )Nr	   r   r   rP   r   r   r   r   r   r   r0   r   r   r\   r   r   r   r  r(   rC  rD  r   z.email must be stringz.emailr   z.email must be idn-emailr   )	r  r   r   r!  r"  r#  r)  r9  match)r   r   r   r.  r/  rL  Zdata__emailr   r   r   rI    s&   
N


4

2
2rI  )VERSIONreZfastjsonschema_exceptionsr   compiler9  r   NoneTyper   r
   r-  r<  r;  r8  r,  r+  rK  rJ  rI  r   r   r   r   <module>   s2   I   #%:  G