diff options
46 files changed, 248 insertions, 41 deletions
diff --git a/.gitmodules b/.gitmodules index 743e2e8e..b88ba6a4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,66 +1,66 @@ [submodule "qtbase"] path = qtbase url = ../qtbase.git - branch = 5.6 + branch = 5.7 status = essential [submodule "qtsvg"] depends = qtbase path = qtsvg url = ../qtsvg.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtdeclarative"] depends = qtbase recommends = qtsvg qtxmlpatterns path = qtdeclarative url = ../qtdeclarative.git - branch = 5.6 + branch = 5.7 status = essential [submodule "qtactiveqt"] depends = qtbase path = qtactiveqt url = ../qtactiveqt.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtscript"] depends = qtbase recommends = qttools path = qtscript url = ../qtscript.git - branch = 5.6 + branch = 5.7 status = deprecated [submodule "qtmultimedia"] depends = qtbase recommends = qtdeclarative path = qtmultimedia url = ../qtmultimedia.git - branch = 5.6 + branch = 5.7 status = essential [submodule "qttools"] depends = qtbase recommends = qtdeclarative qtactiveqt qtwebkit path = qttools url = ../qttools.git - branch = 5.6 + branch = 5.7 status = essential [submodule "qtxmlpatterns"] depends = qtbase path = qtxmlpatterns url = ../qtxmlpatterns.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qttranslations"] depends = qttools path = qttranslations url = ../qttranslations.git - branch = 5.6 + branch = 5.7 status = essential priority = 30 [submodule "qtdoc"] depends = qtdeclarative path = qtdoc url = ../qtdoc.git - branch = 5.6 + branch = 5.7 status = essential priority = 40 [submodule "qtrepotools"] @@ -74,7 +74,7 @@ recommends = qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns path = qtwebkit url = ../qtwebkit.git - branch = 5.6 + branch = 5.7 status = obsolete project = WebKit.pro priority = 20 @@ -82,7 +82,7 @@ depends = qtwebkit qttools path = qtwebkit-examples url = ../qtwebkit-examples.git - branch = 5.6 + branch = 5.7 status = obsolete [submodule "qtqa"] depends = qtbase @@ -96,21 +96,21 @@ recommends = qtdeclarative qtquickcontrols qtserialport qtsystems path = qtlocation url = ../qtlocation.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtsensors"] depends = qtbase recommends = qtdeclarative path = qtsensors url = ../qtsensors.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtsystems"] depends = qtbase recommends = qtdeclarative path = qtsystems url = ../qtsystems.git - branch = dev + branch = 5.7 status = ignore [submodule "qtfeedback"] depends = qtdeclarative @@ -129,142 +129,184 @@ depends = qtdeclarative path = qtpim url = ../qtpim.git - branch = dev + branch = 5.7 status = ignore [submodule "qtconnectivity"] depends = qtbase recommends = qtdeclarative qtandroidextras path = qtconnectivity url = ../qtconnectivity.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtwayland"] depends = qtbase recommends = qtdeclarative path = qtwayland url = ../qtwayland.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qt3d"] depends = qtdeclarative qtimageformats + recommends = qtgamepad path = qt3d url = ../qt3d.git - branch = 5.6 - status = preview + branch = 5.7 + status = addon [submodule "qtimageformats"] depends = qtbase path = qtimageformats url = ../qtimageformats.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtquick1"] depends = qtscript recommends = qtsvg qtxmlpatterns path = qtquick1 url = ../qtquick1.git - branch = 5.6 - status = obsolete + branch = 5.7 + status = ignore [submodule "qtgraphicaleffects"] depends = qtdeclarative path = qtgraphicaleffects url = ../qtgraphicaleffects.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtquickcontrols"] depends = qtdeclarative recommends = qtgraphicaleffects path = qtquickcontrols url = ../qtquickcontrols.git - branch = 5.6 + branch = 5.7 status = essential [submodule "qtserialbus"] depends = qtserialport path = qtserialbus url = ../qtserialbus.git - branch = 5.6 + branch = 5.7 status = preview [submodule "qtserialport"] depends = qtbase path = qtserialport url = ../qtserialport.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtx11extras"] depends = qtbase path = qtx11extras url = ../qtx11extras.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtmacextras"] depends = qtbase path = qtmacextras url = ../qtmacextras.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtwinextras"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtwinextras url = ../qtwinextras.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtandroidextras"] depends = qtbase path = qtandroidextras url = ../qtandroidextras.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtenginio"] depends = qtdeclarative path = qtenginio url = ../qtenginio.git - branch = 5.6 - status = deprecated + branch = 5.7 + status = ignore [submodule "qtwebsockets"] depends = qtbase recommends = qtdeclarative path = qtwebsockets url = ../qtwebsockets.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtwebchannel"] depends = qtbase recommends = qtdeclarative qtwebsockets path = qtwebchannel url = ../qtwebchannel.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtwebengine"] depends = qtquickcontrols qtwebchannel recommends = qtlocation path = qtwebengine url = ../qtwebengine.git - branch = 5.6 + branch = 5.7 status = addon priority = 10 [submodule "qtcanvas3d"] depends = qtdeclarative path = qtcanvas3d url = ../qtcanvas3d.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtwebview"] depends = qtdeclarative recommends = qtwebengine path = qtwebview url = ../qtwebview.git - branch = 5.6 + branch = 5.7 status = addon [submodule "qtquickcontrols2"] - depends = qtquickcontrols + depends = qtgraphicaleffects path = qtquickcontrols2 url = ../qtquickcontrols2.git - branch = 5.6 - status = preview + branch = 5.7 + status = addon [submodule "qtpurchasing"] depends = qtbase recommends = qtdeclarative path = qtpurchasing url = ../qtpurchasing.git + branch = 5.7 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 5.7 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 5.7 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia qtquickcontrols + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 5.7 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad + branch = 5.7 + status = preview +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml + branch = 5.7 + status = preview +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech branch = dev status = ignore diff --git a/coin/provisioning/common/patch_qnx.ps1 b/coin/provisioning/common/patch_qnx.ps1 new file mode 100644 index 00000000..2fca7b67 --- /dev/null +++ b/coin/provisioning/common/patch_qnx.ps1 @@ -0,0 +1,51 @@ +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# Patch QNX SDK due to issues in the standard library. +# The patches are available here: +# http://www.qnx.com/download/feature.html?programid=27555 +# A copy of the patch must be in the root of the Coin path in +# provisioning/qnx/patch-660-4367-RS6069_cpp-headers.zip + + +. "$PSScriptRoot\helpers.ps1" + +$zip = "c:\users\qt\downloads\patch-660-4367-RS6069_cpp-headers.zip" +$sha1 = "57A11FFE4434AD567B3C36F7B828DBB468A9E565" +$tempDir = "C:\temp\qnx_path" + +Invoke-WebRequest -UseBasicParsing http://${Env:COIN_WEBSERVER_ADDRESS}/coin/provisioning/qnx/patch-660-4367-RS6069_cpp-headers.zip -OutFile $zip +Verify-Checksum $zip $sha1 +Extract-Zip $zip $tempDir +Copy-Item $tempDir\patches\660-4367\target\* C:\qnx660\target\ -recurse -force +Remove-Item $tempDir -recurse diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/patch_qnx.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/patch_qnx.sh new file mode 100644 index 00000000..19993ecc --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/patch_qnx.sh @@ -0,0 +1,64 @@ +#!/bin/env bash + +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# Patch QNX SDK due to issues in the standard library. +# The patches are available here: +# http://www.qnx.com/download/feature.html?programid=27555 +# A copy of the patch must be in the root of the Coin path in +# provisioning/qnx/patch-660-4367-RS6069_cpp-headers.zip + +set -e +sha1="57a11ffe4434ad567b3c36f7b828dbb468a9e565" + +function InstallZipPackageFromURL { + url=$1 + expectedSha1=$2 + targetDirectory=$3 + + targetFile=`mktemp` || echo "Failed to create temporary file" + wget --tries=5 --waitretry=5 --output-document=$targetFile $url || echo "Failed to download '$url' multiple times" + echo "$expectedSha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum" + + tempDir=`mktemp -d` || echo "Failed to create temporary directory" + /usr/bin/unzip -o -d $tempDir $targetFile || echo "Failed to unzip $url archive" + trap "sudo rm -fr $targetFile $tempDir" EXIT + + sudo cp -rafv $tempDir/patches/660-4367/target/* /opt/qnx660/target/ +} + +echo "Patching QNX" + +baseBinaryPackageURL="http://${COIN_WEBSERVER_ADDRESS}/coin/provisioning/qnx/patch-660-4367-RS6069_cpp-headers.zip" +InstallZipPackageFromURL $baseBinaryPackageURL $sha1 "/opt/qnx660/target/" diff --git a/coin/provisioning/qtci-linux-Ubuntu-14.04-x86_64/freeopcua.sh b/coin/provisioning/qtci-linux-Ubuntu-14.04-x86_64/freeopcua.sh new file mode 100644 index 00000000..b14e94a6 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-14.04-x86_64/freeopcua.sh @@ -0,0 +1,49 @@ +#!/bin/env bash + +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +sudo apt-get update +sudo apt-get install -y libboost-dev libboost-thread-dev libboost-system-dev libboost-program-options-dev libboost-filesystem-dev libxml2-dev libboost-regex-dev + +TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory" +trap "sudo rm -fr $TEMPDIR" EXIT +cd $TEMPDIR +git clone https://github.com/FreeOpcUa/freeopcua.git freeopcua +cd freeopcua +git checkout 57b6993d39b6761af773fa4fa37c3fbd39c764f1 +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local .. +make +sudo make install diff --git a/coin/provisioning/qtci-windows-7-x86/patch_qnx.ps1 b/coin/provisioning/qtci-windows-7-x86/patch_qnx.ps1 new file mode 100644 index 00000000..41210dcb --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/patch_qnx.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\patch_qnx.ps1" diff --git a/qt3d b/qt3d -Subproject d44aa5a1b285100aa1b656ccf34b69f154b965a +Subproject b816bbac412811ad9bd1999640509883a3bdf6d diff --git a/qtactiveqt b/qtactiveqt -Subproject 6ce190d5b87a1702098f0f5351a0bd25339fe29 +Subproject 447947515df2cf727f14f5a1fdd4685ee8201e2 diff --git a/qtandroidextras b/qtandroidextras -Subproject 1c6a55247646a7b34f9d3263e335dd2a34097ef +Subproject a8ba9a22e94058b5e24074f17d550da17454ddf diff --git a/qtbase b/qtbase -Subproject ee2eed350f95285b65e3dd9647e5f366e16fd5a +Subproject d2c6294bd5cc3c2e61aaa0c83bfd74941ced150 diff --git a/qtcanvas3d b/qtcanvas3d -Subproject 7919112bf8bb4e1e99c7e9b57310e9559836352 +Subproject 2c76b37d553ae1cdb8a75cb6ead32b64ab2821d diff --git a/qtcharts b/qtcharts new file mode 160000 +Subproject 0464d42b101eaf60c62be751785009d09065f2c diff --git a/qtconnectivity b/qtconnectivity -Subproject a8a1a97b9a3f68245431a94ff670b91b340770b +Subproject 6d9a7006e81fc9ef6140bfc62696d1b270aaae0 diff --git a/qtdatavis3d b/qtdatavis3d new file mode 160000 +Subproject 02af08a705ada1ca2dac839a026a816a8e70def diff --git a/qtdeclarative b/qtdeclarative -Subproject 0960561981b59cbd293aeb32e87dc8a7732fe52 +Subproject 0932a59971f606f07b41da19f3974d51b700818 diff --git a/qtdoc b/qtdoc -Subproject 4f7279fa715785c520af5e5be17527950c9c6e7 +Subproject d08ebbbdffbb93cc7b5ec7ee09906c88afc89a0 diff --git a/qtenginio b/qtenginio -Subproject 6c37300c667e3049178f049a5b86e7ea955c967 +Subproject 15090ec53621211616c4136ab37e0332c3ae709 diff --git a/qtgamepad b/qtgamepad new file mode 160000 +Subproject eaf8a9800e81a446e9badaa32be459d0a54ec9b diff --git a/qtgraphicaleffects b/qtgraphicaleffects -Subproject 0b68e91d68902c4d05d0bb8aa045ae76c4e8c9b +Subproject 1f43c7433ae7be13fc51f70b85e3b69fce84bc8 diff --git a/qtimageformats b/qtimageformats -Subproject 99f384ac2353df89a1522e47c96cae6a945749e +Subproject 9cbca0266d7482a7d3d198acfa9f3a2661d435f diff --git a/qtlocation b/qtlocation -Subproject b2d1eb15fcf3d4f1f1cd8821e80f0f530a0af9e +Subproject d90b2bffd76bf74ab4b6e6c0c68a26f6830c8d6 diff --git a/qtmacextras b/qtmacextras -Subproject b8e24de4ba0876a3686cf5da5b1b6f47603c1bc +Subproject 8acd1bb2d802296a37b6394ffe4e7adc5112db2 diff --git a/qtmultimedia b/qtmultimedia -Subproject 6d48deed4889f0da3ed0499b051241ff3fe8f1b +Subproject 62d9b69e4d9ee9f180e4ac07fb72e00a002d3c0 diff --git a/qtpurchasing b/qtpurchasing -Subproject b5c6c76fac771326064295368a53cbdaf2bf0f7 +Subproject 60af17f3ab8c9142dcfb5ece7f9cc904bb6797a diff --git a/qtquick1 b/qtquick1 -Subproject 212653fea189ad1f5203fe2b5c12caba6f13c72 +Subproject 26229cfa0b729313893af5674d604e8692dbb94 diff --git a/qtquickcontrols b/qtquickcontrols -Subproject fcaef8eaebde846ba9c26e23d13c9b2696a06ff +Subproject b5a8306bf6d4949066872ac2afc8d0a01f716bd diff --git a/qtquickcontrols2 b/qtquickcontrols2 -Subproject eed9b9dd83f0db9cbfe794072d8f5147e3d1234 +Subproject 8fd8024d794a18aa3cab35ea9fcebd287d238e7 diff --git a/qtscript b/qtscript -Subproject e7db88eb5cc1b51dd27b5b614909c1f9670977d +Subproject e2e7b57a5d3f3fe870756f4cdcf104b7090c352 diff --git a/qtscxml b/qtscxml new file mode 160000 +Subproject 7463654cd7ab7803c650e439827b48be60fe3c6 diff --git a/qtsensors b/qtsensors -Subproject 90eb1a41702bf748ac3f356d8ce04496f75ecb6 +Subproject 7deae40b87e1637d55de8d111e99f4da1d5584d diff --git a/qtserialbus b/qtserialbus -Subproject b622b3985f5de1be8a41599b27ac9934888b82c +Subproject e704a83b4a1a1eb69b62ee2cb029c549d99959e diff --git a/qtserialport b/qtserialport -Subproject 9d758fb370026cb531d98ba42e98a8d6fabe6c0 +Subproject 63ac6874eeea037b4b8b1a450a938999fb4f31b diff --git a/qtspeech b/qtspeech new file mode 160000 +Subproject ca8768b90c07bff5804b1fbb704041a4472f65e diff --git a/qtsvg b/qtsvg -Subproject da117cdd5a602ad6c77a41699fbea6f685f6293 +Subproject b231d9f41903f8514a2d91844f4515055307af3 diff --git a/qttools b/qttools -Subproject 334db22f91dfac28e6bdb25e4ed04ec7e681f6a +Subproject 9fd5c70f5a2e8157e3476a036522df1a52776b9 diff --git a/qttranslations b/qttranslations -Subproject d912e53bc636b3d39a723d9d029761e404192af +Subproject 8ac63b28c45eace2f9b935b48257f97e0d07a9c diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard new file mode 160000 +Subproject 626e78c9660cff063e1f9370538b5a424631571 diff --git a/qtwayland b/qtwayland -Subproject 3468177305c158f82fa32c2c6047a97e63cfe10 +Subproject 06e8770129d5c49bfb518b02b3ece6d529e0e4c diff --git a/qtwebchannel b/qtwebchannel -Subproject 3be67a7799aa1960d459548a43ddf54044f80ec +Subproject 4fda82b66e17cc03e6b08f1afd135069cfef09b diff --git a/qtwebengine b/qtwebengine -Subproject 323f300fd54d3fdb6f7a4565f305b631a27e76d +Subproject c4fc323d0771e24ae726065cdce9eafef2c09c4 diff --git a/qtwebkit b/qtwebkit -Subproject 09957b3f77fccf3dfacdc80afcb52d0668e5c0b +Subproject 01fa9be55572ddb3f69befc68475ed09241eabd diff --git a/qtwebkit-examples b/qtwebkit-examples -Subproject 2a143bf81b2ffb3bd7a5f47cf719e6ed347bf38 +Subproject f3f9e2a1b772b718335331a603a6bee748928e4 diff --git a/qtwebsockets b/qtwebsockets -Subproject 04f50e048ff907885ac648782ef293d7aef66ac +Subproject cd80c041220df2875297622a0012933412730e9 diff --git a/qtwebview b/qtwebview -Subproject 3d5bfc3e0c938cdb7d72d7cead92578a82fefdc +Subproject 8618811a5220f5456f012179abc743e08120adf diff --git a/qtwinextras b/qtwinextras -Subproject d7d7b8784334009f9929d8a4dd3124a9e40a5ce +Subproject e2f08aaacb571c1287217b09acf66518ff924dc diff --git a/qtx11extras b/qtx11extras -Subproject df10edcfae328f397c99192b322268c9e96f6da +Subproject ee7eb793b666c99f171452dc1accd7955cdf5a6 diff --git a/qtxmlpatterns b/qtxmlpatterns -Subproject 543fbe8f24ac9b534884d47787ee6cb3aad4915 +Subproject 4ca909e7daef701882755487008c9e4f0b978db |