Skip to content

Commit

Permalink
Replace EULA printing custom action with MsiPrint.
Browse files Browse the repository at this point in the history
  • Loading branch information
barnson committed Aug 26, 2024
1 parent 1011c56 commit e34f4e6
Show file tree
Hide file tree
Showing 16 changed files with 42 additions and 626 deletions.
556 changes: 0 additions & 556 deletions src/ext/UI/ca/PrintEula.cpp

This file was deleted.

1 change: 0 additions & 1 deletion src/ext/UI/ca/uica.def
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@
LIBRARY "uica"

EXPORTS
PrintEula
ValidatePath
1 change: 0 additions & 1 deletion src/ext/UI/ca/uica.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="DriveCheck.cpp" />
<ClCompile Include="PrintEula.cpp" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
<?foreach WIXUIARCH in X86;X64;A64 ?>
<Fragment>
<UI Id="InstallDir_SpecialDlg_$(WIXUIARCH)">
<Publish Dialog="LicenseAgreementDlg" Control="Print" Event="DoAction" Value="WixUIPrintEula_$(WIXUIARCH)" />
<Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath_$(WIXUIARCH)" Order="3" Condition="NOT WIXUI_DONTVALIDATEPATH" />
<Publish Dialog="InstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath_$(WIXUIARCH)" Order="2" Condition="NOT WIXUI_DONTVALIDATEPATH" />
</UI>
Expand Down
38 changes: 7 additions & 31 deletions src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,17 @@ public void CanBuildUsingWixUIAdvanced()
"CustomAction:WixSetDefaultPerUserFolder\t51\tWixPerUserFolder\t[LocalAppDataFolder]Apps\\[ApplicationFolderName]\t",
"CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t",
"CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t",
"CustomAction:WixUIPrintEula_X86\t65\tWixUiCa_X86\tPrintEula\t",
"CustomAction:WixUIValidatePath_X86\t65\tWixUiCa_X86\tValidatePath\t",
}, results.Where(r => r.StartsWith("CustomAction:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"ControlEvent:AdvancedWelcomeEulaDlg\tPrint\tDoAction\tWixUIPrintEula_X86\t1\t1",
"ControlEvent:BrowseDlg\tOK\tDoAction\tWixUIValidatePath_X86\tNOT WIXUI_DONTVALIDATEPATH\t1",
"ControlEvent:InstallDirDlg\tNext\tDoAction\tWixUIValidatePath_X86\tNOT WIXUI_DONTVALIDATEPATH\t2",
}, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"InstallUISequence:AdvancedWelcomeEulaDlg\tNOT Installed\t1296",
"InstallUISequence:WelcomeDlg\tInstalled AND PATCH\t1295",
"InstallUISequence:AdvancedWelcomeEulaDlg\tNOT Installed\t1297",
"InstallUISequence:WelcomeDlg\tInstalled AND PATCH\t1296",
}, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray());
}

