aboutsummaryrefslogtreecommitdiff
path: root/depends
AgeCommit message (Collapse)Author
2020-04-03test: remove rapidcheck integration and testsfanquake
2020-03-07build: remove chrono package from depends Boostfanquake
2020-02-12Merge #18004: build: don't embed a build-id when building libdmg-hfsplusfanquake
cb9e88e73a042ff4e1c83289a6f8fa1db03fb093 build: don't embed a build-id when building libdmg-hfsplus (fanquake) Pull request description: There was a [reproducibility issue (IRC logs)](http://www.erisian.com.au/bitcoin-core-dev/log-2020-01-25.html) with the osx `0.19.1rc1` gitian builds. The `build-id` embedded into the `dmg` tool was mismatching. It's possible that differing versions of binutils/ld were the cause. While it was resolved after rebuilding the base gitian image, whether an upstream package issue or fluke, we can remove the possibility of it happening in future by just not embedding a build-id into the `dmg` tool at all. Can close if it's not deemed worth it. You can test this change using the following: ```bash # build libdmg make native_libdmg-hfsplus_built -C depends/ HOST=x86_64-apple-darwin16 -j6 V=1 # master readelf --string-dump .note.gnu.build-id /bitcoin/depends/work/build/x86_64-apple-darwin16/native_libdmg-hfsplus/7ac55ec64c96f7800d9818ce64c79670e7f02b67-3830944ef98/build/dmg/dmg String dump of section '.note.gnu.build-id': [ c] GNU [ 11] CjRa?]?^V8?v?;%n?? # this pr readelf --string-dump .note.gnu.build-id /bitcoin/depends/work/build/x86_64-apple-darwin16/native_libdmg-hfsplus/7ac55ec64c96f7800d9818ce64c79670e7f02b67-a72f53ab110/build/dmg/dmg readelf: Warning: Section '.note.gnu.build-id' was not dumped because it does not exist! ``` ACKs for top commit: laanwj: tested ACK cb9e88e73a042ff4e1c83289a6f8fa1db03fb093 Tree-SHA512: 191eed32ed0a04a908f9c1b22188180b2db2f35bae0281940f0f9da2450c5c6807cd6ff5bbcce7c933a9133387b127c3478f7a39a2918c14f17be19fd9ea19b4
2020-02-11Merge #18104: build: Skip i686 build by default in guix and gitianfanquake
fae9084ac5b10f94bdee54853d307838c4254e9c build: Skip i686 build by default in guix and gitian (MarcoFalke) fa55a2554c2661b8f2a759044d5ac85c9979d9ca depends: Remove reference to win32 (MarcoFalke) Pull request description: Closes #17504 Now that we no longer provide downloads for i686 on our website (https://bitcoincore.org/en/download/), there is no need to build them by default. i686 can still be built in depends (tested by ci/travis) and in guix/gitian by setting the appropriate `HOSTS`. ACKs for top commit: practicalswift: ACK fae9084ac5b10f94bdee54853d307838c4254e9c -- patch looks correct dongcarl: ACK fae9084ac5b10f94bdee54853d307838c4254e9c patch looks correct laanwj: Code review ACK fae9084ac5b10f94bdee54853d307838c4254e9c hebasto: ACK fae9084ac5b10f94bdee54853d307838c4254e9c, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: b000c19a2cd2a596a52028fa298c4022c24cfdfc1bdb3795a90916d0a00a32e4dd22278db93790b6a11724e08ea8451f4f05c77bc40d1664518e11a8c82d6e29
2020-02-10Merge #18051: build: Fix behavior when ALLOW_HOST_PACKAGES unsetWladimir J. van der Laan
0e519fe28425b0148fe0d026bd084ecd244f5669 build: Fix behavior when ALLOW_HOST_PACKAGES unset (Hennadii Stepanov) Pull request description: On master (f05c1ac444e0c893516535bfdf07c5c8cd9bce16) during building with depends host packages are always considered by `pkg-config` regardless of `ALLOW_HOST_PACKAGES` environment variable. This causes issues like #18042. This is an alternative to #18042 and #18045. On master: ``` $ make HOST=x86_64-apple-darwin16 -C depends $ CONFIG_SITE=$PWD/depends/x86_64-apple-darwin16/share/config.site ./configure ... checking for QT_DBUS... yes ... checking whether to build GUI with support for D-Bus... yes ... ``` --- With this PR: 1) `ALLOW_HOST_PACKAGES` unset ``` $ make HOST=x86_64-apple-darwin16 -C depends $ CONFIG_SITE=$PWD/depends/x86_64-apple-darwin16/share/config.site ./configure ... checking for QT_DBUS... no ... checking whether to build GUI with support for D-Bus... no ... ``` 2) `ALLOW_HOST_PACKAGES=1` ``` $ make HOST=x86_64-apple-darwin16 ALLOW_HOST_PACKAGES=1 -C depends $ CONFIG_SITE=$PWD/depends/x86_64-apple-darwin16/share/config.site ./configure ... checking for QT_DBUS... yes ... checking whether to build GUI with support for D-Bus... yes ... ``` ACKs for top commit: jonasschnelli: Tested ACK 0e519fe28425b0148fe0d026bd084ecd244f5669 - After this PR (and after a `make clean` & `make HOST=x86_64-apple-darwin16` in depends), the macOS depends build on a Debian machine with qt as host package worked (it fails on master due to `ENABLE_DBUS=1`). Tree-SHA512: d11e1c2bc8ce8a07f3f9b465b01c9b2c814afe75b085a8b88aab74fd3a922aa98180c447457dfc4174515513181c5f4edc521978a1d3d0a112106c98b5c73c0e
2020-02-09depends: Remove reference to win32MarcoFalke
win32 is no longer mentioned in doc/build-windows.md
2020-02-06build: don't embed a build-id when building libdmg-hfsplusfanquake
2020-02-03build: use macOS 10.14 SDKfanquake
Co-Authored-By: Carl Dong <accounts@carldong.me>
2020-02-03depends: native_cctools 921, ld64 409.12, libtapi 1000.10.8fanquake
This also removes the obsolete mlinker-version option Co-Authored-By: Cory Fields <cory-nospam-@coryfields.com>
2020-02-03depends: clang 6.0.1fanquake
This also removes some now-unnecessary cctools hacks. Co-Authored-By: Cory Fields <cory-nospam-@coryfields.com>
2020-02-01build: Fix behavior when ALLOW_HOST_PACKAGES unsetHennadii Stepanov
2020-01-16depends: Consistent use of package variablePeter Bushnell
All other mk files use the package variable consistently except for the two instances here, which have always been here, since depends was introduced in 0.10.
2019-12-13depends: disable unused qt networking featuresfanquake
2019-12-13depends: -optimized-qmake is now -optimized-toolsfanquake
2019-12-13depends: skip building qt proxiesfanquake
2019-12-11Merge #17698: depends: don't configure xcb_protoWladimir J. van der Laan
e97f5c18238835bc3a3aee2e9e65b287f1c8b938 depends: don't configure xcb_proto (fanquake) Pull request description: xcb_proto's configure doesn't understand `--disable-shared` or `--with-pic`. All the package does it put a stack of XML files into a directory to be used by libxcb. Probably enough to close #16354. ACKs for top commit: dongcarl: ACK e97f5c18238835bc3a3aee2e9e65b287f1c8b938 Tree-SHA512: 1a49fd7c8269405bbf312be33c1aeaac5f25ef8666829b01dc3c58f3a2a9281c23c42614a7f1cfc3ee260be4ea3e71285869b1cb9c2035dceda336296d9d9dea
2019-12-09Merge #17678: depends: Support for S390X and POWER targetsMarcoFalke
11113247c323c5b98debcb512fb9db9fe5a8e7cf depends: Support for S390X targets (MarcoFalke) 989fd539d5bf590c5f6070ee2a4a9e2d3018df2c depends: Support for 64-bit POWER targets (Luke Dashjr) Pull request description: Failure before: ``` $ make -C depends HOST=powerpc64-linux-gnu ... ERROR: Feature 'system-zlib' was enabled, but the pre-condition 'libs.zlib' failed. ERROR: Feature 'xcb' was enabled, but the pre-condition 'libs.xcb' failed. ERROR: Feature 'system-freetype' was enabled, but the pre-condition 'features.freetype && libs.freetype' failed. ERROR: Feature 'fontconfig' was enabled, but the pre-condition '!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig' failed. make: *** [funcs.mk:254: /bitcoin/depends/work/build/powerpc64-linux-gnu/qt/5.9.8-95548079095/qtbase/.stamp_configured] Error 3 $ make -C depends HOST=s390x-linux-gnu ... ERROR: Feature 'system-zlib' was enabled, but the pre-condition 'libs.zlib' failed. ERROR: Feature 'xcb' was enabled, but the pre-condition 'libs.xcb' failed. ERROR: Feature 'system-freetype' was enabled, but the pre-condition 'features.freetype && libs.freetype' failed. ERROR: Feature 'fontconfig' was enabled, but the pre-condition '!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig' failed. make: *** [funcs.mk:254: /bitcoin/depends/work/build/s390x-linux-gnu/qt/5.9.8-79c6d6ca6ec/qtbase/.stamp_configured] Error 3 ``` ACKs for top commit: laanwj: Code review ACK 11113247c323c5b98debcb512fb9db9fe5a8e7cf dongcarl: tested ACK 11113247c323c5b98debcb512fb9db9fe5a8e7cf practicalswift: ACK 11113247c323c5b98debcb512fb9db9fe5a8e7cf -- diff looks correct Tree-SHA512: f990101ced0ed579168bb25762c1296c9b512c597bab924013af41832670a69ed786c6ec9b654c95fe064187797880a66c575395bc102a914c1bdb323ca7538a
2019-12-09Merge #17676: depends: don't use OpenGL in Qt on macOSWladimir J. van der Laan
2359a4790d93ffd17b8afc2fea3775dd858ef50d depends: don't use OpenGL in Qt on macOS (fanquake) ba0cad2702e01860d3539f170343d8d9f9c5b75a build: pass -dead_strip_dylibs to ld on macOS (fanquake) Pull request description: Based on #17663. OpenGL on macOS was also deprecated in 10.14. This also removes the `/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL` dylib from `bitcoin-qt`. ACKs for top commit: laanwj: ACK 2359a4790d93ffd17b8afc2fea3775dd858ef50d jonasschnelli: utACK 2359a4790d93ffd17b8afc2fea3775dd858ef50d hebasto: ACK 2359a4790d93ffd17b8afc2fea3775dd858ef50d Tree-SHA512: 39b0151832c829f6ebdc4910eb28ebbeba64539cd04eba6ce3ec75fc0f231569956ca51a1e0bffc76dd27e85643c65a155320b9b450c49e9841e12b108406d41
2019-12-08depends: don't configure xcb_protofanquake
xcb_proto's configure doesn't understand --disable-shared or --with-pic. All the package does it put a stack of xml files into a directory to be used by libxcb.
2019-12-05depends: Support for S390X targetsMarcoFalke
2019-12-05depends: Support for 64-bit POWER targetsLuke Dashjr
2019-12-05depends: don't use OpenGL in Qt on macOSfanquake
2019-12-03depends: add ability to skip building qrencodefanquake
2019-11-30Merge #17521: depends: only use D-Bus with Qt on linuxfanquake
6fdf5dab26e87888c3511fecef5d4d612b8247d6 depends: only use dbus with qt on linux (fanquake) Pull request description: Since #8210 we've been passing `-dbus-runtime` when configuring Qt, however D-Bus isn't used on macOS or Windows. So rather than blanket passing `-dbus-runtime`, only use D-Bus when building for linux, and disable it for Windows and macOS. This also saves some time building qt in depends (for windows or macOS). This gist contains a diff of the symbols in a macOS bitcoin-qt after applying this change: https://gist.github.com/fanquake/317e5c9c7d1b5e37a0c1ce8001af18c4. ACKs for top commit: laanwj: ACK 6fdf5dab26e87888c3511fecef5d4d612b8247d6 Tree-SHA512: 7c7df6036f27dae6adb807edf94cd26b4dafa3728976d219a68f7388b6477777b35acebd507320e4469c9f2fcf016b311c82e0b12d50546cb5ab66a1e955e464
2019-11-21build: set minimum supported macOS to 10.12fanquake
2019-11-20depends: only use dbus with qt on linuxfanquake
2019-11-20Merge #17008: build: bump libevent to 2.1.11 in dependsWladimir J. van der Laan
02ac445b2fec60e028d2cc93bbf74a35e3d0f48e bump libevent to 2.1.11 in depends (stefanwouldgo) Pull request description: this doesn't need patches on Android anymore like 2.1.8 did. ACKs for top commit: laanwj: ACK 02ac445b2fec60e028d2cc93bbf74a35e3d0f48e Tree-SHA512: 1fbfe342ee15fa4c5cb417979bd6c443f7c7aa40a489accf8ccd7c919e5b08e859b3da6edeee3de484f6f156b35dd4e97c7e2c7971b59fc31029865585ccb296
2019-11-18depends: remove OpenSSL packagefanquake
2019-11-13depends: qt: Fix C{,XX} pickupCarl Dong
2019-11-05depends: move README.md Android instructions to a separate sectionIgor Cota
2019-11-04bump libevent to 2.1.11 in dependsstefanwouldgo
this doesn't need patches on Android anymore like 2.1.8 did.
2019-11-04depends: update README.md with working Android targets and API levelsIgor Cota
2019-11-04Merge #16110: depends: Add Android NDK supportWladimir J. van der Laan
f9af3ced1c69d65c5c530ec5526f5eefaf786126 Android: add all arch support (Block Mechanic) d419ca7e32bfc71e8dd1f1b91870463eacd6ad8e depends: export dynamic JNI symbols from static qtforandroid.a (Igor Cota) ed30684d03d3a1d5496e69c488d848fe92ae6fb4 Qt: patch androidjnimain.cpp to make sure JNI is initialised when statically compiled (Igor Cota) e4c319e8a1c6e40a953036b942bd5d732b0bbf69 builds: remove superfluous config_opts_aarch64_android (Igor Cota) 24ffef0c271739a2ca75feecb816f3218c1850bf Patch libevent when building for Android (fix arc4random_addrandom) (Igor Cota) f1e40b3e7114b18bc03f45c3a97f9f673543ddef Update bitcoin_qt.m4 (BlockMechanic) b4057d82618a21720f39f448b689cebf475cc2dc Define TARGET_OS when host is android (Igor Cota) 80b475f159525737e242161397f35d0729449545 Fix Android zlib cross compilation issue (https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar) (Igor Cota) 45f82190150b3feef333724ea7395ba080e700b1 Add full Android build example command and instructions on getting SDK/NDK (Igor Cota) b68f2a68c211aa2264e9ca824d10a90f4a5a5af4 Add config opts and patch for aarch64_android build of Qt (Igor Cota) 9c4cb0166e801471f8cb3d82656c86bacf051db6 Add ranlib to android.mk hosts file (fix OSX Android NDK build) (Igor Cota) c2a749c9c16697e744ecfb283fdf4095d0278066 Add example Android host-platform-triplet and options (Igor Cota) 0b0cff3c61610fb56f8c5c9451ace01598117a8d Add support for building Android dependencies (Igor Cota) Pull request description: This allows one to build the dependencies with the Android SDK and goes towards fixing #11844. It has been tested to work with: `make HOST=aarch64-linux-android ANDROID_API_LEVEL=28 ANDROID_TOOLCHAIN_BIN=/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin NO_QT=1 NO_WALLET=1` ACKs for top commit: Sjors: ACK f9af3ce. I'm OK with merging and then improving later. Tree-SHA512: cb805115ebe5c9e33db2bf3eab8628808fe3f50052053d8877d8b8e4406d6fea1ed9e5c4dff85d777fb99c81be6ffb9d95a0e6d32344e728e5e0da6c653e2ce7
2019-10-26Merge #17165: Remove BIP70 supportWladimir J. van der Laan
8c6081a884cd0969160955ce8687d4d4ed074db3 compat: remove bswap_* check on macOS (fanquake) 2cba35ab38b492768e85bd77442a566dda169466 build: skip building OpenSSL lib_ssl (fanquake) 45a2d3c5526551c279b624e111fe83d1f30b10db build: remove OpenSSL from Qt build (fanquake) befbc40eb5928ac20a85fd3446946895cd2e66cb build: remove EVP_MD_CTX_new detection (fanquake) fcee10c2d028cba11416d902f5abf13fea7a65f4 build: remove SSL lib detection (fanquake) c7f30dbca8034f70488cb494b4d1736c961301b9 gui: Update BIP70 support message (fanquake) a3e810326d7e70a774ece9e9aa0c571cc9216aab build: remove BIP70 entries from macOS Info.plist (fanquake) 72fe13a58d5894afbaf1bb6789ee9b9b6576f20f gui: remove payment request file handling from OpenURI dialog (fanquake) 3548e4aac72e9148d41b440052a89d89328f7661 Remove BIP70 Support (fanquake) 1cb9a4e28cccd3056e2b8d9cdabc45bf3e4dd2a6 docs: remove protobuf from docs (fanquake) 67328bb7ca57fa0df867ec73dbeeb97d61450a4e build: remove protobuf from depends (fanquake) Pull request description: This removes [BIP70](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki) support. It also removes OpenSSL linking from Qt and building OpenSSLs `lib_ssl` in depends, as well as SSL lib detection from the build system. It's something that I'd optimistically like to do for `0.20.0`. ACKs for top commit: laanwj: Code review ACK 8c6081a884cd0969160955ce8687d4d4ed074db3 MarcoFalke: ACK 8c6081a884cd0969160955ce8687d4d4ed074db3 fjahr: ACK 8c6081a Tree-SHA512: 9dd9153afa4eca1a795f983e5b31f5fee9fa9a064c2a95d2f98810689add3ad0bf221c4608282299e66e4d1ec31cd556d4b16eea55de7912c3b9931f64735883
2019-10-24build: skip building OpenSSL lib_sslfanquake
2019-10-24build: remove OpenSSL from Qt buildfanquake
More info available from: https://doc.qt.io/qt-5/ssl.html#enabling-and-disabling-ssl-support
2019-10-24build: remove protobuf from dependsfanquake
2019-10-23depends: fix boost mac cross build with clang 9+Cory Fields
The ancient "darwin-4.9.1" profile has long been used to match against clang, which prior to version 9, reported 4.9.1 as its version when invoking "clang++ -dumpversion". Presumably this was a historical compatibility quirk related to Apple's switch from gcc to clang. This was "fixed" in clang 9.0, so that -dumpversion reports the real version. Unfortunately that had the side-effect of breaking the (brittle) boost compiler detection. Move to the seemingly more-correct "clang-darwin" profile, which passes the checks and builds correctly. Also switch to using ar rather than libtool for archiving, as it's what the clang-darwin profile expects to be using. Note that because this is using a different profile, some of the final command-line arguments end up changing. The changes look sane at a glance.
2019-10-18Merge #16949: build: only pass --disable-dependency-tracking to packages ↵fanquake
that understand it 1ba49bcdc216162f513e74e371ee9f26418a390e build: pass --enable-option-checking to applicable packages (fanquake) bcff8e21b1bb360c3cf1e1d2e1a2a54ec7581720 build: only pass --disable-dependency-tracking to packages that understand it (fanquake) Pull request description: By blanket passing `--disable-dependency-tracking` to all depends packages we end up with warnings (i.e in `bdb` or `freetype`) like: ```bash configure: WARNING: unrecognized options: --disable-dependency-tracking ``` Instead, only pass it to packages that actually understand it. Related to https://github.com/bitcoin/bitcoin/issues/16354. More info on `--disable-dependency-tracking` available [here](https://www.gnu.org/software/automake/manual/html_node/Dependency-Tracking.html). This PR also adds `--enable-option-checking` as a configure option to all applicable packages. ACKs for top commit: laanwj: ACK 1ba49bcdc216162f513e74e371ee9f26418a390e theuni: ACK 1ba49bcdc216162f513e74e371ee9f26418a390e Tree-SHA512: 6d3143ad5f5d1abed5e0a0b2ffbb4323f21c7bf24b0b8df26fb1b3cd16cf5309bbb830aa5aaec99164d5bbe8e9c62b97aa3e97ee1ddc2c7612bf8ff88a63885e
2019-10-18Android: add all arch supportBlock Mechanic
Add support for armv7a, i686 and x86_64 archs to android.mk Add -fPIC to depends file as anddroid requires it see https://stackoverflow.com/questions/30498776/position-independent-executables-and-android
2019-10-16Merge #17118: build: depends macOS: point --sysroot to SDKWladimir J. van der Laan
a0daea459cf4812fbdda9a7ead131a73f5856c09 [build] depends macOS: point --sysroot to SDK (Sjors Provoost) Pull request description: Fixes errors like `fatal error: 'unistd.h' file not found` when building depends on macOS. Replaces #14352 (which doesn't work on Catalina). ACKs for top commit: jonasschnelli: utACK a0daea459cf4812fbdda9a7ead131a73f5856c09 Tree-SHA512: 995b1e1e84e635b32d1d4038bc63730c94a7c318b7240f6d62825977e5c97fe52c5aa5a0f39070beb0df8271dd294b36d6b5cf7f09ad07494fb15d5bd4d77f68
2019-10-14Merge #17057: build: switch to upstream libdmg-hfsplusWladimir J. van der Laan
9192ce5d634f4c65776d14539e9663c67b4367d3 depends: pull upstream libdmg-hfsplus changes (fanquake) 9b54f3436bb9a2d23bd84c0da99168386e2d5c31 depends: latest config.guess & config.sub (fanquake) Pull request description: Pulled the first two commits off #16392, as they are standalone. Corys PRs (https://github.com/planetbeing/libdmg-hfsplus/pull/7, https://github.com/planetbeing/libdmg-hfsplus/pull/8) have been merged, and the author was active for a little while in 2017/18, so switch back to the upstream [`libdmg-hfsplus`](https://github.com/planetbeing/libdmg-hfsplus) repo. I've added the last of Corys patches into depends. [Switching back to upstream discussion](https://github.com/bitcoin/bitcoin/pull/16392#discussion_r303610767). Top commit has no ACKs. Tree-SHA512: a2313a731242251fef28921faf403c9bc354e6271cd7a26e9904ff5fae5766678136697fb5696006498a982ce319747b52b1df5151837388cda8f8145b45ab7c
2019-10-12[build] depends macOS: point --sysroot to SDKSjors Provoost
2019-10-12Qt: patch androidjnimain.cpp to make sure JNI is initialised when statically ↵Igor Cota
compiled
2019-10-11build: pass --enable-option-checking to applicable packagesfanquake
2019-10-11build: only pass --disable-dependency-tracking to packages that understand itfanquake
By blanket passing --disable-dependency-tracking to all depends packages we end up with some warnings like: configure: WARNING: unrecognized options: --disable-dependency-tracking So instead, only pass it to packages that understand it. Related to https://github.com/bitcoin/bitcoin/issues/16354.
2019-10-09build: Add variable printing target to MakefilesCarl Dong
I kept finding myself needing these to debug our build system, since they are innocuous and are very helpful they probably belong in the codebase. Source: John Graham-Cumming https://www.cmcrossroads.com/article/printing-value-makefile-variable
2019-10-09depends: pull upstream libdmg-hfsplus changesfanquake
2019-10-09depends: latest config.guess & config.subfanquake
2019-09-30Merge #16927: depends: Refresh ZeroMQ 4.3.1 patchWladimir J. van der Laan
463a1d5244337915de36db36de573eb8782bc430 Refresh ZeroMQ 4.3.1 patch (Nathan Marley) Pull request description: Currently in Alpine Linux (latest, 3.10) in the depends system, one of the ZeroMQ patches won't apply cleanly because the context around the patch has changed and Alpine's `patch` implementation can't handle the diff. Some patch implementations can't handle fuzz / too much divergence from the original code. This PR just tweaks the context code around the patch so that less-sophisticated patch implementations (such as on Alpine Linux) can apply the patch without errors. This partially fixes #16925 ACKs for top commit: fanquake: ACK 463a1d5244337915de36db36de573eb8782bc430 - Tested building zeromq in depends inside an [Alpine container](https://github.com/fanquake/core-review/blob/master/docker/alpine.dockerfile) as well as on macOS. Tree-SHA512: d6e3cb60835cdd090b9b864ca9cb33961687606bc9184fbbeb7a54ec23db4057b9317b65c5c276fb8c5492cb3cfcc4a7f3369f049551f4eb0915db971f2290ce