Update source to 20180531 upstream, plus patch refresh

Signed-off-by: Al Stone <ahs3@redhat.com>
This commit is contained in:
Al Stone 2018-06-21 17:03:16 -06:00
parent 9b2688b5a1
commit 91417ae923
6 changed files with 283 additions and 273 deletions

2
.gitignore vendored
View File

@ -93,3 +93,5 @@ series
/acpitests-unix-20180427.tar.gz /acpitests-unix-20180427.tar.gz
/acpica-unix2-20180508.tar.gz /acpica-unix2-20180508.tar.gz
/acpitests-unix-20180508.tar.gz /acpitests-unix-20180508.tar.gz
/acpica-unix2-20180531.tar.gz
/acpitests-unix-20180531.tar.gz

View File

@ -1,6 +1,6 @@
Name: acpica-tools Name: acpica-tools
Version: 20180508 Version: 20180531
Release: 2%{?dist} Release: 1%{?dist}
Summary: ACPICA tools for the development and debug of ACPI tables Summary: ACPICA tools for the development and debug of ACPI tables
Group: Development/Languages Group: Development/Languages
@ -229,6 +229,9 @@ fi
%changelog %changelog
* Thu Jun 21 2018 Al Stone <ahs3@redhat.com> - 20180531-1
- Update to 20180531 source tree, including patch refeshes. Closes BZ#1584923
* Tue May 22 2018 Al Stone <ahs3@redhat.com> - 20180508-2 * Tue May 22 2018 Al Stone <ahs3@redhat.com> - 20180508-2
- %%pre and %%post scriptlets fail -- stupid thinko where I inadvertently - %%pre and %%post scriptlets fail -- stupid thinko where I inadvertently
tested for alternatives not existing, vs existing tested for alternatives not existing, vs existing

File diff suppressed because it is too large Load Diff

View File

