diff --git a/License-analysis.txt b/License-analysis.txt deleted file mode 100644 index d5459fa..0000000 --- a/License-analysis.txt +++ /dev/null @@ -1,125 +0,0 @@ -CC-BY-SA-4.0 -COPYING -FAQ -manal.pdf - -CC-BY-3.0 -src/frontend/get_phys_mem_size.c -src/frontend/get_resident_set_size.c - -GPL-2.0-or-later -src/xspice/icm/table/table2D/cfunc.mod -src/xspice/icm/table/table3D/cfunc.mod -src/spicelib/devices/adms/admst/COPYING -src/spicelib/devices/adms/admst/ngspice*.xml -src/xspice/icm/table/mada/alloc.c -src/xspice/icm/table/mada/eno.c -src/xspice/icm/table/mada/eno2.c -src/xspice/icm/table/mada/eno3.c - -GPL-2.0-only -src/xspice/icm/table/table2D/ifspec.ifs -src/xspice/icm/table/table3D/ifspec.ifs - -GPL-3.0-or-later -src/frontend/parse-bison.c -src/frontend/parse-bison.h -src/spicelib/parser/inpptree-parser.c -src/spicelib/parser/inpptree-parser.h -src/xspice/cmpp/ifs_yacc.c -src/xspice/cmpp/ifs_yacc.h -src/xspice/cmpp/mod_yacc.c -src/xspice/cmpp/mod_yacc.h - -LGPL-2.1-or-later -README.tcl -src/frontend/numparam/mystring.c -src/frontend/numparam/readme.txt -src/frontend/numparam/spicenum.c -src/frontend/numparam/xpressn.c -src/maths/KLU/colamd.c -src/spicelib/devices/adms/admst/COPYING - -LGPL-2.1-only -src/maths/KLU/colamd_global.c -src/tclspice.c - -MPL-2.0 -src/include/cppduals/duals/dual -src/osdi/ - -ECL-2.0 -examples/osdi/EKV2.6/ekv26_mod.va -src/spicelib/devices/bsim4/ - -HPND -src/maths/sparse/ - -BSD-4-Clause -src/misc/getopt_bsd.h - -BSD-3-Clause -src/frontend/com_wr_ic.c -src/frontend/com_wr_ic.h -src/frontend/get_avail_mem_size.c -src/frontend/inpcom.c - -src/frontend/inpcompat.c (BCD) -src/frontend/inpcompat.h (BCD) -src/frontend/inpc_probe.c -src/include/ngspice/sharedspice.h -src/misc/dstring.c -src/sharedspice.c -src/spicelib/analysis/optran.c -src/spicelib/devices/cpl/cpldelete.c -src/spicelib/devices/cpl/cplhash.c -src/spicelib/devices/cpl/cplhash.h -src/spicelib/devices/cpl/cplmdel.c -src/spicelib/devices/hicum2/ -src/spicelib/parser/inpgmod.c -src/winmain.c -src/xspice/icm/digital/d_process/cfunc.mod -src/xspice/icm/dlmain.c -src/xspice/icm/dlmain.h -src/xspice/icm/xtradev/pswitch/cfunc.mod -src/xspice/icm/xtradev/sidiode/cfunc.mod -src/xspice/icm/xtradev/sidiode/ifspec.ifs - - -BSD-2-Clause -src/misc/getopt_long_bsd.c - -??? -examples/p-to-n-examples/MCP6041.txt - -??? -examples/probe/TLC555.LIB - -NOT_IN_SPDX -src/frontend/commands.c -src/spicelib/devices/dev.c - -NOT_IN_SPDX -src/spicelib/devices/bsim3/B3TERMS_OF_USE -src/spicelib/devices/bsim3soi_dd/BsimTerms_use -src/spicelib/devices/bsim3soi_fd/BsimTerms_use -src/spicelib/devices/bsim3soi_pd/BsimTerms_use -src/spicelib/devices/bsim3v32/B3TERMS_OF_USE -src/spicelib/devices/bsim4/B4TERMS_OF_USEs -src/spicelib/devices/bsim4v5/B4TERMS_OF_USE -src/spicelib/devices/bsim4v6/B4TERMS_OF_USE -src/spicelib/devices/bsim4v7/B4TERMS_OF_USE -src/spicelib/devices/bsimsoi/BsimTerms_use - - -??? -src/spicelib/devices/hisim2/ -src/spicelib/devices/hisimhv2/ - -??? -src/spicelib/devices/hisimhv1/ - - -??? -src/spicelib/devices/soi3/README - diff --git a/create-ngspice-git-bare-tarball.sh b/create-ngspice-git-bare-tarball.sh index 78953a6..93333e8 100644 --- a/create-ngspice-git-bare-tarball.sh +++ b/create-ngspice-git-bare-tarball.sh @@ -18,7 +18,7 @@ pushd $TMPDIR git clone --mirror $GITURL cd ./${REPONAME}.git -git log --pretty=fuller | head -n 10 +git log | head -n 5 cd .. tar czf ${TARNAME} ${REPONAME}.git/ diff --git a/ngspice.spec b/ngspice.spec index 61b80f7..27b238c 100644 --- a/ngspice.spec +++ b/ngspice.spec @@ -13,62 +13,48 @@ %global userelease 1 %endif -%global majorver 45 -%global minorver 2 -%global docver 45 +%global mainver 37 +%global docver 37 %undefine prever %global prerpmver %(echo "%{?prever}" | sed -e 's|-||g') -%global baserelease 1 +%global mainrel 1 %if 0%{?usegitbare} >= 1 -# pre-master-45 -%global gitcommit 1d0beb5e266420b1dd756913356a295ddb60fdce -%global gitdate 20250830 +%global gitcommit cc285741f58bf6a9f37988199b09f49f7425144f +%global gitdate 20220430 %global shortcommit %(c=%{gitcommit}; echo ${c:0:7}) -%global tarballdate 20250831 -%global tarballtime 2034 +%global tarballdate 20220502 +%global tarballtime 1812 %endif -%if 0%{?userelease} >= 1 -%global fedoraver %{majorver}%{?minorver:.%minorver} +%if 0%{?userelease} >= 1 +%global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}} %endif -%if 0%{?usegitbare} >= 1 -%global fedoraver %{majorver}%{?minorver:.%minorver}^%{gitdate}git%{shortcommit} +%if 0%{?usegitbare} >= 1 +%global fedorarel %{?prever:0.}%{mainrel}.D%{gitdate}git%{shortcommit} +#%%global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}} %endif -%global use_gcc_strict_sanitize 0 - -%global flagrel %{nil} -%if 0%{?use_gcc_strict_sanitize} >= 1 -%global flagrel %{flagrel}.san -%endif - -%bcond_with adms - %undefine _changelog_trimtime Name: ngspice -Version: %{fedoraver} -Release: %{baserelease}%{?dist}%{flagrel} +Version: %{mainver} +Release: %{fedorarel}%{?dist} Summary: A mixed level/signal circuit simulator -# ngspice-42-manual.pdf CC-BY-SA-4.0 AND BSD-3-Clause -# Automatically converted from old format: BSD - review is highly recommended. -License: LicenseRef-Callaway-BSD +License: BSD URL: http://ngspice.sourceforge.net %if 0%{?userelease} >= 1 -Source0: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{majorver}%{?minorver:.%minorver}/ngspice-%{majorver}%{?minorver:.%minorver}.tar.gz +Source0: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{version}/ngspice-%{version}.tar.gz %endif %if 0%{?usegitbare} >= 1 Source0: ngspice-%{tarballdate}T%{tarballtime}.tar.gz %endif -Source1: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{majorver}/ngspice-%{docver}-manual.pdf -%if %{with adms} -Source2: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{majorver}/ngspice-adms-va.7z -%endif +Source1: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{version}/ngspice-%{docver}-manual.pdf +Source2: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{version}/ngspice-adms-va.7z Source10: create-ngspice-git-bare-tarball.sh @@ -76,14 +62,9 @@ Source10: create-ngspice-git-bare-tarball.sh # not (bug 1047056, debian bug 737279) Patch0: ngspice-37-blt-linkage-workaround.patch - BuildRequires: make BuildRequires: gcc BuildRequires: gcc-c++ -%if 0%{?use_gcc_strict_sanitize} -BuildRequires: libasan -BuildRequires: libubsan -%endif BuildRequires: p7zip BuildRequires: readline-devel @@ -108,10 +89,8 @@ BuildRequires: flex BuildRequires: ImageMagick BuildRequires: mot-adms -BuildRequires: xorg-x11-server-Xvfb BuildRequires: git -Requires: %{name}-codemodel%{?_isa} = %{version}-%{release} Obsoletes: ngspice-doc < 20-4.cvs20100619 Provides: ngspice-doc = %{version}-%{release} @@ -141,7 +120,7 @@ It can be used for VLSI simulations as well. %package -n tclspice Summary: Tcl/Tk interface for ngspice -BuildRequires: pkgconfig(tk) <= 8.999 +BuildRequires: tk-devel BuildRequires: blt-devel %description -n tclspice @@ -149,15 +128,8 @@ TclSpice is an improved version of Berkeley Spice designed to be used with the Tcl/Tk scripting language. The project is based upon the NG-Spice source code base with many improvements. -%package codemodel -Summary: ngspice codemodel and some script files - -%description codemodel -This package contains ngspice codemodel and some script files. - %package -n libngspice Summary: Shared library version of ngspice -Requires: %{name}-codemodel%{?_isa} = %{version}-%{release} %description -n libngspice This package contains shared library version of ngspice. @@ -173,25 +145,24 @@ developing applications that use libngspice. %prep %if 0%{?userelease} >= 1 -%setup -q -n %{name}-%{majorver}%{?minorver:.%minorver} +%setup -q git init git config user.name "%{name} maintainer" -git config user.email "%{name}-maintainers@fedoraproject.org" +git config user.email "%{name}-owner@fedoraproject.org" git add . git commit -m "base" -q -a %endif %if 0%{?usegitbare} >= 1 -%setup -q -c -n %{name}-%{majorver}%{?minorver:.%minorver}-%{gitdate}git%{shortcommit} -T -a 0 +%setup -q -c -T -a 0 git clone ./%{name}.git/ cd %{name} git config user.name "%{name} maintainer" -git config user.email "%{name}-maintainers@fedoraproject.org" +git config user.email "%{name}-owner@fedoraproject.org" -git checkout -b %{name}-%{majorver}-fedora %{gitcommit} +git checkout -b %{name}-%{version}-fedora %{gitcommit} %endif -%if %{with adms} pushd src/spicelib/devices/adms %if 0%{?userelease} >= 1 7za x %{SOURCE2} @@ -207,11 +178,9 @@ do test -f $f || exit 1 done %endif - popd -%endif -%patch -P0 -p2 -b .link +%patch0 -p2 -b .link git commit -m "Link libspice.so with -lBLT or -lBLIlite, depending on whether in tk mode or not" -a # make sure the examples are UTF-8... @@ -222,7 +191,7 @@ for nonUTF8 in \ ChangeLog \ %{nil} do - iconv -f ISO-8859-1 -t utf-8 $nonUTF8 > $nonUTF8.conv + %{_bindir}/iconv -f ISO-8859-1 -t utf-8 $nonUTF8 > $nonUTF8.conv %{__mv} -f $nonUTF8.conv $nonUTF8 done git commit -m "Change files to UTF8" -a @@ -235,14 +204,6 @@ find src/ -type f -name "*.l" -exec chmod -x {} ';' find src/ -type f -name "*.y" -exec chmod -x {} ';' git commit -m "Fix permission" -a || : -# Move spinit directory to arch-dependent -sed -i configure.ac -e '\@AC_DEFINE_UNQUOTED.*NGSPICEDATADIR@s|echo .dprefix/share/ngspice|echo %{_libdir}/ngspice|' -sed -i configure.ac -e '\@AC_DEFINE_UNQUOTED.*NGSPICELIBDIR@s|echo .dprefix/share/ngspice|echo %{_libdir}/ngspice|' -sed -i src/misc/ivars.c -e 's|\(["/]\)share/ngspice|\1%_lib/ngspice|' -sed -i src/misc/ivars.c -e 's|\(["/]\)lib/ngspice|\1%_lib/ngspice|' -grep -rl "(pkgdatadir)/" . | xargs sed -i -e 's|(pkgdatadir)/|(pkglibdir)/|' -git commit -m "move spinit directory to arch-dependent" -a - # Fix Tclspice's examples sed -i \ 's|load "../../../src/.libs/libspice.so"|lappend auto_path "%{_libdir}/tclspice"\npackage require spice|' \ @@ -251,7 +212,7 @@ sed -i \ 's|load ../../../src/.libs/libspice.so|lappend auto_path "%{_libdir}/tclspice"\npackage require spice|' \ examples/tclspice/*/*.{tcl,sh} sed -i \ - 's|spice::codemodel [\./][\./]*src/xspice/icm/spice2poly/|spice::codemodel %{_libdir}/tclspice/ngspice/|' \ + 's|spice::codemodel ../../src/xspice/icm/spice2poly|spice::codemodel %{_libdir}/tclspice/spice2poly|' \ examples/tclspice/tcl-testbench*/tcl-testbench*.sh git commit -m "Fix Tclspice's examples" -a @@ -262,31 +223,19 @@ sed -i \ git commit -m "Fix include path" -a export ACLOCAL_FLAGS=-Im4 -./autogen.sh \ -%if %{with adms} - --adms \ -%endif - %{nil} +./autogen.sh --adms git commit -m "Execute autogen" -a || : chmod +x configure %build -%set_build_flags -%if 0%{?use_gcc_strict_sanitize} -export CC="${CC} -fsanitize=address -fsanitize=undefined" -export CXX="${CXX} -fsanitize=address -fsanitize=undefined" - -export ASAN_OPTIONS=detect_leaks=0 -%endif - %if 0%{?usegitbare} >= 1 cd %{name} %endif # ---- Tclspice ---------------------------------------------------------------- # Adding BLT support -export CFLAGS="%{optflags} -I$(pkg-config --variable=includedir tcl)/blt" +export CFLAGS="%{optflags} -I%{_includedir}/blt" # Make builddir for tclspice %{__mkdir} -p tclspice @@ -294,9 +243,9 @@ export CFLAGS="%{optflags} -I$(pkg-config --variable=includedir tcl)/blt" # Configure tclspice cd tclspice -sed -i configure* \ - -e 's|\#define NGSPICEDATADIR "\`echo %{_libdir}/ngspice\`"|\#define NGSPICEDATADIR "\`echo %{_libdir}/tclspice/ngspice\`"|' -sed -i src/misc/ivars.c -e 's|/%_libdir/ngspice|/%_lib/tclspice/ngspice|' +sed -i \ + 's|\#define NGSPICEDATADIR "\`echo \$dprefix/share/ngspice\`"|\#define NGSPICEDATADIR "\`echo %{_libdir}/tclspice\`"|' \ + configure* # direct access to Tcl_Interp->result deprecated in tcl8.6, # remaining usage cannot be replaced by Tcl_SetResult @@ -310,12 +259,8 @@ export CPPFLAGS=-DUSE_INTERP_RESULT # by the request from the upstream %configure \ --disable-silent-rules \ -%if %{with adms} --enable-adms \ -%endif --enable-xspice \ - --enable-klu \ - --enable-osdi \ --enable-maintainer-mode \ --enable-dependency-tracking \ --enable-cider \ @@ -326,11 +271,11 @@ export CPPFLAGS=-DUSE_INTERP_RESULT --enable-predictor \ --enable-shared \ --with-readline=yes \ - --with-tcl=$(pkg-config --variable=libdir tcl) \ + --with-tcl=%{_libdir}/ \ --libdir=%{_libdir}/tclspice \ %{nil} -%make_build -k +%{__make} -k # Once install to the temp dir rm -rf $(pwd)/../INST-TCLSPICE %{__make} INSTALL="install -p" install DESTDIR=$(pwd)/../INST-TCLSPICE @@ -352,12 +297,8 @@ do %configure \ --disable-silent-rules \ ${SHARED_OPT} \ -%if %{with adms} --enable-adms \ -%endif --enable-xspice \ - --enable-osdi \ - --enable-klu \ --enable-maintainer-mode \ --enable-dependency-tracking \ --enable-cider \ @@ -372,7 +313,8 @@ do %{nil} %{__make} clean -%make_build -k +# No parallel make +%{__make} -k # Once install to the temp dir rm -rf $(pwd)/INST-NGSPICE-${opt} %{__make} INSTALL="install -p" install DESTDIR=$(pwd)/INST-NGSPICE-${opt} @@ -390,9 +332,9 @@ cd %{name} # Clean up unneeded / duplicate files also installed from ngspice pushd INST-TCLSPICE -rm -rf ./%{_libdir}/ngspice/include/ +rm -rf ./%{_datadir}/ngspice/include/ # see bug 1311869 -rm -f ./%{_libdir}/tclspice/ngspice/scripts/spinit +rm -f ./%{_datadir}/ngspice/scripts/spinit # binary differ # for --short-circuit if [ -f .%{_bindir}/cmpp ] ; then @@ -422,13 +364,13 @@ cp -a INST-TCLSPICE/* %{buildroot} # It seems that the below is not needed, compiled into binary already # (mtasaka, 20160628) %if 0 -cp -pr ./src/spicelib/devices/adms/ %{buildroot}%{_libdir}/%{name} +cp -pr ./src/spicelib/devices/adms/ %{buildroot}%{_datadir}/%{name} %endif # Ensuring that all docs are under %%{_pkgdocdir} mkdir -p %{buildroot}%{_pkgdocdir} cp -pr examples/ %{buildroot}%{_pkgdocdir} -install -cpm 0644 %{SOURCE1} %{buildroot}%{_pkgdocdir}/%{name}-%{majorver}.pdf +install -cpm 0644 %{SOURCE1} %{buildroot}%{_pkgdocdir}/%{name}-%{version}.pdf cp -a \ Stuarts_Poly_Notes \ @@ -449,8 +391,6 @@ chmod +x %{buildroot}%{_libdir}/ngspice/*.cm chmod +x %{buildroot}%{_libdir}/tclspice/ngspice/*.cm %check -export ASAN_OPTIONS=detect_leaks=0 - %if 0%{?usegitbare} >= 1 cd %{name} %endif @@ -463,33 +403,27 @@ mkdir USERPROFILE echo "set ngbehavior=mc" > USERPROFILE/spice.rc export USERPROFILE=$(pwd)/USERPROFILE -xvfb-run \ - -s "-screen 0 640x480x24" \ - make check +make check popd %files %{_bindir}/* -%{_libdir}/%{name}/ivlng.* +%{_datadir}/%{name}/ +%exclude %{_datadir}/%{name}/scripts/tclspinit +%{_libdir}/ngspice/ + %{_mandir}/man1/* +%exclude %{_pkgdocdir}/examples/tclspice %doc %{_pkgdocdir} %license COPYING %files -n tclspice %doc %{_pkgdocdir}/examples/tclspice -%dir %{_libdir}/tclspice/ -%dir %{_libdir}/tclspice/%{name} -%{_libdir}/tclspice/libspice*.so* -%{_libdir}/tclspice/%{name}/*.cm -%{_libdir}/tclspice/%{name}/*.tcl -%{_libdir}/tclspice/%{name}/ivlng.* -%{_libdir}/tclspice/%{name}/scripts/ - -%files codemodel -%dir %{_libdir}/%{name}/ -%{_libdir}/%{name}/*.cm -%{_libdir}/%{name}/scripts/ +%{_libdir}/tclspice/ +%dir %{_datadir}/ngspice +%dir %{_datadir}/%{name}/scripts/ +%{_datadir}/%{name}/scripts/tclspinit %files -n libngspice %{_libdir}/libngspice.so.0* @@ -500,81 +434,6 @@ popd %{_includedir}/ngspice/ %changelog -* Sun Sep 07 2025 Mamoru TASAKA - 45.2-1 -- Update to 45.2 - -* Tue Sep 02 2025 Mamoru TASAKA - 45-1 -- Update to 45 - -* Thu Jul 24 2025 Fedora Release Engineering - 44.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Jan 31 2025 Mamoru TASAKA - 44.2-3 -- Use tk8 explicitly - -* Fri Jan 17 2025 Fedora Release Engineering - 44.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sun Jan 12 2025 Mamoru TASAKA - 44.2-1 -- Update to 44.2 - -* Mon Dec 30 2024 Mamoru TASAKA - 44-1 -- Update to 44 - -* Mon Sep 2 2024 Miroslav Suchý - 43-4 -- convert license to SPDX - -* Thu Jul 18 2024 Fedora Release Engineering - 43-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jul 16 2024 Mamoru TASAKA - 43-2 -- Apply upstream patch for fixing one byte ahead access in string manipulation - -* Sun Jul 14 2024 Mamoru TASAKA - 43-1 -- Update to 43 - -* Thu Jan 25 2024 Fedora Release Engineering - 42-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Mamoru TASAKA - 42-2 -- Fix compilation with -Werror=incompatible-pointer-types - -* Fri Dec 29 2023 Mamoru TASAKA - 42-1 -- Update to 42 -- Kill --with-adms -- Enable --with-klu - -* Wed Aug 16 2023 Mamoru TASAKA - 41-1 -- Update to 41 - -* Thu Jul 20 2023 Fedora Release Engineering - 40-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Apr 1 2023 Mamoru TASAKA - 40-1 -- Update to 40 - -* Fri Feb 3 2023 Mamoru TASAKA - 39.3-1 -- Update to 39.3 - -* Wed Feb 1 2023 Mamoru TASAKA - 39.2-1 -- Update to 39.2 - -* Wed Feb 1 2023 Mamoru TASAKA - 39-1 -- Update to 39 - -* Thu Jan 19 2023 Fedora Release Engineering - 38-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Oct 29 2022 Mamoru TASAKA - 38-1 -- Update to 38 - -* Wed Oct 26 2022 Mamoru TASAKA - 37-2 -- Split out codemodel files, and make ngspice, libngspice require codemodel -- Move scripts to %%_libdir, they were arch-dependent actually - -* Fri Jul 22 2022 Fedora Release Engineering - 37-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - * Fri May 20 2022 Mamoru TASAKA - 37-1 - Update to 37 diff --git a/sources b/sources index a6f3db9..493ab2e 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -SHA512 (ngspice-45.2.tar.gz) = 4090e9433457c0b49dc1e7561bc630a5c6a340391f26be8142c6bd514ae13b72137589964fe9ae5a01069c9de7d8457bd41b0811a335b2c93a3c6e07044b35b1 -SHA512 (ngspice-45-manual.pdf) = 425d9320a01d409c7baab83d111f92643cae7df62a109e06d7e4fd366262441f4fdd62532db63fb4d4af4cb98e478b4f9fca5bd6c63fb89507dba685220f34ab +SHA512 (ngspice-37.tar.gz) = d49f7e78d3dd17ac8ea03d79dfbe8a9cf57c012395285cc0c0cf379e0c0c81f11cad68d5366dc2d2478959ed197e4d43380fbc15baf44f987f20ad00f1ee04ca +SHA512 (ngspice-adms-va.7z) = e0bab0a275ad781ee29d2ac982075079af1d9a2d0acc7f901783cb873e1a471b2aa62c08e51448ef2e4e57623ba2e4ae3549eb882e2c625c20b8141b8109b26a +SHA512 (ngspice-37-manual.pdf) = 24ffc0816d4dd5fe76f3e26a13b7b31ce2384d06a680ce7109293a32ddcf377d72990a08c21f295988090bffc3a8590adc022885a9b7f5a7887cc1c8da732d96