# Copyright (C) 2016-2020 Greenbone Networks GmbH
#
# SPDX-License-Identifier: GPL-2.0-or-later
#
# 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 St, Fifth Floor, Boston, MA 02110-1301 USA.

find_package (Node 8.0 REQUIRED)
find_package (Yarn 1.0)

set (GSA_BUILD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build)
set (GSA_DEST_DIR ${GSAD_DATA_DIR}/web)
set (GSA_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})

set (GSA_PKG_FILES
     ${GSA_SRC_DIR}/package.json)

if (NOT YARN_FOUND)
  MESSAGE (WARNING "Yarn package manager not found. Please install "
    "yarn for reproducible builds (see https://yarnpkg.com/en/docs/install). "
    "Trying to use npm instead.")
  find_package (Npm REQUIRED)
  set (INSTALLER ${NPM_EXECUTABLE})
else (NOT YARN_FOUND)
  message (STATUS "Found Yarn: ${YARN_EXECUTABLE}")
  set (INSTALLER ${YARN_EXECUTABLE})
  if (YARN_OFFLINE)
    set (INSTALLER_ARGS "--offline")
    MESSAGE( STATUS "Using Yarn in offline mode")
  endif (YARN_OFFLINE)
  list (APPEND GSA_PKG_FILES ${GSA_SRC_DIR}/yarn.lock)
endif (NOT YARN_FOUND)

set (GSA_STATIC_SRC_FILES
     ${GSA_SRC_DIR}/public/index.html)

