alibuild 1.17.0rc1__tar.gz → 1.17.0rc2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {alibuild-1.17.0rc1/alibuild.egg-info → alibuild-1.17.0rc2}/PKG-INFO +1 -1
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2/alibuild.egg-info}/PKG-INFO +1 -1
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/_version.py +1 -1
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/build.py +15 -22
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/build_template.sh +3 -1
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/git.py +5 -1
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/utilities.py +12 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/workarea.py +4 -2
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_build.py +8 -8
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/.flake8 +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/.github/workflows/pr-check.yml +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/.github/workflows/release.yml +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/.gitignore +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/.pylintrc +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/ANALYTICS.md +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/DESIGN.md +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/Jenkinsfile +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/LICENSE.md +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/MANIFEST.in +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/PACKAGING.md +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/README.rst +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alfaBuild +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/aliBuild +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/aliDeps +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/aliDoctor +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild.egg-info/SOURCES.txt +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild.egg-info/dependency_links.txt +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild.egg-info/requires.txt +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild.egg-info/top_level.txt +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/__init__.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/analytics.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/args.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/clean.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/cmd.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/deps.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/doctor.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/init.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/log.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/scm.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/sl.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/sync.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alibuild_helpers/templating_plugin.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/alienv +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/codecov.yml +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/debian/changelog +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/debian/compat +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/debian/control +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/debian/copyright +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/debian/files +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/debian/rules +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/README.md +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/SUPPORT +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/_config.yml +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/_includes/section_toc.html +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/_layouts/main.html +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/_layouts/redirect.html +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/css/bootstrap-theme.min.css +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/css/bootstrap.min.css +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/css/pure-min.css +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/deps.png +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/index.markdown +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/js/highlight.pack.js +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/main.css +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/o2-dataflow-tutorial.markdown +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/o2-tutorial.markdown +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/quick.markdown +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/reference.markdown +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/side-menu.css +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/syntax.css +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/troubleshooting.markdown +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/tutorial.markdown +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/ui.js +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/docs/user.markdown +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/pb +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/pyproject.toml +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/requirements.txt +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/script/custom_htmlproofer.rb +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/setup.cfg +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/setup.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_analytics.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_args.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_clean.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_cmd.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_deps.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_doctor.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_git.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_hashing.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_init.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_log.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_packagelist.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_parseRecipe.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_sync.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_utilities.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/test_workarea.py +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/broken1.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/broken2.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/broken3.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/broken4.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/broken5.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/broken6.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/broken7.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/clobber-initdotsh.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/defaults-o2.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tests/testdist/delete-etc.sh +0 -0
- {alibuild-1.17.0rc1 → alibuild-1.17.0rc2}/tox.ini +0 -0
|
@@ -12,7 +12,7 @@ from alibuild_helpers.utilities import getPackageList, asList
|
|
|
12
12
|
from alibuild_helpers.utilities import validateDefaults
|
|
13
13
|
from alibuild_helpers.utilities import Hasher
|
|
14
14
|
from alibuild_helpers.utilities import yamlDump
|
|
15
|
-
from alibuild_helpers.utilities import resolve_tag, resolve_version
|
|
15
|
+
from alibuild_helpers.utilities import resolve_tag, resolve_version, short_commit_hash
|
|
16
16
|
from alibuild_helpers.git import Git, git
|
|
17
17
|
from alibuild_helpers.sl import Sapling
|
|
18
18
|
from alibuild_helpers.scm import SCMError
|
|
@@ -659,27 +659,21 @@ def doBuild(args, parser):
|
|
|
659
659
|
|
|
660
660
|
# We recursively calculate the full set of requires "full_requires"
|
|
661
661
|
# including build_requires and the subset of them which are needed at
|
|
662
|
-
# runtime "full_runtime_requires".
|
|
662
|
+
# runtime "full_runtime_requires". Do this in build order, so that we can
|
|
663
|
+
# rely on each spec's dependencies already having their full_*_requires
|
|
664
|
+
# properties populated.
|
|
663
665
|
for p in buildOrder:
|
|
664
666
|
spec = specs[p]
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
spec["full_runtime_requires"] += runTimeRequires
|
|
676
|
-
spec["full_build_requires"] += buildRequires
|
|
677
|
-
todo += requires
|
|
678
|
-
spec["full_requires"] = set(spec["full_requires"])
|
|
679
|
-
spec["full_runtime_requires"] = set(spec["full_runtime_requires"])
|
|
680
|
-
# If something requires or runtime_requires a package, then it's not
|
|
681
|
-
# a build_requires only anymore, so we drop it from the list.
|
|
682
|
-
spec["full_build_requires"] = set(spec["full_build_requires"]) - spec["full_runtime_requires"]
|
|
667
|
+
for key in ("requires", "runtime_requires", "build_requires"):
|
|
668
|
+
full_key = "full_" + key
|
|
669
|
+
spec[full_key] = set()
|
|
670
|
+
for dep in spec.get(key, ()):
|
|
671
|
+
spec[full_key].add(dep)
|
|
672
|
+
# Runtime deps of build deps should count as build deps.
|
|
673
|
+
spec[full_key] |= specs[dep]["full_requires" if key == "build_requires" else full_key]
|
|
674
|
+
# If something requires or runtime_requires a package, then it's not a
|
|
675
|
+
# pure build_requires only anymore, so we drop it from the list.
|
|
676
|
+
spec["full_build_requires"] -= spec["full_runtime_requires"]
|
|
683
677
|
|
|
684
678
|
# Use the selected plugin to build, instead of the default behaviour, if a
|
|
685
679
|
# plugin was selected.
|
|
@@ -1009,8 +1003,7 @@ def doBuild(args, parser):
|
|
|
1009
1003
|
("BUILD_REQUIRES", " ".join(spec["build_requires"])),
|
|
1010
1004
|
("CACHED_TARBALL", cachedTarball),
|
|
1011
1005
|
("CAN_DELETE", args.aggressiveCleanup and "1" or ""),
|
|
1012
|
-
|
|
1013
|
-
("COMMIT_HASH", spec["tag"] if spec["tag"] == spec["commit_hash"] else spec["commit_hash"][:10]),
|
|
1006
|
+
("COMMIT_HASH", short_commit_hash(spec)),
|
|
1014
1007
|
("DEPS_HASH", spec.get("deps_hash", "")),
|
|
1015
1008
|
("DEVEL_HASH", spec.get("devel_hash", "")),
|
|
1016
1009
|
("DEVEL_PREFIX", develPrefix),
|
|
@@ -155,7 +155,6 @@ cat <<\EOF > "$INSTALLROOT/etc/profile.d/init.sh"
|
|
|
155
155
|
EOF
|
|
156
156
|
|
|
157
157
|
cd "$WORK_DIR/INSTALLROOT/$PKGHASH"
|
|
158
|
-
echo "$PKGHASH" > "$INSTALLROOT/.build-hash"
|
|
159
158
|
# Replace the .envrc to point to the final installation directory.
|
|
160
159
|
cat << EOF > "$BUILDDIR/.envrc"
|
|
161
160
|
# Source the build environment which was used for this package
|
|
@@ -293,6 +292,9 @@ if [[ $BUILD_FAMILY ]]; then
|
|
|
293
292
|
ln -snf $PKGVERSION-$PKGREVISION $ARCHITECTURE/$PKGNAME/latest-$BUILD_FAMILY
|
|
294
293
|
fi
|
|
295
294
|
|
|
295
|
+
# When the package is definitely fully installed, install the file that marks
|
|
296
|
+
# the package as successful.
|
|
297
|
+
echo "$PKGHASH" > "$WORK_DIR/$PKGPATH/.build-hash"
|
|
296
298
|
# Mark the build as successful with a placeholder. Allows running incremental
|
|
297
299
|
# recipe in case the package is in development mode.
|
|
298
300
|
echo "${DEVEL_HASH}${DEPS_HASH}" > "$BUILDDIR/.build_succeeded"
|
|
@@ -49,7 +49,11 @@ class Git(SCM):
|
|
|
49
49
|
def cloneSourceCmd(self, source, destination, referenceRepo, usePartialClone):
|
|
50
50
|
cmd = ["clone", "-n", source, destination]
|
|
51
51
|
if referenceRepo:
|
|
52
|
-
|
|
52
|
+
# If we're building inside a Docker container, we can't refer to the
|
|
53
|
+
# mirror repo directly, since Git uses an absolute path. With
|
|
54
|
+
# "--dissociate", we still copy the objects locally, but we don't refer
|
|
55
|
+
# to them by path.
|
|
56
|
+
cmd.extend(["--dissociate", "--reference", referenceRepo])
|
|
53
57
|
if usePartialClone:
|
|
54
58
|
cmd.extend(clone_speedup_options())
|
|
55
59
|
return cmd
|
|
@@ -90,6 +90,18 @@ def resolve_links_path(architecture, package):
|
|
|
90
90
|
return "/".join(("TARS", architecture, package))
|
|
91
91
|
|
|
92
92
|
|
|
93
|
+
def short_commit_hash(spec):
|
|
94
|
+
"""Shorten the spec's commit hash to make it more human-readable.
|
|
95
|
+
|
|
96
|
+
This is complicated by the fact that the commit_hash property is not
|
|
97
|
+
necessarily a commit hash, but might be a tag name. If it is a tag name,
|
|
98
|
+
return it as-is, else assume it is actually a commit hash and shorten it.
|
|
99
|
+
"""
|
|
100
|
+
if spec["tag"] == spec["commit_hash"]:
|
|
101
|
+
return spec["commit_hash"]
|
|
102
|
+
return spec["commit_hash"][:10]
|
|
103
|
+
|
|
104
|
+
|
|
93
105
|
# Date fields to substitute: they are zero-padded
|
|
94
106
|
now = datetime.now()
|
|
95
107
|
nowKwds = { "year": str(now.year),
|
|
@@ -10,7 +10,7 @@ except ImportError:
|
|
|
10
10
|
from ordereddict import OrderedDict
|
|
11
11
|
|
|
12
12
|
from alibuild_helpers.log import dieOnError, debug, error
|
|
13
|
-
from alibuild_helpers.utilities import call_ignoring_oserrors, symlink
|
|
13
|
+
from alibuild_helpers.utilities import call_ignoring_oserrors, symlink, short_commit_hash
|
|
14
14
|
|
|
15
15
|
FETCH_LOG_NAME = "fetch-log.txt"
|
|
16
16
|
|
|
@@ -145,7 +145,9 @@ def checkout_sources(spec, work_dir, reference_sources, containerised_build):
|
|
|
145
145
|
return 0
|
|
146
146
|
|
|
147
147
|
source_parent_dir = os.path.join(work_dir, "SOURCES", spec["package"], spec["version"])
|
|
148
|
-
|
|
148
|
+
# The build script expects SOURCEDIR to be named after the shortened commit
|
|
149
|
+
# hash, not the full one.
|
|
150
|
+
source_dir = os.path.join(source_parent_dir, short_commit_hash(spec))
|
|
149
151
|
os.makedirs(source_parent_dir, exist_ok=True)
|
|
150
152
|
|
|
151
153
|
if spec["commit_hash"] != spec["tag"]:
|
|
@@ -104,22 +104,22 @@ TEST_EXTRA_BUILD_HASH = ("9f9eb8696b7722df52c4703f5fe7acc4b8000ba2" if sys.versi
|
|
|
104
104
|
GIT_CLONE_REF_ZLIB_ARGS = ("clone", "--bare", "https://github.com/star-externals/zlib",
|
|
105
105
|
"/sw/MIRROR/zlib", "--filter=blob:none"), ".", False
|
|
106
106
|
GIT_CLONE_SRC_ZLIB_ARGS = ("clone", "-n", "https://github.com/star-externals/zlib",
|
|
107
|
-
"/sw/SOURCES/zlib/v1.2.3/
|
|
108
|
-
"--reference", "/sw/MIRROR/zlib", "--filter=blob:none"), ".", False
|
|
107
|
+
"/sw/SOURCES/zlib/v1.2.3/8822efa61f",
|
|
108
|
+
"--dissociate", "--reference", "/sw/MIRROR/zlib", "--filter=blob:none"), ".", False
|
|
109
109
|
GIT_SET_URL_ZLIB_ARGS = ("remote", "set-url", "--push", "origin", "https://github.com/star-externals/zlib"), \
|
|
110
|
-
"/sw/SOURCES/zlib/v1.2.3/
|
|
110
|
+
"/sw/SOURCES/zlib/v1.2.3/8822efa61f", False
|
|
111
111
|
GIT_CHECKOUT_ZLIB_ARGS = ("checkout", "-f", "master"), \
|
|
112
|
-
"/sw/SOURCES/zlib/v1.2.3/
|
|
112
|
+
"/sw/SOURCES/zlib/v1.2.3/8822efa61f", False
|
|
113
113
|
|
|
114
114
|
GIT_FETCH_REF_ROOT_ARGS = ("fetch", "-f", "https://github.com/root-mirror/root", "+refs/tags/*:refs/tags/*",
|
|
115
115
|
"+refs/heads/*:refs/heads/*"), "/sw/MIRROR/root", False
|
|
116
116
|
GIT_CLONE_SRC_ROOT_ARGS = ("clone", "-n", "https://github.com/root-mirror/root",
|
|
117
|
-
"/sw/SOURCES/ROOT/v6-08-30/
|
|
118
|
-
"--reference", "/sw/MIRROR/root", "--filter=blob:none"), ".", False
|
|
117
|
+
"/sw/SOURCES/ROOT/v6-08-30/f7b3366117",
|
|
118
|
+
"--dissociate", "--reference", "/sw/MIRROR/root", "--filter=blob:none"), ".", False
|
|
119
119
|
GIT_SET_URL_ROOT_ARGS = ("remote", "set-url", "--push", "origin", "https://github.com/root-mirror/root"), \
|
|
120
|
-
"/sw/SOURCES/ROOT/v6-08-30/
|
|
120
|
+
"/sw/SOURCES/ROOT/v6-08-30/f7b3366117", False
|
|
121
121
|
GIT_CHECKOUT_ROOT_ARGS = ("checkout", "-f", "v6-08-00-patches"), \
|
|
122
|
-
"/sw/SOURCES/ROOT/v6-08-30/
|
|
122
|
+
"/sw/SOURCES/ROOT/v6-08-30/f7b3366117", False
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
def dummy_git(args, directory=".", check=True, prompt=True):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|