Expand Down Expand Up @@ -78,12 +76,10 @@ public void CanBuildUsingWixUIAdvancedX64()
"CustomAction:WixSetDefaultPerUserFolder\t51\tWixPerUserFolder\t[LocalAppDataFolder]Apps\\[ApplicationFolderName]\t",
"CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t",
"CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t",
"CustomAction:WixUIPrintEula_X64\t65\tWixUiCa_X64\tPrintEula\t",
"CustomAction:WixUIValidatePath_X64\t65\tWixUiCa_X64\tValidatePath\t",
}, results.Where(r => r.StartsWith("CustomAction:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"ControlEvent:AdvancedWelcomeEulaDlg\tPrint\tDoAction\tWixUIPrintEula_X64\t1\t1",
"ControlEvent:BrowseDlg\tOK\tDoAction\tWixUIValidatePath_X64\tNOT WIXUI_DONTVALIDATEPATH\t1",
"ControlEvent:InstallDirDlg\tNext\tDoAction\tWixUIValidatePath_X64\tNOT WIXUI_DONTVALIDATEPATH\t2",
}, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray());
Expand Down Expand Up @@ -114,12 +110,10 @@ public void CanBuildUsingWixUIAdvancedARM64()
"CustomAction:WixSetDefaultPerUserFolder\t51\tWixPerUserFolder\t[LocalAppDataFolder]Apps\\[ApplicationFolderName]\t",
"CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t",
"CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t",
"CustomAction:WixUIPrintEula_A64\t65\tWixUiCa_A64\tPrintEula\t",
"CustomAction:WixUIValidatePath_A64\t65\tWixUiCa_A64\tValidatePath\t",
}, results.Where(r => r.StartsWith("CustomAction:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"ControlEvent:AdvancedWelcomeEulaDlg\tPrint\tDoAction\tWixUIPrintEula_A64\t1\t1",
"ControlEvent:BrowseDlg\tOK\tDoAction\tWixUIValidatePath_A64\tNOT WIXUI_DONTVALIDATEPATH\t1",
"ControlEvent:InstallDirDlg\tNext\tDoAction\tWixUIValidatePath_A64\tNOT WIXUI_DONTVALIDATEPATH\t2",
}, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray());
Expand All @@ -144,17 +138,12 @@ public void CanBuildUsingWixUIFeatureTree()
"Binary:WixUI_Bmp_Up\t[Binary data]",
"Binary:WixUI_Ico_Exclam\t[Binary data]",
"Binary:WixUI_Ico_Info\t[Binary data]",
"Binary:WixUiCa_X64\t[Binary data]",
}, results.Where(r => r.StartsWith("Binary:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"CustomAction:SetWIXUI_EXITDIALOGOPTIONALTEXT\t51\tWIXUI_EXITDIALOGOPTIONALTEXT\tThank you for installing [ProductName].\t",
"CustomAction:WixUIPrintEula_X64\t65\tWixUiCa_X64\tPrintEula\t",
}, results.Where(r => r.StartsWith("CustomAction:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"ControlEvent:LicenseAgreementDlg\tPrint\tDoAction\tWixUIPrintEula_X64\t1\t1",
}, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray());
Assert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")));
WixAssert.CompareLineByLine(new[]
{
"InstallUISequence:WelcomeDlg\tNOT Installed OR PATCH\t1297",
Expand Down Expand Up @@ -183,7 +172,6 @@ public void CanBuildWithWixUIInstallDirWithCustomizedEula()
}, results.Where(r => r.StartsWith("Binary:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"CustomAction:WixUIPrintEula_X86\t65\tWixUiCa_X86\tPrintEula\t",
"CustomAction:WixUIValidatePath_X86\t65\tWixUiCa_X86\tValidatePath\t",
}, results.Where(r => r.StartsWith("CustomAction:")).ToArray());
WixAssert.CompareLineByLine(new[]
Expand All @@ -194,7 +182,6 @@ public void CanBuildWithWixUIInstallDirWithCustomizedEula()
{
"ControlEvent:BrowseDlg\tOK\tDoAction\tWixUIValidatePath_X86\tNOT WIXUI_DONTVALIDATEPATH\t3",
"ControlEvent:InstallDirDlg\tNext\tDoAction\tWixUIValidatePath_X86\tNOT WIXUI_DONTVALIDATEPATH\t2",
"ControlEvent:LicenseAgreementDlg\tPrint\tDoAction\tWixUIPrintEula_X86\t1\t1",
}, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).OrderBy(s => s).ToArray());
WixAssert.CompareLineByLine(new[]
{
Expand All @@ -219,20 +206,13 @@ public void CanBuildUsingWixUIMinimal()
"Binary:WixUI_Bmp_Up\t[Binary data]",
"Binary:WixUI_Ico_Exclam\t[Binary data]",
"Binary:WixUI_Ico_Info\t[Binary data]",
"Binary:WixUiCa_X86\t[Binary data]",
}, results.Where(r => r.StartsWith("Binary:")).ToArray());
Assert.Empty(results.Where(r => r.StartsWith("CustomAction:")));
Assert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")));
WixAssert.CompareLineByLine(new[]
{
"CustomAction:WixUIPrintEula_X86\t65\tWixUiCa_X86\tPrintEula\t",
}, results.Where(r => r.StartsWith("CustomAction:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"ControlEvent:WelcomeEulaDlg\tPrint\tDoAction\tWixUIPrintEula_X86\t1\t1",
}, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).OrderBy(s => s).ToArray());
WixAssert.CompareLineByLine(new[]
{
"InstallUISequence:WelcomeDlg\tInstalled AND PATCH\t1295",
"InstallUISequence:WelcomeEulaDlg\tNOT Installed\t1296",
"InstallUISequence:WelcomeDlg\tInstalled AND PATCH\t1296",
"InstallUISequence:WelcomeEulaDlg\tNOT Installed\t1297",
}, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray());
}

