| 
															 | 
															 | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															import argparse | 
															 | 
															 | 
															import argparse | 
														
														
													
														
															 | 
															 | 
															import json | 
															 | 
															 | 
															import json | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															import itertools | 
														
														
													
														
															 | 
															 | 
															from typing import NamedTuple, Tuple, List, Sequence, Union, Optional, Mapping | 
															 | 
															 | 
															from typing import NamedTuple, Tuple, List, Sequence, Union, Optional, Mapping | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															from pathlib import Path | 
														
														
													
														
															 | 
															 | 
															import sys | 
															 | 
															 | 
															import sys | 
														
														
													
														
															 | 
															 | 
															import textwrap | 
															 | 
															 | 
															import textwrap | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															class CopyMoveTransform(NamedTuple): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    frm: str | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    to: str | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    strip_components: int = 0 | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    include: Sequence[str] = [] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    exclude: Sequence[str] = [] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    def to_dict(self): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        return { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'from': self.frm, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'to': self.to, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'include': self.include, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'exclude': self.exclude, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'strip-components': self.strip_components, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															class OneEdit(NamedTuple): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    kind: str | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    line: int | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    content: Optional[str] = None | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    def to_dict(self): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        d = { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'kind': self.kind, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'line': self.line, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        if self.content: | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            d['content'] = self.content | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        return d | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															class EditTransform(NamedTuple): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    path: str | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    edits: Sequence[OneEdit] = [] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    def to_dict(self): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        return { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'path': self.path, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'edits': [e.to_dict() for e in self.edits], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															class WriteTransform(NamedTuple): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    path: str | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    content: str | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    def to_dict(self): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        return { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'path': self.path, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'content': self.content, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															class RemoveTransform(NamedTuple): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    path: str | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    only_matching: Sequence[str] = () | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    def to_dict(self): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        return { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'path': self.path, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'only-matching': self.only_matching, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															class FSTransform(NamedTuple): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    copy: Optional[CopyMoveTransform] = None | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    move: Optional[CopyMoveTransform] = None | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    remove: Optional[RemoveTransform] = None | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    write: Optional[WriteTransform] = None | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    edit: Optional[EditTransform] = None | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    def to_dict(self): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        d = {} | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        if self.copy: | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            d['copy'] = self.copy.to_dict() | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        if self.move: | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            d['move'] = self.move.to_dict() | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        if self.remove: | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            d['remove'] = self.remove.to_dict() | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        if self.write: | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            d['write'] = self.write.to_dict() | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        if self.edit: | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            d['edit'] = self.edit.to_dict() | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        return d | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															class Git(NamedTuple): | 
															 | 
															 | 
															class Git(NamedTuple): | 
														
														
													
														
															 | 
															 | 
															    url: str | 
															 | 
															 | 
															    url: str | 
														
														
													
														
															 | 
															 | 
															    ref: str | 
															 | 
															 | 
															    ref: str | 
														
														
													
														
															 | 
															 | 
															    auto_lib: Optional[str] = None | 
															 | 
															 | 
															    auto_lib: Optional[str] = None | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    transforms: Sequence[FSTransform] = [] | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															    def to_dict(self) -> dict: | 
															 | 
															 | 
															    def to_dict(self) -> dict: | 
														
														
													
														
															 | 
															 | 
															        d = { | 
															 | 
															 | 
															        d = { | 
														
														
													
														
															 | 
															 | 
															            'url': self.url, | 
															 | 
															 | 
															            'url': self.url, | 
														
														
													
														
															 | 
															 | 
															            'ref': self.ref, | 
															 | 
															 | 
															            'ref': self.ref, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'transform': [f.to_dict() for f in self.transforms], | 
														
														
													
														
															 | 
															 | 
															        } | 
															 | 
															 | 
															        } | 
														
														
													
														
															 | 
															 | 
															        if self.auto_lib: | 
															 | 
															 | 
															        if self.auto_lib: | 
														
														
													
														
															 | 
															 | 
															            d['auto-lib'] = self.auto_lib | 
															 | 
															 | 
															            d['auto-lib'] = self.auto_lib | 
														
														
													
												
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															        return ret | 
															 | 
															 | 
															        return ret | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															class VersionSet(NamedTuple): | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    version: str | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    depends: Sequence[Tuple[str, str]] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															class Package(NamedTuple): | 
															 | 
															 | 
															class Package(NamedTuple): | 
														
														
													
														
															 | 
															 | 
															    name: str | 
															 | 
															 | 
															    name: str | 
														
														
													
														
															 | 
															 | 
															    versions: List[Version] | 
															 | 
															 | 
															    versions: List[Version] | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															def simple_packages(name: str, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    description: str, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    git_url: str, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    versions: Sequence[VersionSet], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    auto_lib: Optional[str] = None, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    *, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    tag_fmt: str = '{}') -> Package: | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    return Package(name, [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ver.version, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            description=description, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                git_url, tag_fmt.format(ver.version), auto_lib=auto_lib), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            depends={dep_name: dep_rng | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                     for dep_name, dep_rng in ver.depends}) for ver in versions | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ]) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															def many_versions(name: str, | 
															 | 
															 | 
															def many_versions(name: str, | 
														
														
													
														
															 | 
															 | 
															                  versions: Sequence[str], | 
															 | 
															 | 
															                  versions: Sequence[str], | 
														
														
													
														
															 | 
															 | 
															                  *, | 
															 | 
															 | 
															                  *, | 
														
														
													
														
															 | 
															 | 
															                  tag_fmt: str = '{}', | 
															 | 
															 | 
															                  tag_fmt: str = '{}', | 
														
														
													
														
															 | 
															 | 
															                  git_url: str, | 
															 | 
															 | 
															                  git_url: str, | 
														
														
													
														
															 | 
															 | 
															                  auto_lib: str = None, | 
															 | 
															 | 
															                  auto_lib: str = None, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                  transforms: Sequence[FSTransform] = (), | 
														
														
													
														
															 | 
															 | 
															                  description='(No description was provided)') -> Package: | 
															 | 
															 | 
															                  description='(No description was provided)') -> Package: | 
														
														
													
														
															 | 
															 | 
															    return Package(name, [ | 
															 | 
															 | 
															    return Package(name, [ | 
														
														
													
														
															 | 
															 | 
															        Version( | 
															 | 
															 | 
															        Version( | 
														
														
													
														
															 | 
															 | 
															            ver, | 
															 | 
															 | 
															            ver, | 
														
														
													
														
															 | 
															 | 
															            description='\n'.join(textwrap.wrap(description)), | 
															 | 
															 | 
															            description='\n'.join(textwrap.wrap(description)), | 
														
														
													
														
															 | 
															 | 
															            remote=Git( | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															                url=git_url, ref=tag_fmt.format(ver), auto_lib=auto_lib)) | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															        for ver in versions | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                url=git_url, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ref=tag_fmt.format(ver), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                auto_lib=auto_lib, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                transforms=transforms)) for ver in versions | 
														
														
													
														
															 | 
															 | 
															    ]) | 
															 | 
															 | 
															    ]) | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															PACKAGES = [ | 
															 | 
															 | 
															PACKAGES = [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'magic_enum', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.5.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.6.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.6.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.6.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.6.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.6.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.6.5', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.6.6', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        description='Static reflection for enums', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        tag_fmt='v{}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/Neargye/magic_enum.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='neargye/magic_enum', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'nameof', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.8.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.9.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.9.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.9.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.9.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.9.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        description='Nameof operator for modern C++', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        tag_fmt='v{}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/Neargye/nameof.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='neargye/nameof', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															    many_versions( | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															        'range-v3', | 
															 | 
															 | 
															        'range-v3', | 
														
														
													
														
															 | 
															 | 
															        ( | 
															 | 
															 | 
															        ( | 
														
														
													
												
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															    many_versions( | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															        'nlohmann-json', | 
															 | 
															 | 
															        'nlohmann-json', | 
														
														
													
														
															 | 
															 | 
															        ( | 
															 | 
															 | 
															        ( | 
														
														
													
														
															 | 
															 | 
															            '3.0.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.0.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.1.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.1.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.1.2', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.2.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.3.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.4.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.5.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.6.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.6.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.7.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.7.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.7.2', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.7.3', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.0.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.0.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.1.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.1.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.1.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.2.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.3.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.4.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.5.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.6.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.6.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.7.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '3.7.1',  # Only this version has the dds forked branch | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.7.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '3.7.3', | 
														
														
													
														
															 | 
															 | 
															        ), | 
															 | 
															 | 
															        ), | 
														
														
													
														
															 | 
															 | 
															        git_url='https://github.com/vector-of-bool/json.git', | 
															 | 
															 | 
															        git_url='https://github.com/vector-of-bool/json.git', | 
														
														
													
														
															 | 
															 | 
															        tag_fmt='dds/{}', | 
															 | 
															 | 
															        tag_fmt='dds/{}', | 
														
														
													
												
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.2.1', | 
															 | 
															 | 
															            '0.2.1', | 
														
														
													
														
															 | 
															 | 
															            '0.2.2', | 
															 | 
															 | 
															            '0.2.2', | 
														
														
													
														
															 | 
															 | 
															            '0.2.3', | 
															 | 
															 | 
															            '0.2.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.3.0', | 
														
														
													
														
															 | 
															 | 
															        ), | 
															 | 
															 | 
															        ), | 
														
														
													
														
															 | 
															 | 
															        description='A modern and low-level C++ SQLite API', | 
															 | 
															 | 
															        description='A modern and low-level C++ SQLite API', | 
														
														
													
														
															 | 
															 | 
															        git_url='https://github.com/vector-of-bool/neo-sqlite3.git', | 
															 | 
															 | 
															        git_url='https://github.com/vector-of-bool/neo-sqlite3.git', | 
														
														
													
												
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															        description='A C++ implementation of a JSON5 parser', | 
															 | 
															 | 
															        description='A C++ implementation of a JSON5 parser', | 
														
														
													
														
															 | 
															 | 
															        git_url='https://github.com/vector-of-bool/json5.git', | 
															 | 
															 | 
															        git_url='https://github.com/vector-of-bool/json5.git', | 
														
														
													
														
															 | 
															 | 
															    ), | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															    Package('vob-semester', [ | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															        Version( | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.1.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            description='A C++ library to process recursive dynamic data', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            remote=Git('https://github.com/vector-of-bool/semester.git', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                       '0.1.0'), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            depends={ | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'neo-fun': '^0.1.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'neo-concepts': '^0.2.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            }), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															        Version( | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.1.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            description='A C++ library to process recursive dynamic data', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            remote=Git('https://github.com/vector-of-bool/semester.git', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                       '0.1.1'), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            depends={ | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'neo-fun': '^0.1.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'neo-concepts': '^0.2.2', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            }), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															        Version( | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.2.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            description='A C++ library to process recursive dynamic data', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            remote=Git('https://github.com/vector-of-bool/semester.git', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                       '0.2.0'), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            depends={ | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'neo-fun': '^0.3.2', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'neo-concepts': '^0.3.2', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            }), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															        Version( | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.2.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            description='A C++ library to process recursive dynamic data', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            remote=Git('https://github.com/vector-of-bool/semester.git', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                       '0.2.1'), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            depends={ | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'neo-fun': '^0.3.2', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'neo-concepts': '^0.3.2', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            }), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															    ]), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															    Package('ctre', [ | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															        Version( | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '2.7.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            description= | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            'A compile-time PCRE (almost) compatible regular expression matcher', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            remote=Git( | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'https://github.com/hanickadot/compile-time-regular-expressions.git', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                'v2.7', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															                auto_lib='hanickadot/ctre', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            )) | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															    ]), | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    simple_packages( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'vob-semester', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        description='A C++ library to process recursive dynamic data', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/vector-of-bool/semester.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        versions=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            VersionSet('0.1.0', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('neo-fun', '^0.1.0'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('neo-concepts', '^0.2.1'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            VersionSet('0.1.1', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('neo-fun', '^0.1.1'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('neo-concepts', '^0.2.2'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            VersionSet('0.2.0', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('neo-fun', '^0.3.2'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('neo-concepts', '^0.3.2'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            VersionSet('0.2.1', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('neo-fun', '^0.3.2'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('neo-concepts', '^0.3.2'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'ctre', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.8.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.8.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.8.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.8.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url= | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'https://github.com/hanickadot/compile-time-regular-expressions.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        tag_fmt='v{}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='hanickadot/ctre', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        description= | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'A compile-time PCRE (almost) compatible regular expression matcher', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															    many_versions( | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															        'spdlog', | 
															 | 
															 | 
															        'spdlog', | 
														
														
													
														
															 | 
															 | 
															        ( | 
															 | 
															 | 
															        ( | 
														
														
													
														
															 | 
															 | 
															            '0.9.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.10.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.11.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.12.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.13.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.14.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.16.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.16.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.16.2', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.17.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '1.0.0', | 
															 | 
															 | 
															            '1.0.0', | 
														
														
													
														
															 | 
															 | 
															            '1.1.0', | 
															 | 
															 | 
															            '1.1.0', | 
														
														
													
														
															 | 
															 | 
															            '1.2.0', | 
															 | 
															 | 
															            '1.2.0', | 
														
														
													
												
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															    many_versions( | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															        'fmt', | 
															 | 
															 | 
															        'fmt', | 
														
														
													
														
															 | 
															 | 
															        ( | 
															 | 
															 | 
															        ( | 
														
														
													
														
															 | 
															 | 
															            '0.8.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.9.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.10.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '0.12.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '1.0.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '1.1.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '2.0.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '2.0.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '2.1.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '2.1.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.0.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.0.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '3.0.2', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '4.0.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '4.1.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '5.0.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '5.1.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '5.2.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '5.2.1', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '5.3.0', | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															            '6.0.0', | 
															 | 
															 | 
															            '6.0.0', | 
														
														
													
														
															 | 
															 | 
															            '6.1.0', | 
															 | 
															 | 
															            '6.1.0', | 
														
														
													
														
															 | 
															 | 
															            '6.1.1', | 
															 | 
															 | 
															            '6.1.1', | 
														
														
													
														
															 | 
															 | 
															            '6.1.2', | 
															 | 
															 | 
															            '6.1.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '6.2.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '6.2.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '7.0.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '7.0.1', | 
														
														
													
														
															 | 
															 | 
															        ), | 
															 | 
															 | 
															        ), | 
														
														
													
														
															 | 
															 | 
															        git_url='https://github.com/fmtlib/fmt.git', | 
															 | 
															 | 
															        git_url='https://github.com/fmtlib/fmt.git', | 
														
														
													
														
															 | 
															 | 
															        auto_lib='fmt/fmt', | 
															 | 
															 | 
															        auto_lib='fmt/fmt', | 
														
														
													
														
															 | 
															 | 
															        description='A modern formatting library : https://fmt.dev/', | 
															 | 
															 | 
															        description='A modern formatting library : https://fmt.dev/', | 
														
														
													
														
															 | 
															 | 
															    ), | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Package('catch2', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.12.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            description='A modern C++ unit testing library', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                'https://github.com/catchorg/Catch2.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                'v2.12.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                auto_lib='catch2/catch2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                transforms=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        move=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            frm='include', to='include/catch2')), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        copy=CopyMoveTransform(frm='include', to='src'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        write=WriteTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            path='include/catch2/catch_with_main.hpp', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            content=''' | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    #pragma once | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    #define CATCH_CONFIG_MAIN | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    #include "./catch.hpp" | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    namespace Catch { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    CATCH_REGISTER_REPORTER("console", ConsoleReporter) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    ''')), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ])) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Package('asio', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            description='Asio asynchronous I/O C++ library', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                'https://github.com/chriskohlhoff/asio.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                f'asio-{ver.replace(".", "-")}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                auto_lib='asio/asio', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                transforms=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        move=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            frm='asio/src', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            to='src/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        remove=RemoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            path='src/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            only_matching=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'doc/**', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'examples/**', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'tests/**', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'tools/**', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        move=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            frm='asio/include/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            to='include/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        edit=EditTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            path='include/asio/detail/config.hpp', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            edits=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                OneEdit( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    line=13, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    kind='insert', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    content='#define ASIO_STANDALONE 1'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                OneEdit( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    line=14, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    kind='insert', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    content= | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '#define ASIO_SEPARATE_COMPILATION 1') | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ) for ver in [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.12.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.12.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.12.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.13.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.14.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.14.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.16.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.16.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Package( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'abseil', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                description='Abseil Common Libraries', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    'https://github.com/abseil/abseil-cpp.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    tag, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    auto_lib='abseil/abseil', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    transforms=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            move=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                frm='absl', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                to='src/absl/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            remove=RemoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                path='src/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                only_matching=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/*_test.c*', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/*_testing.c*', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/*_benchmark.c*', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/benchmarks.c*', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/*_test_common.c*', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/mocking_*.c*', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    # Misc files that should be removed: | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/test_util.cc', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/mutex_nonprod.cc', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/named_generator.cc', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/print_hash_of.cc', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '**/*_gentables.cc', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        ) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ) for ver, tag in [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('2018.6.0', '20180600'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('2019.8.8', '20190808'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('2020.2.25', '20200225.2'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Package( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'zlib', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                description= | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                'A massively spiffy yet delicately unobtrusive compression library', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    'https://github.com/madler/zlib.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    tag or f'v{ver}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    auto_lib='zlib/zlib', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    transforms=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            move=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                frm='.', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                to='src/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                include=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '*.c', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    '*.h', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            )), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            move=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                frm='src/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                to='include/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                include=['zlib.h', 'zconf.h'], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            )), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ) for ver, tag in [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.11', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.10', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.9', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.8', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.7', 'v1.2.7.3'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.6', 'v1.2.6.1'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.5', 'v1.2.5.3'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.4', 'v1.2.4.5'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.3', 'v1.2.3.8'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.2', 'v1.2.2.4'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.1', 'v1.2.1.2'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.2.0', 'v1.2.0.8'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.1.4', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.1.3', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.1.2', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.1.1', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.1.0', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.0.9', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.0.8', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.0.7', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                # ('1.0.6', None),  # Does not exist | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.0.5', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.0.4', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                # ('1.0.3', None),  # Does not exist | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.0.2', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ('1.0.1', None), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Package('sol2', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            description= | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'A C++ <-> Lua API wrapper with advanced features and top notch performance', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            depends={'lua': '+0.0.0'}, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                'https://github.com/ThePhD/sol2.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                f'v{ver}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                transforms=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        write=WriteTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            path='package.json', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            content=json.dumps( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    'name': 'sol2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    'namespace': 'sol2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    'version': ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    'depends': [f'lua+0.0.0'], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                }, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                indent=2, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            )), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        move=(None | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                              if ver.startswith('3.') else CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                  frm='sol', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                  to='src/sol', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                              )), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        write=WriteTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            path='library.json', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            content=json.dumps( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    'name': 'sol2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    'uses': ['lua/lua'], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                }, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                indent=2, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            ))), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ) for ver in [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '3.2.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '3.2.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '3.0.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '3.0.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.20.6', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.20.5', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.20.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.20.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.20.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.20.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.20.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Package('lua', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            description= | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            'Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                'https://github.com/lua/lua.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                f'v{ver}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                auto_lib='lua/lua', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                transforms=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        move=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            frm='.', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            to='src/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            include=['*.c', '*.h'], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        )) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ) for ver in [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.4.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.3.5', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.3.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.3.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.3.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.3.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.3.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.2.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.2.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.2.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.2.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '5.1.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Package('pegtl', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            description='Parsing Expression Grammar Template Library', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                'https://github.com/taocpp/PEGTL.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                auto_lib='tao/pegtl', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                transforms=[FSTransform(remove=RemoveTransform(path='src/'))], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            )) for ver in [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                '2.8.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                '2.8.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                '2.8.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                '2.8.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                '2.7.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                '2.7.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                '2.6.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                '2.6.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'boost.pfr', ['1.0.0', '1.0.1'], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='boost/pfr', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/apolukhin/magic_get.git'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'boost.leaf', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.1.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.2.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.2.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.2.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.2.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.2.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.2.5', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.3.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='boost/leaf', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/zajo/leaf.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'boost.mp11', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ['1.70.0', '1.71.0', '1.72.0', '1.73.0'], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        tag_fmt='boost-{}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/boostorg/mp11.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='boost/mp11', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'libsodium', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.10', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.11', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.12', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.13', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.14', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.15', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.16', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.17', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.18', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/jedisct1/libsodium.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='sodium/sodium', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        description='Sodium is a new, easy-to-use software library ' | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'for encryption, decryption, signatures, password hashing and more.', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        transforms=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                move=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    frm='src/libsodium/include', to='include/'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                edit=EditTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    path='include/sodium/export.h', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    edits=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        OneEdit( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            line=8, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            kind='insert', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            content='#define SODIUM_STATIC 1') | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    ])), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                copy=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    frm='builds/msvc/version.h', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    to='include/sodium/version.h', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                move=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    frm='src/libsodium', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    to='src/', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                remove=RemoveTransform(path='src/libsodium'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                copy=CopyMoveTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    frm='include', to='src/', strip_components=1)), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'tomlpp', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.1.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.2.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.2.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.2.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.2.5', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.3.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            # '1.3.2',  # Wrong tag name in upstream | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.3.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        tag_fmt='v{}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/marzer/tomlplusplus.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='tomlpp/tomlpp', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        description= | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'Header-only TOML config file parser and serializer for modern C++'), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Package('inja', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        *(Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            description='A Template Engine for Modern C++', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                'https://github.com/pantor/inja.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                f'v{ver}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                auto_lib='inja/inja')) for ver in ('1.0.0', '2.0.0', '2.0.1')), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        *(Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            description='A Template Engine for Modern C++', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            depends={'nlohmann-json': '+0.0.0'}, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                'https://github.com/pantor/inja.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                f'v{ver}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                transforms=[ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        write=WriteTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            path='package.json', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            content=json.dumps({ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'name': | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'inja', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'namespace': | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'inja', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'version': | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                ver, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'depends': [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                    'nlohmann-json+0.0.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                ] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            }))), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                    FSTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                        write=WriteTransform( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            path='library.json', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            content=json.dumps({ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'name': 'inja', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                                'uses': ['nlohmann/json'] | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                            }))), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            )) for ver in ('2.1.0', '2.2.0')), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ]), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'cereal', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.9.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.9.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.0.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.1.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.1.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.1.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.2.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.2.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.2.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '1.3.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='cereal/cereal', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/USCiLab/cereal.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        tag_fmt='v{}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        description='A C++11 library for serialization', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    many_versions( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'pybind11', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.0.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.0.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.1.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.1.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.2.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.2.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.2.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.2.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.2.4', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.3.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.4.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.4.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.4.2', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.4.3', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '2.5.0', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ], | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        git_url='https://github.com/pybind/pybind11.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        description='Seamless operability between C++11 and Python', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        auto_lib='pybind/pybind11', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        tag_fmt='v{}', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ), | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Package('pcg-cpp', [ | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        Version( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            '0.98.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            description='PCG Randum Number Generation, C++ Edition', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            remote=Git( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                url='https://github.com/imneme/pcg-cpp.git', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                ref='v0.98.1', | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															                auto_lib='pcg/pcg-cpp')) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    ]), | 
														
														
													
														
															 | 
															 | 
															] | 
															 | 
															 | 
															] | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															if __name__ == "__main__": | 
															 | 
															 | 
															if __name__ == "__main__": | 
														
														
													
														
															 | 
															 | 
															    parser = argparse.ArgumentParser() | 
															 | 
															 | 
															    parser = argparse.ArgumentParser() | 
														
														
													
														
															 | 
															 | 
															    parser.add_argument('--new', action='store_true') | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															    args = parser.parse_args() | 
															 | 
															 | 
															    args = parser.parse_args() | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															    data = { | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    data_old = { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'version': 1, | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        'packages': { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            pkg.name: | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            {ver.version: ver.to_dict(new=False) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															             for ver in pkg.versions} | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            for pkg in PACKAGES | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    data_new = { | 
														
														
													
														
															 | 
															 | 
															        'version': 1, | 
															 | 
															 | 
															        'version': 1, | 
														
														
													
														
															 | 
															 | 
															        'packages': { | 
															 | 
															 | 
															        'packages': { | 
														
														
													
														
															 | 
															 | 
															            pkg.name: | 
															 | 
															 | 
															            pkg.name: | 
														
														
													
														
															 | 
															 | 
															            {ver.version: ver.to_dict(new=args.new) | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            {ver.version: ver.to_dict(new=True) | 
														
														
													
														
															 | 
															 | 
															             for ver in pkg.versions} | 
															 | 
															 | 
															             for ver in pkg.versions} | 
														
														
													
														
															 | 
															 | 
															            for pkg in PACKAGES | 
															 | 
															 | 
															            for pkg in PACKAGES | 
														
														
													
														
															 | 
															 | 
															        } | 
															 | 
															 | 
															        } | 
														
														
													
														
															 | 
															 | 
															    } | 
															 | 
															 | 
															    } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Path('catalog.old.json').write_text( | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        json.dumps(data_old, indent=2, sort_keys=True)) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    new_json_str = json.dumps(data_new, indent=2, sort_keys=True) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Path('catalog.json').write_text(new_json_str) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    cpp_template = textwrap.dedent(r''' | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        #include <dds/catalog/package_info.hpp> | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        #include <dds/catalog/init_catalog.hpp> | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        #include <dds/catalog/import.hpp> | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        static constexpr std::string_view INIT_PACKAGES_CONTENT= R"json(@JSON@)json"; | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        const std::vector<dds::package_info>& | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        dds::init_catalog_packages() noexcept { | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            using std::nullopt; | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            static auto pkgs = dds::parse_packages_json(INIT_PACKAGES_CONTENT); | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															            return pkgs; | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        } | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															        ''') | 
														
														
													
														
															 | 
															 | 
															
  | 
															 | 
															 | 
															
  | 
														
														
													
														
															 | 
															 | 
															    print(json.dumps(data, indent=2, sort_keys=True)) | 
															 | 
															 | 
															 | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    cpp_content = cpp_template.replace('@JSON@', new_json_str) | 
														
														
													
														
															 | 
															 | 
															 | 
															 | 
															 | 
															    Path('src/dds/catalog/init_catalog.cpp').write_text(cpp_content) |