From 1ef61687d8cddbfeaebe6ca3cc4375d54aa13def Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Mon, 5 Apr 2021 14:47:04 -0700 Subject: [PATCH 01/19] GUACAMOLE-773: Migrate to NPM for AngularJS portion of webapp build. --- guacamole/.ratignore | 2 + guacamole/pom.xml | 234 +- guacamole/src/main/frontend/.gitignore | 4 + .../license.txt => frontend/externs.js} | 16 + guacamole/src/main/frontend/gulpfile.js | 105 + guacamole/src/main/frontend/package-lock.json | 6808 +++++++++++++++++ guacamole/src/main/frontend/package.json | 36 + .../src}/app/auth/authModule.js | 0 .../app/auth/service/authenticationService.js | 0 .../app/auth/types/AuthenticationResult.js | 0 .../src}/app/client/clientModule.js | 0 .../client/controllers/clientController.js | 0 .../src}/app/client/directives/guacClient.js | 0 .../app/client/directives/guacClientPanel.js | 0 .../app/client/directives/guacFileBrowser.js | 0 .../app/client/directives/guacFileTransfer.js | 0 .../directives/guacFileTransferManager.js | 0 .../app/client/directives/guacThumbnail.js | 0 .../app/client/directives/guacViewport.js | 0 .../app/client/directives/guacZoomCtrl.js | 0 .../src}/app/client/services/guacAudio.js | 0 .../app/client/services/guacClientManager.js | 0 .../src}/app/client/services/guacImage.js | 0 .../src}/app/client/services/guacVideo.js | 0 .../src}/app/client/styles/client.css | 0 .../client/styles/connection-select-menu.css | 0 .../app/client/styles/connection-warning.css | 0 .../src}/app/client/styles/display.css | 0 .../src}/app/client/styles/file-browser.css | 0 .../client/styles/file-transfer-dialog.css | 0 .../app/client/styles/filesystem-menu.css | 0 .../src}/app/client/styles/guac-menu.css | 0 .../src}/app/client/styles/keyboard.css | 0 .../src}/app/client/styles/menu.css | 0 .../src}/app/client/styles/notification.css | 0 .../app/client/styles/other-connections.css | 0 .../src}/app/client/styles/share-menu.css | 0 .../app/client/styles/thumbnail-display.css | 0 .../app/client/styles/transfer-manager.css | 0 .../src}/app/client/styles/transfer.css | 0 .../src}/app/client/styles/viewport.css | 0 .../src}/app/client/templates/client.html | 0 .../src}/app/client/templates/connection.html | 0 .../app/client/templates/connectionGroup.html | 0 .../src}/app/client/templates/file.html | 0 .../src}/app/client/templates/guacClient.html | 0 .../app/client/templates/guacClientPanel.html | 0 .../app/client/templates/guacFileBrowser.html | 0 .../client/templates/guacFileTransfer.html | 0 .../templates/guacFileTransferManager.html | 0 .../app/client/templates/guacThumbnail.html | 0 .../app/client/templates/guacViewport.html | 0 .../src}/app/client/types/ClientProperties.js | 0 .../src}/app/client/types/ManagedArgument.js | 0 .../src}/app/client/types/ManagedClient.js | 0 .../app/client/types/ManagedClientState.js | 0 .../client/types/ManagedClientThumbnail.js | 0 .../src}/app/client/types/ManagedDisplay.js | 0 .../client/types/ManagedFileTransferState.js | 0 .../app/client/types/ManagedFileUpload.js | 0 .../app/client/types/ManagedFilesystem.js | 0 .../src}/app/client/types/ManagedShareLink.js | 0 .../src}/app/clipboard/clipboardModule.js | 0 .../app/clipboard/directives/guacClipboard.js | 0 .../clipboard/services/clipboardService.js | 0 .../src}/app/clipboard/styles/clipboard.css | 0 .../clipboard/templates/guacClipboard.html | 0 .../src}/app/clipboard/types/ClipboardData.js | 0 .../src}/app/element/directives/guacFocus.js | 0 .../src}/app/element/directives/guacMarker.js | 0 .../src}/app/element/directives/guacResize.js | 0 .../src}/app/element/directives/guacScroll.js | 0 .../src}/app/element/directives/guacUpload.js | 0 .../src}/app/element/elementModule.js | 0 .../src}/app/element/styles/resize-sensor.css | 0 .../src}/app/element/templates/blank.html | 0 .../src}/app/element/types/Marker.js | 0 .../src}/app/element/types/ScrollState.js | 0 .../controllers/checkboxFieldController.js | 0 .../form/controllers/dateFieldController.js | 0 .../controllers/languageFieldController.js | 0 .../form/controllers/numberFieldController.js | 0 .../controllers/passwordFieldController.js | 0 .../controllers/redirectFieldController.js | 0 .../form/controllers/selectFieldController.js | 0 .../terminalColorSchemeFieldController.js | 0 .../form/controllers/textFieldController.js | 0 .../form/controllers/timeFieldController.js | 0 .../controllers/timeZoneFieldController.js | 0 .../src}/app/form/directives/form.js | 0 .../src}/app/form/directives/formField.js | 0 .../app/form/directives/guacInputColor.js | 0 .../app/form/directives/guacLenientDate.js | 0 .../app/form/directives/guacLenientTime.js | 0 .../src}/app/form/formModule.js | 0 .../app/form/services/colorPickerService.js | 0 .../src}/app/form/services/formService.js | 0 .../src}/app/form/styles/form-field.css | 0 .../src}/app/form/styles/form.css | 0 .../src}/app/form/styles/redirect-field.css | 0 .../styles/terminal-color-scheme-field.css | 0 .../app/form/templates/checkboxField.html | 0 .../src}/app/form/templates/dateField.html | 0 .../src}/app/form/templates/emailField.html | 0 .../src}/app/form/templates/form.html | 0 .../src}/app/form/templates/formField.html | 0 .../app/form/templates/guacInputColor.html | 0 .../app/form/templates/languageField.html | 0 .../src}/app/form/templates/numberField.html | 0 .../app/form/templates/passwordField.html | 0 .../app/form/templates/redirectField.html | 0 .../src}/app/form/templates/selectField.html | 0 .../templates/terminalColorSchemeField.html | 0 .../app/form/templates/textAreaField.html | 0 .../src}/app/form/templates/textField.html | 0 .../src}/app/form/templates/timeField.html | 0 .../app/form/templates/timeZoneField.html | 0 .../src}/app/form/types/ColorScheme.js | 0 .../src}/app/form/types/FieldType.js | 0 .../app/groupList/directives/guacGroupList.js | 0 .../directives/guacGroupListFilter.js | 0 .../src}/app/groupList/groupListModule.js | 0 .../groupList/templates/guacGroupList.html | 0 .../templates/guacGroupListFilter.html | 0 .../src}/app/groupList/types/GroupListItem.js | 0 .../src}/app/history/historyModule.js | 0 .../src}/app/history/services/guacHistory.js | 0 .../src}/app/history/types/HistoryEntry.js | 0 .../app/home/controllers/homeController.js | 0 .../home/directives/guacRecentConnections.js | 0 .../src}/app/home/homeModule.js | 0 .../src}/app/home/styles/home.css | 0 .../src}/app/home/templates/connection.html | 0 .../app/home/templates/connectionGroup.html | 0 .../home/templates/guacRecentConnections.html | 0 .../src}/app/home/templates/home.html | 0 .../src}/app/home/types/ActiveConnection.js | 0 .../src}/app/home/types/RecentConnection.js | 0 .../src}/app/index/config/httpDefaults.js | 0 .../src}/app/index/config/indexRouteConfig.js | 0 .../index/config/indexTranslationConfig.js | 0 .../index/config/templateRequestDecorator.js | 0 .../app/index/controllers/indexController.js | 0 .../src}/app/index/filters/arrayFilter.js | 0 .../src}/app/index/indexModule.js | 0 .../src}/app/index/services/iconService.js | 0 .../src}/app/index/styles/animation.css | 0 .../src}/app/index/styles/buttons.css | 0 .../src}/app/index/styles/dialog.css | 0 .../app/index/styles/fatal-page-error.css | 0 .../src}/app/index/styles/font-carlito.css | 0 .../src}/app/index/styles/headers.css | 0 .../src}/app/index/styles/input.css | 0 .../src}/app/index/styles/lists.css | 0 .../src}/app/index/styles/loading.css | 0 .../src}/app/index/styles/sorted-tables.css | 0 .../src}/app/index/styles/status.css | 0 .../src}/app/index/styles/ui.css | 0 .../src}/app/list/directives/guacFilter.js | 0 .../src}/app/list/directives/guacPager.js | 0 .../src}/app/list/directives/guacSortOrder.js | 0 .../src}/app/list/directives/guacUserItem.js | 0 .../src}/app/list/listModule.js | 0 .../src}/app/list/styles/filter.css | 0 .../src}/app/list/styles/pager.css | 0 .../src}/app/list/styles/user-item.css | 0 .../src}/app/list/templates/guacFilter.html | 0 .../src}/app/list/templates/guacPager.html | 0 .../src}/app/list/templates/guacUserItem.html | 0 .../src}/app/list/types/FilterPattern.js | 0 .../src}/app/list/types/FilterToken.js | 0 .../src}/app/list/types/IPv4Network.js | 0 .../src}/app/list/types/IPv6Network.js | 0 .../src}/app/list/types/SortOrder.js | 0 .../src}/app/locale/localeModule.js | 0 .../app/locale/services/translationLoader.js | 0 .../services/translationStringService.js | 0 .../src}/app/login/directives/login.js | 0 .../src}/app/login/loginModule.js | 0 .../src}/app/login/styles/animation.css | 0 .../src}/app/login/styles/dialog.css | 0 .../src}/app/login/styles/input.css | 0 .../src}/app/login/styles/login.css | 0 .../src}/app/login/templates/login.html | 0 .../controllers/manageConnectionController.js | 0 .../manageConnectionGroupController.js | 0 .../manageSharingProfileController.js | 0 .../controllers/manageUserController.js | 0 .../controllers/manageUserGroupController.js | 0 .../directives/connectionPermissionEditor.js | 0 .../app/manage/directives/dataSourceTabs.js | 0 .../manage/directives/identifierSetEditor.js | 0 .../app/manage/directives/locationChooser.js | 0 .../manage/directives/managementButtons.js | 0 .../directives/systemPermissionEditor.js | 0 .../src}/app/manage/manageModule.js | 0 .../src}/app/manage/styles/attributes.css | 0 .../manage/styles/connection-parameter.css | 0 .../src}/app/manage/styles/forms.css | 0 .../app/manage/styles/locationChooser.css | 0 .../app/manage/styles/manage-user-group.css | 0 .../src}/app/manage/styles/manage-user.css | 0 .../app/manage/styles/related-objects.css | 0 .../templates/connectionGroupPermission.html | 0 .../templates/connectionPermission.html | 0 .../templates/connectionPermissionEditor.html | 0 .../app/manage/templates/dataSourceTabs.html | 0 .../manage/templates/identifierSetEditor.html | 0 .../app/manage/templates/locationChooser.html | 0 .../locationChooserConnectionGroup.html | 0 .../manage/templates/manageConnection.html | 0 .../templates/manageConnectionGroup.html | 0 .../templates/manageSharingProfile.html | 0 .../src}/app/manage/templates/manageUser.html | 0 .../app/manage/templates/manageUserGroup.html | 0 .../manage/templates/managementButtons.html | 0 .../templates/sharingProfilePermission.html | 0 .../templates/systemPermissionEditor.html | 0 .../app/manage/types/HistoryEntryWrapper.js | 0 .../src}/app/manage/types/ManageableUser.js | 0 .../app/manage/types/ManageableUserGroup.js | 0 .../app/manage/types/ManagementPermissions.js | 0 .../app/navigation/directives/guacMenu.js | 0 .../app/navigation/directives/guacPageList.js | 0 .../navigation/directives/guacSectionTabs.js | 0 .../app/navigation/directives/guacUserMenu.js | 0 .../src}/app/navigation/navigationModule.js | 0 .../navigation/services/userPageService.js | 0 .../src}/app/navigation/styles/menu.css | 0 .../src}/app/navigation/styles/tabs.css | 0 .../src}/app/navigation/styles/user-menu.css | 0 .../app/navigation/templates/guacMenu.html | 0 .../navigation/templates/guacPageList.html | 0 .../navigation/templates/guacSectionTabs.html | 0 .../navigation/templates/guacUserMenu.html | 0 .../app/navigation/types/ClientIdentifier.js | 0 .../src}/app/navigation/types/MenuAction.js | 0 .../app/navigation/types/PageDefinition.js | 0 .../directives/guacNotification.js | 0 .../app/notification/notificationModule.js | 0 .../notification/services/guacNotification.js | 0 .../app/notification/styles/notification.css | 0 .../templates/guacNotification.html | 0 .../app/notification/types/Notification.js | 0 .../notification/types/NotificationAction.js | 0 .../types/NotificationCountdown.js | 0 .../types/NotificationProgress.js | 0 .../src}/app/osk/directives/guacOsk.js | 0 .../src}/app/osk/oskModule.js | 0 .../src}/app/osk/styles/osk.css | 0 .../src}/app/osk/templates/guacOsk.html | 0 .../src}/app/rest/restModule.js | 0 .../rest/services/activeConnectionService.js | 0 .../src}/app/rest/services/cacheService.js | 0 .../rest/services/connectionGroupService.js | 0 .../app/rest/services/connectionService.js | 0 .../app/rest/services/dataSourceService.js | 0 .../src}/app/rest/services/historyService.js | 0 .../src}/app/rest/services/languageService.js | 0 .../app/rest/services/membershipService.js | 0 .../src}/app/rest/services/patchService.js | 0 .../app/rest/services/permissionService.js | 0 .../src}/app/rest/services/requestService.js | 0 .../src}/app/rest/services/schemaService.js | 0 .../rest/services/sharingProfileService.js | 0 .../src}/app/rest/services/tunnelService.js | 0 .../app/rest/services/userGroupService.js | 0 .../src}/app/rest/services/userService.js | 0 .../src}/app/rest/types/ActiveConnection.js | 0 .../src}/app/rest/types/Connection.js | 0 .../src}/app/rest/types/ConnectionGroup.js | 0 .../app/rest/types/ConnectionHistoryEntry.js | 0 .../src}/app/rest/types/Error.js | 0 .../src}/app/rest/types/Field.js | 0 .../src}/app/rest/types/Form.js | 0 .../src}/app/rest/types/PermissionFlagSet.js | 0 .../src}/app/rest/types/PermissionPatch.js | 0 .../src}/app/rest/types/PermissionSet.js | 0 .../src}/app/rest/types/Protocol.js | 0 .../src}/app/rest/types/RelatedObjectPatch.js | 0 .../src}/app/rest/types/SharingProfile.js | 0 .../app/rest/types/TranslatableMessage.js | 0 .../src}/app/rest/types/User.js | 0 .../src}/app/rest/types/UserCredentials.js | 0 .../src}/app/rest/types/UserGroup.js | 0 .../src}/app/rest/types/UserPasswordUpdate.js | 0 .../controllers/settingsController.js | 0 .../guacSettingsConnectionHistory.js | 0 .../directives/guacSettingsConnections.js | 0 .../directives/guacSettingsPreferences.js | 0 .../directives/guacSettingsSessions.js | 0 .../directives/guacSettingsUserGroups.js | 0 .../settings/directives/guacSettingsUsers.js | 0 .../src}/app/settings/services/csvService.js | 0 .../settings/services/preferenceService.js | 0 .../src}/app/settings/settingsModule.js | 0 .../src}/app/settings/styles/buttons.css | 0 .../app/settings/styles/connection-list.css | 0 .../src}/app/settings/styles/history.css | 0 .../src}/app/settings/styles/input-method.css | 0 .../src}/app/settings/styles/mouse-mode.css | 0 .../src}/app/settings/styles/preferences.css | 0 .../src}/app/settings/styles/sessions.css | 0 .../src}/app/settings/styles/settings.css | 0 .../app/settings/styles/user-group-list.css | 0 .../src}/app/settings/styles/user-list.css | 0 .../app/settings/templates/connection.html | 0 .../settings/templates/connectionGroup.html | 0 .../app/settings/templates/newConnection.html | 0 .../templates/newConnectionGroup.html | 0 .../settings/templates/newSharingProfile.html | 0 .../src}/app/settings/templates/settings.html | 0 .../templates/settingsConnectionHistory.html | 0 .../templates/settingsConnections.html | 0 .../templates/settingsPreferences.html | 0 .../settings/templates/settingsSessions.html | 0 .../templates/settingsUserGroups.html | 0 .../app/settings/templates/settingsUsers.html | 0 .../settings/templates/sharingProfile.html | 0 .../settings/types/ActiveConnectionWrapper.js | 0 .../types/ConnectionHistoryEntryWrapper.js | 0 .../storage/services/localStorageService.js | 0 .../storage/services/sessionStorageFactory.js | 0 .../src}/app/storage/storageModule.js | 0 .../src}/app/textInput/directives/guacKey.js | 0 .../app/textInput/directives/guacTextInput.js | 0 .../src}/app/textInput/styles/textInput.css | 0 .../src}/app/textInput/templates/guacKey.html | 0 .../textInput/templates/guacTextInput.html | 0 .../src}/app/textInput/textInputModule.js | 0 .../app/touch/directives/guacTouchDrag.js | 0 .../app/touch/directives/guacTouchPinch.js | 0 .../src}/app/touch/touchModule.js | 0 .../src}/fonts/carlito/Carlito-Bold.woff | Bin .../src}/fonts/carlito/Carlito-Italic.woff | Bin .../src}/fonts/carlito/Carlito-Regular.woff | Bin .../src}/fonts/carlito/LICENSE | 0 .../src}/images/action-icons/guac-back.png | Bin .../images/action-icons/guac-config-dark.png | Bin .../src}/images/action-icons/guac-config.png | Bin .../src}/images/action-icons/guac-delete.png | Bin .../images/action-icons/guac-first-page.png | Bin .../images/action-icons/guac-group-add.png | Bin .../images/action-icons/guac-hide-pass.png | Bin .../images/action-icons/guac-home-dark.png | Bin .../src}/images/action-icons/guac-home.png | Bin .../images/action-icons/guac-key-dark.png | Bin .../src}/images/action-icons/guac-key.png | Bin .../images/action-icons/guac-last-page.png | Bin .../images/action-icons/guac-logout-dark.png | Bin .../src}/images/action-icons/guac-logout.png | Bin .../images/action-icons/guac-monitor-add.png | Bin .../images/action-icons/guac-next-page.png | Bin .../images/action-icons/guac-prev-page.png | Bin .../images/action-icons/guac-show-pass.png | Bin .../images/action-icons/guac-user-add.png | Bin .../action-icons/guac-user-group-add.png | Bin .../src}/images/arrows/down.png | Bin .../src}/images/arrows/left.png | Bin .../src}/images/arrows/right.png | Bin .../src}/images/arrows/up.png | Bin .../src}/images/checker.png | Bin .../src}/images/checkmark.png | Bin .../src}/images/circle-arrows.png | Bin .../{webapp => frontend/src}/images/cog.png | Bin .../{webapp => frontend/src}/images/drive.png | Bin .../{webapp => frontend/src}/images/file.png | Bin .../src}/images/folder-closed.png | Bin .../src}/images/folder-open.png | Bin .../src}/images/folder-up.png | Bin .../src}/images/group-icons/guac-closed.png | Bin .../src}/images/group-icons/guac-open.png | Bin .../src}/images/guac-mono-192.png | Bin .../src}/images/guac-tricolor.png | Bin .../{webapp => frontend/src}/images/lock.png | Bin .../src}/images/logo-144.png | Bin .../src}/images/logo-64.png | Bin .../src}/images/magnifier.png | Bin .../src}/images/mouse/blank.cur | Bin .../src}/images/mouse/blank.gif | Bin .../src}/images/mouse/dot.gif | Bin .../src}/images/noguacamole-logo-24.png | Bin .../{webapp => frontend/src}/images/plus.png | Bin .../src}/images/progress.png | Bin .../images/protocol-icons/guac-monitor.png | Bin .../src}/images/protocol-icons/guac-plug.png | Bin .../src}/images/protocol-icons/guac-text.png | Bin .../src}/images/settings/tablet-keys.png | Bin .../src}/images/settings/touchpad.png | Bin .../src}/images/settings/touchscreen.png | Bin .../src}/images/settings/zoom-in.png | Bin .../src}/images/settings/zoom-out.png | Bin .../{webapp => frontend/src}/images/share.png | Bin .../images/user-icons/guac-user-group.png | Bin .../src}/images/user-icons/guac-user.png | Bin .../src}/images/warning-white.png | Bin .../src}/images/warning.png | Bin .../{webapp => frontend/src}/images/x-red.png | Bin .../{webapp => frontend/src}/images/x.png | Bin .../main/{webapp => frontend/src}/index.html | 32 +- .../src}/layouts/de-de-qwertz.json | 0 .../src}/layouts/en-us-qwerty.json | 0 .../src}/layouts/es-es-qwerty.json | 0 .../src}/layouts/fr-fr-azerty.json | 0 .../src}/layouts/it-it-qwerty.json | 0 .../src}/layouts/nl-nl-qwerty.json | 0 .../src}/layouts/ru-ru-qwerty.json | 0 .../src}/relocateParameters.js | 0 .../src}/translations/ca.json | 0 .../src}/translations/cs.json | 0 .../src}/translations/de.json | 0 .../src}/translations/en.json | 0 .../src}/translations/es.json | 0 .../src}/translations/fr.json | 0 .../src}/translations/it.json | 0 .../src}/translations/ja.json | 0 .../src}/translations/ko.json | 0 .../src}/translations/nl.json | 0 .../src}/translations/no.json | 0 .../src}/translations/pt.json | 0 .../src}/translations/ru.json | 0 .../src}/translations/zh.json | 0 guacamole/src/main/frontend/webpack.config.js | 71 + .../guacamole/extension/ExtensionModule.java | 6 +- .../guacamole/rest/RESTServiceModule.java | 5 - pom.xml | 1 + 426 files changed, 7086 insertions(+), 234 deletions(-) create mode 100644 guacamole/src/main/frontend/.gitignore rename guacamole/src/main/{webapp/license.txt => frontend/externs.js} (72%) create mode 100644 guacamole/src/main/frontend/gulpfile.js create mode 100644 guacamole/src/main/frontend/package-lock.json create mode 100644 guacamole/src/main/frontend/package.json rename guacamole/src/main/{webapp => frontend/src}/app/auth/authModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/auth/service/authenticationService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/auth/types/AuthenticationResult.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/clientModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/controllers/clientController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/directives/guacClient.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/directives/guacClientPanel.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/directives/guacFileBrowser.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/directives/guacFileTransfer.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/directives/guacFileTransferManager.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/directives/guacThumbnail.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/directives/guacViewport.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/directives/guacZoomCtrl.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/services/guacAudio.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/services/guacClientManager.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/services/guacImage.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/services/guacVideo.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/client.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/connection-select-menu.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/connection-warning.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/display.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/file-browser.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/file-transfer-dialog.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/filesystem-menu.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/guac-menu.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/keyboard.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/menu.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/notification.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/other-connections.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/share-menu.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/thumbnail-display.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/transfer-manager.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/transfer.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/styles/viewport.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/client.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/connection.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/connectionGroup.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/file.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/guacClient.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/guacClientPanel.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/guacFileBrowser.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/guacFileTransfer.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/guacFileTransferManager.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/guacThumbnail.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/templates/guacViewport.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ClientProperties.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ManagedArgument.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ManagedClient.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ManagedClientState.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ManagedClientThumbnail.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ManagedDisplay.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ManagedFileTransferState.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ManagedFileUpload.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ManagedFilesystem.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/client/types/ManagedShareLink.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/clipboard/clipboardModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/clipboard/directives/guacClipboard.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/clipboard/services/clipboardService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/clipboard/styles/clipboard.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/clipboard/templates/guacClipboard.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/clipboard/types/ClipboardData.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/directives/guacFocus.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/directives/guacMarker.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/directives/guacResize.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/directives/guacScroll.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/directives/guacUpload.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/elementModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/styles/resize-sensor.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/templates/blank.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/types/Marker.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/element/types/ScrollState.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/checkboxFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/dateFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/languageFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/numberFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/passwordFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/redirectFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/selectFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/terminalColorSchemeFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/textFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/timeFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/controllers/timeZoneFieldController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/directives/form.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/directives/formField.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/directives/guacInputColor.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/directives/guacLenientDate.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/directives/guacLenientTime.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/formModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/services/colorPickerService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/services/formService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/styles/form-field.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/styles/form.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/styles/redirect-field.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/styles/terminal-color-scheme-field.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/checkboxField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/dateField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/emailField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/form.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/formField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/guacInputColor.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/languageField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/numberField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/passwordField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/redirectField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/selectField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/terminalColorSchemeField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/textAreaField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/textField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/timeField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/templates/timeZoneField.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/types/ColorScheme.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/form/types/FieldType.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/groupList/directives/guacGroupList.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/groupList/directives/guacGroupListFilter.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/groupList/groupListModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/groupList/templates/guacGroupList.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/groupList/templates/guacGroupListFilter.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/groupList/types/GroupListItem.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/history/historyModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/history/services/guacHistory.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/history/types/HistoryEntry.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/controllers/homeController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/directives/guacRecentConnections.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/homeModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/styles/home.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/templates/connection.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/templates/connectionGroup.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/templates/guacRecentConnections.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/templates/home.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/types/ActiveConnection.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/home/types/RecentConnection.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/config/httpDefaults.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/config/indexRouteConfig.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/config/indexTranslationConfig.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/config/templateRequestDecorator.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/controllers/indexController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/filters/arrayFilter.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/indexModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/services/iconService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/animation.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/buttons.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/dialog.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/fatal-page-error.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/font-carlito.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/headers.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/input.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/lists.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/loading.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/sorted-tables.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/status.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/index/styles/ui.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/directives/guacFilter.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/directives/guacPager.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/directives/guacSortOrder.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/directives/guacUserItem.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/listModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/styles/filter.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/styles/pager.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/styles/user-item.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/templates/guacFilter.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/templates/guacPager.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/templates/guacUserItem.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/types/FilterPattern.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/types/FilterToken.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/types/IPv4Network.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/types/IPv6Network.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/list/types/SortOrder.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/locale/localeModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/locale/services/translationLoader.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/locale/services/translationStringService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/login/directives/login.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/login/loginModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/login/styles/animation.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/login/styles/dialog.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/login/styles/input.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/login/styles/login.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/login/templates/login.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/controllers/manageConnectionController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/controllers/manageConnectionGroupController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/controllers/manageSharingProfileController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/controllers/manageUserController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/controllers/manageUserGroupController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/directives/connectionPermissionEditor.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/directives/dataSourceTabs.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/directives/identifierSetEditor.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/directives/locationChooser.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/directives/managementButtons.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/directives/systemPermissionEditor.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/manageModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/styles/attributes.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/styles/connection-parameter.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/styles/forms.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/styles/locationChooser.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/styles/manage-user-group.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/styles/manage-user.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/styles/related-objects.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/connectionGroupPermission.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/connectionPermission.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/connectionPermissionEditor.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/dataSourceTabs.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/identifierSetEditor.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/locationChooser.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/locationChooserConnectionGroup.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/manageConnection.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/manageConnectionGroup.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/manageSharingProfile.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/manageUser.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/manageUserGroup.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/managementButtons.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/sharingProfilePermission.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/templates/systemPermissionEditor.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/types/HistoryEntryWrapper.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/types/ManageableUser.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/types/ManageableUserGroup.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/manage/types/ManagementPermissions.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/directives/guacMenu.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/directives/guacPageList.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/directives/guacSectionTabs.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/directives/guacUserMenu.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/navigationModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/services/userPageService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/styles/menu.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/styles/tabs.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/styles/user-menu.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/templates/guacMenu.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/templates/guacPageList.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/templates/guacSectionTabs.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/templates/guacUserMenu.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/types/ClientIdentifier.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/types/MenuAction.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/navigation/types/PageDefinition.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/notification/directives/guacNotification.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/notification/notificationModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/notification/services/guacNotification.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/notification/styles/notification.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/notification/templates/guacNotification.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/notification/types/Notification.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/notification/types/NotificationAction.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/notification/types/NotificationCountdown.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/notification/types/NotificationProgress.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/osk/directives/guacOsk.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/osk/oskModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/osk/styles/osk.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/osk/templates/guacOsk.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/restModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/activeConnectionService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/cacheService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/connectionGroupService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/connectionService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/dataSourceService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/historyService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/languageService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/membershipService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/patchService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/permissionService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/requestService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/schemaService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/sharingProfileService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/tunnelService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/userGroupService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/services/userService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/ActiveConnection.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/Connection.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/ConnectionGroup.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/ConnectionHistoryEntry.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/Error.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/Field.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/Form.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/PermissionFlagSet.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/PermissionPatch.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/PermissionSet.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/Protocol.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/RelatedObjectPatch.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/SharingProfile.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/TranslatableMessage.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/User.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/UserCredentials.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/UserGroup.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/rest/types/UserPasswordUpdate.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/controllers/settingsController.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/directives/guacSettingsConnectionHistory.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/directives/guacSettingsConnections.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/directives/guacSettingsPreferences.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/directives/guacSettingsSessions.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/directives/guacSettingsUserGroups.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/directives/guacSettingsUsers.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/services/csvService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/services/preferenceService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/settingsModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/buttons.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/connection-list.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/history.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/input-method.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/mouse-mode.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/preferences.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/sessions.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/settings.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/user-group-list.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/styles/user-list.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/connection.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/connectionGroup.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/newConnection.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/newConnectionGroup.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/newSharingProfile.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/settings.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/settingsConnectionHistory.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/settingsConnections.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/settingsPreferences.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/settingsSessions.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/settingsUserGroups.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/settingsUsers.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/templates/sharingProfile.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/types/ActiveConnectionWrapper.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/settings/types/ConnectionHistoryEntryWrapper.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/storage/services/localStorageService.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/storage/services/sessionStorageFactory.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/storage/storageModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/textInput/directives/guacKey.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/textInput/directives/guacTextInput.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/textInput/styles/textInput.css (100%) rename guacamole/src/main/{webapp => frontend/src}/app/textInput/templates/guacKey.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/textInput/templates/guacTextInput.html (100%) rename guacamole/src/main/{webapp => frontend/src}/app/textInput/textInputModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/touch/directives/guacTouchDrag.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/touch/directives/guacTouchPinch.js (100%) rename guacamole/src/main/{webapp => frontend/src}/app/touch/touchModule.js (100%) rename guacamole/src/main/{webapp => frontend/src}/fonts/carlito/Carlito-Bold.woff (100%) rename guacamole/src/main/{webapp => frontend/src}/fonts/carlito/Carlito-Italic.woff (100%) rename guacamole/src/main/{webapp => frontend/src}/fonts/carlito/Carlito-Regular.woff (100%) rename guacamole/src/main/{webapp => frontend/src}/fonts/carlito/LICENSE (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-back.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-config-dark.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-config.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-delete.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-first-page.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-group-add.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-hide-pass.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-home-dark.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-home.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-key-dark.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-key.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-last-page.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-logout-dark.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-logout.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-monitor-add.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-next-page.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-prev-page.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-show-pass.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-user-add.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/action-icons/guac-user-group-add.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/arrows/down.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/arrows/left.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/arrows/right.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/arrows/up.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/checker.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/checkmark.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/circle-arrows.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/cog.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/drive.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/file.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/folder-closed.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/folder-open.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/folder-up.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/group-icons/guac-closed.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/group-icons/guac-open.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/guac-mono-192.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/guac-tricolor.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/lock.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/logo-144.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/logo-64.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/magnifier.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/mouse/blank.cur (100%) rename guacamole/src/main/{webapp => frontend/src}/images/mouse/blank.gif (100%) rename guacamole/src/main/{webapp => frontend/src}/images/mouse/dot.gif (100%) rename guacamole/src/main/{webapp => frontend/src}/images/noguacamole-logo-24.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/plus.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/progress.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/protocol-icons/guac-monitor.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/protocol-icons/guac-plug.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/protocol-icons/guac-text.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/settings/tablet-keys.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/settings/touchpad.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/settings/touchscreen.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/settings/zoom-in.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/settings/zoom-out.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/share.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/user-icons/guac-user-group.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/user-icons/guac-user.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/warning-white.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/warning.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/x-red.png (100%) rename guacamole/src/main/{webapp => frontend/src}/images/x.png (100%) rename guacamole/src/main/{webapp => frontend/src}/index.html (61%) rename guacamole/src/main/{webapp => frontend/src}/layouts/de-de-qwertz.json (100%) rename guacamole/src/main/{webapp => frontend/src}/layouts/en-us-qwerty.json (100%) rename guacamole/src/main/{webapp => frontend/src}/layouts/es-es-qwerty.json (100%) rename guacamole/src/main/{webapp => frontend/src}/layouts/fr-fr-azerty.json (100%) rename guacamole/src/main/{webapp => frontend/src}/layouts/it-it-qwerty.json (100%) rename guacamole/src/main/{webapp => frontend/src}/layouts/nl-nl-qwerty.json (100%) rename guacamole/src/main/{webapp => frontend/src}/layouts/ru-ru-qwerty.json (100%) rename guacamole/src/main/{webapp => frontend/src}/relocateParameters.js (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/ca.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/cs.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/de.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/en.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/es.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/fr.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/it.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/ja.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/ko.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/nl.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/no.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/pt.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/ru.json (100%) rename guacamole/src/main/{webapp => frontend/src}/translations/zh.json (100%) create mode 100644 guacamole/src/main/frontend/webpack.config.js diff --git a/guacamole/.ratignore b/guacamole/.ratignore index e69de29bb..ce99210b7 100644 --- a/guacamole/.ratignore +++ b/guacamole/.ratignore @@ -0,0 +1,2 @@ +src/main/frontend/dist/**/* +src/main/frontend/generated/**/* diff --git a/guacamole/pom.xml b/guacamole/pom.xml index ba108b1c1..5766423e6 100644 --- a/guacamole/pom.xml +++ b/guacamole/pom.xml @@ -80,9 +80,18 @@ - + - src/main/webapp + src/main/frontend/dist + + translations/*.json + index.html + + + + + + src/main/frontend/dist true translations/*.json @@ -119,81 +128,43 @@ - + - com.keithbranton.mojo - angular-maven-plugin - 0.3.4 + com.github.eirslett + frontend-maven-plugin + 1.6 + + src/main/frontend + ${project.build.directory} + + install-node-and-npm + + install-node-and-npm + + + v14.16.0 + + + + npm-ci + + npm + + + ci + + + + npm-build generate-resources - html2js + npm - - - - ${basedir}/src/main/webapp/app/ - **/*.html - ${basedir}/src/main/webapp/generated/templates-main/templates.js - app - - - - - - com.github.buckelieg - minify-maven-plugin - - - default-cli - UTF-8 - - ${project.build.directory}/${project.build.finalName} - - / - / - guacamole.css - - - license.txt - - - - app/**/*.css - - - / - / - guacamole.js - - - license.txt - guacamole-common-js/all.js - - - - app/**/*.js - generated/**/*.js - - - - - **/*.test.js - - CLOSURE - - - - OFF - OFF - - + run build - - minify - @@ -249,117 +220,6 @@ runtime - - - org.webjars - webjars-servlet-2.x - 1.5 - - - - - org.webjars.bower - blob-polyfill - 1.0.20150320 - runtime - - - org.webjars.bower - filesaver - 1.3.3 - runtime - - - - - org.webjars.bower - lodash - 4.17.10 - runtime - - - - - org.webjars.bower - jquery - 3.3.1 - runtime - - - - - org.webjars.bower - angular - 1.6.9 - runtime - - - org.webjars.bower - angular-route - 1.6.9 - runtime - - - org.webjars.bower - angular-touch - 1.6.9 - runtime - - - - - org.webjars.bower - angular-module-shim - 0.0.4 - runtime - - - org.webjars.bower - angular - - - - - - - org.webjars.bower - angular-translate - 2.16.0 - runtime - - - org.webjars.bower - angular-translate-interpolation-messageformat - 2.16.0 - runtime - - - org.webjars.bower - messageformat - - - - - org.webjars.bower - messageformat - 1.0.2 - runtime - - - org.webjars.bower - angular-translate-loader-static-files - 2.16.0 - runtime - - - - - org.webjars.npm - datalist-polyfill - 1.14.0 - runtime - - org.eclipse.jetty @@ -474,20 +334,6 @@ guava - - - org.webjars.npm - jstz - 1.0.10 - - - - - org.webjars.npm - simonwep__pickr - 1.2.6 - - diff --git a/guacamole/src/main/frontend/.gitignore b/guacamole/src/main/frontend/.gitignore new file mode 100644 index 000000000..3fce9d7d8 --- /dev/null +++ b/guacamole/src/main/frontend/.gitignore @@ -0,0 +1,4 @@ +*~ +node_modules +dist +generated diff --git a/guacamole/src/main/webapp/license.txt b/guacamole/src/main/frontend/externs.js similarity index 72% rename from guacamole/src/main/webapp/license.txt rename to guacamole/src/main/frontend/externs.js index 042f3ce1f..b9d0fc7c4 100644 --- a/guacamole/src/main/webapp/license.txt +++ b/guacamole/src/main/frontend/externs.js @@ -16,3 +16,19 @@ * specific language governing permissions and limitations * under the License. */ + +/** + * @fileoverview External APIs referenced by the source of the Guacamole webapp + * and its dependencies. + * @externs + */ + +// guacamole-common-js +const Guacamole = {}; + +// Web Storage API +const localStorage = {}; + +// matchMedia() function of Window object +const matchMedia = function matchMedia(str) {} + diff --git a/guacamole/src/main/frontend/gulpfile.js b/guacamole/src/main/frontend/gulpfile.js new file mode 100644 index 000000000..39cf0a159 --- /dev/null +++ b/guacamole/src/main/frontend/gulpfile.js @@ -0,0 +1,105 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const angularFilesort = require('gulp-angular-filesort'); +const cleanCss = require('gulp-clean-css'); +const concat = require('gulp-concat'); +const del = require('del'); +const gulp = require('gulp'); +const ngHtml2Js = require("gulp-ng-html2js"); +const sourcemaps = require('gulp-sourcemaps'); +const webpack = require('webpack-stream'); + +// Clean build files +gulp.task('clean', (callback) => del([ + 'dist', + 'generated' +], callback)); + +// Build monolithic, minified CSS source +gulp.task('build-css', + () => gulp.src([ + 'node_modules/@simonwep/pickr/dist/themes/monolith.min.css', + 'src/app/**/*.css' + ]) + .pipe(sourcemaps.init()) + .pipe(concat('guacamole.min.css')) + .pipe(cleanCss()) + .pipe(sourcemaps.write('./')) + .pipe(gulp.dest('dist')) +); + +// Pre-cache AngularJS templates +gulp.task('build-template-js', + () => gulp.src('src/app/**/*.html') + .pipe(ngHtml2Js({ + moduleName: 'templates-main', + prefix: 'app/' + })) + .pipe(concat('templates.js')) + .pipe(gulp.dest('generated')) +); + +// Build monolithic combined JavaScript source containing all pre-cached +// templates and all AngularJS module declarations in the proper order +gulp.task('build-combined-js', + () => gulp.src([ + 'src/app/**/*.js', + 'generated/templates.js' + ]) + .pipe(angularFilesort()) + .pipe(sourcemaps.init()) + .pipe(concat('guacamole.js')) + .pipe(sourcemaps.write('./')) + .pipe(gulp.dest('generated')) +); + +// Process monolithic JavaScript source through WebPack to produce a bundle +// that contains all required dependencies +gulp.task('build-webpack-bundle', + () => gulp.src('generated/guacamole.js') + .pipe(webpack(require('./webpack.config.js'))) + .pipe(gulp.dest('dist')) +); + +// Build all JavaScript for the entire application +gulp.task('build-js', gulp.series( + 'build-template-js', + 'build-combined-js', + 'build-webpack-bundle' +)); + +// Copy plain, static contents of application +gulp.task('copy-static', + () => gulp.src([ + 'src/relocateParameters.js', + 'src/index.html', + 'src/fonts/**/*', + 'src/images/**/*', + 'src/layouts/**/*', + 'src/translations/**/*' + ], { base: './src' }) + .pipe(gulp.dest('dist')) +); + +gulp.task('default', gulp.series( + 'clean', + gulp.parallel('build-css', 'build-js', 'copy-static') +)); + diff --git a/guacamole/src/main/frontend/package-lock.json b/guacamole/src/main/frontend/package-lock.json new file mode 100644 index 000000000..93cb8c753 --- /dev/null +++ b/guacamole/src/main/frontend/package-lock.json @@ -0,0 +1,6808 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@gulp-sourcemaps/identity-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz", + "integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==", + "dev": true, + "requires": { + "acorn": "^6.4.1", + "normalize-path": "^3.0.0", + "postcss": "^7.0.16", + "source-map": "^0.6.0", + "through2": "^3.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + } + } + }, + "@gulp-sourcemaps/map-sources": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", + "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=", + "dev": true, + "requires": { + "normalize-path": "^2.0.1", + "through2": "^2.0.3" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + } + }, + "@simonwep/pickr": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.2.6.tgz", + "integrity": "sha512-a0Q6dgSdlN0VUzvR/9c/XSlskTD83ZV0kBDGqVZLphDUd+QdPhKzuyIVa+JX2UmU98w4wwEaywsDjpy+FW+uoQ==" + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + } + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "^4.0.3" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "angular": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/angular/-/angular-1.6.9.tgz", + "integrity": "sha512-6igWH2GIsxV+J38wNWCh8oyjaZsrIPIDO35twloIUyjlF2Yit6UyLAWujHP05ma/LFxTsx4NtYibRoMNBXPR1A==" + }, + "angular-route": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/angular-route/-/angular-route-1.6.9.tgz", + "integrity": "sha512-giE0PD0T17ZvtJmAB6di27YPPSzYC1kP1BDpM2ZIGZUbs02PvJWRIgYA8z3dy9olzCS35TOwxmE2fJoHWTMm1A==" + }, + "angular-touch": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/angular-touch/-/angular-touch-1.6.9.tgz", + "integrity": "sha512-/JWk/NZ52pD85A3yvp2EaLfYHXqVaEwV0m78aq74GReokwV/reWv8JjYcmhO0dBQnsRwa7o06gVfMYgrtnBVJA==" + }, + "angular-translate": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.16.0.tgz", + "integrity": "sha512-kMPOh6lQMF/dji0iq+G/hM8HodxfHV/1VqnvaoklMZXHQOdBP1ucGDuWrWIte/dZ/tbW7MbnE1vOmZY152nwVw==", + "requires": { + "angular": ">=1.2.26 <=1.6" + } + }, + "angular-translate-interpolation-messageformat": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/angular-translate-interpolation-messageformat/-/angular-translate-interpolation-messageformat-2.16.0.tgz", + "integrity": "sha512-DDgPHYXmys9i6Cq8IslSIIWf8MAxw25KAZS2ZQsWQ1sZ/4uA6Mywbk7WAj1Ssil/hVL71o6CpicFvxE27Zr5+g==", + "requires": { + "angular-translate": "~2.16.0", + "messageformat": "~1.0.2" + } + }, + "angular-translate-loader-static-files": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/angular-translate-loader-static-files/-/angular-translate-loader-static-files-2.16.0.tgz", + "integrity": "sha512-ZfBfeNJvAU52NZVVVyVCYyOL2V1J027/3U+zlmchA1h3DLn3jewg/x5CiJcT40fZjRTtq2il0IjoK+XKqdhY9g==", + "requires": { + "angular-translate": "~2.16.0" + } + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "requires": { + "async-done": "^1.2.2" + } + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "blob-polyfill": { + "version": "1.0.20150320", + "resolved": "https://registry.npmjs.org/blob-polyfill/-/blob-polyfill-1.0.20150320.tgz", + "integrity": "sha1-A2kt1oIFae8lqHYy+mGclR1XSNo=" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "closure-webpack-plugin": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/closure-webpack-plugin/-/closure-webpack-plugin-2.5.0.tgz", + "integrity": "sha512-mp18Dss/NEj6EazNsT7EiRUCR4wXWFawrIe9Mm2epqELkJWZldVOs+vSPz8y1T2qB4pBYwQuQK2jruDXksOBkg==", + "dev": true, + "requires": { + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "schema-utils": "1.x", + "unquoted-property-validator": "^1.0.2", + "webpack-sources": "1.x" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "requires": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + }, + "dependencies": { + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + } + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "datalist-polyfill": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/datalist-polyfill/-/datalist-polyfill-1.14.0.tgz", + "integrity": "sha512-O4skaiSS0qqBsUlDRE0VzPJI8Fxi5BVdbQCCiMRKeKwtO65CeQM4Dix3bOxvZcmwGaMgFWeCYqEAF7y7+Invmg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-fabulous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", + "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", + "dev": true, + "requires": { + "debug": "3.X", + "memoizee": "0.4.X", + "object-assign": "4.X" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "requires": { + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globby": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + } + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=", + "dev": true + }, + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "file-saver": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.3.tgz", + "integrity": "sha1-zdTETTqiZOrC9o7BZbx5HDSvEjI=" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "google-closure-compiler": { + "version": "20210302.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20210302.0.0.tgz", + "integrity": "sha512-dGZTQZjjAbM67CFB1f1XFDFpkGmZ6/kcnofwcRlEaIjMaCEfyb+NrshP6mAWy0IptsYYIU4n9aeSMyXzXlO3Mw==", + "dev": true, + "requires": { + "chalk": "2.x", + "google-closure-compiler-java": "^20210302.0.0", + "google-closure-compiler-linux": "^20210302.0.0", + "google-closure-compiler-osx": "^20210302.0.0", + "google-closure-compiler-windows": "^20210302.0.0", + "minimist": "1.x", + "vinyl": "2.x", + "vinyl-sourcemaps-apply": "^0.2.0" + } + }, + "google-closure-compiler-java": { + "version": "20210302.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler-java/-/google-closure-compiler-java-20210302.0.0.tgz", + "integrity": "sha512-t4lSzS6y9e76eVCuyVN6xoBLBzBrVr3BzFWK8ogF+2TvOF92cEAbOHyZ/SV+P7tKBkB2MeEeOwOzcIVXNE0zkA==", + "dev": true + }, + "google-closure-compiler-linux": { + "version": "20210302.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler-linux/-/google-closure-compiler-linux-20210302.0.0.tgz", + "integrity": "sha512-tW0sScP38BvoqRXqDO6KWnZOLrV9E0xPi+rgqU0I7rXdCq1ZX7/8IuUtP3EIHW0sAFywtfmxlvR+V7nhy1hecA==", + "dev": true, + "optional": true + }, + "google-closure-compiler-osx": { + "version": "20210302.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler-osx/-/google-closure-compiler-osx-20210302.0.0.tgz", + "integrity": "sha512-N9WgKJuHfDCKewyj8lS5D8LBAig860FidRQiuP9+eYfdnMkdWUv3IQvGpBHrnKafF0DLjeCSZXTMlEZ9N8qjgg==", + "dev": true, + "optional": true + }, + "google-closure-compiler-windows": { + "version": "20210302.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler-windows/-/google-closure-compiler-windows-20210302.0.0.tgz", + "integrity": "sha512-axKAOwkcCqTeW4aRwHXp08m3rmoNQaGUhnTGmT9vAzO9Be7y/aFo3ckjDWfJZEQXnWgwy9dc1+gub0lQb7SATA==", + "dev": true, + "optional": true + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "dependencies": { + "gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + } + } + } + }, + "gulp-angular-filesort": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/gulp-angular-filesort/-/gulp-angular-filesort-1.2.1.tgz", + "integrity": "sha512-KkB43Uof1JI7qVEBq5tAILoMbBrxSZyhOgirtVKvwXhXRspqfytR6tcGpdlxHAsQ3edLuyjpA3c6o5zhSAmbOA==", + "dev": true, + "requires": { + "ng-dependencies": "^0.8.1", + "plugin-error": "^1.0.1", + "through2": "^2.0.0", + "toposort": "^1.0.0" + } + }, + "gulp-clean-css": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", + "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", + "dev": true, + "requires": { + "clean-css": "4.2.3", + "plugin-error": "1.0.1", + "through2": "3.0.1", + "vinyl-sourcemaps-apply": "0.2.1" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", + "dev": true, + "requires": { + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" + } + }, + "gulp-ng-html2js": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/gulp-ng-html2js/-/gulp-ng-html2js-0.2.3.tgz", + "integrity": "sha512-hc9F1W2gYKgZFC74FXEiBiaB1XiADYmOY0bEsL1PLWQgNevZrDX1M8ePdAc4BQp4QvgiHuXSUPXe6c4ouU2AAQ==", + "dev": true, + "requires": { + "lodash": "^4.17.11", + "map-stream": "*", + "replace-ext": "^1.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + } + } + }, + "gulp-sourcemaps": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz", + "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==", + "dev": true, + "requires": { + "@gulp-sourcemaps/identity-map": "^2.0.1", + "@gulp-sourcemaps/map-sources": "^1.0.0", + "acorn": "^6.4.1", + "convert-source-map": "^1.0.0", + "css": "^3.0.0", + "debug-fabulous": "^1.0.0", + "detect-newline": "^2.0.0", + "graceful-fs": "^4.0.0", + "source-map": "^0.6.0", + "strip-bom-string": "^1.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jquery": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", + "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jstz": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/jstz/-/jstz-1.0.10.tgz", + "integrity": "sha1-z2xYv/FuPvWy1lLPf0ZsrREPut8=" + }, + "just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", + "dev": true + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "make-plural": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-3.0.6.tgz", + "integrity": "sha1-IDOgO6wpC487uRJY9lud9+iwHKc=", + "requires": { + "minimist": "^1.2.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dev": true, + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + }, + "dependencies": { + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + } + } + }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "messageformat": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/messageformat/-/messageformat-1.0.2.tgz", + "integrity": "sha1-kI9GkfKf8o2uNcRUNqJM/5NAI4g=", + "requires": { + "glob": "~7.0.6", + "make-plural": "~3.0.6", + "messageformat-parser": "^1.0.0", + "nopt": "~3.0.6", + "reserved-words": "^0.1.1" + } + }, + "messageformat-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/messageformat-parser/-/messageformat-parser-1.1.0.tgz", + "integrity": "sha512-Hwem6G3MsKDLS1FtBRGIs8T50P1Q00r3srS6QJePCFbad9fq0nYxwf3rnU2BreApRGhmpKMV7oZI06Sy1c9TPA==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "ng-dependencies": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ng-dependencies/-/ng-dependencies-0.8.1.tgz", + "integrity": "sha1-GP1jMscC4PPjdKNv4e1FXGdSu2g=", + "dev": true, + "requires": { + "esprima": "^2.6.0", + "estraverse": "^4.2.0", + "lodash": "^4.0.0" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "requires": { + "once": "^1.3.2" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + } + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "reserved-words": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", + "integrity": "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=" + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "requires": { + "sver-compat": "^1.5.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-loader": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz", + "integrity": "sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.2", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.6.1", + "whatwg-mimetype": "^2.3.0" + }, + "dependencies": { + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "requires": { + "through2": "^2.0.3" + } + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "unquoted-property-validator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unquoted-property-validator/-/unquoted-property-validator-1.1.0.tgz", + "integrity": "sha512-ZWeQoYZ7HN8DCLeaowNv2GvZIXqJptKB1uUWd08ZYc1qAmJt8tXh9nck26aoYmhJtE3jCjDqdqEfUTqcJ0R7bw==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + } + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + } + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "webpack-stream": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/webpack-stream/-/webpack-stream-6.1.2.tgz", + "integrity": "sha512-Bpbsrix1cmWRN705JEg69ErgNAEOpQBvtuWKFW3ZCrLddoPPK6oVpQn4svxNdfedqMLlWA3GLOLvw4c7u63GqA==", + "dev": true, + "requires": { + "fancy-log": "^1.3.3", + "lodash.clone": "^4.3.2", + "lodash.some": "^4.2.2", + "memory-fs": "^0.5.0", + "plugin-error": "^1.0.1", + "supports-color": "^7.2.0", + "through": "^2.3.8", + "vinyl": "^2.1.0", + "webpack": "^4.26.1" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + } + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz", + "integrity": "sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "5.0.0-security.0" + } + }, + "yargs-parser": { + "version": "5.0.0-security.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz", + "integrity": "sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + } +} diff --git a/guacamole/src/main/frontend/package.json b/guacamole/src/main/frontend/package.json new file mode 100644 index 000000000..98d6f2c43 --- /dev/null +++ b/guacamole/src/main/frontend/package.json @@ -0,0 +1,36 @@ +{ + "private": true, + "scripts": { + "build": "gulp" + }, + "dependencies": { + "@simonwep/pickr": "1.2.6", + "angular": "1.6.9", + "angular-route": "1.6.9", + "angular-touch": "1.6.9", + "angular-translate": "2.16.0", + "angular-translate-interpolation-messageformat": "2.16.0", + "angular-translate-loader-static-files": "2.16.0", + "blob-polyfill": "1.0.20150320", + "datalist-polyfill": "1.14.0", + "file-saver": "1.3.3", + "jquery": "3.3.1", + "jstz": "1.0.10", + "lodash": "4.17.10", + "messageformat": "1.0.2" + }, + "devDependencies": { + "closure-webpack-plugin": "^2.5.0", + "del": "^6.0.0", + "google-closure-compiler": "^20210302.0.0", + "gulp": "^4.0.2", + "gulp-angular-filesort": "^1.2.1", + "gulp-clean-css": "^4.3.0", + "gulp-concat": "^2.6.1", + "gulp-ng-html2js": "^0.2.3", + "gulp-sourcemaps": "^3.0.0", + "source-map-loader": "^1.1.3", + "webpack": "^4.46.0", + "webpack-stream": "^6.1.2" + } +} diff --git a/guacamole/src/main/webapp/app/auth/authModule.js b/guacamole/src/main/frontend/src/app/auth/authModule.js similarity index 100% rename from guacamole/src/main/webapp/app/auth/authModule.js rename to guacamole/src/main/frontend/src/app/auth/authModule.js diff --git a/guacamole/src/main/webapp/app/auth/service/authenticationService.js b/guacamole/src/main/frontend/src/app/auth/service/authenticationService.js similarity index 100% rename from guacamole/src/main/webapp/app/auth/service/authenticationService.js rename to guacamole/src/main/frontend/src/app/auth/service/authenticationService.js diff --git a/guacamole/src/main/webapp/app/auth/types/AuthenticationResult.js b/guacamole/src/main/frontend/src/app/auth/types/AuthenticationResult.js similarity index 100% rename from guacamole/src/main/webapp/app/auth/types/AuthenticationResult.js rename to guacamole/src/main/frontend/src/app/auth/types/AuthenticationResult.js diff --git a/guacamole/src/main/webapp/app/client/clientModule.js b/guacamole/src/main/frontend/src/app/client/clientModule.js similarity index 100% rename from guacamole/src/main/webapp/app/client/clientModule.js rename to guacamole/src/main/frontend/src/app/client/clientModule.js diff --git a/guacamole/src/main/webapp/app/client/controllers/clientController.js b/guacamole/src/main/frontend/src/app/client/controllers/clientController.js similarity index 100% rename from guacamole/src/main/webapp/app/client/controllers/clientController.js rename to guacamole/src/main/frontend/src/app/client/controllers/clientController.js diff --git a/guacamole/src/main/webapp/app/client/directives/guacClient.js b/guacamole/src/main/frontend/src/app/client/directives/guacClient.js similarity index 100% rename from guacamole/src/main/webapp/app/client/directives/guacClient.js rename to guacamole/src/main/frontend/src/app/client/directives/guacClient.js diff --git a/guacamole/src/main/webapp/app/client/directives/guacClientPanel.js b/guacamole/src/main/frontend/src/app/client/directives/guacClientPanel.js similarity index 100% rename from guacamole/src/main/webapp/app/client/directives/guacClientPanel.js rename to guacamole/src/main/frontend/src/app/client/directives/guacClientPanel.js diff --git a/guacamole/src/main/webapp/app/client/directives/guacFileBrowser.js b/guacamole/src/main/frontend/src/app/client/directives/guacFileBrowser.js similarity index 100% rename from guacamole/src/main/webapp/app/client/directives/guacFileBrowser.js rename to guacamole/src/main/frontend/src/app/client/directives/guacFileBrowser.js diff --git a/guacamole/src/main/webapp/app/client/directives/guacFileTransfer.js b/guacamole/src/main/frontend/src/app/client/directives/guacFileTransfer.js similarity index 100% rename from guacamole/src/main/webapp/app/client/directives/guacFileTransfer.js rename to guacamole/src/main/frontend/src/app/client/directives/guacFileTransfer.js diff --git a/guacamole/src/main/webapp/app/client/directives/guacFileTransferManager.js b/guacamole/src/main/frontend/src/app/client/directives/guacFileTransferManager.js similarity index 100% rename from guacamole/src/main/webapp/app/client/directives/guacFileTransferManager.js rename to guacamole/src/main/frontend/src/app/client/directives/guacFileTransferManager.js diff --git a/guacamole/src/main/webapp/app/client/directives/guacThumbnail.js b/guacamole/src/main/frontend/src/app/client/directives/guacThumbnail.js similarity index 100% rename from guacamole/src/main/webapp/app/client/directives/guacThumbnail.js rename to guacamole/src/main/frontend/src/app/client/directives/guacThumbnail.js diff --git a/guacamole/src/main/webapp/app/client/directives/guacViewport.js b/guacamole/src/main/frontend/src/app/client/directives/guacViewport.js similarity index 100% rename from guacamole/src/main/webapp/app/client/directives/guacViewport.js rename to guacamole/src/main/frontend/src/app/client/directives/guacViewport.js diff --git a/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js b/guacamole/src/main/frontend/src/app/client/directives/guacZoomCtrl.js similarity index 100% rename from guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js rename to guacamole/src/main/frontend/src/app/client/directives/guacZoomCtrl.js diff --git a/guacamole/src/main/webapp/app/client/services/guacAudio.js b/guacamole/src/main/frontend/src/app/client/services/guacAudio.js similarity index 100% rename from guacamole/src/main/webapp/app/client/services/guacAudio.js rename to guacamole/src/main/frontend/src/app/client/services/guacAudio.js diff --git a/guacamole/src/main/webapp/app/client/services/guacClientManager.js b/guacamole/src/main/frontend/src/app/client/services/guacClientManager.js similarity index 100% rename from guacamole/src/main/webapp/app/client/services/guacClientManager.js rename to guacamole/src/main/frontend/src/app/client/services/guacClientManager.js diff --git a/guacamole/src/main/webapp/app/client/services/guacImage.js b/guacamole/src/main/frontend/src/app/client/services/guacImage.js similarity index 100% rename from guacamole/src/main/webapp/app/client/services/guacImage.js rename to guacamole/src/main/frontend/src/app/client/services/guacImage.js diff --git a/guacamole/src/main/webapp/app/client/services/guacVideo.js b/guacamole/src/main/frontend/src/app/client/services/guacVideo.js similarity index 100% rename from guacamole/src/main/webapp/app/client/services/guacVideo.js rename to guacamole/src/main/frontend/src/app/client/services/guacVideo.js diff --git a/guacamole/src/main/webapp/app/client/styles/client.css b/guacamole/src/main/frontend/src/app/client/styles/client.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/client.css rename to guacamole/src/main/frontend/src/app/client/styles/client.css diff --git a/guacamole/src/main/webapp/app/client/styles/connection-select-menu.css b/guacamole/src/main/frontend/src/app/client/styles/connection-select-menu.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/connection-select-menu.css rename to guacamole/src/main/frontend/src/app/client/styles/connection-select-menu.css diff --git a/guacamole/src/main/webapp/app/client/styles/connection-warning.css b/guacamole/src/main/frontend/src/app/client/styles/connection-warning.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/connection-warning.css rename to guacamole/src/main/frontend/src/app/client/styles/connection-warning.css diff --git a/guacamole/src/main/webapp/app/client/styles/display.css b/guacamole/src/main/frontend/src/app/client/styles/display.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/display.css rename to guacamole/src/main/frontend/src/app/client/styles/display.css diff --git a/guacamole/src/main/webapp/app/client/styles/file-browser.css b/guacamole/src/main/frontend/src/app/client/styles/file-browser.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/file-browser.css rename to guacamole/src/main/frontend/src/app/client/styles/file-browser.css diff --git a/guacamole/src/main/webapp/app/client/styles/file-transfer-dialog.css b/guacamole/src/main/frontend/src/app/client/styles/file-transfer-dialog.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/file-transfer-dialog.css rename to guacamole/src/main/frontend/src/app/client/styles/file-transfer-dialog.css diff --git a/guacamole/src/main/webapp/app/client/styles/filesystem-menu.css b/guacamole/src/main/frontend/src/app/client/styles/filesystem-menu.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/filesystem-menu.css rename to guacamole/src/main/frontend/src/app/client/styles/filesystem-menu.css diff --git a/guacamole/src/main/webapp/app/client/styles/guac-menu.css b/guacamole/src/main/frontend/src/app/client/styles/guac-menu.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/guac-menu.css rename to guacamole/src/main/frontend/src/app/client/styles/guac-menu.css diff --git a/guacamole/src/main/webapp/app/client/styles/keyboard.css b/guacamole/src/main/frontend/src/app/client/styles/keyboard.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/keyboard.css rename to guacamole/src/main/frontend/src/app/client/styles/keyboard.css diff --git a/guacamole/src/main/webapp/app/client/styles/menu.css b/guacamole/src/main/frontend/src/app/client/styles/menu.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/menu.css rename to guacamole/src/main/frontend/src/app/client/styles/menu.css diff --git a/guacamole/src/main/webapp/app/client/styles/notification.css b/guacamole/src/main/frontend/src/app/client/styles/notification.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/notification.css rename to guacamole/src/main/frontend/src/app/client/styles/notification.css diff --git a/guacamole/src/main/webapp/app/client/styles/other-connections.css b/guacamole/src/main/frontend/src/app/client/styles/other-connections.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/other-connections.css rename to guacamole/src/main/frontend/src/app/client/styles/other-connections.css diff --git a/guacamole/src/main/webapp/app/client/styles/share-menu.css b/guacamole/src/main/frontend/src/app/client/styles/share-menu.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/share-menu.css rename to guacamole/src/main/frontend/src/app/client/styles/share-menu.css diff --git a/guacamole/src/main/webapp/app/client/styles/thumbnail-display.css b/guacamole/src/main/frontend/src/app/client/styles/thumbnail-display.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/thumbnail-display.css rename to guacamole/src/main/frontend/src/app/client/styles/thumbnail-display.css diff --git a/guacamole/src/main/webapp/app/client/styles/transfer-manager.css b/guacamole/src/main/frontend/src/app/client/styles/transfer-manager.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/transfer-manager.css rename to guacamole/src/main/frontend/src/app/client/styles/transfer-manager.css diff --git a/guacamole/src/main/webapp/app/client/styles/transfer.css b/guacamole/src/main/frontend/src/app/client/styles/transfer.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/transfer.css rename to guacamole/src/main/frontend/src/app/client/styles/transfer.css diff --git a/guacamole/src/main/webapp/app/client/styles/viewport.css b/guacamole/src/main/frontend/src/app/client/styles/viewport.css similarity index 100% rename from guacamole/src/main/webapp/app/client/styles/viewport.css rename to guacamole/src/main/frontend/src/app/client/styles/viewport.css diff --git a/guacamole/src/main/webapp/app/client/templates/client.html b/guacamole/src/main/frontend/src/app/client/templates/client.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/client.html rename to guacamole/src/main/frontend/src/app/client/templates/client.html diff --git a/guacamole/src/main/webapp/app/client/templates/connection.html b/guacamole/src/main/frontend/src/app/client/templates/connection.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/connection.html rename to guacamole/src/main/frontend/src/app/client/templates/connection.html diff --git a/guacamole/src/main/webapp/app/client/templates/connectionGroup.html b/guacamole/src/main/frontend/src/app/client/templates/connectionGroup.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/connectionGroup.html rename to guacamole/src/main/frontend/src/app/client/templates/connectionGroup.html diff --git a/guacamole/src/main/webapp/app/client/templates/file.html b/guacamole/src/main/frontend/src/app/client/templates/file.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/file.html rename to guacamole/src/main/frontend/src/app/client/templates/file.html diff --git a/guacamole/src/main/webapp/app/client/templates/guacClient.html b/guacamole/src/main/frontend/src/app/client/templates/guacClient.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/guacClient.html rename to guacamole/src/main/frontend/src/app/client/templates/guacClient.html diff --git a/guacamole/src/main/webapp/app/client/templates/guacClientPanel.html b/guacamole/src/main/frontend/src/app/client/templates/guacClientPanel.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/guacClientPanel.html rename to guacamole/src/main/frontend/src/app/client/templates/guacClientPanel.html diff --git a/guacamole/src/main/webapp/app/client/templates/guacFileBrowser.html b/guacamole/src/main/frontend/src/app/client/templates/guacFileBrowser.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/guacFileBrowser.html rename to guacamole/src/main/frontend/src/app/client/templates/guacFileBrowser.html diff --git a/guacamole/src/main/webapp/app/client/templates/guacFileTransfer.html b/guacamole/src/main/frontend/src/app/client/templates/guacFileTransfer.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/guacFileTransfer.html rename to guacamole/src/main/frontend/src/app/client/templates/guacFileTransfer.html diff --git a/guacamole/src/main/webapp/app/client/templates/guacFileTransferManager.html b/guacamole/src/main/frontend/src/app/client/templates/guacFileTransferManager.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/guacFileTransferManager.html rename to guacamole/src/main/frontend/src/app/client/templates/guacFileTransferManager.html diff --git a/guacamole/src/main/webapp/app/client/templates/guacThumbnail.html b/guacamole/src/main/frontend/src/app/client/templates/guacThumbnail.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/guacThumbnail.html rename to guacamole/src/main/frontend/src/app/client/templates/guacThumbnail.html diff --git a/guacamole/src/main/webapp/app/client/templates/guacViewport.html b/guacamole/src/main/frontend/src/app/client/templates/guacViewport.html similarity index 100% rename from guacamole/src/main/webapp/app/client/templates/guacViewport.html rename to guacamole/src/main/frontend/src/app/client/templates/guacViewport.html diff --git a/guacamole/src/main/webapp/app/client/types/ClientProperties.js b/guacamole/src/main/frontend/src/app/client/types/ClientProperties.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ClientProperties.js rename to guacamole/src/main/frontend/src/app/client/types/ClientProperties.js diff --git a/guacamole/src/main/webapp/app/client/types/ManagedArgument.js b/guacamole/src/main/frontend/src/app/client/types/ManagedArgument.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ManagedArgument.js rename to guacamole/src/main/frontend/src/app/client/types/ManagedArgument.js diff --git a/guacamole/src/main/webapp/app/client/types/ManagedClient.js b/guacamole/src/main/frontend/src/app/client/types/ManagedClient.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ManagedClient.js rename to guacamole/src/main/frontend/src/app/client/types/ManagedClient.js diff --git a/guacamole/src/main/webapp/app/client/types/ManagedClientState.js b/guacamole/src/main/frontend/src/app/client/types/ManagedClientState.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ManagedClientState.js rename to guacamole/src/main/frontend/src/app/client/types/ManagedClientState.js diff --git a/guacamole/src/main/webapp/app/client/types/ManagedClientThumbnail.js b/guacamole/src/main/frontend/src/app/client/types/ManagedClientThumbnail.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ManagedClientThumbnail.js rename to guacamole/src/main/frontend/src/app/client/types/ManagedClientThumbnail.js diff --git a/guacamole/src/main/webapp/app/client/types/ManagedDisplay.js b/guacamole/src/main/frontend/src/app/client/types/ManagedDisplay.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ManagedDisplay.js rename to guacamole/src/main/frontend/src/app/client/types/ManagedDisplay.js diff --git a/guacamole/src/main/webapp/app/client/types/ManagedFileTransferState.js b/guacamole/src/main/frontend/src/app/client/types/ManagedFileTransferState.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ManagedFileTransferState.js rename to guacamole/src/main/frontend/src/app/client/types/ManagedFileTransferState.js diff --git a/guacamole/src/main/webapp/app/client/types/ManagedFileUpload.js b/guacamole/src/main/frontend/src/app/client/types/ManagedFileUpload.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ManagedFileUpload.js rename to guacamole/src/main/frontend/src/app/client/types/ManagedFileUpload.js diff --git a/guacamole/src/main/webapp/app/client/types/ManagedFilesystem.js b/guacamole/src/main/frontend/src/app/client/types/ManagedFilesystem.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ManagedFilesystem.js rename to guacamole/src/main/frontend/src/app/client/types/ManagedFilesystem.js diff --git a/guacamole/src/main/webapp/app/client/types/ManagedShareLink.js b/guacamole/src/main/frontend/src/app/client/types/ManagedShareLink.js similarity index 100% rename from guacamole/src/main/webapp/app/client/types/ManagedShareLink.js rename to guacamole/src/main/frontend/src/app/client/types/ManagedShareLink.js diff --git a/guacamole/src/main/webapp/app/clipboard/clipboardModule.js b/guacamole/src/main/frontend/src/app/clipboard/clipboardModule.js similarity index 100% rename from guacamole/src/main/webapp/app/clipboard/clipboardModule.js rename to guacamole/src/main/frontend/src/app/clipboard/clipboardModule.js diff --git a/guacamole/src/main/webapp/app/clipboard/directives/guacClipboard.js b/guacamole/src/main/frontend/src/app/clipboard/directives/guacClipboard.js similarity index 100% rename from guacamole/src/main/webapp/app/clipboard/directives/guacClipboard.js rename to guacamole/src/main/frontend/src/app/clipboard/directives/guacClipboard.js diff --git a/guacamole/src/main/webapp/app/clipboard/services/clipboardService.js b/guacamole/src/main/frontend/src/app/clipboard/services/clipboardService.js similarity index 100% rename from guacamole/src/main/webapp/app/clipboard/services/clipboardService.js rename to guacamole/src/main/frontend/src/app/clipboard/services/clipboardService.js diff --git a/guacamole/src/main/webapp/app/clipboard/styles/clipboard.css b/guacamole/src/main/frontend/src/app/clipboard/styles/clipboard.css similarity index 100% rename from guacamole/src/main/webapp/app/clipboard/styles/clipboard.css rename to guacamole/src/main/frontend/src/app/clipboard/styles/clipboard.css diff --git a/guacamole/src/main/webapp/app/clipboard/templates/guacClipboard.html b/guacamole/src/main/frontend/src/app/clipboard/templates/guacClipboard.html similarity index 100% rename from guacamole/src/main/webapp/app/clipboard/templates/guacClipboard.html rename to guacamole/src/main/frontend/src/app/clipboard/templates/guacClipboard.html diff --git a/guacamole/src/main/webapp/app/clipboard/types/ClipboardData.js b/guacamole/src/main/frontend/src/app/clipboard/types/ClipboardData.js similarity index 100% rename from guacamole/src/main/webapp/app/clipboard/types/ClipboardData.js rename to guacamole/src/main/frontend/src/app/clipboard/types/ClipboardData.js diff --git a/guacamole/src/main/webapp/app/element/directives/guacFocus.js b/guacamole/src/main/frontend/src/app/element/directives/guacFocus.js similarity index 100% rename from guacamole/src/main/webapp/app/element/directives/guacFocus.js rename to guacamole/src/main/frontend/src/app/element/directives/guacFocus.js diff --git a/guacamole/src/main/webapp/app/element/directives/guacMarker.js b/guacamole/src/main/frontend/src/app/element/directives/guacMarker.js similarity index 100% rename from guacamole/src/main/webapp/app/element/directives/guacMarker.js rename to guacamole/src/main/frontend/src/app/element/directives/guacMarker.js diff --git a/guacamole/src/main/webapp/app/element/directives/guacResize.js b/guacamole/src/main/frontend/src/app/element/directives/guacResize.js similarity index 100% rename from guacamole/src/main/webapp/app/element/directives/guacResize.js rename to guacamole/src/main/frontend/src/app/element/directives/guacResize.js diff --git a/guacamole/src/main/webapp/app/element/directives/guacScroll.js b/guacamole/src/main/frontend/src/app/element/directives/guacScroll.js similarity index 100% rename from guacamole/src/main/webapp/app/element/directives/guacScroll.js rename to guacamole/src/main/frontend/src/app/element/directives/guacScroll.js diff --git a/guacamole/src/main/webapp/app/element/directives/guacUpload.js b/guacamole/src/main/frontend/src/app/element/directives/guacUpload.js similarity index 100% rename from guacamole/src/main/webapp/app/element/directives/guacUpload.js rename to guacamole/src/main/frontend/src/app/element/directives/guacUpload.js diff --git a/guacamole/src/main/webapp/app/element/elementModule.js b/guacamole/src/main/frontend/src/app/element/elementModule.js similarity index 100% rename from guacamole/src/main/webapp/app/element/elementModule.js rename to guacamole/src/main/frontend/src/app/element/elementModule.js diff --git a/guacamole/src/main/webapp/app/element/styles/resize-sensor.css b/guacamole/src/main/frontend/src/app/element/styles/resize-sensor.css similarity index 100% rename from guacamole/src/main/webapp/app/element/styles/resize-sensor.css rename to guacamole/src/main/frontend/src/app/element/styles/resize-sensor.css diff --git a/guacamole/src/main/webapp/app/element/templates/blank.html b/guacamole/src/main/frontend/src/app/element/templates/blank.html similarity index 100% rename from guacamole/src/main/webapp/app/element/templates/blank.html rename to guacamole/src/main/frontend/src/app/element/templates/blank.html diff --git a/guacamole/src/main/webapp/app/element/types/Marker.js b/guacamole/src/main/frontend/src/app/element/types/Marker.js similarity index 100% rename from guacamole/src/main/webapp/app/element/types/Marker.js rename to guacamole/src/main/frontend/src/app/element/types/Marker.js diff --git a/guacamole/src/main/webapp/app/element/types/ScrollState.js b/guacamole/src/main/frontend/src/app/element/types/ScrollState.js similarity index 100% rename from guacamole/src/main/webapp/app/element/types/ScrollState.js rename to guacamole/src/main/frontend/src/app/element/types/ScrollState.js diff --git a/guacamole/src/main/webapp/app/form/controllers/checkboxFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/checkboxFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/checkboxFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/checkboxFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/dateFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/dateFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/dateFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/dateFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/languageFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/languageFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/languageFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/languageFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/numberFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/numberFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/numberFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/numberFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/passwordFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/passwordFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/passwordFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/passwordFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/redirectFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/redirectFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/redirectFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/redirectFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/selectFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/selectFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/selectFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/selectFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/terminalColorSchemeFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/terminalColorSchemeFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/terminalColorSchemeFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/terminalColorSchemeFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/textFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/textFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/textFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/textFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/timeFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/timeFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/timeFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/timeFieldController.js diff --git a/guacamole/src/main/webapp/app/form/controllers/timeZoneFieldController.js b/guacamole/src/main/frontend/src/app/form/controllers/timeZoneFieldController.js similarity index 100% rename from guacamole/src/main/webapp/app/form/controllers/timeZoneFieldController.js rename to guacamole/src/main/frontend/src/app/form/controllers/timeZoneFieldController.js diff --git a/guacamole/src/main/webapp/app/form/directives/form.js b/guacamole/src/main/frontend/src/app/form/directives/form.js similarity index 100% rename from guacamole/src/main/webapp/app/form/directives/form.js rename to guacamole/src/main/frontend/src/app/form/directives/form.js diff --git a/guacamole/src/main/webapp/app/form/directives/formField.js b/guacamole/src/main/frontend/src/app/form/directives/formField.js similarity index 100% rename from guacamole/src/main/webapp/app/form/directives/formField.js rename to guacamole/src/main/frontend/src/app/form/directives/formField.js diff --git a/guacamole/src/main/webapp/app/form/directives/guacInputColor.js b/guacamole/src/main/frontend/src/app/form/directives/guacInputColor.js similarity index 100% rename from guacamole/src/main/webapp/app/form/directives/guacInputColor.js rename to guacamole/src/main/frontend/src/app/form/directives/guacInputColor.js diff --git a/guacamole/src/main/webapp/app/form/directives/guacLenientDate.js b/guacamole/src/main/frontend/src/app/form/directives/guacLenientDate.js similarity index 100% rename from guacamole/src/main/webapp/app/form/directives/guacLenientDate.js rename to guacamole/src/main/frontend/src/app/form/directives/guacLenientDate.js diff --git a/guacamole/src/main/webapp/app/form/directives/guacLenientTime.js b/guacamole/src/main/frontend/src/app/form/directives/guacLenientTime.js similarity index 100% rename from guacamole/src/main/webapp/app/form/directives/guacLenientTime.js rename to guacamole/src/main/frontend/src/app/form/directives/guacLenientTime.js diff --git a/guacamole/src/main/webapp/app/form/formModule.js b/guacamole/src/main/frontend/src/app/form/formModule.js similarity index 100% rename from guacamole/src/main/webapp/app/form/formModule.js rename to guacamole/src/main/frontend/src/app/form/formModule.js diff --git a/guacamole/src/main/webapp/app/form/services/colorPickerService.js b/guacamole/src/main/frontend/src/app/form/services/colorPickerService.js similarity index 100% rename from guacamole/src/main/webapp/app/form/services/colorPickerService.js rename to guacamole/src/main/frontend/src/app/form/services/colorPickerService.js diff --git a/guacamole/src/main/webapp/app/form/services/formService.js b/guacamole/src/main/frontend/src/app/form/services/formService.js similarity index 100% rename from guacamole/src/main/webapp/app/form/services/formService.js rename to guacamole/src/main/frontend/src/app/form/services/formService.js diff --git a/guacamole/src/main/webapp/app/form/styles/form-field.css b/guacamole/src/main/frontend/src/app/form/styles/form-field.css similarity index 100% rename from guacamole/src/main/webapp/app/form/styles/form-field.css rename to guacamole/src/main/frontend/src/app/form/styles/form-field.css diff --git a/guacamole/src/main/webapp/app/form/styles/form.css b/guacamole/src/main/frontend/src/app/form/styles/form.css similarity index 100% rename from guacamole/src/main/webapp/app/form/styles/form.css rename to guacamole/src/main/frontend/src/app/form/styles/form.css diff --git a/guacamole/src/main/webapp/app/form/styles/redirect-field.css b/guacamole/src/main/frontend/src/app/form/styles/redirect-field.css similarity index 100% rename from guacamole/src/main/webapp/app/form/styles/redirect-field.css rename to guacamole/src/main/frontend/src/app/form/styles/redirect-field.css diff --git a/guacamole/src/main/webapp/app/form/styles/terminal-color-scheme-field.css b/guacamole/src/main/frontend/src/app/form/styles/terminal-color-scheme-field.css similarity index 100% rename from guacamole/src/main/webapp/app/form/styles/terminal-color-scheme-field.css rename to guacamole/src/main/frontend/src/app/form/styles/terminal-color-scheme-field.css diff --git a/guacamole/src/main/webapp/app/form/templates/checkboxField.html b/guacamole/src/main/frontend/src/app/form/templates/checkboxField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/checkboxField.html rename to guacamole/src/main/frontend/src/app/form/templates/checkboxField.html diff --git a/guacamole/src/main/webapp/app/form/templates/dateField.html b/guacamole/src/main/frontend/src/app/form/templates/dateField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/dateField.html rename to guacamole/src/main/frontend/src/app/form/templates/dateField.html diff --git a/guacamole/src/main/webapp/app/form/templates/emailField.html b/guacamole/src/main/frontend/src/app/form/templates/emailField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/emailField.html rename to guacamole/src/main/frontend/src/app/form/templates/emailField.html diff --git a/guacamole/src/main/webapp/app/form/templates/form.html b/guacamole/src/main/frontend/src/app/form/templates/form.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/form.html rename to guacamole/src/main/frontend/src/app/form/templates/form.html diff --git a/guacamole/src/main/webapp/app/form/templates/formField.html b/guacamole/src/main/frontend/src/app/form/templates/formField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/formField.html rename to guacamole/src/main/frontend/src/app/form/templates/formField.html diff --git a/guacamole/src/main/webapp/app/form/templates/guacInputColor.html b/guacamole/src/main/frontend/src/app/form/templates/guacInputColor.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/guacInputColor.html rename to guacamole/src/main/frontend/src/app/form/templates/guacInputColor.html diff --git a/guacamole/src/main/webapp/app/form/templates/languageField.html b/guacamole/src/main/frontend/src/app/form/templates/languageField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/languageField.html rename to guacamole/src/main/frontend/src/app/form/templates/languageField.html diff --git a/guacamole/src/main/webapp/app/form/templates/numberField.html b/guacamole/src/main/frontend/src/app/form/templates/numberField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/numberField.html rename to guacamole/src/main/frontend/src/app/form/templates/numberField.html diff --git a/guacamole/src/main/webapp/app/form/templates/passwordField.html b/guacamole/src/main/frontend/src/app/form/templates/passwordField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/passwordField.html rename to guacamole/src/main/frontend/src/app/form/templates/passwordField.html diff --git a/guacamole/src/main/webapp/app/form/templates/redirectField.html b/guacamole/src/main/frontend/src/app/form/templates/redirectField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/redirectField.html rename to guacamole/src/main/frontend/src/app/form/templates/redirectField.html diff --git a/guacamole/src/main/webapp/app/form/templates/selectField.html b/guacamole/src/main/frontend/src/app/form/templates/selectField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/selectField.html rename to guacamole/src/main/frontend/src/app/form/templates/selectField.html diff --git a/guacamole/src/main/webapp/app/form/templates/terminalColorSchemeField.html b/guacamole/src/main/frontend/src/app/form/templates/terminalColorSchemeField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/terminalColorSchemeField.html rename to guacamole/src/main/frontend/src/app/form/templates/terminalColorSchemeField.html diff --git a/guacamole/src/main/webapp/app/form/templates/textAreaField.html b/guacamole/src/main/frontend/src/app/form/templates/textAreaField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/textAreaField.html rename to guacamole/src/main/frontend/src/app/form/templates/textAreaField.html diff --git a/guacamole/src/main/webapp/app/form/templates/textField.html b/guacamole/src/main/frontend/src/app/form/templates/textField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/textField.html rename to guacamole/src/main/frontend/src/app/form/templates/textField.html diff --git a/guacamole/src/main/webapp/app/form/templates/timeField.html b/guacamole/src/main/frontend/src/app/form/templates/timeField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/timeField.html rename to guacamole/src/main/frontend/src/app/form/templates/timeField.html diff --git a/guacamole/src/main/webapp/app/form/templates/timeZoneField.html b/guacamole/src/main/frontend/src/app/form/templates/timeZoneField.html similarity index 100% rename from guacamole/src/main/webapp/app/form/templates/timeZoneField.html rename to guacamole/src/main/frontend/src/app/form/templates/timeZoneField.html diff --git a/guacamole/src/main/webapp/app/form/types/ColorScheme.js b/guacamole/src/main/frontend/src/app/form/types/ColorScheme.js similarity index 100% rename from guacamole/src/main/webapp/app/form/types/ColorScheme.js rename to guacamole/src/main/frontend/src/app/form/types/ColorScheme.js diff --git a/guacamole/src/main/webapp/app/form/types/FieldType.js b/guacamole/src/main/frontend/src/app/form/types/FieldType.js similarity index 100% rename from guacamole/src/main/webapp/app/form/types/FieldType.js rename to guacamole/src/main/frontend/src/app/form/types/FieldType.js diff --git a/guacamole/src/main/webapp/app/groupList/directives/guacGroupList.js b/guacamole/src/main/frontend/src/app/groupList/directives/guacGroupList.js similarity index 100% rename from guacamole/src/main/webapp/app/groupList/directives/guacGroupList.js rename to guacamole/src/main/frontend/src/app/groupList/directives/guacGroupList.js diff --git a/guacamole/src/main/webapp/app/groupList/directives/guacGroupListFilter.js b/guacamole/src/main/frontend/src/app/groupList/directives/guacGroupListFilter.js similarity index 100% rename from guacamole/src/main/webapp/app/groupList/directives/guacGroupListFilter.js rename to guacamole/src/main/frontend/src/app/groupList/directives/guacGroupListFilter.js diff --git a/guacamole/src/main/webapp/app/groupList/groupListModule.js b/guacamole/src/main/frontend/src/app/groupList/groupListModule.js similarity index 100% rename from guacamole/src/main/webapp/app/groupList/groupListModule.js rename to guacamole/src/main/frontend/src/app/groupList/groupListModule.js diff --git a/guacamole/src/main/webapp/app/groupList/templates/guacGroupList.html b/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupList.html similarity index 100% rename from guacamole/src/main/webapp/app/groupList/templates/guacGroupList.html rename to guacamole/src/main/frontend/src/app/groupList/templates/guacGroupList.html diff --git a/guacamole/src/main/webapp/app/groupList/templates/guacGroupListFilter.html b/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupListFilter.html similarity index 100% rename from guacamole/src/main/webapp/app/groupList/templates/guacGroupListFilter.html rename to guacamole/src/main/frontend/src/app/groupList/templates/guacGroupListFilter.html diff --git a/guacamole/src/main/webapp/app/groupList/types/GroupListItem.js b/guacamole/src/main/frontend/src/app/groupList/types/GroupListItem.js similarity index 100% rename from guacamole/src/main/webapp/app/groupList/types/GroupListItem.js rename to guacamole/src/main/frontend/src/app/groupList/types/GroupListItem.js diff --git a/guacamole/src/main/webapp/app/history/historyModule.js b/guacamole/src/main/frontend/src/app/history/historyModule.js similarity index 100% rename from guacamole/src/main/webapp/app/history/historyModule.js rename to guacamole/src/main/frontend/src/app/history/historyModule.js diff --git a/guacamole/src/main/webapp/app/history/services/guacHistory.js b/guacamole/src/main/frontend/src/app/history/services/guacHistory.js similarity index 100% rename from guacamole/src/main/webapp/app/history/services/guacHistory.js rename to guacamole/src/main/frontend/src/app/history/services/guacHistory.js diff --git a/guacamole/src/main/webapp/app/history/types/HistoryEntry.js b/guacamole/src/main/frontend/src/app/history/types/HistoryEntry.js similarity index 100% rename from guacamole/src/main/webapp/app/history/types/HistoryEntry.js rename to guacamole/src/main/frontend/src/app/history/types/HistoryEntry.js diff --git a/guacamole/src/main/webapp/app/home/controllers/homeController.js b/guacamole/src/main/frontend/src/app/home/controllers/homeController.js similarity index 100% rename from guacamole/src/main/webapp/app/home/controllers/homeController.js rename to guacamole/src/main/frontend/src/app/home/controllers/homeController.js diff --git a/guacamole/src/main/webapp/app/home/directives/guacRecentConnections.js b/guacamole/src/main/frontend/src/app/home/directives/guacRecentConnections.js similarity index 100% rename from guacamole/src/main/webapp/app/home/directives/guacRecentConnections.js rename to guacamole/src/main/frontend/src/app/home/directives/guacRecentConnections.js diff --git a/guacamole/src/main/webapp/app/home/homeModule.js b/guacamole/src/main/frontend/src/app/home/homeModule.js similarity index 100% rename from guacamole/src/main/webapp/app/home/homeModule.js rename to guacamole/src/main/frontend/src/app/home/homeModule.js diff --git a/guacamole/src/main/webapp/app/home/styles/home.css b/guacamole/src/main/frontend/src/app/home/styles/home.css similarity index 100% rename from guacamole/src/main/webapp/app/home/styles/home.css rename to guacamole/src/main/frontend/src/app/home/styles/home.css diff --git a/guacamole/src/main/webapp/app/home/templates/connection.html b/guacamole/src/main/frontend/src/app/home/templates/connection.html similarity index 100% rename from guacamole/src/main/webapp/app/home/templates/connection.html rename to guacamole/src/main/frontend/src/app/home/templates/connection.html diff --git a/guacamole/src/main/webapp/app/home/templates/connectionGroup.html b/guacamole/src/main/frontend/src/app/home/templates/connectionGroup.html similarity index 100% rename from guacamole/src/main/webapp/app/home/templates/connectionGroup.html rename to guacamole/src/main/frontend/src/app/home/templates/connectionGroup.html diff --git a/guacamole/src/main/webapp/app/home/templates/guacRecentConnections.html b/guacamole/src/main/frontend/src/app/home/templates/guacRecentConnections.html similarity index 100% rename from guacamole/src/main/webapp/app/home/templates/guacRecentConnections.html rename to guacamole/src/main/frontend/src/app/home/templates/guacRecentConnections.html diff --git a/guacamole/src/main/webapp/app/home/templates/home.html b/guacamole/src/main/frontend/src/app/home/templates/home.html similarity index 100% rename from guacamole/src/main/webapp/app/home/templates/home.html rename to guacamole/src/main/frontend/src/app/home/templates/home.html diff --git a/guacamole/src/main/webapp/app/home/types/ActiveConnection.js b/guacamole/src/main/frontend/src/app/home/types/ActiveConnection.js similarity index 100% rename from guacamole/src/main/webapp/app/home/types/ActiveConnection.js rename to guacamole/src/main/frontend/src/app/home/types/ActiveConnection.js diff --git a/guacamole/src/main/webapp/app/home/types/RecentConnection.js b/guacamole/src/main/frontend/src/app/home/types/RecentConnection.js similarity index 100% rename from guacamole/src/main/webapp/app/home/types/RecentConnection.js rename to guacamole/src/main/frontend/src/app/home/types/RecentConnection.js diff --git a/guacamole/src/main/webapp/app/index/config/httpDefaults.js b/guacamole/src/main/frontend/src/app/index/config/httpDefaults.js similarity index 100% rename from guacamole/src/main/webapp/app/index/config/httpDefaults.js rename to guacamole/src/main/frontend/src/app/index/config/httpDefaults.js diff --git a/guacamole/src/main/webapp/app/index/config/indexRouteConfig.js b/guacamole/src/main/frontend/src/app/index/config/indexRouteConfig.js similarity index 100% rename from guacamole/src/main/webapp/app/index/config/indexRouteConfig.js rename to guacamole/src/main/frontend/src/app/index/config/indexRouteConfig.js diff --git a/guacamole/src/main/webapp/app/index/config/indexTranslationConfig.js b/guacamole/src/main/frontend/src/app/index/config/indexTranslationConfig.js similarity index 100% rename from guacamole/src/main/webapp/app/index/config/indexTranslationConfig.js rename to guacamole/src/main/frontend/src/app/index/config/indexTranslationConfig.js diff --git a/guacamole/src/main/webapp/app/index/config/templateRequestDecorator.js b/guacamole/src/main/frontend/src/app/index/config/templateRequestDecorator.js similarity index 100% rename from guacamole/src/main/webapp/app/index/config/templateRequestDecorator.js rename to guacamole/src/main/frontend/src/app/index/config/templateRequestDecorator.js diff --git a/guacamole/src/main/webapp/app/index/controllers/indexController.js b/guacamole/src/main/frontend/src/app/index/controllers/indexController.js similarity index 100% rename from guacamole/src/main/webapp/app/index/controllers/indexController.js rename to guacamole/src/main/frontend/src/app/index/controllers/indexController.js diff --git a/guacamole/src/main/webapp/app/index/filters/arrayFilter.js b/guacamole/src/main/frontend/src/app/index/filters/arrayFilter.js similarity index 100% rename from guacamole/src/main/webapp/app/index/filters/arrayFilter.js rename to guacamole/src/main/frontend/src/app/index/filters/arrayFilter.js diff --git a/guacamole/src/main/webapp/app/index/indexModule.js b/guacamole/src/main/frontend/src/app/index/indexModule.js similarity index 100% rename from guacamole/src/main/webapp/app/index/indexModule.js rename to guacamole/src/main/frontend/src/app/index/indexModule.js diff --git a/guacamole/src/main/webapp/app/index/services/iconService.js b/guacamole/src/main/frontend/src/app/index/services/iconService.js similarity index 100% rename from guacamole/src/main/webapp/app/index/services/iconService.js rename to guacamole/src/main/frontend/src/app/index/services/iconService.js diff --git a/guacamole/src/main/webapp/app/index/styles/animation.css b/guacamole/src/main/frontend/src/app/index/styles/animation.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/animation.css rename to guacamole/src/main/frontend/src/app/index/styles/animation.css diff --git a/guacamole/src/main/webapp/app/index/styles/buttons.css b/guacamole/src/main/frontend/src/app/index/styles/buttons.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/buttons.css rename to guacamole/src/main/frontend/src/app/index/styles/buttons.css diff --git a/guacamole/src/main/webapp/app/index/styles/dialog.css b/guacamole/src/main/frontend/src/app/index/styles/dialog.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/dialog.css rename to guacamole/src/main/frontend/src/app/index/styles/dialog.css diff --git a/guacamole/src/main/webapp/app/index/styles/fatal-page-error.css b/guacamole/src/main/frontend/src/app/index/styles/fatal-page-error.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/fatal-page-error.css rename to guacamole/src/main/frontend/src/app/index/styles/fatal-page-error.css diff --git a/guacamole/src/main/webapp/app/index/styles/font-carlito.css b/guacamole/src/main/frontend/src/app/index/styles/font-carlito.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/font-carlito.css rename to guacamole/src/main/frontend/src/app/index/styles/font-carlito.css diff --git a/guacamole/src/main/webapp/app/index/styles/headers.css b/guacamole/src/main/frontend/src/app/index/styles/headers.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/headers.css rename to guacamole/src/main/frontend/src/app/index/styles/headers.css diff --git a/guacamole/src/main/webapp/app/index/styles/input.css b/guacamole/src/main/frontend/src/app/index/styles/input.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/input.css rename to guacamole/src/main/frontend/src/app/index/styles/input.css diff --git a/guacamole/src/main/webapp/app/index/styles/lists.css b/guacamole/src/main/frontend/src/app/index/styles/lists.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/lists.css rename to guacamole/src/main/frontend/src/app/index/styles/lists.css diff --git a/guacamole/src/main/webapp/app/index/styles/loading.css b/guacamole/src/main/frontend/src/app/index/styles/loading.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/loading.css rename to guacamole/src/main/frontend/src/app/index/styles/loading.css diff --git a/guacamole/src/main/webapp/app/index/styles/sorted-tables.css b/guacamole/src/main/frontend/src/app/index/styles/sorted-tables.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/sorted-tables.css rename to guacamole/src/main/frontend/src/app/index/styles/sorted-tables.css diff --git a/guacamole/src/main/webapp/app/index/styles/status.css b/guacamole/src/main/frontend/src/app/index/styles/status.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/status.css rename to guacamole/src/main/frontend/src/app/index/styles/status.css diff --git a/guacamole/src/main/webapp/app/index/styles/ui.css b/guacamole/src/main/frontend/src/app/index/styles/ui.css similarity index 100% rename from guacamole/src/main/webapp/app/index/styles/ui.css rename to guacamole/src/main/frontend/src/app/index/styles/ui.css diff --git a/guacamole/src/main/webapp/app/list/directives/guacFilter.js b/guacamole/src/main/frontend/src/app/list/directives/guacFilter.js similarity index 100% rename from guacamole/src/main/webapp/app/list/directives/guacFilter.js rename to guacamole/src/main/frontend/src/app/list/directives/guacFilter.js diff --git a/guacamole/src/main/webapp/app/list/directives/guacPager.js b/guacamole/src/main/frontend/src/app/list/directives/guacPager.js similarity index 100% rename from guacamole/src/main/webapp/app/list/directives/guacPager.js rename to guacamole/src/main/frontend/src/app/list/directives/guacPager.js diff --git a/guacamole/src/main/webapp/app/list/directives/guacSortOrder.js b/guacamole/src/main/frontend/src/app/list/directives/guacSortOrder.js similarity index 100% rename from guacamole/src/main/webapp/app/list/directives/guacSortOrder.js rename to guacamole/src/main/frontend/src/app/list/directives/guacSortOrder.js diff --git a/guacamole/src/main/webapp/app/list/directives/guacUserItem.js b/guacamole/src/main/frontend/src/app/list/directives/guacUserItem.js similarity index 100% rename from guacamole/src/main/webapp/app/list/directives/guacUserItem.js rename to guacamole/src/main/frontend/src/app/list/directives/guacUserItem.js diff --git a/guacamole/src/main/webapp/app/list/listModule.js b/guacamole/src/main/frontend/src/app/list/listModule.js similarity index 100% rename from guacamole/src/main/webapp/app/list/listModule.js rename to guacamole/src/main/frontend/src/app/list/listModule.js diff --git a/guacamole/src/main/webapp/app/list/styles/filter.css b/guacamole/src/main/frontend/src/app/list/styles/filter.css similarity index 100% rename from guacamole/src/main/webapp/app/list/styles/filter.css rename to guacamole/src/main/frontend/src/app/list/styles/filter.css diff --git a/guacamole/src/main/webapp/app/list/styles/pager.css b/guacamole/src/main/frontend/src/app/list/styles/pager.css similarity index 100% rename from guacamole/src/main/webapp/app/list/styles/pager.css rename to guacamole/src/main/frontend/src/app/list/styles/pager.css diff --git a/guacamole/src/main/webapp/app/list/styles/user-item.css b/guacamole/src/main/frontend/src/app/list/styles/user-item.css similarity index 100% rename from guacamole/src/main/webapp/app/list/styles/user-item.css rename to guacamole/src/main/frontend/src/app/list/styles/user-item.css diff --git a/guacamole/src/main/webapp/app/list/templates/guacFilter.html b/guacamole/src/main/frontend/src/app/list/templates/guacFilter.html similarity index 100% rename from guacamole/src/main/webapp/app/list/templates/guacFilter.html rename to guacamole/src/main/frontend/src/app/list/templates/guacFilter.html diff --git a/guacamole/src/main/webapp/app/list/templates/guacPager.html b/guacamole/src/main/frontend/src/app/list/templates/guacPager.html similarity index 100% rename from guacamole/src/main/webapp/app/list/templates/guacPager.html rename to guacamole/src/main/frontend/src/app/list/templates/guacPager.html diff --git a/guacamole/src/main/webapp/app/list/templates/guacUserItem.html b/guacamole/src/main/frontend/src/app/list/templates/guacUserItem.html similarity index 100% rename from guacamole/src/main/webapp/app/list/templates/guacUserItem.html rename to guacamole/src/main/frontend/src/app/list/templates/guacUserItem.html diff --git a/guacamole/src/main/webapp/app/list/types/FilterPattern.js b/guacamole/src/main/frontend/src/app/list/types/FilterPattern.js similarity index 100% rename from guacamole/src/main/webapp/app/list/types/FilterPattern.js rename to guacamole/src/main/frontend/src/app/list/types/FilterPattern.js diff --git a/guacamole/src/main/webapp/app/list/types/FilterToken.js b/guacamole/src/main/frontend/src/app/list/types/FilterToken.js similarity index 100% rename from guacamole/src/main/webapp/app/list/types/FilterToken.js rename to guacamole/src/main/frontend/src/app/list/types/FilterToken.js diff --git a/guacamole/src/main/webapp/app/list/types/IPv4Network.js b/guacamole/src/main/frontend/src/app/list/types/IPv4Network.js similarity index 100% rename from guacamole/src/main/webapp/app/list/types/IPv4Network.js rename to guacamole/src/main/frontend/src/app/list/types/IPv4Network.js diff --git a/guacamole/src/main/webapp/app/list/types/IPv6Network.js b/guacamole/src/main/frontend/src/app/list/types/IPv6Network.js similarity index 100% rename from guacamole/src/main/webapp/app/list/types/IPv6Network.js rename to guacamole/src/main/frontend/src/app/list/types/IPv6Network.js diff --git a/guacamole/src/main/webapp/app/list/types/SortOrder.js b/guacamole/src/main/frontend/src/app/list/types/SortOrder.js similarity index 100% rename from guacamole/src/main/webapp/app/list/types/SortOrder.js rename to guacamole/src/main/frontend/src/app/list/types/SortOrder.js diff --git a/guacamole/src/main/webapp/app/locale/localeModule.js b/guacamole/src/main/frontend/src/app/locale/localeModule.js similarity index 100% rename from guacamole/src/main/webapp/app/locale/localeModule.js rename to guacamole/src/main/frontend/src/app/locale/localeModule.js diff --git a/guacamole/src/main/webapp/app/locale/services/translationLoader.js b/guacamole/src/main/frontend/src/app/locale/services/translationLoader.js similarity index 100% rename from guacamole/src/main/webapp/app/locale/services/translationLoader.js rename to guacamole/src/main/frontend/src/app/locale/services/translationLoader.js diff --git a/guacamole/src/main/webapp/app/locale/services/translationStringService.js b/guacamole/src/main/frontend/src/app/locale/services/translationStringService.js similarity index 100% rename from guacamole/src/main/webapp/app/locale/services/translationStringService.js rename to guacamole/src/main/frontend/src/app/locale/services/translationStringService.js diff --git a/guacamole/src/main/webapp/app/login/directives/login.js b/guacamole/src/main/frontend/src/app/login/directives/login.js similarity index 100% rename from guacamole/src/main/webapp/app/login/directives/login.js rename to guacamole/src/main/frontend/src/app/login/directives/login.js diff --git a/guacamole/src/main/webapp/app/login/loginModule.js b/guacamole/src/main/frontend/src/app/login/loginModule.js similarity index 100% rename from guacamole/src/main/webapp/app/login/loginModule.js rename to guacamole/src/main/frontend/src/app/login/loginModule.js diff --git a/guacamole/src/main/webapp/app/login/styles/animation.css b/guacamole/src/main/frontend/src/app/login/styles/animation.css similarity index 100% rename from guacamole/src/main/webapp/app/login/styles/animation.css rename to guacamole/src/main/frontend/src/app/login/styles/animation.css diff --git a/guacamole/src/main/webapp/app/login/styles/dialog.css b/guacamole/src/main/frontend/src/app/login/styles/dialog.css similarity index 100% rename from guacamole/src/main/webapp/app/login/styles/dialog.css rename to guacamole/src/main/frontend/src/app/login/styles/dialog.css diff --git a/guacamole/src/main/webapp/app/login/styles/input.css b/guacamole/src/main/frontend/src/app/login/styles/input.css similarity index 100% rename from guacamole/src/main/webapp/app/login/styles/input.css rename to guacamole/src/main/frontend/src/app/login/styles/input.css diff --git a/guacamole/src/main/webapp/app/login/styles/login.css b/guacamole/src/main/frontend/src/app/login/styles/login.css similarity index 100% rename from guacamole/src/main/webapp/app/login/styles/login.css rename to guacamole/src/main/frontend/src/app/login/styles/login.css diff --git a/guacamole/src/main/webapp/app/login/templates/login.html b/guacamole/src/main/frontend/src/app/login/templates/login.html similarity index 100% rename from guacamole/src/main/webapp/app/login/templates/login.html rename to guacamole/src/main/frontend/src/app/login/templates/login.html diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js b/guacamole/src/main/frontend/src/app/manage/controllers/manageConnectionController.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js rename to guacamole/src/main/frontend/src/app/manage/controllers/manageConnectionController.js diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js b/guacamole/src/main/frontend/src/app/manage/controllers/manageConnectionGroupController.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js rename to guacamole/src/main/frontend/src/app/manage/controllers/manageConnectionGroupController.js diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageSharingProfileController.js b/guacamole/src/main/frontend/src/app/manage/controllers/manageSharingProfileController.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/controllers/manageSharingProfileController.js rename to guacamole/src/main/frontend/src/app/manage/controllers/manageSharingProfileController.js diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js b/guacamole/src/main/frontend/src/app/manage/controllers/manageUserController.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/controllers/manageUserController.js rename to guacamole/src/main/frontend/src/app/manage/controllers/manageUserController.js diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageUserGroupController.js b/guacamole/src/main/frontend/src/app/manage/controllers/manageUserGroupController.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/controllers/manageUserGroupController.js rename to guacamole/src/main/frontend/src/app/manage/controllers/manageUserGroupController.js diff --git a/guacamole/src/main/webapp/app/manage/directives/connectionPermissionEditor.js b/guacamole/src/main/frontend/src/app/manage/directives/connectionPermissionEditor.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/directives/connectionPermissionEditor.js rename to guacamole/src/main/frontend/src/app/manage/directives/connectionPermissionEditor.js diff --git a/guacamole/src/main/webapp/app/manage/directives/dataSourceTabs.js b/guacamole/src/main/frontend/src/app/manage/directives/dataSourceTabs.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/directives/dataSourceTabs.js rename to guacamole/src/main/frontend/src/app/manage/directives/dataSourceTabs.js diff --git a/guacamole/src/main/webapp/app/manage/directives/identifierSetEditor.js b/guacamole/src/main/frontend/src/app/manage/directives/identifierSetEditor.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/directives/identifierSetEditor.js rename to guacamole/src/main/frontend/src/app/manage/directives/identifierSetEditor.js diff --git a/guacamole/src/main/webapp/app/manage/directives/locationChooser.js b/guacamole/src/main/frontend/src/app/manage/directives/locationChooser.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/directives/locationChooser.js rename to guacamole/src/main/frontend/src/app/manage/directives/locationChooser.js diff --git a/guacamole/src/main/webapp/app/manage/directives/managementButtons.js b/guacamole/src/main/frontend/src/app/manage/directives/managementButtons.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/directives/managementButtons.js rename to guacamole/src/main/frontend/src/app/manage/directives/managementButtons.js diff --git a/guacamole/src/main/webapp/app/manage/directives/systemPermissionEditor.js b/guacamole/src/main/frontend/src/app/manage/directives/systemPermissionEditor.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/directives/systemPermissionEditor.js rename to guacamole/src/main/frontend/src/app/manage/directives/systemPermissionEditor.js diff --git a/guacamole/src/main/webapp/app/manage/manageModule.js b/guacamole/src/main/frontend/src/app/manage/manageModule.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/manageModule.js rename to guacamole/src/main/frontend/src/app/manage/manageModule.js diff --git a/guacamole/src/main/webapp/app/manage/styles/attributes.css b/guacamole/src/main/frontend/src/app/manage/styles/attributes.css similarity index 100% rename from guacamole/src/main/webapp/app/manage/styles/attributes.css rename to guacamole/src/main/frontend/src/app/manage/styles/attributes.css diff --git a/guacamole/src/main/webapp/app/manage/styles/connection-parameter.css b/guacamole/src/main/frontend/src/app/manage/styles/connection-parameter.css similarity index 100% rename from guacamole/src/main/webapp/app/manage/styles/connection-parameter.css rename to guacamole/src/main/frontend/src/app/manage/styles/connection-parameter.css diff --git a/guacamole/src/main/webapp/app/manage/styles/forms.css b/guacamole/src/main/frontend/src/app/manage/styles/forms.css similarity index 100% rename from guacamole/src/main/webapp/app/manage/styles/forms.css rename to guacamole/src/main/frontend/src/app/manage/styles/forms.css diff --git a/guacamole/src/main/webapp/app/manage/styles/locationChooser.css b/guacamole/src/main/frontend/src/app/manage/styles/locationChooser.css similarity index 100% rename from guacamole/src/main/webapp/app/manage/styles/locationChooser.css rename to guacamole/src/main/frontend/src/app/manage/styles/locationChooser.css diff --git a/guacamole/src/main/webapp/app/manage/styles/manage-user-group.css b/guacamole/src/main/frontend/src/app/manage/styles/manage-user-group.css similarity index 100% rename from guacamole/src/main/webapp/app/manage/styles/manage-user-group.css rename to guacamole/src/main/frontend/src/app/manage/styles/manage-user-group.css diff --git a/guacamole/src/main/webapp/app/manage/styles/manage-user.css b/guacamole/src/main/frontend/src/app/manage/styles/manage-user.css similarity index 100% rename from guacamole/src/main/webapp/app/manage/styles/manage-user.css rename to guacamole/src/main/frontend/src/app/manage/styles/manage-user.css diff --git a/guacamole/src/main/webapp/app/manage/styles/related-objects.css b/guacamole/src/main/frontend/src/app/manage/styles/related-objects.css similarity index 100% rename from guacamole/src/main/webapp/app/manage/styles/related-objects.css rename to guacamole/src/main/frontend/src/app/manage/styles/related-objects.css diff --git a/guacamole/src/main/webapp/app/manage/templates/connectionGroupPermission.html b/guacamole/src/main/frontend/src/app/manage/templates/connectionGroupPermission.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/connectionGroupPermission.html rename to guacamole/src/main/frontend/src/app/manage/templates/connectionGroupPermission.html diff --git a/guacamole/src/main/webapp/app/manage/templates/connectionPermission.html b/guacamole/src/main/frontend/src/app/manage/templates/connectionPermission.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/connectionPermission.html rename to guacamole/src/main/frontend/src/app/manage/templates/connectionPermission.html diff --git a/guacamole/src/main/webapp/app/manage/templates/connectionPermissionEditor.html b/guacamole/src/main/frontend/src/app/manage/templates/connectionPermissionEditor.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/connectionPermissionEditor.html rename to guacamole/src/main/frontend/src/app/manage/templates/connectionPermissionEditor.html diff --git a/guacamole/src/main/webapp/app/manage/templates/dataSourceTabs.html b/guacamole/src/main/frontend/src/app/manage/templates/dataSourceTabs.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/dataSourceTabs.html rename to guacamole/src/main/frontend/src/app/manage/templates/dataSourceTabs.html diff --git a/guacamole/src/main/webapp/app/manage/templates/identifierSetEditor.html b/guacamole/src/main/frontend/src/app/manage/templates/identifierSetEditor.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/identifierSetEditor.html rename to guacamole/src/main/frontend/src/app/manage/templates/identifierSetEditor.html diff --git a/guacamole/src/main/webapp/app/manage/templates/locationChooser.html b/guacamole/src/main/frontend/src/app/manage/templates/locationChooser.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/locationChooser.html rename to guacamole/src/main/frontend/src/app/manage/templates/locationChooser.html diff --git a/guacamole/src/main/webapp/app/manage/templates/locationChooserConnectionGroup.html b/guacamole/src/main/frontend/src/app/manage/templates/locationChooserConnectionGroup.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/locationChooserConnectionGroup.html rename to guacamole/src/main/frontend/src/app/manage/templates/locationChooserConnectionGroup.html diff --git a/guacamole/src/main/webapp/app/manage/templates/manageConnection.html b/guacamole/src/main/frontend/src/app/manage/templates/manageConnection.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/manageConnection.html rename to guacamole/src/main/frontend/src/app/manage/templates/manageConnection.html diff --git a/guacamole/src/main/webapp/app/manage/templates/manageConnectionGroup.html b/guacamole/src/main/frontend/src/app/manage/templates/manageConnectionGroup.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/manageConnectionGroup.html rename to guacamole/src/main/frontend/src/app/manage/templates/manageConnectionGroup.html diff --git a/guacamole/src/main/webapp/app/manage/templates/manageSharingProfile.html b/guacamole/src/main/frontend/src/app/manage/templates/manageSharingProfile.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/manageSharingProfile.html rename to guacamole/src/main/frontend/src/app/manage/templates/manageSharingProfile.html diff --git a/guacamole/src/main/webapp/app/manage/templates/manageUser.html b/guacamole/src/main/frontend/src/app/manage/templates/manageUser.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/manageUser.html rename to guacamole/src/main/frontend/src/app/manage/templates/manageUser.html diff --git a/guacamole/src/main/webapp/app/manage/templates/manageUserGroup.html b/guacamole/src/main/frontend/src/app/manage/templates/manageUserGroup.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/manageUserGroup.html rename to guacamole/src/main/frontend/src/app/manage/templates/manageUserGroup.html diff --git a/guacamole/src/main/webapp/app/manage/templates/managementButtons.html b/guacamole/src/main/frontend/src/app/manage/templates/managementButtons.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/managementButtons.html rename to guacamole/src/main/frontend/src/app/manage/templates/managementButtons.html diff --git a/guacamole/src/main/webapp/app/manage/templates/sharingProfilePermission.html b/guacamole/src/main/frontend/src/app/manage/templates/sharingProfilePermission.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/sharingProfilePermission.html rename to guacamole/src/main/frontend/src/app/manage/templates/sharingProfilePermission.html diff --git a/guacamole/src/main/webapp/app/manage/templates/systemPermissionEditor.html b/guacamole/src/main/frontend/src/app/manage/templates/systemPermissionEditor.html similarity index 100% rename from guacamole/src/main/webapp/app/manage/templates/systemPermissionEditor.html rename to guacamole/src/main/frontend/src/app/manage/templates/systemPermissionEditor.html diff --git a/guacamole/src/main/webapp/app/manage/types/HistoryEntryWrapper.js b/guacamole/src/main/frontend/src/app/manage/types/HistoryEntryWrapper.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/types/HistoryEntryWrapper.js rename to guacamole/src/main/frontend/src/app/manage/types/HistoryEntryWrapper.js diff --git a/guacamole/src/main/webapp/app/manage/types/ManageableUser.js b/guacamole/src/main/frontend/src/app/manage/types/ManageableUser.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/types/ManageableUser.js rename to guacamole/src/main/frontend/src/app/manage/types/ManageableUser.js diff --git a/guacamole/src/main/webapp/app/manage/types/ManageableUserGroup.js b/guacamole/src/main/frontend/src/app/manage/types/ManageableUserGroup.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/types/ManageableUserGroup.js rename to guacamole/src/main/frontend/src/app/manage/types/ManageableUserGroup.js diff --git a/guacamole/src/main/webapp/app/manage/types/ManagementPermissions.js b/guacamole/src/main/frontend/src/app/manage/types/ManagementPermissions.js similarity index 100% rename from guacamole/src/main/webapp/app/manage/types/ManagementPermissions.js rename to guacamole/src/main/frontend/src/app/manage/types/ManagementPermissions.js diff --git a/guacamole/src/main/webapp/app/navigation/directives/guacMenu.js b/guacamole/src/main/frontend/src/app/navigation/directives/guacMenu.js similarity index 100% rename from guacamole/src/main/webapp/app/navigation/directives/guacMenu.js rename to guacamole/src/main/frontend/src/app/navigation/directives/guacMenu.js diff --git a/guacamole/src/main/webapp/app/navigation/directives/guacPageList.js b/guacamole/src/main/frontend/src/app/navigation/directives/guacPageList.js similarity index 100% rename from guacamole/src/main/webapp/app/navigation/directives/guacPageList.js rename to guacamole/src/main/frontend/src/app/navigation/directives/guacPageList.js diff --git a/guacamole/src/main/webapp/app/navigation/directives/guacSectionTabs.js b/guacamole/src/main/frontend/src/app/navigation/directives/guacSectionTabs.js similarity index 100% rename from guacamole/src/main/webapp/app/navigation/directives/guacSectionTabs.js rename to guacamole/src/main/frontend/src/app/navigation/directives/guacSectionTabs.js diff --git a/guacamole/src/main/webapp/app/navigation/directives/guacUserMenu.js b/guacamole/src/main/frontend/src/app/navigation/directives/guacUserMenu.js similarity index 100% rename from guacamole/src/main/webapp/app/navigation/directives/guacUserMenu.js rename to guacamole/src/main/frontend/src/app/navigation/directives/guacUserMenu.js diff --git a/guacamole/src/main/webapp/app/navigation/navigationModule.js b/guacamole/src/main/frontend/src/app/navigation/navigationModule.js similarity index 100% rename from guacamole/src/main/webapp/app/navigation/navigationModule.js rename to guacamole/src/main/frontend/src/app/navigation/navigationModule.js diff --git a/guacamole/src/main/webapp/app/navigation/services/userPageService.js b/guacamole/src/main/frontend/src/app/navigation/services/userPageService.js similarity index 100% rename from guacamole/src/main/webapp/app/navigation/services/userPageService.js rename to guacamole/src/main/frontend/src/app/navigation/services/userPageService.js diff --git a/guacamole/src/main/webapp/app/navigation/styles/menu.css b/guacamole/src/main/frontend/src/app/navigation/styles/menu.css similarity index 100% rename from guacamole/src/main/webapp/app/navigation/styles/menu.css rename to guacamole/src/main/frontend/src/app/navigation/styles/menu.css diff --git a/guacamole/src/main/webapp/app/navigation/styles/tabs.css b/guacamole/src/main/frontend/src/app/navigation/styles/tabs.css similarity index 100% rename from guacamole/src/main/webapp/app/navigation/styles/tabs.css rename to guacamole/src/main/frontend/src/app/navigation/styles/tabs.css diff --git a/guacamole/src/main/webapp/app/navigation/styles/user-menu.css b/guacamole/src/main/frontend/src/app/navigation/styles/user-menu.css similarity index 100% rename from guacamole/src/main/webapp/app/navigation/styles/user-menu.css rename to guacamole/src/main/frontend/src/app/navigation/styles/user-menu.css diff --git a/guacamole/src/main/webapp/app/navigation/templates/guacMenu.html b/guacamole/src/main/frontend/src/app/navigation/templates/guacMenu.html similarity index 100% rename from guacamole/src/main/webapp/app/navigation/templates/guacMenu.html rename to guacamole/src/main/frontend/src/app/navigation/templates/guacMenu.html diff --git a/guacamole/src/main/webapp/app/navigation/templates/guacPageList.html b/guacamole/src/main/frontend/src/app/navigation/templates/guacPageList.html similarity index 100% rename from guacamole/src/main/webapp/app/navigation/templates/guacPageList.html rename to guacamole/src/main/frontend/src/app/navigation/templates/guacPageList.html diff --git a/guacamole/src/main/webapp/app/navigation/templates/guacSectionTabs.html b/guacamole/src/main/frontend/src/app/navigation/templates/guacSectionTabs.html similarity index 100% rename from guacamole/src/main/webapp/app/navigation/templates/guacSectionTabs.html rename to guacamole/src/main/frontend/src/app/navigation/templates/guacSectionTabs.html diff --git a/guacamole/src/main/webapp/app/navigation/templates/guacUserMenu.html b/guacamole/src/main/frontend/src/app/navigation/templates/guacUserMenu.html similarity index 100% rename from guacamole/src/main/webapp/app/navigation/templates/guacUserMenu.html rename to guacamole/src/main/frontend/src/app/navigation/templates/guacUserMenu.html diff --git a/guacamole/src/main/webapp/app/navigation/types/ClientIdentifier.js b/guacamole/src/main/frontend/src/app/navigation/types/ClientIdentifier.js similarity index 100% rename from guacamole/src/main/webapp/app/navigation/types/ClientIdentifier.js rename to guacamole/src/main/frontend/src/app/navigation/types/ClientIdentifier.js diff --git a/guacamole/src/main/webapp/app/navigation/types/MenuAction.js b/guacamole/src/main/frontend/src/app/navigation/types/MenuAction.js similarity index 100% rename from guacamole/src/main/webapp/app/navigation/types/MenuAction.js rename to guacamole/src/main/frontend/src/app/navigation/types/MenuAction.js diff --git a/guacamole/src/main/webapp/app/navigation/types/PageDefinition.js b/guacamole/src/main/frontend/src/app/navigation/types/PageDefinition.js similarity index 100% rename from guacamole/src/main/webapp/app/navigation/types/PageDefinition.js rename to guacamole/src/main/frontend/src/app/navigation/types/PageDefinition.js diff --git a/guacamole/src/main/webapp/app/notification/directives/guacNotification.js b/guacamole/src/main/frontend/src/app/notification/directives/guacNotification.js similarity index 100% rename from guacamole/src/main/webapp/app/notification/directives/guacNotification.js rename to guacamole/src/main/frontend/src/app/notification/directives/guacNotification.js diff --git a/guacamole/src/main/webapp/app/notification/notificationModule.js b/guacamole/src/main/frontend/src/app/notification/notificationModule.js similarity index 100% rename from guacamole/src/main/webapp/app/notification/notificationModule.js rename to guacamole/src/main/frontend/src/app/notification/notificationModule.js diff --git a/guacamole/src/main/webapp/app/notification/services/guacNotification.js b/guacamole/src/main/frontend/src/app/notification/services/guacNotification.js similarity index 100% rename from guacamole/src/main/webapp/app/notification/services/guacNotification.js rename to guacamole/src/main/frontend/src/app/notification/services/guacNotification.js diff --git a/guacamole/src/main/webapp/app/notification/styles/notification.css b/guacamole/src/main/frontend/src/app/notification/styles/notification.css similarity index 100% rename from guacamole/src/main/webapp/app/notification/styles/notification.css rename to guacamole/src/main/frontend/src/app/notification/styles/notification.css diff --git a/guacamole/src/main/webapp/app/notification/templates/guacNotification.html b/guacamole/src/main/frontend/src/app/notification/templates/guacNotification.html similarity index 100% rename from guacamole/src/main/webapp/app/notification/templates/guacNotification.html rename to guacamole/src/main/frontend/src/app/notification/templates/guacNotification.html diff --git a/guacamole/src/main/webapp/app/notification/types/Notification.js b/guacamole/src/main/frontend/src/app/notification/types/Notification.js similarity index 100% rename from guacamole/src/main/webapp/app/notification/types/Notification.js rename to guacamole/src/main/frontend/src/app/notification/types/Notification.js diff --git a/guacamole/src/main/webapp/app/notification/types/NotificationAction.js b/guacamole/src/main/frontend/src/app/notification/types/NotificationAction.js similarity index 100% rename from guacamole/src/main/webapp/app/notification/types/NotificationAction.js rename to guacamole/src/main/frontend/src/app/notification/types/NotificationAction.js diff --git a/guacamole/src/main/webapp/app/notification/types/NotificationCountdown.js b/guacamole/src/main/frontend/src/app/notification/types/NotificationCountdown.js similarity index 100% rename from guacamole/src/main/webapp/app/notification/types/NotificationCountdown.js rename to guacamole/src/main/frontend/src/app/notification/types/NotificationCountdown.js diff --git a/guacamole/src/main/webapp/app/notification/types/NotificationProgress.js b/guacamole/src/main/frontend/src/app/notification/types/NotificationProgress.js similarity index 100% rename from guacamole/src/main/webapp/app/notification/types/NotificationProgress.js rename to guacamole/src/main/frontend/src/app/notification/types/NotificationProgress.js diff --git a/guacamole/src/main/webapp/app/osk/directives/guacOsk.js b/guacamole/src/main/frontend/src/app/osk/directives/guacOsk.js similarity index 100% rename from guacamole/src/main/webapp/app/osk/directives/guacOsk.js rename to guacamole/src/main/frontend/src/app/osk/directives/guacOsk.js diff --git a/guacamole/src/main/webapp/app/osk/oskModule.js b/guacamole/src/main/frontend/src/app/osk/oskModule.js similarity index 100% rename from guacamole/src/main/webapp/app/osk/oskModule.js rename to guacamole/src/main/frontend/src/app/osk/oskModule.js diff --git a/guacamole/src/main/webapp/app/osk/styles/osk.css b/guacamole/src/main/frontend/src/app/osk/styles/osk.css similarity index 100% rename from guacamole/src/main/webapp/app/osk/styles/osk.css rename to guacamole/src/main/frontend/src/app/osk/styles/osk.css diff --git a/guacamole/src/main/webapp/app/osk/templates/guacOsk.html b/guacamole/src/main/frontend/src/app/osk/templates/guacOsk.html similarity index 100% rename from guacamole/src/main/webapp/app/osk/templates/guacOsk.html rename to guacamole/src/main/frontend/src/app/osk/templates/guacOsk.html diff --git a/guacamole/src/main/webapp/app/rest/restModule.js b/guacamole/src/main/frontend/src/app/rest/restModule.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/restModule.js rename to guacamole/src/main/frontend/src/app/rest/restModule.js diff --git a/guacamole/src/main/webapp/app/rest/services/activeConnectionService.js b/guacamole/src/main/frontend/src/app/rest/services/activeConnectionService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/activeConnectionService.js rename to guacamole/src/main/frontend/src/app/rest/services/activeConnectionService.js diff --git a/guacamole/src/main/webapp/app/rest/services/cacheService.js b/guacamole/src/main/frontend/src/app/rest/services/cacheService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/cacheService.js rename to guacamole/src/main/frontend/src/app/rest/services/cacheService.js diff --git a/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js b/guacamole/src/main/frontend/src/app/rest/services/connectionGroupService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/connectionGroupService.js rename to guacamole/src/main/frontend/src/app/rest/services/connectionGroupService.js diff --git a/guacamole/src/main/webapp/app/rest/services/connectionService.js b/guacamole/src/main/frontend/src/app/rest/services/connectionService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/connectionService.js rename to guacamole/src/main/frontend/src/app/rest/services/connectionService.js diff --git a/guacamole/src/main/webapp/app/rest/services/dataSourceService.js b/guacamole/src/main/frontend/src/app/rest/services/dataSourceService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/dataSourceService.js rename to guacamole/src/main/frontend/src/app/rest/services/dataSourceService.js diff --git a/guacamole/src/main/webapp/app/rest/services/historyService.js b/guacamole/src/main/frontend/src/app/rest/services/historyService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/historyService.js rename to guacamole/src/main/frontend/src/app/rest/services/historyService.js diff --git a/guacamole/src/main/webapp/app/rest/services/languageService.js b/guacamole/src/main/frontend/src/app/rest/services/languageService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/languageService.js rename to guacamole/src/main/frontend/src/app/rest/services/languageService.js diff --git a/guacamole/src/main/webapp/app/rest/services/membershipService.js b/guacamole/src/main/frontend/src/app/rest/services/membershipService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/membershipService.js rename to guacamole/src/main/frontend/src/app/rest/services/membershipService.js diff --git a/guacamole/src/main/webapp/app/rest/services/patchService.js b/guacamole/src/main/frontend/src/app/rest/services/patchService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/patchService.js rename to guacamole/src/main/frontend/src/app/rest/services/patchService.js diff --git a/guacamole/src/main/webapp/app/rest/services/permissionService.js b/guacamole/src/main/frontend/src/app/rest/services/permissionService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/permissionService.js rename to guacamole/src/main/frontend/src/app/rest/services/permissionService.js diff --git a/guacamole/src/main/webapp/app/rest/services/requestService.js b/guacamole/src/main/frontend/src/app/rest/services/requestService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/requestService.js rename to guacamole/src/main/frontend/src/app/rest/services/requestService.js diff --git a/guacamole/src/main/webapp/app/rest/services/schemaService.js b/guacamole/src/main/frontend/src/app/rest/services/schemaService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/schemaService.js rename to guacamole/src/main/frontend/src/app/rest/services/schemaService.js diff --git a/guacamole/src/main/webapp/app/rest/services/sharingProfileService.js b/guacamole/src/main/frontend/src/app/rest/services/sharingProfileService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/sharingProfileService.js rename to guacamole/src/main/frontend/src/app/rest/services/sharingProfileService.js diff --git a/guacamole/src/main/webapp/app/rest/services/tunnelService.js b/guacamole/src/main/frontend/src/app/rest/services/tunnelService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/tunnelService.js rename to guacamole/src/main/frontend/src/app/rest/services/tunnelService.js diff --git a/guacamole/src/main/webapp/app/rest/services/userGroupService.js b/guacamole/src/main/frontend/src/app/rest/services/userGroupService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/userGroupService.js rename to guacamole/src/main/frontend/src/app/rest/services/userGroupService.js diff --git a/guacamole/src/main/webapp/app/rest/services/userService.js b/guacamole/src/main/frontend/src/app/rest/services/userService.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/services/userService.js rename to guacamole/src/main/frontend/src/app/rest/services/userService.js diff --git a/guacamole/src/main/webapp/app/rest/types/ActiveConnection.js b/guacamole/src/main/frontend/src/app/rest/types/ActiveConnection.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/ActiveConnection.js rename to guacamole/src/main/frontend/src/app/rest/types/ActiveConnection.js diff --git a/guacamole/src/main/webapp/app/rest/types/Connection.js b/guacamole/src/main/frontend/src/app/rest/types/Connection.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/Connection.js rename to guacamole/src/main/frontend/src/app/rest/types/Connection.js diff --git a/guacamole/src/main/webapp/app/rest/types/ConnectionGroup.js b/guacamole/src/main/frontend/src/app/rest/types/ConnectionGroup.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/ConnectionGroup.js rename to guacamole/src/main/frontend/src/app/rest/types/ConnectionGroup.js diff --git a/guacamole/src/main/webapp/app/rest/types/ConnectionHistoryEntry.js b/guacamole/src/main/frontend/src/app/rest/types/ConnectionHistoryEntry.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/ConnectionHistoryEntry.js rename to guacamole/src/main/frontend/src/app/rest/types/ConnectionHistoryEntry.js diff --git a/guacamole/src/main/webapp/app/rest/types/Error.js b/guacamole/src/main/frontend/src/app/rest/types/Error.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/Error.js rename to guacamole/src/main/frontend/src/app/rest/types/Error.js diff --git a/guacamole/src/main/webapp/app/rest/types/Field.js b/guacamole/src/main/frontend/src/app/rest/types/Field.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/Field.js rename to guacamole/src/main/frontend/src/app/rest/types/Field.js diff --git a/guacamole/src/main/webapp/app/rest/types/Form.js b/guacamole/src/main/frontend/src/app/rest/types/Form.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/Form.js rename to guacamole/src/main/frontend/src/app/rest/types/Form.js diff --git a/guacamole/src/main/webapp/app/rest/types/PermissionFlagSet.js b/guacamole/src/main/frontend/src/app/rest/types/PermissionFlagSet.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/PermissionFlagSet.js rename to guacamole/src/main/frontend/src/app/rest/types/PermissionFlagSet.js diff --git a/guacamole/src/main/webapp/app/rest/types/PermissionPatch.js b/guacamole/src/main/frontend/src/app/rest/types/PermissionPatch.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/PermissionPatch.js rename to guacamole/src/main/frontend/src/app/rest/types/PermissionPatch.js diff --git a/guacamole/src/main/webapp/app/rest/types/PermissionSet.js b/guacamole/src/main/frontend/src/app/rest/types/PermissionSet.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/PermissionSet.js rename to guacamole/src/main/frontend/src/app/rest/types/PermissionSet.js diff --git a/guacamole/src/main/webapp/app/rest/types/Protocol.js b/guacamole/src/main/frontend/src/app/rest/types/Protocol.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/Protocol.js rename to guacamole/src/main/frontend/src/app/rest/types/Protocol.js diff --git a/guacamole/src/main/webapp/app/rest/types/RelatedObjectPatch.js b/guacamole/src/main/frontend/src/app/rest/types/RelatedObjectPatch.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/RelatedObjectPatch.js rename to guacamole/src/main/frontend/src/app/rest/types/RelatedObjectPatch.js diff --git a/guacamole/src/main/webapp/app/rest/types/SharingProfile.js b/guacamole/src/main/frontend/src/app/rest/types/SharingProfile.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/SharingProfile.js rename to guacamole/src/main/frontend/src/app/rest/types/SharingProfile.js diff --git a/guacamole/src/main/webapp/app/rest/types/TranslatableMessage.js b/guacamole/src/main/frontend/src/app/rest/types/TranslatableMessage.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/TranslatableMessage.js rename to guacamole/src/main/frontend/src/app/rest/types/TranslatableMessage.js diff --git a/guacamole/src/main/webapp/app/rest/types/User.js b/guacamole/src/main/frontend/src/app/rest/types/User.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/User.js rename to guacamole/src/main/frontend/src/app/rest/types/User.js diff --git a/guacamole/src/main/webapp/app/rest/types/UserCredentials.js b/guacamole/src/main/frontend/src/app/rest/types/UserCredentials.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/UserCredentials.js rename to guacamole/src/main/frontend/src/app/rest/types/UserCredentials.js diff --git a/guacamole/src/main/webapp/app/rest/types/UserGroup.js b/guacamole/src/main/frontend/src/app/rest/types/UserGroup.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/UserGroup.js rename to guacamole/src/main/frontend/src/app/rest/types/UserGroup.js diff --git a/guacamole/src/main/webapp/app/rest/types/UserPasswordUpdate.js b/guacamole/src/main/frontend/src/app/rest/types/UserPasswordUpdate.js similarity index 100% rename from guacamole/src/main/webapp/app/rest/types/UserPasswordUpdate.js rename to guacamole/src/main/frontend/src/app/rest/types/UserPasswordUpdate.js diff --git a/guacamole/src/main/webapp/app/settings/controllers/settingsController.js b/guacamole/src/main/frontend/src/app/settings/controllers/settingsController.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/controllers/settingsController.js rename to guacamole/src/main/frontend/src/app/settings/controllers/settingsController.js diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnectionHistory.js b/guacamole/src/main/frontend/src/app/settings/directives/guacSettingsConnectionHistory.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/directives/guacSettingsConnectionHistory.js rename to guacamole/src/main/frontend/src/app/settings/directives/guacSettingsConnectionHistory.js diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnections.js b/guacamole/src/main/frontend/src/app/settings/directives/guacSettingsConnections.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/directives/guacSettingsConnections.js rename to guacamole/src/main/frontend/src/app/settings/directives/guacSettingsConnections.js diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsPreferences.js b/guacamole/src/main/frontend/src/app/settings/directives/guacSettingsPreferences.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/directives/guacSettingsPreferences.js rename to guacamole/src/main/frontend/src/app/settings/directives/guacSettingsPreferences.js diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsSessions.js b/guacamole/src/main/frontend/src/app/settings/directives/guacSettingsSessions.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/directives/guacSettingsSessions.js rename to guacamole/src/main/frontend/src/app/settings/directives/guacSettingsSessions.js diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsUserGroups.js b/guacamole/src/main/frontend/src/app/settings/directives/guacSettingsUserGroups.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/directives/guacSettingsUserGroups.js rename to guacamole/src/main/frontend/src/app/settings/directives/guacSettingsUserGroups.js diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsUsers.js b/guacamole/src/main/frontend/src/app/settings/directives/guacSettingsUsers.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/directives/guacSettingsUsers.js rename to guacamole/src/main/frontend/src/app/settings/directives/guacSettingsUsers.js diff --git a/guacamole/src/main/webapp/app/settings/services/csvService.js b/guacamole/src/main/frontend/src/app/settings/services/csvService.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/services/csvService.js rename to guacamole/src/main/frontend/src/app/settings/services/csvService.js diff --git a/guacamole/src/main/webapp/app/settings/services/preferenceService.js b/guacamole/src/main/frontend/src/app/settings/services/preferenceService.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/services/preferenceService.js rename to guacamole/src/main/frontend/src/app/settings/services/preferenceService.js diff --git a/guacamole/src/main/webapp/app/settings/settingsModule.js b/guacamole/src/main/frontend/src/app/settings/settingsModule.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/settingsModule.js rename to guacamole/src/main/frontend/src/app/settings/settingsModule.js diff --git a/guacamole/src/main/webapp/app/settings/styles/buttons.css b/guacamole/src/main/frontend/src/app/settings/styles/buttons.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/buttons.css rename to guacamole/src/main/frontend/src/app/settings/styles/buttons.css diff --git a/guacamole/src/main/webapp/app/settings/styles/connection-list.css b/guacamole/src/main/frontend/src/app/settings/styles/connection-list.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/connection-list.css rename to guacamole/src/main/frontend/src/app/settings/styles/connection-list.css diff --git a/guacamole/src/main/webapp/app/settings/styles/history.css b/guacamole/src/main/frontend/src/app/settings/styles/history.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/history.css rename to guacamole/src/main/frontend/src/app/settings/styles/history.css diff --git a/guacamole/src/main/webapp/app/settings/styles/input-method.css b/guacamole/src/main/frontend/src/app/settings/styles/input-method.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/input-method.css rename to guacamole/src/main/frontend/src/app/settings/styles/input-method.css diff --git a/guacamole/src/main/webapp/app/settings/styles/mouse-mode.css b/guacamole/src/main/frontend/src/app/settings/styles/mouse-mode.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/mouse-mode.css rename to guacamole/src/main/frontend/src/app/settings/styles/mouse-mode.css diff --git a/guacamole/src/main/webapp/app/settings/styles/preferences.css b/guacamole/src/main/frontend/src/app/settings/styles/preferences.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/preferences.css rename to guacamole/src/main/frontend/src/app/settings/styles/preferences.css diff --git a/guacamole/src/main/webapp/app/settings/styles/sessions.css b/guacamole/src/main/frontend/src/app/settings/styles/sessions.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/sessions.css rename to guacamole/src/main/frontend/src/app/settings/styles/sessions.css diff --git a/guacamole/src/main/webapp/app/settings/styles/settings.css b/guacamole/src/main/frontend/src/app/settings/styles/settings.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/settings.css rename to guacamole/src/main/frontend/src/app/settings/styles/settings.css diff --git a/guacamole/src/main/webapp/app/settings/styles/user-group-list.css b/guacamole/src/main/frontend/src/app/settings/styles/user-group-list.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/user-group-list.css rename to guacamole/src/main/frontend/src/app/settings/styles/user-group-list.css diff --git a/guacamole/src/main/webapp/app/settings/styles/user-list.css b/guacamole/src/main/frontend/src/app/settings/styles/user-list.css similarity index 100% rename from guacamole/src/main/webapp/app/settings/styles/user-list.css rename to guacamole/src/main/frontend/src/app/settings/styles/user-list.css diff --git a/guacamole/src/main/webapp/app/settings/templates/connection.html b/guacamole/src/main/frontend/src/app/settings/templates/connection.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/connection.html rename to guacamole/src/main/frontend/src/app/settings/templates/connection.html diff --git a/guacamole/src/main/webapp/app/settings/templates/connectionGroup.html b/guacamole/src/main/frontend/src/app/settings/templates/connectionGroup.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/connectionGroup.html rename to guacamole/src/main/frontend/src/app/settings/templates/connectionGroup.html diff --git a/guacamole/src/main/webapp/app/settings/templates/newConnection.html b/guacamole/src/main/frontend/src/app/settings/templates/newConnection.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/newConnection.html rename to guacamole/src/main/frontend/src/app/settings/templates/newConnection.html diff --git a/guacamole/src/main/webapp/app/settings/templates/newConnectionGroup.html b/guacamole/src/main/frontend/src/app/settings/templates/newConnectionGroup.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/newConnectionGroup.html rename to guacamole/src/main/frontend/src/app/settings/templates/newConnectionGroup.html diff --git a/guacamole/src/main/webapp/app/settings/templates/newSharingProfile.html b/guacamole/src/main/frontend/src/app/settings/templates/newSharingProfile.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/newSharingProfile.html rename to guacamole/src/main/frontend/src/app/settings/templates/newSharingProfile.html diff --git a/guacamole/src/main/webapp/app/settings/templates/settings.html b/guacamole/src/main/frontend/src/app/settings/templates/settings.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/settings.html rename to guacamole/src/main/frontend/src/app/settings/templates/settings.html diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsConnectionHistory.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsConnectionHistory.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/settingsConnectionHistory.html rename to guacamole/src/main/frontend/src/app/settings/templates/settingsConnectionHistory.html diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsConnections.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsConnections.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/settingsConnections.html rename to guacamole/src/main/frontend/src/app/settings/templates/settingsConnections.html diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsPreferences.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsPreferences.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/settingsPreferences.html rename to guacamole/src/main/frontend/src/app/settings/templates/settingsPreferences.html diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsSessions.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsSessions.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/settingsSessions.html rename to guacamole/src/main/frontend/src/app/settings/templates/settingsSessions.html diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsUserGroups.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsUserGroups.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/settingsUserGroups.html rename to guacamole/src/main/frontend/src/app/settings/templates/settingsUserGroups.html diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsUsers.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsUsers.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/settingsUsers.html rename to guacamole/src/main/frontend/src/app/settings/templates/settingsUsers.html diff --git a/guacamole/src/main/webapp/app/settings/templates/sharingProfile.html b/guacamole/src/main/frontend/src/app/settings/templates/sharingProfile.html similarity index 100% rename from guacamole/src/main/webapp/app/settings/templates/sharingProfile.html rename to guacamole/src/main/frontend/src/app/settings/templates/sharingProfile.html diff --git a/guacamole/src/main/webapp/app/settings/types/ActiveConnectionWrapper.js b/guacamole/src/main/frontend/src/app/settings/types/ActiveConnectionWrapper.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/types/ActiveConnectionWrapper.js rename to guacamole/src/main/frontend/src/app/settings/types/ActiveConnectionWrapper.js diff --git a/guacamole/src/main/webapp/app/settings/types/ConnectionHistoryEntryWrapper.js b/guacamole/src/main/frontend/src/app/settings/types/ConnectionHistoryEntryWrapper.js similarity index 100% rename from guacamole/src/main/webapp/app/settings/types/ConnectionHistoryEntryWrapper.js rename to guacamole/src/main/frontend/src/app/settings/types/ConnectionHistoryEntryWrapper.js diff --git a/guacamole/src/main/webapp/app/storage/services/localStorageService.js b/guacamole/src/main/frontend/src/app/storage/services/localStorageService.js similarity index 100% rename from guacamole/src/main/webapp/app/storage/services/localStorageService.js rename to guacamole/src/main/frontend/src/app/storage/services/localStorageService.js diff --git a/guacamole/src/main/webapp/app/storage/services/sessionStorageFactory.js b/guacamole/src/main/frontend/src/app/storage/services/sessionStorageFactory.js similarity index 100% rename from guacamole/src/main/webapp/app/storage/services/sessionStorageFactory.js rename to guacamole/src/main/frontend/src/app/storage/services/sessionStorageFactory.js diff --git a/guacamole/src/main/webapp/app/storage/storageModule.js b/guacamole/src/main/frontend/src/app/storage/storageModule.js similarity index 100% rename from guacamole/src/main/webapp/app/storage/storageModule.js rename to guacamole/src/main/frontend/src/app/storage/storageModule.js diff --git a/guacamole/src/main/webapp/app/textInput/directives/guacKey.js b/guacamole/src/main/frontend/src/app/textInput/directives/guacKey.js similarity index 100% rename from guacamole/src/main/webapp/app/textInput/directives/guacKey.js rename to guacamole/src/main/frontend/src/app/textInput/directives/guacKey.js diff --git a/guacamole/src/main/webapp/app/textInput/directives/guacTextInput.js b/guacamole/src/main/frontend/src/app/textInput/directives/guacTextInput.js similarity index 100% rename from guacamole/src/main/webapp/app/textInput/directives/guacTextInput.js rename to guacamole/src/main/frontend/src/app/textInput/directives/guacTextInput.js diff --git a/guacamole/src/main/webapp/app/textInput/styles/textInput.css b/guacamole/src/main/frontend/src/app/textInput/styles/textInput.css similarity index 100% rename from guacamole/src/main/webapp/app/textInput/styles/textInput.css rename to guacamole/src/main/frontend/src/app/textInput/styles/textInput.css diff --git a/guacamole/src/main/webapp/app/textInput/templates/guacKey.html b/guacamole/src/main/frontend/src/app/textInput/templates/guacKey.html similarity index 100% rename from guacamole/src/main/webapp/app/textInput/templates/guacKey.html rename to guacamole/src/main/frontend/src/app/textInput/templates/guacKey.html diff --git a/guacamole/src/main/webapp/app/textInput/templates/guacTextInput.html b/guacamole/src/main/frontend/src/app/textInput/templates/guacTextInput.html similarity index 100% rename from guacamole/src/main/webapp/app/textInput/templates/guacTextInput.html rename to guacamole/src/main/frontend/src/app/textInput/templates/guacTextInput.html diff --git a/guacamole/src/main/webapp/app/textInput/textInputModule.js b/guacamole/src/main/frontend/src/app/textInput/textInputModule.js similarity index 100% rename from guacamole/src/main/webapp/app/textInput/textInputModule.js rename to guacamole/src/main/frontend/src/app/textInput/textInputModule.js diff --git a/guacamole/src/main/webapp/app/touch/directives/guacTouchDrag.js b/guacamole/src/main/frontend/src/app/touch/directives/guacTouchDrag.js similarity index 100% rename from guacamole/src/main/webapp/app/touch/directives/guacTouchDrag.js rename to guacamole/src/main/frontend/src/app/touch/directives/guacTouchDrag.js diff --git a/guacamole/src/main/webapp/app/touch/directives/guacTouchPinch.js b/guacamole/src/main/frontend/src/app/touch/directives/guacTouchPinch.js similarity index 100% rename from guacamole/src/main/webapp/app/touch/directives/guacTouchPinch.js rename to guacamole/src/main/frontend/src/app/touch/directives/guacTouchPinch.js diff --git a/guacamole/src/main/webapp/app/touch/touchModule.js b/guacamole/src/main/frontend/src/app/touch/touchModule.js similarity index 100% rename from guacamole/src/main/webapp/app/touch/touchModule.js rename to guacamole/src/main/frontend/src/app/touch/touchModule.js diff --git a/guacamole/src/main/webapp/fonts/carlito/Carlito-Bold.woff b/guacamole/src/main/frontend/src/fonts/carlito/Carlito-Bold.woff similarity index 100% rename from guacamole/src/main/webapp/fonts/carlito/Carlito-Bold.woff rename to guacamole/src/main/frontend/src/fonts/carlito/Carlito-Bold.woff diff --git a/guacamole/src/main/webapp/fonts/carlito/Carlito-Italic.woff b/guacamole/src/main/frontend/src/fonts/carlito/Carlito-Italic.woff similarity index 100% rename from guacamole/src/main/webapp/fonts/carlito/Carlito-Italic.woff rename to guacamole/src/main/frontend/src/fonts/carlito/Carlito-Italic.woff diff --git a/guacamole/src/main/webapp/fonts/carlito/Carlito-Regular.woff b/guacamole/src/main/frontend/src/fonts/carlito/Carlito-Regular.woff similarity index 100% rename from guacamole/src/main/webapp/fonts/carlito/Carlito-Regular.woff rename to guacamole/src/main/frontend/src/fonts/carlito/Carlito-Regular.woff diff --git a/guacamole/src/main/webapp/fonts/carlito/LICENSE b/guacamole/src/main/frontend/src/fonts/carlito/LICENSE similarity index 100% rename from guacamole/src/main/webapp/fonts/carlito/LICENSE rename to guacamole/src/main/frontend/src/fonts/carlito/LICENSE diff --git a/guacamole/src/main/webapp/images/action-icons/guac-back.png b/guacamole/src/main/frontend/src/images/action-icons/guac-back.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-back.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-back.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-config-dark.png b/guacamole/src/main/frontend/src/images/action-icons/guac-config-dark.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-config-dark.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-config-dark.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-config.png b/guacamole/src/main/frontend/src/images/action-icons/guac-config.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-config.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-config.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-delete.png b/guacamole/src/main/frontend/src/images/action-icons/guac-delete.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-delete.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-delete.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-first-page.png b/guacamole/src/main/frontend/src/images/action-icons/guac-first-page.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-first-page.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-first-page.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-group-add.png b/guacamole/src/main/frontend/src/images/action-icons/guac-group-add.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-group-add.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-group-add.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-hide-pass.png b/guacamole/src/main/frontend/src/images/action-icons/guac-hide-pass.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-hide-pass.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-hide-pass.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-home-dark.png b/guacamole/src/main/frontend/src/images/action-icons/guac-home-dark.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-home-dark.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-home-dark.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-home.png b/guacamole/src/main/frontend/src/images/action-icons/guac-home.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-home.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-home.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-key-dark.png b/guacamole/src/main/frontend/src/images/action-icons/guac-key-dark.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-key-dark.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-key-dark.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-key.png b/guacamole/src/main/frontend/src/images/action-icons/guac-key.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-key.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-key.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-last-page.png b/guacamole/src/main/frontend/src/images/action-icons/guac-last-page.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-last-page.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-last-page.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-logout-dark.png b/guacamole/src/main/frontend/src/images/action-icons/guac-logout-dark.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-logout-dark.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-logout-dark.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-logout.png b/guacamole/src/main/frontend/src/images/action-icons/guac-logout.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-logout.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-logout.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-monitor-add.png b/guacamole/src/main/frontend/src/images/action-icons/guac-monitor-add.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-monitor-add.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-monitor-add.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-next-page.png b/guacamole/src/main/frontend/src/images/action-icons/guac-next-page.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-next-page.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-next-page.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-prev-page.png b/guacamole/src/main/frontend/src/images/action-icons/guac-prev-page.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-prev-page.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-prev-page.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-show-pass.png b/guacamole/src/main/frontend/src/images/action-icons/guac-show-pass.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-show-pass.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-show-pass.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-user-add.png b/guacamole/src/main/frontend/src/images/action-icons/guac-user-add.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-user-add.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-user-add.png diff --git a/guacamole/src/main/webapp/images/action-icons/guac-user-group-add.png b/guacamole/src/main/frontend/src/images/action-icons/guac-user-group-add.png similarity index 100% rename from guacamole/src/main/webapp/images/action-icons/guac-user-group-add.png rename to guacamole/src/main/frontend/src/images/action-icons/guac-user-group-add.png diff --git a/guacamole/src/main/webapp/images/arrows/down.png b/guacamole/src/main/frontend/src/images/arrows/down.png similarity index 100% rename from guacamole/src/main/webapp/images/arrows/down.png rename to guacamole/src/main/frontend/src/images/arrows/down.png diff --git a/guacamole/src/main/webapp/images/arrows/left.png b/guacamole/src/main/frontend/src/images/arrows/left.png similarity index 100% rename from guacamole/src/main/webapp/images/arrows/left.png rename to guacamole/src/main/frontend/src/images/arrows/left.png diff --git a/guacamole/src/main/webapp/images/arrows/right.png b/guacamole/src/main/frontend/src/images/arrows/right.png similarity index 100% rename from guacamole/src/main/webapp/images/arrows/right.png rename to guacamole/src/main/frontend/src/images/arrows/right.png diff --git a/guacamole/src/main/webapp/images/arrows/up.png b/guacamole/src/main/frontend/src/images/arrows/up.png similarity index 100% rename from guacamole/src/main/webapp/images/arrows/up.png rename to guacamole/src/main/frontend/src/images/arrows/up.png diff --git a/guacamole/src/main/webapp/images/checker.png b/guacamole/src/main/frontend/src/images/checker.png similarity index 100% rename from guacamole/src/main/webapp/images/checker.png rename to guacamole/src/main/frontend/src/images/checker.png diff --git a/guacamole/src/main/webapp/images/checkmark.png b/guacamole/src/main/frontend/src/images/checkmark.png similarity index 100% rename from guacamole/src/main/webapp/images/checkmark.png rename to guacamole/src/main/frontend/src/images/checkmark.png diff --git a/guacamole/src/main/webapp/images/circle-arrows.png b/guacamole/src/main/frontend/src/images/circle-arrows.png similarity index 100% rename from guacamole/src/main/webapp/images/circle-arrows.png rename to guacamole/src/main/frontend/src/images/circle-arrows.png diff --git a/guacamole/src/main/webapp/images/cog.png b/guacamole/src/main/frontend/src/images/cog.png similarity index 100% rename from guacamole/src/main/webapp/images/cog.png rename to guacamole/src/main/frontend/src/images/cog.png diff --git a/guacamole/src/main/webapp/images/drive.png b/guacamole/src/main/frontend/src/images/drive.png similarity index 100% rename from guacamole/src/main/webapp/images/drive.png rename to guacamole/src/main/frontend/src/images/drive.png diff --git a/guacamole/src/main/webapp/images/file.png b/guacamole/src/main/frontend/src/images/file.png similarity index 100% rename from guacamole/src/main/webapp/images/file.png rename to guacamole/src/main/frontend/src/images/file.png diff --git a/guacamole/src/main/webapp/images/folder-closed.png b/guacamole/src/main/frontend/src/images/folder-closed.png similarity index 100% rename from guacamole/src/main/webapp/images/folder-closed.png rename to guacamole/src/main/frontend/src/images/folder-closed.png diff --git a/guacamole/src/main/webapp/images/folder-open.png b/guacamole/src/main/frontend/src/images/folder-open.png similarity index 100% rename from guacamole/src/main/webapp/images/folder-open.png rename to guacamole/src/main/frontend/src/images/folder-open.png diff --git a/guacamole/src/main/webapp/images/folder-up.png b/guacamole/src/main/frontend/src/images/folder-up.png similarity index 100% rename from guacamole/src/main/webapp/images/folder-up.png rename to guacamole/src/main/frontend/src/images/folder-up.png diff --git a/guacamole/src/main/webapp/images/group-icons/guac-closed.png b/guacamole/src/main/frontend/src/images/group-icons/guac-closed.png similarity index 100% rename from guacamole/src/main/webapp/images/group-icons/guac-closed.png rename to guacamole/src/main/frontend/src/images/group-icons/guac-closed.png diff --git a/guacamole/src/main/webapp/images/group-icons/guac-open.png b/guacamole/src/main/frontend/src/images/group-icons/guac-open.png similarity index 100% rename from guacamole/src/main/webapp/images/group-icons/guac-open.png rename to guacamole/src/main/frontend/src/images/group-icons/guac-open.png diff --git a/guacamole/src/main/webapp/images/guac-mono-192.png b/guacamole/src/main/frontend/src/images/guac-mono-192.png similarity index 100% rename from guacamole/src/main/webapp/images/guac-mono-192.png rename to guacamole/src/main/frontend/src/images/guac-mono-192.png diff --git a/guacamole/src/main/webapp/images/guac-tricolor.png b/guacamole/src/main/frontend/src/images/guac-tricolor.png similarity index 100% rename from guacamole/src/main/webapp/images/guac-tricolor.png rename to guacamole/src/main/frontend/src/images/guac-tricolor.png diff --git a/guacamole/src/main/webapp/images/lock.png b/guacamole/src/main/frontend/src/images/lock.png similarity index 100% rename from guacamole/src/main/webapp/images/lock.png rename to guacamole/src/main/frontend/src/images/lock.png diff --git a/guacamole/src/main/webapp/images/logo-144.png b/guacamole/src/main/frontend/src/images/logo-144.png similarity index 100% rename from guacamole/src/main/webapp/images/logo-144.png rename to guacamole/src/main/frontend/src/images/logo-144.png diff --git a/guacamole/src/main/webapp/images/logo-64.png b/guacamole/src/main/frontend/src/images/logo-64.png similarity index 100% rename from guacamole/src/main/webapp/images/logo-64.png rename to guacamole/src/main/frontend/src/images/logo-64.png diff --git a/guacamole/src/main/webapp/images/magnifier.png b/guacamole/src/main/frontend/src/images/magnifier.png similarity index 100% rename from guacamole/src/main/webapp/images/magnifier.png rename to guacamole/src/main/frontend/src/images/magnifier.png diff --git a/guacamole/src/main/webapp/images/mouse/blank.cur b/guacamole/src/main/frontend/src/images/mouse/blank.cur similarity index 100% rename from guacamole/src/main/webapp/images/mouse/blank.cur rename to guacamole/src/main/frontend/src/images/mouse/blank.cur diff --git a/guacamole/src/main/webapp/images/mouse/blank.gif b/guacamole/src/main/frontend/src/images/mouse/blank.gif similarity index 100% rename from guacamole/src/main/webapp/images/mouse/blank.gif rename to guacamole/src/main/frontend/src/images/mouse/blank.gif diff --git a/guacamole/src/main/webapp/images/mouse/dot.gif b/guacamole/src/main/frontend/src/images/mouse/dot.gif similarity index 100% rename from guacamole/src/main/webapp/images/mouse/dot.gif rename to guacamole/src/main/frontend/src/images/mouse/dot.gif diff --git a/guacamole/src/main/webapp/images/noguacamole-logo-24.png b/guacamole/src/main/frontend/src/images/noguacamole-logo-24.png similarity index 100% rename from guacamole/src/main/webapp/images/noguacamole-logo-24.png rename to guacamole/src/main/frontend/src/images/noguacamole-logo-24.png diff --git a/guacamole/src/main/webapp/images/plus.png b/guacamole/src/main/frontend/src/images/plus.png similarity index 100% rename from guacamole/src/main/webapp/images/plus.png rename to guacamole/src/main/frontend/src/images/plus.png diff --git a/guacamole/src/main/webapp/images/progress.png b/guacamole/src/main/frontend/src/images/progress.png similarity index 100% rename from guacamole/src/main/webapp/images/progress.png rename to guacamole/src/main/frontend/src/images/progress.png diff --git a/guacamole/src/main/webapp/images/protocol-icons/guac-monitor.png b/guacamole/src/main/frontend/src/images/protocol-icons/guac-monitor.png similarity index 100% rename from guacamole/src/main/webapp/images/protocol-icons/guac-monitor.png rename to guacamole/src/main/frontend/src/images/protocol-icons/guac-monitor.png diff --git a/guacamole/src/main/webapp/images/protocol-icons/guac-plug.png b/guacamole/src/main/frontend/src/images/protocol-icons/guac-plug.png similarity index 100% rename from guacamole/src/main/webapp/images/protocol-icons/guac-plug.png rename to guacamole/src/main/frontend/src/images/protocol-icons/guac-plug.png diff --git a/guacamole/src/main/webapp/images/protocol-icons/guac-text.png b/guacamole/src/main/frontend/src/images/protocol-icons/guac-text.png similarity index 100% rename from guacamole/src/main/webapp/images/protocol-icons/guac-text.png rename to guacamole/src/main/frontend/src/images/protocol-icons/guac-text.png diff --git a/guacamole/src/main/webapp/images/settings/tablet-keys.png b/guacamole/src/main/frontend/src/images/settings/tablet-keys.png similarity index 100% rename from guacamole/src/main/webapp/images/settings/tablet-keys.png rename to guacamole/src/main/frontend/src/images/settings/tablet-keys.png diff --git a/guacamole/src/main/webapp/images/settings/touchpad.png b/guacamole/src/main/frontend/src/images/settings/touchpad.png similarity index 100% rename from guacamole/src/main/webapp/images/settings/touchpad.png rename to guacamole/src/main/frontend/src/images/settings/touchpad.png diff --git a/guacamole/src/main/webapp/images/settings/touchscreen.png b/guacamole/src/main/frontend/src/images/settings/touchscreen.png similarity index 100% rename from guacamole/src/main/webapp/images/settings/touchscreen.png rename to guacamole/src/main/frontend/src/images/settings/touchscreen.png diff --git a/guacamole/src/main/webapp/images/settings/zoom-in.png b/guacamole/src/main/frontend/src/images/settings/zoom-in.png similarity index 100% rename from guacamole/src/main/webapp/images/settings/zoom-in.png rename to guacamole/src/main/frontend/src/images/settings/zoom-in.png diff --git a/guacamole/src/main/webapp/images/settings/zoom-out.png b/guacamole/src/main/frontend/src/images/settings/zoom-out.png similarity index 100% rename from guacamole/src/main/webapp/images/settings/zoom-out.png rename to guacamole/src/main/frontend/src/images/settings/zoom-out.png diff --git a/guacamole/src/main/webapp/images/share.png b/guacamole/src/main/frontend/src/images/share.png similarity index 100% rename from guacamole/src/main/webapp/images/share.png rename to guacamole/src/main/frontend/src/images/share.png diff --git a/guacamole/src/main/webapp/images/user-icons/guac-user-group.png b/guacamole/src/main/frontend/src/images/user-icons/guac-user-group.png similarity index 100% rename from guacamole/src/main/webapp/images/user-icons/guac-user-group.png rename to guacamole/src/main/frontend/src/images/user-icons/guac-user-group.png diff --git a/guacamole/src/main/webapp/images/user-icons/guac-user.png b/guacamole/src/main/frontend/src/images/user-icons/guac-user.png similarity index 100% rename from guacamole/src/main/webapp/images/user-icons/guac-user.png rename to guacamole/src/main/frontend/src/images/user-icons/guac-user.png diff --git a/guacamole/src/main/webapp/images/warning-white.png b/guacamole/src/main/frontend/src/images/warning-white.png similarity index 100% rename from guacamole/src/main/webapp/images/warning-white.png rename to guacamole/src/main/frontend/src/images/warning-white.png diff --git a/guacamole/src/main/webapp/images/warning.png b/guacamole/src/main/frontend/src/images/warning.png similarity index 100% rename from guacamole/src/main/webapp/images/warning.png rename to guacamole/src/main/frontend/src/images/warning.png diff --git a/guacamole/src/main/webapp/images/x-red.png b/guacamole/src/main/frontend/src/images/x-red.png similarity index 100% rename from guacamole/src/main/webapp/images/x-red.png rename to guacamole/src/main/frontend/src/images/x-red.png diff --git a/guacamole/src/main/webapp/images/x.png b/guacamole/src/main/frontend/src/images/x.png similarity index 100% rename from guacamole/src/main/webapp/images/x.png rename to guacamole/src/main/frontend/src/images/x.png diff --git a/guacamole/src/main/webapp/index.html b/guacamole/src/main/frontend/src/index.html similarity index 61% rename from guacamole/src/main/webapp/index.html rename to guacamole/src/main/frontend/src/index.html index 309f11490..291e0d4cf 100644 --- a/guacamole/src/main/webapp/index.html +++ b/guacamole/src/main/frontend/src/index.html @@ -27,7 +27,7 @@ - + @@ -71,36 +71,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/guacamole/src/main/webapp/layouts/de-de-qwertz.json b/guacamole/src/main/frontend/src/layouts/de-de-qwertz.json similarity index 100% rename from guacamole/src/main/webapp/layouts/de-de-qwertz.json rename to guacamole/src/main/frontend/src/layouts/de-de-qwertz.json diff --git a/guacamole/src/main/webapp/layouts/en-us-qwerty.json b/guacamole/src/main/frontend/src/layouts/en-us-qwerty.json similarity index 100% rename from guacamole/src/main/webapp/layouts/en-us-qwerty.json rename to guacamole/src/main/frontend/src/layouts/en-us-qwerty.json diff --git a/guacamole/src/main/webapp/layouts/es-es-qwerty.json b/guacamole/src/main/frontend/src/layouts/es-es-qwerty.json similarity index 100% rename from guacamole/src/main/webapp/layouts/es-es-qwerty.json rename to guacamole/src/main/frontend/src/layouts/es-es-qwerty.json diff --git a/guacamole/src/main/webapp/layouts/fr-fr-azerty.json b/guacamole/src/main/frontend/src/layouts/fr-fr-azerty.json similarity index 100% rename from guacamole/src/main/webapp/layouts/fr-fr-azerty.json rename to guacamole/src/main/frontend/src/layouts/fr-fr-azerty.json diff --git a/guacamole/src/main/webapp/layouts/it-it-qwerty.json b/guacamole/src/main/frontend/src/layouts/it-it-qwerty.json similarity index 100% rename from guacamole/src/main/webapp/layouts/it-it-qwerty.json rename to guacamole/src/main/frontend/src/layouts/it-it-qwerty.json diff --git a/guacamole/src/main/webapp/layouts/nl-nl-qwerty.json b/guacamole/src/main/frontend/src/layouts/nl-nl-qwerty.json similarity index 100% rename from guacamole/src/main/webapp/layouts/nl-nl-qwerty.json rename to guacamole/src/main/frontend/src/layouts/nl-nl-qwerty.json diff --git a/guacamole/src/main/webapp/layouts/ru-ru-qwerty.json b/guacamole/src/main/frontend/src/layouts/ru-ru-qwerty.json similarity index 100% rename from guacamole/src/main/webapp/layouts/ru-ru-qwerty.json rename to guacamole/src/main/frontend/src/layouts/ru-ru-qwerty.json diff --git a/guacamole/src/main/webapp/relocateParameters.js b/guacamole/src/main/frontend/src/relocateParameters.js similarity index 100% rename from guacamole/src/main/webapp/relocateParameters.js rename to guacamole/src/main/frontend/src/relocateParameters.js diff --git a/guacamole/src/main/webapp/translations/ca.json b/guacamole/src/main/frontend/src/translations/ca.json similarity index 100% rename from guacamole/src/main/webapp/translations/ca.json rename to guacamole/src/main/frontend/src/translations/ca.json diff --git a/guacamole/src/main/webapp/translations/cs.json b/guacamole/src/main/frontend/src/translations/cs.json similarity index 100% rename from guacamole/src/main/webapp/translations/cs.json rename to guacamole/src/main/frontend/src/translations/cs.json diff --git a/guacamole/src/main/webapp/translations/de.json b/guacamole/src/main/frontend/src/translations/de.json similarity index 100% rename from guacamole/src/main/webapp/translations/de.json rename to guacamole/src/main/frontend/src/translations/de.json diff --git a/guacamole/src/main/webapp/translations/en.json b/guacamole/src/main/frontend/src/translations/en.json similarity index 100% rename from guacamole/src/main/webapp/translations/en.json rename to guacamole/src/main/frontend/src/translations/en.json diff --git a/guacamole/src/main/webapp/translations/es.json b/guacamole/src/main/frontend/src/translations/es.json similarity index 100% rename from guacamole/src/main/webapp/translations/es.json rename to guacamole/src/main/frontend/src/translations/es.json diff --git a/guacamole/src/main/webapp/translations/fr.json b/guacamole/src/main/frontend/src/translations/fr.json similarity index 100% rename from guacamole/src/main/webapp/translations/fr.json rename to guacamole/src/main/frontend/src/translations/fr.json diff --git a/guacamole/src/main/webapp/translations/it.json b/guacamole/src/main/frontend/src/translations/it.json similarity index 100% rename from guacamole/src/main/webapp/translations/it.json rename to guacamole/src/main/frontend/src/translations/it.json diff --git a/guacamole/src/main/webapp/translations/ja.json b/guacamole/src/main/frontend/src/translations/ja.json similarity index 100% rename from guacamole/src/main/webapp/translations/ja.json rename to guacamole/src/main/frontend/src/translations/ja.json diff --git a/guacamole/src/main/webapp/translations/ko.json b/guacamole/src/main/frontend/src/translations/ko.json similarity index 100% rename from guacamole/src/main/webapp/translations/ko.json rename to guacamole/src/main/frontend/src/translations/ko.json diff --git a/guacamole/src/main/webapp/translations/nl.json b/guacamole/src/main/frontend/src/translations/nl.json similarity index 100% rename from guacamole/src/main/webapp/translations/nl.json rename to guacamole/src/main/frontend/src/translations/nl.json diff --git a/guacamole/src/main/webapp/translations/no.json b/guacamole/src/main/frontend/src/translations/no.json similarity index 100% rename from guacamole/src/main/webapp/translations/no.json rename to guacamole/src/main/frontend/src/translations/no.json diff --git a/guacamole/src/main/webapp/translations/pt.json b/guacamole/src/main/frontend/src/translations/pt.json similarity index 100% rename from guacamole/src/main/webapp/translations/pt.json rename to guacamole/src/main/frontend/src/translations/pt.json diff --git a/guacamole/src/main/webapp/translations/ru.json b/guacamole/src/main/frontend/src/translations/ru.json similarity index 100% rename from guacamole/src/main/webapp/translations/ru.json rename to guacamole/src/main/frontend/src/translations/ru.json diff --git a/guacamole/src/main/webapp/translations/zh.json b/guacamole/src/main/frontend/src/translations/zh.json similarity index 100% rename from guacamole/src/main/webapp/translations/zh.json rename to guacamole/src/main/frontend/src/translations/zh.json diff --git a/guacamole/src/main/frontend/webpack.config.js b/guacamole/src/main/frontend/webpack.config.js new file mode 100644 index 000000000..82703c0e6 --- /dev/null +++ b/guacamole/src/main/frontend/webpack.config.js @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const webpack = require('webpack'); +const ClosureWebpackPlugin = require('closure-webpack-plugin'); + +module.exports = { + + bail: true, + mode: 'production', + + output: { + path: __dirname + '/dist', + filename: 'guacamole.min.js' + }, + + // Generate source maps, automatically building off any source maps + // generated by Gulp + devtool: 'source-map', + module: { + rules: [ + { + test: /\.js$/, + enforce: 'pre', + use: [ 'source-map-loader' ] + } + ] + }, + + // Automatically require used modules + plugins: [ + new webpack.ProvidePlugin({ + $: 'jquery', + _: 'lodash', + angular: 'angular', + jstz: 'jstz', + Pickr: '@simonwep/pickr', + saveAs: 'file-saver' + }) + ], + + // Minify using Google Closure Compiler + optimization: { + minimizer: [ + new ClosureWebpackPlugin({ mode: 'STANDARD' }, { + externs: 'externs.js', + languageIn: 'ECMASCRIPT6', + languageOut: 'ECMASCRIPT5', + compilationLevel: 'ADVANCED' + }) + ] + } + +}; + diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java index 58f124e6a..f6c4f94f7 100644 --- a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java +++ b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java @@ -513,13 +513,9 @@ public class ExtensionModule extends ServletModule { // Load initial language resources from servlet context languageResourceService.addLanguageResources(getServletContext()); - // Init JavaScript resources with base guacamole.min.js + // Init JavaScript and CSS resources from extensions Collection javaScriptResources = new ArrayList(); - javaScriptResources.add(new WebApplicationResource(getServletContext(), "/guacamole.min.js")); - - // Init CSS resources with base guacamole.min.css Collection cssResources = new ArrayList(); - cssResources.add(new WebApplicationResource(getServletContext(), "/guacamole.min.css")); // Load all extensions final Set toleratedAuthProviders = getToleratedAuthenticationProviders(); diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java b/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java index 32878b1ee..a89398e89 100644 --- a/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java +++ b/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java @@ -42,7 +42,6 @@ import org.apache.guacamole.rest.user.UserModule; import org.apache.guacamole.rest.usergroup.UserGroupModule; import org.glassfish.jersey.servlet.ServletContainer; import org.glassfish.jersey.servlet.ServletProperties; -import org.webjars.servlet.WebjarsServlet; /** * A Guice Module to set up the servlet mappings and authentication-specific @@ -100,10 +99,6 @@ public class RESTServiceModule extends ServletModule { GuacamoleApplication.class.getName() )); - // Serve Webjar JavaScript dependencies - bind(WebjarsServlet.class).in(Scopes.SINGLETON); - serve("/webjars/*").with(WebjarsServlet.class); - } } diff --git a/pom.xml b/pom.xml index fc6078b49..f2192722c 100644 --- a/pom.xml +++ b/pom.xml @@ -99,6 +99,7 @@ .ratignore **/*.md **/*.json + **/node_modules/**/* **/templates/*.html src/licenses/**/* target/**/* From 5f0ab7b3f34d916e1c26054350459516e9f9f892 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 6 Apr 2021 10:42:02 -0700 Subject: [PATCH 02/19] GUACAMOLE-773: Use Webpack rather than Webpack+Gulp. --- .../maven-coordinates.txt | 1 - guacamole/.ratignore | 1 - .../angular-module-shim-0.0.4/LICENSE | 0 .../bundled}/angular-module-shim-0.0.4/README | 0 guacamole/src/main/frontend/.gitignore | 1 - guacamole/src/main/frontend/externs.js | 34 - guacamole/src/main/frontend/gulpfile.js | 105 - guacamole/src/main/frontend/package-lock.json | 5874 ++++++++++------- guacamole/src/main/frontend/package.json | 20 +- .../main/frontend/src/angular-module-shim.js | 56 + .../app/form/services/colorPickerService.js | 2 + .../frontend/src/app/index/indexModule.js | 22 +- .../app/navigation/types/ClientIdentifier.js | 2 +- guacamole/src/main/frontend/src/index.html | 26 +- guacamole/src/main/frontend/webpack.config.js | 138 +- 15 files changed, 3599 insertions(+), 2683 deletions(-) delete mode 100644 doc/licenses/angular-module-shim-0.0.4/maven-coordinates.txt rename {doc/licenses => guacamole/src/licenses/bundled}/angular-module-shim-0.0.4/LICENSE (100%) rename {doc/licenses => guacamole/src/licenses/bundled}/angular-module-shim-0.0.4/README (100%) delete mode 100644 guacamole/src/main/frontend/externs.js delete mode 100644 guacamole/src/main/frontend/gulpfile.js create mode 100644 guacamole/src/main/frontend/src/angular-module-shim.js diff --git a/doc/licenses/angular-module-shim-0.0.4/maven-coordinates.txt b/doc/licenses/angular-module-shim-0.0.4/maven-coordinates.txt deleted file mode 100644 index 151186cc4..000000000 --- a/doc/licenses/angular-module-shim-0.0.4/maven-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -org.webjars.bower:angular-module-shim:jar:0.0.4 diff --git a/guacamole/.ratignore b/guacamole/.ratignore index ce99210b7..548fcb76c 100644 --- a/guacamole/.ratignore +++ b/guacamole/.ratignore @@ -1,2 +1 @@ src/main/frontend/dist/**/* -src/main/frontend/generated/**/* diff --git a/doc/licenses/angular-module-shim-0.0.4/LICENSE b/guacamole/src/licenses/bundled/angular-module-shim-0.0.4/LICENSE similarity index 100% rename from doc/licenses/angular-module-shim-0.0.4/LICENSE rename to guacamole/src/licenses/bundled/angular-module-shim-0.0.4/LICENSE diff --git a/doc/licenses/angular-module-shim-0.0.4/README b/guacamole/src/licenses/bundled/angular-module-shim-0.0.4/README similarity index 100% rename from doc/licenses/angular-module-shim-0.0.4/README rename to guacamole/src/licenses/bundled/angular-module-shim-0.0.4/README diff --git a/guacamole/src/main/frontend/.gitignore b/guacamole/src/main/frontend/.gitignore index 3fce9d7d8..70f460b2e 100644 --- a/guacamole/src/main/frontend/.gitignore +++ b/guacamole/src/main/frontend/.gitignore @@ -1,4 +1,3 @@ *~ node_modules dist -generated diff --git a/guacamole/src/main/frontend/externs.js b/guacamole/src/main/frontend/externs.js deleted file mode 100644 index b9d0fc7c4..000000000 --- a/guacamole/src/main/frontend/externs.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/** - * @fileoverview External APIs referenced by the source of the Guacamole webapp - * and its dependencies. - * @externs - */ - -// guacamole-common-js -const Guacamole = {}; - -// Web Storage API -const localStorage = {}; - -// matchMedia() function of Window object -const matchMedia = function matchMedia(str) {} - diff --git a/guacamole/src/main/frontend/gulpfile.js b/guacamole/src/main/frontend/gulpfile.js deleted file mode 100644 index 39cf0a159..000000000 --- a/guacamole/src/main/frontend/gulpfile.js +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -const angularFilesort = require('gulp-angular-filesort'); -const cleanCss = require('gulp-clean-css'); -const concat = require('gulp-concat'); -const del = require('del'); -const gulp = require('gulp'); -const ngHtml2Js = require("gulp-ng-html2js"); -const sourcemaps = require('gulp-sourcemaps'); -const webpack = require('webpack-stream'); - -// Clean build files -gulp.task('clean', (callback) => del([ - 'dist', - 'generated' -], callback)); - -// Build monolithic, minified CSS source -gulp.task('build-css', - () => gulp.src([ - 'node_modules/@simonwep/pickr/dist/themes/monolith.min.css', - 'src/app/**/*.css' - ]) - .pipe(sourcemaps.init()) - .pipe(concat('guacamole.min.css')) - .pipe(cleanCss()) - .pipe(sourcemaps.write('./')) - .pipe(gulp.dest('dist')) -); - -// Pre-cache AngularJS templates -gulp.task('build-template-js', - () => gulp.src('src/app/**/*.html') - .pipe(ngHtml2Js({ - moduleName: 'templates-main', - prefix: 'app/' - })) - .pipe(concat('templates.js')) - .pipe(gulp.dest('generated')) -); - -// Build monolithic combined JavaScript source containing all pre-cached -// templates and all AngularJS module declarations in the proper order -gulp.task('build-combined-js', - () => gulp.src([ - 'src/app/**/*.js', - 'generated/templates.js' - ]) - .pipe(angularFilesort()) - .pipe(sourcemaps.init()) - .pipe(concat('guacamole.js')) - .pipe(sourcemaps.write('./')) - .pipe(gulp.dest('generated')) -); - -// Process monolithic JavaScript source through WebPack to produce a bundle -// that contains all required dependencies -gulp.task('build-webpack-bundle', - () => gulp.src('generated/guacamole.js') - .pipe(webpack(require('./webpack.config.js'))) - .pipe(gulp.dest('dist')) -); - -// Build all JavaScript for the entire application -gulp.task('build-js', gulp.series( - 'build-template-js', - 'build-combined-js', - 'build-webpack-bundle' -)); - -// Copy plain, static contents of application -gulp.task('copy-static', - () => gulp.src([ - 'src/relocateParameters.js', - 'src/index.html', - 'src/fonts/**/*', - 'src/images/**/*', - 'src/layouts/**/*', - 'src/translations/**/*' - ], { base: './src' }) - .pipe(gulp.dest('dist')) -); - -gulp.task('default', gulp.series( - 'clean', - gulp.parallel('build-css', 'build-js', 'copy-static') -)); - diff --git a/guacamole/src/main/frontend/package-lock.json b/guacamole/src/main/frontend/package-lock.json index 93cb8c753..ed292eda8 100644 --- a/guacamole/src/main/frontend/package-lock.json +++ b/guacamole/src/main/frontend/package-lock.json @@ -2,82 +2,51 @@ "requires": true, "lockfileVersion": 1, "dependencies": { - "@gulp-sourcemaps/identity-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz", - "integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==", - "dev": true, - "requires": { - "acorn": "^6.4.1", - "normalize-path": "^3.0.0", - "postcss": "^7.0.16", - "source-map": "^0.6.0", - "through2": "^3.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - } - } - }, - "@gulp-sourcemaps/map-sources": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", - "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=", - "dev": true, - "requires": { - "normalize-path": "^2.0.1", - "through2": "^2.0.3" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "@discoveryjs/json-ext": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", "dev": true }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, "@simonwep/pickr": { @@ -85,12 +54,106 @@ "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.2.6.tgz", "integrity": "sha512-a0Q6dgSdlN0VUzvR/9c/XSlskTD83ZV0kBDGqVZLphDUd+QdPhKzuyIVa+JX2UmU98w4wwEaywsDjpy+FW+uoQ==" }, + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==", + "dev": true + }, "@types/json-schema": { "version": "7.0.7", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, + "@types/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", + "dev": true + }, + "@types/node": { + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", + "dev": true + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", + "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", + "dev": true + }, + "@types/uglify-js": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", + "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "@types/webpack": { + "version": "4.41.27", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.27.tgz", + "integrity": "sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA==", + "dev": true, + "requires": { + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + } + }, + "@types/webpack-sources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", + "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -340,6 +403,27 @@ "@xtuc/long": "4.2.2" } }, + "@webpack-cli/configtest": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz", + "integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==", + "dev": true + }, + "@webpack-cli/info": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz", + "integrity": "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz", + "integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==", + "dev": true + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -352,12 +436,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -400,7 +478,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -411,13 +488,17 @@ "ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", "dev": true }, "angular": { @@ -430,6 +511,35 @@ "resolved": "https://registry.npmjs.org/angular-route/-/angular-route-1.6.9.tgz", "integrity": "sha512-giE0PD0T17ZvtJmAB6di27YPPSzYC1kP1BDpM2ZIGZUbs02PvJWRIgYA8z3dy9olzCS35TOwxmE2fJoHWTMm1A==" }, + "angular-templatecache-webpack-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/angular-templatecache-webpack-plugin/-/angular-templatecache-webpack-plugin-1.0.1.tgz", + "integrity": "sha512-gk2qiwTq2pTDy+wGjs78l/hk5MCniBiO2VSAcXLNZgrNOkXzxHsc+DsxQ2e5TjGd+kS+vOWZogIiVArHdfBaMw==", + "requires": { + "fs": "0.0.1-security", + "glob": "^7.1.6", + "glob-parent": "^5.1.1", + "jsesc": "^3.0.2", + "lodash.template": "^4.5.0", + "path": "^0.12.7", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, "angular-touch": { "version": "1.6.9", "resolved": "https://registry.npmjs.org/angular-touch/-/angular-touch-1.6.9.tgz", @@ -461,22 +571,10 @@ } }, "ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "dev": true, - "requires": { - "ansi-wrap": "^0.1.0" - } - }, - "ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true }, "ansi-regex": { "version": "2.1.1", @@ -493,17 +591,12 @@ "color-convert": "^1.9.0" } }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "dev": true - }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, + "optional": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -514,6 +607,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "optional": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -532,6 +626,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -543,6 +638,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, + "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -555,6 +651,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -566,6 +663,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2" }, @@ -575,6 +673,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -586,6 +685,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "optional": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -607,6 +707,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, + "optional": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -616,6 +717,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, + "optional": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -623,26 +725,20 @@ } } }, - "append-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", - "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", - "dev": true, - "requires": { - "buffer-equal": "^1.0.0" - } - }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } }, "arr-diff": { "version": "4.0.0", @@ -650,102 +746,33 @@ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, - "arr-filter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", - "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", - "dev": true, - "requires": { - "make-iterator": "^1.0.0" - } - }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, - "arr-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", - "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", - "dev": true, - "requires": { - "make-iterator": "^1.0.0" - } - }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, - "array-initial": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", - "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", - "dev": true, - "requires": { - "array-slice": "^1.0.0", - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "array-last": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", - "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", - "dev": true, - "requires": { - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true - }, - "array-sort": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", - "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", - "dev": true, - "requires": { - "default-compare": "^1.0.0", - "get-value": "^2.0.6", - "kind-of": "^5.0.2" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -805,32 +832,12 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, - "async-done": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", - "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.2", - "process-nextick-args": "^2.0.0", - "stream-exhaust": "^1.0.1" - } - }, "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-settle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", - "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", "dev": true, - "requires": { - "async-done": "^1.2.2" - } + "optional": true }, "atob": { "version": "2.1.2", @@ -838,23 +845,6 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, - "bach": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", - "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", - "dev": true, - "requires": { - "arr-filter": "^1.1.1", - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "array-each": "^1.0.0", - "array-initial": "^1.0.0", - "array-last": "^1.1.1", - "async-done": "^1.2.2", - "async-settle": "^1.0.0", - "now-and-later": "^2.0.0" - } - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -931,7 +921,8 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "dev": true, + "optional": true }, "bindings": { "version": "1.5.0", @@ -960,6 +951,12 @@ "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -974,6 +971,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, + "optional": true, "requires": { "fill-range": "^7.0.1" } @@ -1076,6 +1074,19 @@ "pako": "~1.0.5" } }, + "browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, "buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", @@ -1087,12 +1098,6 @@ "isarray": "^1.0.0" } }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", - "dev": true - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -1183,10 +1188,70 @@ "get-intrinsic": "^1.0.2" } }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + } + } + }, "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "caniuse-api": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001207", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001207.tgz", + "integrity": "sha512-UPQZdmAsyp2qfCTiMU/zqGSWOYaY9F9LL61V8f+8MrubsaDGpaHD9HRV/EWZGULZn0Hxu48SKzI5DgFwTvHuYw==", "dev": true }, "chalk": { @@ -1205,6 +1270,7 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, + "optional": true, "requires": { "anymatch": "^2.0.0", "async-each": "^1.0.1", @@ -1225,6 +1291,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "optional": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -1243,6 +1310,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -1252,6 +1320,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, + "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -1264,6 +1333,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, + "optional": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -1274,6 +1344,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, + "optional": true, "requires": { "is-extglob": "^2.1.0" } @@ -1285,6 +1356,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2" } @@ -1294,6 +1366,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -1303,6 +1376,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, + "optional": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -1373,15 +1447,31 @@ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "clean-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "@types/webpack": "^4.4.31", + "del": "^4.1.1" + }, + "dependencies": { + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + } } }, "clone": { @@ -1396,6 +1486,17 @@ "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", "dev": true }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, "clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", @@ -1426,21 +1527,15 @@ "webpack-sources": "1.x" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collection-map": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", - "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dev": true, "requires": { - "arr-map": "^2.0.2", - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" } }, "collection-visit": { @@ -1453,6 +1548,16 @@ "object-visit": "^1.0.0" } }, + "color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -1468,10 +1573,20 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "color-string": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", + "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "commander": { @@ -1509,15 +1624,6 @@ "typedarray": "^0.0.6" } }, - "concat-with-sourcemaps": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", - "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, "console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", @@ -1530,15 +1636,6 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", @@ -1559,20 +1656,79 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, - "copy-props": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", - "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "copy-webpack-plugin": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", + "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", "dev": true, "requires": { - "each-props": "^1.3.2", - "is-plain-object": "^5.0.0" + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "webpack-log": "^2.0.0" }, "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true } } @@ -1583,6 +1739,18 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, "create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", @@ -1628,6 +1796,17 @@ "sha.js": "^2.4.8" } }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -1647,26 +1826,504 @@ "randomfill": "^1.0.3" } }, - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", "dev": true, "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" + "postcss": "^7.0.1", + "timsort": "^0.3.0" }, "dependencies": { - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "dev": true, "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "css-loader": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.0.tgz", + "integrity": "sha512-MfRo2MjEeLXMlUkeUwN71Vx5oc6EJnx5UQ4Yi9iUtYQvrPtwLUucYptz0hc6n++kdNcyF5olYBS4vPjJDAcLkw==", + "dev": true, + "requires": { + "camelcase": "^6.2.0", + "cssesc": "^3.0.0", + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.8", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.4" + }, + "dependencies": { + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "css-minimizer-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-jFa0Siplmfef4ndKglpVaduY47oHQwioAOEGK0f0vAX0s+vc+SmP6cCMoc+8Adau5600RnOEld5VVdC8CQau7w==", + "dev": true, + "requires": { + "cacache": "^15.0.5", + "cssnano": "^4.1.10", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.3.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "cacache": { + "version": "15.0.6", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.6.tgz", + "integrity": "sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w==", + "dev": true, + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true } } }, @@ -1676,16 +2333,6 @@ "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, "datalist-polyfill": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/datalist-polyfill/-/datalist-polyfill-1.14.0.tgz", @@ -1700,69 +2347,12 @@ "ms": "2.0.0" } }, - "debug-fabulous": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", - "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", - "dev": true, - "requires": { - "debug": "3.X", - "memoizee": "0.4.X", - "object-assign": "4.X" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, - "default-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", - "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", - "dev": true, - "requires": { - "kind-of": "^5.0.2" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "default-resolution": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", - "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", - "dev": true - }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -1813,82 +2403,6 @@ } } }, - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "dependencies": { - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", @@ -1899,18 +2413,6 @@ "minimalistic-assert": "^1.0.0" } }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "dev": true - }, "diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -1931,12 +2433,39 @@ } }, "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", "dev": true, "requires": { - "path-type": "^4.0.0" + "path-type": "^3.0.0" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } } }, "domain-browser": { @@ -1945,6 +2474,58 @@ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + } + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -1957,15 +2538,11 @@ "stream-shift": "^1.0.0" } }, - "each-props": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", - "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.1", - "object.defaults": "^1.1.0" - } + "electron-to-chromium": { + "version": "1.3.708", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.708.tgz", + "integrity": "sha512-+A8ggYZ5riOLMcVAuzHx6bforaPzaiLnW1QOMD2SlMYQVi7QQTyQ/WrlZoebIH9ikmgr+tLJGpNITFFCUiQcPw==", + "dev": true }, "elliptic": { "version": "6.5.4", @@ -2016,6 +2593,35 @@ "tapable": "^1.0.0" } }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -2034,49 +2640,46 @@ "is-arrayish": "^0.2.1" } }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" } }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true }, "escape-string-regexp": { "version": "1.0.5", @@ -2095,9 +2698,9 @@ } }, "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esrecurse": { @@ -2123,16 +2726,6 @@ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -2149,6 +2742,23 @@ "safe-buffer": "^5.1.1" } }, + "execa": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -2184,38 +2794,50 @@ } } }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "exports-loader": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-1.1.1.tgz", + "integrity": "sha512-CmyhIR2sJ3KOfVsHjsR0Yvo+0lhRhRMAevCbB8dhTVLHsZPs0lCQTvRmR9YNvBXDBxUuhmCE2f54KqEjZUaFrg==", "dev": true, "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "dev": true, - "requires": { - "type": "^2.0.0" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.6.1" }, "dependencies": { - "type": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", - "dev": true + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } } } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -2302,59 +2924,22 @@ } } }, - "fancy-log": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", - "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", - "dev": true, - "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" - } - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "fast-levenshtein": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", - "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=", + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, - "fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, "figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", @@ -2378,6 +2963,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, + "optional": true, "requires": { "to-regex-range": "^5.0.1" } @@ -2394,151 +2980,35 @@ } }, "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "p-locate": "^4.1.0" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "p-limit": "^2.2.0" } } } }, - "fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - } - }, - "flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true - }, "flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -2555,15 +3025,6 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -2583,14 +3044,18 @@ "readable-stream": "^2.0.0" } }, - "fs-mkdirp-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", - "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "through2": "^2.0.3" + "minipass": "^3.0.0" } }, "fs-write-stream-atomic": { @@ -2627,12 +3092,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", @@ -2644,6 +3103,12 @@ "has-symbols": "^1.0.1" } }, + "get-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", + "dev": true + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -2667,112 +3132,31 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } }, - "glob-stream": { + "globby": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "extend": "^3.0.0", - "glob": "^7.1.1", - "glob-parent": "^3.1.0", - "is-negated-glob": "^1.0.0", - "ordered-read-streams": "^1.0.0", - "pumpify": "^1.3.5", - "readable-stream": "^2.1.5", - "remove-trailing-separator": "^1.0.1", - "to-absolute-glob": "^2.0.0", - "unique-stream": "^2.0.2" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true } } }, - "glob-watcher": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", - "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-done": "^1.2.0", - "chokidar": "^2.0.0", - "is-negated-glob": "^1.0.0", - "just-debounce": "^1.0.0", - "normalize-path": "^3.0.0", - "object.defaults": "^1.1.0" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "glogg": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", - "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", - "dev": true, - "requires": { - "sparkles": "^1.0.0" - } - }, "google-closure-compiler": { "version": "20210302.0.0", "resolved": "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20210302.0.0.tgz", @@ -2822,147 +3206,6 @@ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, - "gulp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", - "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", - "dev": true, - "requires": { - "glob-watcher": "^5.0.3", - "gulp-cli": "^2.2.0", - "undertaker": "^1.2.1", - "vinyl-fs": "^3.0.0" - }, - "dependencies": { - "gulp-cli": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", - "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", - "dev": true, - "requires": { - "ansi-colors": "^1.0.1", - "archy": "^1.0.0", - "array-sort": "^1.0.0", - "color-support": "^1.1.3", - "concat-stream": "^1.6.0", - "copy-props": "^2.0.1", - "fancy-log": "^1.3.2", - "gulplog": "^1.0.0", - "interpret": "^1.4.0", - "isobject": "^3.0.1", - "liftoff": "^3.1.0", - "matchdep": "^2.0.0", - "mute-stdout": "^1.0.0", - "pretty-hrtime": "^1.0.0", - "replace-homedir": "^1.0.0", - "semver-greatest-satisfied-range": "^1.1.0", - "v8flags": "^3.2.0", - "yargs": "^7.1.0" - } - } - } - }, - "gulp-angular-filesort": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/gulp-angular-filesort/-/gulp-angular-filesort-1.2.1.tgz", - "integrity": "sha512-KkB43Uof1JI7qVEBq5tAILoMbBrxSZyhOgirtVKvwXhXRspqfytR6tcGpdlxHAsQ3edLuyjpA3c6o5zhSAmbOA==", - "dev": true, - "requires": { - "ng-dependencies": "^0.8.1", - "plugin-error": "^1.0.1", - "through2": "^2.0.0", - "toposort": "^1.0.0" - } - }, - "gulp-clean-css": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", - "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", - "dev": true, - "requires": { - "clean-css": "4.2.3", - "plugin-error": "1.0.1", - "through2": "3.0.1", - "vinyl-sourcemaps-apply": "0.2.1" - }, - "dependencies": { - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", - "dev": true, - "requires": { - "readable-stream": "2 || 3" - } - } - } - }, - "gulp-concat": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", - "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", - "dev": true, - "requires": { - "concat-with-sourcemaps": "^1.0.0", - "through2": "^2.0.0", - "vinyl": "^2.0.0" - } - }, - "gulp-ng-html2js": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/gulp-ng-html2js/-/gulp-ng-html2js-0.2.3.tgz", - "integrity": "sha512-hc9F1W2gYKgZFC74FXEiBiaB1XiADYmOY0bEsL1PLWQgNevZrDX1M8ePdAc4BQp4QvgiHuXSUPXe6c4ouU2AAQ==", - "dev": true, - "requires": { - "lodash": "^4.17.11", - "map-stream": "*", - "replace-ext": "^1.0.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - } - } - }, - "gulp-sourcemaps": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz", - "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==", - "dev": true, - "requires": { - "@gulp-sourcemaps/identity-map": "^2.0.1", - "@gulp-sourcemaps/map-sources": "^1.0.0", - "acorn": "^6.4.1", - "convert-source-map": "^1.0.0", - "css": "^3.0.0", - "debug-fabulous": "^1.0.0", - "detect-newline": "^2.0.0", - "graceful-fs": "^4.0.0", - "source-map": "^0.6.0", - "strip-bom-string": "^1.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - } - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "dev": true, - "requires": { - "glogg": "^1.0.0" - } - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -2972,6 +3215,12 @@ "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -3076,6 +3325,18 @@ "minimalistic-assert": "^1.0.1" } }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -3087,20 +3348,108 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", "dev": true, "requires": { - "parse-passwd": "^1.0.0" + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + } } }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true + "html-webpack-plugin": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", + "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } }, "https-browserify": { "version": "1.0.0", @@ -3108,14 +3457,17 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true }, "ieee754": { "version": "1.2.1", @@ -3130,11 +3482,50 @@ "dev": true }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "dependencies": { + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -3147,6 +3538,12 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -3167,34 +3564,18 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", "dev": true }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -3221,21 +3602,57 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-bigint": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", + "dev": true + }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, + "optional": true, "requires": { "binary-extensions": "^1.0.0" } }, + "is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, "is-core-module": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", @@ -3265,6 +3682,12 @@ } } }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -3284,6 +3707,12 @@ } } }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -3293,37 +3722,39 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } }, - "is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true + }, + "is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true }, "is-path-cwd": { @@ -3332,6 +3763,24 @@ "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -3341,42 +3790,43 @@ "isobject": "^3.0.1" } }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { - "is-unc-path": "^1.0.0" + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" } }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, "requires": { - "unc-path-regex": "^0.1.2" + "has-symbols": "^1.0.1" } }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-valid-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", - "dev": true - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -3407,11 +3857,54 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "jquery": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==" + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -3421,14 +3914,7 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json5": { "version": "1.0.1", @@ -3444,92 +3930,12 @@ "resolved": "https://registry.npmjs.org/jstz/-/jstz-1.0.10.tgz", "integrity": "sha1-z2xYv/FuPvWy1lLPf0ZsrREPut8=" }, - "just-debounce": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", - "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", - "dev": true - }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "last-run": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", - "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", - "dev": true, - "requires": { - "default-resolution": "^2.0.0", - "es6-weak-map": "^2.0.1" - } - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, - "requires": { - "readable-stream": "^2.0.5" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "lead": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", - "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", - "dev": true, - "requires": { - "flush-write-stream": "^1.0.2" - } - }, - "liftoff": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", - "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", - "dev": true, - "requires": { - "extend": "^3.0.0", - "findup-sync": "^3.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", @@ -3570,18 +3976,57 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, - "lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + } + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -3591,15 +4036,6 @@ "yallist": "^3.0.2" } }, - "lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", - "dev": true, - "requires": { - "es5-ext": "~0.10.2" - } - }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -3610,15 +4046,6 @@ "semver": "^5.6.0" } }, - "make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, "make-plural": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-3.0.6.tgz", @@ -3633,12 +4060,6 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, - "map-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", - "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", - "dev": true - }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -3648,144 +4069,6 @@ "object-visit": "^1.0.0" } }, - "matchdep": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", - "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", - "dev": true, - "requires": { - "findup-sync": "^2.0.0", - "micromatch": "^3.0.4", - "resolve": "^1.4.0", - "stack-trace": "0.0.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -3797,29 +4080,11 @@ "safe-buffer": "^5.1.2" } }, - "memoizee": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", - "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", - "dev": true, - "requires": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", - "es6-weak-map": "^2.0.3", - "event-emitter": "^0.3.5", - "is-promise": "^2.2.2", - "lru-queue": "^0.1.0", - "next-tick": "^1.1.0", - "timers-ext": "^0.1.7" - }, - "dependencies": { - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true - } - } + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true }, "memory-fs": { "version": "0.5.0", @@ -3831,10 +4096,10 @@ "readable-stream": "^2.0.1" } }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "messageformat": { @@ -3854,16 +4119,6 @@ "resolved": "https://registry.npmjs.org/messageformat-parser/-/messageformat-parser-1.1.0.tgz", "integrity": "sha512-Hwem6G3MsKDLS1FtBRGIs8T50P1Q00r3srS6QJePCFbad9fq0nYxwf3rnU2BreApRGhmpKMV7oZI06Sy1c9TPA==" }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, "miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", @@ -3882,6 +4137,56 @@ } } }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.0.tgz", + "integrity": "sha512-DyQr5DhXXARKZoc4kwvCvD95kh69dUupfuKOmBUqZ4kBTmRaRZcU32lYu3cLd6nEGXhQ1l7LzZ3F/CjItaY6VQ==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -3907,6 +4212,68 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -3987,12 +4354,6 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "mute-stdout": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", - "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", - "dev": true - }, "nan": { "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", @@ -4000,6 +4361,12 @@ "dev": true, "optional": true }, + "nanoid": { + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz", + "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==", + "dev": true + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -4025,21 +4392,22 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "ng-dependencies": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ng-dependencies/-/ng-dependencies-0.8.1.tgz", - "integrity": "sha1-GP1jMscC4PPjdKNv4e1FXGdSu2g=", + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, "requires": { - "esprima": "^2.6.0", - "estraverse": "^4.2.0", - "lodash": "^4.0.0" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + } } }, "node-libs-browser": { @@ -4081,6 +4449,12 @@ } } }, + "node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -4089,38 +4463,35 @@ "abbrev": "1" } }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "now-and-later": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", - "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { - "once": "^1.3.2" + "path-key": "^3.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } }, "object-assign": { "version": "4.1.1", @@ -4159,6 +4530,12 @@ } } }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -4186,26 +4563,15 @@ "object-keys": "^1.1.1" } }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", "dev": true, "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" } }, "object.pick": { @@ -4217,14 +4583,16 @@ "isobject": "^3.0.1" } }, - "object.reduce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", - "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "object.values": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "has": "^1.0.3" } }, "once": { @@ -4235,13 +4603,13 @@ "wrappy": "1" } }, - "ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { - "readable-stream": "^2.0.1" + "mimic-fn": "^2.1.0" } }, "os-browserify": { @@ -4250,13 +4618,13 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "lcid": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { @@ -4279,6 +4647,12 @@ } } }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -4302,6 +4676,24 @@ "readable-stream": "^2.1.5" } }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + } + } + }, "parse-asn1": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", @@ -4315,37 +4707,33 @@ "safe-buffer": "^5.1.1" } }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + } + } }, "pascalcase": { "version": "0.1.1", @@ -4353,6 +4741,30 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + } + } + }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", @@ -4366,46 +4778,51 @@ "dev": true }, "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "path-root-regex": "^0.1.0" + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, "pbkdf2": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", @@ -4423,7 +4840,8 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true + "dev": true, + "optional": true }, "pify": { "version": "4.0.1", @@ -4466,18 +4884,6 @@ } } }, - "plugin-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", - "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", - "dev": true, - "requires": { - "ansi-colors": "^1.0.1", - "arr-diff": "^4.0.0", - "arr-union": "^3.1.0", - "extend-shallow": "^3.0.2" - } - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -4485,16 +4891,38 @@ "dev": true }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.9.tgz", + "integrity": "sha512-b+TmuIL4jGtCHtoLi+G/PisuIl9avxs8IZMSmlABRwNz5RLUUACrC+ws81dcomz1nRezm5YPdXiMEzBEKgYn+Q==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "colorette": "^1.2.2", + "nanoid": "^3.1.22", + "source-map": "^0.6.1" + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" }, "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -4506,17 +4934,1066 @@ } } }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", "dev": true }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + } + } + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { "version": "2.0.1", @@ -4582,7 +6059,12 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, "querystring": { @@ -4597,12 +6079,6 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4622,46 +6098,6 @@ "safe-buffer": "^5.1.0" } }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "dependencies": { - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -4682,6 +6118,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, + "optional": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -4693,6 +6130,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "optional": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -4711,6 +6149,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -4722,6 +6161,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, + "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -4734,6 +6174,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -4745,6 +6186,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2" }, @@ -4754,6 +6196,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -4765,6 +6208,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "optional": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -4786,6 +6230,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, + "optional": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -4794,12 +6239,12 @@ } }, "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", "dev": true, "requires": { - "resolve": "^1.1.6" + "resolve": "^1.9.0" } }, "regex-not": { @@ -4812,26 +6257,11 @@ "safe-regex": "^1.1.0" } }, - "remove-bom-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", - "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5", - "is-utf8": "^0.2.1" - } - }, - "remove-bom-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", - "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", - "dev": true, - "requires": { - "remove-bom-buffer": "^3.0.0", - "safe-buffer": "^5.1.0", - "through2": "^2.0.3" - } + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true }, "remove-trailing-separator": { "version": "1.1.0", @@ -4839,6 +6269,27 @@ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, + "renderkid": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "dev": true, + "requires": { + "css-select": "^2.0.2", + "dom-converter": "^0.2", + "htmlparser2": "^3.10.1", + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + } + } + }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", @@ -4857,29 +6308,6 @@ "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "dev": true }, - "replace-homedir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", - "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1", - "is-absolute": "^1.0.0", - "remove-trailing-separator": "^1.1.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, "reserved-words": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", @@ -4895,24 +6323,20 @@ "path-parse": "^1.0.6" } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "resolve-from": "^5.0.0" } }, - "resolve-options": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", - "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", - "dev": true, - "requires": { - "value-or-function": "^3.0.0" - } + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true }, "resolve-url": { "version": "0.2.1", @@ -4926,10 +6350,16 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", "dev": true }, "rimraf": { @@ -4967,15 +6397,6 @@ "inherits": "^2.0.1" } }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -5006,11 +6427,16 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, "requires": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", @@ -5023,15 +6449,6 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, - "semver-greatest-satisfied-range": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", - "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", - "dev": true, - "requires": { - "sver-compat": "^1.5.0" - } - }, "serialize-javascript": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", @@ -5041,12 +6458,6 @@ "randombytes": "^2.1.0" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -5086,10 +6497,57 @@ "safe-buffer": "^5.0.1" } }, - "slash": { + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, "snapdragon": { @@ -5217,53 +6675,6 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "source-map-loader": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz", - "integrity": "sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.2", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "source-map": "^0.6.1", - "whatwg-mimetype": "^2.3.0" - }, - "dependencies": { - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", @@ -5293,44 +6704,6 @@ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, - "sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -5340,6 +6713,12 @@ "extend-shallow": "^3.0.0" } }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", @@ -5349,10 +6728,10 @@ "figgy-pudding": "^3.5.1" } }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, "static-extend": { @@ -5396,12 +6775,6 @@ "stream-shift": "^1.0.0" } }, - "stream-exhaust": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", - "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", - "dev": true - }, "stream-http": { "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", @@ -5421,15 +6794,24 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "string_decoder": { @@ -5450,21 +6832,56 @@ "ansi-regex": "^2.0.0" } }, - "strip-bom": { + "strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", - "dev": true - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -5474,14 +6891,25 @@ "has-flag": "^3.0.0" } }, - "sver-compat": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", - "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "dev": true, "requires": { - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" } }, "tapable": { @@ -5490,6 +6918,40 @@ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, + "tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "terser": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", @@ -5518,12 +6980,6 @@ "worker-farm": "^1.7.0" } }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -5534,22 +6990,6 @@ "xtend": "~4.0.1" } }, - "through2-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", - "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", - "dev": true, - "requires": { - "through2": "~2.0.0", - "xtend": "~4.0.0" - } - }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true - }, "timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", @@ -5559,25 +6999,11 @@ "setimmediate": "^1.0.4" } }, - "timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", - "dev": true, - "requires": { - "es5-ext": "~0.10.46", - "next-tick": "1" - } - }, - "to-absolute-glob": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", - "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "is-negated-glob": "^1.0.0" - } + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true }, "to-arraybuffer": { "version": "1.0.1", @@ -5622,25 +7048,11 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "optional": true, "requires": { "is-number": "^7.0.0" } }, - "to-through": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", - "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", - "dev": true, - "requires": { - "through2": "^2.0.3" - } - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -5653,48 +7065,24 @@ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true - }, - "undertaker": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", - "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "requires": { - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "bach": "^1.0.0", - "collection-map": "^1.0.0", - "es6-weak-map": "^2.0.1", - "fast-levenshtein": "^1.0.0", - "last-run": "^1.1.0", - "object.defaults": "^1.0.0", - "object.reduce": "^1.0.0", - "undertaker-registry": "^1.0.0" + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" } }, - "undertaker-registry": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", - "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", - "dev": true - }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -5707,6 +7095,18 @@ "set-value": "^2.0.1" } }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, "unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", @@ -5725,15 +7125,11 @@ "imurmurhash": "^0.1.4" } }, - "unique-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", - "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", - "dev": true, - "requires": { - "json-stable-stringify-without-jsonify": "^1.0.1", - "through2-filter": "^3.0.0" - } + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true }, "unquoted-property-validator": { "version": "1.1.0", @@ -5785,13 +7181,13 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "dev": true, + "optional": true }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -5849,29 +7245,40 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", "dev": true, "requires": { - "homedir-polyfill": "^1.0.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true }, - "value-or-function": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", - "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", "dev": true }, "vinyl": { @@ -5888,57 +7295,6 @@ "replace-ext": "^1.0.0" } }, - "vinyl-fs": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", - "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", - "dev": true, - "requires": { - "fs-mkdirp-stream": "^1.0.0", - "glob-stream": "^6.1.0", - "graceful-fs": "^4.0.0", - "is-valid-glob": "^1.0.0", - "lazystream": "^1.0.0", - "lead": "^1.0.0", - "object.assign": "^4.0.4", - "pumpify": "^1.3.5", - "readable-stream": "^2.3.3", - "remove-bom-buffer": "^3.0.0", - "remove-bom-stream": "^1.2.0", - "resolve-options": "^1.1.0", - "through2": "^2.0.0", - "to-through": "^2.0.0", - "value-or-function": "^3.0.0", - "vinyl": "^2.0.0", - "vinyl-sourcemap": "^1.1.0" - } - }, - "vinyl-sourcemap": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", - "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", - "dev": true, - "requires": { - "append-buffer": "^1.0.2", - "convert-source-map": "^1.5.0", - "graceful-fs": "^4.1.6", - "normalize-path": "^2.1.1", - "now-and-later": "^2.0.0", - "remove-bom-buffer": "^3.0.0", - "vinyl": "^2.0.0" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, "vinyl-sourcemaps-apply": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", @@ -6200,6 +7556,56 @@ } } }, + "webpack-cli": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz", + "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.0.2", + "@webpack-cli/info": "^1.2.3", + "@webpack-cli/serve": "^1.3.1", + "colorette": "^1.2.1", + "commander": "^7.0.0", + "enquirer": "^2.3.6", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, "webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", @@ -6210,525 +7616,32 @@ "source-map": "~0.6.1" } }, - "webpack-stream": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/webpack-stream/-/webpack-stream-6.1.2.tgz", - "integrity": "sha512-Bpbsrix1cmWRN705JEg69ErgNAEOpQBvtuWKFW3ZCrLddoPPK6oVpQn4svxNdfedqMLlWA3GLOLvw4c7u63GqA==", - "dev": true, - "requires": { - "fancy-log": "^1.3.3", - "lodash.clone": "^4.3.2", - "lodash.some": "^4.2.2", - "memory-fs": "^0.5.0", - "plugin-error": "^1.0.1", - "supports-color": "^7.2.0", - "through": "^2.3.8", - "vinyl": "^2.1.0", - "webpack": "^4.26.1" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - } - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, "worker-farm": { @@ -6740,16 +7653,6 @@ "errno": "~0.1.7" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -6761,48 +7664,17 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "yargs": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz", - "integrity": "sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "5.0.0-security.0" - } - }, - "yargs-parser": { - "version": "5.0.0-security.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz", - "integrity": "sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "object.assign": "^4.1.0" - } + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/guacamole/src/main/frontend/package.json b/guacamole/src/main/frontend/package.json index 98d6f2c43..50a316b8e 100644 --- a/guacamole/src/main/frontend/package.json +++ b/guacamole/src/main/frontend/package.json @@ -1,12 +1,13 @@ { "private": true, "scripts": { - "build": "gulp" + "build": "webpack --progress" }, "dependencies": { "@simonwep/pickr": "1.2.6", "angular": "1.6.9", "angular-route": "1.6.9", + "angular-templatecache-webpack-plugin": "^1.0.1", "angular-touch": "1.6.9", "angular-translate": "2.16.0", "angular-translate-interpolation-messageformat": "2.16.0", @@ -20,17 +21,16 @@ "messageformat": "1.0.2" }, "devDependencies": { + "clean-webpack-plugin": "^3.0.0", "closure-webpack-plugin": "^2.5.0", - "del": "^6.0.0", + "copy-webpack-plugin": "^5.1.2", + "css-loader": "^5.2.0", + "css-minimizer-webpack-plugin": "^1.3.0", + "exports-loader": "^1.1.1", "google-closure-compiler": "^20210302.0.0", - "gulp": "^4.0.2", - "gulp-angular-filesort": "^1.2.1", - "gulp-clean-css": "^4.3.0", - "gulp-concat": "^2.6.1", - "gulp-ng-html2js": "^0.2.3", - "gulp-sourcemaps": "^3.0.0", - "source-map-loader": "^1.1.3", + "html-webpack-plugin": "^4.5.2", + "mini-css-extract-plugin": "^1.4.0", "webpack": "^4.46.0", - "webpack-stream": "^6.1.2" + "webpack-cli": "^4.6.0" } } diff --git a/guacamole/src/main/frontend/src/angular-module-shim.js b/guacamole/src/main/frontend/src/angular-module-shim.js new file mode 100644 index 000000000..3e6e6d315 --- /dev/null +++ b/guacamole/src/main/frontend/src/angular-module-shim.js @@ -0,0 +1,56 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2014 Jed Richards + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +(function(angular) { + + 'use strict'; + + if ( !angular ) { + throw new Error('angular-module-shim: Missing Angular'); + } + + var origFn = angular.module; + var hash = {}; + + angular.module = function(name,requires,configFn) { + + var requires = requires || []; + var registered = hash[name]; + var module; + + if ( registered ) { + module = origFn(name); + module.requires.push.apply(module.requires,requires); + // Register the config function if it exists. + if (configFn) { + module.config(configFn); + } + } else { + hash[name] = true; + module = origFn(name,requires,configFn); + } + + return module; + }; +})(window.angular); diff --git a/guacamole/src/main/frontend/src/app/form/services/colorPickerService.js b/guacamole/src/main/frontend/src/app/form/services/colorPickerService.js index cb9e63f81..c448866c8 100644 --- a/guacamole/src/main/frontend/src/app/form/services/colorPickerService.js +++ b/guacamole/src/main/frontend/src/app/form/services/colorPickerService.js @@ -17,6 +17,8 @@ * under the License. */ +import '@simonwep/pickr/dist/themes/monolith.min.css' + /** * A service for prompting the user to choose a color using the "Pickr" color * picker. As the Pickr color picker might not be available if the JavaScript diff --git a/guacamole/src/main/frontend/src/app/index/indexModule.js b/guacamole/src/main/frontend/src/app/index/indexModule.js index 22ab84f96..2b74ecd06 100644 --- a/guacamole/src/main/frontend/src/app/index/indexModule.js +++ b/guacamole/src/main/frontend/src/app/index/indexModule.js @@ -17,10 +17,21 @@ * under the License. */ +require('angular-module-shim.js'); +require('relocateParameters.js'); + +require('angular-translate-interpolation-messageformat'); +require('angular-translate-loader-static-files'); + /** * The module for the root of the application. */ angular.module('index', [ + + require('angular-route'), + require('angular-touch'), + require('angular-translate'), + 'auth', 'client', 'clipboard', @@ -28,11 +39,16 @@ angular.module('index', [ 'login', 'manage', 'navigation', - 'ngRoute', - 'ngTouch', 'notification', - 'pascalprecht.translate', 'rest', 'settings', + 'templates-main' + ]); + +// Recursively pull in all other JavaScript and CSS files as requirements (just +// like old minify-maven-plugin build) +const context = require.context('../', true, /.*\.(css|js)$/); +context.keys().forEach(key => context(key)); + diff --git a/guacamole/src/main/frontend/src/app/navigation/types/ClientIdentifier.js b/guacamole/src/main/frontend/src/app/navigation/types/ClientIdentifier.js index 3f6892405..bb16a823c 100644 --- a/guacamole/src/main/frontend/src/app/navigation/types/ClientIdentifier.js +++ b/guacamole/src/main/frontend/src/app/navigation/types/ClientIdentifier.js @@ -20,7 +20,7 @@ /** * Provides the ClientIdentifier class definition. */ -angular.module('client').factory('ClientIdentifier', ['$injector', +angular.module('navigation').factory('ClientIdentifier', ['$injector', function defineClientIdentifier($injector) { // Required services diff --git a/guacamole/src/main/frontend/src/index.html b/guacamole/src/main/frontend/src/index.html index 291e0d4cf..78c5607fc 100644 --- a/guacamole/src/main/frontend/src/index.html +++ b/guacamole/src/main/frontend/src/index.html @@ -27,8 +27,15 @@ - + + + <% for (var index in htmlWebpackPlugin.files.css) { %> + + <% } %> + + + @@ -68,11 +75,20 @@ - - + + + + + - - + + <% for (var index in htmlWebpackPlugin.files.js) { %> + + <% } %> + + + diff --git a/guacamole/src/main/frontend/webpack.config.js b/guacamole/src/main/frontend/webpack.config.js index 82703c0e6..b1843b1d3 100644 --- a/guacamole/src/main/frontend/webpack.config.js +++ b/guacamole/src/main/frontend/webpack.config.js @@ -17,54 +17,150 @@ * under the License. */ -const webpack = require('webpack'); +const AngularTemplateCacheWebpackPlugin = require('angular-templatecache-webpack-plugin'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const ClosureWebpackPlugin = require('closure-webpack-plugin'); +const CopyPlugin = require('copy-webpack-plugin'); +const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); +const webpack = require('webpack'); module.exports = { bail: true, mode: 'production', + stats: 'minimal', output: { path: __dirname + '/dist', - filename: 'guacamole.min.js' + filename: 'guacamole.[contenthash].js', }, - // Generate source maps, automatically building off any source maps - // generated by Gulp + // Generate source maps devtool: 'source-map', + + // Entry point for the Guacamole webapp is the "index" AngularJS module + entry: './src/app/index/indexModule.js', + module: { rules: [ + + // Automatically extract imported CSS for later reference within separate CSS file { - test: /\.js$/, - enforce: 'pre', - use: [ 'source-map-loader' ] + test: /\.css$/i, + use: [ + MiniCssExtractPlugin.loader, + { + loader: 'css-loader', + options: { + import: false, + url: false + } + } + ] + }, + + /* + * Necessary to be able to use angular 1 with webpack as explained in https://github.com/webpack/webpack/issues/2049 + */ + { + test: require.resolve('angular'), + loader: 'exports-loader', + options: { + type: 'commonjs', + exports: 'single window.angular' + } } + ] }, + optimization: { + minimizer: [ - // Automatically require used modules + // Minify using Google Closure Compiler + new ClosureWebpackPlugin({ mode: 'STANDARD' }, { + languageIn: 'ECMASCRIPT6', + languageOut: 'ECMASCRIPT5', + compilationLevel: 'SIMPLE' + }), + + new CssMinimizerPlugin() + + ], + splitChunks: { + cacheGroups: { + + // Bundle CSS as one file + styles: { + name: 'styles', + test: /\.css$/, + chunks: 'all', + enforce: true + } + + } + } + }, plugins: [ + + new AngularTemplateCacheWebpackPlugin({ + module: 'templates-main', + root: 'app/', + source: 'src/app/**/*.html', + standalone: true + }), + + // Automatically clean out dist/ directory + new CleanWebpackPlugin(), + + // Copy static files to dist/ + new CopyPlugin([ + { from: 'fonts/**/*' }, + { from: 'images/**/*' }, + { from: 'translations/**/*' } + ], { + context: 'src/' + }), + + // Copy core libraries for global inclusion + new CopyPlugin([ + { from: 'angular/angular.min.js' }, + { from: 'jquery/dist/jquery.min.js' }, + { from: 'lodash/lodash.min.js' } + ], { + context: 'node_modules/' + }), + + // Generate index.html from template + new HtmlWebpackPlugin({ + inject: false, + template: 'src/index.html' + }), + + // Extract CSS from Webpack bundle as separate file + new MiniCssExtractPlugin({ + filename: 'guacamole.[contenthash].css', + chunkFilename: '[id].guacamole.[contenthash].css' + }), + + // Automatically require used modules new webpack.ProvidePlugin({ - $: 'jquery', - _: 'lodash', - angular: 'angular', jstz: 'jstz', Pickr: '@simonwep/pickr', saveAs: 'file-saver' }) - ], - // Minify using Google Closure Compiler - optimization: { - minimizer: [ - new ClosureWebpackPlugin({ mode: 'STANDARD' }, { - externs: 'externs.js', - languageIn: 'ECMASCRIPT6', - languageOut: 'ECMASCRIPT5', - compilationLevel: 'ADVANCED' - }) + ], + resolve: { + + // Include Node modules and base source tree within search path for + // import/resolve + modules: [ + 'src', + 'node_modules' ] + } }; From 53d3e517cc7cae207bd849dbd98a45464ef13dfc Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 6 Apr 2021 12:06:02 -0700 Subject: [PATCH 03/19] GUACAMOLE-773: Upgrade (temporarily) to angular-translate 2.17.1 to satisfy Closure Compiler. See: https://github.com/angular-translate/angular-translate/commit/fe47ae7 --- guacamole/src/main/frontend/package-lock.json | 22 +++++++++---------- guacamole/src/main/frontend/package.json | 6 ++--- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/guacamole/src/main/frontend/package-lock.json b/guacamole/src/main/frontend/package-lock.json index ed292eda8..847245da4 100644 --- a/guacamole/src/main/frontend/package-lock.json +++ b/guacamole/src/main/frontend/package-lock.json @@ -546,28 +546,28 @@ "integrity": "sha512-/JWk/NZ52pD85A3yvp2EaLfYHXqVaEwV0m78aq74GReokwV/reWv8JjYcmhO0dBQnsRwa7o06gVfMYgrtnBVJA==" }, "angular-translate": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.16.0.tgz", - "integrity": "sha512-kMPOh6lQMF/dji0iq+G/hM8HodxfHV/1VqnvaoklMZXHQOdBP1ucGDuWrWIte/dZ/tbW7MbnE1vOmZY152nwVw==", + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.17.1.tgz", + "integrity": "sha512-DaX1pRHhnp2ZUuU2FCQhzwNXb3oKaz4vvFTgS+CBbQFqVrL86bfyeQEnb7Kza+ncMipf5pCYzTXkCR2UX7/cqQ==", "requires": { "angular": ">=1.2.26 <=1.6" } }, "angular-translate-interpolation-messageformat": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/angular-translate-interpolation-messageformat/-/angular-translate-interpolation-messageformat-2.16.0.tgz", - "integrity": "sha512-DDgPHYXmys9i6Cq8IslSIIWf8MAxw25KAZS2ZQsWQ1sZ/4uA6Mywbk7WAj1Ssil/hVL71o6CpicFvxE27Zr5+g==", + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/angular-translate-interpolation-messageformat/-/angular-translate-interpolation-messageformat-2.17.1.tgz", + "integrity": "sha512-XvGWGPb/bIYeySDNqoGQElk2xwvlDVRAsLCBSO/jtUDLuFA4U9M0NgW4rLdft3yPKVZfv2WM5BfyBwTWFFsEfw==", "requires": { - "angular-translate": "~2.16.0", + "angular-translate": "~2.17.1", "messageformat": "~1.0.2" } }, "angular-translate-loader-static-files": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/angular-translate-loader-static-files/-/angular-translate-loader-static-files-2.16.0.tgz", - "integrity": "sha512-ZfBfeNJvAU52NZVVVyVCYyOL2V1J027/3U+zlmchA1h3DLn3jewg/x5CiJcT40fZjRTtq2il0IjoK+XKqdhY9g==", + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/angular-translate-loader-static-files/-/angular-translate-loader-static-files-2.17.1.tgz", + "integrity": "sha512-mkYQeVPgK4H6X5cNin9KURuTblnNDQuvXbNroawD+1c3Zbwh0gBZGfxoHMGHR60UUDZDybPs1uIb/DdxnBxQhA==", "requires": { - "angular-translate": "~2.16.0" + "angular-translate": "~2.17.1" } }, "ansi-colors": { diff --git a/guacamole/src/main/frontend/package.json b/guacamole/src/main/frontend/package.json index 50a316b8e..84c477d9f 100644 --- a/guacamole/src/main/frontend/package.json +++ b/guacamole/src/main/frontend/package.json @@ -9,9 +9,9 @@ "angular-route": "1.6.9", "angular-templatecache-webpack-plugin": "^1.0.1", "angular-touch": "1.6.9", - "angular-translate": "2.16.0", - "angular-translate-interpolation-messageformat": "2.16.0", - "angular-translate-loader-static-files": "2.16.0", + "angular-translate": "2.17.1", + "angular-translate-interpolation-messageformat": "2.17.1", + "angular-translate-loader-static-files": "2.17.1", "blob-polyfill": "1.0.20150320", "datalist-polyfill": "1.14.0", "file-saver": "1.3.3", From 28cfa2b8b06bf236c180ad27d635fcef669283a8 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 21 Apr 2021 18:52:59 -0700 Subject: [PATCH 04/19] GUACAMOLE-773: Update to latest versions of all JavaScript dependencies. --- guacamole/src/main/frontend/package-lock.json | 169 +++++++++++------- guacamole/src/main/frontend/package.json | 32 ++-- guacamole/src/main/frontend/webpack.config.js | 2 +- 3 files changed, 124 insertions(+), 79 deletions(-) diff --git a/guacamole/src/main/frontend/package-lock.json b/guacamole/src/main/frontend/package-lock.json index 847245da4..a4b5f7fc0 100644 --- a/guacamole/src/main/frontend/package-lock.json +++ b/guacamole/src/main/frontend/package-lock.json @@ -50,9 +50,13 @@ } }, "@simonwep/pickr": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.2.6.tgz", - "integrity": "sha512-a0Q6dgSdlN0VUzvR/9c/XSlskTD83ZV0kBDGqVZLphDUd+QdPhKzuyIVa+JX2UmU98w4wwEaywsDjpy+FW+uoQ==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.8.0.tgz", + "integrity": "sha512-VaSD7TwktOsro5nQ/FjRx5JAJ09k5CNfGRHacgVRxeVPolUQwelz1SjL8HAOKZwTSmcnIObptpHABQS4zgN7sw==", + "requires": { + "core-js": "^3.8.0", + "nanopop": "^2.1.0" + } }, "@types/anymatch": { "version": "1.3.1", @@ -502,14 +506,14 @@ "dev": true }, "angular": { - "version": "1.6.9", - "resolved": "https://registry.npmjs.org/angular/-/angular-1.6.9.tgz", - "integrity": "sha512-6igWH2GIsxV+J38wNWCh8oyjaZsrIPIDO35twloIUyjlF2Yit6UyLAWujHP05ma/LFxTsx4NtYibRoMNBXPR1A==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/angular/-/angular-1.8.2.tgz", + "integrity": "sha512-IauMOej2xEe7/7Ennahkbb5qd/HFADiNuLSESz9Q27inmi32zB0lnAsFeLEWcox3Gd1F6YhNd1CP7/9IukJ0Gw==" }, "angular-route": { - "version": "1.6.9", - "resolved": "https://registry.npmjs.org/angular-route/-/angular-route-1.6.9.tgz", - "integrity": "sha512-giE0PD0T17ZvtJmAB6di27YPPSzYC1kP1BDpM2ZIGZUbs02PvJWRIgYA8z3dy9olzCS35TOwxmE2fJoHWTMm1A==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/angular-route/-/angular-route-1.8.2.tgz", + "integrity": "sha512-49LJYxuaQ/ZDiu9dD2xo1LkazqObkGjw0a7dUF7UKCT8EELgBsMd6QrI6aEVGtI62ppkiFkxqmiV8fcwYdXpug==" }, "angular-templatecache-webpack-plugin": { "version": "1.0.1", @@ -541,33 +545,47 @@ } }, "angular-touch": { - "version": "1.6.9", - "resolved": "https://registry.npmjs.org/angular-touch/-/angular-touch-1.6.9.tgz", - "integrity": "sha512-/JWk/NZ52pD85A3yvp2EaLfYHXqVaEwV0m78aq74GReokwV/reWv8JjYcmhO0dBQnsRwa7o06gVfMYgrtnBVJA==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/angular-touch/-/angular-touch-1.8.2.tgz", + "integrity": "sha512-tGoFNsONm/VHFcBW8gySVZvpCIYAvsAlEuHpJDugGn+3ENLxSDhpZ4ikev4KXfWr8ZNsYGoVSfsvJegkiC+9Ig==" }, "angular-translate": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.17.1.tgz", - "integrity": "sha512-DaX1pRHhnp2ZUuU2FCQhzwNXb3oKaz4vvFTgS+CBbQFqVrL86bfyeQEnb7Kza+ncMipf5pCYzTXkCR2UX7/cqQ==", + "version": "2.18.4", + "resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.18.4.tgz", + "integrity": "sha512-KohNrkH6J9PK+VW0L/nsRTcg5Fw70Ajwwe3Jbfm54Pf9u9Fd+wuingoKv+h45mKf38eT+Ouu51FPua8VmZNoCw==", "requires": { - "angular": ">=1.2.26 <=1.6" + "angular": "^1.8.0" } }, "angular-translate-interpolation-messageformat": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/angular-translate-interpolation-messageformat/-/angular-translate-interpolation-messageformat-2.17.1.tgz", - "integrity": "sha512-XvGWGPb/bIYeySDNqoGQElk2xwvlDVRAsLCBSO/jtUDLuFA4U9M0NgW4rLdft3yPKVZfv2WM5BfyBwTWFFsEfw==", + "version": "2.18.4", + "resolved": "https://registry.npmjs.org/angular-translate-interpolation-messageformat/-/angular-translate-interpolation-messageformat-2.18.4.tgz", + "integrity": "sha512-kU9zOhIbWdiourk558IyBMSMxa6haSdRZ+PBGyQW9YfWYlJoN/jafd7Mrya5N12kUYleLTVD9k8wEhLxLulB1g==", "requires": { - "angular-translate": "~2.17.1", + "angular-translate": "~2.18.4", "messageformat": "~1.0.2" + }, + "dependencies": { + "messageformat": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/messageformat/-/messageformat-1.0.2.tgz", + "integrity": "sha1-kI9GkfKf8o2uNcRUNqJM/5NAI4g=", + "requires": { + "glob": "~7.0.6", + "make-plural": "~3.0.6", + "messageformat-parser": "^1.0.0", + "nopt": "~3.0.6", + "reserved-words": "^0.1.1" + } + } } }, "angular-translate-loader-static-files": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/angular-translate-loader-static-files/-/angular-translate-loader-static-files-2.17.1.tgz", - "integrity": "sha512-mkYQeVPgK4H6X5cNin9KURuTblnNDQuvXbNroawD+1c3Zbwh0gBZGfxoHMGHR60UUDZDybPs1uIb/DdxnBxQhA==", + "version": "2.18.4", + "resolved": "https://registry.npmjs.org/angular-translate-loader-static-files/-/angular-translate-loader-static-files-2.18.4.tgz", + "integrity": "sha512-/UFIuyDLyHUsWS523K1jIW96kOCdEPHUAEFnqcRf0PsXOpp9PR6NH7j5NEV4QImPhdjtvFwHDa2VpBgUDRJcxw==", "requires": { - "angular-translate": "~2.17.1" + "angular-translate": "~2.18.4" } }, "ansi-colors": { @@ -935,9 +953,9 @@ } }, "blob-polyfill": { - "version": "1.0.20150320", - "resolved": "https://registry.npmjs.org/blob-polyfill/-/blob-polyfill-1.0.20150320.tgz", - "integrity": "sha1-A2kt1oIFae8lqHYy+mGclR1XSNo=" + "version": "5.0.20210201", + "resolved": "https://registry.npmjs.org/blob-polyfill/-/blob-polyfill-5.0.20210201.tgz", + "integrity": "sha512-SrH6IG6aXL9pCgSysBCiDpGcAJ1j6/c1qCwR3sTEQJhb+MTk6FITNA6eW6WNYQDNZVi4Z9GjxH5v2MMTv59CrQ==" }, "bluebird": { "version": "3.7.2", @@ -1733,6 +1751,11 @@ } } }, + "core-js": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.2.tgz", + "integrity": "sha512-W+2oVYeNghuBr3yTzZFQ5rfmjZtYB/Ubg87R5YOmlGrIb+Uw9f7qjUbhsj+/EkXhcV7eOD3jiM4+sgraX3FZUw==" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -1865,23 +1888,22 @@ } }, "css-loader": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.0.tgz", - "integrity": "sha512-MfRo2MjEeLXMlUkeUwN71Vx5oc6EJnx5UQ4Yi9iUtYQvrPtwLUucYptz0hc6n++kdNcyF5olYBS4vPjJDAcLkw==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.4.tgz", + "integrity": "sha512-OFYGyINCKkdQsTrSYxzGSFnGS4gNjcXkKkQgWxK138jgnPt+lepxdjSZNc8sHAl5vP3DhsJUxufWIjOwI8PMMw==", "dev": true, "requires": { "camelcase": "^6.2.0", - "cssesc": "^3.0.0", "icss-utils": "^5.1.0", "loader-utils": "^2.0.0", - "postcss": "^8.2.8", + "postcss": "^8.2.10", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", "schema-utils": "^3.0.0", - "semver": "^7.3.4" + "semver": "^7.3.5" }, "dependencies": { "json5": { @@ -2334,9 +2356,9 @@ "dev": true }, "datalist-polyfill": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/datalist-polyfill/-/datalist-polyfill-1.14.0.tgz", - "integrity": "sha512-O4skaiSS0qqBsUlDRE0VzPJI8Fxi5BVdbQCCiMRKeKwtO65CeQM4Dix3bOxvZcmwGaMgFWeCYqEAF7y7+Invmg==" + "version": "1.24.4", + "resolved": "https://registry.npmjs.org/datalist-polyfill/-/datalist-polyfill-1.24.4.tgz", + "integrity": "sha512-KUWCETm2vcqbQQj1VjrOzqHPz4TKVOrcMAsHihxaMQMF8QKYJID9egEX1gVneenB0oqw1fYjqYf+15leyYPM3g==" }, "debug": { "version": "2.6.9", @@ -2947,9 +2969,9 @@ "dev": true }, "file-saver": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.3.tgz", - "integrity": "sha1-zdTETTqiZOrC9o7BZbx5HDSvEjI=" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" }, "file-uri-to-path": { "version": "1.0.0", @@ -3886,9 +3908,9 @@ } }, "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" }, "js-yaml": { "version": "3.14.1", @@ -3926,9 +3948,9 @@ } }, "jstz": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/jstz/-/jstz-1.0.10.tgz", - "integrity": "sha1-z2xYv/FuPvWy1lLPf0ZsrREPut8=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/jstz/-/jstz-2.1.1.tgz", + "integrity": "sha512-8hfl5RD6P7rEeIbzStBz3h4f+BQHfq/ABtoU6gXKQv5OcZhnmrIpG7e1pYaZ8hS9e0mp+bxUj08fnDUbKctYyA==" }, "kind-of": { "version": "6.0.3", @@ -3972,9 +3994,9 @@ } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash._reinterpolate": { "version": "3.0.0", @@ -4103,17 +4125,35 @@ "dev": true }, "messageformat": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/messageformat/-/messageformat-1.0.2.tgz", - "integrity": "sha1-kI9GkfKf8o2uNcRUNqJM/5NAI4g=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/messageformat/-/messageformat-2.3.0.tgz", + "integrity": "sha512-uTzvsv0lTeQxYI2y1NPa1lItL5VRI8Gb93Y2K2ue5gBPyrbJxfDi/EYWxh2PKv5yO42AJeeqblS9MJSh/IEk4w==", "requires": { - "glob": "~7.0.6", - "make-plural": "~3.0.6", - "messageformat-parser": "^1.0.0", - "nopt": "~3.0.6", - "reserved-words": "^0.1.1" + "make-plural": "^4.3.0", + "messageformat-formatters": "^2.0.1", + "messageformat-parser": "^4.1.2" + }, + "dependencies": { + "make-plural": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-4.3.0.tgz", + "integrity": "sha512-xTYd4JVHpSCW+aqDof6w/MebaMVNTVYBZhbB/vi513xXdiPT92JMVCo0Jq8W2UZnzYRFeVbQiQ+I25l13JuKvA==", + "requires": { + "minimist": "^1.2.0" + } + }, + "messageformat-parser": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/messageformat-parser/-/messageformat-parser-4.1.3.tgz", + "integrity": "sha512-2fU3XDCanRqeOCkn7R5zW5VQHWf+T3hH65SzuqRvjatBK7r4uyFa5mEX+k6F9Bd04LVM5G4/BHBTUJsOdW7uyg==" + } } }, + "messageformat-formatters": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/messageformat-formatters/-/messageformat-formatters-2.0.1.tgz", + "integrity": "sha512-E/lQRXhtHwGuiQjI7qxkLp8AHbMD5r2217XNe/SREbBlSawe0lOqsFb7rflZJmlQFSULNLIqlcjjsCPlB3m3Mg==" + }, "messageformat-parser": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/messageformat-parser/-/messageformat-parser-1.1.0.tgz", @@ -4144,9 +4184,9 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.0.tgz", - "integrity": "sha512-DyQr5DhXXARKZoc4kwvCvD95kh69dUupfuKOmBUqZ4kBTmRaRZcU32lYu3cLd6nEGXhQ1l7LzZ3F/CjItaY6VQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.5.0.tgz", + "integrity": "sha512-SIbuLMv6jsk1FnLIU5OUG/+VMGUprEjM1+o2trOAx8i5KOKMrhyezb1dJ4Ugsykb8Jgq8/w5NEopy6escV9G7g==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -4386,6 +4426,11 @@ "to-regex": "^3.0.1" } }, + "nanopop": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.1.0.tgz", + "integrity": "sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw==" + }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -4891,9 +4936,9 @@ "dev": true }, "postcss": { - "version": "8.2.9", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.9.tgz", - "integrity": "sha512-b+TmuIL4jGtCHtoLi+G/PisuIl9avxs8IZMSmlABRwNz5RLUUACrC+ws81dcomz1nRezm5YPdXiMEzBEKgYn+Q==", + "version": "8.2.10", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.10.tgz", + "integrity": "sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==", "dev": true, "requires": { "colorette": "^1.2.2", diff --git a/guacamole/src/main/frontend/package.json b/guacamole/src/main/frontend/package.json index 84c477d9f..44c5c9018 100644 --- a/guacamole/src/main/frontend/package.json +++ b/guacamole/src/main/frontend/package.json @@ -4,32 +4,32 @@ "build": "webpack --progress" }, "dependencies": { - "@simonwep/pickr": "1.2.6", - "angular": "1.6.9", - "angular-route": "1.6.9", + "@simonwep/pickr": "1.8.0", + "angular": "1.8.2", + "angular-route": "1.8.2", "angular-templatecache-webpack-plugin": "^1.0.1", - "angular-touch": "1.6.9", - "angular-translate": "2.17.1", - "angular-translate-interpolation-messageformat": "2.17.1", - "angular-translate-loader-static-files": "2.17.1", - "blob-polyfill": "1.0.20150320", - "datalist-polyfill": "1.14.0", - "file-saver": "1.3.3", - "jquery": "3.3.1", - "jstz": "1.0.10", - "lodash": "4.17.10", - "messageformat": "1.0.2" + "angular-touch": "1.8.2", + "angular-translate": "2.18.4", + "angular-translate-interpolation-messageformat": "2.18.4", + "angular-translate-loader-static-files": "2.18.4", + "blob-polyfill": "5.0.20210201", + "datalist-polyfill": "1.24.4", + "file-saver": "2.0.5", + "jquery": "3.6.0", + "jstz": "2.1.1", + "lodash": "4.17.21", + "messageformat": "2.3.0" }, "devDependencies": { "clean-webpack-plugin": "^3.0.0", "closure-webpack-plugin": "^2.5.0", "copy-webpack-plugin": "^5.1.2", - "css-loader": "^5.2.0", + "css-loader": "^5.2.4", "css-minimizer-webpack-plugin": "^1.3.0", "exports-loader": "^1.1.1", "google-closure-compiler": "^20210302.0.0", "html-webpack-plugin": "^4.5.2", - "mini-css-extract-plugin": "^1.4.0", + "mini-css-extract-plugin": "^1.5.0", "webpack": "^4.46.0", "webpack-cli": "^4.6.0" } diff --git a/guacamole/src/main/frontend/webpack.config.js b/guacamole/src/main/frontend/webpack.config.js index b1843b1d3..bcace2ddc 100644 --- a/guacamole/src/main/frontend/webpack.config.js +++ b/guacamole/src/main/frontend/webpack.config.js @@ -80,7 +80,7 @@ module.exports = { // Minify using Google Closure Compiler new ClosureWebpackPlugin({ mode: 'STANDARD' }, { - languageIn: 'ECMASCRIPT6', + languageIn: 'ECMASCRIPT_2020', languageOut: 'ECMASCRIPT5', compilationLevel: 'SIMPLE' }), From 9131fdbbfbb9138387f9be7c8058ae680df34350 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 22 Apr 2021 02:40:09 -0700 Subject: [PATCH 05/19] GUACAMOLE-773: Automatically generate dependencies for NPM modules. --- guacamole/src/main/frontend/package-lock.json | 6 + guacamole/src/main/frontend/package.json | 1 + .../plugins/dependency-list-plugin.js | 146 ++++++++++++++++++ guacamole/src/main/frontend/webpack.config.js | 5 + 4 files changed, 158 insertions(+) create mode 100644 guacamole/src/main/frontend/plugins/dependency-list-plugin.js diff --git a/guacamole/src/main/frontend/package-lock.json b/guacamole/src/main/frontend/package-lock.json index a4b5f7fc0..a9d306d4d 100644 --- a/guacamole/src/main/frontend/package-lock.json +++ b/guacamole/src/main/frontend/package-lock.json @@ -3001,6 +3001,12 @@ "pkg-dir": "^3.0.0" } }, + "find-package-json": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-package-json/-/find-package-json-1.2.0.tgz", + "integrity": "sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw==", + "dev": true + }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", diff --git a/guacamole/src/main/frontend/package.json b/guacamole/src/main/frontend/package.json index 44c5c9018..8a6034ce5 100644 --- a/guacamole/src/main/frontend/package.json +++ b/guacamole/src/main/frontend/package.json @@ -27,6 +27,7 @@ "css-loader": "^5.2.4", "css-minimizer-webpack-plugin": "^1.3.0", "exports-loader": "^1.1.1", + "find-package-json": "^1.2.0", "google-closure-compiler": "^20210302.0.0", "html-webpack-plugin": "^4.5.2", "mini-css-extract-plugin": "^1.5.0", diff --git a/guacamole/src/main/frontend/plugins/dependency-list-plugin.js b/guacamole/src/main/frontend/plugins/dependency-list-plugin.js new file mode 100644 index 000000000..3fd62caaf --- /dev/null +++ b/guacamole/src/main/frontend/plugins/dependency-list-plugin.js @@ -0,0 +1,146 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const finder = require('find-package-json'); +const fs = require('fs'); +const path = require('path'); +const validateOptions = require('schema-utils'); + +/** + * The name of this plugin. + * + * @type {string} + */ +const PLUGIN_NAME = 'dependency-list-plugin'; + +/** + * The schema of the configuration options object accepted by the constructor + * of DependencyListPlugin. + * + * @see https://github.com/webpack/schema-utils/blob/v1.0.0/README.md#usage + */ +const PLUGIN_OPTIONS_SCHEMA = { + type: 'object', + properties: { + + /** + * The name of the file that should contain the dependency list. By + * default, this will be "npm-dependencies.txt". + */ + filename: { type: 'string' }, + + /** + * The path in which the dependency list file should be saved. By + * default, this will be the output path of the Webpack compiler. + */ + path: { type: 'string' } + + }, + additionalProperties: false +}; + +/** + * Webpack plugin that automatically lists each of the NPM dependencies + * included within any bundles produced by the compile process. + */ +class DependencyListPlugin { + + /** + * Creates a new DependencyListPlugin configured with the given options. + * The options given must conform to the options schema. + * + * @see PLUGIN_OPTIONS_SCHEMA + * + * @param {*} options + * The configuration options to apply to the plugin. + */ + constructor(options = {}) { + validateOptions(PLUGIN_OPTIONS_SCHEMA, options, 'DependencyListPlugin'); + this.options = options; + } + + /** + * Entrypoint for all Webpack plugins. This function will be invoked when + * the plugin is being associated with the compile process. + * + * @param {Compiler} compiler + * A reference to the Webpack compiler. + */ + apply(compiler) { + + /** + * Logger for this plugin. + * + * @type {Logger} + */ + const logger = compiler.getInfrastructureLogger(PLUGIN_NAME); + + /** + * The full path to the output file that should contain the list of + * discovered NPM module dependencies. + * + * @type {string} + */ + const outputFile = path.join( + this.options.path || compiler.options.output.path, + this.options.filename || 'npm-dependencies.txt' + ); + + // Wait for compilation to fully complete + compiler.hooks.done.tap(PLUGIN_NAME, (stats) => { + + const moduleCoords = {}; + + // Map each file used within any bundle built by the compiler to + // its corresponding NPM package, ignoring files that have no such + // package + stats.compilation.fileDependencies.forEach(file => { + + // Locate NPM package corresponding to file dependency (there + // may not be one) + const moduleFinder = finder(file); + const npmPackage = moduleFinder.next().value; + + // Translate absolute path into more readable path relative to + // root of compilation process + const relativePath = path.relative(compiler.options.context, file); + + if (npmPackage.name) { + moduleCoords[npmPackage.name + ':' + npmPackage.version] = true; + logger.info('File dependency "%s" mapped to NPM package "%s" (v%s)', + relativePath, npmPackage.name, npmPackage.version); + } + else + logger.info('Skipping file dependency "%s" (no NPM package)', + relativePath); + + }); + + // Write all discovered NPM packages to configured output file + const sortedCoords = Object.keys(moduleCoords).sort(); + fs.writeFileSync(outputFile, sortedCoords.join('\n') + '\n'); + + }); + + } + +} + +module.exports = DependencyListPlugin; + diff --git a/guacamole/src/main/frontend/webpack.config.js b/guacamole/src/main/frontend/webpack.config.js index bcace2ddc..7496d5b77 100644 --- a/guacamole/src/main/frontend/webpack.config.js +++ b/guacamole/src/main/frontend/webpack.config.js @@ -22,6 +22,7 @@ const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const ClosureWebpackPlugin = require('closure-webpack-plugin'); const CopyPlugin = require('copy-webpack-plugin'); const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); +const DependencyListPlugin = require('./plugins/dependency-list-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const webpack = require('webpack'); @@ -144,6 +145,10 @@ module.exports = { chunkFilename: '[id].guacamole.[contenthash].css' }), + // List all bundled node modules for sake of automatic LICENSE file + // generation / sanity checks + new DependencyListPlugin(), + // Automatically require used modules new webpack.ProvidePlugin({ jstz: 'jstz', From e119ba459b36be475a7f064a066777842996ed1a Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 22 Apr 2021 14:37:41 -0700 Subject: [PATCH 06/19] GUACAMOLE-773: Allow automatic license generation to consider multiple dependency lists, not necessarily from Maven. --- ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 doc/licenses/generate-license-files.sh | 58 ++++++++++--------- ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 ...en-coordinates.txt => dep-coordinates.txt} | 0 pom.xml | 12 ++-- 72 files changed, 39 insertions(+), 31 deletions(-) rename doc/licenses/angular-1.6.9/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/angular-translate-2.16.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/antlr-2.7.7/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/aopalliance-1.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-beanutils-1.7.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-chain-1.2/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-codec-1.14/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-codec-1.15/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-collections-3.2/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-collections-4.4/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-configuration-1.5/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-digester-1.8/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-lang-2.3/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-lang-3.11/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-lang-3.9/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-logging-1.1.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-pool-1.5.4/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-commons-pool-2.8.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-mina-2.1.3/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/apache-santuario-2.2.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/blob-polyfill-1.0.20150320/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/bouncycastle-1.44/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/bouncycastle-1.66/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/cas-client-3.6.2/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/checker-qual-3.8.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/datalist-polyfill-1.14.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/directory-api-2.0.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/dom4j-2.1.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/ehcache-2.4.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/error-prone-2.5.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/filesaver-1.3.3/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/findbugs-jsr305-3.0.2/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/glassfish-hk2-2.6.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/guava-30.1.1-jre/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/guice-5.0.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/j2objc-annotations-1.3/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jackson-2.12.2/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jai-imageio-core-1.4.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jakarta-activation-1.2.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jakarta-annotation-api-1.3.5/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jakarta-jaxb-2.3.2/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jakarta-validation-api-2.0.2/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jakarta-ws-rs-api-2.1.6/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/java-saml-2.6.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/javassist-3.25.0-ga/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/javax.inject-1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jcommander-1.78/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jersey-2.34/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/joda-time-2.10.6/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jose4j-0.7.6/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jquery-3.3.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jradius-1.1.5/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jsr250-api-1.0/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/jstz-1.0.10/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/lodash-4.17.10/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/logback-1.2.3/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/messageformat-1.0.2/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/mybatis-3.5.6/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/mybatis-guice-3.10/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/osgi-resource-locator-1.0.3/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/pickr-1.2.6/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/slf4j-api-1.7.30/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/spring-framework-3.0.5/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/spring-framework-5.2.13/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/spring-security-5.4.5/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/webjars-servlet-2.x-1.5/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/woodstox-core-5.2.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/woodstox-stax2-api-4.2/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/xpp3-1.1.4c/{maven-coordinates.txt => dep-coordinates.txt} (100%) rename doc/licenses/zxing-3.4.1/{maven-coordinates.txt => dep-coordinates.txt} (100%) diff --git a/doc/licenses/angular-1.6.9/maven-coordinates.txt b/doc/licenses/angular-1.6.9/dep-coordinates.txt similarity index 100% rename from doc/licenses/angular-1.6.9/maven-coordinates.txt rename to doc/licenses/angular-1.6.9/dep-coordinates.txt diff --git a/doc/licenses/angular-translate-2.16.0/maven-coordinates.txt b/doc/licenses/angular-translate-2.16.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/angular-translate-2.16.0/maven-coordinates.txt rename to doc/licenses/angular-translate-2.16.0/dep-coordinates.txt diff --git a/doc/licenses/antlr-2.7.7/maven-coordinates.txt b/doc/licenses/antlr-2.7.7/dep-coordinates.txt similarity index 100% rename from doc/licenses/antlr-2.7.7/maven-coordinates.txt rename to doc/licenses/antlr-2.7.7/dep-coordinates.txt diff --git a/doc/licenses/aopalliance-1.0/maven-coordinates.txt b/doc/licenses/aopalliance-1.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/aopalliance-1.0/maven-coordinates.txt rename to doc/licenses/aopalliance-1.0/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-beanutils-1.7.0/maven-coordinates.txt b/doc/licenses/apache-commons-beanutils-1.7.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-beanutils-1.7.0/maven-coordinates.txt rename to doc/licenses/apache-commons-beanutils-1.7.0/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-chain-1.2/maven-coordinates.txt b/doc/licenses/apache-commons-chain-1.2/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-chain-1.2/maven-coordinates.txt rename to doc/licenses/apache-commons-chain-1.2/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-codec-1.14/maven-coordinates.txt b/doc/licenses/apache-commons-codec-1.14/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-codec-1.14/maven-coordinates.txt rename to doc/licenses/apache-commons-codec-1.14/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-codec-1.15/maven-coordinates.txt b/doc/licenses/apache-commons-codec-1.15/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-codec-1.15/maven-coordinates.txt rename to doc/licenses/apache-commons-codec-1.15/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-collections-3.2/maven-coordinates.txt b/doc/licenses/apache-commons-collections-3.2/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-collections-3.2/maven-coordinates.txt rename to doc/licenses/apache-commons-collections-3.2/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-collections-4.4/maven-coordinates.txt b/doc/licenses/apache-commons-collections-4.4/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-collections-4.4/maven-coordinates.txt rename to doc/licenses/apache-commons-collections-4.4/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-configuration-1.5/maven-coordinates.txt b/doc/licenses/apache-commons-configuration-1.5/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-configuration-1.5/maven-coordinates.txt rename to doc/licenses/apache-commons-configuration-1.5/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-digester-1.8/maven-coordinates.txt b/doc/licenses/apache-commons-digester-1.8/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-digester-1.8/maven-coordinates.txt rename to doc/licenses/apache-commons-digester-1.8/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-lang-2.3/maven-coordinates.txt b/doc/licenses/apache-commons-lang-2.3/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-lang-2.3/maven-coordinates.txt rename to doc/licenses/apache-commons-lang-2.3/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-lang-3.11/maven-coordinates.txt b/doc/licenses/apache-commons-lang-3.11/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-lang-3.11/maven-coordinates.txt rename to doc/licenses/apache-commons-lang-3.11/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-lang-3.9/maven-coordinates.txt b/doc/licenses/apache-commons-lang-3.9/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-lang-3.9/maven-coordinates.txt rename to doc/licenses/apache-commons-lang-3.9/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-logging-1.1.1/maven-coordinates.txt b/doc/licenses/apache-commons-logging-1.1.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-logging-1.1.1/maven-coordinates.txt rename to doc/licenses/apache-commons-logging-1.1.1/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-pool-1.5.4/maven-coordinates.txt b/doc/licenses/apache-commons-pool-1.5.4/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-pool-1.5.4/maven-coordinates.txt rename to doc/licenses/apache-commons-pool-1.5.4/dep-coordinates.txt diff --git a/doc/licenses/apache-commons-pool-2.8.0/maven-coordinates.txt b/doc/licenses/apache-commons-pool-2.8.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-commons-pool-2.8.0/maven-coordinates.txt rename to doc/licenses/apache-commons-pool-2.8.0/dep-coordinates.txt diff --git a/doc/licenses/apache-mina-2.1.3/maven-coordinates.txt b/doc/licenses/apache-mina-2.1.3/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-mina-2.1.3/maven-coordinates.txt rename to doc/licenses/apache-mina-2.1.3/dep-coordinates.txt diff --git a/doc/licenses/apache-santuario-2.2.0/maven-coordinates.txt b/doc/licenses/apache-santuario-2.2.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/apache-santuario-2.2.0/maven-coordinates.txt rename to doc/licenses/apache-santuario-2.2.0/dep-coordinates.txt diff --git a/doc/licenses/blob-polyfill-1.0.20150320/maven-coordinates.txt b/doc/licenses/blob-polyfill-1.0.20150320/dep-coordinates.txt similarity index 100% rename from doc/licenses/blob-polyfill-1.0.20150320/maven-coordinates.txt rename to doc/licenses/blob-polyfill-1.0.20150320/dep-coordinates.txt diff --git a/doc/licenses/bouncycastle-1.44/maven-coordinates.txt b/doc/licenses/bouncycastle-1.44/dep-coordinates.txt similarity index 100% rename from doc/licenses/bouncycastle-1.44/maven-coordinates.txt rename to doc/licenses/bouncycastle-1.44/dep-coordinates.txt diff --git a/doc/licenses/bouncycastle-1.66/maven-coordinates.txt b/doc/licenses/bouncycastle-1.66/dep-coordinates.txt similarity index 100% rename from doc/licenses/bouncycastle-1.66/maven-coordinates.txt rename to doc/licenses/bouncycastle-1.66/dep-coordinates.txt diff --git a/doc/licenses/cas-client-3.6.2/maven-coordinates.txt b/doc/licenses/cas-client-3.6.2/dep-coordinates.txt similarity index 100% rename from doc/licenses/cas-client-3.6.2/maven-coordinates.txt rename to doc/licenses/cas-client-3.6.2/dep-coordinates.txt diff --git a/doc/licenses/checker-qual-3.8.0/maven-coordinates.txt b/doc/licenses/checker-qual-3.8.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/checker-qual-3.8.0/maven-coordinates.txt rename to doc/licenses/checker-qual-3.8.0/dep-coordinates.txt diff --git a/doc/licenses/datalist-polyfill-1.14.0/maven-coordinates.txt b/doc/licenses/datalist-polyfill-1.14.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/datalist-polyfill-1.14.0/maven-coordinates.txt rename to doc/licenses/datalist-polyfill-1.14.0/dep-coordinates.txt diff --git a/doc/licenses/directory-api-2.0.1/maven-coordinates.txt b/doc/licenses/directory-api-2.0.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/directory-api-2.0.1/maven-coordinates.txt rename to doc/licenses/directory-api-2.0.1/dep-coordinates.txt diff --git a/doc/licenses/dom4j-2.1.1/maven-coordinates.txt b/doc/licenses/dom4j-2.1.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/dom4j-2.1.1/maven-coordinates.txt rename to doc/licenses/dom4j-2.1.1/dep-coordinates.txt diff --git a/doc/licenses/ehcache-2.4.0/maven-coordinates.txt b/doc/licenses/ehcache-2.4.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/ehcache-2.4.0/maven-coordinates.txt rename to doc/licenses/ehcache-2.4.0/dep-coordinates.txt diff --git a/doc/licenses/error-prone-2.5.1/maven-coordinates.txt b/doc/licenses/error-prone-2.5.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/error-prone-2.5.1/maven-coordinates.txt rename to doc/licenses/error-prone-2.5.1/dep-coordinates.txt diff --git a/doc/licenses/filesaver-1.3.3/maven-coordinates.txt b/doc/licenses/filesaver-1.3.3/dep-coordinates.txt similarity index 100% rename from doc/licenses/filesaver-1.3.3/maven-coordinates.txt rename to doc/licenses/filesaver-1.3.3/dep-coordinates.txt diff --git a/doc/licenses/findbugs-jsr305-3.0.2/maven-coordinates.txt b/doc/licenses/findbugs-jsr305-3.0.2/dep-coordinates.txt similarity index 100% rename from doc/licenses/findbugs-jsr305-3.0.2/maven-coordinates.txt rename to doc/licenses/findbugs-jsr305-3.0.2/dep-coordinates.txt diff --git a/doc/licenses/generate-license-files.sh b/doc/licenses/generate-license-files.sh index 6b575af1f..76f8296b5 100755 --- a/doc/licenses/generate-license-files.sh +++ b/doc/licenses/generate-license-files.sh @@ -28,7 +28,7 @@ # generate-license-files.sh # ------------------------- # -# Automatically iterates through the provided runtime dependencies of the Maven +# Automatically iterates through the provided runtime dependencies of the # project in the current directory, creating new LICENSE and NOTICE files which # contain all the license information of bundled dependencies, as well as any # required notices. @@ -40,10 +40,13 @@ # # path/to/generate-license-files.sh DEPENDENCY_LIST OUTPUT_DIRECTORY # -# where DEPENDENCY_LIST is the list of Maven dependencies to consider when -# generating LICENSE and NOTICE (as produced by "mvn dependency:list") and -# OUTPUT_DIRECTORY is the directory in which the LICENSE and NOTICE files -# should be written. +# where DEPENDENCY_LIST is the list of dependencies to consider when generating +# LICENSE and NOTICE (as produced by "mvn dependency:list" or our +# DependencyListPlugin for Webpack) and OUTPUT_DIRECTORY is the directory in +# which the LICENSE and NOTICE files should be written. +# +# If DEPENDENCY_LIST is a directory, all normal files within the directory will +# be concatenated to produce the list. # # Ignoring license errors # ----------------------- @@ -69,22 +72,22 @@ # License information for the bundled runtime dependencies of all subprojects # is included in the subdirectories of the "doc/licenses/" directory of the # main guacamole-client source tree. Each subdirectory is associated with a -# single, logical dependency, with the Maven coordinatees of that dependency -# listed in the "maven-coordinates.txt" file within that subdirectory. There -# may be multiple coordinates associated with a dependency, in which case each +# single, logical dependency, with the coordinates of that dependency listed in +# the "dep-coordinates.txt" file within that subdirectory. There may be +# multiple coordinates associated with a dependency, in which case each # relevant set of coordinates should be listed on its own line. # -# For dependencies that are not associated with Maven coordinates, the licenses -# of those dependencies should instead be documented within subdirectories of -# the "src/licenses/bundled/" directory of the relevant subproject. +# For dependencies that are not associated with coordinates that can be +# automatically deteremined, the licenses of those dependencies should instead +# be documented within subdirectories of the "src/licenses/bundled/" directory +# of the relevant subproject. # # Regardless of whether a dependency is documented within the top-level -# guacamole-client project (Maven dependencies) or within the relevant -# subproject (non-Maven dependencies), the subdirectory for each dependency -# must contain a "README" file describing the dependency, the version used, the -# copyright holder(s), and the license. Examples of the formatting expected for -# these README files can be found within the existing dependency license -# directories. +# guacamole-client project or within the relevant subproject, the subdirectory +# for each dependency must contain a "README" file describing the dependency, +# the version used, the copyright holder(s), and the license. Examples of the +# formatting expected for these README files can be found within the existing +# dependency license directories. # # Files that contain the word "notice", regardless of case, are considered by # this script to be the notice file mentioned within the Apache License, and @@ -141,16 +144,16 @@ OUTPUT_DIR="$2" ## guacamole-client source tree, a error is printed to STDERR. ## ## The license information directories for dependencies that are not pulled in -## by Maven (subdirectories of the "src/licenses/bundled/" directory within the -## current project) will also be included, if any. +## automatically (subdirectories of the "src/licenses/bundled/" directory +## within the current project) will also be included, if any. ## list_dependency_license_info() { # List the license directories of all runtime dependencies, as dictated by - # the "maven-coordinates.txt" files included within those directores - grep -o '[^: ]*:[^: ]*:[^: ]*:[^: ]*' | while read DEPENDENCY; do + # the "dep-coordinates.txt" files included within those directories + sed 's/^[[:space:]]\+//' | grep -o '^[^: ]\+\(:[^: ]*\)\{1,3\}' | while read DEPENDENCY; do - if ! grep -l "$DEPENDENCY[[:space:]]*$" "$LICENSES_DIR"/*/maven-coordinates.txt; then + if ! grep -l "$DEPENDENCY[[:space:]]*$" "$LICENSES_DIR"/*/dep-coordinates.txt; then error "License information missing for $DEPENDENCY" fi @@ -158,7 +161,7 @@ list_dependency_license_info() { dirname "$LICENSE_INFO_COORDS_FILE" done - # Include license directories for all dependencies not pulled in by Maven + # Include license directories for all dependencies not pulled in automatically if [ -d ./src/licenses/bundled/ ]; then find src/licenses/bundled/ -mindepth 1 -maxdepth 1 -type d fi @@ -232,7 +235,7 @@ license_file() { DIR="$1" find "$DIR" -mindepth 1 \ -a \! -iname "*notice*" \ - -a \! -name "maven-coordinates.txt" \ + -a \! -name "dep-coordinates.txt" \ -a \! -name "README" \ | if ! single_result; then error "Multiple license files found within $DIR" @@ -306,7 +309,8 @@ cp "$BASEDIR/NOTICE" "$OUTPUT_DIR/" # PREAMBLE_ADDED=0 -list_dependency_license_info < "$DEPENDENCY_LIST" | sort_dependency_license_info | \ +find "$DEPENDENCY_LIST" -type f -exec cat '{}' + | \ + list_dependency_license_info | sort_dependency_license_info | \ while read LICENSE_INFO_DIR; do # Add subcomponent license preamble if not already added @@ -363,8 +367,8 @@ EOF done # Do not double-bundle the information contained in the README files (it's -# already in LICENSE), nor internal mappings like maven-coordinates.txt -for EXCLUDED_FILE in README maven-coordinates.txt; do +# already in LICENSE), nor internal mappings like dep-coordinates.txt +for EXCLUDED_FILE in README dep-coordinates.txt; do rm -f "$OUTPUT_DIR/bundled"/*/"$EXCLUDED_FILE" done diff --git a/doc/licenses/glassfish-hk2-2.6.1/maven-coordinates.txt b/doc/licenses/glassfish-hk2-2.6.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/glassfish-hk2-2.6.1/maven-coordinates.txt rename to doc/licenses/glassfish-hk2-2.6.1/dep-coordinates.txt diff --git a/doc/licenses/guava-30.1.1-jre/maven-coordinates.txt b/doc/licenses/guava-30.1.1-jre/dep-coordinates.txt similarity index 100% rename from doc/licenses/guava-30.1.1-jre/maven-coordinates.txt rename to doc/licenses/guava-30.1.1-jre/dep-coordinates.txt diff --git a/doc/licenses/guice-5.0.1/maven-coordinates.txt b/doc/licenses/guice-5.0.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/guice-5.0.1/maven-coordinates.txt rename to doc/licenses/guice-5.0.1/dep-coordinates.txt diff --git a/doc/licenses/j2objc-annotations-1.3/maven-coordinates.txt b/doc/licenses/j2objc-annotations-1.3/dep-coordinates.txt similarity index 100% rename from doc/licenses/j2objc-annotations-1.3/maven-coordinates.txt rename to doc/licenses/j2objc-annotations-1.3/dep-coordinates.txt diff --git a/doc/licenses/jackson-2.12.2/maven-coordinates.txt b/doc/licenses/jackson-2.12.2/dep-coordinates.txt similarity index 100% rename from doc/licenses/jackson-2.12.2/maven-coordinates.txt rename to doc/licenses/jackson-2.12.2/dep-coordinates.txt diff --git a/doc/licenses/jai-imageio-core-1.4.0/maven-coordinates.txt b/doc/licenses/jai-imageio-core-1.4.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/jai-imageio-core-1.4.0/maven-coordinates.txt rename to doc/licenses/jai-imageio-core-1.4.0/dep-coordinates.txt diff --git a/doc/licenses/jakarta-activation-1.2.1/maven-coordinates.txt b/doc/licenses/jakarta-activation-1.2.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/jakarta-activation-1.2.1/maven-coordinates.txt rename to doc/licenses/jakarta-activation-1.2.1/dep-coordinates.txt diff --git a/doc/licenses/jakarta-annotation-api-1.3.5/maven-coordinates.txt b/doc/licenses/jakarta-annotation-api-1.3.5/dep-coordinates.txt similarity index 100% rename from doc/licenses/jakarta-annotation-api-1.3.5/maven-coordinates.txt rename to doc/licenses/jakarta-annotation-api-1.3.5/dep-coordinates.txt diff --git a/doc/licenses/jakarta-jaxb-2.3.2/maven-coordinates.txt b/doc/licenses/jakarta-jaxb-2.3.2/dep-coordinates.txt similarity index 100% rename from doc/licenses/jakarta-jaxb-2.3.2/maven-coordinates.txt rename to doc/licenses/jakarta-jaxb-2.3.2/dep-coordinates.txt diff --git a/doc/licenses/jakarta-validation-api-2.0.2/maven-coordinates.txt b/doc/licenses/jakarta-validation-api-2.0.2/dep-coordinates.txt similarity index 100% rename from doc/licenses/jakarta-validation-api-2.0.2/maven-coordinates.txt rename to doc/licenses/jakarta-validation-api-2.0.2/dep-coordinates.txt diff --git a/doc/licenses/jakarta-ws-rs-api-2.1.6/maven-coordinates.txt b/doc/licenses/jakarta-ws-rs-api-2.1.6/dep-coordinates.txt similarity index 100% rename from doc/licenses/jakarta-ws-rs-api-2.1.6/maven-coordinates.txt rename to doc/licenses/jakarta-ws-rs-api-2.1.6/dep-coordinates.txt diff --git a/doc/licenses/java-saml-2.6.0/maven-coordinates.txt b/doc/licenses/java-saml-2.6.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/java-saml-2.6.0/maven-coordinates.txt rename to doc/licenses/java-saml-2.6.0/dep-coordinates.txt diff --git a/doc/licenses/javassist-3.25.0-ga/maven-coordinates.txt b/doc/licenses/javassist-3.25.0-ga/dep-coordinates.txt similarity index 100% rename from doc/licenses/javassist-3.25.0-ga/maven-coordinates.txt rename to doc/licenses/javassist-3.25.0-ga/dep-coordinates.txt diff --git a/doc/licenses/javax.inject-1/maven-coordinates.txt b/doc/licenses/javax.inject-1/dep-coordinates.txt similarity index 100% rename from doc/licenses/javax.inject-1/maven-coordinates.txt rename to doc/licenses/javax.inject-1/dep-coordinates.txt diff --git a/doc/licenses/jcommander-1.78/maven-coordinates.txt b/doc/licenses/jcommander-1.78/dep-coordinates.txt similarity index 100% rename from doc/licenses/jcommander-1.78/maven-coordinates.txt rename to doc/licenses/jcommander-1.78/dep-coordinates.txt diff --git a/doc/licenses/jersey-2.34/maven-coordinates.txt b/doc/licenses/jersey-2.34/dep-coordinates.txt similarity index 100% rename from doc/licenses/jersey-2.34/maven-coordinates.txt rename to doc/licenses/jersey-2.34/dep-coordinates.txt diff --git a/doc/licenses/joda-time-2.10.6/maven-coordinates.txt b/doc/licenses/joda-time-2.10.6/dep-coordinates.txt similarity index 100% rename from doc/licenses/joda-time-2.10.6/maven-coordinates.txt rename to doc/licenses/joda-time-2.10.6/dep-coordinates.txt diff --git a/doc/licenses/jose4j-0.7.6/maven-coordinates.txt b/doc/licenses/jose4j-0.7.6/dep-coordinates.txt similarity index 100% rename from doc/licenses/jose4j-0.7.6/maven-coordinates.txt rename to doc/licenses/jose4j-0.7.6/dep-coordinates.txt diff --git a/doc/licenses/jquery-3.3.1/maven-coordinates.txt b/doc/licenses/jquery-3.3.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/jquery-3.3.1/maven-coordinates.txt rename to doc/licenses/jquery-3.3.1/dep-coordinates.txt diff --git a/doc/licenses/jradius-1.1.5/maven-coordinates.txt b/doc/licenses/jradius-1.1.5/dep-coordinates.txt similarity index 100% rename from doc/licenses/jradius-1.1.5/maven-coordinates.txt rename to doc/licenses/jradius-1.1.5/dep-coordinates.txt diff --git a/doc/licenses/jsr250-api-1.0/maven-coordinates.txt b/doc/licenses/jsr250-api-1.0/dep-coordinates.txt similarity index 100% rename from doc/licenses/jsr250-api-1.0/maven-coordinates.txt rename to doc/licenses/jsr250-api-1.0/dep-coordinates.txt diff --git a/doc/licenses/jstz-1.0.10/maven-coordinates.txt b/doc/licenses/jstz-1.0.10/dep-coordinates.txt similarity index 100% rename from doc/licenses/jstz-1.0.10/maven-coordinates.txt rename to doc/licenses/jstz-1.0.10/dep-coordinates.txt diff --git a/doc/licenses/lodash-4.17.10/maven-coordinates.txt b/doc/licenses/lodash-4.17.10/dep-coordinates.txt similarity index 100% rename from doc/licenses/lodash-4.17.10/maven-coordinates.txt rename to doc/licenses/lodash-4.17.10/dep-coordinates.txt diff --git a/doc/licenses/logback-1.2.3/maven-coordinates.txt b/doc/licenses/logback-1.2.3/dep-coordinates.txt similarity index 100% rename from doc/licenses/logback-1.2.3/maven-coordinates.txt rename to doc/licenses/logback-1.2.3/dep-coordinates.txt diff --git a/doc/licenses/messageformat-1.0.2/maven-coordinates.txt b/doc/licenses/messageformat-1.0.2/dep-coordinates.txt similarity index 100% rename from doc/licenses/messageformat-1.0.2/maven-coordinates.txt rename to doc/licenses/messageformat-1.0.2/dep-coordinates.txt diff --git a/doc/licenses/mybatis-3.5.6/maven-coordinates.txt b/doc/licenses/mybatis-3.5.6/dep-coordinates.txt similarity index 100% rename from doc/licenses/mybatis-3.5.6/maven-coordinates.txt rename to doc/licenses/mybatis-3.5.6/dep-coordinates.txt diff --git a/doc/licenses/mybatis-guice-3.10/maven-coordinates.txt b/doc/licenses/mybatis-guice-3.10/dep-coordinates.txt similarity index 100% rename from doc/licenses/mybatis-guice-3.10/maven-coordinates.txt rename to doc/licenses/mybatis-guice-3.10/dep-coordinates.txt diff --git a/doc/licenses/osgi-resource-locator-1.0.3/maven-coordinates.txt b/doc/licenses/osgi-resource-locator-1.0.3/dep-coordinates.txt similarity index 100% rename from doc/licenses/osgi-resource-locator-1.0.3/maven-coordinates.txt rename to doc/licenses/osgi-resource-locator-1.0.3/dep-coordinates.txt diff --git a/doc/licenses/pickr-1.2.6/maven-coordinates.txt b/doc/licenses/pickr-1.2.6/dep-coordinates.txt similarity index 100% rename from doc/licenses/pickr-1.2.6/maven-coordinates.txt rename to doc/licenses/pickr-1.2.6/dep-coordinates.txt diff --git a/doc/licenses/slf4j-api-1.7.30/maven-coordinates.txt b/doc/licenses/slf4j-api-1.7.30/dep-coordinates.txt similarity index 100% rename from doc/licenses/slf4j-api-1.7.30/maven-coordinates.txt rename to doc/licenses/slf4j-api-1.7.30/dep-coordinates.txt diff --git a/doc/licenses/spring-framework-3.0.5/maven-coordinates.txt b/doc/licenses/spring-framework-3.0.5/dep-coordinates.txt similarity index 100% rename from doc/licenses/spring-framework-3.0.5/maven-coordinates.txt rename to doc/licenses/spring-framework-3.0.5/dep-coordinates.txt diff --git a/doc/licenses/spring-framework-5.2.13/maven-coordinates.txt b/doc/licenses/spring-framework-5.2.13/dep-coordinates.txt similarity index 100% rename from doc/licenses/spring-framework-5.2.13/maven-coordinates.txt rename to doc/licenses/spring-framework-5.2.13/dep-coordinates.txt diff --git a/doc/licenses/spring-security-5.4.5/maven-coordinates.txt b/doc/licenses/spring-security-5.4.5/dep-coordinates.txt similarity index 100% rename from doc/licenses/spring-security-5.4.5/maven-coordinates.txt rename to doc/licenses/spring-security-5.4.5/dep-coordinates.txt diff --git a/doc/licenses/webjars-servlet-2.x-1.5/maven-coordinates.txt b/doc/licenses/webjars-servlet-2.x-1.5/dep-coordinates.txt similarity index 100% rename from doc/licenses/webjars-servlet-2.x-1.5/maven-coordinates.txt rename to doc/licenses/webjars-servlet-2.x-1.5/dep-coordinates.txt diff --git a/doc/licenses/woodstox-core-5.2.1/maven-coordinates.txt b/doc/licenses/woodstox-core-5.2.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/woodstox-core-5.2.1/maven-coordinates.txt rename to doc/licenses/woodstox-core-5.2.1/dep-coordinates.txt diff --git a/doc/licenses/woodstox-stax2-api-4.2/maven-coordinates.txt b/doc/licenses/woodstox-stax2-api-4.2/dep-coordinates.txt similarity index 100% rename from doc/licenses/woodstox-stax2-api-4.2/maven-coordinates.txt rename to doc/licenses/woodstox-stax2-api-4.2/dep-coordinates.txt diff --git a/doc/licenses/xpp3-1.1.4c/maven-coordinates.txt b/doc/licenses/xpp3-1.1.4c/dep-coordinates.txt similarity index 100% rename from doc/licenses/xpp3-1.1.4c/maven-coordinates.txt rename to doc/licenses/xpp3-1.1.4c/dep-coordinates.txt diff --git a/doc/licenses/zxing-3.4.1/maven-coordinates.txt b/doc/licenses/zxing-3.4.1/dep-coordinates.txt similarity index 100% rename from doc/licenses/zxing-3.4.1/maven-coordinates.txt rename to doc/licenses/zxing-3.4.1/dep-coordinates.txt diff --git a/pom.xml b/pom.xml index f2192722c..105ae5b6f 100644 --- a/pom.xml +++ b/pom.xml @@ -46,6 +46,10 @@ 1.2.3 1.7.30 + + ${project.build.directory}/dependencies + + org.apache.maven.plugins maven-dependency-plugin 3.1.2 - list-runtime-dependencies + list-maven-runtime-dependencies generate-resources runtime false org.apache.guacamole - ${project.build.directory}/runtime-dependencies.txt + ${dependency.list.directory}/maven-runtime-dependencies.txt list @@ -205,7 +209,7 @@ ${rootlocation}/doc/licenses/generate-license-files.sh - ${project.build.directory}/runtime-dependencies.txt + ${dependency.list.directory} ${project.build.directory}/licenses From e99e304eede642a7c381f3da24c0b9b3e521e323 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 22 Apr 2021 14:38:33 -0700 Subject: [PATCH 07/19] GUACAMOLE-773: Update to latest version of frontend-maven-plugin (properly deals with STDERR as not necessarily 100% errors). --- guacamole/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guacamole/pom.xml b/guacamole/pom.xml index 5766423e6..ed270dc2e 100644 --- a/guacamole/pom.xml +++ b/guacamole/pom.xml @@ -132,7 +132,7 @@ com.github.eirslett frontend-maven-plugin - 1.6 + 1.11.3 src/main/frontend ${project.build.directory} From 503332270c48d8be72f2055861b9b8eb2d8487cd Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 22 Apr 2021 15:13:20 -0700 Subject: [PATCH 08/19] GUACAMOLE-773: Remove unused messageformat dependency (it's bundled with angular-translate's messageformat support). --- guacamole/src/main/frontend/package-lock.json | 30 ------------------- guacamole/src/main/frontend/package.json | 3 +- 2 files changed, 1 insertion(+), 32 deletions(-) diff --git a/guacamole/src/main/frontend/package-lock.json b/guacamole/src/main/frontend/package-lock.json index a9d306d4d..1626bf91b 100644 --- a/guacamole/src/main/frontend/package-lock.json +++ b/guacamole/src/main/frontend/package-lock.json @@ -4130,36 +4130,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "messageformat": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/messageformat/-/messageformat-2.3.0.tgz", - "integrity": "sha512-uTzvsv0lTeQxYI2y1NPa1lItL5VRI8Gb93Y2K2ue5gBPyrbJxfDi/EYWxh2PKv5yO42AJeeqblS9MJSh/IEk4w==", - "requires": { - "make-plural": "^4.3.0", - "messageformat-formatters": "^2.0.1", - "messageformat-parser": "^4.1.2" - }, - "dependencies": { - "make-plural": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-4.3.0.tgz", - "integrity": "sha512-xTYd4JVHpSCW+aqDof6w/MebaMVNTVYBZhbB/vi513xXdiPT92JMVCo0Jq8W2UZnzYRFeVbQiQ+I25l13JuKvA==", - "requires": { - "minimist": "^1.2.0" - } - }, - "messageformat-parser": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/messageformat-parser/-/messageformat-parser-4.1.3.tgz", - "integrity": "sha512-2fU3XDCanRqeOCkn7R5zW5VQHWf+T3hH65SzuqRvjatBK7r4uyFa5mEX+k6F9Bd04LVM5G4/BHBTUJsOdW7uyg==" - } - } - }, - "messageformat-formatters": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/messageformat-formatters/-/messageformat-formatters-2.0.1.tgz", - "integrity": "sha512-E/lQRXhtHwGuiQjI7qxkLp8AHbMD5r2217XNe/SREbBlSawe0lOqsFb7rflZJmlQFSULNLIqlcjjsCPlB3m3Mg==" - }, "messageformat-parser": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/messageformat-parser/-/messageformat-parser-1.1.0.tgz", diff --git a/guacamole/src/main/frontend/package.json b/guacamole/src/main/frontend/package.json index 8a6034ce5..f5f271f6d 100644 --- a/guacamole/src/main/frontend/package.json +++ b/guacamole/src/main/frontend/package.json @@ -17,8 +17,7 @@ "file-saver": "2.0.5", "jquery": "3.6.0", "jstz": "2.1.1", - "lodash": "4.17.21", - "messageformat": "2.3.0" + "lodash": "4.17.21" }, "devDependencies": { "clean-webpack-plugin": "^3.0.0", From 5340e392c638b9376936d18eb4fe8c77cceec09d Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 22 Apr 2021 15:21:04 -0700 Subject: [PATCH 09/19] GUACAMOLE-773: Update to more recent version of "ssri" as suggested by npm audit. --- guacamole/src/main/frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/guacamole/src/main/frontend/package-lock.json b/guacamole/src/main/frontend/package-lock.json index 1626bf91b..b8680eed2 100644 --- a/guacamole/src/main/frontend/package-lock.json +++ b/guacamole/src/main/frontend/package-lock.json @@ -6741,9 +6741,9 @@ "dev": true }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" From c546545c5e5362a146e5fbbb04cd847664653e5e Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 22 Apr 2021 15:22:08 -0700 Subject: [PATCH 10/19] GUACAMOLE-773: Include NPM dependencies when considering generated LICENSE. --- guacamole/pom.xml | 109 +++++++++++++++++++++++++++++----------------- pom.xml | 5 +++ 2 files changed, 73 insertions(+), 41 deletions(-) diff --git a/guacamole/pom.xml b/guacamole/pom.xml index ed270dc2e..24cc59ed9 100644 --- a/guacamole/pom.xml +++ b/guacamole/pom.xml @@ -60,6 +60,74 @@ + + + com.github.eirslett + frontend-maven-plugin + 1.11.3 + + src/main/frontend + ${project.build.directory} + + + + install-node-and-npm + + install-node-and-npm + + + v14.16.0 + + + + npm-ci + + npm + + + ci + + + + npm-build + generate-resources + + npm + + + run build + + + + + + + + org.apache.maven.plugins + maven-resources-plugin + + + copy-npm-dependency-list + generate-resources + + copy-resources + + + ${dependency.list.directory} + + + src/main/frontend/dist + + npm-dependencies.txt + + + + + + + + org.codehaus.mojo @@ -128,47 +196,6 @@ - - - com.github.eirslett - frontend-maven-plugin - 1.11.3 - - src/main/frontend - ${project.build.directory} - - - - install-node-and-npm - - install-node-and-npm - - - v14.16.0 - - - - npm-ci - - npm - - - ci - - - - npm-build - generate-resources - - npm - - - run build - - - - - diff --git a/pom.xml b/pom.xml index 105ae5b6f..033df7507 100644 --- a/pom.xml +++ b/pom.xml @@ -236,6 +236,11 @@ maven-assembly-plugin 3.3.0 + + org.apache.maven.plugins + maven-resources-plugin + 3.2.0 + org.apache.maven.plugins maven-surefire-plugin From 55872131834aa0141a78e5822c4c43f16791be6a Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 22 Apr 2021 16:01:09 -0700 Subject: [PATCH 11/19] GUACAMOLE-773: Include required polyfills for Blob and datalist. --- guacamole/src/main/frontend/src/index.html | 4 ++++ guacamole/src/main/frontend/webpack.config.js | 2 ++ 2 files changed, 6 insertions(+) diff --git a/guacamole/src/main/frontend/src/index.html b/guacamole/src/main/frontend/src/index.html index 78c5607fc..a92c3eb88 100644 --- a/guacamole/src/main/frontend/src/index.html +++ b/guacamole/src/main/frontend/src/index.html @@ -75,6 +75,10 @@ + + + + diff --git a/guacamole/src/main/frontend/webpack.config.js b/guacamole/src/main/frontend/webpack.config.js index 7496d5b77..61187c25d 100644 --- a/guacamole/src/main/frontend/webpack.config.js +++ b/guacamole/src/main/frontend/webpack.config.js @@ -127,6 +127,8 @@ module.exports = { // Copy core libraries for global inclusion new CopyPlugin([ { from: 'angular/angular.min.js' }, + { from: 'blob-polyfill/Blob.js' }, + { from: 'datalist-polyfill/datalist-polyfill.min.js' }, { from: 'jquery/dist/jquery.min.js' }, { from: 'lodash/lodash.min.js' } ], { From fd6c5c3e919c8108f63477f273121a648c1e1109 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 22 Apr 2021 16:39:37 -0700 Subject: [PATCH 12/19] GUACAMOLE-773: Update license information from Webjar Maven coordinates to NPM module coordinates. --- .../angular-1.6.9/dep-coordinates.txt | 3 --- .../{angular-1.6.9 => angular-1.8.2}/LICENSE | 4 ++-- .../{angular-1.6.9 => angular-1.8.2}/README | 4 ++-- .../angular-1.8.2/dep-coordinates.txt | 3 +++ .../dep-coordinates.txt | 3 --- .../LICENSE | 0 .../README | 4 ++-- .../dep-coordinates.txt | 3 +++ .../dep-coordinates.txt | 1 - .../LICENSE.md | 2 +- .../README | 4 ++-- .../dep-coordinates.txt | 1 + .../dep-coordinates.txt | 1 - .../LICENSE | 0 .../README | 4 ++-- .../dep-coordinates.txt | 1 + .../LICENSE.md | 0 .../README | 4 ++-- .../file-saver-2.0.5/dep-coordinates.txt | 1 + .../filesaver-1.3.3/dep-coordinates.txt | 1 - doc/licenses/jquery-3.3.1/README | 8 ------- doc/licenses/jquery-3.3.1/dep-coordinates.txt | 1 - .../LICENSE.txt | 18 +--------------- doc/licenses/jquery-3.6.0/README | 8 +++++++ doc/licenses/jquery-3.6.0/dep-coordinates.txt | 1 + doc/licenses/jstz-1.0.10/README | 8 ------- doc/licenses/jstz-1.0.10/dep-coordinates.txt | 1 - .../{jstz-1.0.10 => jstz-2.1.1}/LICENSE | 0 doc/licenses/jstz-2.1.1/README | 8 +++++++ doc/licenses/jstz-2.1.1/dep-coordinates.txt | 1 + doc/licenses/lodash-4.17.10/README | 8 ------- .../lodash-4.17.10/dep-coordinates.txt | 1 - .../LICENSE | 2 +- doc/licenses/lodash-4.17.21/README | 8 +++++++ .../lodash-4.17.21/dep-coordinates.txt | 1 + .../messageformat-1.0.2/dep-coordinates.txt | 2 +- doc/licenses/pickr-1.2.6/dep-coordinates.txt | 1 - .../{pickr-1.2.6 => pickr-1.8.0}/LICENSE | 2 +- .../{pickr-1.2.6 => pickr-1.8.0}/README | 4 ++-- doc/licenses/pickr-1.8.0/dep-coordinates.txt | 1 + doc/licenses/webjars-servlet-2.x-1.5/LICENSE | 21 ------------------- doc/licenses/webjars-servlet-2.x-1.5/README | 8 ------- .../dep-coordinates.txt | 1 - 43 files changed, 56 insertions(+), 102 deletions(-) delete mode 100644 doc/licenses/angular-1.6.9/dep-coordinates.txt rename doc/licenses/{angular-1.6.9 => angular-1.8.2}/LICENSE (93%) rename doc/licenses/{angular-1.6.9 => angular-1.8.2}/README (68%) create mode 100644 doc/licenses/angular-1.8.2/dep-coordinates.txt delete mode 100644 doc/licenses/angular-translate-2.16.0/dep-coordinates.txt rename doc/licenses/{angular-translate-2.16.0 => angular-translate-2.18.4}/LICENSE (100%) rename doc/licenses/{angular-translate-2.16.0 => angular-translate-2.18.4}/README (71%) create mode 100644 doc/licenses/angular-translate-2.18.4/dep-coordinates.txt delete mode 100644 doc/licenses/blob-polyfill-1.0.20150320/dep-coordinates.txt rename doc/licenses/{blob-polyfill-1.0.20150320 => blob-polyfill-5.0.20210201}/LICENSE.md (96%) rename doc/licenses/{blob-polyfill-1.0.20150320 => blob-polyfill-5.0.20210201}/README (65%) create mode 100644 doc/licenses/blob-polyfill-5.0.20210201/dep-coordinates.txt delete mode 100644 doc/licenses/datalist-polyfill-1.14.0/dep-coordinates.txt rename doc/licenses/{datalist-polyfill-1.14.0 => datalist-polyfill-1.24.4}/LICENSE (100%) rename doc/licenses/{datalist-polyfill-1.14.0 => datalist-polyfill-1.24.4}/README (73%) create mode 100644 doc/licenses/datalist-polyfill-1.24.4/dep-coordinates.txt rename doc/licenses/{filesaver-1.3.3 => file-saver-2.0.5}/LICENSE.md (100%) rename doc/licenses/{filesaver-1.3.3 => file-saver-2.0.5}/README (72%) create mode 100644 doc/licenses/file-saver-2.0.5/dep-coordinates.txt delete mode 100644 doc/licenses/filesaver-1.3.3/dep-coordinates.txt delete mode 100644 doc/licenses/jquery-3.3.1/README delete mode 100644 doc/licenses/jquery-3.3.1/dep-coordinates.txt rename doc/licenses/{jquery-3.3.1 => jquery-3.6.0}/LICENSE.txt (63%) create mode 100644 doc/licenses/jquery-3.6.0/README create mode 100644 doc/licenses/jquery-3.6.0/dep-coordinates.txt delete mode 100644 doc/licenses/jstz-1.0.10/README delete mode 100644 doc/licenses/jstz-1.0.10/dep-coordinates.txt rename doc/licenses/{jstz-1.0.10 => jstz-2.1.1}/LICENSE (100%) create mode 100644 doc/licenses/jstz-2.1.1/README create mode 100644 doc/licenses/jstz-2.1.1/dep-coordinates.txt delete mode 100644 doc/licenses/lodash-4.17.10/README delete mode 100644 doc/licenses/lodash-4.17.10/dep-coordinates.txt rename doc/licenses/{lodash-4.17.10 => lodash-4.17.21}/LICENSE (96%) create mode 100644 doc/licenses/lodash-4.17.21/README create mode 100644 doc/licenses/lodash-4.17.21/dep-coordinates.txt delete mode 100644 doc/licenses/pickr-1.2.6/dep-coordinates.txt rename doc/licenses/{pickr-1.2.6 => pickr-1.8.0}/LICENSE (96%) rename doc/licenses/{pickr-1.2.6 => pickr-1.8.0}/README (72%) create mode 100644 doc/licenses/pickr-1.8.0/dep-coordinates.txt delete mode 100644 doc/licenses/webjars-servlet-2.x-1.5/LICENSE delete mode 100644 doc/licenses/webjars-servlet-2.x-1.5/README delete mode 100644 doc/licenses/webjars-servlet-2.x-1.5/dep-coordinates.txt diff --git a/doc/licenses/angular-1.6.9/dep-coordinates.txt b/doc/licenses/angular-1.6.9/dep-coordinates.txt deleted file mode 100644 index ac1002422..000000000 --- a/doc/licenses/angular-1.6.9/dep-coordinates.txt +++ /dev/null @@ -1,3 +0,0 @@ -org.webjars.bower:angular-route:jar:1.6.9 -org.webjars.bower:angular-touch:jar:1.6.9 -org.webjars.bower:angular:jar:1.6.9 diff --git a/doc/licenses/angular-1.6.9/LICENSE b/doc/licenses/angular-1.8.2/LICENSE similarity index 93% rename from doc/licenses/angular-1.6.9/LICENSE rename to doc/licenses/angular-1.8.2/LICENSE index 6e46a7034..9a4ce43c3 100644 --- a/doc/licenses/angular-1.6.9/LICENSE +++ b/doc/licenses/angular-1.8.2/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2010-2018 Google, Inc. http://angularjs.org +Copyright (c) 2010-2020 Google LLC. http://angularjs.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file +THE SOFTWARE. diff --git a/doc/licenses/angular-1.6.9/README b/doc/licenses/angular-1.8.2/README similarity index 68% rename from doc/licenses/angular-1.6.9/README rename to doc/licenses/angular-1.8.2/README index ccd0a9120..f25a7ccb6 100644 --- a/doc/licenses/angular-1.6.9/README +++ b/doc/licenses/angular-1.8.2/README @@ -1,8 +1,8 @@ AngularJS (https://angularjs.org/) ---------------------------------- - Version: 1.6.9 + Version: 1.8.2 From: 'Google Inc.' (http://www.google.com/) License(s): - MIT (bundled/angular-1.6.9/LICENSE) + MIT (bundled/angular-1.8.2/LICENSE) diff --git a/doc/licenses/angular-1.8.2/dep-coordinates.txt b/doc/licenses/angular-1.8.2/dep-coordinates.txt new file mode 100644 index 000000000..d6307c825 --- /dev/null +++ b/doc/licenses/angular-1.8.2/dep-coordinates.txt @@ -0,0 +1,3 @@ +angular-route:1.8.2 +angular-touch:1.8.2 +angular:1.8.2 diff --git a/doc/licenses/angular-translate-2.16.0/dep-coordinates.txt b/doc/licenses/angular-translate-2.16.0/dep-coordinates.txt deleted file mode 100644 index 5bd01ed38..000000000 --- a/doc/licenses/angular-translate-2.16.0/dep-coordinates.txt +++ /dev/null @@ -1,3 +0,0 @@ -org.webjars.bower:angular-translate-interpolation-messageformat:jar:2.16.0 -org.webjars.bower:angular-translate-loader-static-files:jar:2.16.0 -org.webjars.bower:angular-translate:jar:2.16.0 diff --git a/doc/licenses/angular-translate-2.16.0/LICENSE b/doc/licenses/angular-translate-2.18.4/LICENSE similarity index 100% rename from doc/licenses/angular-translate-2.16.0/LICENSE rename to doc/licenses/angular-translate-2.18.4/LICENSE diff --git a/doc/licenses/angular-translate-2.16.0/README b/doc/licenses/angular-translate-2.18.4/README similarity index 71% rename from doc/licenses/angular-translate-2.16.0/README rename to doc/licenses/angular-translate-2.18.4/README index 6213c3220..a857ce41d 100644 --- a/doc/licenses/angular-translate-2.16.0/README +++ b/doc/licenses/angular-translate-2.18.4/README @@ -1,8 +1,8 @@ angular-translate (https://angular-translate.github.io/) -------------------------------------------------------- - Version: 2.16.0 + Version: 2.18.4 From: 'Pascal Precht' (https://github.com/PascalPrecht) License(s): - MIT (bundled/angular-translate-2.16.0/LICENSE) + MIT (bundled/angular-translate-2.18.4/LICENSE) diff --git a/doc/licenses/angular-translate-2.18.4/dep-coordinates.txt b/doc/licenses/angular-translate-2.18.4/dep-coordinates.txt new file mode 100644 index 000000000..6c1540765 --- /dev/null +++ b/doc/licenses/angular-translate-2.18.4/dep-coordinates.txt @@ -0,0 +1,3 @@ +angular-translate-interpolation-messageformat:2.18.4 +angular-translate-loader-static-files:2.18.4 +angular-translate:2.18.4 diff --git a/doc/licenses/blob-polyfill-1.0.20150320/dep-coordinates.txt b/doc/licenses/blob-polyfill-1.0.20150320/dep-coordinates.txt deleted file mode 100644 index 8d9f58f5d..000000000 --- a/doc/licenses/blob-polyfill-1.0.20150320/dep-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -org.webjars.bower:blob-polyfill:jar:1.0.20150320 diff --git a/doc/licenses/blob-polyfill-1.0.20150320/LICENSE.md b/doc/licenses/blob-polyfill-5.0.20210201/LICENSE.md similarity index 96% rename from doc/licenses/blob-polyfill-1.0.20150320/LICENSE.md rename to doc/licenses/blob-polyfill-5.0.20210201/LICENSE.md index 11520c90c..daae0b08f 100644 --- a/doc/licenses/blob-polyfill-1.0.20150320/LICENSE.md +++ b/doc/licenses/blob-polyfill-5.0.20210201/LICENSE.md @@ -1,4 +1,4 @@ -Copyright © 2014 [Eli Grey][1]. +Copyright © 2014 [Eli Grey][1]. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation diff --git a/doc/licenses/blob-polyfill-1.0.20150320/README b/doc/licenses/blob-polyfill-5.0.20210201/README similarity index 65% rename from doc/licenses/blob-polyfill-1.0.20150320/README rename to doc/licenses/blob-polyfill-5.0.20210201/README index 20478106f..2de9bcff9 100644 --- a/doc/licenses/blob-polyfill-1.0.20150320/README +++ b/doc/licenses/blob-polyfill-5.0.20210201/README @@ -1,8 +1,8 @@ Blob.js (https://github.com/eligrey/Blob.js/) --------------------------------------------- - Version: 1.0.20150320 + Version: 5.0.20210201 From: 'Eli Grey' (https://github.com/eligrey) License(s): - MIT (bundled/blob-polyfill-1.0.20150320/LICENSE.md) + MIT (bundled/blob-polyfill-5.0.20210201/LICENSE.md) diff --git a/doc/licenses/blob-polyfill-5.0.20210201/dep-coordinates.txt b/doc/licenses/blob-polyfill-5.0.20210201/dep-coordinates.txt new file mode 100644 index 000000000..c6cf52a4f --- /dev/null +++ b/doc/licenses/blob-polyfill-5.0.20210201/dep-coordinates.txt @@ -0,0 +1 @@ +blob-polyfill:5.0.20210201 diff --git a/doc/licenses/datalist-polyfill-1.14.0/dep-coordinates.txt b/doc/licenses/datalist-polyfill-1.14.0/dep-coordinates.txt deleted file mode 100644 index 1a2b7d3f7..000000000 --- a/doc/licenses/datalist-polyfill-1.14.0/dep-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -org.webjars.npm:datalist-polyfill:jar:1.14.0 diff --git a/doc/licenses/datalist-polyfill-1.14.0/LICENSE b/doc/licenses/datalist-polyfill-1.24.4/LICENSE similarity index 100% rename from doc/licenses/datalist-polyfill-1.14.0/LICENSE rename to doc/licenses/datalist-polyfill-1.24.4/LICENSE diff --git a/doc/licenses/datalist-polyfill-1.14.0/README b/doc/licenses/datalist-polyfill-1.24.4/README similarity index 73% rename from doc/licenses/datalist-polyfill-1.14.0/README rename to doc/licenses/datalist-polyfill-1.24.4/README index a9cb7b32c..4d1a9e4f1 100644 --- a/doc/licenses/datalist-polyfill-1.14.0/README +++ b/doc/licenses/datalist-polyfill-1.24.4/README @@ -1,8 +1,8 @@ datalist-polyfill (https://github.com/mfranzke/datalist-polyfill) ----------------------------------------------------------------- - Version: 1.14.0 + Version: 1.24.4 From: 'Maximilian Franzke' (https://github.com/mfranzke) License(s): - MIT (bundled/datalist-polyfill-1.14.0/LICENSE) + MIT (bundled/datalist-polyfill-1.24.4/LICENSE) diff --git a/doc/licenses/datalist-polyfill-1.24.4/dep-coordinates.txt b/doc/licenses/datalist-polyfill-1.24.4/dep-coordinates.txt new file mode 100644 index 000000000..d2c50d3f3 --- /dev/null +++ b/doc/licenses/datalist-polyfill-1.24.4/dep-coordinates.txt @@ -0,0 +1 @@ +datalist-polyfill:1.24.4 diff --git a/doc/licenses/filesaver-1.3.3/LICENSE.md b/doc/licenses/file-saver-2.0.5/LICENSE.md similarity index 100% rename from doc/licenses/filesaver-1.3.3/LICENSE.md rename to doc/licenses/file-saver-2.0.5/LICENSE.md diff --git a/doc/licenses/filesaver-1.3.3/README b/doc/licenses/file-saver-2.0.5/README similarity index 72% rename from doc/licenses/filesaver-1.3.3/README rename to doc/licenses/file-saver-2.0.5/README index 76e45c990..0d933458b 100644 --- a/doc/licenses/filesaver-1.3.3/README +++ b/doc/licenses/file-saver-2.0.5/README @@ -1,8 +1,8 @@ FileSaver.js (https://github.com/eligrey/FileSaver.js) ------------------------------------------------------ - Version: 1.3.3 + Version: 2.0.5 From: 'Eli Grey' (https://github.com/eligrey) License(s): - MIT (bundled/filesaver-1.3.3/LICENSE.md) + MIT (bundled/file-saver-2.0.5/LICENSE.md) diff --git a/doc/licenses/file-saver-2.0.5/dep-coordinates.txt b/doc/licenses/file-saver-2.0.5/dep-coordinates.txt new file mode 100644 index 000000000..c0c2b2fef --- /dev/null +++ b/doc/licenses/file-saver-2.0.5/dep-coordinates.txt @@ -0,0 +1 @@ +file-saver:2.0.5 diff --git a/doc/licenses/filesaver-1.3.3/dep-coordinates.txt b/doc/licenses/filesaver-1.3.3/dep-coordinates.txt deleted file mode 100644 index 3a53a7b5a..000000000 --- a/doc/licenses/filesaver-1.3.3/dep-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -org.webjars.bower:filesaver:jar:1.3.3 diff --git a/doc/licenses/jquery-3.3.1/README b/doc/licenses/jquery-3.3.1/README deleted file mode 100644 index d91447b8c..000000000 --- a/doc/licenses/jquery-3.3.1/README +++ /dev/null @@ -1,8 +0,0 @@ -jQuery (http://jquery.com/) ---------------------------- - - Version: 3.3.1 - From: 'JS Foundation' (https://js.foundation/) - License(s): - MIT (bundled/jquery-3.3.1/LICENSE.txt) - diff --git a/doc/licenses/jquery-3.3.1/dep-coordinates.txt b/doc/licenses/jquery-3.3.1/dep-coordinates.txt deleted file mode 100644 index 45884b750..000000000 --- a/doc/licenses/jquery-3.3.1/dep-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -org.webjars.bower:jquery:jar:3.3.1 diff --git a/doc/licenses/jquery-3.3.1/LICENSE.txt b/doc/licenses/jquery-3.6.0/LICENSE.txt similarity index 63% rename from doc/licenses/jquery-3.3.1/LICENSE.txt rename to doc/licenses/jquery-3.6.0/LICENSE.txt index e4e5e00ef..f642c3f7a 100644 --- a/doc/licenses/jquery-3.3.1/LICENSE.txt +++ b/doc/licenses/jquery-3.6.0/LICENSE.txt @@ -1,13 +1,4 @@ -Copyright JS Foundation and other contributors, https://js.foundation/ - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/jquery/jquery - -The following license applies to all parts of this software except as -documented below: - -==== +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -27,10 +18,3 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -All files located in the node_modules and external directories are -externally maintained libraries used by this software which have their -own licenses; we recommend you read them, as their terms may differ from -the terms above. diff --git a/doc/licenses/jquery-3.6.0/README b/doc/licenses/jquery-3.6.0/README new file mode 100644 index 000000000..b81d19416 --- /dev/null +++ b/doc/licenses/jquery-3.6.0/README @@ -0,0 +1,8 @@ +jQuery (http://jquery.com/) +--------------------------- + + Version: 3.6.0 + From: 'OpenJS Foundation' (https://openjsf.org/) + License(s): + MIT (bundled/jquery-3.6.0/LICENSE.txt) + diff --git a/doc/licenses/jquery-3.6.0/dep-coordinates.txt b/doc/licenses/jquery-3.6.0/dep-coordinates.txt new file mode 100644 index 000000000..a40b3519d --- /dev/null +++ b/doc/licenses/jquery-3.6.0/dep-coordinates.txt @@ -0,0 +1 @@ +jquery:3.6.0 diff --git a/doc/licenses/jstz-1.0.10/README b/doc/licenses/jstz-1.0.10/README deleted file mode 100644 index 2f2866993..000000000 --- a/doc/licenses/jstz-1.0.10/README +++ /dev/null @@ -1,8 +0,0 @@ -JSTZ (https://pellepim.bitbucket.io/jstz/) ------------------------------------------- - - Version: 1.0.10 - From: 'Jon Nylander' (https://pellepim.bitbucket.io/jstz/) - License(s): - MIT (bundled/jstz-1.0.10/LICENSE) - diff --git a/doc/licenses/jstz-1.0.10/dep-coordinates.txt b/doc/licenses/jstz-1.0.10/dep-coordinates.txt deleted file mode 100644 index c502a014d..000000000 --- a/doc/licenses/jstz-1.0.10/dep-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -org.webjars.npm:jstz:jar:1.0.10 diff --git a/doc/licenses/jstz-1.0.10/LICENSE b/doc/licenses/jstz-2.1.1/LICENSE similarity index 100% rename from doc/licenses/jstz-1.0.10/LICENSE rename to doc/licenses/jstz-2.1.1/LICENSE diff --git a/doc/licenses/jstz-2.1.1/README b/doc/licenses/jstz-2.1.1/README new file mode 100644 index 000000000..09acbdec2 --- /dev/null +++ b/doc/licenses/jstz-2.1.1/README @@ -0,0 +1,8 @@ +JSTZ (https://github.com/iansinnott/jstz) +----------------------------------------- + + Version: 2.1.1 + From: 'Jon Nylander' (https://github.com/pellepim) + License(s): + MIT (bundled/jstz-2.1.1/LICENSE) + diff --git a/doc/licenses/jstz-2.1.1/dep-coordinates.txt b/doc/licenses/jstz-2.1.1/dep-coordinates.txt new file mode 100644 index 000000000..27701768c --- /dev/null +++ b/doc/licenses/jstz-2.1.1/dep-coordinates.txt @@ -0,0 +1 @@ +jstz:2.1.1 diff --git a/doc/licenses/lodash-4.17.10/README b/doc/licenses/lodash-4.17.10/README deleted file mode 100644 index b9ea616b8..000000000 --- a/doc/licenses/lodash-4.17.10/README +++ /dev/null @@ -1,8 +0,0 @@ -Lodash (https://lodash.com/) ----------------------------- - - Version: 4.17.10 - From: 'JS Foundation' (https://js.foundation/) - License(s): - MIT (bundled/lodash-4.17.10/LICENSE) - diff --git a/doc/licenses/lodash-4.17.10/dep-coordinates.txt b/doc/licenses/lodash-4.17.10/dep-coordinates.txt deleted file mode 100644 index 9be7b9743..000000000 --- a/doc/licenses/lodash-4.17.10/dep-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -org.webjars.bower:lodash:jar:4.17.10 diff --git a/doc/licenses/lodash-4.17.10/LICENSE b/doc/licenses/lodash-4.17.21/LICENSE similarity index 96% rename from doc/licenses/lodash-4.17.10/LICENSE rename to doc/licenses/lodash-4.17.21/LICENSE index c6f2f6145..77c42f140 100644 --- a/doc/licenses/lodash-4.17.10/LICENSE +++ b/doc/licenses/lodash-4.17.21/LICENSE @@ -1,4 +1,4 @@ -Copyright JS Foundation and other contributors +Copyright OpenJS Foundation and other contributors Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors diff --git a/doc/licenses/lodash-4.17.21/README b/doc/licenses/lodash-4.17.21/README new file mode 100644 index 000000000..b37772599 --- /dev/null +++ b/doc/licenses/lodash-4.17.21/README @@ -0,0 +1,8 @@ +Lodash (https://lodash.com/) +---------------------------- + + Version: 4.17.21 + From: 'OpenJS Foundation' (https://openjsf.org/) + License(s): + MIT (bundled/lodash-4.17.21/LICENSE) + diff --git a/doc/licenses/lodash-4.17.21/dep-coordinates.txt b/doc/licenses/lodash-4.17.21/dep-coordinates.txt new file mode 100644 index 000000000..4f9188066 --- /dev/null +++ b/doc/licenses/lodash-4.17.21/dep-coordinates.txt @@ -0,0 +1 @@ +lodash:4.17.21 diff --git a/doc/licenses/messageformat-1.0.2/dep-coordinates.txt b/doc/licenses/messageformat-1.0.2/dep-coordinates.txt index 96299c294..09367ea0d 100644 --- a/doc/licenses/messageformat-1.0.2/dep-coordinates.txt +++ b/doc/licenses/messageformat-1.0.2/dep-coordinates.txt @@ -1 +1 @@ -org.webjars.bower:messageformat:jar:1.0.2 +messageformat:1.0.2 diff --git a/doc/licenses/pickr-1.2.6/dep-coordinates.txt b/doc/licenses/pickr-1.2.6/dep-coordinates.txt deleted file mode 100644 index 0afb21001..000000000 --- a/doc/licenses/pickr-1.2.6/dep-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -org.webjars.npm:simonwep__pickr:jar:1.2.6 diff --git a/doc/licenses/pickr-1.2.6/LICENSE b/doc/licenses/pickr-1.8.0/LICENSE similarity index 96% rename from doc/licenses/pickr-1.2.6/LICENSE rename to doc/licenses/pickr-1.8.0/LICENSE index e02b384f9..65008b416 100644 --- a/doc/licenses/pickr-1.2.6/LICENSE +++ b/doc/licenses/pickr-1.8.0/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 Simon Reinisch +Copyright (c) 2018 - 2020 Simon Reinisch Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/doc/licenses/pickr-1.2.6/README b/doc/licenses/pickr-1.8.0/README similarity index 72% rename from doc/licenses/pickr-1.2.6/README rename to doc/licenses/pickr-1.8.0/README index a6491e200..bc5761431 100644 --- a/doc/licenses/pickr-1.2.6/README +++ b/doc/licenses/pickr-1.8.0/README @@ -1,8 +1,8 @@ Pickr (https://simonwep.github.io/pickr/) ----------------------------------------- - Version: 1.2.6 + Version: 1.8.0 From: 'Simon Reinisch' (https://github.com/Simonwep/) License(s): - MIT (bundled/pickr-1.2.6/LICENSE) + MIT (bundled/pickr-1.8.0/LICENSE) diff --git a/doc/licenses/pickr-1.8.0/dep-coordinates.txt b/doc/licenses/pickr-1.8.0/dep-coordinates.txt new file mode 100644 index 000000000..f1783bd69 --- /dev/null +++ b/doc/licenses/pickr-1.8.0/dep-coordinates.txt @@ -0,0 +1 @@ +@simonwep/pickr:1.8.0 diff --git a/doc/licenses/webjars-servlet-2.x-1.5/LICENSE b/doc/licenses/webjars-servlet-2.x-1.5/LICENSE deleted file mode 100644 index 76223f80a..000000000 --- a/doc/licenses/webjars-servlet-2.x-1.5/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Angel Ruiz Calvo - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/doc/licenses/webjars-servlet-2.x-1.5/README b/doc/licenses/webjars-servlet-2.x-1.5/README deleted file mode 100644 index db5f04877..000000000 --- a/doc/licenses/webjars-servlet-2.x-1.5/README +++ /dev/null @@ -1,8 +0,0 @@ -webjars-servlet-2.x (https://github.com/webjars/webjars-servlet-2.x) --------------------------------------------------------------------- - - Version: 1.5 - From: 'Angel Ruiz Calvo' (https://github.com/aruizca) - License(s): - MIT (bundled/webjars-servlet-2.x-1.5/LICENSE) - diff --git a/doc/licenses/webjars-servlet-2.x-1.5/dep-coordinates.txt b/doc/licenses/webjars-servlet-2.x-1.5/dep-coordinates.txt deleted file mode 100644 index 7dddee426..000000000 --- a/doc/licenses/webjars-servlet-2.x-1.5/dep-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -org.webjars:webjars-servlet-2.x:jar:1.5 From 4c32e5951be9e7079a88de9e2d11e0b3c1d77d19 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 22 Apr 2021 23:31:49 -0700 Subject: [PATCH 13/19] GUACAMOLE-773: Add separate license for messageformat-parser (different version from messageformat). --- doc/licenses/messageformat-1.0.2/README | 4 ++-- .../messageformat-parser-1.1.0/LICENSE | 20 +++++++++++++++++++ .../messageformat-parser-1.1.0/README | 8 ++++++++ .../dep-coordinates.txt | 1 + 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 doc/licenses/messageformat-parser-1.1.0/LICENSE create mode 100644 doc/licenses/messageformat-parser-1.1.0/README create mode 100644 doc/licenses/messageformat-parser-1.1.0/dep-coordinates.txt diff --git a/doc/licenses/messageformat-1.0.2/README b/doc/licenses/messageformat-1.0.2/README index f3524c7b7..9a9653f5e 100644 --- a/doc/licenses/messageformat-1.0.2/README +++ b/doc/licenses/messageformat-1.0.2/README @@ -1,5 +1,5 @@ -messageformat.js (https://messageformat.github.io/) ---------------------------------------------------- +messageformat ( (https://messageformat.github.io/) +-------------------------------------------------- Version: 1.0.2 From: 'Alex Sexton, Eemeli Aro, and Contributors' diff --git a/doc/licenses/messageformat-parser-1.1.0/LICENSE b/doc/licenses/messageformat-parser-1.1.0/LICENSE new file mode 100644 index 000000000..6b9ea5b2e --- /dev/null +++ b/doc/licenses/messageformat-parser-1.1.0/LICENSE @@ -0,0 +1,20 @@ +Copyright 2012-2016 Alex Sexton, Eemeli Aro, and Contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/doc/licenses/messageformat-parser-1.1.0/README b/doc/licenses/messageformat-parser-1.1.0/README new file mode 100644 index 000000000..bc9d12906 --- /dev/null +++ b/doc/licenses/messageformat-parser-1.1.0/README @@ -0,0 +1,8 @@ +messageformat-parser (https://messageformat.github.io/) +------------------------------------------------------- + + Version: 1.1.0 + From: 'Alex Sexton, Eemeli Aro, and Contributors' + License(s): + MIT (bundled/messageformat-parser-1.1.0/LICENSE) + diff --git a/doc/licenses/messageformat-parser-1.1.0/dep-coordinates.txt b/doc/licenses/messageformat-parser-1.1.0/dep-coordinates.txt new file mode 100644 index 000000000..c323029b3 --- /dev/null +++ b/doc/licenses/messageformat-parser-1.1.0/dep-coordinates.txt @@ -0,0 +1 @@ +messageformat-parser:1.1.0 From 8ed9ac524c510663e2bd0d0cba3aade89c0fd0ca Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Fri, 23 Apr 2021 15:49:59 -0700 Subject: [PATCH 14/19] GUACAMOLE-773: Add license information for new JavaScript dependencies pulled in by Webpack. --- doc/licenses/assert-1.5.0/LICENSE | 18 +++++++++++++++ doc/licenses/assert-1.5.0/README | 8 +++++++ doc/licenses/assert-1.5.0/dep-coordinates.txt | 1 + doc/licenses/css-loader-5.2.4/LICENSE | 20 +++++++++++++++++ doc/licenses/css-loader-5.2.4/README | 8 +++++++ .../css-loader-5.2.4/dep-coordinates.txt | 1 + doc/licenses/inherits-2.0.3/LICENSE | 15 +++++++++++++ doc/licenses/inherits-2.0.3/README | 8 +++++++ .../inherits-2.0.3/dep-coordinates.txt | 1 + doc/licenses/make-plural-3.0.6/LICENSE | 13 +++++++++++ doc/licenses/make-plural-3.0.6/README | 8 +++++++ .../make-plural-3.0.6/dep-coordinates.txt | 1 + doc/licenses/object-assign-4.1.1/LICENSE | 21 ++++++++++++++++++ doc/licenses/object-assign-4.1.1/README | 8 +++++++ .../object-assign-4.1.1/dep-coordinates.txt | 1 + doc/licenses/process-0.11.10/LICENSE | 22 +++++++++++++++++++ doc/licenses/process-0.11.10/README | 8 +++++++ .../process-0.11.10/dep-coordinates.txt | 1 + doc/licenses/reserved-words-0.1.2/LICENSE | 22 +++++++++++++++++++ doc/licenses/reserved-words-0.1.2/README | 8 +++++++ .../reserved-words-0.1.2/dep-coordinates.txt | 1 + doc/licenses/util-0.11.1/LICENSE | 18 +++++++++++++++ doc/licenses/util-0.11.1/README | 8 +++++++ doc/licenses/util-0.11.1/dep-coordinates.txt | 1 + doc/licenses/webpack-4.46.0/LICENSE | 20 +++++++++++++++++ doc/licenses/webpack-4.46.0/README | 8 +++++++ .../webpack-4.46.0/dep-coordinates.txt | 1 + 27 files changed, 250 insertions(+) create mode 100644 doc/licenses/assert-1.5.0/LICENSE create mode 100644 doc/licenses/assert-1.5.0/README create mode 100644 doc/licenses/assert-1.5.0/dep-coordinates.txt create mode 100644 doc/licenses/css-loader-5.2.4/LICENSE create mode 100644 doc/licenses/css-loader-5.2.4/README create mode 100644 doc/licenses/css-loader-5.2.4/dep-coordinates.txt create mode 100644 doc/licenses/inherits-2.0.3/LICENSE create mode 100644 doc/licenses/inherits-2.0.3/README create mode 100644 doc/licenses/inherits-2.0.3/dep-coordinates.txt create mode 100644 doc/licenses/make-plural-3.0.6/LICENSE create mode 100644 doc/licenses/make-plural-3.0.6/README create mode 100644 doc/licenses/make-plural-3.0.6/dep-coordinates.txt create mode 100644 doc/licenses/object-assign-4.1.1/LICENSE create mode 100644 doc/licenses/object-assign-4.1.1/README create mode 100644 doc/licenses/object-assign-4.1.1/dep-coordinates.txt create mode 100644 doc/licenses/process-0.11.10/LICENSE create mode 100644 doc/licenses/process-0.11.10/README create mode 100644 doc/licenses/process-0.11.10/dep-coordinates.txt create mode 100644 doc/licenses/reserved-words-0.1.2/LICENSE create mode 100644 doc/licenses/reserved-words-0.1.2/README create mode 100644 doc/licenses/reserved-words-0.1.2/dep-coordinates.txt create mode 100644 doc/licenses/util-0.11.1/LICENSE create mode 100644 doc/licenses/util-0.11.1/README create mode 100644 doc/licenses/util-0.11.1/dep-coordinates.txt create mode 100644 doc/licenses/webpack-4.46.0/LICENSE create mode 100644 doc/licenses/webpack-4.46.0/README create mode 100644 doc/licenses/webpack-4.46.0/dep-coordinates.txt diff --git a/doc/licenses/assert-1.5.0/LICENSE b/doc/licenses/assert-1.5.0/LICENSE new file mode 100644 index 000000000..e3d4e695a --- /dev/null +++ b/doc/licenses/assert-1.5.0/LICENSE @@ -0,0 +1,18 @@ +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. diff --git a/doc/licenses/assert-1.5.0/README b/doc/licenses/assert-1.5.0/README new file mode 100644 index 000000000..9b986ae73 --- /dev/null +++ b/doc/licenses/assert-1.5.0/README @@ -0,0 +1,8 @@ +assert (https://github.com/browserify/commonjs-assert/) +------------------------------------------------------- + + Version: 1.5.0 + From: 'Joyent, Inc. and other Node contributors' + License(s): + MIT (bundled/assert-1.5.0/LICENSE) + diff --git a/doc/licenses/assert-1.5.0/dep-coordinates.txt b/doc/licenses/assert-1.5.0/dep-coordinates.txt new file mode 100644 index 000000000..d0bf923ae --- /dev/null +++ b/doc/licenses/assert-1.5.0/dep-coordinates.txt @@ -0,0 +1 @@ +assert:1.5.0 diff --git a/doc/licenses/css-loader-5.2.4/LICENSE b/doc/licenses/css-loader-5.2.4/LICENSE new file mode 100644 index 000000000..8c11fc728 --- /dev/null +++ b/doc/licenses/css-loader-5.2.4/LICENSE @@ -0,0 +1,20 @@ +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/doc/licenses/css-loader-5.2.4/README b/doc/licenses/css-loader-5.2.4/README new file mode 100644 index 000000000..3f9cda8a4 --- /dev/null +++ b/doc/licenses/css-loader-5.2.4/README @@ -0,0 +1,8 @@ +css-loader (https://github.com/webpack-contrib/css-loader) +---------------------------------------------------------- + + Version: 5.2.4 + From: 'JS Foundation and other contributors' + License(s): + MIT (bundled/css-loader-5.2.4/LICENSE) + diff --git a/doc/licenses/css-loader-5.2.4/dep-coordinates.txt b/doc/licenses/css-loader-5.2.4/dep-coordinates.txt new file mode 100644 index 000000000..4dedff252 --- /dev/null +++ b/doc/licenses/css-loader-5.2.4/dep-coordinates.txt @@ -0,0 +1 @@ +css-loader:5.2.4 diff --git a/doc/licenses/inherits-2.0.3/LICENSE b/doc/licenses/inherits-2.0.3/LICENSE new file mode 100644 index 000000000..052085c43 --- /dev/null +++ b/doc/licenses/inherits-2.0.3/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/doc/licenses/inherits-2.0.3/README b/doc/licenses/inherits-2.0.3/README new file mode 100644 index 000000000..e2afbf590 --- /dev/null +++ b/doc/licenses/inherits-2.0.3/README @@ -0,0 +1,8 @@ +inherits (https://github.com/isaacs/inherits) +--------------------------------------------- + + Version: 2.0.3 + From: 'Isaac Z. Schlueter' (https://github.com/isaacs) + License(s): + ISC (bundled/inherits-2.0.3/LICENSE) + diff --git a/doc/licenses/inherits-2.0.3/dep-coordinates.txt b/doc/licenses/inherits-2.0.3/dep-coordinates.txt new file mode 100644 index 000000000..e03ab47fe --- /dev/null +++ b/doc/licenses/inherits-2.0.3/dep-coordinates.txt @@ -0,0 +1 @@ +inherits:2.0.3 diff --git a/doc/licenses/make-plural-3.0.6/LICENSE b/doc/licenses/make-plural-3.0.6/LICENSE new file mode 100644 index 000000000..aca3d36a1 --- /dev/null +++ b/doc/licenses/make-plural-3.0.6/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2014-2016 by Eemeli Aro + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/doc/licenses/make-plural-3.0.6/README b/doc/licenses/make-plural-3.0.6/README new file mode 100644 index 000000000..a4ddda5f1 --- /dev/null +++ b/doc/licenses/make-plural-3.0.6/README @@ -0,0 +1,8 @@ +make-plural (https://github.com/eemeli/make-plural) +--------------------------------------------------- + + Version: 3.0.6 + From: 'Eemeli Aro' (https://github.com/eemeli) + License(s): + ISC (bundled/make-plural-3.0.6/LICENSE) + diff --git a/doc/licenses/make-plural-3.0.6/dep-coordinates.txt b/doc/licenses/make-plural-3.0.6/dep-coordinates.txt new file mode 100644 index 000000000..600565046 --- /dev/null +++ b/doc/licenses/make-plural-3.0.6/dep-coordinates.txt @@ -0,0 +1 @@ +make-plural:3.0.6 diff --git a/doc/licenses/object-assign-4.1.1/LICENSE b/doc/licenses/object-assign-4.1.1/LICENSE new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/doc/licenses/object-assign-4.1.1/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/doc/licenses/object-assign-4.1.1/README b/doc/licenses/object-assign-4.1.1/README new file mode 100644 index 000000000..1ec09f632 --- /dev/null +++ b/doc/licenses/object-assign-4.1.1/README @@ -0,0 +1,8 @@ +object-assign (https://github.com/sindresorhus/object-assign/) +-------------------------------------------------------------- + + Version: 4.1.1 + From: 'Sindre Sorhus' (https://github.com/sindresorhus) + License(s): + MIT (bundled/open-assign-4.1.1/LICENSE) + diff --git a/doc/licenses/object-assign-4.1.1/dep-coordinates.txt b/doc/licenses/object-assign-4.1.1/dep-coordinates.txt new file mode 100644 index 000000000..4924590cd --- /dev/null +++ b/doc/licenses/object-assign-4.1.1/dep-coordinates.txt @@ -0,0 +1 @@ +object-assign:4.1.1 diff --git a/doc/licenses/process-0.11.10/LICENSE b/doc/licenses/process-0.11.10/LICENSE new file mode 100644 index 000000000..b8c1246cf --- /dev/null +++ b/doc/licenses/process-0.11.10/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2013 Roman Shtylman + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/doc/licenses/process-0.11.10/README b/doc/licenses/process-0.11.10/README new file mode 100644 index 000000000..450a92495 --- /dev/null +++ b/doc/licenses/process-0.11.10/README @@ -0,0 +1,8 @@ +process (https://github.com/defunctzombie/node-process/) +-------------------------------------------------------- + + Version: 0.11.10 + From: 'Roman Shtylman' (https://github.com/defunctzombie) + License(s): + MIT (bundled/process-0.11.10/LICENSE) + diff --git a/doc/licenses/process-0.11.10/dep-coordinates.txt b/doc/licenses/process-0.11.10/dep-coordinates.txt new file mode 100644 index 000000000..0fff96774 --- /dev/null +++ b/doc/licenses/process-0.11.10/dep-coordinates.txt @@ -0,0 +1 @@ +process:0.11.10 diff --git a/doc/licenses/reserved-words-0.1.2/LICENSE b/doc/licenses/reserved-words-0.1.2/LICENSE new file mode 100644 index 000000000..dcf4fc843 --- /dev/null +++ b/doc/licenses/reserved-words-0.1.2/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright 2015 Alexej Yaroshevich and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/doc/licenses/reserved-words-0.1.2/README b/doc/licenses/reserved-words-0.1.2/README new file mode 100644 index 000000000..34eb13d12 --- /dev/null +++ b/doc/licenses/reserved-words-0.1.2/README @@ -0,0 +1,8 @@ +reserved-words (https://github.com/qfox/reserved-words/) +-------------------------------------------------------- + + Version: 0.1.2 + From: 'Alexej Yaroshevich and other contributors' + License(s): + MIT (bundled/reserved-words-0.1.2/LICENSE) + diff --git a/doc/licenses/reserved-words-0.1.2/dep-coordinates.txt b/doc/licenses/reserved-words-0.1.2/dep-coordinates.txt new file mode 100644 index 000000000..aa36d4985 --- /dev/null +++ b/doc/licenses/reserved-words-0.1.2/dep-coordinates.txt @@ -0,0 +1 @@ +reserved-words:0.1.2 diff --git a/doc/licenses/util-0.11.1/LICENSE b/doc/licenses/util-0.11.1/LICENSE new file mode 100644 index 000000000..e3d4e695a --- /dev/null +++ b/doc/licenses/util-0.11.1/LICENSE @@ -0,0 +1,18 @@ +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. diff --git a/doc/licenses/util-0.11.1/README b/doc/licenses/util-0.11.1/README new file mode 100644 index 000000000..be8215945 --- /dev/null +++ b/doc/licenses/util-0.11.1/README @@ -0,0 +1,8 @@ +util (https://github.com/browserify/node-util) +---------------------------------------------- + + Version: 0.11.1 + From: 'Joyent, Inc. and other Node contributors' + License(s): + MIT (bundled/util-0.11.1/LICENSE) + diff --git a/doc/licenses/util-0.11.1/dep-coordinates.txt b/doc/licenses/util-0.11.1/dep-coordinates.txt new file mode 100644 index 000000000..376908f45 --- /dev/null +++ b/doc/licenses/util-0.11.1/dep-coordinates.txt @@ -0,0 +1 @@ +util:0.11.1 diff --git a/doc/licenses/webpack-4.46.0/LICENSE b/doc/licenses/webpack-4.46.0/LICENSE new file mode 100644 index 000000000..8c11fc728 --- /dev/null +++ b/doc/licenses/webpack-4.46.0/LICENSE @@ -0,0 +1,20 @@ +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/doc/licenses/webpack-4.46.0/README b/doc/licenses/webpack-4.46.0/README new file mode 100644 index 000000000..0e4043b5d --- /dev/null +++ b/doc/licenses/webpack-4.46.0/README @@ -0,0 +1,8 @@ +Webpack (https://webpack.js.org/) +--------------------------------- + + Version: 4.46.0 + From: 'JS Foundation and other contributors' + License(s): + MIT (bundled/webpack-4.46.0/LICENSE) + diff --git a/doc/licenses/webpack-4.46.0/dep-coordinates.txt b/doc/licenses/webpack-4.46.0/dep-coordinates.txt new file mode 100644 index 000000000..bc6b6d1cb --- /dev/null +++ b/doc/licenses/webpack-4.46.0/dep-coordinates.txt @@ -0,0 +1 @@ +webpack:4.46.0 From e93d0faa22bb89449b9d9c291827bd4fa7a0af34 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 2 Jun 2021 01:47:18 -0700 Subject: [PATCH 15/19] GUACAMOLE-773: Update Pickr to version 1.8.1. --- doc/licenses/pickr-1.8.0/dep-coordinates.txt | 1 - doc/licenses/{pickr-1.8.0 => pickr-1.8.1}/LICENSE | 0 doc/licenses/{pickr-1.8.0 => pickr-1.8.1}/README | 4 ++-- doc/licenses/pickr-1.8.1/dep-coordinates.txt | 1 + guacamole/src/main/frontend/package-lock.json | 14 +++++++------- guacamole/src/main/frontend/package.json | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 doc/licenses/pickr-1.8.0/dep-coordinates.txt rename doc/licenses/{pickr-1.8.0 => pickr-1.8.1}/LICENSE (100%) rename doc/licenses/{pickr-1.8.0 => pickr-1.8.1}/README (72%) create mode 100644 doc/licenses/pickr-1.8.1/dep-coordinates.txt diff --git a/doc/licenses/pickr-1.8.0/dep-coordinates.txt b/doc/licenses/pickr-1.8.0/dep-coordinates.txt deleted file mode 100644 index f1783bd69..000000000 --- a/doc/licenses/pickr-1.8.0/dep-coordinates.txt +++ /dev/null @@ -1 +0,0 @@ -@simonwep/pickr:1.8.0 diff --git a/doc/licenses/pickr-1.8.0/LICENSE b/doc/licenses/pickr-1.8.1/LICENSE similarity index 100% rename from doc/licenses/pickr-1.8.0/LICENSE rename to doc/licenses/pickr-1.8.1/LICENSE diff --git a/doc/licenses/pickr-1.8.0/README b/doc/licenses/pickr-1.8.1/README similarity index 72% rename from doc/licenses/pickr-1.8.0/README rename to doc/licenses/pickr-1.8.1/README index bc5761431..facf1612f 100644 --- a/doc/licenses/pickr-1.8.0/README +++ b/doc/licenses/pickr-1.8.1/README @@ -1,8 +1,8 @@ Pickr (https://simonwep.github.io/pickr/) ----------------------------------------- - Version: 1.8.0 + Version: 1.8.1 From: 'Simon Reinisch' (https://github.com/Simonwep/) License(s): - MIT (bundled/pickr-1.8.0/LICENSE) + MIT (bundled/pickr-1.8.1/LICENSE) diff --git a/doc/licenses/pickr-1.8.1/dep-coordinates.txt b/doc/licenses/pickr-1.8.1/dep-coordinates.txt new file mode 100644 index 000000000..37f66cb15 --- /dev/null +++ b/doc/licenses/pickr-1.8.1/dep-coordinates.txt @@ -0,0 +1 @@ +@simonwep/pickr:1.8.1 diff --git a/guacamole/src/main/frontend/package-lock.json b/guacamole/src/main/frontend/package-lock.json index b8680eed2..2d9ec9872 100644 --- a/guacamole/src/main/frontend/package-lock.json +++ b/guacamole/src/main/frontend/package-lock.json @@ -50,11 +50,11 @@ } }, "@simonwep/pickr": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.8.0.tgz", - "integrity": "sha512-VaSD7TwktOsro5nQ/FjRx5JAJ09k5CNfGRHacgVRxeVPolUQwelz1SjL8HAOKZwTSmcnIObptpHABQS4zgN7sw==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.8.1.tgz", + "integrity": "sha512-3Q5+INWW0Py+/E9hgy0cyD0/0w/yGZbkxam6RzFVFDOEHgAqMVJR+x9znx58/ky/ZIvE/78FbH189yIC9h111A==", "requires": { - "core-js": "^3.8.0", + "core-js": "^3.12.1", "nanopop": "^2.1.0" } }, @@ -1752,9 +1752,9 @@ } }, "core-js": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.2.tgz", - "integrity": "sha512-W+2oVYeNghuBr3yTzZFQ5rfmjZtYB/Ubg87R5YOmlGrIb+Uw9f7qjUbhsj+/EkXhcV7eOD3jiM4+sgraX3FZUw==" + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.13.1.tgz", + "integrity": "sha512-JqveUc4igkqwStL2RTRn/EPFGBOfEZHxJl/8ej1mXJR75V3go2mFF4bmUYkEIT1rveHKnkUlcJX/c+f1TyIovQ==" }, "core-util-is": { "version": "1.0.2", diff --git a/guacamole/src/main/frontend/package.json b/guacamole/src/main/frontend/package.json index f5f271f6d..faccbe09b 100644 --- a/guacamole/src/main/frontend/package.json +++ b/guacamole/src/main/frontend/package.json @@ -4,7 +4,7 @@ "build": "webpack --progress" }, "dependencies": { - "@simonwep/pickr": "1.8.0", + "@simonwep/pickr": "1.8.1", "angular": "1.8.2", "angular-route": "1.8.2", "angular-templatecache-webpack-plugin": "^1.0.1", From 700e2023af582adb8dfe7e841439f9fb390ed897 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 2 Jun 2021 15:24:57 -0700 Subject: [PATCH 16/19] GUACAMOLE-773: Remove use of XHTML-style self-closing tags from normal HTML. This is particularly important for AngularJS 1.8.x and jQuery 3.5.0+, which will no longer correct this automatically with their HTML prefilters, resulting in unexpected nesting of tags when the browser interprets something like "
" as "
" (older versions of jQuery would have corrected "
" to "
"). See: * https://docs.angularjs.org/guide/migration#migrating-from-1-7-to-1-8 * https://jquery.com/upgrade-guide/3.5/ --- .../html/warning.html | 4 ++-- .../src/main/webapp/index.html | 2 +- .../src/main/webapp/index.html | 2 +- .../templates/quickconnectField.html | 4 ++-- .../resources/templates/radiusStateField.html | 2 +- .../templates/authenticationCodeField.html | 2 +- .../src/app/client/templates/client.html | 24 +++++++++---------- .../app/client/templates/guacThumbnail.html | 2 +- .../src/app/form/templates/checkboxField.html | 2 +- .../src/app/form/templates/dateField.html | 2 +- .../src/app/form/templates/emailField.html | 2 +- .../src/app/form/templates/numberField.html | 2 +- .../src/app/form/templates/passwordField.html | 2 +- .../src/app/form/templates/textField.html | 2 +- .../src/app/form/templates/timeField.html | 2 +- .../groupList/templates/guacGroupList.html | 2 +- .../templates/guacGroupListFilter.html | 2 +- .../home/templates/guacRecentConnections.html | 2 +- .../src/app/list/templates/guacFilter.html | 2 +- .../src/app/list/templates/guacPager.html | 8 +++---- .../src/app/login/templates/login.html | 4 ++-- .../templates/connectionGroupPermission.html | 2 +- .../templates/connectionPermission.html | 2 +- .../manage/templates/identifierSetEditor.html | 10 ++++---- .../app/manage/templates/locationChooser.html | 2 +- .../manage/templates/manageConnection.html | 2 +- .../templates/manageConnectionGroup.html | 2 +- .../templates/manageSharingProfile.html | 2 +- .../src/app/manage/templates/manageUser.html | 6 ++--- .../app/manage/templates/manageUserGroup.html | 2 +- .../templates/sharingProfilePermission.html | 2 +- .../templates/systemPermissionEditor.html | 4 ++-- .../templates/settingsConnectionHistory.html | 4 ++-- .../templates/settingsConnections.html | 2 +- .../templates/settingsPreferences.html | 20 ++++++++-------- .../settings/templates/settingsSessions.html | 2 +- guacamole/src/main/frontend/src/index.html | 18 +++++++------- 37 files changed, 79 insertions(+), 79 deletions(-) diff --git a/doc/guacamole-branding-example/html/warning.html b/doc/guacamole-branding-example/html/warning.html index 58a0514dd..b1b72b303 100644 --- a/doc/guacamole-branding-example/html/warning.html +++ b/doc/guacamole-branding-example/html/warning.html @@ -1,8 +1,8 @@ - +
Beware of entering Saturn's gravitational field. - Few who enter it ever escape.
\ No newline at end of file + Few who enter it ever escape.
diff --git a/doc/guacamole-example/src/main/webapp/index.html b/doc/guacamole-example/src/main/webapp/index.html index c212a54f2..c47bbc4ab 100644 --- a/doc/guacamole-example/src/main/webapp/index.html +++ b/doc/guacamole-example/src/main/webapp/index.html @@ -20,7 +20,7 @@ - + Guacamole (EXAMPLE) diff --git a/doc/guacamole-playback-example/src/main/webapp/index.html b/doc/guacamole-playback-example/src/main/webapp/index.html index c5ff62123..5b21551c3 100644 --- a/doc/guacamole-playback-example/src/main/webapp/index.html +++ b/doc/guacamole-playback-example/src/main/webapp/index.html @@ -21,7 +21,7 @@ Guacamole Recording Playback (EXAMPLE) - + diff --git a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html index 6089965c5..9762a995a 100644 --- a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html +++ b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html @@ -1,8 +1,8 @@ - +
- +
diff --git a/extensions/guacamole-auth-radius/src/main/resources/templates/radiusStateField.html b/extensions/guacamole-auth-radius/src/main/resources/templates/radiusStateField.html index bfd9c4f31..e72924c71 100644 --- a/extensions/guacamole-auth-radius/src/main/resources/templates/radiusStateField.html +++ b/extensions/guacamole-auth-radius/src/main/resources/templates/radiusStateField.html @@ -1 +1 @@ - + diff --git a/extensions/guacamole-auth-totp/src/main/resources/templates/authenticationCodeField.html b/extensions/guacamole-auth-totp/src/main/resources/templates/authenticationCodeField.html index c493a2050..84859aae6 100644 --- a/extensions/guacamole-auth-totp/src/main/resources/templates/authenticationCodeField.html +++ b/extensions/guacamole-auth-totp/src/main/resources/templates/authenticationCodeField.html @@ -41,7 +41,7 @@
+ ng-model="model" autocorrect="off" autocapitalize="off">
diff --git a/guacamole/src/main/frontend/src/app/client/templates/client.html b/guacamole/src/main/frontend/src/app/client/templates/client.html index 20d711ee6..edc5cb665 100644 --- a/guacamole/src/main/frontend/src/app/client/templates/client.html +++ b/guacamole/src/main/frontend/src/app/client/templates/client.html @@ -134,20 +134,20 @@
- +

-
- +
+

- +

@@ -162,18 +162,18 @@
- +
- +

- +
- +

@@ -186,16 +186,16 @@

{{'CLIENT.SECTION_HEADER_DISPLAY' | translate}}

-
-
+
-
% + ng-change="zoomSet()">%
-
+
+
+
-
+
diff --git a/guacamole/src/main/frontend/src/app/client/templates/guacThumbnail.html b/guacamole/src/main/frontend/src/app/client/templates/guacThumbnail.html index 61e597eab..e0af90495 100644 --- a/guacamole/src/main/frontend/src/app/client/templates/guacThumbnail.html +++ b/guacamole/src/main/frontend/src/app/client/templates/guacThumbnail.html @@ -5,6 +5,6 @@
- +
\ No newline at end of file diff --git a/guacamole/src/main/frontend/src/app/form/templates/checkboxField.html b/guacamole/src/main/frontend/src/app/form/templates/checkboxField.html index e906f7d38..80666c018 100644 --- a/guacamole/src/main/frontend/src/app/form/templates/checkboxField.html +++ b/guacamole/src/main/frontend/src/app/form/templates/checkboxField.html @@ -4,4 +4,4 @@ ng-model="typedValue" guac-focus="focused" autocorrect="off" - autocapitalize="off"/> + autocapitalize="off"> diff --git a/guacamole/src/main/frontend/src/app/form/templates/dateField.html b/guacamole/src/main/frontend/src/app/form/templates/dateField.html index 7673e366d..9048dec36 100644 --- a/guacamole/src/main/frontend/src/app/form/templates/dateField.html +++ b/guacamole/src/main/frontend/src/app/form/templates/dateField.html @@ -8,5 +8,5 @@ guac-focus="focused" placeholder="{{'FORM.FIELD_PLACEHOLDER_DATE' | translate}}" autocorrect="off" - autocapitalize="off"/> + autocapitalize="off"> diff --git a/guacamole/src/main/frontend/src/app/form/templates/emailField.html b/guacamole/src/main/frontend/src/app/form/templates/emailField.html index cbfbb9084..677abba2f 100644 --- a/guacamole/src/main/frontend/src/app/form/templates/emailField.html +++ b/guacamole/src/main/frontend/src/app/form/templates/emailField.html @@ -6,6 +6,6 @@ ng-hide="readOnly" guac-focus="focused" autocorrect="off" - autocapitalize="off"/> + autocapitalize="off"> {{model}} diff --git a/guacamole/src/main/frontend/src/app/form/templates/numberField.html b/guacamole/src/main/frontend/src/app/form/templates/numberField.html index c86fb8eff..b7666c680 100644 --- a/guacamole/src/main/frontend/src/app/form/templates/numberField.html +++ b/guacamole/src/main/frontend/src/app/form/templates/numberField.html @@ -4,4 +4,4 @@ ng-model="typedValue" guac-focus="focused" autocorrect="off" - autocapitalize="off"/> + autocapitalize="off"> diff --git a/guacamole/src/main/frontend/src/app/form/templates/passwordField.html b/guacamole/src/main/frontend/src/app/form/templates/passwordField.html index 35eba9e99..3e1b2e512 100644 --- a/guacamole/src/main/frontend/src/app/form/templates/passwordField.html +++ b/guacamole/src/main/frontend/src/app/form/templates/passwordField.html @@ -6,6 +6,6 @@ ng-trim="false" guac-focus="focused" autocorrect="off" - autocapitalize="off"/> + autocapitalize="off">
diff --git a/guacamole/src/main/frontend/src/app/form/templates/textField.html b/guacamole/src/main/frontend/src/app/form/templates/textField.html index 3aea2bc4a..856ec8d0d 100644 --- a/guacamole/src/main/frontend/src/app/form/templates/textField.html +++ b/guacamole/src/main/frontend/src/app/form/templates/textField.html @@ -6,7 +6,7 @@ ng-disabled="disabled" guac-focus="focused" autocorrect="off" - autocapitalize="off"/> + autocapitalize="off"> diff --git a/guacamole/src/main/frontend/src/app/form/templates/timeField.html b/guacamole/src/main/frontend/src/app/form/templates/timeField.html index 2a882304a..f7efeb3eb 100644 --- a/guacamole/src/main/frontend/src/app/form/templates/timeField.html +++ b/guacamole/src/main/frontend/src/app/form/templates/timeField.html @@ -8,5 +8,5 @@ guac-lenient-time placeholder="{{'FORM.FIELD_PLACEHOLDER_TIME' | translate}}" autocorrect="off" - autocapitalize="off"/> + autocapitalize="off"> diff --git a/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupList.html b/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupList.html index 40145c8a0..e76f2e394 100644 --- a/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupList.html +++ b/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupList.html @@ -16,7 +16,7 @@
- + diff --git a/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupListFilter.html b/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupListFilter.html index d4d160b47..bbaec1c88 100644 --- a/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupListFilter.html +++ b/guacamole/src/main/frontend/src/app/groupList/templates/guacGroupListFilter.html @@ -1,6 +1,6 @@
- +
diff --git a/guacamole/src/main/frontend/src/app/home/templates/guacRecentConnections.html b/guacamole/src/main/frontend/src/app/home/templates/guacRecentConnections.html index c5053897f..b2be7a3bd 100644 --- a/guacamole/src/main/frontend/src/app/home/templates/guacRecentConnections.html +++ b/guacamole/src/main/frontend/src/app/home/templates/guacRecentConnections.html @@ -26,7 +26,7 @@
- {{recentConnection.name}} + {{recentConnection.name}}
diff --git a/guacamole/src/main/frontend/src/app/list/templates/guacFilter.html b/guacamole/src/main/frontend/src/app/list/templates/guacFilter.html index 1e6dad439..d3025be22 100644 --- a/guacamole/src/main/frontend/src/app/list/templates/guacFilter.html +++ b/guacamole/src/main/frontend/src/app/list/templates/guacFilter.html @@ -1,6 +1,6 @@
- +
diff --git a/guacamole/src/main/frontend/src/app/list/templates/guacPager.html b/guacamole/src/main/frontend/src/app/list/templates/guacPager.html index 34e56fcdf..eac2fe853 100644 --- a/guacamole/src/main/frontend/src/app/list/templates/guacPager.html +++ b/guacamole/src/main/frontend/src/app/list/templates/guacPager.html @@ -1,8 +1,8 @@
-
-
+
+
...
@@ -19,7 +19,7 @@
...
-
-
+
+
diff --git a/guacamole/src/main/frontend/src/app/login/templates/login.html b/guacamole/src/main/frontend/src/app/login/templates/login.html index 04111edb4..41bc0cd10 100644 --- a/guacamole/src/main/frontend/src/app/login/templates/login.html +++ b/guacamole/src/main/frontend/src/app/login/templates/login.html @@ -36,11 +36,11 @@ + value="{{'LOGIN.ACTION_LOGIN' | translate}}"> + value="{{'LOGIN.ACTION_CONTINUE' | translate}}">
diff --git a/guacamole/src/main/frontend/src/app/manage/templates/connectionGroupPermission.html b/guacamole/src/main/frontend/src/app/manage/templates/connectionGroupPermission.html index 6b27055a6..8ac52641e 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/connectionGroupPermission.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/connectionGroupPermission.html @@ -5,7 +5,7 @@ + ng-change="context.connectionGroupPermissionChanged(item.identifier)"> {{item.name}} diff --git a/guacamole/src/main/frontend/src/app/manage/templates/connectionPermission.html b/guacamole/src/main/frontend/src/app/manage/templates/connectionPermission.html index 8f1bb8b11..3a0dddaea 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/connectionPermission.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/connectionPermission.html @@ -5,7 +5,7 @@ + ng-change="context.connectionPermissionChanged(item.identifier)"> {{item.name}} diff --git a/guacamole/src/main/frontend/src/app/manage/templates/identifierSetEditor.html b/guacamole/src/main/frontend/src/app/manage/templates/identifierSetEditor.html index 72c235c66..794e1bd16 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/identifierSetEditor.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/identifierSetEditor.html @@ -4,7 +4,7 @@
+ ng-model="filterString">
@@ -12,14 +12,14 @@
diff --git a/guacamole/src/main/frontend/src/app/manage/templates/manageConnection.html b/guacamole/src/main/frontend/src/app/manage/templates/manageConnection.html index 17a1108c6..8f37b98d4 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/manageConnection.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/manageConnection.html @@ -13,7 +13,7 @@ {{'MANAGE_CONNECTION.FIELD_HEADER_NAME' | translate}} - + diff --git a/guacamole/src/main/frontend/src/app/manage/templates/manageConnectionGroup.html b/guacamole/src/main/frontend/src/app/manage/templates/manageConnectionGroup.html index 0f121803e..1ed7e9c16 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/manageConnectionGroup.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/manageConnectionGroup.html @@ -13,7 +13,7 @@ {{'MANAGE_CONNECTION_GROUP.FIELD_HEADER_NAME' | translate}} - + diff --git a/guacamole/src/main/frontend/src/app/manage/templates/manageSharingProfile.html b/guacamole/src/main/frontend/src/app/manage/templates/manageSharingProfile.html index d242e591d..f7e9d114e 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/manageSharingProfile.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/manageSharingProfile.html @@ -10,7 +10,7 @@ {{'MANAGE_SHARING_PROFILE.FIELD_HEADER_NAME' | translate}} + autocorrect="off" autocapitalize="off"> {{'MANAGE_SHARING_PROFILE.FIELD_HEADER_PRIMARY_CONNECTION' | translate}} diff --git a/guacamole/src/main/frontend/src/app/manage/templates/manageUser.html b/guacamole/src/main/frontend/src/app/manage/templates/manageUser.html index 571f5c874..014c7659c 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/manageUser.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/manageUser.html @@ -25,17 +25,17 @@ {{'MANAGE_USER.FIELD_HEADER_USERNAME' | translate}} - + {{user.username}} {{'MANAGE_USER.FIELD_HEADER_PASSWORD' | translate}} - + {{'MANAGE_USER.FIELD_HEADER_PASSWORD_AGAIN' | translate}} - +
diff --git a/guacamole/src/main/frontend/src/app/manage/templates/manageUserGroup.html b/guacamole/src/main/frontend/src/app/manage/templates/manageUserGroup.html index c65991505..09fd3e68b 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/manageUserGroup.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/manageUserGroup.html @@ -24,7 +24,7 @@ {{'MANAGE_USER_GROUP.FIELD_HEADER_USER_GROUP_NAME' | translate}} - + {{userGroup.identifier}} diff --git a/guacamole/src/main/frontend/src/app/manage/templates/sharingProfilePermission.html b/guacamole/src/main/frontend/src/app/manage/templates/sharingProfilePermission.html index bc2b1302c..8d8311b76 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/sharingProfilePermission.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/sharingProfilePermission.html @@ -5,7 +5,7 @@ + ng-change="context.sharingProfilePermissionChanged(item.identifier)"> {{item.name}} diff --git a/guacamole/src/main/frontend/src/app/manage/templates/systemPermissionEditor.html b/guacamole/src/main/frontend/src/app/manage/templates/systemPermissionEditor.html index 47fec6630..aa5ee475a 100644 --- a/guacamole/src/main/frontend/src/app/manage/templates/systemPermissionEditor.html +++ b/guacamole/src/main/frontend/src/app/manage/templates/systemPermissionEditor.html @@ -6,12 +6,12 @@ ng-show="canChangeSystemPermissions()"> {{systemPermissionType.label | translate}} + ng-change="systemPermissionChanged(systemPermissionType.value)"> {{'MANAGE_USER.FIELD_HEADER_CHANGE_OWN_PASSWORD' | translate}} + ng-change="userPermissionChanged('UPDATE', username)"> diff --git a/guacamole/src/main/frontend/src/app/settings/templates/settingsConnectionHistory.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsConnectionHistory.html index 67d62064f..34f2fd3a6 100644 --- a/guacamole/src/main/frontend/src/app/settings/templates/settingsConnectionHistory.html +++ b/guacamole/src/main/frontend/src/app/settings/templates/settingsConnectionHistory.html @@ -5,8 +5,8 @@
- - + +
diff --git a/guacamole/src/main/frontend/src/app/settings/templates/settingsConnections.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsConnections.html index 0b1e22ca5..6b890d162 100644 --- a/guacamole/src/main/frontend/src/app/settings/templates/settingsConnections.html +++ b/guacamole/src/main/frontend/src/app/settings/templates/settingsConnections.html @@ -44,6 +44,6 @@ 'new-sharing-profile' : 'app/settings/templates/newSharingProfile.html', 'new-connection-group' : 'app/settings/templates/newConnectionGroup.html' - }"/> + }"> diff --git a/guacamole/src/main/frontend/src/app/settings/templates/settingsPreferences.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsPreferences.html index 581a66e9c..09c1a97ed 100644 --- a/guacamole/src/main/frontend/src/app/settings/templates/settingsPreferences.html +++ b/guacamole/src/main/frontend/src/app/settings/templates/settingsPreferences.html @@ -16,15 +16,15 @@ - + - + - +
{{'SETTINGS_PREFERENCES.FIELD_HEADER_PASSWORD_OLD' | translate}}
{{'SETTINGS_PREFERENCES.FIELD_HEADER_PASSWORD_NEW' | translate}}
{{'SETTINGS_PREFERENCES.FIELD_HEADER_PASSWORD_NEW_AGAIN' | translate}}
@@ -43,19 +43,19 @@
- +

- +

- +

@@ -70,18 +70,18 @@
- +
- +

- +
- +

diff --git a/guacamole/src/main/frontend/src/app/settings/templates/settingsSessions.html b/guacamole/src/main/frontend/src/app/settings/templates/settingsSessions.html index 698582cc7..a2cd9b3d8 100644 --- a/guacamole/src/main/frontend/src/app/settings/templates/settingsSessions.html +++ b/guacamole/src/main/frontend/src/app/settings/templates/settingsSessions.html @@ -35,7 +35,7 @@ - + {{wrapper.startDate}} diff --git a/guacamole/src/main/frontend/src/index.html b/guacamole/src/main/frontend/src/index.html index a92c3eb88..2f0f39cfe 100644 --- a/guacamole/src/main/frontend/src/index.html +++ b/guacamole/src/main/frontend/src/index.html @@ -19,18 +19,18 @@ --> - - - - - - - - + + + + + + + + <% for (var index in htmlWebpackPlugin.files.css) { %> - + <% } %> From 82161ae7120d0c74117c9a4ad8d21fd2bfc541da Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 2 Jun 2021 15:45:47 -0700 Subject: [PATCH 17/19] GUACAMOLE-773: Consider Pickr available only if initialization has completed. In previous versions of Pickr, catching exceptions during Pickr creation was sufficient to detect whether Pickr can be used with the current browser. This is no longer the case, and we must instead rely on the lack of an "init" event. --- .../main/frontend/src/app/form/services/colorPickerService.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guacamole/src/main/frontend/src/app/form/services/colorPickerService.js b/guacamole/src/main/frontend/src/app/form/services/colorPickerService.js index c448866c8..d8494a6a6 100644 --- a/guacamole/src/main/frontend/src/app/form/services/colorPickerService.js +++ b/guacamole/src/main/frontend/src/app/form/services/colorPickerService.js @@ -202,7 +202,7 @@ angular.module('form').provider('colorPickerService', function colorPickerServic * selectColor(), false otherwise. */ service.isAvailable = function isAvailable() { - return !!pickr; + return pickrInitComplete; }; /** From 3ec578edce9fb697ba06014e257a233e6b612c67 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 2 Jun 2021 16:08:47 -0700 Subject: [PATCH 18/19] GUACAMOLE-773: Remove angular-touch (no longer applicable). Previously, the angular-touch library provided by AngularJS was used to allow click interactions with UI components to work on touch devices without an uncomfortable ~300ms delay. From AngularJS 1.7.x onward, this feature of angular-touch is no longer present: https://docs.angularjs.org/guide/migration#ngtouch This should be OK - modern browsers will now recognize applications aimed at touch support via the use of the "viewport" meta tag (which we use), removing our original need for angular-touch. The same goes for IE10+. --- doc/licenses/angular-1.8.2/dep-coordinates.txt | 1 - guacamole/src/main/frontend/package-lock.json | 5 ----- guacamole/src/main/frontend/package.json | 1 - guacamole/src/main/frontend/src/app/index/indexModule.js | 1 - 4 files changed, 8 deletions(-) diff --git a/doc/licenses/angular-1.8.2/dep-coordinates.txt b/doc/licenses/angular-1.8.2/dep-coordinates.txt index d6307c825..9747e3027 100644 --- a/doc/licenses/angular-1.8.2/dep-coordinates.txt +++ b/doc/licenses/angular-1.8.2/dep-coordinates.txt @@ -1,3 +1,2 @@ angular-route:1.8.2 -angular-touch:1.8.2 angular:1.8.2 diff --git a/guacamole/src/main/frontend/package-lock.json b/guacamole/src/main/frontend/package-lock.json index 2d9ec9872..97434a3e0 100644 --- a/guacamole/src/main/frontend/package-lock.json +++ b/guacamole/src/main/frontend/package-lock.json @@ -544,11 +544,6 @@ } } }, - "angular-touch": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/angular-touch/-/angular-touch-1.8.2.tgz", - "integrity": "sha512-tGoFNsONm/VHFcBW8gySVZvpCIYAvsAlEuHpJDugGn+3ENLxSDhpZ4ikev4KXfWr8ZNsYGoVSfsvJegkiC+9Ig==" - }, "angular-translate": { "version": "2.18.4", "resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.18.4.tgz", diff --git a/guacamole/src/main/frontend/package.json b/guacamole/src/main/frontend/package.json index faccbe09b..c8dc5948a 100644 --- a/guacamole/src/main/frontend/package.json +++ b/guacamole/src/main/frontend/package.json @@ -8,7 +8,6 @@ "angular": "1.8.2", "angular-route": "1.8.2", "angular-templatecache-webpack-plugin": "^1.0.1", - "angular-touch": "1.8.2", "angular-translate": "2.18.4", "angular-translate-interpolation-messageformat": "2.18.4", "angular-translate-loader-static-files": "2.18.4", diff --git a/guacamole/src/main/frontend/src/app/index/indexModule.js b/guacamole/src/main/frontend/src/app/index/indexModule.js index 2b74ecd06..e0281f439 100644 --- a/guacamole/src/main/frontend/src/app/index/indexModule.js +++ b/guacamole/src/main/frontend/src/app/index/indexModule.js @@ -29,7 +29,6 @@ require('angular-translate-loader-static-files'); angular.module('index', [ require('angular-route'), - require('angular-touch'), require('angular-translate'), 'auth', From b90a083fe14bc6b0afda9fd8c063cc2621917171 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 2 Jun 2021 20:19:44 -0700 Subject: [PATCH 19/19] GUACAMOLE-773: Use caret version notation for JavaScript dependencies where appropriate. The default caret version notation that is already well-established in the NPM community should be used except where there is reason not to. Here, it makes sense to use the caret for all dependencies except: 1. "google-closure-compiler", which does not use semantic versioning and does not guarantee a compatible API. We cannot know that a new release is expected to be compatible and thus must specify an exact version. 2. "blob-polyfill", which does not use semantic versioning BUT must provide a compatible API by its own nature (it is a polyfill for an API defined by a W3C standard). Any current, stable release should be OK for "blob-polyfill", hence ">=". --- guacamole/src/main/frontend/package.json | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/guacamole/src/main/frontend/package.json b/guacamole/src/main/frontend/package.json index c8dc5948a..dc96d6dfb 100644 --- a/guacamole/src/main/frontend/package.json +++ b/guacamole/src/main/frontend/package.json @@ -4,19 +4,19 @@ "build": "webpack --progress" }, "dependencies": { - "@simonwep/pickr": "1.8.1", - "angular": "1.8.2", - "angular-route": "1.8.2", + "@simonwep/pickr": "^1.8.1", + "angular": "^1.8.2", + "angular-route": "^1.8.2", "angular-templatecache-webpack-plugin": "^1.0.1", - "angular-translate": "2.18.4", - "angular-translate-interpolation-messageformat": "2.18.4", - "angular-translate-loader-static-files": "2.18.4", - "blob-polyfill": "5.0.20210201", - "datalist-polyfill": "1.24.4", - "file-saver": "2.0.5", - "jquery": "3.6.0", - "jstz": "2.1.1", - "lodash": "4.17.21" + "angular-translate": "^2.18.4", + "angular-translate-interpolation-messageformat": "^2.18.4", + "angular-translate-loader-static-files": "^2.18.4", + "blob-polyfill": ">=5.0.20210201", + "datalist-polyfill": "^1.24.4", + "file-saver": "^2.0.5", + "jquery": "^3.6.0", + "jstz": "^2.1.1", + "lodash": "^4.17.21" }, "devDependencies": { "clean-webpack-plugin": "^3.0.0", @@ -26,7 +26,7 @@ "css-minimizer-webpack-plugin": "^1.3.0", "exports-loader": "^1.1.1", "find-package-json": "^1.2.0", - "google-closure-compiler": "^20210302.0.0", + "google-closure-compiler": "20210302.0.0", "html-webpack-plugin": "^4.5.2", "mini-css-extract-plugin": "^1.5.0", "webpack": "^4.46.0",