<?xml version="1.0" encoding="UTF-8"?>
<install4j version="13.1" transformSequenceNumber="13">
  <directoryPresets config="." />
  <application name="Properties" applicationId="5606-5404-7336-2404" mediaDir="media" shortName="properties" version="1.0" allPathsRelative="true" macVolumeId="c67f829d025e60d0" javaMinVersion="1.8">
    <jreBundles jdkProviderId="Adoptium" release="25/latest" />
  </application>
  <installerGui>
    <customCode>
      <resource location="./db.properties" />
    </customCode>
    <applications>
      <application id="installer" beanClass="com.install4j.runtime.beans.applications.InstallerApplication" launchInNewProcess="false">
        <startup>
          <screen id="1" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
            <actions>
              <action id="196" beanClass="com.install4j.runtime.beans.actions.control.SetInstallationDirectoryAction" actionElevationType="none" />
            </actions>
          </screen>
        </startup>
        <screens>
          <screen id="2" beanClass="com.install4j.runtime.beans.screens.WelcomeScreen" styleId="179">
            <actions>
              <action id="3" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" multiExec="true">
                <serializedBean>
                  <property name="excludedVariables" type="array" elementType="string" length="1">
                    <element index="0">sys.installationDir</element>
                  </property>
                </serializedBean>
                <condition>context.getBooleanVariable("sys.streamlinedInstallation")</condition>
              </action>
              <action name="Read default properties" id="45" beanClass="com.install4j.runtime.beans.actions.properties.ReadPropertiesFileAction" commentSet="true" comment="The default properties file is available as a resource file from the beginning.&#xA;It has been added on the &quot;Installer-&gt;Custom code &amp; resources&quot; step.">
                <serializedBean>
                  <property name="file">
                    <object class="java.io.File">
                      <string>${installer:sys.resourceDir}/db.properties</string>
                    </object>
                  </property>
                  <property name="variableName" type="string">dbProperties</property>
                </serializedBean>
              </action>
              <link id="95" targetId="94" />
            </actions>
            <formComponents>
              <formComponent id="97" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
                <serializedBean>
                  <property name="labelText" type="string">${form:welcomeMessage}</property>
                </serializedBean>
                <visibilityScript>!context.isConsole()</visibilityScript>
              </formComponent>
              <formComponent id="98" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
                <serializedBean>
                  <property name="consoleScript">
                    <object class="com.install4j.api.beans.ScriptProperty">
                      <property name="value" type="string">String message = context.getMessage("ConsoleWelcomeLabel", context.getApplicationName());
return console.askOkCancel(message, true);
</property>
                    </object>
                  </property>
                </serializedBean>
              </formComponent>
              <formComponent id="99" beanClass="com.install4j.runtime.beans.formcomponents.StreamlinedInstallationChooserComponent" useExternalParametrization="true" externalParametrizationName="Update Alert" externalParametrizationMode="include">
                <serializedBean>
                  <property name="streamlinedInstallationStrategy" type="enum" class="com.install4j.runtime.beans.formcomponents.StreamlinedInstallationStrategy" value="UPDATE_ONLY" />
                </serializedBean>
                <externalParametrizationPropertyNames>
                  <propertyName>streamlinedInstallationStrategy</propertyName>
                </externalParametrizationPropertyNames>
              </formComponent>
              <formComponent id="100" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetTop="20">
                <serializedBean>
                  <property name="labelText" type="string">${i18n:ClickNext}</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="4" beanClass="com.install4j.runtime.beans.screens.InstallationDirectoryScreen">
            <condition>!context.getBooleanVariable("sys.streamlinedInstallation")</condition>
            <actions>
              <action id="5" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" multiExec="true">
                <serializedBean>
                  <property name="excludedVariables" type="array" elementType="string" length="1">
                    <element index="0">sys.installationDir</element>
                  </property>
                </serializedBean>
                <condition>context.getVariable("sys.responseFile") == null</condition>
              </action>
              <group name="Update installer variables" id="94" beanClass="com.install4j.runtime.beans.groups.ActionGroup">
                <beans>
                  <action name="Read properties from previous installation" id="35" beanClass="com.install4j.runtime.beans.actions.properties.ReadPropertiesFileAction" commentSet="true" comment="If a previous installation is detected, the old values will be merged into the default values. This covers the case of missing values in the existing installation.&#xA;&#xA;The &quot;Merge into existing variables&quot; property has to be selected, otherwise the old values will be discarded">
                    <serializedBean>
                      <property name="file">
                        <object class="java.io.File">
                          <string>db.properties</string>
                        </object>
                      </property>
                      <property name="merge" type="boolean" value="true" />
                      <property name="variableName" type="string">dbProperties</property>
                    </serializedBean>
                  </action>
                  <action name="Update installer variables" id="36" beanClass="com.install4j.runtime.beans.actions.control.RunScriptAction" commentSet="true" comment="Properties are saved in an installer variable of type map. If some properties should be bound to installer variables, they have to be extracted explicitly. Later, we will save them back to the properties map.">
                    <serializedBean>
                      <property name="script">
                        <object class="com.install4j.api.beans.ScriptProperty">
                          <property name="value" type="string">@SuppressWarnings("unchecked")