set (GSA_JS_SRC_FILES
     ${GSA_SRC_DIR}/src/index.js
     ${GSA_SRC_DIR}/src/gmp/cancel.js
     ${GSA_SRC_DIR}/src/gmp/capabilities/capabilities.js
     ${GSA_SRC_DIR}/src/gmp/capabilities/everything.js
     ${GSA_SRC_DIR}/src/gmp/collection/collectioncounts.js
     ${GSA_SRC_DIR}/src/gmp/collection/parser.js
     ${GSA_SRC_DIR}/src/gmp/command.js
     ${GSA_SRC_DIR}/src/gmp/commands/agents.js
     ${GSA_SRC_DIR}/src/gmp/commands/alerts.js
     ${GSA_SRC_DIR}/src/gmp/commands/audits.js
     ${GSA_SRC_DIR}/src/gmp/commands/auth.js
     ${GSA_SRC_DIR}/src/gmp/commands/certbund.js
     ${GSA_SRC_DIR}/src/gmp/commands/cpes.js
     ${GSA_SRC_DIR}/src/gmp/commands/credentials.js
     ${GSA_SRC_DIR}/src/gmp/commands/cves.js
     ${GSA_SRC_DIR}/src/gmp/commands/cvsscalculator.js
     ${GSA_SRC_DIR}/src/gmp/commands/dashboards.js
     ${GSA_SRC_DIR}/src/gmp/commands/dfncert.js
     ${GSA_SRC_DIR}/src/gmp/commands/entities.js
     ${GSA_SRC_DIR}/src/gmp/commands/entity.js
     ${GSA_SRC_DIR}/src/gmp/commands/feedstatus.js
     ${GSA_SRC_DIR}/src/gmp/commands/filters.js
     ${GSA_SRC_DIR}/src/gmp/commands/gmp.js
     ${GSA_SRC_DIR}/src/gmp/commands/groups.js
     ${GSA_SRC_DIR}/src/gmp/commands/hosts.js
     ${GSA_SRC_DIR}/src/gmp/commands/http.js
     ${GSA_SRC_DIR}/src/gmp/commands/infoentities.js
     ${GSA_SRC_DIR}/src/gmp/commands/infoentity.js
     ${GSA_SRC_DIR}/src/gmp/commands/login.js
     ${GSA_SRC_DIR}/src/gmp/commands/notes.js
     ${GSA_SRC_DIR}/src/gmp/commands/nvt.js
     ${GSA_SRC_DIR}/src/gmp/commands/os.js
     ${GSA_SRC_DIR}/src/gmp/commands/ovaldefs.js
     ${GSA_SRC_DIR}/src/gmp/commands/overrides.js
     ${GSA_SRC_DIR}/src/gmp/commands/permissions.js
     ${GSA_SRC_DIR}/src/gmp/commands/policies.js
     ${GSA_SRC_DIR}/src/gmp/commands/portlists.js
     ${GSA_SRC_DIR}/src/gmp/commands/reportformats.js
     ${GSA_SRC_DIR}/src/gmp/commands/reports.js
     ${GSA_SRC_DIR}/src/gmp/commands/results.js
     ${GSA_SRC_DIR}/src/gmp/commands/roles.js
     ${GSA_SRC_DIR}/src/gmp/commands/scanconfigs.js
     ${GSA_SRC_DIR}/src/gmp/commands/scanners.js
     ${GSA_SRC_DIR}/src/gmp/commands/schedules.js
     ${GSA_SRC_DIR}/src/gmp/commands/secinfo.js
     ${GSA_SRC_DIR}/src/gmp/commands/tags.js
     ${GSA_SRC_DIR}/src/gmp/commands/targets.js
     ${GSA_SRC_DIR}/src/gmp/commands/tasks.js
     ${GSA_SRC_DIR}/src/gmp/commands/tickets.js
     ${GSA_SRC_DIR}/src/gmp/commands/tlscertificates.js
     ${GSA_SRC_DIR}/src/gmp/commands/trashcan.js
     ${GSA_SRC_DIR}/src/gmp/commands/users.js
     ${GSA_SRC_DIR}/src/gmp/commands/vulns.js
     ${GSA_SRC_DIR}/src/gmp/gmp.js
     ${GSA_SRC_DIR}/src/gmp/gmpsettings.js
     ${GSA_SRC_DIR}/src/gmp/http/gmp.js
     ${GSA_SRC_DIR}/src/gmp/http/http.js
     ${GSA_SRC_DIR}/src/gmp/http/rejection.js
     ${GSA_SRC_DIR}/src/gmp/http/response.js
     ${GSA_SRC_DIR}/src/gmp/http/transform/default.js
     ${GSA_SRC_DIR}/src/gmp/http/transform/fastxml.js
     ${GSA_SRC_DIR}/src/gmp/http/utils.js
     ${GSA_SRC_DIR}/src/gmp/index.js
     ${GSA_SRC_DIR}/src/gmp/locale/date.js
     ${GSA_SRC_DIR}/src/gmp/locale/detector.js
     ${GSA_SRC_DIR}/src/gmp/locale/lang.js
     ${GSA_SRC_DIR}/src/gmp/locale/languages.js
     ${GSA_SRC_DIR}/src/gmp/locale/index.js
     ${GSA_SRC_DIR}/src/gmp/log.js
     ${GSA_SRC_DIR}/src/gmp/model.js
     ${GSA_SRC_DIR}/src/gmp/models/actionresult.js
     ${GSA_SRC_DIR}/src/gmp/models/agent.js
     ${GSA_SRC_DIR}/src/gmp/models/alert.js
     ${GSA_SRC_DIR}/src/gmp/models/asset.js
     ${GSA_SRC_DIR}/src/gmp/models/audit.js
     ${GSA_SRC_DIR}/src/gmp/models/certbund.js
     ${GSA_SRC_DIR}/src/gmp/models/cpe.js
     ${GSA_SRC_DIR}/src/gmp/models/credential.js
     ${GSA_SRC_DIR}/src/gmp/models/cve.js
     ${GSA_SRC_DIR}/src/gmp/models/date.js
     ${GSA_SRC_DIR}/src/gmp/models/dfncert.js
     ${GSA_SRC_DIR}/src/gmp/models/event.js
     ${GSA_SRC_DIR}/src/gmp/models/filter.js
     ${GSA_SRC_DIR}/src/gmp/models/filter/convert.js
     ${GSA_SRC_DIR}/src/gmp/models/filter/filterterm.js
     ${GSA_SRC_DIR}/src/gmp/models/filter/keywords.js
     ${GSA_SRC_DIR}/src/gmp/models/filter/utils.js
     ${GSA_SRC_DIR}/src/gmp/models/group.js
     ${GSA_SRC_DIR}/src/gmp/models/host.js
     ${GSA_SRC_DIR}/src/gmp/models/info.js
     ${GSA_SRC_DIR}/src/gmp/models/login.js
     ${GSA_SRC_DIR}/src/gmp/models/note.js
     ${GSA_SRC_DIR}/src/gmp/models/nvt.js
     ${GSA_SRC_DIR}/src/gmp/models/os.js
     ${GSA_SRC_DIR}/src/gmp/models/ovaldef.js
     ${GSA_SRC_DIR}/src/gmp/models/override.js
     ${GSA_SRC_DIR}/src/gmp/models/permission.js
     ${GSA_SRC_DIR}/src/gmp/models/policy.js
     ${GSA_SRC_DIR}/src/gmp/models/portlist.js
     ${GSA_SRC_DIR}/src/gmp/models/reportformat.js
     ${GSA_SRC_DIR}/src/gmp/models/report.js
     ${GSA_SRC_DIR}/src/gmp/models/report/app.js
     ${GSA_SRC_DIR}/src/gmp/models/report/cve.js
     ${GSA_SRC_DIR}/src/gmp/models/report/host.js
     ${GSA_SRC_DIR}/src/gmp/models/report/os.js
     ${GSA_SRC_DIR}/src/gmp/models/report/parser.js
     ${GSA_SRC_DIR}/src/gmp/models/report/port.js
     ${GSA_SRC_DIR}/src/gmp/models/report/report.js
     ${GSA_SRC_DIR}/src/gmp/models/report/task.js
     ${GSA_SRC_DIR}/src/gmp/models/report/tlscertificate.js
     ${GSA_SRC_DIR}/src/gmp/models/result.js
     ${GSA_SRC_DIR}/src/gmp/models/role.js
     ${GSA_SRC_DIR}/src/gmp/models/scanconfig.js
     ${GSA_SRC_DIR}/src/gmp/models/scanner.js
     ${GSA_SRC_DIR}/src/gmp/models/schedule.js
     ${GSA_SRC_DIR}/src/gmp/models/secinfo.js
     ${GSA_SRC_DIR}/src/gmp/models/settings.js
     ${GSA_SRC_DIR}/src/gmp/models/tag.js
     ${GSA_SRC_DIR}/src/gmp/models/target.js
     ${GSA_SRC_DIR}/src/gmp/models/task.js
     ${GSA_SRC_DIR}/src/gmp/models/ticket.js
     ${GSA_SRC_DIR}/src/gmp/models/tlscertificate.js
     ${GSA_SRC_DIR}/src/gmp/models/user.js
     ${GSA_SRC_DIR}/src/gmp/models/vulnerability.js
     ${GSA_SRC_DIR}/src/gmp/parser.js
     ${GSA_SRC_DIR}/src/gmp/timezones.js
     ${GSA_SRC_DIR}/src/gmp/utils/array.js
     ${GSA_SRC_DIR}/src/gmp/utils/entitytype.js
     ${GSA_SRC_DIR}/src/gmp/utils/event.js
     ${GSA_SRC_DIR}/src/gmp/utils/id.js
     ${GSA_SRC_DIR}/src/gmp/utils/identity.js
     ${GSA_SRC_DIR}/src/gmp/utils/number.js
     ${GSA_SRC_DIR}/src/gmp/utils/object.js
     ${GSA_SRC_DIR}/src/gmp/utils/string.js
     ${GSA_SRC_DIR}/src/gmp/utils/trace.js
     ${GSA_SRC_DIR}/src/web/app.js
     ${GSA_SRC_DIR}/src/web/components/badge/badge.js
     ${GSA_SRC_DIR}/src/web/components/bar/compliancestatusbar.js
     ${GSA_SRC_DIR}/src/web/components/bar/menubar.js
     ${GSA_SRC_DIR}/src/web/components/bar/progressbar.js
     ${GSA_SRC_DIR}/src/web/components/bar/severitybar.js
     ${GSA_SRC_DIR}/src/web/components/bar/statusbar.js
     ${GSA_SRC_DIR}/src/web/components/bar/titlebar.js
     ${GSA_SRC_DIR}/src/web/components/bar/toolbar.js
     ${GSA_SRC_DIR}/src/web/components/chart/axis.js
     ${GSA_SRC_DIR}/src/web/components/chart/bar.js
     ${GSA_SRC_DIR}/src/web/components/chart/bubble.js
     ${GSA_SRC_DIR}/src/web/components/chart/donut.js
     ${GSA_SRC_DIR}/src/web/components/chart/donut/arc2d.js
     ${GSA_SRC_DIR}/src/web/components/chart/donut/arc3d.js
     ${GSA_SRC_DIR}/src/web/components/chart/donut/labels.js
     ${GSA_SRC_DIR}/src/web/components/chart/donut/paths.js
     ${GSA_SRC_DIR}/src/web/components/chart/donut/pie.js
     ${GSA_SRC_DIR}/src/web/components/chart/donut/proptypes.js
     ${GSA_SRC_DIR}/src/web/components/chart/group.js
     ${GSA_SRC_DIR}/src/web/components/chart/label.js
     ${GSA_SRC_DIR}/src/web/components/chart/legend.js
     ${GSA_SRC_DIR}/src/web/components/chart/line.js
     ${GSA_SRC_DIR}/src/web/components/chart/schedule.js
     ${GSA_SRC_DIR}/src/web/components/chart/svg.js
     ${GSA_SRC_DIR}/src/web/components/chart/tooltip.js
     ${GSA_SRC_DIR}/src/web/components/chart/topology.js
     ${GSA_SRC_DIR}/src/web/components/chart/utils/arc.js
     ${GSA_SRC_DIR}/src/web/components/chart/utils/constants.js
     ${GSA_SRC_DIR}/src/web/components/chart/utils/path.js
     ${GSA_SRC_DIR}/src/web/components/chart/utils/update.js
     ${GSA_SRC_DIR}/src/web/components/chart/wordcloud.js
     ${GSA_SRC_DIR}/src/web/components/comment/comment.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/controls.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/dashboard.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/created/createddisplay.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/created/createdtransform.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/createDisplay.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/cvss/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/cvss/cvsstabledisplay.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/cvss/cvsstransform.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/datadisplay.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/datadisplayicons.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/datatable.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/datatabledisplay.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/display.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/filterselection.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/severity/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/severity/severityclasstabledisplay.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/severity/severityclasstransform.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/status/statusdisplay.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/utils.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/display/withFilterSelection.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/registry.js
     ${GSA_SRC_DIR}/src/web/components/dashboard/utils.js
     ${GSA_SRC_DIR}/src/web/components/dialog/button.js
     ${GSA_SRC_DIR}/src/web/components/dialog/composercontent.js
     ${GSA_SRC_DIR}/src/web/components/dialog/container.js
     ${GSA_SRC_DIR}/src/web/components/dialog/content.js
     ${GSA_SRC_DIR}/src/web/components/dialog/closebutton.js
     ${GSA_SRC_DIR}/src/web/components/dialog/dialog.js
     ${GSA_SRC_DIR}/src/web/components/dialog/error.js
     ${GSA_SRC_DIR}/src/web/components/dialog/footer.js
     ${GSA_SRC_DIR}/src/web/components/dialog/confirmationdialog.js
     ${GSA_SRC_DIR}/src/web/components/dialog/overlay.js
     ${GSA_SRC_DIR}/src/web/components/dialog/resizer.js
     ${GSA_SRC_DIR}/src/web/components/dialog/savedialog.js
     ${GSA_SRC_DIR}/src/web/components/dialog/scrollablecontent.js
     ${GSA_SRC_DIR}/src/web/components/dialog/title.js
     ${GSA_SRC_DIR}/src/web/components/dialog/twobuttonfooter.js
     ${GSA_SRC_DIR}/src/web/components/error/errorboundary.js
     ${GSA_SRC_DIR}/src/web/components/error/errorcontainer.js
     ${GSA_SRC_DIR}/src/web/components/error/errormessage.js
     ${GSA_SRC_DIR}/src/web/components/error/errorpanel.js
     ${GSA_SRC_DIR}/src/web/components/folding/folding.js
     ${GSA_SRC_DIR}/src/web/components/footnote/footnote.js
     ${GSA_SRC_DIR}/src/web/components/form/button.js
     ${GSA_SRC_DIR}/src/web/components/form/loadingbutton.js
     ${GSA_SRC_DIR}/src/web/components/form/checkbox.js
     ${GSA_SRC_DIR}/src/web/components/form/datepicker.js
     ${GSA_SRC_DIR}/src/web/components/form/download.js
     ${GSA_SRC_DIR}/src/web/components/form/field.js
     ${GSA_SRC_DIR}/src/web/components/form/filefield.js
     ${GSA_SRC_DIR}/src/web/components/form/formgroup.js
     ${GSA_SRC_DIR}/src/web/components/form/multiselect.js
     ${GSA_SRC_DIR}/src/web/components/form/numberfield.js
     ${GSA_SRC_DIR}/src/web/components/form/passwordfield.js
     ${GSA_SRC_DIR}/src/web/components/form/radio.js
     ${GSA_SRC_DIR}/src/web/components/form/select.js
     ${GSA_SRC_DIR}/src/web/components/form/selectelements.js
     ${GSA_SRC_DIR}/src/web/components/form/spinner.js
     ${GSA_SRC_DIR}/src/web/components/form/textarea.js
     ${GSA_SRC_DIR}/src/web/components/form/textfield.js
     ${GSA_SRC_DIR}/src/web/components/form/timezoneselect.js
     ${GSA_SRC_DIR}/src/web/components/form/togglebutton.js
     ${GSA_SRC_DIR}/src/web/components/form/withClickHandler.js
     ${GSA_SRC_DIR}/src/web/components/form/withDownload.js
     ${GSA_SRC_DIR}/src/web/components/form/yesnoradio.js
     ${GSA_SRC_DIR}/src/web/components/icon/addtoassetsicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/agenticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/alerticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/allinfoicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/alterableicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/arrowicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/auditicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/calendaricon.js
     ${GSA_SRC_DIR}/src/web/components/icon/certbundadvicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/cloneicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/cpeicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/cpelogoicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/credentialicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/cveicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/cvssicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/dashboardicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/deleteicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/deltaicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/deltasecondicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/detailsicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/dfncertadvicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/disableicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/downloadicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/downloadcsvicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/downloaddebicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/downloadexeicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/downloadkeyicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/downloadrpmicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/downloadsvgicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/editicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/enableicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/exporticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/feedicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/filtericon.js
     ${GSA_SRC_DIR}/src/web/components/icon/firsticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/foldicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/foldstateicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/groupicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/hosticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/icon.js
     ${GSA_SRC_DIR}/src/web/components/icon/importicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/helpicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/keyicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/lasticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/ldapicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/legendicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/listicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/listsvgicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/logouticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/manualicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/mysettingsicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/newicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/newnoteicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/newoverrideicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/newticketicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/nexticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/noteicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/nvticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/osicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/ossvgicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/ovaldeficon.js
     ${GSA_SRC_DIR}/src/web/components/icon/overrideicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/performanceicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/permissionicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/policyicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/portlisticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/previousicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/provideviewicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/refreshicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/radiusicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/removefromassetsicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/reportformaticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/roleicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/reporticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/restoreicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/reseticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/resulticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/restoreicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/resumeicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/scanconfigicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/scannericon.js
     ${GSA_SRC_DIR}/src/web/components/icon/scheduleicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/sensoricon.js
     ${GSA_SRC_DIR}/src/web/components/icon/solutiontypeicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/solutiontypesvgicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/starticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/stopicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/stmitigateicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/stnonavailableicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/stunknownicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/stvendorfixicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/stwillnotfixicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/stworkaroundicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/svgicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/tagicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/tagsicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/tagssvgicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/targeticon.js
     ${GSA_SRC_DIR}/src/web/components/icon/taskicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/ticketicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/tlscertificateicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/toggle3dicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/trashcanicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/trashdeleteicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/trashicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/trenddownicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/trendlessicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/trendmoreicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/trendnochangeicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/trendupicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/unfoldicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/uploadicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/usericon.js
     ${GSA_SRC_DIR}/src/web/components/icon/verifyicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/verifynoicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/viewothericon.js
     ${GSA_SRC_DIR}/src/web/components/icon/vulnerabilityicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/withIconSize.js
     ${GSA_SRC_DIR}/src/web/components/icon/withSvgIcon.js
     ${GSA_SRC_DIR}/src/web/components/icon/wizardicon.js
     ${GSA_SRC_DIR}/src/web/components/icon/svg/add_to_assets.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/agent.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/alert.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/allinfo.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/alterable.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/audit.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/calendar.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/cert_bund_adv.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/clone.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/config.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/cpe.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/credential.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/cve.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/cvss_calculator.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/dashboard.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/delete.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/delta.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/delta_second.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/details.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/dfn_cert_adv.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/disable.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/dl_csv.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/dl_deb.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/dl_exe.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/dl_key.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/dl_rpm.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/dl_svg.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/download.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/edit.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/enable.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/export.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/filter.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/first.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/feed.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/greenbone.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/group.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/help.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/host.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/import.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/key.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/last.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/ldap.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/legend.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/list.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/logout.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/st_mitigate.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/st_nonavailable.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/st_unknown.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/st_vendorfix.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/st_willnotfix.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/st_workaround.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/my_setting.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/new.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/note.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/new_note.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/new_override.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/new_ticket.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/next.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/nvt.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/os.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/ovaldef.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/override.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/performance.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/permission.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/policy.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/port_list.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/previous.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/provide_view.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/radius.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/refresh.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/remove_from_assets.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/report_format.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/report.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/reset.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/result.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/restore.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/resume.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/role.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/scanner.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/st_vendorfix.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/start.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/stop.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/schedule.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/sensor.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/solution_type.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/tag.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/tags.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/target.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/task.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/ticket.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/tlscertificate.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/toggle3d.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/trashcan.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/trend_down.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/trend_less.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/trend_more.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/trend_nochange.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/trend_up.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/upload.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/user.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/verify.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/verify_no.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/view_other.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/vulnerability.svg
     ${GSA_SRC_DIR}/src/web/components/icon/svg/wizard.svg
     ${GSA_SRC_DIR}/src/web/components/img/greenbone.js
     ${GSA_SRC_DIR}/src/web/components/img/img.js
     ${GSA_SRC_DIR}/src/web/components/img/product.js
     ${GSA_SRC_DIR}/src/web/components/label/severityclass.js
     ${GSA_SRC_DIR}/src/web/components/layout/divider.js
     ${GSA_SRC_DIR}/src/web/components/layout/globalstyles.js
     ${GSA_SRC_DIR}/src/web/components/layout/icondivider.js
     ${GSA_SRC_DIR}/src/web/components/layout/layout.js
     ${GSA_SRC_DIR}/src/web/components/layout/withLayout.js
     ${GSA_SRC_DIR}/src/web/components/loading/loading.js
     ${GSA_SRC_DIR}/src/web/components/link/blanklink.js
     ${GSA_SRC_DIR}/src/web/components/link/certlink.js
     ${GSA_SRC_DIR}/src/web/components/link/cvelink.js
     ${GSA_SRC_DIR}/src/web/components/link/detailslink.js
     ${GSA_SRC_DIR}/src/web/components/link/externallink.js
     ${GSA_SRC_DIR}/src/web/components/link/innerlink.js
     ${GSA_SRC_DIR}/src/web/components/link/link.js
     ${GSA_SRC_DIR}/src/web/components/link/manuallink.js
     ${GSA_SRC_DIR}/src/web/components/link/protocoldoclink.js
     ${GSA_SRC_DIR}/src/web/components/link/target.js
     ${GSA_SRC_DIR}/src/web/components/menu/iconmenu.js
     ${GSA_SRC_DIR}/src/web/components/menu/menu.js
     ${GSA_SRC_DIR}/src/web/components/menu/menuentry.js
     ${GSA_SRC_DIR}/src/web/components/menu/menuhelpentry.js
     ${GSA_SRC_DIR}/src/web/components/menu/menusection.js
     ${GSA_SRC_DIR}/src/web/components/menu/usermenu.js
     ${GSA_SRC_DIR}/src/web/components/notification/dialognotification.js
     ${GSA_SRC_DIR}/src/web/components/notification/withDialogNotifiaction.js
     ${GSA_SRC_DIR}/src/web/components/observer/localeobserver.js
     ${GSA_SRC_DIR}/src/web/components/observer/locationobserver.js
     ${GSA_SRC_DIR}/src/web/components/observer/sessionobserver.js
     ${GSA_SRC_DIR}/src/web/components/pagination/pagination.js
     ${GSA_SRC_DIR}/src/web/components/panel/infopanel.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/applyoverridesgroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/autofpgroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/createnamedfiltergroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/dialog.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/dialogproptypes.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/filterstringgroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/filterdialog.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/firstresultgroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/minqodgroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/powerfilter.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/resultsperpagegroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/severitylevelsgroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/solutiontypegroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/sortbygroup.js
     ${GSA_SRC_DIR}/src/web/components/powerfilter/withFilterDialog.js
     ${GSA_SRC_DIR}/src/web/components/provider/capabilitiesprovider.js
     ${GSA_SRC_DIR}/src/web/components/provider/gmpprovider.js
     ${GSA_SRC_DIR}/src/web/components/provider/iconsizeprovider.js
     ${GSA_SRC_DIR}/src/web/components/provider/subscriptionprovider.js
     ${GSA_SRC_DIR}/src/web/components/qod/qod.js
     ${GSA_SRC_DIR}/src/web/components/section/header.js
     ${GSA_SRC_DIR}/src/web/components/section/section.js
     ${GSA_SRC_DIR}/src/web/components/sortby/sortby.js
     ${GSA_SRC_DIR}/src/web/components/sortable/emptyrow.js
     ${GSA_SRC_DIR}/src/web/components/sortable/grid.js
     ${GSA_SRC_DIR}/src/web/components/sortable/item.js
     ${GSA_SRC_DIR}/src/web/components/sortable/resizer.js
     ${GSA_SRC_DIR}/src/web/components/sortable/row.js
     ${GSA_SRC_DIR}/src/web/components/structure/footer.js
     ${GSA_SRC_DIR}/src/web/components/structure/header.js
     ${GSA_SRC_DIR}/src/web/components/structure/main.js
     ${GSA_SRC_DIR}/src/web/components/tab/tab.js
     ${GSA_SRC_DIR}/src/web/components/tab/tablayout.js
     ${GSA_SRC_DIR}/src/web/components/tab/tablist.js
     ${GSA_SRC_DIR}/src/web/components/tab/tabpanel.js
     ${GSA_SRC_DIR}/src/web/components/tab/tabpanels.js
     ${GSA_SRC_DIR}/src/web/components/tab/tabs.js
     ${GSA_SRC_DIR}/src/web/components/table/body.js
     ${GSA_SRC_DIR}/src/web/components/table/data.js
     ${GSA_SRC_DIR}/src/web/components/table/detailstable.js
     ${GSA_SRC_DIR}/src/web/components/table/header.js
     ${GSA_SRC_DIR}/src/web/components/table/head.js
     ${GSA_SRC_DIR}/src/web/components/table/infotable.js
     ${GSA_SRC_DIR}/src/web/components/table/row.js
     ${GSA_SRC_DIR}/src/web/components/table/simpletable.js
     ${GSA_SRC_DIR}/src/web/components/table/stripedtable.js
     ${GSA_SRC_DIR}/src/web/components/table/table.js
     ${GSA_SRC_DIR}/src/web/entities/actions.js
     ${GSA_SRC_DIR}/src/web/entities/container.js
     ${GSA_SRC_DIR}/src/web/entities/entitynametabledata.js
     ${GSA_SRC_DIR}/src/web/entities/filterprovider.js
     ${GSA_SRC_DIR}/src/web/entities/footer.js
     ${GSA_SRC_DIR}/src/web/entities/header.js
     ${GSA_SRC_DIR}/src/web/entities/page.js
     ${GSA_SRC_DIR}/src/web/entities/row.js
     ${GSA_SRC_DIR}/src/web/entities/selection.js
     ${GSA_SRC_DIR}/src/web/entities/table.js
     ${GSA_SRC_DIR}/src/web/entities/tagsdialog.js
     ${GSA_SRC_DIR}/src/web/entities/withEntitiesActions.js
     ${GSA_SRC_DIR}/src/web/entities/withEntitiesContainer.js
     ${GSA_SRC_DIR}/src/web/entities/withRowDetails.js
     ${GSA_SRC_DIR}/src/web/entity/block.js
     ${GSA_SRC_DIR}/src/web/entity/box.js
     ${GSA_SRC_DIR}/src/web/entity/component.js
     ${GSA_SRC_DIR}/src/web/entity/container.js
     ${GSA_SRC_DIR}/src/web/entity/icon/cloneicon.js
     ${GSA_SRC_DIR}/src/web/entity/icon/createicon.js
     ${GSA_SRC_DIR}/src/web/entity/icon/deleteicon.js
     ${GSA_SRC_DIR}/src/web/entity/icon/editicon.js
     ${GSA_SRC_DIR}/src/web/entity/icon/observericon.js
     ${GSA_SRC_DIR}/src/web/entity/icon/trashicon.js
     ${GSA_SRC_DIR}/src/web/entity/icon/verifyicon.js
     ${GSA_SRC_DIR}/src/web/entity/info.js
     ${GSA_SRC_DIR}/src/web/entity/link.js
     ${GSA_SRC_DIR}/src/web/entity/note.js
     ${GSA_SRC_DIR}/src/web/entity/override.js
     ${GSA_SRC_DIR}/src/web/entity/page.js
     ${GSA_SRC_DIR}/src/web/entity/permissions.js
     ${GSA_SRC_DIR}/src/web/entity/tab.js
     ${GSA_SRC_DIR}/src/web/entity/tags.js
     ${GSA_SRC_DIR}/src/web/entity/withEntityContainer.js
     ${GSA_SRC_DIR}/src/web/pages/agents/component.js
     ${GSA_SRC_DIR}/src/web/pages/agents/details.js
     ${GSA_SRC_DIR}/src/web/pages/agents/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/agents/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/agents/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/agents/row.js
     ${GSA_SRC_DIR}/src/web/pages/agents/table.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/alembavfiremethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/component.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/condition.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/contentcomposerdialog.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/details.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/emailmethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/event.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/filtercountchangedconditionpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/filtercountleastconditionpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/httpmethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/method.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/scpmethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/secinfoeventpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/sendmethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/severitychangedconditionpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/severityleastconditionpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/snmpmethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/sourcefiremethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/starttaskmethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/table.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/taskeventpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/ticketeventpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/tippingpointmethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/alerts/verinicemethodpart.js
     ${GSA_SRC_DIR}/src/web/pages/audits/actions.js
     ${GSA_SRC_DIR}/src/web/pages/audits/component.js
     ${GSA_SRC_DIR}/src/web/pages/audits/details.js
     ${GSA_SRC_DIR}/src/web/pages/audits/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/audits/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/audits/icons/resumeicon.js
     ${GSA_SRC_DIR}/src/web/pages/audits/icons/starticon.js
     ${GSA_SRC_DIR}/src/web/pages/audits/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/audits/row.js
     ${GSA_SRC_DIR}/src/web/pages/audits/table.js
     ${GSA_SRC_DIR}/src/web/pages/credentials/component.js
     ${GSA_SRC_DIR}/src/web/pages/credentials/details.js
     ${GSA_SRC_DIR}/src/web/pages/credentials/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/credentials/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/credentials/downloadicon.js
     ${GSA_SRC_DIR}/src/web/pages/credentials/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/credentials/row.js
     ${GSA_SRC_DIR}/src/web/pages/credentials/table.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/details.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/row.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/table.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/certbund/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/details.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/row.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/table.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/cpes/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/cves/details.js
     ${GSA_SRC_DIR}/src/web/pages/cves/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/cves/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/cves/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/cves/row.js
     ${GSA_SRC_DIR}/src/web/pages/cves/table.js
     ${GSA_SRC_DIR}/src/web/pages/cves/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/cves/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/cves/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/cves/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/cves/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/details.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/row.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/table.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/table.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/dfncert/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/extras/cvsscalculatorpage.js
     ${GSA_SRC_DIR}/src/web/pages/extras/feedstatuspage.js
     ${GSA_SRC_DIR}/src/web/pages/extras/trashactions.js
     ${GSA_SRC_DIR}/src/web/pages/extras/trashcanpage.js
     ${GSA_SRC_DIR}/src/web/pages/filters/component.js
     ${GSA_SRC_DIR}/src/web/pages/filters/details.js
     ${GSA_SRC_DIR}/src/web/pages/filters/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/filters/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/filters/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/filters/row.js
     ${GSA_SRC_DIR}/src/web/pages/filters/table.js
     ${GSA_SRC_DIR}/src/web/pages/groups/component.js
     ${GSA_SRC_DIR}/src/web/pages/groups/details.js
     ${GSA_SRC_DIR}/src/web/pages/groups/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/groups/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/groups/header.js
     ${GSA_SRC_DIR}/src/web/pages/groups/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/groups/row.js
     ${GSA_SRC_DIR}/src/web/pages/groups/table.js
     ${GSA_SRC_DIR}/src/web/pages/help/about.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/component.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/details.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/identifiers.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/row.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/table.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/dashboard/modifieddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/dashboard/modifiedhighdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/dashboard/topologydisplay.js
     ${GSA_SRC_DIR}/src/web/pages/hosts/dashboard/vulnscoredisplay.js
     ${GSA_SRC_DIR}/src/web/pages/ldap/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/ldap/ldappage.js
     ${GSA_SRC_DIR}/src/web/pages/login/loginform.js
     ${GSA_SRC_DIR}/src/web/pages/login/loginpage.js
     ${GSA_SRC_DIR}/src/web/pages/notes/component.js
     ${GSA_SRC_DIR}/src/web/pages/notes/details.js
     ${GSA_SRC_DIR}/src/web/pages/notes/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/notes/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/notes/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/notes/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/notes/row.js
     ${GSA_SRC_DIR}/src/web/pages/notes/table.js
     ${GSA_SRC_DIR}/src/web/pages/notes/dashboard/activedaysdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/notes/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/notes/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/notes/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/notes/dashboard/wordclouddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/notfoundpage.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/component.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/details.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/nvtpreference.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/preferences.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/preformatted.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/references.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/row.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/solution.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/table.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/dashboard/familydisplay.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/dashboard/qoddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/nvts/dashboard/qodtypedisplay.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/component.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/row.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/table.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/operatingsystems/dashboard/vulnscoredisplay.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/details.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/row.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/table.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/dashboard/classdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/ovaldefs/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/component.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/details.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/row.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/table.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/dashboard/activedaysdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/overrides/dashboard/wordclouddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/page.js
     ${GSA_SRC_DIR}/src/web/pages/performance/performancepage.js
     ${GSA_SRC_DIR}/src/web/pages/performance/startendtimeselection.js
     ${GSA_SRC_DIR}/src/web/pages/permissions/component.js
     ${GSA_SRC_DIR}/src/web/pages/permissions/details.js
     ${GSA_SRC_DIR}/src/web/pages/permissions/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/permissions/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/permissions/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/permissions/multipledialog.js
     ${GSA_SRC_DIR}/src/web/pages/permissions/row.js
     ${GSA_SRC_DIR}/src/web/pages/permissions/table.js
     ${GSA_SRC_DIR}/src/web/pages/policies/component.js
     ${GSA_SRC_DIR}/src/web/pages/policies/details.js
     ${GSA_SRC_DIR}/src/web/pages/policies/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/policies/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/policies/header.js
     ${GSA_SRC_DIR}/src/web/pages/policies/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/policies/row.js
     ${GSA_SRC_DIR}/src/web/pages/policies/table.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/component.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/details.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/importdialog.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/portrangedialog.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/portrangestable.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/row.js
     ${GSA_SRC_DIR}/src/web/pages/portlists/table.js
     ${GSA_SRC_DIR}/src/web/pages/radius/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/radius/radiuspage.js
     ${GSA_SRC_DIR}/src/web/pages/reportformats/component.js
     ${GSA_SRC_DIR}/src/web/pages/reportformats/details.js
     ${GSA_SRC_DIR}/src/web/pages/reportformats/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/reportformats/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/reportformats/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/reportformats/row.js
     ${GSA_SRC_DIR}/src/web/pages/reportformats/table.js
     ${GSA_SRC_DIR}/src/web/pages/reports/deltaresultsfiltergroup.js
     ${GSA_SRC_DIR}/src/web/pages/reports/detailscontent.js
     ${GSA_SRC_DIR}/src/web/pages/reports/detailsfilterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/reports/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/alertactions.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/applicationstab.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/applicationstable.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/closedcvestab.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/closedcvestable.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/cvestab.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/cvestable.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/emptyreport.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/emptyresultsreport.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/errorstab.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/errorstable.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/hoststab.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/hoststable.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/operatingsystemstab.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/operatingsystemstable.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/portstab.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/portstable.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/reportentitiescontainer.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/reportpanel.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/resultstab.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/summary.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/thresholdpanel.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/tlscertificatestab.js
     ${GSA_SRC_DIR}/src/web/pages/reports/details/tlscertificatestable.js
     ${GSA_SRC_DIR}/src/web/pages/reports/downloadreportdialog.js
     ${GSA_SRC_DIR}/src/web/pages/reports/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/reports/importdialog.js
     ${GSA_SRC_DIR}/src/web/pages/reports/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/reports/row.js
     ${GSA_SRC_DIR}/src/web/pages/reports/table.js
     ${GSA_SRC_DIR}/src/web/pages/reports/thresholdmessage.js
     ${GSA_SRC_DIR}/src/web/pages/reports/triggeralertdialog.js
     ${GSA_SRC_DIR}/src/web/pages/reports/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/reports/dashboard/highresultsdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/reports/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/reports/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/reports/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/results/delta.js
     ${GSA_SRC_DIR}/src/web/pages/results/details.js
     ${GSA_SRC_DIR}/src/web/pages/results/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/results/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/results/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/results/row.js
     ${GSA_SRC_DIR}/src/web/pages/results/table.js
     ${GSA_SRC_DIR}/src/web/pages/results/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/results/dashboard/descriptionwordclouddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/results/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/results/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/results/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/results/dashboard/wordclouddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/roles/component.js
     ${GSA_SRC_DIR}/src/web/pages/roles/details.js
     ${GSA_SRC_DIR}/src/web/pages/roles/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/roles/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/roles/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/roles/row.js
     ${GSA_SRC_DIR}/src/web/pages/roles/table.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/component.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/details.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/editconfigfamilydialog.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/editdialog.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/editnvtdetailsdialog.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/header.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/importdialog.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/row.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/table.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/trend.js
     ${GSA_SRC_DIR}/src/web/pages/scanconfigs/scannerpreferences.js
     ${GSA_SRC_DIR}/src/web/pages/scanners/component.js
     ${GSA_SRC_DIR}/src/web/pages/scanners/details.js
     ${GSA_SRC_DIR}/src/web/pages/scanners/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/scanners/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/scanners/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/scanners/row.js
     ${GSA_SRC_DIR}/src/web/pages/scanners/table.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/component.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/dayselect.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/details.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/monthdaysselect.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/row.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/render.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/table.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/timeunitselect.js
     ${GSA_SRC_DIR}/src/web/pages/schedules/weekdayselect.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/details.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/row.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/table.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/secinfo/dashboard/typedisplay.js
     ${GSA_SRC_DIR}/src/web/pages/start/confirmremovedialog.js
     ${GSA_SRC_DIR}/src/web/pages/start/dashboard.js
     ${GSA_SRC_DIR}/src/web/pages/start/editdashboarddialog.js
     ${GSA_SRC_DIR}/src/web/pages/start/newdashboarddialog.js
     ${GSA_SRC_DIR}/src/web/pages/start/page.js
     ${GSA_SRC_DIR}/src/web/pages/tags/component.js
     ${GSA_SRC_DIR}/src/web/pages/tags/details.js
     ${GSA_SRC_DIR}/src/web/pages/tags/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/tags/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/tags/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/tags/resourcelist.js
     ${GSA_SRC_DIR}/src/web/pages/tags/row.js
     ${GSA_SRC_DIR}/src/web/pages/tags/table.js
     ${GSA_SRC_DIR}/src/web/pages/targets/component.js
     ${GSA_SRC_DIR}/src/web/pages/targets/details.js
     ${GSA_SRC_DIR}/src/web/pages/targets/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/targets/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/targets/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/targets/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/targets/row.js
     ${GSA_SRC_DIR}/src/web/pages/targets/table.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/actions.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/addresultstoassetsgroup.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/autodeletereportsgroup.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/component.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/containerdialog.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/dashboard/schedulesdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/dashboard/statusdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/details.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/icons/importreporticon.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/icons/newiconmenu.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/icons/resumeicon.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/icons/scheduleicon.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/icons/starticon.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/icons/stopicon.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/row.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/status.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/table.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/task.js
     ${GSA_SRC_DIR}/src/web/pages/tasks/trend.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/component.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/createdialog.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/dashboard/createddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/dashboard/statusdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/dashboard/usersassigneddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/details.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/editdialog.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/tickets/table.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/component.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/details.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/row.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/table.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/dashboard/modifieddisplay.js
     ${GSA_SRC_DIR}/src/web/pages/tlscertificates/dashboard/timestatusdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/users/component.js
     ${GSA_SRC_DIR}/src/web/pages/users/confirmdeletedialog.js
     ${GSA_SRC_DIR}/src/web/pages/users/details.js
     ${GSA_SRC_DIR}/src/web/pages/users/detailspage.js
     ${GSA_SRC_DIR}/src/web/pages/users/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/users/header.js
     ${GSA_SRC_DIR}/src/web/pages/users/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/users/row.js
     ${GSA_SRC_DIR}/src/web/pages/users/table.js
     ${GSA_SRC_DIR}/src/web/pages/usersettings/defaultspart.js
     ${GSA_SRC_DIR}/src/web/pages/usersettings/dialog.js
     ${GSA_SRC_DIR}/src/web/pages/usersettings/filterpart.js
     ${GSA_SRC_DIR}/src/web/pages/usersettings/generalpart.js
     ${GSA_SRC_DIR}/src/web/pages/usersettings/severitypart.js
     ${GSA_SRC_DIR}/src/web/pages/usersettings/usersettingspage.js
     ${GSA_SRC_DIR}/src/web/pages/vulns/dashboard/cvssdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/vulns/dashboard/hostsdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/vulns/dashboard/index.js
     ${GSA_SRC_DIR}/src/web/pages/vulns/dashboard/loaders.js
     ${GSA_SRC_DIR}/src/web/pages/vulns/dashboard/severityclassdisplay.js
     ${GSA_SRC_DIR}/src/web/pages/vulns/filterdialog.js
     ${GSA_SRC_DIR}/src/web/pages/vulns/listpage.js
     ${GSA_SRC_DIR}/src/web/pages/vulns/row.js
     ${GSA_SRC_DIR}/src/web/pages/vulns/table.js
     ${GSA_SRC_DIR}/src/web/routes.js
     ${GSA_SRC_DIR}/src/web/store/actions.js
     ${GSA_SRC_DIR}/src/web/store/dashboard/data/actions.js
     ${GSA_SRC_DIR}/src/web/store/dashboard/data/loader.js
     ${GSA_SRC_DIR}/src/web/store/dashboard/data/reducers.js
     ${GSA_SRC_DIR}/src/web/store/dashboard/data/selectors.js
     ${GSA_SRC_DIR}/src/web/store/dashboard/settings/actions.js
     ${GSA_SRC_DIR}/src/web/store/dashboard/settings/reducers.js
     ${GSA_SRC_DIR}/src/web/store/dashboard/settings/selectors.js
     ${GSA_SRC_DIR}/src/web/store/index.js
     ${GSA_SRC_DIR}/src/web/store/reducers.js
     ${GSA_SRC_DIR}/src/web/store/entities/agents.js
     ${GSA_SRC_DIR}/src/web/store/entities/alerts.js
     ${GSA_SRC_DIR}/src/web/store/entities/audits.js
     ${GSA_SRC_DIR}/src/web/store/entities/certbund.js
     ${GSA_SRC_DIR}/src/web/store/entities/cpes.js
     ${GSA_SRC_DIR}/src/web/store/entities/credentials.js
     ${GSA_SRC_DIR}/src/web/store/entities/cves.js
     ${GSA_SRC_DIR}/src/web/store/entities/dfncerts.js
     ${GSA_SRC_DIR}/src/web/store/entities/filters.js
     ${GSA_SRC_DIR}/src/web/store/entities/groups.js
     ${GSA_SRC_DIR}/src/web/store/entities/hosts.js
     ${GSA_SRC_DIR}/src/web/store/entities/notes.js
     ${GSA_SRC_DIR}/src/web/store/entities/nvts.js
     ${GSA_SRC_DIR}/src/web/store/entities/operatingsystems.js
     ${GSA_SRC_DIR}/src/web/store/entities/ovaldefs.js
     ${GSA_SRC_DIR}/src/web/store/entities/overrides.js
     ${GSA_SRC_DIR}/src/web/store/entities/permissions.js
     ${GSA_SRC_DIR}/src/web/store/entities/policies.js
     ${GSA_SRC_DIR}/src/web/store/entities/portlists.js
     ${GSA_SRC_DIR}/src/web/store/entities/reducers.js
     ${GSA_SRC_DIR}/src/web/store/entities/reportformats.js
     ${GSA_SRC_DIR}/src/web/store/entities/report/actions.js
     ${GSA_SRC_DIR}/src/web/store/entities/report/reducers.js
     ${GSA_SRC_DIR}/src/web/store/entities/report/selectors.js
     ${GSA_SRC_DIR}/src/web/store/entities/reports.js
     ${GSA_SRC_DIR}/src/web/store/entities/reports/reducers.js
     ${GSA_SRC_DIR}/src/web/store/entities/results.js
     ${GSA_SRC_DIR}/src/web/store/entities/roles.js
     ${GSA_SRC_DIR}/src/web/store/entities/scanconfigs.js
     ${GSA_SRC_DIR}/src/web/store/entities/scanners.js
     ${GSA_SRC_DIR}/src/web/store/entities/schedules.js
     ${GSA_SRC_DIR}/src/web/store/entities/secinfo.js
     ${GSA_SRC_DIR}/src/web/store/entities/tags.js
     ${GSA_SRC_DIR}/src/web/store/entities/targets.js
     ${GSA_SRC_DIR}/src/web/store/entities/tasks.js
     ${GSA_SRC_DIR}/src/web/store/entities/tickets.js
     ${GSA_SRC_DIR}/src/web/store/entities/users.js
     ${GSA_SRC_DIR}/src/web/store/entities/vulns.js
     ${GSA_SRC_DIR}/src/web/store/entities/utils/actions.js
     ${GSA_SRC_DIR}/src/web/store/entities/utils/main.js
     ${GSA_SRC_DIR}/src/web/store/entities/utils/reducers.js
     ${GSA_SRC_DIR}/src/web/store/entities/utils/selectors.js
     ${GSA_SRC_DIR}/src/web/store/pages/actions.js
     ${GSA_SRC_DIR}/src/web/store/pages/reducers.js
     ${GSA_SRC_DIR}/src/web/store/pages/selectors.js
     ${GSA_SRC_DIR}/src/web/store/usersettings/defaults/actions.js
     ${GSA_SRC_DIR}/src/web/store/usersettings/defaults/reducers.js
     ${GSA_SRC_DIR}/src/web/store/usersettings/defaults/selectors.js
     ${GSA_SRC_DIR}/src/web/store/usersettings/actions.js
     ${GSA_SRC_DIR}/src/web/store/usersettings/reducers.js
     ${GSA_SRC_DIR}/src/web/store/usersettings/selectors.js
     ${GSA_SRC_DIR}/src/web/store/utils.js
     ${GSA_SRC_DIR}/src/web/authorized.js
     ${GSA_SRC_DIR}/src/web/utils/cert.js
     ${GSA_SRC_DIR}/src/web/utils/compose.js
     ${GSA_SRC_DIR}/src/web/utils/cpe.js
     ${GSA_SRC_DIR}/src/web/utils/os.js
     ${GSA_SRC_DIR}/src/web/utils/proptypes.js
     ${GSA_SRC_DIR}/src/web/utils/render.js
     ${GSA_SRC_DIR}/src/web/utils/selectiontype.js
     ${GSA_SRC_DIR}/src/web/utils/severity.js
     ${GSA_SRC_DIR}/src/web/utils/sort.js
     ${GSA_SRC_DIR}/src/web/utils/theme.js
     ${GSA_SRC_DIR}/src/web/utils/state.js
     ${GSA_SRC_DIR}/src/web/utils/urls.js
     ${GSA_SRC_DIR}/src/web/utils/withCapabilities.js
     ${GSA_SRC_DIR}/src/web/utils/withComponentDefaults.js
     ${GSA_SRC_DIR}/src/web/utils/withGmp.js
     ${GSA_SRC_DIR}/src/web/utils/withPrefix.js
     ${GSA_SRC_DIR}/src/web/utils/withSubscription.js
     ${GSA_SRC_DIR}/src/web/utils/withUserName.js
     ${GSA_SRC_DIR}/src/web/wizard/advancedtaskwizard.js
     ${GSA_SRC_DIR}/src/web/wizard/modifytaskwizard.js
     ${GSA_SRC_DIR}/src/web/wizard/taskwizard.js
     )

