@kontur.candy/tools 2.154.0 → 2.156.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/distr/Common/AsyncUtils.js +1 -3
- package/distr/Common/CandyApiClient/CandyApiClient.js +25 -138
- package/distr/Common/CandyApiClient/CandyApiClientContext.js +1 -8
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +1 -2
- package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +1 -16
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +1 -12
- package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +1 -12
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +1 -13
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +1 -3
- package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +1 -8
- package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +1 -7
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +9 -12
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestResponse.js +1 -1
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js +4 -72
- package/distr/Common/CandyApiClient/ICandyApiClient.js +1 -1
- package/distr/Common/CandyApiClient/IsBuffer.js +1 -2
- package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +1 -1
- package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +1 -1
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +12 -7
- package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +1 -3
- package/distr/Common/CandyApiClient/Types/DraftFullId.js +1 -1
- package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +5 -6
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +9 -12
- package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +5 -6
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +5 -6
- package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +1 -3
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Guid.js +1 -1
- package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +1 -1
- package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +1 -1
- package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +6 -0
- package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +5 -6
- package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +1 -1
- package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Print/PrintType.js +5 -6
- package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +1 -1
- package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +5 -6
- package/distr/Common/CandyApiClient/Types/TestClassification.js +1 -1
- package/distr/Common/CollectionUtils.js +1 -3
- package/distr/Common/CommonConstants/SectionNames.js +1 -3
- package/distr/Common/Comparers.js +2 -16
- package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +1 -5
- package/distr/Common/EndPoints.js +1 -2
- package/distr/Common/Enums/ButtonSettingsTypeEnum.js +5 -6
- package/distr/Common/Errors.js +1 -19
- package/distr/Common/FormActionHandlers/ContextualActionNames.js +1 -3
- package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +1 -1
- package/distr/Common/Funcs.js +1 -5
- package/distr/Common/GFV.js +1 -1
- package/distr/Common/Hooks/UseLocalStorage.js +3 -10
- package/distr/Common/HttpClient/AuthenticationMode.js +3 -7
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +1 -3
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +1 -3
- package/distr/Common/HttpClient/FetchImplementation/Fetch.js +1 -1
- package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +1 -1
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +6 -11
- package/distr/Common/HttpClient/HttpClient.js +9 -80
- package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +1 -1
- package/distr/Common/HttpClient/IHttpClient.js +1 -1
- package/distr/Common/IndentString.js +1 -3
- package/distr/Common/IntRangeUtils.js +3 -10
- package/distr/Common/IterableUtils.js +3 -76
- package/distr/Common/KCLangRuntimeUtils.js +1 -87
- package/distr/Common/ModelPath/BuildIterationSequence.js +1 -5
- package/distr/Common/ModelPath/EachCurrentCollision.js +5 -6
- package/distr/Common/ModelPath/IEquatable.js +1 -1
- package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +1 -8
- package/distr/Common/ModelPath/Map/Map2.js +2 -24
- package/distr/Common/ModelPath/Map/ModelPathMap.js +1 -8
- package/distr/Common/ModelPath/ModelPath.js +16 -140
- package/distr/Common/ModelPath/ModelPathBuilder.js +1 -14
- package/distr/Common/ModelPath/ModelPathHelper.js +1 -2
- package/distr/Common/ModelPath/PathMatcher.js +5 -24
- package/distr/Common/ModelPath/PathSplitHelper.js +1 -6
- package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +1 -10
- package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +1 -10
- package/distr/Common/ModelPath/Set/ModelPathSet.js +1 -10
- package/distr/Common/ModelPath/Set/Set2.js +1 -16
- package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +1 -9
- package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +1 -1
- package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +1 -3
- package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +1 -17
- package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +1 -30
- package/distr/Common/NidusClient/INidusClient.js +1 -3
- package/distr/Common/NidusClient/NidusClientContext.js +1 -14
- package/distr/Common/NidusClient/NidusClientImpl.js +1 -18
- package/distr/Common/PathConstants.js +1 -3
- package/distr/Common/StringArrayKey.js +1 -8
- package/distr/Common/TypingUtils.js +7 -26
- package/distr/Common/UUID.js +1 -4
- package/distr/Common/UseAsyncEffect.js +3 -7
- package/distr/Common/UseShowOnce.js +1 -17
- package/distr/Common/UseTypedSelector.js +1 -3
- package/distr/Common/getRngSchemaFilename.js +21 -0
- package/distr/Common/hashUtils.js +1 -4
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +1 -23
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +3 -10
- package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +1 -10
- package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +5 -23
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +1 -27
- package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +1 -2
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +3 -10
- package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +1 -9
- package/distr/Tools/src/BuildTasks/FSTask.js +1 -19
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js +1 -19
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +1 -16
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +1 -11
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +1 -10
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +1 -10
- package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +1 -10
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +5 -26
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +1 -38
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +2 -42
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +4 -39
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +4 -7
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +4 -10
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +9 -17
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +3 -5
- package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +1 -13
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +1 -20
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +3 -48
- package/distr/Tools/src/BuildTasks/ReadFormSource.js +7 -32
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +5 -32
- package/distr/Tools/src/BuildTasks/Version.js +1 -10
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js +1 -10
- package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +5 -9
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +1 -5
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +34 -70
- package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +1 -12
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +1 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +1 -67
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +3 -28
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +3 -41
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +3 -23
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +3 -20
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +1 -23
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +1 -37
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +1 -13
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +1 -40
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +8 -49
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +1 -13
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +1 -17
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +1 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +10 -19
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +12 -26
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +1 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +10 -44
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +1 -17
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +1 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +1 -27
- package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +11 -16
- package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +1 -1
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +1 -1
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +1 -4
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +23 -34
- package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +1 -4
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +1 -15
- package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +3 -19
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/autocalc/{gfv}.calc.js +1 -2
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/helpers/setKppValue.js +1 -2
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +1 -6
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +1 -11
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/validations/kppValue.js +3 -4
- package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +1 -4
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +1 -23
- package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +1 -4
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +7 -23
- package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +26 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +48 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +1 -37
- package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +1 -4
- package/distr/Tools/src/CandyCLI.js +7 -56
- package/distr/Tools/src/CheckNodeJsVersion.js +3 -10
- package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +1 -10
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +4 -29
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +1 -6
- package/distr/Tools/src/Commons/ErrorUntyped.js +1 -1
- package/distr/Tools/src/Commons/EventObject.js +10 -20
- package/distr/Tools/src/Commons/ExecUtils.js +3 -9
- package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +1 -7
- package/distr/Tools/src/Commons/FormGlobsUtils.js +1 -33
- package/distr/Tools/src/Commons/FsUtils.js +1 -12
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +1 -8
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +4 -15
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +1 -4
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +1 -5
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +1 -4
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +1 -5
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +2 -5
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +1 -5
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +1 -14
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +1 -4
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +1 -5
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +1 -4
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +1 -4
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +1 -4
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +1 -4
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +1 -36
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +1 -9
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +5 -35
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +9 -11
- package/distr/Tools/src/Commons/Locks/Lock.js +1 -8
- package/distr/Tools/src/Commons/Locks/LockHandle.js +1 -5
- package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +1 -9
- package/distr/Tools/src/Commons/Logging/ELKLogger.js +17 -22
- package/distr/Tools/src/Commons/Logging/ILogger.js +1 -5
- package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +3 -21
- package/distr/Tools/src/Commons/Logging/Logger.js +9 -29
- package/distr/Tools/src/Commons/Logging/StaticLogger.js +11 -15
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +1 -1
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +3 -37
- package/distr/Tools/src/Commons/PathPattern.js +1 -13
- package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +1 -4
- package/distr/Tools/src/Commons/TasksCore/BuildTask.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +13 -200
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +1 -20
- package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +7 -10
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +1 -15
- package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +1 -15
- package/distr/Tools/src/Commons/TasksCore/Observe.js +1 -13
- package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +5 -11
- package/distr/Tools/src/Commons/TimingUtils.js +1 -2
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +13 -51
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +4 -14
- package/distr/Tools/src/GenerateReadMe.js +1 -13
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +10 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +10 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/Options/CandyToolOptions.js +3 -11
- package/distr/Tools/src/ReadFarmConfig.js +1 -5
- package/distr/Tools/src/SelfUpdate.js +4 -28
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +1506 -1257
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.LICENSE.txt +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +843 -623
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.LICENSE.txt +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +777 -1117
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +1665 -2015
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +9 -55
- package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +777 -1117
- package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +1665 -2015
- package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +9 -55
- package/package.json +10 -10
- /package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/schemas/{{gfv}.rng.xml → {gfv}.0.rng.xml} +0 -0
|
@@ -1,42 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.BuildServerPublishedEngineController = void 0;
|
|
9
|
-
|
|
10
8
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
11
|
-
|
|
12
9
|
var path = _interopRequireWildcard(require("path"));
|
|
13
|
-
|
|
14
10
|
var _fsExtra = require("fs-extra");
|
|
15
|
-
|
|
16
11
|
var _mimeTypes = _interopRequireDefault(require("mime-types"));
|
|
17
|
-
|
|
18
12
|
var _AcquireFormEngine = require("../../../BuildTasks/Engine/AcquireFormEngine");
|
|
19
|
-
|
|
20
13
|
var _EngineVersionUtils = require("../../../BuildTasks/EngineVersionUtils");
|
|
21
|
-
|
|
22
14
|
var _Methods = require("../../../Commons/HttpServer/AttributeRouting/Methods");
|
|
23
|
-
|
|
24
15
|
var _NotFoundWebError = require("../../../Commons/HttpServer/AttributeRouting/NotFoundWebError");
|
|
25
|
-
|
|
26
16
|
var _Params = require("../../../Commons/HttpServer/AttributeRouting/Params");
|
|
27
|
-
|
|
28
17
|
var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
|
|
29
|
-
|
|
30
18
|
var _StreamResultHandler = require("../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler");
|
|
31
|
-
|
|
32
19
|
var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
|
|
33
|
-
|
|
34
20
|
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class;
|
|
35
|
-
|
|
36
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
37
|
-
|
|
38
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
-
|
|
40
23
|
let BuildServerPublishedEngineController = (_dec = (0, _Methods.httpGet)("/public/scripts/candy_v:engineName.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec2 = (0, _Methods.httpGet)("/public/styles/candy_v:engineName.css", _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec3 = (0, _Methods.httpGet)("/public/scripts/candy_v:engineName.js.map", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec4 = (0, _Methods.httpGet)("/public/styles/candy_v:engineName.css.map", _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("engineName", _Params.httpType.String)), _dec5 = (0, _Methods.httpGet)("/public/fonts/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec6 = (0, _Methods.httpGet)("/public/images/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), (_class = class BuildServerPublishedEngineController extends _SingletonController.SingletonController {
|
|
41
24
|
constructor(candyModulesDirectory) {
|
|
42
25
|
super();
|
|
@@ -44,81 +27,59 @@ let BuildServerPublishedEngineController = (_dec = (0, _Methods.httpGet)("/publi
|
|
|
44
27
|
this.usedEngines = [];
|
|
45
28
|
this.candyModulesDirectory = candyModulesDirectory;
|
|
46
29
|
}
|
|
47
|
-
|
|
48
30
|
async getEngineScript(engineName) {
|
|
49
31
|
const fileName = `candy_v${engineName}.js`;
|
|
50
|
-
|
|
51
32
|
const engineVersion = _EngineVersionUtils.EngineVersionUtils.extractVersionFromEngineFileName(fileName);
|
|
52
|
-
|
|
53
33
|
const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);
|
|
54
34
|
return new _StreamResultHandler.FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);
|
|
55
35
|
}
|
|
56
|
-
|
|
57
36
|
async getEngineStyles(engineName) {
|
|
58
37
|
const fileName = `candy_v${engineName}.css`;
|
|
59
|
-
|
|
60
38
|
const engineVersion = _EngineVersionUtils.EngineVersionUtils.extractVersionFromEngineFileName(fileName);
|
|
61
|
-
|
|
62
39
|
const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);
|
|
63
40
|
return new _StreamResultHandler.FileStreamResult(`${pathToPublishedEngine}/styles/${fileName}`);
|
|
64
41
|
}
|
|
65
|
-
|
|
66
42
|
async getEngineScriptSourceMap(engineName) {
|
|
67
43
|
const fileName = `candy_v${engineName}.js.map`;
|
|
68
|
-
|
|
69
44
|
const engineVersion = _EngineVersionUtils.EngineVersionUtils.extractVersionFromEngineFileName(fileName);
|
|
70
|
-
|
|
71
45
|
const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);
|
|
72
46
|
return new _StreamResultHandler.FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);
|
|
73
47
|
}
|
|
74
|
-
|
|
75
48
|
async getEngineStylesSourceMap(engineName) {
|
|
76
49
|
const fileName = `candy_v${engineName}.css.map`;
|
|
77
|
-
|
|
78
50
|
const engineVersion = _EngineVersionUtils.EngineVersionUtils.extractVersionFromEngineFileName(fileName);
|
|
79
|
-
|
|
80
51
|
const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);
|
|
81
52
|
return new _StreamResultHandler.FileStreamResult(`${pathToPublishedEngine}/styles/${fileName}`);
|
|
82
53
|
}
|
|
83
|
-
|
|
84
54
|
async getFormFont(fileName) {
|
|
85
55
|
for (const pathToEngine of this.usedEngines) {
|
|
86
56
|
const fileNamePath = path.join(pathToEngine, `fonts/${fileName}`);
|
|
87
|
-
|
|
88
57
|
if (await (0, _fsExtra.pathExists)(fileNamePath)) {
|
|
89
58
|
return new _StreamResultHandler.FileStreamResult(fileNamePath, _mimeTypes.default.lookup(fileName));
|
|
90
59
|
}
|
|
91
60
|
}
|
|
92
|
-
|
|
93
61
|
throw new _NotFoundWebError.NotFoundWebError("File not found");
|
|
94
62
|
}
|
|
95
|
-
|
|
96
63
|
async getFormImages(fileName) {
|
|
97
64
|
for (const pathToEngine of this.usedEngines) {
|
|
98
65
|
const fileNamePath = path.join(pathToEngine, `images/${fileName}`);
|
|
99
|
-
|
|
100
66
|
if (await (0, _fsExtra.pathExists)(fileNamePath)) {
|
|
101
67
|
return new _StreamResultHandler.FileStreamResult(fileNamePath, _mimeTypes.default.lookup(fileName));
|
|
102
68
|
}
|
|
103
69
|
}
|
|
104
|
-
|
|
105
70
|
throw new _NotFoundWebError.NotFoundWebError("File not found", true);
|
|
106
71
|
}
|
|
107
|
-
|
|
108
72
|
async getPathToPublishedEngine(engineVersion) {
|
|
109
73
|
const engine = (0, _AcquireFormEngine.engineFactory)({
|
|
110
74
|
type: "PublishedEngine",
|
|
111
75
|
version: engineVersion
|
|
112
76
|
}, this.candyModulesDirectory, false);
|
|
113
77
|
const result = await engine.currentValue;
|
|
114
|
-
|
|
115
78
|
if (!this.usedEngines.includes(result)) {
|
|
116
79
|
this.usedEngines.push(result);
|
|
117
80
|
}
|
|
118
|
-
|
|
119
81
|
return result;
|
|
120
82
|
}
|
|
121
|
-
|
|
122
83
|
}, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineScript", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineStyles", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineStyles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineScriptSourceMap", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineScriptSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getEngineStylesSourceMap", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getEngineStylesSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormFont", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getFormFont"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormImages", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getFormImages"), _class.prototype)), _class));
|
|
123
84
|
exports.BuildServerPublishedEngineController = BuildServerPublishedEngineController;
|
|
124
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOlsiQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIiwiaHR0cFJldHVybiIsIlN0cmVhbVdpdGhNaW1lIiwiaHR0cFR5cGUiLCJTdHJpbmciLCJTdHJlYW0iLCJTaW5nbGV0b25Db250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJ1c2VkRW5naW5lcyIsImdldEVuZ2luZVNjcmlwdCIsImVuZ2luZU5hbWUiLCJmaWxlTmFtZSIsImVuZ2luZVZlcnNpb24iLCJFbmdpbmVWZXJzaW9uVXRpbHMiLCJleHRyYWN0VmVyc2lvbkZyb21FbmdpbmVGaWxlTmFtZSIsInBhdGhUb1B1Ymxpc2hlZEVuZ2luZSIsImdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZSIsIkZpbGVTdHJlYW1SZXN1bHQiLCJnZXRFbmdpbmVTdHlsZXMiLCJnZXRFbmdpbmVTY3JpcHRTb3VyY2VNYXAiLCJnZXRFbmdpbmVTdHlsZXNTb3VyY2VNYXAiLCJnZXRGb3JtRm9udCIsInBhdGhUb0VuZ2luZSIsImZpbGVOYW1lUGF0aCIsInBhdGgiLCJqb2luIiwibWltZSIsImxvb2t1cCIsIk5vdEZvdW5kV2ViRXJyb3IiLCJnZXRGb3JtSW1hZ2VzIiwiZW5naW5lIiwidHlwZSIsInZlcnNpb24iLCJyZXN1bHQiLCJjdXJyZW50VmFsdWUiLCJpbmNsdWRlcyIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7Ozs7Ozs7O0lBRWFBLG9DLFdBU1Isc0JBQ0csdUNBREgsRUFFR0Msb0JBQVdDLGNBQVgsQ0FBMEIsd0JBQTFCLENBRkgsRUFHRywwQkFBYSxZQUFiLEVBQTJCQyxpQkFBU0MsTUFBcEMsQ0FISCxDLFVBWUEsc0JBQ0csdUNBREgsRUFFR0gsb0JBQVdDLGNBQVgsQ0FBMEIsVUFBMUIsQ0FGSCxFQUdHLDBCQUFhLFlBQWIsRUFBMkJDLGlCQUFTQyxNQUFwQyxDQUhILEMsVUFZQSxzQkFDRywyQ0FESCxFQUVHSCxvQkFBV0MsY0FBWCxDQUEwQix3QkFBMUIsQ0FGSCxFQUdHLDBCQUFhLFlBQWIsRUFBMkJDLGlCQUFTQyxNQUFwQyxDQUhILEMsVUFZQSxzQkFDRywyQ0FESCxFQUVHSCxvQkFBV0MsY0FBWCxDQUEwQixVQUExQixDQUZILEVBR0csMEJBQWEsWUFBYixFQUEyQkMsaUJBQVNDLE1BQXBDLENBSEgsQyxVQVlBLHNCQUFRLHlCQUFSLEVBQW1DSCxvQkFBV0ksTUFBOUMsRUFBc0QsMEJBQWEsVUFBYixFQUF5QkYsaUJBQVNDLE1BQWxDLENBQXRELEMsVUFXQSxzQkFBUSwwQkFBUixFQUFvQ0gsb0JBQVdJLE1BQS9DLEVBQXVELDBCQUFhLFVBQWIsRUFBeUJGLGlCQUFTQyxNQUFsQyxDQUF2RCxDLFlBcEVFLE1BQU1KLG9DQUFOLFNBQW1ETSx3Q0FBbkQsQ0FBdUU7QUFJbkVDLEVBQUFBLFdBQVcsQ0FBQ0MscUJBQUQsRUFBZ0M7QUFDOUM7QUFEOEMsU0FIakNBLHFCQUdpQztBQUFBLFNBRmpDQyxXQUVpQyxHQUZULEVBRVM7QUFFOUMsU0FBS0QscUJBQUwsR0FBNkJBLHFCQUE3QjtBQUNIOztBQU8yQixRQUFmRSxlQUFlLENBQUNDLFVBQUQsRUFBa0Q7QUFDMUUsVUFBTUMsUUFBUSxHQUFJLFVBQVNELFVBQVcsS0FBdEM7O0FBQ0EsVUFBTUUsYUFBYSxHQUFHQyx1Q0FBbUJDLGdDQUFuQixDQUFvREgsUUFBcEQsQ0FBdEI7O0FBQ0EsVUFBTUkscUJBQXFCLEdBQUcsTUFBTSxLQUFLQyx3QkFBTCxDQUE4QkosYUFBOUIsQ0FBcEM7QUFDQSxXQUFPLElBQUlLLHFDQUFKLENBQXNCLEdBQUVGLHFCQUFzQixZQUFXSixRQUFTLEVBQWxFLENBQVA7QUFDSDs7QUFPMkIsUUFBZk8sZUFBZSxDQUFDUixVQUFELEVBQWtEO0FBQzFFLFVBQU1DLFFBQVEsR0FBSSxVQUFTRCxVQUFXLE1BQXRDOztBQUNBLFVBQU1FLGFBQWEsR0FBR0MsdUNBQW1CQyxnQ0FBbkIsQ0FBb0RILFFBQXBELENBQXRCOztBQUNBLFVBQU1JLHFCQUFxQixHQUFHLE1BQU0sS0FBS0Msd0JBQUwsQ0FBOEJKLGFBQTlCLENBQXBDO0FBQ0EsV0FBTyxJQUFJSyxxQ0FBSixDQUFzQixHQUFFRixxQkFBc0IsV0FBVUosUUFBUyxFQUFqRSxDQUFQO0FBQ0g7O0FBT29DLFFBQXhCUSx3QkFBd0IsQ0FBQ1QsVUFBRCxFQUFrRDtBQUNuRixVQUFNQyxRQUFRLEdBQUksVUFBU0QsVUFBVyxTQUF0Qzs7QUFDQSxVQUFNRSxhQUFhLEdBQUdDLHVDQUFtQkMsZ0NBQW5CLENBQW9ESCxRQUFwRCxDQUF0Qjs7QUFDQSxVQUFNSSxxQkFBcUIsR0FBRyxNQUFNLEtBQUtDLHdCQUFMLENBQThCSixhQUE5QixDQUFwQztBQUNBLFdBQU8sSUFBSUsscUNBQUosQ0FBc0IsR0FBRUYscUJBQXNCLFlBQVdKLFFBQVMsRUFBbEUsQ0FBUDtBQUNIOztBQU9vQyxRQUF4QlMsd0JBQXdCLENBQUNWLFVBQUQsRUFBa0Q7QUFDbkYsVUFBTUMsUUFBUSxHQUFJLFVBQVNELFVBQVcsVUFBdEM7O0FBQ0EsVUFBTUUsYUFBYSxHQUFHQyx1Q0FBbUJDLGdDQUFuQixDQUFvREgsUUFBcEQsQ0FBdEI7O0FBQ0EsVUFBTUkscUJBQXFCLEdBQUcsTUFBTSxLQUFLQyx3QkFBTCxDQUE4QkosYUFBOUIsQ0FBcEM7QUFDQSxXQUFPLElBQUlLLHFDQUFKLENBQXNCLEdBQUVGLHFCQUFzQixXQUFVSixRQUFTLEVBQWpFLENBQVA7QUFDSDs7QUFHdUIsUUFBWFUsV0FBVyxDQUFDVixRQUFELEVBQWdEO0FBQ3BFLFNBQUssTUFBTVcsWUFBWCxJQUEyQixLQUFLZCxXQUFoQyxFQUE2QztBQUN6QyxZQUFNZSxZQUFZLEdBQUdDLElBQUksQ0FBQ0MsSUFBTCxDQUFVSCxZQUFWLEVBQXlCLFNBQVFYLFFBQVMsRUFBMUMsQ0FBckI7O0FBQ0EsVUFBSSxNQUFNLHlCQUFXWSxZQUFYLENBQVYsRUFBb0M7QUFDaEMsZUFBTyxJQUFJTixxQ0FBSixDQUFxQk0sWUFBckIsRUFBbUNHLG1CQUFLQyxNQUFMLENBQVloQixRQUFaLENBQW5DLENBQVA7QUFDSDtBQUNKOztBQUNELFVBQU0sSUFBSWlCLGtDQUFKLENBQXFCLGdCQUFyQixDQUFOO0FBQ0g7O0FBR3lCLFFBQWJDLGFBQWEsQ0FBQ2xCLFFBQUQsRUFBZ0Q7QUFDdEUsU0FBSyxNQUFNVyxZQUFYLElBQTJCLEtBQUtkLFdBQWhDLEVBQTZDO0FBQ3pDLFlBQU1lLFlBQVksR0FBR0MsSUFBSSxDQUFDQyxJQUFMLENBQVVILFlBQVYsRUFBeUIsVUFBU1gsUUFBUyxFQUEzQyxDQUFyQjs7QUFDQSxVQUFJLE1BQU0seUJBQVdZLFlBQVgsQ0FBVixFQUFvQztBQUNoQyxlQUFPLElBQUlOLHFDQUFKLENBQXFCTSxZQUFyQixFQUFtQ0csbUJBQUtDLE1BQUwsQ0FBWWhCLFFBQVosQ0FBbkMsQ0FBUDtBQUNIO0FBQ0o7O0FBQ0QsVUFBTSxJQUFJaUIsa0NBQUosQ0FBcUIsZ0JBQXJCLEVBQXVDLElBQXZDLENBQU47QUFDSDs7QUFFcUMsUUFBeEJaLHdCQUF3QixDQUFDSixhQUFELEVBQXlDO0FBQzNFLFVBQU1rQixNQUFNLEdBQUcsc0NBQ1g7QUFBRUMsTUFBQUEsSUFBSSxFQUFFLGlCQUFSO0FBQTJCQyxNQUFBQSxPQUFPLEVBQUVwQjtBQUFwQyxLQURXLEVBRVgsS0FBS0wscUJBRk0sRUFHWCxLQUhXLENBQWY7QUFLQSxVQUFNMEIsTUFBTSxHQUFHLE1BQU1ILE1BQU0sQ0FBQ0ksWUFBNUI7O0FBQ0EsUUFBSSxDQUFDLEtBQUsxQixXQUFMLENBQWlCMkIsUUFBakIsQ0FBMEJGLE1BQTFCLENBQUwsRUFBd0M7QUFDcEMsV0FBS3pCLFdBQUwsQ0FBaUI0QixJQUFqQixDQUFzQkgsTUFBdEI7QUFDSDs7QUFDRCxXQUFPQSxNQUFQO0FBQ0g7O0FBMUZ5RSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgbWltZSBmcm9tIFwibWltZS10eXBlc1wiO1xuXG5pbXBvcnQgeyBlbmdpbmVGYWN0b3J5IH0gZnJvbSBcIi4uLy4uLy4uL0J1aWxkVGFza3MvRW5naW5lL0FjcXVpcmVGb3JtRW5naW5lXCI7XG5pbXBvcnQgeyBFbmdpbmVWZXJzaW9uVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vQnVpbGRUYXNrcy9FbmdpbmVWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IGh0dHBHZXQgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvTWV0aG9kc1wiO1xuaW1wb3J0IHsgTm90Rm91bmRXZWJFcnJvciB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9Ob3RGb3VuZFdlYkVycm9yXCI7XG5pbXBvcnQgeyBodHRwVHlwZSwgaHR0cFVybFBhcmFtIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1BhcmFtc1wiO1xuaW1wb3J0IHsgaHR0cFJldHVybiB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzXCI7XG5pbXBvcnQge1xuICAgIEZpbGVTdHJlYW1SZXN1bHQsXG4gICAgU3RyZWFtUmV0dXJuUmVzdWx0LFxufSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUmVzdWx0cy9TdHJlYW1SZXN1bHRIYW5kbGVyXCI7XG5pbXBvcnQgeyBTaW5nbGV0b25Db250cm9sbGVyIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9FeHByZXNzV3JhcHBlci9TaW5nbGV0b25Db250cm9sbGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlZEVuZ2luZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zY3JpcHRzL2NhbmR5X3Y6ZW5naW5lTmFtZS5qc1wiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiZW5naW5lTmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRFbmdpbmVTY3JpcHQoZW5naW5lTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgY2FuZHlfdiR7ZW5naW5lTmFtZX0uanNgO1xuICAgICAgICBjb25zdCBlbmdpbmVWZXJzaW9uID0gRW5naW5lVmVyc2lvblV0aWxzLmV4dHJhY3RWZXJzaW9uRnJvbUVuZ2luZUZpbGVOYW1lKGZpbGVOYW1lKTtcbiAgICAgICAgY29uc3QgcGF0aFRvUHVibGlzaGVkRW5naW5lID0gYXdhaXQgdGhpcy5nZXRQYXRoVG9QdWJsaXNoZWRFbmdpbmUoZW5naW5lVmVyc2lvbik7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChgJHtwYXRoVG9QdWJsaXNoZWRFbmdpbmV9L3NjcmlwdHMvJHtmaWxlTmFtZX1gKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3N0eWxlcy9jYW5keV92OmVuZ2luZU5hbWUuY3NzXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJ0ZXh0L2Nzc1wiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiZW5naW5lTmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRFbmdpbmVTdHlsZXMoZW5naW5lTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgY2FuZHlfdiR7ZW5naW5lTmFtZX0uY3NzYDtcbiAgICAgICAgY29uc3QgZW5naW5lVmVyc2lvbiA9IEVuZ2luZVZlcnNpb25VdGlscy5leHRyYWN0VmVyc2lvbkZyb21FbmdpbmVGaWxlTmFtZShmaWxlTmFtZSk7XG4gICAgICAgIGNvbnN0IHBhdGhUb1B1Ymxpc2hlZEVuZ2luZSA9IGF3YWl0IHRoaXMuZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lKGVuZ2luZVZlcnNpb24pO1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoYCR7cGF0aFRvUHVibGlzaGVkRW5naW5lfS9zdHlsZXMvJHtmaWxlTmFtZX1gKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3NjcmlwdHMvY2FuZHlfdjplbmdpbmVOYW1lLmpzLm1hcFwiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiZW5naW5lTmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRFbmdpbmVTY3JpcHRTb3VyY2VNYXAoZW5naW5lTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgY2FuZHlfdiR7ZW5naW5lTmFtZX0uanMubWFwYDtcbiAgICAgICAgY29uc3QgZW5naW5lVmVyc2lvbiA9IEVuZ2luZVZlcnNpb25VdGlscy5leHRyYWN0VmVyc2lvbkZyb21FbmdpbmVGaWxlTmFtZShmaWxlTmFtZSk7XG4gICAgICAgIGNvbnN0IHBhdGhUb1B1Ymxpc2hlZEVuZ2luZSA9IGF3YWl0IHRoaXMuZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lKGVuZ2luZVZlcnNpb24pO1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoYCR7cGF0aFRvUHVibGlzaGVkRW5naW5lfS9zY3JpcHRzLyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfdjplbmdpbmVOYW1lLmNzcy5tYXBcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcInRleHQvY3NzXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJlbmdpbmVOYW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldEVuZ2luZVN0eWxlc1NvdXJjZU1hcChlbmdpbmVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGBjYW5keV92JHtlbmdpbmVOYW1lfS5jc3MubWFwYDtcbiAgICAgICAgY29uc3QgZW5naW5lVmVyc2lvbiA9IEVuZ2luZVZlcnNpb25VdGlscy5leHRyYWN0VmVyc2lvbkZyb21FbmdpbmVGaWxlTmFtZShmaWxlTmFtZSk7XG4gICAgICAgIGNvbnN0IHBhdGhUb1B1Ymxpc2hlZEVuZ2luZSA9IGF3YWl0IHRoaXMuZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lKGVuZ2luZVZlcnNpb24pO1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoYCR7cGF0aFRvUHVibGlzaGVkRW5naW5lfS9zdHlsZXMvJHtmaWxlTmFtZX1gKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvZm9udHMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtRm9udChmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBwYXRoVG9FbmdpbmUgb2YgdGhpcy51c2VkRW5naW5lcykge1xuICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVQYXRoID0gcGF0aC5qb2luKHBhdGhUb0VuZ2luZSwgYGZvbnRzLyR7ZmlsZU5hbWV9YCk7XG4gICAgICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhmaWxlTmFtZVBhdGgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGZpbGVOYW1lUGF0aCwgbWltZS5sb29rdXAoZmlsZU5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9pbWFnZXMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtSW1hZ2VzKGZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IHBhdGhUb0VuZ2luZSBvZiB0aGlzLnVzZWRFbmdpbmVzKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZVBhdGggPSBwYXRoLmpvaW4ocGF0aFRvRW5naW5lLCBgaW1hZ2VzLyR7ZmlsZU5hbWV9YCk7XG4gICAgICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhmaWxlTmFtZVBhdGgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGZpbGVOYW1lUGF0aCwgbWltZS5sb29rdXAoZmlsZU5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lKGVuZ2luZVZlcnNpb246IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IGVuZ2luZSA9IGVuZ2luZUZhY3RvcnkoXG4gICAgICAgICAgICB7IHR5cGU6IFwiUHVibGlzaGVkRW5naW5lXCIsIHZlcnNpb246IGVuZ2luZVZlcnNpb24gfSxcbiAgICAgICAgICAgIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZW5naW5lLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgaWYgKCF0aGlzLnVzZWRFbmdpbmVzLmluY2x1ZGVzKHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHRoaXMudXNlZEVuZ2luZXMucHVzaChyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
|
|
85
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfbWltZVR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BY3F1aXJlRm9ybUVuZ2luZSIsIl9FbmdpbmVWZXJzaW9uVXRpbHMiLCJfTWV0aG9kcyIsIl9Ob3RGb3VuZFdlYkVycm9yIiwiX1BhcmFtcyIsIl9SZXN1bHRzIiwiX1N0cmVhbVJlc3VsdEhhbmRsZXIiLCJfU2luZ2xldG9uQ29udHJvbGxlciIsIl9kZWMiLCJfZGVjMiIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2NsYXNzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkJ1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlciIsImh0dHBHZXQiLCJodHRwUmV0dXJuIiwiU3RyZWFtV2l0aE1pbWUiLCJodHRwVXJsUGFyYW0iLCJodHRwVHlwZSIsIlN0cmluZyIsIlN0cmVhbSIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsInVzZWRFbmdpbmVzIiwiZ2V0RW5naW5lU2NyaXB0IiwiZW5naW5lTmFtZSIsImZpbGVOYW1lIiwiZW5naW5lVmVyc2lvbiIsIkVuZ2luZVZlcnNpb25VdGlscyIsImV4dHJhY3RWZXJzaW9uRnJvbUVuZ2luZUZpbGVOYW1lIiwicGF0aFRvUHVibGlzaGVkRW5naW5lIiwiZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lIiwiRmlsZVN0cmVhbVJlc3VsdCIsImdldEVuZ2luZVN0eWxlcyIsImdldEVuZ2luZVNjcmlwdFNvdXJjZU1hcCIsImdldEVuZ2luZVN0eWxlc1NvdXJjZU1hcCIsImdldEZvcm1Gb250IiwicGF0aFRvRW5naW5lIiwiZmlsZU5hbWVQYXRoIiwiam9pbiIsInBhdGhFeGlzdHMiLCJtaW1lIiwibG9va3VwIiwiTm90Rm91bmRXZWJFcnJvciIsImdldEZvcm1JbWFnZXMiLCJlbmdpbmUiLCJlbmdpbmVGYWN0b3J5IiwidHlwZSIsInZlcnNpb24iLCJyZXN1bHQiLCJjdXJyZW50VmFsdWUiLCJpbmNsdWRlcyIsInB1c2giLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yMiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IG1pbWUgZnJvbSBcIm1pbWUtdHlwZXNcIjtcblxuaW1wb3J0IHsgZW5naW5lRmFjdG9yeSB9IGZyb20gXCIuLi8uLi8uLi9CdWlsZFRhc2tzL0VuZ2luZS9BY3F1aXJlRm9ybUVuZ2luZVwiO1xuaW1wb3J0IHsgRW5naW5lVmVyc2lvblV0aWxzIH0gZnJvbSBcIi4uLy4uLy4uL0J1aWxkVGFza3MvRW5naW5lVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyBodHRwR2V0IH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL01ldGhvZHNcIjtcbmltcG9ydCB7IE5vdEZvdW5kV2ViRXJyb3IgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvTm90Rm91bmRXZWJFcnJvclwiO1xuaW1wb3J0IHsgaHR0cFR5cGUsIGh0dHBVcmxQYXJhbSB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9QYXJhbXNcIjtcbmltcG9ydCB7IGh0dHBSZXR1cm4gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUmVzdWx0c1wiO1xuaW1wb3J0IHtcbiAgICBGaWxlU3RyZWFtUmVzdWx0LFxuICAgIFN0cmVhbVJldHVyblJlc3VsdCxcbn0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHMvU3RyZWFtUmVzdWx0SGFuZGxlclwiO1xuaW1wb3J0IHsgU2luZ2xldG9uQ29udHJvbGxlciB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvRXhwcmVzc1dyYXBwZXIvU2luZ2xldG9uQ29udHJvbGxlclwiO1xuXG5leHBvcnQgY2xhc3MgQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIGV4dGVuZHMgU2luZ2xldG9uQ29udHJvbGxlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZWRFbmdpbmVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5ID0gY2FuZHlNb2R1bGVzRGlyZWN0b3J5O1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc2NyaXB0cy9jYW5keV92OmVuZ2luZU5hbWUuanNcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcImVuZ2luZU5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RW5naW5lU2NyaXB0KGVuZ2luZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYGNhbmR5X3Yke2VuZ2luZU5hbWV9LmpzYDtcbiAgICAgICAgY29uc3QgZW5naW5lVmVyc2lvbiA9IEVuZ2luZVZlcnNpb25VdGlscy5leHRyYWN0VmVyc2lvbkZyb21FbmdpbmVGaWxlTmFtZShmaWxlTmFtZSk7XG4gICAgICAgIGNvbnN0IHBhdGhUb1B1Ymxpc2hlZEVuZ2luZSA9IGF3YWl0IHRoaXMuZ2V0UGF0aFRvUHVibGlzaGVkRW5naW5lKGVuZ2luZVZlcnNpb24pO1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoYCR7cGF0aFRvUHVibGlzaGVkRW5naW5lfS9zY3JpcHRzLyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfdjplbmdpbmVOYW1lLmNzc1wiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwidGV4dC9jc3NcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcImVuZ2luZU5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RW5naW5lU3R5bGVzKGVuZ2luZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYGNhbmR5X3Yke2VuZ2luZU5hbWV9LmNzc2A7XG4gICAgICAgIGNvbnN0IGVuZ2luZVZlcnNpb24gPSBFbmdpbmVWZXJzaW9uVXRpbHMuZXh0cmFjdFZlcnNpb25Gcm9tRW5naW5lRmlsZU5hbWUoZmlsZU5hbWUpO1xuICAgICAgICBjb25zdCBwYXRoVG9QdWJsaXNoZWRFbmdpbmUgPSBhd2FpdCB0aGlzLmdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZShlbmdpbmVWZXJzaW9uKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGAke3BhdGhUb1B1Ymxpc2hlZEVuZ2luZX0vc3R5bGVzLyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zY3JpcHRzL2NhbmR5X3Y6ZW5naW5lTmFtZS5qcy5tYXBcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcImVuZ2luZU5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RW5naW5lU2NyaXB0U291cmNlTWFwKGVuZ2luZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYGNhbmR5X3Yke2VuZ2luZU5hbWV9LmpzLm1hcGA7XG4gICAgICAgIGNvbnN0IGVuZ2luZVZlcnNpb24gPSBFbmdpbmVWZXJzaW9uVXRpbHMuZXh0cmFjdFZlcnNpb25Gcm9tRW5naW5lRmlsZU5hbWUoZmlsZU5hbWUpO1xuICAgICAgICBjb25zdCBwYXRoVG9QdWJsaXNoZWRFbmdpbmUgPSBhd2FpdCB0aGlzLmdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZShlbmdpbmVWZXJzaW9uKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGAke3BhdGhUb1B1Ymxpc2hlZEVuZ2luZX0vc2NyaXB0cy8ke2ZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc3R5bGVzL2NhbmR5X3Y6ZW5naW5lTmFtZS5jc3MubWFwXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJ0ZXh0L2Nzc1wiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiZW5naW5lTmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRFbmdpbmVTdHlsZXNTb3VyY2VNYXAoZW5naW5lTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgY2FuZHlfdiR7ZW5naW5lTmFtZX0uY3NzLm1hcGA7XG4gICAgICAgIGNvbnN0IGVuZ2luZVZlcnNpb24gPSBFbmdpbmVWZXJzaW9uVXRpbHMuZXh0cmFjdFZlcnNpb25Gcm9tRW5naW5lRmlsZU5hbWUoZmlsZU5hbWUpO1xuICAgICAgICBjb25zdCBwYXRoVG9QdWJsaXNoZWRFbmdpbmUgPSBhd2FpdCB0aGlzLmdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZShlbmdpbmVWZXJzaW9uKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGAke3BhdGhUb1B1Ymxpc2hlZEVuZ2luZX0vc3R5bGVzLyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL2ZvbnRzLzpmaWxlbmFtZVwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybUZvbnQoZmlsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIGZvciAoY29uc3QgcGF0aFRvRW5naW5lIG9mIHRoaXMudXNlZEVuZ2luZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lUGF0aCA9IHBhdGguam9pbihwYXRoVG9FbmdpbmUsIGBmb250cy8ke2ZpbGVOYW1lfWApO1xuICAgICAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZU5hbWVQYXRoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlTmFtZVBhdGgsIG1pbWUubG9va3VwKGZpbGVOYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvaW1hZ2VzLzpmaWxlbmFtZVwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybUltYWdlcyhmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBwYXRoVG9FbmdpbmUgb2YgdGhpcy51c2VkRW5naW5lcykge1xuICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVQYXRoID0gcGF0aC5qb2luKHBhdGhUb0VuZ2luZSwgYGltYWdlcy8ke2ZpbGVOYW1lfWApO1xuICAgICAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZU5hbWVQYXRoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlTmFtZVBhdGgsIG1pbWUubG9va3VwKGZpbGVOYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldFBhdGhUb1B1Ymxpc2hlZEVuZ2luZShlbmdpbmVWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBlbmdpbmUgPSBlbmdpbmVGYWN0b3J5KFxuICAgICAgICAgICAgeyB0eXBlOiBcIlB1Ymxpc2hlZEVuZ2luZVwiLCB2ZXJzaW9uOiBlbmdpbmVWZXJzaW9uIH0sXG4gICAgICAgICAgICB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVuZ2luZS5jdXJyZW50VmFsdWU7XG4gICAgICAgIGlmICghdGhpcy51c2VkRW5naW5lcy5pbmNsdWRlcyhyZXN1bHQpKSB7XG4gICAgICAgICAgICB0aGlzLnVzZWRFbmdpbmVzLnB1c2gocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFFQSxJQUFBSSxrQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssbUJBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGlCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxRQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxvQkFBQSxHQUFBVixPQUFBO0FBSUEsSUFBQVcsb0JBQUEsR0FBQVgsT0FBQTtBQUFxRyxJQUFBWSxJQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBO0FBQUEsU0FBQUMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEs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
|
|
@@ -1,44 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.BuildFormDevServer = void 0;
|
|
9
|
-
|
|
10
8
|
var _path = _interopRequireDefault(require("path"));
|
|
11
|
-
|
|
12
9
|
var _stream = require("stream");
|
|
13
|
-
|
|
14
10
|
var _https = require("https");
|
|
15
|
-
|
|
16
11
|
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
17
|
-
|
|
18
12
|
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
19
|
-
|
|
20
13
|
var _fsExtra = require("fs-extra");
|
|
21
|
-
|
|
22
14
|
var _GenerateForm = require("../../../../BuildTasks/Form/GenerateForm");
|
|
23
|
-
|
|
24
15
|
var _AcquireFormGenerator = require("../../../../BuildTasks/Generator/AcquireFormGenerator");
|
|
25
|
-
|
|
26
16
|
var _PublishedVersionUtils = require("../../../../BuildTasks/PublishedVersionUtils");
|
|
27
|
-
|
|
28
17
|
var _ResolveFormInfo = require("../../../../BuildTasks/ResolveFormInfo");
|
|
29
|
-
|
|
30
18
|
var _AsyncUtils = require("../../../../../../Common/AsyncUtils");
|
|
31
|
-
|
|
32
19
|
var _Observe = require("../../../../Commons/TasksCore/Observe");
|
|
33
|
-
|
|
34
20
|
var _ReportGeneratorErrorToPageBody = require("./ReportGeneratorErrorToPageBody");
|
|
35
|
-
|
|
36
21
|
var _RunFormCompilationViaWebpackDevServer = require("./RunFormCompilationViaWebpackDevServer");
|
|
37
|
-
|
|
38
22
|
var _WebpackHybridFileSystem = require("./WebpackInMemoryUtils/WebpackHybridFileSystem");
|
|
39
|
-
|
|
40
23
|
class BuildFormDevServer {
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
24
|
constructor(port, allFarmConfig, gfv, candyModulesDirectory, farmConfigArray, useGeneratorFromLocalSources, engineDirectory, buildDebugOnly, skipCodeReformatting, nightly) {
|
|
43
25
|
this.port = void 0;
|
|
44
26
|
this.allFarmConfig = void 0;
|
|
@@ -47,6 +29,7 @@ class BuildFormDevServer {
|
|
|
47
29
|
this.farmDirectory = void 0;
|
|
48
30
|
this.farmConfigArray = void 0;
|
|
49
31
|
this.startParallelLimit = void 0;
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
33
|
this.generateChain = void 0;
|
|
51
34
|
this.webpackDevServerStarted = false;
|
|
52
35
|
this.useGeneratorFromLocalSources = void 0;
|
|
@@ -68,16 +51,13 @@ class BuildFormDevServer {
|
|
|
68
51
|
this.nightly = nightly;
|
|
69
52
|
this.farmDirectory = "";
|
|
70
53
|
}
|
|
71
|
-
|
|
72
54
|
start() {
|
|
73
55
|
return this.startParallelLimit(async () => {
|
|
74
56
|
if (this.generateChain != undefined) {
|
|
75
57
|
return;
|
|
76
58
|
}
|
|
77
|
-
|
|
78
59
|
const allPossibleFilePath = this.allFarmConfig.map(i => _path.default.join(i, "forms", this.gfv));
|
|
79
60
|
let formDirPath = "";
|
|
80
|
-
|
|
81
61
|
for (const pth of allPossibleFilePath) {
|
|
82
62
|
if (await (0, _fsExtra.pathExists)(pth)) {
|
|
83
63
|
formDirPath = pth;
|
|
@@ -85,19 +65,17 @@ class BuildFormDevServer {
|
|
|
85
65
|
break;
|
|
86
66
|
}
|
|
87
67
|
}
|
|
88
|
-
|
|
89
68
|
if (formDirPath === "") {
|
|
90
69
|
throw Error("formDirPath not found");
|
|
91
70
|
}
|
|
92
|
-
|
|
93
71
|
if (!(await (0, _fsExtra.pathExists)(this.farmDirectory))) {
|
|
94
72
|
throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);
|
|
95
73
|
}
|
|
96
|
-
|
|
97
74
|
this.webpackHybridFileSystem = new _WebpackHybridFileSystem.WebpackHybridFileSystem(_path.default.join(formDirPath, "form"));
|
|
98
75
|
this.generateChain = _Observe.Observe.file(_path.default.join(formDirPath, "form.json")).transform(formJsonFile => (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile, formDirPath, undefined, undefined, undefined, undefined, undefined, this.nightly)).transform(async x => {
|
|
99
76
|
if (this.useGeneratorFromLocalSources) {
|
|
100
|
-
return {
|
|
77
|
+
return {
|
|
78
|
+
...x,
|
|
101
79
|
generatorSource: (0, _PublishedVersionUtils.resolveLocalGeneratorSource)(this.engineDirectory),
|
|
102
80
|
engineSource: (0, _PublishedVersionUtils.resolveLocalEngineSource)(this.engineDirectory)
|
|
103
81
|
};
|
|
@@ -105,35 +83,31 @@ class BuildFormDevServer {
|
|
|
105
83
|
if (x.generatorVersion == undefined) {
|
|
106
84
|
throw new Error("generatorVersion is no defined");
|
|
107
85
|
}
|
|
108
|
-
|
|
109
86
|
if (x.engineVersion == undefined) {
|
|
110
87
|
throw new Error("engineVersion is no defined");
|
|
111
88
|
}
|
|
112
|
-
|
|
113
|
-
|
|
89
|
+
return {
|
|
90
|
+
...x,
|
|
114
91
|
generatorSource: await (0, _PublishedVersionUtils.resolveGeneratorVersion)(x.generatorVersion),
|
|
115
92
|
engineSource: await (0, _PublishedVersionUtils.resolveEngineVersion)(x.engineVersion)
|
|
116
93
|
};
|
|
117
94
|
}
|
|
118
|
-
}).attach(async fi => (0, _AcquireFormGenerator.generatorFactory)(fi.generatorSource, this.candyModulesDirectory, false, undefined), async (fi, y) => ({
|
|
95
|
+
}).attach(async fi => (0, _AcquireFormGenerator.generatorFactory)(fi.generatorSource, this.candyModulesDirectory, false, undefined), async (fi, y) => ({
|
|
96
|
+
...fi,
|
|
119
97
|
generator: y
|
|
120
98
|
}), async fi => (0, _AcquireFormGenerator.getGeneratorSourceKey)(fi.generatorSource)).attach(async fi => _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/generator/*", "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "validations/**/*", "localization/**/*")).do(async fi => {
|
|
121
99
|
try {
|
|
122
100
|
const FormsDirWithHlPath = this.farmConfigArray.find(i => formDirPath.startsWith(i.farmDirectory));
|
|
123
|
-
|
|
124
101
|
if (FormsDirWithHlPath == undefined) {
|
|
125
102
|
throw Error("FormsDirWithHlPath === undefined");
|
|
126
103
|
}
|
|
127
|
-
|
|
128
104
|
await (0, _GenerateForm.generateForm)(fi.formSourcesPath, this.farmDirectory, FormsDirWithHlPath.hlFarmDirectoryPath, fi.generator, undefined, {
|
|
129
105
|
skipCodeReformatting: this.skipCodeReformatting,
|
|
130
106
|
resourcesHash: "local-hash"
|
|
131
107
|
}, this.webpackHybridFileSystem);
|
|
132
108
|
} catch (e) {
|
|
133
109
|
var _this$webpackHybridFi;
|
|
134
|
-
|
|
135
110
|
const formEntryPointPath = _path.default.join(this.farmDirectory, "forms", this.gfv, "form", "web.js");
|
|
136
|
-
|
|
137
111
|
await ((_this$webpackHybridFi = this.webpackHybridFileSystem) === null || _this$webpackHybridFi === void 0 ? void 0 : _this$webpackHybridFi.writeBatch({
|
|
138
112
|
[formEntryPointPath]: (0, _ReportGeneratorErrorToPageBody.getReportGeneratorErrorToPageBodyScript)(this.formatError(e))
|
|
139
113
|
}));
|
|
@@ -144,19 +118,15 @@ class BuildFormDevServer {
|
|
|
144
118
|
this.webpackDevServerStarted = true;
|
|
145
119
|
});
|
|
146
120
|
}
|
|
147
|
-
|
|
148
121
|
async getGeneratedFileAsStream(filename) {
|
|
149
122
|
while (!this.webpackDevServerStarted) {
|
|
150
123
|
await (0, _AsyncUtils.delay)(500);
|
|
151
124
|
}
|
|
152
|
-
|
|
153
125
|
let fileName = "";
|
|
154
126
|
const allPossibleFilePath = this.allFarmConfig.map(i => _path.default.join(i, "forms", this.gfv, "form", filename));
|
|
155
|
-
|
|
156
127
|
for (const pth of allPossibleFilePath) {
|
|
157
128
|
try {
|
|
158
129
|
var _this$webpackHybridFi2;
|
|
159
|
-
|
|
160
130
|
if ((_this$webpackHybridFi2 = this.webpackHybridFileSystem) !== null && _this$webpackHybridFi2 !== void 0 && _this$webpackHybridFi2.statSync(pth)) {
|
|
161
131
|
fileName = pth;
|
|
162
132
|
break;
|
|
@@ -165,14 +135,11 @@ class BuildFormDevServer {
|
|
|
165
135
|
continue;
|
|
166
136
|
}
|
|
167
137
|
}
|
|
168
|
-
|
|
169
138
|
if (fileName === "") {
|
|
170
139
|
throw Error("getGeneratedFileAsStream filename not found");
|
|
171
140
|
}
|
|
172
|
-
|
|
173
141
|
return new Promise((resolve, reject) => {
|
|
174
142
|
var _this$webpackHybridFi3;
|
|
175
|
-
|
|
176
143
|
(_this$webpackHybridFi3 = this.webpackHybridFileSystem) === null || _this$webpackHybridFi3 === void 0 ? void 0 : _this$webpackHybridFi3.readFile(fileName, "utf-8", (error, data) => {
|
|
177
144
|
if (error) {
|
|
178
145
|
reject(error);
|
|
@@ -182,36 +149,28 @@ class BuildFormDevServer {
|
|
|
182
149
|
});
|
|
183
150
|
});
|
|
184
151
|
}
|
|
185
|
-
|
|
186
152
|
async getFileAsStream(filename) {
|
|
187
153
|
while (!this.webpackDevServerStarted) {
|
|
188
154
|
await (0, _AsyncUtils.delay)(500);
|
|
189
155
|
}
|
|
190
|
-
|
|
191
156
|
const response = await (0, _nodeFetch.default)(`https://localhost:${this.port}/${filename}`, {
|
|
192
157
|
method: "GET",
|
|
193
158
|
agent: new _https.Agent({
|
|
194
159
|
rejectUnauthorized: false
|
|
195
160
|
})
|
|
196
161
|
});
|
|
197
|
-
|
|
198
162
|
if (response.status != 200) {
|
|
199
163
|
const textResponse = await response.text();
|
|
200
164
|
throw new Error(textResponse);
|
|
201
165
|
}
|
|
202
|
-
|
|
203
166
|
return response.body;
|
|
204
167
|
}
|
|
205
|
-
|
|
206
168
|
formatError(e) {
|
|
207
169
|
if (e instanceof Error) {
|
|
208
170
|
return `${e}\n${e.stack}`;
|
|
209
171
|
}
|
|
210
|
-
|
|
211
172
|
return `${e}`;
|
|
212
173
|
}
|
|
213
|
-
|
|
214
174
|
}
|
|
215
|
-
|
|
216
175
|
exports.BuildFormDevServer = BuildFormDevServer;
|
|
217
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0J1aWxkRm9ybURldlNlcnZlci50cyJdLCJuYW1lcyI6WyJCdWlsZEZvcm1EZXZTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInBvcnQiLCJhbGxGYXJtQ29uZmlnIiwiZ2Z2IiwiY2FuZHlNb2R1bGVzRGlyZWN0b3J5IiwiZmFybUNvbmZpZ0FycmF5IiwidXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcyIsImVuZ2luZURpcmVjdG9yeSIsImJ1aWxkRGVidWdPbmx5Iiwic2tpcENvZGVSZWZvcm1hdHRpbmciLCJuaWdodGx5IiwiZmFybURpcmVjdG9yeSIsInN0YXJ0UGFyYWxsZWxMaW1pdCIsImdlbmVyYXRlQ2hhaW4iLCJ3ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCIsIndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtIiwic3RhcnQiLCJ1bmRlZmluZWQiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwibWFwIiwiaSIsInBhdGgiLCJqb2luIiwiZm9ybURpclBhdGgiLCJwdGgiLCJFcnJvciIsIldlYnBhY2tIeWJyaWRGaWxlU3lzdGVtIiwiT2JzZXJ2ZSIsImZpbGUiLCJ0cmFuc2Zvcm0iLCJmb3JtSnNvbkZpbGUiLCJ4IiwiZ2VuZXJhdG9yU291cmNlIiwiZW5naW5lU291cmNlIiwiZ2VuZXJhdG9yVmVyc2lvbiIsImVuZ2luZVZlcnNpb24iLCJhdHRhY2giLCJmaSIsInkiLCJnZW5lcmF0b3IiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsInN0YXJ0c1dpdGgiLCJobEZhcm1EaXJlY3RvcnlQYXRoIiwicmVzb3VyY2VzSGFzaCIsImUiLCJmb3JtRW50cnlQb2ludFBhdGgiLCJ3cml0ZUJhdGNoIiwiZm9ybWF0RXJyb3IiLCJvYnNlcnZlIiwiZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtIiwiZmlsZW5hbWUiLCJmaWxlTmFtZSIsInN0YXRTeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZWFkRmlsZSIsImVycm9yIiwiZGF0YSIsIlJlYWRhYmxlIiwiZnJvbSIsImdldEZpbGVBc1N0cmVhbSIsInJlc3BvbnNlIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsInN0YXR1cyIsInRleHRSZXNwb25zZSIsInRleHQiLCJib2R5Iiwic3RhY2siXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUVBOztBQUNBOztBQUNBOztBQU1BOztBQUNBOztBQUdBOztBQUVBOztBQUNBOztBQUNBOztBQUVPLE1BQU1BLGtCQUFOLENBQXlCO0FBUTVCO0FBVU9DLEVBQUFBLFdBQVcsQ0FDZEMsSUFEYyxFQUVkQyxhQUZjLEVBR2RDLEdBSGMsRUFJZEMscUJBSmMsRUFLZEMsZUFMYyxFQU1kQyw0QkFOYyxFQU9kQyxlQVBjLEVBUWRDLGNBUmMsRUFTZEMsb0JBVGMsRUFVZEMsT0FWYyxFQVdoQjtBQUFBLFNBNUJlVCxJQTRCZjtBQUFBLFNBM0JlQyxhQTJCZjtBQUFBLFNBMUJlQyxHQTBCZjtBQUFBLFNBekJlQyxxQkF5QmY7QUFBQSxTQXhCTU8sYUF3Qk47QUFBQSxTQXZCZU4sZUF1QmY7QUFBQSxTQXRCZU8sa0JBc0JmO0FBQUEsU0FwQk1DLGFBb0JOO0FBQUEsU0FuQk1DLHVCQW1CTixHQW5CZ0MsS0FtQmhDO0FBQUEsU0FsQmVSLDRCQWtCZjtBQUFBLFNBakJlQyxlQWlCZjtBQUFBLFNBaEJlRyxPQWdCZjtBQUFBLFNBZmVGLGNBZWY7QUFBQSxTQWRlQyxvQkFjZjtBQUFBLFNBYk1NLHVCQWFOO0FBQ0UsU0FBS2QsSUFBTCxHQUFZQSxJQUFaO0FBQ0EsU0FBS0MsYUFBTCxHQUFxQkEsYUFBckI7QUFDQSxTQUFLQyxHQUFMLEdBQVdBLEdBQVg7QUFDQSxTQUFLQyxxQkFB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Q08sSUFBVCxFQUEzQjtBQUNBLFlBQU0sSUFBSWhELEtBQUosQ0FBVStDLFlBQVYsQ0FBTjtBQUNIOztBQUNELFdBQU9OLFFBQVEsQ0FBQ1EsSUFBaEI7QUFDSDs7QUFFT3ZCLEVBQUFBLFdBQVcsQ0FBQ0gsQ0FBRCxFQUEyQjtBQUMxQyxRQUFJQSxDQUFDLFlBQVl2QixLQUFqQixFQUF3QjtBQUNwQixhQUFRLEdBQUV1QixDQUFFLEtBQUlBLENBQUMsQ0FBQzJCLEtBQU0sRUFBeEI7QUFDSDs7QUFDRCxXQUFRLEdBQUUzQixDQUFFLEVBQVo7QUFDSDs7QUFyTjJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tIFwiaHR0cHNcIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcbmltcG9ydCB7IEZhcm1Db25maWcgfSBmcm9tIFwiVG9vbHMvc3JjL0NhbmR5Q0xJXCI7XG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IGdlbmVyYXRlRm9ybSB9IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL0Zvcm0vR2VuZXJhdGVGb3JtXCI7XG5pbXBvcnQgeyBnZW5lcmF0b3JGYWN0b3J5LCBnZXRHZW5lcmF0b3JTb3VyY2VLZXkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7XG4gICAgcmVzb2x2ZUVuZ2luZVZlcnNpb24sXG4gICAgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24sXG4gICAgcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlLFxuICAgIHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSxcbn0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUHVibGlzaGVkVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyByZXNvbHZlRm9ybUluZm8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Bc3luY1V0aWxzXCI7XG5pbXBvcnQgeyBSZWFzb25PckVycm9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvRXJyb3JVbnR5cGVkXCI7XG5pbXBvcnQgeyBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL0NoYWluYWJsZVZhbHVlUHJvZHVjZXJcIjtcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvT2JzZXJ2ZVwiO1xuXG5pbXBvcnQgeyBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQgfSBmcm9tIFwiLi9SZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlcIjtcbmltcG9ydCB7IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyXCI7XG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZEZvcm1EZXZTZXJ2ZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybUNvbmZpZzogc3RyaW5nW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBnZnY6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgZmFybURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUNoYWluPzogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxhbnk+O1xuICAgIHByaXZhdGUgd2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgd2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/OiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcG9ydDogbnVtYmVyLFxuICAgICAgICBhbGxGYXJtQ29uZmlnOiBzdHJpbmdbXSxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBmYXJtQ29uZmlnQXJyYXk6IEZhcm1Db25maWdbXSxcbiAgICAgICAgdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlczogYm9vbGVhbixcbiAgICAgICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuLFxuICAgICAgICBza2lwQ29kZVJlZm9ybWF0dGluZzogYm9vbGVhbixcbiAgICAgICAgbmlnaHRseTogYm9vbGVhblxuICAgICkge1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLmFsbEZhcm1Db25maWcgPSBhbGxGYXJtQ29uZmlnO1xuICAgICAgICB0aGlzLmdmdiA9IGdmdjtcbiAgICAgICAgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuZmFybUNvbmZpZ0FycmF5ID0gZmFybUNvbmZpZ0FycmF5O1xuICAgICAgICB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdCA9IHBMaW1pdCgxKTtcbiAgICAgICAgdGhpcy51c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzID0gdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcztcbiAgICAgICAgdGhpcy5lbmdpbmVEaXJlY3RvcnkgPSBlbmdpbmVEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICAgICAgdGhpcy5za2lwQ29kZVJlZm9ybWF0dGluZyA9IHNraXBDb2RlUmVmb3JtYXR0aW5nO1xuICAgICAgICB0aGlzLm5pZ2h0bHkgPSBuaWdodGx5O1xuICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBcIlwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdlbmVyYXRlQ2hhaW4gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYWxsUG9zc2libGVGaWxlUGF0aCA9IHRoaXMuYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBwYXRoLmpvaW4oaSwgXCJmb3Jtc1wiLCB0aGlzLmdmdikpO1xuICAgICAgICAgICAgbGV0IGZvcm1EaXJQYXRoID0gXCJcIjtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhwdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoID0gcHRoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBwYXRoLmpvaW4ocHRoLCBcIi4uXCIsIFwiLi5cIik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZvcm1EaXJQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJmb3JtRGlyUGF0aCBub3QgZm91bmRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKHRoaXMuZmFybURpcmVjdG9yeSkpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhcm1EaXJlY3RvcnkgPSAke3RoaXMuZmFybURpcmVjdG9yeX0gbm90IGV4aXN0YCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0gPSBuZXcgV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0ocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm1cIikpO1xuXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlQ2hhaW4gPSBPYnNlcnZlLmZpbGUocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm0uanNvblwiKSlcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGZvcm1Kc29uRmlsZSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmlnaHRseVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oYXN5bmMgeCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiByZXNvbHZlTG9jYWxFbmdpbmVTb3VyY2UodGhpcy5lbmdpbmVEaXJlY3RvcnkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4LmdlbmVyYXRvclZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2VuZXJhdG9yVmVyc2lvbiBpcyBubyBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZW5naW5lVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJlbmdpbmVWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yU291cmNlOiBhd2FpdCByZXNvbHZlR2VuZXJhdG9yVmVyc2lvbih4LmdlbmVyYXRvclZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogYXdhaXQgcmVzb2x2ZUVuZ2luZVZlcnNpb24oeC5lbmdpbmVWZXJzaW9uKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5hdHRhY2goXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIGZpID0+IGdlbmVyYXRvckZhY3RvcnkoZmkuZ2VuZXJhdG9yU291cmNlLCB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSwgZmFsc2UsIHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIChmaSwgeSkgPT4gKHsgLi4uZmksIGdlbmVyYXRvcjogeSB9KSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2V0R2VuZXJhdG9yU291cmNlS2V5KGZpLmdlbmVyYXRvclNvdXJjZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIuLi8uLi9jb250cm9scy8qKi9nZW5lcmF0b3IvKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzY2hlbWFzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic3VnYXIvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9scy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImF1dG9jYWxjLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVscGVycy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRpb25zLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibG9jYWxpemF0aW9uLyoqLypcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGb3Jtc0RpcldpdGhIbFBhdGggPSB0aGlzLmZhcm1Db25maWdBcnJheS5maW5kKGkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aC5zdGFydHNXaXRoKGkuZmFybURpcmVjdG9yeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybXNEaXJXaXRoSGxQYXRoID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRm9ybXNEaXJXaXRoSGxQYXRoID09PSB1bmRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3Jtc0RpcldpdGhIbFBhdGguaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybUVudHJ5UG9pbnRQYXRoID0gcGF0aC5qb2luKHRoaXMuZmFybURpcmVjdG9yeSwgXCJmb3Jtc1wiLCB0aGlzLmdmdiwgXCJmb3JtXCIsIFwid2ViLmpzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT8ud3JpdGVCYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1FbnRyeVBvaW50UGF0aF06IGdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCh0aGlzLmZvcm1hdEVycm9yKGUpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVDaGFpbi5vYnNlcnZlKCk7XG4gICAgICAgICAgICBhd2FpdCBydW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2Z2LFxuICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcInJlc1wiKSxcbiAgICAgICAgICAgICAgICBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0sXG4gICAgICAgICAgICAgICAgdGhpcy5wb3J0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZmlsZU5hbWUgPSBcIlwiO1xuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChpID0+IHBhdGguam9pbihpLCBcImZvcm1zXCIsIHRoaXMuZ2Z2LCBcImZvcm1cIiwgZmlsZW5hbWUpKTtcbiAgICAgICAgZm9yIChjb25zdCBwdGggb2YgYWxsUG9zc2libGVGaWxlUGF0aCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT8uc3RhdFN5bmMocHRoKSkge1xuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZSA9IHB0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWxlTmFtZSA9PT0gXCJcIikge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0gZmlsZW5hbWUgbm90IGZvdW5kXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/LnJlYWRGaWxlKGZpbGVOYW1lLCBcInV0Zi04XCIsIChlcnJvciwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoUmVhZGFibGUuZnJvbShbZGF0YV0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZpbGVBc1N0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgd2hpbGUgKCF0aGlzLndlYnBhY2tEZXZTZXJ2ZXJTdGFydGVkKSB7XG4gICAgICAgICAgICBhd2FpdCBkZWxheSg1MDApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vbG9jYWxob3N0OiR7dGhpcy5wb3J0fS8ke2ZpbGVuYW1lfWAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgICAgIGFnZW50OiBuZXcgQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPSAyMDApIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRSZXNwb25zZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0UmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZS5ib2R5O1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0RXJyb3IoZTogUmVhc29uT3JFcnJvcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtlfVxcbiR7ZS5zdGFja31gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHtlfWA7XG4gICAgfVxufVxuIl19
|
|
176
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9odHRwcyIsIl9ub2RlRmV0Y2giLCJfcExpbWl0IiwiX2ZzRXh0cmEiLCJfR2VuZXJhdGVGb3JtIiwiX0FjcXVpcmVGb3JtR2VuZXJhdG9yIiwiX1B1Ymxpc2hlZFZlcnNpb25VdGlscyIsIl9SZXNvbHZlRm9ybUluZm8iLCJfQXN5bmNVdGlscyIsIl9PYnNlcnZlIiwiX1JlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keSIsIl9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyIiwiX1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtIiwiQnVpbGRGb3JtRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiYWxsRmFybUNvbmZpZyIsImdmdiIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZhcm1Db25maWdBcnJheSIsInVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwibmlnaHRseSIsImZhcm1EaXJlY3RvcnkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJnZW5lcmF0ZUNoYWluIiwid2VicGFja0RldlNlcnZlclN0YXJ0ZWQiLCJ3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsInBMaW1pdCIsInN0YXJ0IiwidW5kZWZpbmVkIiwiYWxsUG9zc2libGVGaWxlUGF0aCIsIm1hcCIsImkiLCJwYXRoIiwiam9pbiIsImZvcm1EaXJQYXRoIiwicHRoIiwicGF0aEV4aXN0cyIsIkVycm9yIiwiV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0iLCJPYnNlcnZlIiwiZmlsZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsIngiLCJnZW5lcmF0b3JTb3VyY2UiLCJyZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UiLCJlbmdpbmVTb3VyY2UiLCJyZXNvbHZlTG9jYWxFbmdpbmVTb3VyY2UiLCJnZW5lcmF0b3JWZXJzaW9uIiwiZW5naW5lVmVyc2lvbiIsInJlc29sdmVHZW5lcmF0b3JWZXJzaW9uIiwicmVzb2x2ZUVuZ2luZVZlcnNpb24iLCJhdHRhY2giLCJmaSIsImdlbmVyYXRvckZhY3RvcnkiLCJ5IiwiZ2VuZXJhdG9yIiwiZ2V0R2VuZXJhdG9yU291cmNlS2V5IiwiZmlsZXMiLCJmb3JtU291cmNlc1BhdGgiLCJkbyIsIkZvcm1zRGlyV2l0aEhsUGF0aCIsImZpbmQiLCJzdGFydHNXaXRoIiwiZ2VuZXJhdGVGb3JtIiwiaGxGYXJtRGlyZWN0b3J5UGF0aCIsInJlc291cmNlc0hhc2giLCJlIiwiX3RoaXMkd2VicGFja0h5YnJpZEZpIiwiZm9ybUVudHJ5UG9pbnRQYXRoIiwid3JpdGVCYXRjaCIsImdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCIsImZvcm1hdEVycm9yIiwib2JzZXJ2ZSIsInJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJmaWxlbmFtZSIsImRlbGF5IiwiZmlsZU5hbWUiLCJfdGhpcyR3ZWJwYWNrSHlicmlkRmkyIiwic3RhdFN5bmMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsIl90aGlzJHdlYnBhY2tIeWJyaWRGaTMiLCJyZWFkRmlsZSIsImVycm9yIiwiZGF0YSIsIlJlYWRhYmxlIiwiZnJvbSIsImdldEZpbGVBc1N0cmVhbSIsInJlc3BvbnNlIiwiZmV0Y2giLCJtZXRob2QiLCJhZ2VudCIsIkFnZW50IiwicmVqZWN0VW5hdXRob3JpemVkIiwic3RhdHVzIiwidGV4dFJlc3BvbnNlIiwidGV4dCIsImJvZHkiLCJzdGFjayIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvRGV2U2VydmVycy9CdWlsZEZvcm1EZXZTZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tIFwiaHR0cHNcIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcbmltcG9ydCB7IEZhcm1Db25maWcgfSBmcm9tIFwiVG9vbHMvc3JjL0NhbmR5Q0xJXCI7XG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IGdlbmVyYXRlRm9ybSB9IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL0Zvcm0vR2VuZXJhdGVGb3JtXCI7XG5pbXBvcnQgeyBnZW5lcmF0b3JGYWN0b3J5LCBnZXRHZW5lcmF0b3JTb3VyY2VLZXkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7XG4gICAgcmVzb2x2ZUVuZ2luZVZlcnNpb24sXG4gICAgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24sXG4gICAgcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlLFxuICAgIHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSxcbn0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUHVibGlzaGVkVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyByZXNvbHZlRm9ybUluZm8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Bc3luY1V0aWxzXCI7XG5pbXBvcnQgeyBSZWFzb25PckVycm9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvRXJyb3JVbnR5cGVkXCI7XG5pbXBvcnQgeyBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL0NoYWluYWJsZVZhbHVlUHJvZHVjZXJcIjtcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvT2JzZXJ2ZVwiO1xuXG5pbXBvcnQgeyBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQgfSBmcm9tIFwiLi9SZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlcIjtcbmltcG9ydCB7IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyXCI7XG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZEZvcm1EZXZTZXJ2ZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybUNvbmZpZzogc3RyaW5nW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBnZnY6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgZmFybURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUNoYWluPzogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxhbnk+O1xuICAgIHByaXZhdGUgd2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgd2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/OiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcG9ydDogbnVtYmVyLFxuICAgICAgICBhbGxGYXJtQ29uZmlnOiBzdHJpbmdbXSxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBmYXJtQ29uZmlnQXJyYXk6IEZhcm1Db25maWdbXSxcbiAgICAgICAgdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlczogYm9vbGVhbixcbiAgICAgICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuLFxuICAgICAgICBza2lwQ29kZVJlZm9ybWF0dGluZzogYm9vbGVhbixcbiAgICAgICAgbmlnaHRseTogYm9vbGVhblxuICAgICkge1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLmFsbEZhcm1Db25maWcgPSBhbGxGYXJtQ29uZmlnO1xuICAgICAgICB0aGlzLmdmdiA9IGdmdjtcbiAgICAgICAgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuZmFybUNvbmZpZ0FycmF5ID0gZmFybUNvbmZpZ0FycmF5O1xuICAgICAgICB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdCA9IHBMaW1pdCgxKTtcbiAgICAgICAgdGhpcy51c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzID0gdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcztcbiAgICAgICAgdGhpcy5lbmdpbmVEaXJlY3RvcnkgPSBlbmdpbmVEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICAgICAgdGhpcy5za2lwQ29kZVJlZm9ybWF0dGluZyA9IHNraXBDb2RlUmVmb3JtYXR0aW5nO1xuICAgICAgICB0aGlzLm5pZ2h0bHkgPSBuaWdodGx5O1xuICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBcIlwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdlbmVyYXRlQ2hhaW4gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYWxsUG9zc2libGVGaWxlUGF0aCA9IHRoaXMuYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBwYXRoLmpvaW4oaSwgXCJmb3Jtc1wiLCB0aGlzLmdmdikpO1xuICAgICAgICAgICAgbGV0IGZvcm1EaXJQYXRoID0gXCJcIjtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhwdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoID0gcHRoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBwYXRoLmpvaW4ocHRoLCBcIi4uXCIsIFwiLi5cIik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZvcm1EaXJQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJmb3JtRGlyUGF0aCBub3QgZm91bmRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKHRoaXMuZmFybURpcmVjdG9yeSkpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhcm1EaXJlY3RvcnkgPSAke3RoaXMuZmFybURpcmVjdG9yeX0gbm90IGV4aXN0YCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0gPSBuZXcgV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0ocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm1cIikpO1xuXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlQ2hhaW4gPSBPYnNlcnZlLmZpbGUocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm0uanNvblwiKSlcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGZvcm1Kc29uRmlsZSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmlnaHRseVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oYXN5bmMgeCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiByZXNvbHZlTG9jYWxFbmdpbmVTb3VyY2UodGhpcy5lbmdpbmVEaXJlY3RvcnkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4LmdlbmVyYXRvclZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2VuZXJhdG9yVmVyc2lvbiBpcyBubyBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZW5naW5lVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJlbmdpbmVWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yU291cmNlOiBhd2FpdCByZXNvbHZlR2VuZXJhdG9yVmVyc2lvbih4LmdlbmVyYXRvclZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogYXdhaXQgcmVzb2x2ZUVuZ2luZVZlcnNpb24oeC5lbmdpbmVWZXJzaW9uKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5hdHRhY2goXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIGZpID0+IGdlbmVyYXRvckZhY3RvcnkoZmkuZ2VuZXJhdG9yU291cmNlLCB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSwgZmFsc2UsIHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIChmaSwgeSkgPT4gKHsgLi4uZmksIGdlbmVyYXRvcjogeSB9KSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2V0R2VuZXJhdG9yU291cmNlS2V5KGZpLmdlbmVyYXRvclNvdXJjZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIuLi8uLi9jb250cm9scy8qKi9nZW5lcmF0b3IvKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzY2hlbWFzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic3VnYXIvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9scy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImF1dG9jYWxjLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVscGVycy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRpb25zLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibG9jYWxpemF0aW9uLyoqLypcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGb3Jtc0RpcldpdGhIbFBhdGggPSB0aGlzLmZhcm1Db25maWdBcnJheS5maW5kKGkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aC5zdGFydHNXaXRoKGkuZmFybURpcmVjdG9yeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybXNEaXJXaXRoSGxQYXRoID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRm9ybXNEaXJXaXRoSGxQYXRoID09PSB1bmRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3Jtc0RpcldpdGhIbFBhdGguaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybUVudHJ5UG9pbnRQYXRoID0gcGF0aC5qb2luKHRoaXMuZmFybURpcmVjdG9yeSwgXCJmb3Jtc1wiLCB0aGlzLmdmdiwgXCJmb3JtXCIsIFwid2ViLmpzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT8ud3JpdGVCYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1FbnRyeVBvaW50UGF0aF06IGdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCh0aGlzLmZvcm1hdEVycm9yKGUpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVDaGFpbi5vYnNlcnZlKCk7XG4gICAgICAgICAgICBhd2FpdCBydW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2Z2LFxuICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcInJlc1wiKSxcbiAgICAgICAgICAgICAgICBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0sXG4gICAgICAgICAgICAgICAgdGhpcy5wb3J0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZmlsZU5hbWUgPSBcIlwiO1xuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChpID0+IHBhdGguam9pbihpLCBcImZvcm1zXCIsIHRoaXMuZ2Z2LCBcImZvcm1cIiwgZmlsZW5hbWUpKTtcbiAgICAgICAgZm9yIChjb25zdCBwdGggb2YgYWxsUG9zc2libGVGaWxlUGF0aCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT8uc3RhdFN5bmMocHRoKSkge1xuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZSA9IHB0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWxlTmFtZSA9PT0gXCJcIikge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0gZmlsZW5hbWUgbm90IGZvdW5kXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/LnJlYWRGaWxlKGZpbGVOYW1lLCBcInV0Zi04XCIsIChlcnJvciwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoUmVhZGFibGUuZnJvbShbZGF0YV0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZpbGVBc1N0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgd2hpbGUgKCF0aGlzLndlYnBhY2tEZXZTZXJ2ZXJTdGFydGVkKSB7XG4gICAgICAgICAgICBhd2FpdCBkZWxheSg1MDApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vbG9jYWxob3N0OiR7dGhpcy5wb3J0fS8ke2ZpbGVuYW1lfWAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgICAgIGFnZW50OiBuZXcgQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPSAyMDApIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRSZXNwb25zZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0UmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZS5ib2R5O1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0RXJyb3IoZTogUmVhc29uT3JFcnJvcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtlfVxcbiR7ZS5zdGFja31gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHtlfWA7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsVUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBRUEsSUFBQU0sYUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8scUJBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLHNCQUFBLEdBQUFSLE9BQUE7QUFNQSxJQUFBUyxnQkFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsV0FBQSxHQUFBVixPQUFBO0FBR0EsSUFBQVcsUUFBQSxHQUFBWCxPQUFBO0FBRUEsSUFBQVksK0JBQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLHNDQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyx3QkFBQSxHQUFBZCxPQUFBO0FBRU8sTUFBTWUsa0JBQWtCLENBQUM7RUFrQnJCQyxXQUFXQSxDQUNkQyxJQUFZLEVBQ1pDLGFB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
|
package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.ClientJsDevServer = void 0;
|
|
9
|
-
|
|
10
8
|
var _https = require("https");
|
|
11
|
-
|
|
12
9
|
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
13
|
-
|
|
14
10
|
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
15
|
-
|
|
16
11
|
var _WebpackDevServerWorkerFactory = require("./WebpackDevServerWorker/WebpackDevServerWorkerFactory");
|
|
17
|
-
|
|
18
12
|
class ClientJsDevServer {
|
|
19
13
|
constructor(port, engineDirectory, buildDebugOnly) {
|
|
20
14
|
this.port = void 0;
|
|
@@ -27,13 +21,11 @@ class ClientJsDevServer {
|
|
|
27
21
|
this.startParallelLimit = (0, _pLimit.default)(1);
|
|
28
22
|
this.buildDebugOnly = buildDebugOnly;
|
|
29
23
|
}
|
|
30
|
-
|
|
31
24
|
async start() {
|
|
32
25
|
return this.startParallelLimit(async () => {
|
|
33
26
|
if (this.started) {
|
|
34
27
|
return;
|
|
35
28
|
}
|
|
36
|
-
|
|
37
29
|
await (0, _WebpackDevServerWorkerFactory.createWebPackDevServerWorker)(this.engineDirectory, "clientjs.webpack.config.js", this.port, {
|
|
38
30
|
resourcesPath: "dist",
|
|
39
31
|
outputFilename: "client",
|
|
@@ -44,12 +36,10 @@ class ClientJsDevServer {
|
|
|
44
36
|
this.started = true;
|
|
45
37
|
});
|
|
46
38
|
}
|
|
47
|
-
|
|
48
39
|
async getClientJsContentAsStream(minified) {
|
|
49
40
|
const fileName = minified ? "client.min.js" : "client.js";
|
|
50
41
|
return this.getFileStream(`static/public/scripts/${fileName}`);
|
|
51
42
|
}
|
|
52
|
-
|
|
53
43
|
async getFileStream(filePathUrl) {
|
|
54
44
|
return (await (0, _nodeFetch.default)(`https://localhost:${this.port}/${filePathUrl}`, {
|
|
55
45
|
method: "GET",
|
|
@@ -58,8 +48,6 @@ class ClientJsDevServer {
|
|
|
58
48
|
})
|
|
59
49
|
})).body;
|
|
60
50
|
}
|
|
61
|
-
|
|
62
51
|
}
|
|
63
|
-
|
|
64
52
|
exports.ClientJsDevServer = ClientJsDevServer;
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX25vZGVGZXRjaCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcExpbWl0IiwiX1dlYnBhY2tEZXZTZXJ2ZXJXb3JrZXJGYWN0b3J5IiwiQ2xpZW50SnNEZXZTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInBvcnQiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInN0YXJ0UGFyYWxsZWxMaW1pdCIsInN0YXJ0ZWQiLCJwTGltaXQiLCJzdGFydCIsImNyZWF0ZVdlYlBhY2tEZXZTZXJ2ZXJXb3JrZXIiLCJyZXNvdXJjZXNQYXRoIiwib3V0cHV0RmlsZW5hbWUiLCJkZXZlbG9wbWVudCIsInByb2R1Y3Rpb24iLCJzb3VyY2VNYXBQcmVmaXgiLCJnZXRDbGllbnRKc0NvbnRlbnRBc1N0cmVhbSIsIm1pbmlmaWVkIiwiZmlsZU5hbWUiLCJnZXRGaWxlU3RyZWFtIiwiZmlsZVBhdGhVcmwiLCJmZXRjaCIsIm1ldGhvZCIsImFnZW50IiwiQWdlbnQiLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJib2R5IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0NsaWVudEpzRGV2U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5cbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0IHBMaW1pdCwgeyBMaW1pdCB9IGZyb20gXCJwLWxpbWl0XCI7XG5cbmltcG9ydCB7IGNyZWF0ZVdlYlBhY2tEZXZTZXJ2ZXJXb3JrZXIgfSBmcm9tIFwiLi9XZWJwYWNrRGV2U2VydmVyV29ya2VyL1dlYnBhY2tEZXZTZXJ2ZXJXb3JrZXJGYWN0b3J5XCI7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnRKc0RldlNlcnZlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXJ0UGFyYWxsZWxMaW1pdDogTGltaXQ7XG4gICAgcHJpdmF0ZSBzdGFydGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwb3J0OiBudW1iZXIsIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLCBidWlsZERlYnVnT25seTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5zdGFydFBhcmFsbGVsTGltaXQgPSBwTGltaXQoMSk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGFydGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXdhaXQgY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlcih0aGlzLmVuZ2luZURpcmVjdG9yeSwgXCJjbGllbnRqcy53ZWJwYWNrLmNvbmZpZy5qc1wiLCB0aGlzLnBvcnQsIHtcbiAgICAgICAgICAgICAgICByZXNvdXJjZXNQYXRoOiBcImRpc3RcIixcbiAgICAgICAgICAgICAgICBvdXRwdXRGaWxlbmFtZTogXCJjbGllbnRcIixcbiAgICAgICAgICAgICAgICBkZXZlbG9wbWVudDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgcHJvZHVjdGlvbjogdGhpcy5idWlsZERlYnVnT25seSA/IFwiZmFsc2VcIiA6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgIHNvdXJjZU1hcFByZWZpeDogXCJzdGF0aWMvXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRDbGllbnRKc0NvbnRlbnRBc1N0cmVhbShtaW5pZmllZDogYm9vbGVhbik6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gbWluaWZpZWQgPyBcImNsaWVudC5taW4uanNcIiA6IFwiY2xpZW50LmpzXCI7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpbGVTdHJlYW0oYHN0YXRpYy9wdWJsaWMvc2NyaXB0cy8ke2ZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRGaWxlU3RyZWFtKGZpbGVQYXRoVXJsOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgYXdhaXQgZmV0Y2goYGh0dHBzOi8vbG9jYWxob3N0OiR7dGhpcy5wb3J0fS8ke2ZpbGVQYXRoVXJsfWAsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICB9KVxuICAgICAgICApLmJvZHk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUksOEJBQUEsR0FBQUosT0FBQTtBQUVPLE1BQU1LLGlCQUFpQixDQUFDO0VBT3BCQyxXQUFXQSxDQUFDQyxJQUFZLEVBQUVDLGVBQXVCLEVBQUVDLGNBQXVCLEVBQUU7SUFBQSxLQU5sRUYsSUFBSTtJQUFBLEtBQ0pDLGVBQWU7SUFBQSxLQUNmRSxrQkFBa0I7SUFBQSxLQUMzQkMsT0FBTyxHQUFHLEtBQUs7SUFBQSxLQUNORixjQUFjO0lBRzNCLElBQUksQ0FBQ0YsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0MsZUFBZSxHQUFHQSxlQUFlO0lBQ3RDLElBQUksQ0FBQ0Usa0JBQWtCLEdBQUcsSUFBQUUsZUFBTSxFQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFJLENBQUNILGNBQWMsR0FBR0EsY0FBYztFQUN4QztFQUVBLE1BQWFJLEtBQUtBLENBQUEsRUFBa0I7SUFDaEMsT0FBTyxJQUFJLENBQUNILGtCQUFrQixDQUFDLFlBQVk7TUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sRUFBRTtRQUNkO01BQ0o7TUFDQSxNQUFNLElBQUFHLDJEQUE0QixFQUFDLElBQUksQ0FBQ04sZUFBZSxFQUFFLDRCQUE0QixFQUFFLElBQUksQ0FBQ0QsSUFBSSxFQUFFO1FBQzlGUSxhQUFhLEVBQUUsTUFBTTtRQUNyQkMsY0FBYyxFQUFFLFFBQVE7UUFDeEJDLFdBQVcsRUFBRSxNQUFNO1FBQ25CQyxVQUFVLEVBQUUsSUFBSSxDQUFDVCxjQUFjLEdBQUcsT0FBTyxHQUFHLE1BQU07UUFDbERVLGVBQWUsRUFBRTtNQUNyQixDQUFDLENBQUM7TUFDRixJQUFJLENBQUNSLE9BQU8sR0FBRyxJQUFJO0lBQ3ZCLENBQUMsQ0FBQztFQUNOO0VBRUEsTUFBYVMsMEJBQTBCQSxDQUFDQyxRQUFpQixFQUFrQztJQUN2RixNQUFNQyxRQUFRLEdBQUdELFFBQVEsR0FBRyxlQUFlLEdBQUcsV0FBVztJQUN6RCxPQUFPLElBQUksQ0FBQ0UsYUFBYSxDQUFFLHlCQUF3QkQsUUFBUyxFQUFDLENBQUM7RUFDbEU7RUFFQSxNQUFhQyxhQUFhQSxDQUFDQyxXQUFtQixFQUFrQztJQUM1RSxPQUFPLENBQ0gsTUFBTSxJQUFBQyxrQkFBSyxFQUFFLHFCQUFvQixJQUFJLENBQUNsQixJQUFLLElBQUdpQixXQUFZLEVBQUMsRUFBRTtNQUN6REUsTUFBTSxFQUFFLEtBQUs7TUFDYkMsS0FBSyxFQUFFLElBQUlDLFlBQUssQ0FBQztRQUFFQyxrQkFBa0IsRUFBRTtNQUFNLENBQUM7SUFDbEQsQ0FBQyxDQUFDLEVBQ0pDLElBQUk7RUFDVjtBQUNKO0FBQUNDLE9BQUEsQ0FBQTFCLGlCQUFBLEdBQUFBLGlCQUFBIn0=
|