Map&lt;String, String&gt; properties = (Map&lt;String, String&gt;)context.getVariable("dbProperties");
context.setVariable("dbType", Integer.parseInt(properties.get("type")));
context.setVariable("dbHost", properties.get("host"));
context.setVariable("dbPort", Integer.parseInt(properties.get("port")));

return true;</property>
                        </object>
                      </property>
                    </serializedBean>
                    <condition>context.getVariable("dbProperties") != null</condition>
                  </action>
                </beans>
              </group>
            </actions>
            <formComponents>
              <formComponent id="107" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="25">
                <serializedBean>
                  <property name="labelText" type="string">${i18n:SelectDirLabel(${compiler:sys.fullName})}</property>
                </serializedBean>
              </formComponent>
              <formComponent id="108" beanClass="com.install4j.runtime.beans.formcomponents.InstallationDirectoryChooserComponent" useExternalParametrization="true" externalParametrizationName="Installation Directory Chooser" externalParametrizationMode="include">
                <serializedBean>
                  <property name="requestFocus" type="boolean" value="true" />
                </serializedBean>
                <externalParametrizationPropertyNames>
                  <propertyName>suggestAppDir</propertyName>
                  <propertyName>validateApplicationId</propertyName>
                  <propertyName>existingDirWarning</propertyName>
                  <propertyName>checkWritable</propertyName>
                  <propertyName>manualEntryAllowed</propertyName>
                  <propertyName>checkFreeSpace</propertyName>
                  <propertyName>showRequiredDiskSpace</propertyName>
                  <propertyName>showFreeDiskSpace</propertyName>
                  <propertyName>allowSpacesOnUnix</propertyName>
                  <propertyName>validationScript</propertyName>
                  <propertyName>standardValidation</propertyName>
                </externalParametrizationPropertyNames>
              </formComponent>
            </formComponents>
          </screen>
          <screen name="Database" id="23" beanClass="com.install4j.runtime.beans.screens.FormScreen">
            <serializedBean>
              <property name="subTitle" type="string">What database should be used?</property>
              <property name="title" type="string">Database</property>
            </serializedBean>
            <formComponents>
              <formComponent id="31" beanClass="com.install4j.runtime.beans.formcomponents.MultilineHtmlLabelComponent">
                <serializedBean>
                  <property name="labelHtml" type="string">&lt;html&gt;The bound variables of the form components below will be saved to the file &lt;b&gt;db.properties&lt;/b&gt;