@ -130,11 +130,11 @@ Github-Location: https://github.com/acpica/acpica/pull/278/commits/4a0243ecb4c94
source/components/parser/psobject.c | 44 ++++++++++++++----------------------- source/components/parser/psobject.c | 44 ++++++++++++++-----------------------
1 file changed, 16 insertions(+), 28 deletions(-) 1 file changed, 16 insertions(+), 28 deletions(-)
Index: acpica-unix2-20180209/source/components/parser/psobject.c Index: acpica-unix2-20180531/source/components/parser/psobject.c
=================================================================== ===================================================================
--- acpica-unix2-20180209.orig/source/components/parser/psobject.c --- acpica-unix2-20180531.orig/source/components/parser/psobject.c
+++ acpica-unix2-20180209/source/components/parser/psobject.c +++ acpica-unix2-20180531/source/components/parser/psobject.c
@@ -680,7 +680,8 @@ AcpiPsCompleteFinalOp ( @@ -709,7 +709,8 @@ AcpiPsCompleteFinalOp (
ACPI_PARSE_OBJECT *Op, ACPI_PARSE_OBJECT *Op,
ACPI_STATUS Status) ACPI_STATUS Status)
{ {
@ -144,7 +144,7 @@ Index: acpica-unix2-20180209/source/components/parser/psobject.c
ACPI_FUNCTION_TRACE_PTR (PsCompleteFinalOp, WalkState); ACPI_FUNCTION_TRACE_PTR (PsCompleteFinalOp, WalkState);
@@ -697,7 +698,7 @@ AcpiPsCompleteFinalOp ( @@ -726,7 +727,7 @@ AcpiPsCompleteFinalOp (
{ {
if (Op) if (Op)
{ {
@ -153,7 +153,7 @@ Index: acpica-unix2-20180209/source/components/parser/psobject.c
{ {
WalkState->Op = Op; WalkState->Op = Op;
WalkState->OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode); WalkState->OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode);
@@ -716,41 +717,28 @@ AcpiPsCompleteFinalOp ( @@ -745,41 +746,28 @@ AcpiPsCompleteFinalOp (
if (Status == AE_CTRL_TERMINATE) if (Status == AE_CTRL_TERMINATE)
{ {
@ -207,7 +207,7 @@ Index: acpica-unix2-20180209/source/components/parser/psobject.c
} }
} }
@@ -759,5 +747,5 @@ AcpiPsCompleteFinalOp ( @@ -788,5 +776,5 @@ AcpiPsCompleteFinalOp (
} while (Op); } while (Op);

View File

@ -24,10 +24,10 @@ From: Al Stone <ahs3@redhat.com>
source/tools/acpiexec/aemain.c | 2 +- source/tools/acpiexec/aemain.c | 2 +-
18 files changed, 28 insertions(+), 28 deletions(-) 18 files changed, 28 insertions(+), 28 deletions(-)
Index: acpica-unix2-20180313/source/compiler/aslcompile.c Index: acpica-unix2-20180531/source/compiler/aslcompile.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/compiler/aslcompile.c --- acpica-unix2-20180531.orig/source/compiler/aslcompile.c
+++ acpica-unix2-20180313/source/compiler/aslcompile.c +++ acpica-unix2-20180531/source/compiler/aslcompile.c
@@ -750,7 +750,7 @@ CmCleanupAndExit ( @@ -750,7 +750,7 @@ CmCleanupAndExit (
if (Gbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT) if (Gbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT)
@ -37,10 +37,10 @@ Index: acpica-unix2-20180313/source/compiler/aslcompile.c
ASL_MAX_ERROR_COUNT); ASL_MAX_ERROR_COUNT);
} }
Index: acpica-unix2-20180313/source/compiler/aslerror.c Index: acpica-unix2-20180531/source/compiler/aslerror.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/compiler/aslerror.c --- acpica-unix2-20180531.orig/source/compiler/aslerror.c
+++ acpica-unix2-20180313/source/compiler/aslerror.c +++ acpica-unix2-20180531/source/compiler/aslerror.c
@@ -880,7 +880,7 @@ AslLogNewError ( @@ -880,7 +880,7 @@ AslLogNewError (
Gbl_ExceptionCount[Level]++; Gbl_ExceptionCount[Level]++;
if (Gbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT) if (Gbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT)
@ -59,10 +59,10 @@ Index: acpica-unix2-20180313/source/compiler/aslerror.c
ASL_MAX_DISABLED_MESSAGES); ASL_MAX_DISABLED_MESSAGES);
return (AE_LIMIT); return (AE_LIMIT);
} }
Index: acpica-unix2-20180313/source/compiler/aslopt.c Index: acpica-unix2-20180531/source/compiler/aslopt.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/compiler/aslopt.c --- acpica-unix2-20180531.orig/source/compiler/aslopt.c
+++ acpica-unix2-20180313/source/compiler/aslopt.c +++ acpica-unix2-20180531/source/compiler/aslopt.c
@@ -584,7 +584,7 @@ OptOptimizeNamePath ( @@ -584,7 +584,7 @@ OptOptimizeNamePath (
} }
@ -72,10 +72,10 @@ Index: acpica-unix2-20180313/source/compiler/aslopt.c
Op->Asl.LogicalLineNumber, Op->Asl.LogicalLineNumber,
AcpiPsGetOpcodeName (Op->Common.Parent->Common.AmlOpcode), AcpiPsGetOpcodeName (Op->Common.Parent->Common.AmlOpcode),
AcpiPsGetOpcodeName (Op->Common.AmlOpcode))); AcpiPsGetOpcodeName (Op->Common.AmlOpcode)));
Index: acpica-unix2-20180313/source/compiler/aslpredef.c Index: acpica-unix2-20180531/source/compiler/aslpredef.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/compiler/aslpredef.c --- acpica-unix2-20180531.orig/source/compiler/aslpredef.c
+++ acpica-unix2-20180313/source/compiler/aslpredef.c +++ acpica-unix2-20180531/source/compiler/aslpredef.c
@@ -114,7 +114,7 @@ ApCheckForPredefinedMethod ( @@ -114,7 +114,7 @@ ApCheckForPredefinedMethod (
if (MethodInfo->NumArguments != 0) if (MethodInfo->NumArguments != 0)
@ -85,10 +85,10 @@ Index: acpica-unix2-20180313/source/compiler/aslpredef.c
AslError (ASL_WARNING, ASL_MSG_RESERVED_ARG_COUNT_HI, Op, AslError (ASL_WARNING, ASL_MSG_RESERVED_ARG_COUNT_HI, Op,
MsgBuffer); MsgBuffer);
Index: acpica-unix2-20180313/source/compiler/aslprepkg.c Index: acpica-unix2-20180531/source/compiler/aslprepkg.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/compiler/aslprepkg.c --- acpica-unix2-20180531.orig/source/compiler/aslprepkg.c
+++ acpica-unix2-20180313/source/compiler/aslprepkg.c +++ acpica-unix2-20180531/source/compiler/aslprepkg.c
@@ -309,7 +309,7 @@ ApCheckPackage ( @@ -309,7 +309,7 @@ ApCheckPackage (
if (Count & 1) if (Count & 1)
@ -98,10 +98,10 @@ Index: acpica-unix2-20180313/source/compiler/aslprepkg.c
Predefined->Info.Name, Count); Predefined->Info.Name, Count);
AslError (ASL_ERROR, ASL_MSG_RESERVED_PACKAGE_LENGTH, AslError (ASL_ERROR, ASL_MSG_RESERVED_PACKAGE_LENGTH,
Index: acpica-unix2-20180313/source/components/debugger/dbexec.c Index: acpica-unix2-20180531/source/components/debugger/dbexec.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/debugger/dbexec.c --- acpica-unix2-20180531.orig/source/components/debugger/dbexec.c
+++ acpica-unix2-20180313/source/components/debugger/dbexec.c +++ acpica-unix2-20180531/source/components/debugger/dbexec.c
@@ -230,7 +230,7 @@ AcpiDbExecuteMethod ( @@ -230,7 +230,7 @@ AcpiDbExecuteMethod (
ACPI_ERROR ((AE_INFO, ACPI_ERROR ((AE_INFO,
"Possible overflow of internal debugger " "Possible overflow of internal debugger "
@ -111,10 +111,10 @@ Index: acpica-unix2-20180313/source/components/debugger/dbexec.c
} }
} }
Index: acpica-unix2-20180313/source/components/dispatcher/dsmthdat.c Index: acpica-unix2-20180531/source/components/dispatcher/dsmthdat.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/dispatcher/dsmthdat.c --- acpica-unix2-20180531.orig/source/components/dispatcher/dsmthdat.c
+++ acpica-unix2-20180313/source/components/dispatcher/dsmthdat.c +++ acpica-unix2-20180531/source/components/dispatcher/dsmthdat.c
@@ -291,7 +291,7 @@ AcpiDsMethodDataGetNode ( @@ -291,7 +291,7 @@ AcpiDsMethodDataGetNode (
if (Index > ACPI_METHOD_MAX_LOCAL) if (Index > ACPI_METHOD_MAX_LOCAL)
{ {
@ -133,10 +133,10 @@ Index: acpica-unix2-20180313/source/components/dispatcher/dsmthdat.c
Index, ACPI_METHOD_MAX_ARG)); Index, ACPI_METHOD_MAX_ARG));
return_ACPI_STATUS (AE_AML_INVALID_INDEX); return_ACPI_STATUS (AE_AML_INVALID_INDEX);
} }
Index: acpica-unix2-20180313/source/components/dispatcher/dsutils.c Index: acpica-unix2-20180531/source/components/dispatcher/dsutils.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/dispatcher/dsutils.c --- acpica-unix2-20180531.orig/source/components/dispatcher/dsutils.c
+++ acpica-unix2-20180313/source/components/dispatcher/dsutils.c +++ acpica-unix2-20180531/source/components/dispatcher/dsutils.c
@@ -788,7 +788,7 @@ AcpiDsCreateOperands ( @@ -788,7 +788,7 @@ AcpiDsCreateOperands (
} }
@ -146,10 +146,10 @@ Index: acpica-unix2-20180313/source/components/dispatcher/dsutils.c
WalkState->NumOperands, ArgCount, Index)); WalkState->NumOperands, ArgCount, Index));
/* Create the interpreter arguments, in reverse order */ /* Create the interpreter arguments, in reverse order */
Index: acpica-unix2-20180313/source/components/dispatcher/dswscope.c Index: acpica-unix2-20180531/source/components/dispatcher/dswscope.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/dispatcher/dswscope.c --- acpica-unix2-20180531.orig/source/components/dispatcher/dswscope.c
+++ acpica-unix2-20180313/source/components/dispatcher/dswscope.c +++ acpica-unix2-20180531/source/components/dispatcher/dswscope.c
@@ -149,7 +149,7 @@ AcpiDsScopeStackPush ( @@ -149,7 +149,7 @@ AcpiDsScopeStackPush (
WalkState->ScopeDepth++; WalkState->ScopeDepth++;
@ -159,7 +159,7 @@ Index: acpica-unix2-20180313/source/components/dispatcher/dswscope.c
OldScopeInfo = WalkState->ScopeInfo; OldScopeInfo = WalkState->ScopeInfo;
if (OldScopeInfo) if (OldScopeInfo)
@@ -212,7 +212,7 @@ AcpiDsScopeStackPop ( @@ -211,7 +211,7 @@ AcpiDsScopeStackPop (
WalkState->ScopeDepth--; WalkState->ScopeDepth--;
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
@ -168,10 +168,10 @@ Index: acpica-unix2-20180313/source/components/dispatcher/dswscope.c
(UINT32) WalkState->ScopeDepth, (UINT32) WalkState->ScopeDepth,
AcpiUtGetNodeName (ScopeInfo->Scope.Node), AcpiUtGetNodeName (ScopeInfo->Scope.Node),
AcpiUtGetTypeName (ScopeInfo->Common.Value))); AcpiUtGetTypeName (ScopeInfo->Common.Value)));
Index: acpica-unix2-20180313/source/components/events/evgpe.c Index: acpica-unix2-20180531/source/components/events/evgpe.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/events/evgpe.c --- acpica-unix2-20180531.orig/source/components/events/evgpe.c
+++ acpica-unix2-20180313/source/components/events/evgpe.c +++ acpica-unix2-20180531/source/components/events/evgpe.c
@@ -481,7 +481,7 @@ AcpiEvGpeDetect ( @@ -481,7 +481,7 @@ AcpiEvGpeDetect (
"Ignore disabled registers for GPE %02X-%02X: " "Ignore disabled registers for GPE %02X-%02X: "
"RunEnable=%02X, WakeEnable=%02X\n", "RunEnable=%02X, WakeEnable=%02X\n",
@ -181,10 +181,10 @@ Index: acpica-unix2-20180313/source/components/events/evgpe.c
GpeRegisterInfo->EnableForRun, GpeRegisterInfo->EnableForRun,
GpeRegisterInfo->EnableForWake)); GpeRegisterInfo->EnableForWake));
continue; continue;
Index: acpica-unix2-20180313/source/components/executer/exdump.c Index: acpica-unix2-20180531/source/components/executer/exdump.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/executer/exdump.c --- acpica-unix2-20180531.orig/source/components/executer/exdump.c
+++ acpica-unix2-20180313/source/components/executer/exdump.c +++ acpica-unix2-20180531/source/components/executer/exdump.c
@@ -678,7 +678,7 @@ AcpiExDumpOperand ( @@ -678,7 +678,7 @@ AcpiExDumpOperand (
if (Depth > 0) if (Depth > 0)
{ {
@ -194,10 +194,10 @@ Index: acpica-unix2-20180313/source/components/executer/exdump.c
} }
else else
{ {
Index: acpica-unix2-20180313/source/components/executer/exfldio.c Index: acpica-unix2-20180531/source/components/executer/exfldio.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/executer/exfldio.c --- acpica-unix2-20180531.orig/source/components/executer/exfldio.c
+++ acpica-unix2-20180313/source/components/executer/exfldio.c +++ acpica-unix2-20180531/source/components/executer/exfldio.c
@@ -681,8 +681,8 @@ AcpiExWriteWithUpdateRule ( @@ -681,8 +681,8 @@ AcpiExWriteWithUpdateRule (
ACPI_ERROR ((AE_INFO, ACPI_ERROR ((AE_INFO,
@ -209,10 +209,10 @@ Index: acpica-unix2-20180313/source/components/executer/exfldio.c
return_ACPI_STATUS (AE_AML_OPERAND_VALUE); return_ACPI_STATUS (AE_AML_OPERAND_VALUE);
} }
} }
Index: acpica-unix2-20180313/source/components/executer/exnames.c Index: acpica-unix2-20180531/source/components/executer/exnames.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/executer/exnames.c --- acpica-unix2-20180531.orig/source/components/executer/exnames.c
+++ acpica-unix2-20180313/source/components/executer/exnames.c +++ acpica-unix2-20180531/source/components/executer/exnames.c
@@ -237,7 +237,7 @@ AcpiExNameSegment ( @@ -237,7 +237,7 @@ AcpiExNameSegment (
*/ */
ACPI_DEBUG_PRINT ((ACPI_DB_INFO, ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
@ -231,10 +231,10 @@ Index: acpica-unix2-20180313/source/components/executer/exnames.c
} }
*InAmlAddress = ACPI_CAST_PTR (UINT8, AmlAddress); *InAmlAddress = ACPI_CAST_PTR (UINT8, AmlAddress);
Index: acpica-unix2-20180313/source/components/hardware/hwregs.c Index: acpica-unix2-20180531/source/components/hardware/hwregs.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/hardware/hwregs.c --- acpica-unix2-20180531.orig/source/components/hardware/hwregs.c
+++ acpica-unix2-20180313/source/components/hardware/hwregs.c +++ acpica-unix2-20180531/source/components/hardware/hwregs.c
@@ -460,7 +460,7 @@ AcpiHwClearAcpiStatus ( @@ -460,7 +460,7 @@ AcpiHwClearAcpiStatus (
@ -244,10 +244,10 @@ Index: acpica-unix2-20180313/source/components/hardware/hwregs.c
ACPI_FORMAT_UINT64 (AcpiGbl_XPm1aStatus.Address))); ACPI_FORMAT_UINT64 (AcpiGbl_XPm1aStatus.Address)));
LockFlags = AcpiOsAcquireLock (AcpiGbl_HardwareLock); LockFlags = AcpiOsAcquireLock (AcpiGbl_HardwareLock);
Index: acpica-unix2-20180313/source/components/tables/tbfadt.c Index: acpica-unix2-20180531/source/components/tables/tbfadt.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/tables/tbfadt.c --- acpica-unix2-20180531.orig/source/components/tables/tbfadt.c
+++ acpica-unix2-20180313/source/components/tables/tbfadt.c +++ acpica-unix2-20180531/source/components/tables/tbfadt.c
@@ -233,7 +233,7 @@ AcpiTbInitGenericAddress ( @@ -233,7 +233,7 @@ AcpiTbInitGenericAddress (
if (!(Flags & ACPI_FADT_GPE_REGISTER)) if (!(Flags & ACPI_FADT_GPE_REGISTER))
{ {
@ -275,10 +275,10 @@ Index: acpica-unix2-20180313/source/components/tables/tbfadt.c
Name, Address32, Name, Address32,
ACPI_FORMAT_UINT64 (Address64->Address), ACPI_FORMAT_UINT64 (Address64->Address),
AcpiGbl_Use32BitFadtAddresses ? 32 : 64)); AcpiGbl_Use32BitFadtAddresses ? 32 : 64));
Index: acpica-unix2-20180313/source/components/tables/tbxfroot.c Index: acpica-unix2-20180531/source/components/tables/tbxfroot.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/tables/tbxfroot.c --- acpica-unix2-20180531.orig/source/components/tables/tbxfroot.c
+++ acpica-unix2-20180313/source/components/tables/tbxfroot.c +++ acpica-unix2-20180531/source/components/tables/tbxfroot.c
@@ -177,7 +177,7 @@ AcpiFindRootPointer ( @@ -177,7 +177,7 @@ AcpiFindRootPointer (
{ {
ACPI_ERROR ((AE_INFO, ACPI_ERROR ((AE_INFO,
@ -306,10 +306,10 @@ Index: acpica-unix2-20180313/source/components/tables/tbxfroot.c
return_ACPI_STATUS (AE_NO_MEMORY); return_ACPI_STATUS (AE_NO_MEMORY);
} }
Index: acpica-unix2-20180313/source/components/utilities/utownerid.c Index: acpica-unix2-20180531/source/components/utilities/utownerid.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/components/utilities/utownerid.c --- acpica-unix2-20180531.orig/source/components/utilities/utownerid.c
+++ acpica-unix2-20180313/source/components/utilities/utownerid.c +++ acpica-unix2-20180531/source/components/utilities/utownerid.c
@@ -237,7 +237,7 @@ AcpiUtReleaseOwnerId ( @@ -237,7 +237,7 @@ AcpiUtReleaseOwnerId (
else else
{ {
@ -319,11 +319,11 @@ Index: acpica-unix2-20180313/source/components/utilities/utownerid.c
} }
(void) AcpiUtReleaseMutex (ACPI_MTX_CACHES); (void) AcpiUtReleaseMutex (ACPI_MTX_CACHES);
Index: acpica-unix2-20180313/source/tools/acpiexec/aemain.c Index: acpica-unix2-20180531/source/tools/acpiexec/aemain.c
=================================================================== ===================================================================
--- acpica-unix2-20180313.orig/source/tools/acpiexec/aemain.c --- acpica-unix2-20180531.orig/source/tools/acpiexec/aemain.c
+++ acpica-unix2-20180313/source/tools/acpiexec/aemain.c +++ acpica-unix2-20180531/source/tools/acpiexec/aemain.c
@@ -205,7 +205,7 @@ AeDoOptions ( @@ -209,7 +209,7 @@ AeDoOptions (
if (strlen (AcpiGbl_Optarg) > (AE_BUFFER_SIZE -1)) if (strlen (AcpiGbl_Optarg) > (AE_BUFFER_SIZE -1))
{ {

View File

@ -1,2 +1,2 @@
SHA512 (acpica-unix2-20180508.tar.gz) = 5f54e3cbcaed256ca046eb02e3825c4d3384d134d87cefeb2de86d3a4529a6cf6202fca225a4fdd49fa993f936aa6373dfb0618baae213227a0c0738bb5191f5 SHA512 (acpica-unix2-20180531.tar.gz) = e56ec1df83462597c36a3bc0352dc5c09e4e060384aa120da0132c006f6af74b8f5dc894a24314645da40cc06b3b656fa5182d6704a1427bbf0aded13e2740a8
SHA512 (acpitests-unix-20180508.tar.gz) = 72c848b668dcbafdd281781c9dc405103e33ff3ad14c3f5a9726138d4b0b923686184dd1a75f1ac95003a6b3bff89acac66a93f43f88301a2d237b5152468166 SHA512 (acpitests-unix-20180531.tar.gz) = b24d481752f7d48a8c9046604da9b6bd157f03187966fd50b833248467032b138b60169c1b29b724a784ce5a66f327dba104a35fc442a8d7366a89ff12444cb7