set (GSA_JS_SRC_FILES
     ${GSA_JS_SRC_FILES}
     PARENT_SCOPE)


add_custom_command (OUTPUT node-modules.stamp
                    DEPENDS ${GSA_PKG_FILES}
                    COMMAND ${INSTALLER} "${INSTALLER_ARGS}" "install"
                    COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/node-modules.stamp
                    WORKING_DIRECTORY ${GSA_SRC_DIR}
                    COMMENT "Install gsa-ng js dependencies")


add_custom_command (OUTPUT bundle.stamp
                    COMMAND ${CMAKE_COMMAND} -E env REACT_APP_VERSION=${PROJECT_VERSION_STRING} ${INSTALLER} "${INSTALLER_ARGS}" run build
                    COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/bundle.stamp
                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
                    DEPENDS  ${CMAKE_CURRENT_BINARY_DIR}/node-modules.stamp
                             ${GSA_PKG_FILES}
                             ${GSA_STATIC_SRC_FILES}
                             ${GSA_JS_SRC_FILES}
                    COMMENT "Build gsa-ng install files")

add_custom_target (gsa-ng ALL
                   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/node-modules.stamp
                           ${CMAKE_CURRENT_BINARY_DIR}/bundle.stamp)

set (GSA_STATIC_BUILD_FILES
     ${GSA_BUILD_DIR}/index.html)

install (FILES ${GSA_STATIC_BUILD_FILES}
         DESTINATION ${GSA_DEST_DIR})

install (FILES public/robots.txt
         DESTINATION ${GSA_DEST_DIR})

# remove old generated files
install (CODE "file(REMOVE_RECURSE ${GSA_DEST_DIR}/static)")

install (DIRECTORY
         ${GSA_BUILD_DIR}/static
         ${GSA_BUILD_DIR}/img
         DESTINATION ${GSA_DEST_DIR})

## Translations
add_subdirectory (po)