in the installation directory with a "Write properties file" action.</property>
                </serializedBean>
              </formComponent>
              <formComponent id="32" beanClass="com.install4j.runtime.beans.formcomponents.SpacerComponent" />
              <formComponent id="29" beanClass="com.install4j.runtime.beans.formcomponents.DropdownListComponent">
                <serializedBean>
                  <property name="labelText" type="string">Database</property>
                  <property name="listEntries" type="array" elementType="string" length="4">
                    <element index="0">Mysql</element>
                    <element index="1">Postgres</element>
                    <element index="2">Oracle</element>
                    <element index="3">DB2</element>
                  </property>
                  <property name="variableName" type="string">dbType</property>
                </serializedBean>
              </formComponent>
              <formComponent name="Host" id="24" beanClass="com.install4j.runtime.beans.formcomponents.TextfieldComponent">
                <serializedBean>
                  <property name="checkIfEmpty" type="boolean" value="true" />
                  <property name="helpText" type="string">Enter the host name or the IP address of the computer where the database is running</property>
                  <property name="labelText" type="string">Host</property>
                  <property name="variableName" type="string">dbHost</property>
                </serializedBean>
              </formComponent>
              <formComponent name="Port" id="26" beanClass="com.install4j.runtime.beans.formcomponents.IntegerTextfieldComponent">
                <serializedBean>
                  <property name="columns" type="int" value="5" />
                  <property name="helpText" type="string">Enter the port on which the database is listening for connections</property>
                  <property name="labelText" type="string">Port</property>
                  <property name="maximumDigits" type="int" value="5" />
                  <property name="minimumDigits" type="int" value="1" />
                  <property name="variableName" type="string">dbPort</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="8" beanClass="com.install4j.runtime.beans.screens.InstallationScreen" rollbackBarrier="true">
            <actions>
              <action id="9" beanClass="com.install4j.runtime.beans.actions.InstallFilesAction" actionElevationType="elevated" failureStrategy="quit" errorMessage="${i18n:FileCorrupted}" />
              <action id="11" beanClass="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction" actionElevationType="elevated">
                <serializedBean>
                  <property name="itemName" type="string">${compiler:sys.fullName} ${compiler:sys.version}</property>
                </serializedBean>
              </action>
              <action name="Update property map" id="37" beanClass="com.install4j.runtime.beans.actions.control.RunScriptAction" commentSet="true" comment="The changed property values are now saved back to the properties map that has been created by the &quot;Read a properties file&quot; actions.">
                <serializedBean>
                  <property name="script">
                    <object class="com.install4j.api.beans.ScriptProperty">
                      <property name="value" type="string">context.registerUninstallFile(context.getDestinationFile("db.properties"));

@SuppressWarnings("unchecked")
Map&lt;String, String&gt; properties = (Map&lt;String, String&gt;)context.getVariable("dbProperties");

properties.put("type", context.getVariable("dbType").toString());
properties.put("host", context.getVariable("dbHost").toString());
properties.put("port", context.getVariable("dbPort").toString());

return true;</property>
                    </object>
                  </property>
                </serializedBean>
              </action>
              <action id="33" beanClass="com.install4j.runtime.beans.actions.properties.WritePropertiesFileAction" actionElevationType="elevated">
                <serializedBean>
                  <property name="file">
                    <object class="java.io.File">
                      <string>db.properties</string>
                    </object>
                  </property>
                  <property name="propertiesSource" type="enum" class="com.install4j.runtime.beans.actions.properties.PropertiesSource" value="VARIABLE" />
                  <property name="sourceVariableName" type="string">dbProperties</property>
                  <property name="updateExistingKeys" type="boolean" value="true" />
                </serializedBean>
              </action>
            </actions>
            <formComponents>
              <formComponent id="121" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
                <serializedBean>
                  <property name="initialStatusMessage" type="string">${i18n:WizardPreparing}</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="12" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" styleId="179" finishScreen="true">
            <formComponents>
              <formComponent id="123" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
                <serializedBean>
                  <property name="labelText" type="string">${form:finishedMessage}</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
        </screens>
      </application>
      <application id="uninstaller" beanClass="com.install4j.runtime.beans.applications.UninstallerApplication" launchInNewProcess="false">
        <serializedBean>
          <property name="customMacosExecutableName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
          <property name="useCustomMacosExecutableName" type="boolean" value="true" />
        </serializedBean>
        <startup>
          <screen id="14" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
            <actions>
              <action id="20" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" />
              <action id="21" beanClass="com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction" actionElevationType="none" />
            </actions>
          </screen>
        </startup>
        <screens>
          <screen id="15" beanClass="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" styleId="179">
            <formComponents>
              <formComponent id="129" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
                <serializedBean>
                  <property name="labelText" type="string">${form:welcomeMessage}</property>
                </serializedBean>
                <visibilityScript>!context.isConsole()</visibilityScript>
              </formComponent>
              <formComponent id="130" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
                <serializedBean>
                  <property name="consoleScript">
                    <object class="com.install4j.api.beans.ScriptProperty">
                      <property name="value" type="string">String message = context.getMessage("ConfirmUninstall", context.getApplicationName());
