From 15d9272b45e8d35ae9720aa51d989d8c00e52804 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 14 Mar 2022 21:10:42 +0000 Subject: [PATCH] Rebase to guestfs-tools 1.48.0 resolves: rhbz#2059286 --- ...g-Fix-output-of-virt-win-reg-version.patch | 191 ------------------ ...aml.m4-Fix-deprecated-warning-format.patch | 32 --- 0003-customize-Suppress-OCaml-warning.patch | 33 --- ...ng-recognize-kalilinux-and-msdos-dis.patch | 38 ---- ...ng-Add-support-for-Kylin-RHBZ-199539.patch | 29 --- ...ystem-local-NetworkManager-connectio.patch | 96 --------- guestfs-tools.spec | 27 +-- sources | 4 +- 8 files changed, 12 insertions(+), 438 deletions(-) delete mode 100644 0001-win-reg-Fix-output-of-virt-win-reg-version.patch delete mode 100644 0002-m4-guestfs-ocaml.m4-Fix-deprecated-warning-format.patch delete mode 100644 0003-customize-Suppress-OCaml-warning.patch delete mode 100644 0004-virt-inspector.rng-recognize-kalilinux-and-msdos-dis.patch delete mode 100644 0005-virt-inspector.rng-Add-support-for-Kylin-RHBZ-199539.patch delete mode 100644 0006-sysprep-remove-system-local-NetworkManager-connectio.patch diff --git a/0001-win-reg-Fix-output-of-virt-win-reg-version.patch b/0001-win-reg-Fix-output-of-virt-win-reg-version.patch deleted file mode 100644 index 9910422..0000000 --- a/0001-win-reg-Fix-output-of-virt-win-reg-version.patch +++ /dev/null @@ -1,191 +0,0 @@ -From 83de85e717ad525423b0eabe153b48ff8af90bd1 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 17 May 2021 15:18:04 +0100 -Subject: [PATCH] win-reg: Fix output of virt-win-reg --version - -Before we split libguestfs and guestfs-tools the version of programs -was exactly the same as the version of libguestfs. This was -convenient for virt-win-reg where it is difficult to encode the -version into the script, because virt-win-reg could simply use the -version from Sys::Guestfs (ie. libguestfs). However after the split -this no longer applies, so we must do the difficult thing. - -After this change virt-win-reg will print both the version of -guestfs-tools and the version of libguestfs, eg: - - $ virt-win-reg --version - virt-win-reg 1.47.1 - libguestfs 1.45.5fedora=35,release=1.fc35,libvirt - -Reported-by: Yongkui Guo -Fixes: commit 4354a3126152a2748cc9097cba139b3908ccc342 -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1961160 -(cherry picked from commit 9e9eeeaf4c4b478eca82bf0d4c3e680a624d6d91) ---- - .gitignore | 1 + - configure.ac | 2 ++ - po-docs/podfiles | 2 +- - po/POTFILES-pl | 2 +- - po/guestfs-tools.pot | 18 +++++++++--------- - win-reg/Makefile.am | 6 ------ - win-reg/{virt-win-reg => virt-win-reg.in} | 5 +++-- - 7 files changed, 17 insertions(+), 19 deletions(-) - rename win-reg/{virt-win-reg => virt-win-reg.in} (99%) - -diff --git a/.gitignore b/.gitignore -index 006042a8..6bc509fa 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -163,3 +163,4 @@ Makefile.in - /test-data/phony-guests/windows-software - /test-data/phony-guests/windows-system - /website/*.html -+/win-reg/virt-win-reg -diff --git a/configure.ac b/configure.ac -index 56cfef57..ef412670 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -99,6 +99,8 @@ AC_CONFIG_FILES([podwrapper.pl], - [chmod +x,-w podwrapper.pl]) - AC_CONFIG_FILES([run], - [chmod +x,-w run]) -+AC_CONFIG_FILES([win-reg/virt-win-reg], -+ [chmod +x,-w win-reg/virt-win-reg]) - - AC_CONFIG_FILES([Makefile - align/Makefile -diff --git a/po-docs/podfiles b/po-docs/podfiles -index d7ef1389..6b0c481f 100644 ---- a/po-docs/podfiles -+++ b/po-docs/podfiles -@@ -26,4 +26,4 @@ sparsify/virt-sparsify.pod - sysprep/sysprep-extra-options.pod - sysprep/sysprep-operations.pod - sysprep/virt-sysprep.pod --win-reg/virt-win-reg -+win-reg/virt-win-reg.in -diff --git a/po/POTFILES-pl b/po/POTFILES-pl -index 47d30fc8..c6520cea 100644 ---- a/po/POTFILES-pl -+++ b/po/POTFILES-pl -@@ -1 +1 @@ --win-reg/virt-win-reg -+win-reg/virt-win-reg.in -diff --git a/po/guestfs-tools.pot b/po/guestfs-tools.pot -index a3be1b95..d7e9a3a7 100644 ---- a/po/guestfs-tools.pot -+++ b/po/guestfs-tools.pot -@@ -9,7 +9,7 @@ msgstr "" - "Project-Id-Version: guestfs-tools 1.46.1\n" - "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" - "component=libguestfs&product=Virtualization+Tools\n" --"POT-Creation-Date: 2021-05-08 08:57+0100\n" -+"POT-Creation-Date: 2021-05-17 15:25+0100\n" - "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" - "Last-Translator: FULL NAME \n" - "Language-Team: LANGUAGE \n" -@@ -4213,11 +4213,11 @@ msgstr "" - msgid "%s: subprocess failed\n" - msgstr "" - --#: win-reg/virt-win-reg:260 -+#: win-reg/virt-win-reg.in:261 - msgid "no libvirt domain name or disk image given\n" - msgstr "" - --#: win-reg/virt-win-reg:316 -+#: win-reg/virt-win-reg.in:317 - #, perl-brace-format - msgid "" - "{prog}: No operating system could be detected inside this disk image.\n" -@@ -4230,33 +4230,33 @@ msgid "" - "information about the disk image as possible.\n" - msgstr "" - --#: win-reg/virt-win-reg:320 -+#: win-reg/virt-win-reg.in:321 - #, perl-brace-format - msgid "{prog}: multiboot operating systems are not supported.\n" - msgstr "" - --#: win-reg/virt-win-reg:342 -+#: win-reg/virt-win-reg.in:343 - msgid "" - "expecting 1 or 2 more parameters, subkey path and optionally the value to " - "export\n" - msgstr "" - --#: win-reg/virt-win-reg:502 -+#: win-reg/virt-win-reg.in:503 - #, perl-brace-format - msgid "virt-win-reg: {p}: cannot find user directory\n" - msgstr "" - --#: win-reg/virt-win-reg:507 -+#: win-reg/virt-win-reg.in:508 - #, perl-brace-format - msgid "virt-win-reg: {p}: not a supported Windows Registry path\n" - msgstr "" - --#: win-reg/virt-win-reg:580 -+#: win-reg/virt-win-reg.in:581 - #, perl-brace-format - msgid "virt-win-reg: {p}: could not download registry file: {err}\n" - msgstr "" - --#: win-reg/virt-win-reg:597 -+#: win-reg/virt-win-reg.in:598 - #, perl-brace-format - msgid "virt-win-reg: {p}: could not upload registry file: {err}\n" - msgstr "" -diff --git a/win-reg/Makefile.am b/win-reg/Makefile.am -index 22a22db4..61ec066a 100644 ---- a/win-reg/Makefile.am -+++ b/win-reg/Makefile.am -@@ -17,8 +17,6 @@ - - include $(top_srcdir)/subdir-rules.mk - --EXTRA_DIST = virt-win-reg -- - bin_SCRIPTS = virt-win-reg - - # Manual pages and HTML files for the website. -@@ -36,7 +34,3 @@ stamp-virt-win-reg.pod: virt-win-reg - --warning custom \ - $< - touch $@ -- --all-local: -- for f in virt-win-reg; do echo win-reg/$$f; done \ -- > $(top_srcdir)/po/POTFILES-pl -diff --git a/win-reg/virt-win-reg b/win-reg/virt-win-reg.in -similarity index 99% -rename from win-reg/virt-win-reg -rename to win-reg/virt-win-reg.in -index 1a936c5d..6d9d0a28 100755 ---- a/win-reg/virt-win-reg -+++ b/win-reg/virt-win-reg.in -@@ -1,6 +1,6 @@ - #!/usr/bin/env perl - # virt-win-reg --# Copyright (C) 2010 Red Hat Inc. -+# Copyright (C) 2010-2021 Red Hat Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -234,9 +234,10 @@ my %opts = ("help|?" => \$help, - GetOptions (%opts) or pod2usage (2); - pod2usage (1) if $help; - if ($version) { -+ print "virt-win-reg @PACKAGE_VERSION@\n"; - my $g = Sys::Guestfs->new (); - my %h = $g->version (); -- print "virt-win-reg $h{major}.$h{minor}.$h{release}$h{extra}\n"; -+ print "libguestfs $h{major}.$h{minor}.$h{release}$h{extra}\n"; - exit - } - --- -2.31.1 - diff --git a/0002-m4-guestfs-ocaml.m4-Fix-deprecated-warning-format.patch b/0002-m4-guestfs-ocaml.m4-Fix-deprecated-warning-format.patch deleted file mode 100644 index df01d43..0000000 --- a/0002-m4-guestfs-ocaml.m4-Fix-deprecated-warning-format.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 662e12ba1a2c2f06151b0f06814e6da0025cff2d Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 5 Oct 2021 20:51:19 +0100 -Subject: [PATCH] m4/guestfs-ocaml.m4: Fix deprecated warning format - -In OCaml 4.13: - -Alert ocaml_deprecated_cli: Setting a warning with a sequence of lowercase or uppercase letters, -like 'CDEFLMPSUVYZX', is deprecated. -Use the equivalent signed form: +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3. - -(cherry picked from commit fa4f59e1d99c08d7e0bae2a7cb54f254a6506d67) ---- - m4/guestfs-ocaml.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/m4/guestfs-ocaml.m4 b/m4/guestfs-ocaml.m4 -index f5ac7eff..d2b3804a 100644 ---- a/m4/guestfs-ocaml.m4 -+++ b/m4/guestfs-ocaml.m4 -@@ -166,7 +166,7 @@ EOF - ]) - - dnl Flags we want to pass to every OCaml compiler call. --OCAML_WARN_ERROR="-warn-error CDEFLMPSUVYZX+52-3" -+OCAML_WARN_ERROR="-warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3" - AC_SUBST([OCAML_WARN_ERROR]) - OCAML_FLAGS="-g -annot $safe_string_option" - AC_SUBST([OCAML_FLAGS]) --- -2.31.1 - diff --git a/0003-customize-Suppress-OCaml-warning.patch b/0003-customize-Suppress-OCaml-warning.patch deleted file mode 100644 index 3335206..0000000 --- a/0003-customize-Suppress-OCaml-warning.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 89617fbe8867254b8c5a77c7fd28ab7746338751 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 5 Oct 2021 20:53:25 +0100 -Subject: [PATCH] customize: Suppress OCaml warning - -In OCaml 4.13: - -File "perl_edit.ml", line 30, characters 2-13: -30 | c_edit_file (verbose ()) g (Guestfs.c_pointer g) file expr - ^^^^^^^^^^^ -Error (warning 6 [labels-omitted]): label verbose was omitted in the application of this function. - -(cherry picked from commit a4930f5fad82e5358d565b8cf3610970e9646259) ---- - m4/guestfs-ocaml.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/m4/guestfs-ocaml.m4 b/m4/guestfs-ocaml.m4 -index d2b3804a..8a23877c 100644 ---- a/m4/guestfs-ocaml.m4 -+++ b/m4/guestfs-ocaml.m4 -@@ -166,7 +166,7 @@ EOF - ]) - - dnl Flags we want to pass to every OCaml compiler call. --OCAML_WARN_ERROR="-warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3" -+OCAML_WARN_ERROR="-warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3-6" - AC_SUBST([OCAML_WARN_ERROR]) - OCAML_FLAGS="-g -annot $safe_string_option" - AC_SUBST([OCAML_FLAGS]) --- -2.31.1 - diff --git a/0004-virt-inspector.rng-recognize-kalilinux-and-msdos-dis.patch b/0004-virt-inspector.rng-recognize-kalilinux-and-msdos-dis.patch deleted file mode 100644 index bf6a1b8..0000000 --- a/0004-virt-inspector.rng-recognize-kalilinux-and-msdos-dis.patch +++ /dev/null @@ -1,38 +0,0 @@ -From e8148241cfd6019e493269580c7fe74d62e0fbdc Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Wed, 13 Oct 2021 18:30:42 +0200 -Subject: [PATCH] virt-inspector.rng: recognize "kalilinux" and "msdos" distros - -As of libguestfs @ e597fc5317e0, the "string_of_distro" function -[daemon/inspect_types.ml] may output "kalilinux" and "msdos" beyond what -"virt-inspector.rng" currently accepts. Add these distro identifiers to -"virt-inspector.rng" now. - -Signed-off-by: Laszlo Ersek -Message-Id: <20211013163043.21837-2-lersek@redhat.com> -Acked-by: Richard W.M. Jones -(cherry picked from commit aefdf0dcd4954b822e6a098f7258899f1b6a72b7) ---- - inspector/virt-inspector.rng | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/inspector/virt-inspector.rng b/inspector/virt-inspector.rng -index 7807e4d7..0a81538e 100644 ---- a/inspector/virt-inspector.rng -+++ b/inspector/virt-inspector.rng -@@ -87,10 +87,12 @@ - freedos - frugalware - gentoo -+ kalilinux - linuxmint - mageia - mandriva - meego -+ msdos - neokylin - netbsd - openbsd --- -2.31.1 - diff --git a/0005-virt-inspector.rng-Add-support-for-Kylin-RHBZ-199539.patch b/0005-virt-inspector.rng-Add-support-for-Kylin-RHBZ-199539.patch deleted file mode 100644 index 017e9d9..0000000 --- a/0005-virt-inspector.rng-Add-support-for-Kylin-RHBZ-199539.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8dad474829a8f6874c01a6d85749d8fd66d192ae Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Wed, 13 Oct 2021 18:30:43 +0200 -Subject: [PATCH] virt-inspector.rng: Add support for Kylin (RHBZ#1995391). - -Similar-to: b8bc491ff59cc1cc24a1935be99cee0c5edfb5be -Signed-off-by: Laszlo Ersek -Message-Id: <20211013163043.21837-3-lersek@redhat.com> -Acked-by: Richard W.M. Jones -(cherry picked from commit f041a5e24d8c5850daf7ad8f8e1a284e0445266b) ---- - inspector/virt-inspector.rng | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/inspector/virt-inspector.rng b/inspector/virt-inspector.rng -index 0a81538e..5b460b36 100644 ---- a/inspector/virt-inspector.rng -+++ b/inspector/virt-inspector.rng -@@ -88,6 +88,7 @@ - frugalware - gentoo - kalilinux -+ kylin - linuxmint - mageia - mandriva --- -2.31.1 - diff --git a/0006-sysprep-remove-system-local-NetworkManager-connectio.patch b/0006-sysprep-remove-system-local-NetworkManager-connectio.patch deleted file mode 100644 index 187f906..0000000 --- a/0006-sysprep-remove-system-local-NetworkManager-connectio.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 6f8c270b3fb7b5b3109d2553fef38f128b6137ac Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Thu, 2 Dec 2021 14:10:06 +0100 -Subject: [PATCH] sysprep: remove system-local NetworkManager connection - profiles (keyfiles) - -Add a simple (default) operation to remove - - /etc/NetworkManager/system-connections/*.nmconnection - -which arguably carry stale information after the initial creation of the -system disk image. - -Note: no side effect callback is invoked. Before commit 576f1541a20c -("sysprep: Use customize module for customizing the guest after -sysprepping.", 2014-03-25), the "delete" operation had been native to -virt-sysprep ("sysprep/sysprep_operation_delete.ml"), and it didn't invoke -side effects. In said commit, "delete" was delegated to virt-customize, -and that was when "side_effects#created_file" was introduced (most likely) -as a catch-all. (We still have the "XXX Did we?" comment today.) - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1980922 -Signed-off-by: Laszlo Ersek -Message-Id: <20211202131006.12774-1-lersek@redhat.com> -Acked-by: Richard W.M. Jones -(cherry picked from commit 903819ecf480bcefec108bdbd7e9bdec1b3b5a49) ---- - sysprep/Makefile.am | 1 + - sysprep/sysprep_operation_net_nmconn.ml | 43 +++++++++++++++++++++++++ - 2 files changed, 44 insertions(+) - create mode 100644 sysprep/sysprep_operation_net_nmconn.ml - -diff --git a/sysprep/Makefile.am b/sysprep/Makefile.am -index d32ab20e..561a71ae 100644 ---- a/sysprep/Makefile.am -+++ b/sysprep/Makefile.am -@@ -52,6 +52,7 @@ operations = \ - mail_spool \ - net_hostname \ - net_hwaddr \ -+ net_nmconn \ - pacct_log \ - package_manager_cache \ - pam_data \ -diff --git a/sysprep/sysprep_operation_net_nmconn.ml b/sysprep/sysprep_operation_net_nmconn.ml -new file mode 100644 -index 00000000..2d8667f1 ---- /dev/null -+++ b/sysprep/sysprep_operation_net_nmconn.ml -@@ -0,0 +1,43 @@ -+(* virt-sysprep -+ * Copyright (C) 2012-2021 Red Hat Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License along -+ * with this program; if not, write to the Free Software Foundation, Inc., -+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ *) -+ -+open Common_gettext.Gettext -+open Sysprep_operation -+ -+let glob = "/etc/NetworkManager/system-connections/*.nmconnection" -+ -+let net_nmconn_perform (g : Guestfs.guestfs) root side_effects = -+ let typ = g#inspect_get_type root in -+ let distro = g#inspect_get_distro root in -+ match typ, distro with -+ | "linux", ("fedora"|"rhel"|"centos"|"scientificlinux"|"oraclelinux"| -+ "redhat-based") -> Array.iter g#rm_f (g#glob_expand glob) -+ | _ -> () -+ -+let op = { -+ defaults with -+ name = "net-nmconn"; -+ enabled_by_default = true; -+ heading = s_"Remove system-local NetworkManager connection profiles \ -+ (keyfiles)"; -+ pod_description = Some (s_"On Fedora and Red Hat Enterprise Linux, remove \ -+ the C<" ^ glob ^ "> files."); -+ perform_on_filesystems = Some net_nmconn_perform; -+} -+ -+let () = register_operation op --- -2.31.1 - diff --git a/guestfs-tools.spec b/guestfs-tools.spec index 22e9879..c9ead30 100644 --- a/guestfs-tools.spec +++ b/guestfs-tools.spec @@ -15,18 +15,18 @@ %global verify_tarball_signature 1 # If there are patches which touch autotools files, set this to 1. -%global patches_touch_autotools 1 +%global patches_touch_autotools %{nil} # The source directory. -%global source_directory 1.46-stable +%global source_directory 1.48-stable # Filter perl provides. %{?perl_default_filter} Summary: Tools to access and modify virtual machine disk images Name: guestfs-tools -Version: 1.46.1 -Release: 6%{?dist} +Version: 1.48.0 +Release: 1%{?dist} License: GPLv2+ # Build only for architectures that have a kernel @@ -52,19 +52,7 @@ Source2: libguestfs.keyring Source3: copy-patches.sh # Patches are maintained in the following repository: -# https://github.com/rwmjones/guestfs-tools/commits/rhel-9.0.0 - -# Fix virt-win-reg --version (RHBZ#1961160) -Patch0001: 0001-win-reg-Fix-output-of-virt-win-reg-version.patch - -# Fix detection of Kylin Desktop (RHBZ#2025950) -Patch0002: 0002-m4-guestfs-ocaml.m4-Fix-deprecated-warning-format.patch -Patch0003: 0003-customize-Suppress-OCaml-warning.patch -Patch0004: 0004-virt-inspector.rng-recognize-kalilinux-and-msdos-dis.patch -Patch0005: 0005-virt-inspector.rng-Add-support-for-Kylin-RHBZ-199539.patch - -# Clean up NetworkManager connection files (RHBZ#1980922) -Patch0006: 0006-sysprep-remove-system-local-NetworkManager-connectio.patch +# https://github.com/rwmjones/guestfs-tools/commits/rhel-9.1 %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool, gettext-devel @@ -378,6 +366,7 @@ end %{_bindir}/virt-sparsify %{_bindir}/virt-sysprep %{_bindir}/virt-tail +%{_mandir}/man1/guestfs-tools-release-notes-1*.1* %{_mandir}/man1/virt-alignment-scan.1* %{_mandir}/man1/virt-builder-repository.1* %{_mandir}/man1/virt-builder.1* @@ -431,6 +420,10 @@ end %changelog +* Mon Mar 14 2022 Richard W.M. Jones - 1.48.0-1 +- Rebase to guestfs-tools 1.48.0 + resolves: rhbz#2059286 + * Sat Dec 04 2021 Richard W.M. Jones - 1.46.1-6 - Clean up NetworkManager connection files - Add the copy-patches.sh script from virt-v2v diff --git a/sources b/sources index 210e2e6..ca504b8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (guestfs-tools-1.46.1.tar.gz) = d2bd0790343d54a2517237e56d1b982cd41335654fd205cfeec42a1b7cbbf4c0923597b767b8769dfe74766e078a817d520db251895990b922522030806d0b85 -SHA512 (guestfs-tools-1.46.1.tar.gz.sig) = 59d86cd01ed95278c0c85b11a4afaa85c595824fda4972c04bd66606c37580a61bae24b09782d0221b7830090346c633084cc6cb0f2077810cf0da0bf3d84fff +SHA512 (guestfs-tools-1.48.0.tar.gz) = 8576ef0e283a02a112f785e8f1656b41c93be29e12617ee8c83033b90758736ea3c2d4ecfb446a86c7913e2c0b39a7c5666e8ad22682419cc877543a3825c489 +SHA512 (guestfs-tools-1.48.0.tar.gz.sig) = dd59c590163e13e30425c4f26eddef51596be757b85d9e09c2406a7697a369e23b54dce075005f31c067aea91598ff1f8c887332be691ba23d25ee2e86b93814