Expand Down Expand Up @@ -297,13 +277,11 @@ public void CanBuildUsingWixUIMondo()
}, results.Where(r => r.StartsWith("Binary:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"CustomAction:WixUIPrintEula_X86\t65\tWixUiCa_X86\tPrintEula\t",
"CustomAction:WixUIValidatePath_X86\t65\tWixUiCa_X86\tValidatePath\t",
}, results.Where(r => r.StartsWith("CustomAction:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"ControlEvent:BrowseDlg\tOK\tDoAction\tWixUIValidatePath_X86\tNOT WIXUI_DONTVALIDATEPATH\t3",
"ControlEvent:LicenseAgreementDlg\tPrint\tDoAction\tWixUIPrintEula_X86\t1\t1",
}, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray());
WixAssert.CompareLineByLine(new[]
{
Expand Down Expand Up @@ -387,7 +365,6 @@ public void CanBuildWithInstallDirAndAddedDialog()
}, results.Where(r => r.StartsWith("Binary:")).ToArray());
WixAssert.CompareLineByLine(new[]
{
"CustomAction:WixUIPrintEula_X64\t65\tWixUiCa_X64\tPrintEula\t",
"CustomAction:WixUIValidatePath_X64\t65\tWixUiCa_X64\tValidatePath\t",
}, results.Where(r => r.StartsWith("CustomAction:")).ToArray());
WixAssert.CompareLineByLine(new[]
Expand All @@ -398,7 +375,6 @@ public void CanBuildWithInstallDirAndAddedDialog()
{
"ControlEvent:BrowseDlg\tOK\tDoAction\tWixUIValidatePath_X64\tNOT WIXUI_DONTVALIDATEPATH\t3",
"ControlEvent:InstallDirDlg\tNext\tDoAction\tWixUIValidatePath_X64\tNOT WIXUI_DONTVALIDATEPATH\t2",
"ControlEvent:LicenseAgreementDlg\tPrint\tDoAction\tWixUIPrintEula_X64\t1\t1",
}, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).OrderBy(s => s).ToArray());
WixAssert.CompareLineByLine(new[]
{
Expand Down
4 changes: 3 additions & 1 deletion src/ext/UI/wixlib/AdvancedWelcomeEulaDlg.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@
<Control Id="DescriptionPerMachine" Type="Text" X="20" Y="202" Width="330" Height="31" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.AdvancedWelcomeEulaDlgDescriptionPerMachine)" ShowCondition="ALLUSERS" />
<Control Id="DescriptionPerUser" Type="Text" X="20" Y="202" Width="330" Height="31" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.AdvancedWelcomeEulaDlgDescriptionPerUser)" ShowCondition="NOT ALLUSERS" />
<Control Id="LicenseAcceptedCheckBox" Type="CheckBox" X="20" Y="180" Width="226" Height="18" CheckBoxValue="1" Property="LicenseAccepted" Text="!(loc.WelcomeEulaDlgLicenseAcceptedCheckBox)" />
<Control Id="Print" Type="PushButton" X="88" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)" />
<Control Id="Print" Type="PushButton" X="88" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)">
<Publish Event="MsiPrint" Value="1" />
</Control>
<Control Id="Advanced" Type="PushButton" X="156" Y="243" Width="56" Height="17" Text="!(loc.AdvancedWelcomeEulaDlgAdvanced)" DisableCondition="LicenseAccepted &lt;&gt; &quot;1&quot;" EnableCondition="LicenseAccepted = &quot;1&quot;" />
<Control Id="Install" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Default="yes" Text="!(loc.AdvancedWelcomeEulaDlgInstall)" Hidden="yes" DisableCondition="LicenseAccepted &lt;&gt; &quot;1&quot;" EnableCondition="LicenseAccepted = &quot;1&quot;" ShowCondition="ALLUSERS">
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg" Condition="!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1" />
Expand Down
4 changes: 0 additions & 4 deletions src/ext/UI/wixlib/Common_Platform.wxi
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@
<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
<?include ..\..\caDecor.wxi ?>

<Fragment>
<CustomAction Id="WixUIPrintEula$(Suffix)" BinaryRef="WixUiCa$(Suffix)" DllEntry="PrintEula" Return="ignore" Execute="immediate" />
</Fragment>