return console.askYesNo(message, true);
</property>
                    </object>
                  </property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="16" beanClass="com.install4j.runtime.beans.screens.UninstallationScreen">
            <actions>
              <action id="17" beanClass="com.install4j.runtime.beans.actions.UninstallFilesAction" actionElevationType="elevated" />
            </actions>
            <formComponents>
              <formComponent id="134" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
                <serializedBean>
                  <property name="initialStatusMessage" type="string">${i18n:UninstallerPreparing}</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="19" beanClass="com.install4j.runtime.beans.screens.UninstallFailureScreen" finishScreen="true" />
          <screen id="18" beanClass="com.install4j.runtime.beans.screens.UninstallSuccessScreen" styleId="179" finishScreen="true">
            <formComponents>
              <formComponent id="137" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
                <serializedBean>
                  <property name="labelText" type="string">${form:successMessage}</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
        </screens>
      </application>
    </applications>
    <styles defaultStyleId="173">
      <style name="Standard" id="173" beanClass="com.install4j.runtime.beans.styles.FormStyle">
        <formComponents>
          <formComponent name="Header" id="174" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
            <serializedBean>
              <property name="styleId" type="string">186</property>
            </serializedBean>
          </formComponent>
          <group name="Main" id="175" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
            <beans>
              <formComponent id="176" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetLeft="20" insetBottom="10" insetRight="20" />
              <formComponent name="Watermark" id="177" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" insetTop="0" insetLeft="5" insetBottom="0">
                <serializedBean>
                  <property name="enabledTitleText" type="boolean" value="false" />
                  <property name="labelText" type="string">install4j</property>
                </serializedBean>
              </formComponent>
              <formComponent name="Footer" id="178" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetLeft="5" insetBottom="0" insetRight="5">
                <serializedBean>
                  <property name="styleId" type="string">190</property>
                </serializedBean>
              </formComponent>
            </beans>
          </group>
        </formComponents>
      </style>
      <style name="Banner" id="179" beanClass="com.install4j.runtime.beans.styles.FormStyle">
        <formComponents>
          <group id="180" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
            <serializedBean>
              <property name="backgroundColor">
                <object class="com.install4j.runtime.beans.LightOrDarkColor">
                  <object class="java.awt.Color">
                    <int>255</int>
                    <int>255</int>
                    <int>255</int>
                    <int>255</int>
                  </object>
                  <object class="java.awt.Color">
                    <int>49</int>
                    <int>52</int>
                    <int>53</int>
                    <int>255</int>
                  </object>
                </object>
              </property>
              <property name="borderSides">
                <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
                  <property name="bottom" type="boolean" value="true" />
                </object>
              </property>
              <property name="imageEdgeBackgroundColor">
                <object class="com.install4j.runtime.beans.LightOrDarkColor">
                  <object class="java.awt.Color">
                    <int>27</int>
                    <int>143</int>
                    <int>220</int>
                    <int>255</int>
                  </object>
                  <object class="java.awt.Color">
                    <int>0</int>
                    <int>73</int>
                    <int>150</int>
                    <int>255</int>
                  </object>
                </object>
              </property>
              <property name="imageFile">
                <object class="com.install4j.api.beans.ExternalFile">
                  <string>${compiler:sys.install4jHome}/resource/styles/wizard.png</string>
                </object>
              </property>
              <property name="insets">
                <object class="java.awt.Insets">
                  <int>5</int>
                  <int>10</int>
                  <int>10</int>
                  <int>10</int>
                </object>
              </property>
            </serializedBean>
            <beans>
              <formComponent id="181" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetTop="0">
                <serializedBean>
                  <property name="labelWidgetStyle" id="LabelWidgetStyle0">
                    <property name="fontDescriptor">
                      <property name="fontSizePercent" type="int" value="130" />
                      <property name="fontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
                      <property name="fontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
                    </property>
                  </property>
                  <property name="labelWidgetStyleId" type="null" />
                </serializedBean>
              </formComponent>
              <formComponent id="182" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" />
              <formComponent id="183" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetBottom="0" />
            </beans>
            <externalParametrizationPropertyNames>
              <propertyName>imageAnchor</propertyName>
              <propertyName>imageEdgeBackgroundColor</propertyName>
              <propertyName>imageFile</propertyName>
            </externalParametrizationPropertyNames>
          </group>
          <formComponent id="184" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetLeft="5" insetBottom="0" insetRight="5">
            <serializedBean>
              <property name="styleId" type="string">190</property>
            </serializedBean>
          </formComponent>
        </formComponents>
      </style>
      <group name="Style components" id="185" beanClass="com.install4j.runtime.beans.groups.StyleGroup">
        <beans>
          <style name="Standard header" id="186" beanClass="com.install4j.runtime.beans.styles.FormStyle">
            <serializedBean>
              <property name="fillVertical" type="boolean" value="false" />
              <property name="standalone" type="boolean" value="false" />
              <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTH" />
            </serializedBean>
            <formComponents>
              <group id="187" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize title bar" externalParametrizationMode="include">
                <serializedBean>
                  <property name="backgroundColor">
                    <object class="com.install4j.runtime.beans.LightOrDarkColor">
                      <object class="java.awt.Color">
                        <int>255</int>
                        <int>255</int>
                        <int>255</int>
                        <int>255</int>
                      </object>
                      <object class="java.awt.Color">
                        <int>49</int>
                        <int>52</int>
                        <int>53</int>
                        <int>255</int>
                      </object>
                    </object>
                  </property>
                  <property name="borderSides">
                    <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
                      <property name="bottom" type="boolean" value="true" />
                    </object>
                  </property>
                  <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTHEAST" />
                  <property name="imageEdgeBorderWidth" type="int" value="2" />
                  <property name="imageFile">
                    <object class="com.install4j.api.beans.ExternalFile">
                      <string>icon:${installer:sys.installerApplicationMode}_header.png</string>
                    </object>
                  </property>
                  <property name="imageInsets">
                    <object class="java.awt.Insets">
                      <int>0</int>
                      <int>5</int>
                      <int>1</int>
                      <int>1</int>
                    </object>
                  </property>
                  <property name="insets">
                    <object class="java.awt.Insets">
                      <int>0</int>
                      <int>20</int>
                      <int>0</int>
                      <int>10</int>
                    </object>
                  </property>
                </serializedBean>
                <beans>
                  <formComponent name="Title" id="188" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent">
                    <serializedBean>
                      <property name="labelWidgetStyle" id="LabelWidgetStyle0">
                        <property name="fontDescriptor">
                          <property name="fontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
                          <property name="fontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
                        </property>
                      </property>
                      <property name="labelWidgetStyleId" type="null" />
                    </serializedBean>
                  </formComponent>
                  <formComponent name="Subtitle" id="189" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetLeft="8">
                    <serializedBean>
                      <property name="titleType" type="enum" class="com.install4j.runtime.beans.styles.TitleType" value="SUB_TITLE" />
                    </serializedBean>
                  </formComponent>
                </beans>
                <externalParametrizationPropertyNames>
                  <propertyName>backgroundColor</propertyName>
                  <propertyName>foregroundColor</propertyName>
                  <propertyName>imageAnchor</propertyName>
                  <propertyName>imageFile</propertyName>
                  <propertyName>imageOverlap</propertyName>
                </externalParametrizationPropertyNames>
              </group>
            </formComponents>
          </style>
          <style name="Standard footer" id="190" beanClass="com.install4j.runtime.beans.styles.FormStyle">
            <serializedBean>
              <property name="fillVertical" type="boolean" value="false" />
              <property name="standalone" type="boolean" value="false" />
              <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="SOUTH" />
            </serializedBean>
            <formComponents>
              <group id="191" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup">
                <serializedBean>
                  <property name="alignFirstLabel" type="boolean" value="false" />
                  <property name="insets">
                    <object class="java.awt.Insets">
                      <int>3</int>
                      <int>0</int>
                      <int>8</int>
                      <int>0</int>
                    </object>
                  </property>
                </serializedBean>
                <beans>
                  <formComponent id="192" beanClass="com.install4j.runtime.beans.formcomponents.SpringComponent" />
                  <formComponent name="Back button" id="193" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
                    <serializedBean>
                      <property name="buttonText" type="string">&lt; ${i18n:ButtonBack}</property>
                      <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="PREVIOUS" />
                    </serializedBean>
                  </formComponent>
                  <formComponent name="Next button" id="194" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
                    <serializedBean>
                      <property name="buttonText" type="string">${i18n:ButtonNext} &gt;</property>
                      <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="NEXT" />
                    </serializedBean>
                  </formComponent>
                  <formComponent name="Cancel button" id="195" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" insetLeft="5">
                    <serializedBean>
                      <property name="buttonText" type="string">${i18n:ButtonCancel}</property>
                      <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="CANCEL" />
                    </serializedBean>
                  </formComponent>
                </beans>
              </group>
            </formComponents>
          </style>
        </beans>
      </group>
    </styles>
    <widgetStyles defaultWidgetStyleId="105">
      <widgetStyle name="Standard" id="105" beanClass="com.install4j.runtime.beans.widgets.WidgetStyleCollection" />
    </widgetStyles>
  </installerGui>
  <mediaSets>
    <windows name="Windows" id="40" architecture="64" />
    <macosFolder name="macOS Folder" id="42" />
    <unixInstaller name="Unix Installer" id="43">
      <jreBundle jreBundleSource="none" />
    </unixInstaller>
  </mediaSets>
</install4j>