<Fragment>
<CustomAction Id="WixUIValidatePath$(Suffix)" BinaryRef="WixUiCa$(Suffix)" DllEntry="ValidatePath" Return="ignore" Execute="immediate" />
</Fragment>
Expand Down
4 changes: 3 additions & 1 deletion src/ext/UI/wixlib/LicenseAgreementDlg.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@
<Control Id="Description" Type="Text" X="25" Y="23" Width="340" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.LicenseAgreementDlgDescription)" />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.LicenseAgreementDlgTitle)" />
<Control Id="LicenseAcceptedCheckBox" Type="CheckBox" X="20" Y="207" Width="330" Height="18" CheckBoxValue="1" Property="LicenseAccepted" Text="!(loc.LicenseAgreementDlgLicenseAcceptedCheckBox)" />
<Control Id="Print" Type="PushButton" X="112" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)" />
<Control Id="Print" Type="PushButton" X="112" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)">
<Publish Event="MsiPrint" Value="1" />
</Control>
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" DisableCondition="LicenseAccepted &lt;&gt; &quot;1&quot;" EnableCondition="LicenseAccepted = &quot;1&quot;">
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg" Condition="!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1" />
Expand Down
4 changes: 3 additions & 1 deletion src/ext/UI/wixlib/WelcomeEulaDlg.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
<Control Id="Title" Type="Text" X="130" Y="6" Width="225" Height="30" Transparent="yes" NoPrefix="yes" Text="!(loc.WelcomeEulaDlgTitle)" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="LicenseAcceptedCheckBox" Type="CheckBox" X="130" Y="207" Width="226" Height="18" CheckBoxValue="1" Property="LicenseAccepted" Text="!(loc.WelcomeEulaDlgLicenseAcceptedCheckBox)" />
<Control Id="Print" Type="PushButton" X="88" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)" />
<Control Id="Print" Type="PushButton" X="88" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)">
<Publish Event="MsiPrint" Value="1" />
</Control>
<Control Id="Back" Type="PushButton" X="156" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
<Control Id="Install" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Default="yes" Text="!(loc.WelcomeEulaDlgInstall)" Hidden="yes" DisableCondition="LicenseAccepted &lt;&gt; &quot;1&quot;" EnableCondition="LicenseAccepted = &quot;1&quot;" ShowCondition="ALLUSERS">
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg" Condition="!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1" />
Expand Down
1 change: 0 additions & 1 deletion src/ext/UI/wixlib/WixUI_Advanced.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ Todo:
<?foreach WIXUIARCH in X86;X64;A64 ?>
<Fragment>
<UI Id="WixUI_Advanced_$(WIXUIARCH)">
<Publish Dialog="AdvancedWelcomeEulaDlg" Control="Print" Event="DoAction" Value="WixUIPrintEula_$(WIXUIARCH)" />
<Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath_$(WIXUIARCH)" Order="1" Condition="NOT WIXUI_DONTVALIDATEPATH" />
<Publish Dialog="InstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath_$(WIXUIARCH)" Order="2" Condition="NOT WIXUI_DONTVALIDATEPATH" />
</UI>
Expand Down
5 changes: 1 addition & 4 deletions src/ext/UI/wixlib/WixUI_FeatureTree.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,7 @@ Patch dialog sequence:
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<?foreach WIXUIARCH in X86;X64;A64 ?>
<Fragment>
<UI Id="WixUI_FeatureTree_$(WIXUIARCH)">
<Publish Dialog="LicenseAgreementDlg" Control="Print" Event="DoAction" Value="WixUIPrintEula_$(WIXUIARCH)" />
</UI>

<UI Id="WixUI_FeatureTree_$(WIXUIARCH)" />
<UIRef Id="WixUI_FeatureTree" />
</Fragment>
<?endforeach?>
Expand Down
1 change: 0 additions & 1 deletion src/ext/UI/wixlib/WixUI_InstallDir.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ Patch dialog sequence:
<?foreach WIXUIARCH in X86;X64;A64 ?>
<Fragment>
<UI Id="WixUI_InstallDir_$(WIXUIARCH)">
<Publish Dialog="LicenseAgreementDlg" Control="Print" Event="DoAction" Value="WixUIPrintEula_$(WIXUIARCH)" />
<Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath_$(WIXUIARCH)" Order="3" Condition="NOT WIXUI_DONTVALIDATEPATH" />
<Publish Dialog="InstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath_$(WIXUIARCH)" Order="2" Condition="NOT WIXUI_DONTVALIDATEPATH" />
</UI>
Expand Down
5 changes: 1 addition & 4 deletions src/ext/UI/wixlib/WixUI_Minimal.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@ Patch dialog sequence:
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<?foreach WIXUIARCH in X86;X64;A64 ?>
<Fragment>
<UI Id="WixUI_Minimal_$(WIXUIARCH)">
<Publish Dialog="WelcomeEulaDlg" Control="Print" Event="DoAction" Value="WixUIPrintEula_$(WIXUIARCH)" />
</UI>

<UI Id="WixUI_Minimal_$(WIXUIARCH)" />
<UIRef Id="WixUI_Minimal" />
</Fragment>
<?endforeach?>
Expand Down
1 change: 0 additions & 1 deletion src/ext/UI/wixlib/WixUI_Mondo.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ Patch dialog sequence:
<?foreach WIXUIARCH in X86;X64;A64 ?>
<Fragment>
<UI Id="WixUI_Mondo_$(WIXUIARCH)">
<Publish Dialog="LicenseAgreementDlg" Control="Print" Event="DoAction" Value="WixUIPrintEula_$(WIXUIARCH)" />
<Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath_$(WIXUIARCH)" Order="3" Condition="NOT WIXUI_DONTVALIDATEPATH" />
</UI>

Expand Down
Loading

0 comments on commit e34f4e6

Please sign in to comment.