@kontur.candy/tools 2.184.3 → 2.185.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.
Files changed (599) hide show
  1. package/CHANGELOG.md +1659 -0
  2. package/candy.js +0 -0
  3. package/distr/Common/AsyncUtils.js +1 -1
  4. package/distr/Common/AutoValidationUtils.js +3 -2
  5. package/distr/Common/CandyApiClient/CandyApiClient.js +3 -2
  6. package/distr/Common/CandyApiClient/CandyApiClientContext.js +5 -4
  7. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +1 -1
  8. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +1 -1
  9. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +1 -1
  10. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +1 -1
  11. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +1 -1
  12. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +1 -1
  13. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +1 -1
  14. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +3 -2
  15. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +1 -1
  16. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +3 -2
  17. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +1 -1
  18. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +5 -4
  19. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +1 -1
  20. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +5 -3
  21. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +1 -1
  22. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +1 -1
  23. package/distr/Common/CandyApiClient/ICandyApiClient.js +1 -1
  24. package/distr/Common/CandyApiClient/IsBuffer.js +1 -1
  25. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +1 -1
  26. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +1 -1
  27. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +1 -1
  28. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +1 -1
  29. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +1 -1
  30. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +5 -3
  31. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +1 -1
  32. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +1 -1
  33. package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +1 -1
  34. package/distr/Common/CandyApiClient/Types/DraftFullId.js +1 -1
  35. package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +3 -2
  36. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +5 -3
  37. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +3 -2
  38. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +1 -1
  39. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +1 -1
  40. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +3 -2
  41. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +1 -1
  42. package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +1 -1
  43. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +1 -1
  44. package/distr/Common/CandyApiClient/Types/Guid.js +1 -1
  45. package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +1 -1
  46. package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +1 -1
  47. package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +1 -1
  48. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +3 -2
  49. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +1 -1
  50. package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +1 -1
  51. package/distr/Common/CandyApiClient/Types/Print/PrintType.js +3 -2
  52. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js +1 -1
  53. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js +1 -1
  54. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js +1 -1
  55. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js +1 -1
  56. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js +1 -1
  57. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js +1 -1
  58. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js +1 -1
  59. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js +1 -1
  60. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js +1 -1
  61. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js +1 -1
  62. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js +1 -1
  63. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js +1 -1
  64. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js +1 -1
  65. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js +1 -1
  66. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js +1 -1
  67. package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js +1 -1
  68. package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js +1 -1
  69. package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +1 -1
  70. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +1 -1
  71. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +1 -1
  72. package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +1 -1
  73. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +1 -1
  74. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +3 -2
  75. package/distr/Common/CandyApiClient/Types/TestClassification.js +1 -1
  76. package/distr/Common/CollectionUtils.js +1 -1
  77. package/distr/Common/CommonConstants/SectionNames.js +1 -1
  78. package/distr/Common/Comparers.js +1 -1
  79. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +3 -3
  80. package/distr/Common/EndPoints.js +11 -6
  81. package/distr/Common/Enums/ButtonSettingsTypeEnum.js +3 -2
  82. package/distr/Common/Errors.js +1 -1
  83. package/distr/Common/ExtractGFVPath/ExtractGFVPath.js +1 -1
  84. package/distr/Common/FSPrinterClient/FSPrinterClient.js +2 -2
  85. package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js +1 -1
  86. package/distr/Common/FSPrinterClient/IFSPrinterClient.js +11 -6
  87. package/distr/Common/FormActionHandlers/ContextualActionNames.js +1 -1
  88. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +1 -1
  89. package/distr/Common/FormPathUtils.js +2 -2
  90. package/distr/Common/Funcs.js +1 -1
  91. package/distr/Common/GFV.js +1 -1
  92. package/distr/Common/Hooks/UseLocalStorage.js +3 -3
  93. package/distr/Common/HttpClient/AuthenticationMode.js +1 -1
  94. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +3 -2
  95. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +3 -2
  96. package/distr/Common/HttpClient/FetchImplementation/Fetch.js +1 -1
  97. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +3 -2
  98. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +1 -1
  99. package/distr/Common/HttpClient/HttpClient.js +2 -2
  100. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +1 -1
  101. package/distr/Common/HttpClient/IHttpClient.js +1 -1
  102. package/distr/Common/IndentString.js +1 -1
  103. package/distr/Common/IntRangeUtils.js +1 -1
  104. package/distr/Common/IterableUtils.js +1 -1
  105. package/distr/Common/KCLangRuntimeUtils.js +1 -1
  106. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +2 -4
  107. package/distr/Common/ModelPath/BuildIterationSequence.js +1 -1
  108. package/distr/Common/ModelPath/EachCurrentCollision.js +3 -2
  109. package/distr/Common/ModelPath/IEquatable.js +1 -1
  110. package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +1 -1
  111. package/distr/Common/ModelPath/Map/Map2.js +1 -1
  112. package/distr/Common/ModelPath/Map/ModelPathMap.js +1 -1
  113. package/distr/Common/ModelPath/ModelPath.js +1 -1
  114. package/distr/Common/ModelPath/ModelPathBuilder.js +1 -1
  115. package/distr/Common/ModelPath/ModelPathHelper.js +1 -1
  116. package/distr/Common/ModelPath/PathMatcher.js +3 -2
  117. package/distr/Common/ModelPath/PathSplitHelper.js +1 -1
  118. package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +1 -1
  119. package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +1 -1
  120. package/distr/Common/ModelPath/Set/ModelPathSet.js +1 -1
  121. package/distr/Common/ModelPath/Set/Set2.js +1 -1
  122. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +1 -1
  123. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +1 -1
  124. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +1 -1
  125. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +1 -1
  126. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +1 -1
  127. package/distr/Common/NidusClient/INidusClient.js +1 -1
  128. package/distr/Common/NidusClient/NidusClientContext.js +3 -3
  129. package/distr/Common/NidusClient/NidusClientImpl.js +3 -3
  130. package/distr/Common/PathConstants.js +7 -4
  131. package/distr/Common/PicklistApiClient/IPicklistApiClient.js +1 -1
  132. package/distr/Common/PicklistApiClient/PicklistApiClient.js +1 -1
  133. package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js +1 -1
  134. package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js +1 -1
  135. package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js +1 -1
  136. package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js +1 -1
  137. package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js +1 -1
  138. package/distr/Common/RngSchemeTypes/types.js +1 -1
  139. package/distr/Common/StringArrayKey.js +1 -1
  140. package/distr/Common/TextExtractor/TextExtractorTypes.js +1 -1
  141. package/distr/Common/TypingUtils.js +1 -1
  142. package/distr/Common/UUID.js +1 -1
  143. package/distr/Common/UseAsyncEffect.js +3 -3
  144. package/distr/Common/UseShowOnce.js +1 -1
  145. package/distr/Common/UseTypedSelector.js +3 -2
  146. package/distr/Common/WellKnownDirectories.js +1 -1
  147. package/distr/Common/getRngSchemaFilename.js +1 -1
  148. package/distr/Common/hashUtils.js +1 -1
  149. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +4 -9
  150. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +12 -6
  151. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +1 -1
  152. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +3 -3
  153. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +3 -4
  154. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +1 -1
  155. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +1 -1
  156. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +1 -1
  157. package/distr/Tools/src/BuildTasks/FSTask.js +1 -1
  158. package/distr/Tools/src/BuildTasks/Form/CompileForm.js +3 -3
  159. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +3 -3
  160. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +1 -1
  161. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +1 -1
  162. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +3 -3
  163. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +1 -1
  164. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +3 -3
  165. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +3 -4
  166. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +1 -1
  167. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +4 -4
  168. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +1 -1
  169. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +1 -1
  170. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +1 -1
  171. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +1 -1
  172. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +1 -1
  173. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +5 -5
  174. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +3 -3
  175. package/distr/Tools/src/BuildTasks/ReadFormSource.js +1 -1
  176. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +3 -2
  177. package/distr/Tools/src/BuildTasks/Version.js +3 -3
  178. package/distr/Tools/src/BuildTasks/WriteFormMeta.js +1 -1
  179. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +3 -2
  180. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +3 -2
  181. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +1 -1
  182. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +3 -3
  183. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +5 -3
  184. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +5 -4
  185. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +6 -5
  186. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +5 -4
  187. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +3 -2
  188. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +5 -4
  189. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +5 -4
  190. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +3 -2
  191. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +5 -4
  192. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +5 -4
  193. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +4 -4
  194. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +1 -1
  195. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +1 -1
  196. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +1 -1
  197. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +1 -1
  198. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +1 -1
  199. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +1 -1
  200. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +1 -1
  201. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +1 -1
  202. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +3 -3
  203. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +1 -1
  204. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +1 -1
  205. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +1 -1
  206. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +1 -1
  207. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +1 -1
  208. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +3 -2
  209. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +5 -3
  210. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +1 -1
  211. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +3 -2
  212. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +1 -1
  213. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +3 -2
  214. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +2 -2
  215. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +5 -4
  216. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js +1 -1
  217. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +3 -2
  218. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +3 -2
  219. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +3 -2
  220. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +3 -3
  221. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +3 -2
  222. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +1 -1
  223. package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +3 -2
  224. package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +3 -3
  225. package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +3 -2
  226. package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +1 -1
  227. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +3 -3
  228. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +3 -2
  229. package/distr/Tools/src/CandyCLI.js +1 -1
  230. package/distr/Tools/src/CheckNodeJsVersion.js +3 -2
  231. package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +1 -1
  232. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +3 -3
  233. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +1 -1
  234. package/distr/Tools/src/Commons/ErrorUntyped.js +1 -1
  235. package/distr/Tools/src/Commons/EventObject.js +1 -1
  236. package/distr/Tools/src/Commons/ExecUtils.js +1 -1
  237. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +1 -1
  238. package/distr/Tools/src/Commons/FormGlobsUtils.js +1 -1
  239. package/distr/Tools/src/Commons/FormLocationInfo.js +1 -1
  240. package/distr/Tools/src/Commons/FsUtils.js +7 -5
  241. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +1 -1
  242. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +1 -1
  243. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +1 -1
  244. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +1 -1
  245. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +1 -1
  246. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +1 -1
  247. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +1 -1
  248. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +1 -1
  249. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +1 -1
  250. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +3 -2
  251. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +1 -1
  252. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +1 -1
  253. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +1 -1
  254. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +1 -1
  255. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +1 -1
  256. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +1 -1
  257. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +1 -1
  258. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +3 -3
  259. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +3 -2
  260. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +6 -6
  261. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +1 -1
  262. package/distr/Tools/src/Commons/Locks/Lock.js +1 -1
  263. package/distr/Tools/src/Commons/Locks/LockHandle.js +1 -1
  264. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +1 -1
  265. package/distr/Tools/src/Commons/Logging/ELKLogger.js +3 -2
  266. package/distr/Tools/src/Commons/Logging/ILogger.js +1 -1
  267. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +1 -1
  268. package/distr/Tools/src/Commons/Logging/Logger.js +1 -1
  269. package/distr/Tools/src/Commons/Logging/StaticLogger.js +1 -1
  270. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +1 -1
  271. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +3 -3
  272. package/distr/Tools/src/Commons/PathPattern.js +1 -1
  273. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +1 -1
  274. package/distr/Tools/src/Commons/TasksCore/BuildTask.js +1 -1
  275. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +5 -5
  276. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +3 -3
  277. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +1 -1
  278. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +1 -1
  279. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +1 -1
  280. package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js +1 -1
  281. package/distr/Tools/src/Commons/TasksCore/Observe.js +1 -1
  282. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +1 -1
  283. package/distr/Tools/src/Commons/TimingUtils.js +1 -1
  284. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +3 -3
  285. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +1 -1
  286. package/distr/Tools/src/GenerateReadMe.js +1 -1
  287. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
  288. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +3 -5
  289. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  290. package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +3 -5
  291. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  292. package/distr/Tools/src/Options/CandyToolOptions.js +3 -2
  293. package/distr/Tools/src/ReadFarmConfig.js +1 -1
  294. package/distr/Tools/src/SelfUpdate.js +3 -3
  295. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +686 -681
  296. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
  297. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +866 -581
  298. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.LICENSE.txt +1 -1
  299. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
  300. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +1 -1
  301. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +1 -1
  302. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +1 -1
  303. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +1 -1
  304. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +1 -1
  305. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +1 -1
  306. package/package.json +24 -24
  307. package/distr/Common/AsyncUtils.js.map +0 -1
  308. package/distr/Common/AutoValidationUtils.js.map +0 -1
  309. package/distr/Common/CandyApiClient/CandyApiClient.js.map +0 -1
  310. package/distr/Common/CandyApiClient/CandyApiClientContext.js.map +0 -1
  311. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js.map +0 -1
  312. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js.map +0 -1
  313. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js.map +0 -1
  314. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js.map +0 -1
  315. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js.map +0 -1
  316. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js.map +0 -1
  317. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js.map +0 -1
  318. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js.map +0 -1
  319. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js.map +0 -1
  320. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js.map +0 -1
  321. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js.map +0 -1
  322. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js.map +0 -1
  323. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js.map +0 -1
  324. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js.map +0 -1
  325. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js.map +0 -1
  326. package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +0 -1
  327. package/distr/Common/CandyApiClient/ICandyApiClient.js.map +0 -1
  328. package/distr/Common/CandyApiClient/IsBuffer.js.map +0 -1
  329. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js.map +0 -1
  330. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js.map +0 -1
  331. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js.map +0 -1
  332. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js.map +0 -1
  333. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js.map +0 -1
  334. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js.map +0 -1
  335. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js.map +0 -1
  336. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js.map +0 -1
  337. package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js.map +0 -1
  338. package/distr/Common/CandyApiClient/Types/DraftFullId.js.map +0 -1
  339. package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js.map +0 -1
  340. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js.map +0 -1
  341. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js.map +0 -1
  342. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +0 -1
  343. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js.map +0 -1
  344. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js.map +0 -1
  345. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js.map +0 -1
  346. package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js.map +0 -1
  347. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js.map +0 -1
  348. package/distr/Common/CandyApiClient/Types/Guid.js.map +0 -1
  349. package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js.map +0 -1
  350. package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js.map +0 -1
  351. package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js.map +0 -1
  352. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js.map +0 -1
  353. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js.map +0 -1
  354. package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js.map +0 -1
  355. package/distr/Common/CandyApiClient/Types/Print/PrintType.js.map +0 -1
  356. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js.map +0 -1
  357. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js.map +0 -1
  358. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js.map +0 -1
  359. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js.map +0 -1
  360. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js.map +0 -1
  361. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js.map +0 -1
  362. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js.map +0 -1
  363. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js.map +0 -1
  364. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js.map +0 -1
  365. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js.map +0 -1
  366. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js.map +0 -1
  367. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js.map +0 -1
  368. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js.map +0 -1
  369. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js.map +0 -1
  370. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js.map +0 -1
  371. package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js.map +0 -1
  372. package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js.map +0 -1
  373. package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js.map +0 -1
  374. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js.map +0 -1
  375. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js.map +0 -1
  376. package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js.map +0 -1
  377. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js.map +0 -1
  378. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js.map +0 -1
  379. package/distr/Common/CandyApiClient/Types/TestClassification.js.map +0 -1
  380. package/distr/Common/CollectionUtils.js.map +0 -1
  381. package/distr/Common/CommonConstants/SectionNames.js.map +0 -1
  382. package/distr/Common/Comparers.js.map +0 -1
  383. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js.map +0 -1
  384. package/distr/Common/EndPoints.js.map +0 -1
  385. package/distr/Common/Enums/ButtonSettingsTypeEnum.js.map +0 -1
  386. package/distr/Common/Errors.js.map +0 -1
  387. package/distr/Common/ExtractGFVPath/ExtractGFVPath.js.map +0 -1
  388. package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +0 -1
  389. package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js.map +0 -1
  390. package/distr/Common/FSPrinterClient/IFSPrinterClient.js.map +0 -1
  391. package/distr/Common/FormActionHandlers/ContextualActionNames.js.map +0 -1
  392. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js.map +0 -1
  393. package/distr/Common/FormPathUtils.js.map +0 -1
  394. package/distr/Common/Funcs.js.map +0 -1
  395. package/distr/Common/GFV.js.map +0 -1
  396. package/distr/Common/Hooks/UseLocalStorage.js.map +0 -1
  397. package/distr/Common/HttpClient/AuthenticationMode.js.map +0 -1
  398. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js.map +0 -1
  399. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js.map +0 -1
  400. package/distr/Common/HttpClient/FetchImplementation/Fetch.js.map +0 -1
  401. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js.map +0 -1
  402. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js.map +0 -1
  403. package/distr/Common/HttpClient/HttpClient.js.map +0 -1
  404. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js.map +0 -1
  405. package/distr/Common/HttpClient/IHttpClient.js.map +0 -1
  406. package/distr/Common/IndentString.js.map +0 -1
  407. package/distr/Common/IntRangeUtils.js.map +0 -1
  408. package/distr/Common/IterableUtils.js.map +0 -1
  409. package/distr/Common/KCLangRuntimeUtils.js.map +0 -1
  410. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +0 -1
  411. package/distr/Common/ModelPath/BuildIterationSequence.js.map +0 -1
  412. package/distr/Common/ModelPath/EachCurrentCollision.js.map +0 -1
  413. package/distr/Common/ModelPath/IEquatable.js.map +0 -1
  414. package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js.map +0 -1
  415. package/distr/Common/ModelPath/Map/Map2.js.map +0 -1
  416. package/distr/Common/ModelPath/Map/ModelPathMap.js.map +0 -1
  417. package/distr/Common/ModelPath/ModelPath.js.map +0 -1
  418. package/distr/Common/ModelPath/ModelPathBuilder.js.map +0 -1
  419. package/distr/Common/ModelPath/ModelPathHelper.js.map +0 -1
  420. package/distr/Common/ModelPath/PathMatcher.js.map +0 -1
  421. package/distr/Common/ModelPath/PathSplitHelper.js.map +0 -1
  422. package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js.map +0 -1
  423. package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js.map +0 -1
  424. package/distr/Common/ModelPath/Set/ModelPathSet.js.map +0 -1
  425. package/distr/Common/ModelPath/Set/Set2.js.map +0 -1
  426. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js.map +0 -1
  427. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js.map +0 -1
  428. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js.map +0 -1
  429. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js.map +0 -1
  430. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js.map +0 -1
  431. package/distr/Common/NidusClient/INidusClient.js.map +0 -1
  432. package/distr/Common/NidusClient/NidusClientContext.js.map +0 -1
  433. package/distr/Common/NidusClient/NidusClientImpl.js.map +0 -1
  434. package/distr/Common/PathConstants.js.map +0 -1
  435. package/distr/Common/PicklistApiClient/IPicklistApiClient.js.map +0 -1
  436. package/distr/Common/PicklistApiClient/PicklistApiClient.js.map +0 -1
  437. package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js.map +0 -1
  438. package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js.map +0 -1
  439. package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js.map +0 -1
  440. package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js.map +0 -1
  441. package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js.map +0 -1
  442. package/distr/Common/RngSchemeTypes/types.js.map +0 -1
  443. package/distr/Common/StringArrayKey.js.map +0 -1
  444. package/distr/Common/TextExtractor/TextExtractorTypes.js.map +0 -1
  445. package/distr/Common/TypingUtils.js.map +0 -1
  446. package/distr/Common/UUID.js.map +0 -1
  447. package/distr/Common/UseAsyncEffect.js.map +0 -1
  448. package/distr/Common/UseShowOnce.js.map +0 -1
  449. package/distr/Common/UseTypedSelector.js.map +0 -1
  450. package/distr/Common/WellKnownDirectories.js.map +0 -1
  451. package/distr/Common/getRngSchemaFilename.js.map +0 -1
  452. package/distr/Common/hashUtils.js.map +0 -1
  453. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +0 -1
  454. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +0 -1
  455. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js.map +0 -1
  456. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js.map +0 -1
  457. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +0 -1
  458. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js.map +0 -1
  459. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +0 -1
  460. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js.map +0 -1
  461. package/distr/Tools/src/BuildTasks/FSTask.js.map +0 -1
  462. package/distr/Tools/src/BuildTasks/Form/CompileForm.js.map +0 -1
  463. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +0 -1
  464. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +0 -1
  465. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js.map +0 -1
  466. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +0 -1
  467. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js.map +0 -1
  468. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js.map +0 -1
  469. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +0 -1
  470. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +0 -1
  471. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +0 -1
  472. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +0 -1
  473. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +0 -1
  474. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +0 -1
  475. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js.map +0 -1
  476. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js.map +0 -1
  477. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js.map +0 -1
  478. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js.map +0 -1
  479. package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +0 -1
  480. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +0 -1
  481. package/distr/Tools/src/BuildTasks/Version.js.map +0 -1
  482. package/distr/Tools/src/BuildTasks/WriteFormMeta.js.map +0 -1
  483. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js.map +0 -1
  484. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js.map +0 -1
  485. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +0 -1
  486. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js.map +0 -1
  487. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js.map +0 -1
  488. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +0 -1
  489. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +0 -1
  490. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +0 -1
  491. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js.map +0 -1
  492. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js.map +0 -1
  493. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +0 -1
  494. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js.map +0 -1
  495. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js.map +0 -1
  496. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js.map +0 -1
  497. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +0 -1
  498. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +0 -1
  499. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +0 -1
  500. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js.map +0 -1
  501. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +0 -1
  502. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js.map +0 -1
  503. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js.map +0 -1
  504. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js.map +0 -1
  505. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js.map +0 -1
  506. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js.map +0 -1
  507. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +0 -1
  508. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js.map +0 -1
  509. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js.map +0 -1
  510. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +0 -1
  511. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js.map +0 -1
  512. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js.map +0 -1
  513. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js.map +0 -1
  514. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js.map +0 -1
  515. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js.map +0 -1
  516. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +0 -1
  517. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js.map +0 -1
  518. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js.map +0 -1
  519. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js.map +0 -1
  520. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js.map +0 -1
  521. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js.map +0 -1
  522. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js.map +0 -1
  523. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js.map +0 -1
  524. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js.map +0 -1
  525. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js.map +0 -1
  526. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +0 -1
  527. package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js.map +0 -1
  528. package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js.map +0 -1
  529. package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +0 -1
  530. package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +0 -1
  531. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js.map +0 -1
  532. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js.map +0 -1
  533. package/distr/Tools/src/CandyCLI.js.map +0 -1
  534. package/distr/Tools/src/CheckNodeJsVersion.js.map +0 -1
  535. package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js.map +0 -1
  536. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js.map +0 -1
  537. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js.map +0 -1
  538. package/distr/Tools/src/Commons/ErrorUntyped.js.map +0 -1
  539. package/distr/Tools/src/Commons/EventObject.js.map +0 -1
  540. package/distr/Tools/src/Commons/ExecUtils.js.map +0 -1
  541. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js.map +0 -1
  542. package/distr/Tools/src/Commons/FormGlobsUtils.js.map +0 -1
  543. package/distr/Tools/src/Commons/FormLocationInfo.js.map +0 -1
  544. package/distr/Tools/src/Commons/FsUtils.js.map +0 -1
  545. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js.map +0 -1
  546. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js.map +0 -1
  547. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js.map +0 -1
  548. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js.map +0 -1
  549. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js.map +0 -1
  550. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js.map +0 -1
  551. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js.map +0 -1
  552. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js.map +0 -1
  553. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js.map +0 -1
  554. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js.map +0 -1
  555. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js.map +0 -1
  556. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js.map +0 -1
  557. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js.map +0 -1
  558. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js.map +0 -1
  559. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js.map +0 -1
  560. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js.map +0 -1
  561. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js.map +0 -1
  562. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js.map +0 -1
  563. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js.map +0 -1
  564. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js.map +0 -1
  565. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js.map +0 -1
  566. package/distr/Tools/src/Commons/Locks/Lock.js.map +0 -1
  567. package/distr/Tools/src/Commons/Locks/LockHandle.js.map +0 -1
  568. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js.map +0 -1
  569. package/distr/Tools/src/Commons/Logging/ELKLogger.js.map +0 -1
  570. package/distr/Tools/src/Commons/Logging/ILogger.js.map +0 -1
  571. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js.map +0 -1
  572. package/distr/Tools/src/Commons/Logging/Logger.js.map +0 -1
  573. package/distr/Tools/src/Commons/Logging/StaticLogger.js.map +0 -1
  574. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js.map +0 -1
  575. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js.map +0 -1
  576. package/distr/Tools/src/Commons/PathPattern.js.map +0 -1
  577. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js.map +0 -1
  578. package/distr/Tools/src/Commons/TasksCore/BuildTask.js.map +0 -1
  579. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +0 -1
  580. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js.map +0 -1
  581. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js.map +0 -1
  582. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js.map +0 -1
  583. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js.map +0 -1
  584. package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js.map +0 -1
  585. package/distr/Tools/src/Commons/TasksCore/Observe.js.map +0 -1
  586. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js.map +0 -1
  587. package/distr/Tools/src/Commons/TimingUtils.js.map +0 -1
  588. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js.map +0 -1
  589. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +0 -1
  590. package/distr/Tools/src/GenerateReadMe.js.map +0 -1
  591. package/distr/Tools/src/Options/CandyToolOptions.js.map +0 -1
  592. package/distr/Tools/src/ReadFarmConfig.js.map +0 -1
  593. package/distr/Tools/src/SelfUpdate.js.map +0 -1
  594. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js.map +0 -1
  595. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js.map +0 -1
  596. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js.map +0 -1
  597. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js.map +0 -1
  598. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js.map +0 -1
  599. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js.map +0 -1
@@ -15,12 +15,13 @@ var _StaticLogger = require("../Commons/Logging/StaticLogger");
15
15
  var _FormPathUtils = require("../../../Common/FormPathUtils");
16
16
  var _PublishedVersionUtils = require("./PublishedVersionUtils");
17
17
  var _Version = require("./Version");
18
- let FormBuildMode = exports.FormBuildMode = /*#__PURE__*/function (FormBuildMode) {
18
+ let FormBuildMode = /*#__PURE__*/function (FormBuildMode) {
19
19
  FormBuildMode[FormBuildMode["NormalBuild"] = 0] = "NormalBuild";
20
20
  FormBuildMode[FormBuildMode["NoEditor"] = 1] = "NoEditor";
21
21
  FormBuildMode[FormBuildMode["CopyLegacyPrebuiltResources"] = 2] = "CopyLegacyPrebuiltResources";
22
22
  return FormBuildMode;
23
23
  }({});
24
+ exports.FormBuildMode = FormBuildMode;
24
25
  async function resolveFormInfo(formJsonFile, pathToForm, _engineDirectory, logger = (0, _StaticLogger.getLogger)(), upgradeFormJson = false, useLastStableVersion = false, usePrereleaseVersion, nightly = false) {
25
26
  var _formConfig$dependenc, _formConfig$dependenc2;
26
27
  const formConfig = await readFormConfig(formJsonFile, logger);
@@ -104,4 +105,4 @@ function getFormConfigFromSource(formConfig, logger) {
104
105
  } : undefined
105
106
  };
106
107
  }
107
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnNFeHRyYSIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX0ZzVXRpbHMiLCJfU3RhdGljTG9nZ2VyIiwiX0Zvcm1QYXRoVXRpbHMiLCJfUHVibGlzaGVkVmVyc2lvblV0aWxzIiwiX1ZlcnNpb24iLCJGb3JtQnVpbGRNb2RlIiwiZXhwb3J0cyIsInJlc29sdmVGb3JtSW5mbyIsImZvcm1Kc29uRmlsZSIsInBhdGhUb0Zvcm0iLCJfZW5naW5lRGlyZWN0b3J5IiwibG9nZ2VyIiwiZ2V0TG9nZ2VyIiwidXBncmFkZUZvcm1Kc29uIiwidXNlTGFzdFN0YWJsZVZlcnNpb24iLCJ1c2VQcmVyZWxlYXNlVmVyc2lvbiIsIm5pZ2h0bHkiLCJfZm9ybUNvbmZpZyRkZXBlbmRlbmMiLCJfZm9ybUNvbmZpZyRkZXBlbmRlbmMyIiwiZm9ybUNvbmZpZyIsInJlYWRGb3JtQ29uZmlnIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJkZXBlbmRlbmNpZXMiLCJlbmdpbmUiLCJnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbiIsImdlbmVyYXRvciIsImdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uIiwibG9nIiwid3JpdGVGaWxlQXN5bmMiLCJKU09OIiwic3RyaW5naWZ5IiwicHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiIsImdldFByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24iLCJnZW5lcmF0b3JWZXJzaW9uIiwicGFyc2VDYW5keVZlcnNpb25TcGVjIiwiZW5naW5lVmVyc2lvbiIsInR5cGUiLCJwcmVJZCIsInRoZW1lcyIsIm1vZGUiLCJOb0VkaXRvciIsIkNvcHlMZWdhY3lQcmVidWlsdFJlc291cmNlcyIsIk5vcm1hbEJ1aWxkIiwiZm9ybU5hbWUiLCJleHRyYWN0R2Z2RnJvbUZvcm1QYXRoIiwiZm9ybVNvdXJjZXNQYXRoIiwiaXNOZXdGb3JtSnNvbkZvcm1hdCIsInJlYWRKc29uIiwiZ2V0Rm9ybUNvbmZpZ0Zyb21Tb3VyY2UiLCJfZm9ybUNvbmZpZyRkZXBlbmRlbmMzIiwiX2Zvcm1Db25maWckZGVwZW5kZW5jNCIsIl9mb3JtQ29uZmlnJHNldHRpbmdzIiwiX2Zvcm1Db25maWckbW9kZSIsImlzVmFsaWRTZW1WZXJWZXJzaW9uUmFuZ2UiLCJzZXR0aW5ncyIsInVzZVNlcnZlclNpZGVGTGFuZ05vcm1hbGl6YXRpb24iLCJwaWNrQnkiLCJ4IiwiYnVpbGQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEpzb24gfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IHBpY2tCeSB9IGZyb20gXCJsb2Rhc2hcIjtcblxuaW1wb3J0IHsgd3JpdGVGaWxlQXN5bmMgfSBmcm9tIFwiLi4vQ29tbW9ucy9Gc1V0aWxzXCI7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4uL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiLi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuaW1wb3J0IHsgZXh0cmFjdEdmdkZyb21Gb3JtUGF0aCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb24vRm9ybVBhdGhVdGlsc1wiO1xuXG5pbXBvcnQge1xuICAgIGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uLFxuICAgIGdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uLFxuICAgIGdldFByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24sXG59IGZyb20gXCIuL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgQ2FuZHlWZXJzaW9uU3BlYywgaXNWYWxpZFNlbVZlclZlcnNpb25SYW5nZSwgcGFyc2VDYW5keVZlcnNpb25TcGVjIH0gZnJvbSBcIi4vVmVyc2lvblwiO1xuXG5leHBvcnQgZW51bSBGb3JtQnVpbGRNb2RlIHtcbiAgICBOb3JtYWxCdWlsZCxcbiAgICBOb0VkaXRvcixcbiAgICBDb3B5TGVnYWN5UHJlYnVpbHRSZXNvdXJjZXMsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUluZm8ge1xuICAgIHRoZW1lcz86IHN0cmluZ1tdO1xuICAgIG1vZGU6IEZvcm1CdWlsZE1vZGU7XG4gICAgZm9ybU5hbWU6IHN0cmluZztcbiAgICBmb3JtU291cmNlc1BhdGg6IHN0cmluZztcbiAgICBnZW5lcmF0b3JWZXJzaW9uOiB1bmRlZmluZWQgfCBDYW5keVZlcnNpb25TcGVjO1xuICAgIGVuZ2luZVZlcnNpb246IHVuZGVmaW5lZCB8IENhbmR5VmVyc2lvblNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNvbmZpZ0NvbnRlbnQge1xuICAgIHRoZW1lcz86IHN0cmluZ1tdO1xuICAgIGJ1aWxkPzogXCJjaVwiIHwgXCJtYW51YWxcIjtcbiAgICBtb2RlPzogXCJuby1lZGl0b3JcIiB8IFwiY29weS1sZWdhY3ktcHJlYnVpbHQtcmVzb3VyY2VzXCI7XG4gICAgZGVwZW5kZW5jaWVzPzoge1xuICAgICAgICBnZW5lcmF0b3I/OiBzdHJpbmc7XG4gICAgICAgIGVuZ2luZT86IHN0cmluZztcbiAgICB9O1xuICAgIHNldHRpbmdzPzoge1xuICAgICAgICB1c2VTZXJ2ZXJTaWRlRkxhbmdOb3JtYWxpemF0aW9uPzogYm9vbGVhbjtcbiAgICAgICAgYXV0b0NhbGN1bGF0aW9uQ2FsY3VsYXRvckltcGw/OiBcImNhbGN1bGF0b3IyXCI7XG4gICAgICAgIGRpc2FibGVGbGFuZ1J1bGVzRm9yRW5hYmxlQXV0b0ZpZWxkRmVhdHVyZT86IGJvb2xlYW47XG4gICAgICAgIGRpc2FibGVGbGFuZ1J1bGVzRm9yRm9ybXVsYUFuZEluaXROb3JtYWxpemVyPzogYm9vbGVhbjtcbiAgICB9O1xufVxuXG5pbnRlcmZhY2UgRm9ybUNvbmZpZyB7XG4gICAgdGhlbWVzPzogc3RyaW5nW107XG4gICAgYnVpbGQ/OiBcImNpXCIgfCBcIm1hbnVhbFwiO1xuICAgIG1vZGU/OiBcIm5vLWVkaXRvclwiIHwgXCJjb3B5LWxlZ2FjeS1wcmVidWlsdC1yZXNvdXJjZXNcIiB8IFwibm9ybWFsLWJ1aWxkXCI7XG4gICAgZGVwZW5kZW5jaWVzPzoge1xuICAgICAgICBnZW5lcmF0b3I6IHVuZGVmaW5lZCB8IHN0cmluZztcbiAgICAgICAgZW5naW5lOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgfTtcbiAgICBzZXR0aW5nczoge1xuICAgICAgICB1c2VTZXJ2ZXJTaWRlRkxhbmdOb3JtYWxpemF0aW9uOiBib29sZWFuO1xuICAgICAgICBhdXRvQ2FsY3VsYXRpb25DYWxjdWxhdG9ySW1wbD86IFwiY2FsY3VsYXRvcjJcIiB8IFwiZGVmYXVsdFwiO1xuICAgICAgICBkaXNhYmxlRmxhbmdSdWxlc0ZvckVuYWJsZUF1dG9GaWVsZEZlYXR1cmU/OiBib29sZWFuO1xuICAgICAgICBkaXNhYmxlRmxhbmdSdWxlc0ZvckZvcm11bGFBbmRJbml0Tm9ybWFsaXplcj86IGJvb2xlYW47XG4gICAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVGb3JtSW5mbyhcbiAgICBmb3JtSnNvbkZpbGU6IHN0cmluZyxcbiAgICBwYXRoVG9Gb3JtOiBzdHJpbmcsXG4gICAgX2VuZ2luZURpcmVjdG9yeTogdW5kZWZpbmVkIHwgc3RyaW5nLFxuICAgIGxvZ2dlcjogSUxvZ2dlciA9IGdldExvZ2dlcigpLFxuICAgIHVwZ3JhZGVGb3JtSnNvbjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHVzZUxhc3RTdGFibGVWZXJzaW9uOiBib29sZWFuID0gZmFsc2UsXG4gICAgdXNlUHJlcmVsZWFzZVZlcnNpb24/OiBzdHJpbmcsXG4gICAgbmlnaHRseTogYm9vbGVhbiA9IGZhbHNlXG4pOiBQcm9taXNlPEZvcm1JbmZvPiB7XG4gICAgY29uc3QgZm9ybUNvbmZpZyA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKGZvcm1Kc29uRmlsZSwgbG9nZ2VyKTtcbiAgICBpZiAodXNlTGFzdFN0YWJsZVZlcnNpb24gJiYgdXNlUHJlcmVsZWFzZVZlcnNpb24gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcItCd0LXQvtCx0YXQvtC00LjQvNC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQu9C40LHQviDRhNC70LDQsyB1c2VMYXN0U3RhYmxlVmVyc2lvbiDQu9C40LHQviB1c2VQcmVyZWxlYXNlVmVyc2lvblwiKTtcbiAgICB9XG4gICAgaWYgKHVzZUxhc3RTdGFibGVWZXJzaW9uKSB7XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzID0ge1xuICAgICAgICAgICAgZW5naW5lOiBhd2FpdCBnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbigpLFxuICAgICAgICAgICAgZ2VuZXJhdG9yOiBhd2FpdCBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbigpLFxuICAgICAgICB9O1xuICAgICAgICBsb2dnZXIubG9nKGBVcGRhdGVkIHRvIGxhc3Qgc3RhYmxlIHZlcnNpb24gJHtmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmV9YCk7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZUFzeW5jKGZvcm1Kc29uRmlsZSwgSlNPTi5zdHJpbmdpZnkoZm9ybUNvbmZpZywgdW5kZWZpbmVkLCBcIiAgXCIpLCBcInV0ZjhcIik7XG4gICAgfVxuICAgIGlmICh1c2VQcmVyZWxlYXNlVmVyc2lvbiAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgcHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiA9IGF3YWl0IGdldFByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24odXNlUHJlcmVsZWFzZVZlcnNpb24pO1xuICAgICAgICBpZiAocHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzID0ge1xuICAgICAgICAgICAgICAgIGVuZ2luZTogcHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbixcbiAgICAgICAgICAgICAgICBnZW5lcmF0b3I6IHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhgVXBkYXRlZCB0byBsYXN0IHByZXJlbGVhc2UgdmVyc2lvbiAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB3cml0ZUZpbGVBc3luYyhmb3JtSnNvbkZpbGUsIEpTT04uc3RyaW5naWZ5KGZvcm1Db25maWcsIHVuZGVmaW5lZCwgXCIgIFwiKSwgXCJ1dGY4XCIpO1xuICAgIH1cbiAgICBsZXQgZ2VuZXJhdG9yVmVyc2lvbiA9XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5nZW5lcmF0b3IgIT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHBhcnNlQ2FuZHlWZXJzaW9uU3BlYyhmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5nZW5lcmF0b3IpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBsZXQgZW5naW5lVmVyc2lvbiA9XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5lbmdpbmUgIT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHBhcnNlQ2FuZHlWZXJzaW9uU3BlYyhmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBpZiAobmlnaHRseSkge1xuICAgICAgICBnZW5lcmF0b3JWZXJzaW9uID0geyB0eXBlOiBcInByZVwiLCBwcmVJZDogXCJuaWdodGx5XCIgfTtcbiAgICAgICAgZW5naW5lVmVyc2lvbiA9IHsgdHlwZTogXCJwcmVcIiwgcHJlSWQ6IFwibmlnaHRseVwiIH07XG4gICAgfVxuICAgIGlmICh1cGdyYWRlRm9ybUpzb24pIHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlQXN5bmMoZm9ybUpzb25GaWxlLCBKU09OLnN0cmluZ2lmeShmb3JtQ29uZmlnLCB1bmRlZmluZWQsIFwiICBcIiksIFwidXRmOFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGhlbWVzOiBmb3JtQ29uZmlnLnRoZW1lcyxcbiAgICAgICAgbW9kZTpcbiAgICAgICAgICAgIGZvcm1Db25maWcubW9kZSA9PT0gXCJuby1lZGl0b3JcIlxuICAgICAgICAgICAgICAgID8gRm9ybUJ1aWxkTW9kZS5Ob0VkaXRvclxuICAgICAgICAgICAgICAgIDogZm9ybUNvbmZpZy5tb2RlID09PSBcImNvcHktbGVnYWN5LXByZWJ1aWx0LXJlc291cmNlc1wiXG4gICAgICAgICAgICAgICAgPyBGb3JtQnVpbGRNb2RlLkNvcHlMZWdhY3lQcmVidWlsdFJlc291cmNlc1xuICAgICAgICAgICAgICAgIDogRm9ybUJ1aWxkTW9kZS5Ob3JtYWxCdWlsZCxcbiAgICAgICAgZm9ybU5hbWU6IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGgocGF0aFRvRm9ybSksXG4gICAgICAgIGZvcm1Tb3VyY2VzUGF0aDogcGF0aFRvRm9ybSxcbiAgICAgICAgZ2VuZXJhdG9yVmVyc2lvbjogZ2VuZXJhdG9yVmVyc2lvbixcbiAgICAgICAgZW5naW5lVmVyc2lvbjogZW5naW5lVmVyc2lvbixcbiAgICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNOZXdGb3JtSnNvbkZvcm1hdChmb3JtSnNvbkZpbGU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby11bnNhZmUtYW55XG4gICAgY29uc3QgZm9ybUNvbmZpZzogRm9ybUNvbmZpZ0NvbnRlbnQgPSBhd2FpdCByZWFkSnNvbihmb3JtSnNvbkZpbGUpO1xuICAgIHJldHVybiBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyAhPSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkRm9ybUNvbmZpZyhmb3JtSnNvbkZpbGU6IHN0cmluZywgbG9nZ2VyOiBJTG9nZ2VyKTogUHJvbWlzZTxGb3JtQ29uZmlnPiB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICBjb25zdCBmb3JtQ29uZmlnOiBGb3JtQ29uZmlnQ29udGVudCA9IGF3YWl0IHJlYWRKc29uKGZvcm1Kc29uRmlsZSk7XG4gICAgcmV0dXJuIGdldEZvcm1Db25maWdGcm9tU291cmNlKGZvcm1Db25maWcsIGxvZ2dlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtQ29uZmlnRnJvbVNvdXJjZShmb3JtQ29uZmlnOiBGb3JtQ29uZmlnQ29udGVudCwgbG9nZ2VyOiBJTG9nZ2VyKTogRm9ybUNvbmZpZyB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICBpZiAoXG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5nZW5lcmF0b3IgIT0gdW5kZWZpbmVkICYmXG4gICAgICAgICFpc1ZhbGlkU2VtVmVyVmVyc2lvblJhbmdlKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzLmdlbmVyYXRvcilcbiAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmdlbmVyYXRvcn0gaXMgbm90IHZhbGlkIHZlcnNpb24gZm9ybWF0YCk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5lbmdpbmUgIT0gdW5kZWZpbmVkICYmICFpc1ZhbGlkU2VtVmVyVmVyc2lvblJhbmdlKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX0gaXMgbm90IHZhbGlkIHZlcnNpb24gZm9ybWF0YCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2V0dGluZ3MgPSB7XG4gICAgICAgIHVzZVNlcnZlclNpZGVGTGFuZ05vcm1hbGl6YXRpb246IGZhbHNlLFxuICAgICAgICAuLi5waWNrQnkoZm9ybUNvbmZpZy5zZXR0aW5ncyA/PyB7fSwgeCA9PiB4ICE9PSB1bmRlZmluZWQpLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB0aGVtZXM6IGZvcm1Db25maWcudGhlbWVzLFxuICAgICAgICBidWlsZDogZm9ybUNvbmZpZy5idWlsZCB8fCBcIm1hbnVhbFwiLFxuICAgICAgICBtb2RlOiBmb3JtQ29uZmlnLm1vZGUgPz8gXCJub3JtYWwtYnVpbGRcIixcbiAgICAgICAgc2V0dGluZ3M6IHNldHRpbmdzLFxuICAgICAgICBkZXBlbmRlbmNpZXM6XG4gICAgICAgICAgICBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyAhPSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3I6IGZvcm1Db25maWcuZGVwZW5kZW5jaWVzLmdlbmVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgICBlbmdpbmU6IGZvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssc0JBQUEsR0FBQUwsT0FBQTtBQUtBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUErRixJQUVuRk8sYUFBYSxHQUFBQyxPQUFBLENBQUFELGFBQUEsMEJBQWJBLGFBQWE7RUFBYkEsYUFBYSxDQUFiQSxhQUFhO0VBQWJBLGFBQWEsQ0FBYkEsYUFBYTtFQUFiQSxhQUFhLENBQWJBLGFBQWE7RUFBQSxPQUFiQSxhQUFhO0FBQUE7QUErQ2xCLGVBQWVFLGVBQWVBLENBQ2pDQyxZQUFvQixFQUNw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
108
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnNFeHRyYSIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX0ZzVXRpbHMiLCJfU3RhdGljTG9nZ2VyIiwiX0Zvcm1QYXRoVXRpbHMiLCJfUHVibGlzaGVkVmVyc2lvblV0aWxzIiwiX1ZlcnNpb24iLCJGb3JtQnVpbGRNb2RlIiwiZXhwb3J0cyIsInJlc29sdmVGb3JtSW5mbyIsImZvcm1Kc29uRmlsZSIsInBhdGhUb0Zvcm0iLCJfZW5naW5lRGlyZWN0b3J5IiwibG9nZ2VyIiwiZ2V0TG9nZ2VyIiwidXBncmFkZUZvcm1Kc29uIiwidXNlTGFzdFN0YWJsZVZlcnNpb24iLCJ1c2VQcmVyZWxlYXNlVmVyc2lvbiIsIm5pZ2h0bHkiLCJfZm9ybUNvbmZpZyRkZXBlbmRlbmMiLCJfZm9ybUNvbmZpZyRkZXBlbmRlbmMyIiwiZm9ybUNvbmZpZyIsInJlYWRGb3JtQ29uZmlnIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJkZXBlbmRlbmNpZXMiLCJlbmdpbmUiLCJnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbiIsImdlbmVyYXRvciIsImdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uIiwibG9nIiwid3JpdGVGaWxlQXN5bmMiLCJKU09OIiwic3RyaW5naWZ5IiwicHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiIsImdldFByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24iLCJnZW5lcmF0b3JWZXJzaW9uIiwicGFyc2VDYW5keVZlcnNpb25TcGVjIiwiZW5naW5lVmVyc2lvbiIsInR5cGUiLCJwcmVJZCIsInRoZW1lcyIsIm1vZGUiLCJOb0VkaXRvciIsIkNvcHlMZWdhY3lQcmVidWlsdFJlc291cmNlcyIsIk5vcm1hbEJ1aWxkIiwiZm9ybU5hbWUiLCJleHRyYWN0R2Z2RnJvbUZvcm1QYXRoIiwiZm9ybVNvdXJjZXNQYXRoIiwiaXNOZXdGb3JtSnNvbkZvcm1hdCIsInJlYWRKc29uIiwiZ2V0Rm9ybUNvbmZpZ0Zyb21Tb3VyY2UiLCJfZm9ybUNvbmZpZyRkZXBlbmRlbmMzIiwiX2Zvcm1Db25maWckZGVwZW5kZW5jNCIsIl9mb3JtQ29uZmlnJHNldHRpbmdzIiwiX2Zvcm1Db25maWckbW9kZSIsImlzVmFsaWRTZW1WZXJWZXJzaW9uUmFuZ2UiLCJzZXR0aW5ncyIsInVzZVNlcnZlclNpZGVGTGFuZ05vcm1hbGl6YXRpb24iLCJwaWNrQnkiLCJ4IiwiYnVpbGQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEpzb24gfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IHBpY2tCeSB9IGZyb20gXCJsb2Rhc2hcIjtcblxuaW1wb3J0IHsgd3JpdGVGaWxlQXN5bmMgfSBmcm9tIFwiLi4vQ29tbW9ucy9Gc1V0aWxzXCI7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4uL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiLi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuaW1wb3J0IHsgZXh0cmFjdEdmdkZyb21Gb3JtUGF0aCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb24vRm9ybVBhdGhVdGlsc1wiO1xuXG5pbXBvcnQge1xuICAgIGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uLFxuICAgIGdldExhc3RTdGFibGVHZW5lcmF0b3JWZXJzaW9uLFxuICAgIGdldFByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24sXG59IGZyb20gXCIuL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgQ2FuZHlWZXJzaW9uU3BlYywgaXNWYWxpZFNlbVZlclZlcnNpb25SYW5nZSwgcGFyc2VDYW5keVZlcnNpb25TcGVjIH0gZnJvbSBcIi4vVmVyc2lvblwiO1xuXG5leHBvcnQgZW51bSBGb3JtQnVpbGRNb2RlIHtcbiAgICBOb3JtYWxCdWlsZCxcbiAgICBOb0VkaXRvcixcbiAgICBDb3B5TGVnYWN5UHJlYnVpbHRSZXNvdXJjZXMsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUluZm8ge1xuICAgIHRoZW1lcz86IHN0cmluZ1tdO1xuICAgIG1vZGU6IEZvcm1CdWlsZE1vZGU7XG4gICAgZm9ybU5hbWU6IHN0cmluZztcbiAgICBmb3JtU291cmNlc1BhdGg6IHN0cmluZztcbiAgICBnZW5lcmF0b3JWZXJzaW9uOiB1bmRlZmluZWQgfCBDYW5keVZlcnNpb25TcGVjO1xuICAgIGVuZ2luZVZlcnNpb246IHVuZGVmaW5lZCB8IENhbmR5VmVyc2lvblNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNvbmZpZ0NvbnRlbnQge1xuICAgIHRoZW1lcz86IHN0cmluZ1tdO1xuICAgIGJ1aWxkPzogXCJjaVwiIHwgXCJtYW51YWxcIjtcbiAgICBtb2RlPzogXCJuby1lZGl0b3JcIiB8IFwiY29weS1sZWdhY3ktcHJlYnVpbHQtcmVzb3VyY2VzXCI7XG4gICAgZGVwZW5kZW5jaWVzPzoge1xuICAgICAgICBnZW5lcmF0b3I/OiBzdHJpbmc7XG4gICAgICAgIGVuZ2luZT86IHN0cmluZztcbiAgICB9O1xuICAgIHNldHRpbmdzPzoge1xuICAgICAgICB1c2VTZXJ2ZXJTaWRlRkxhbmdOb3JtYWxpemF0aW9uPzogYm9vbGVhbjtcbiAgICAgICAgYXV0b0NhbGN1bGF0aW9uQ2FsY3VsYXRvckltcGw/OiBcImNhbGN1bGF0b3IyXCI7XG4gICAgICAgIGRpc2FibGVGbGFuZ1J1bGVzRm9yRW5hYmxlQXV0b0ZpZWxkRmVhdHVyZT86IGJvb2xlYW47XG4gICAgICAgIGRpc2FibGVGbGFuZ1J1bGVzRm9yRm9ybXVsYUFuZEluaXROb3JtYWxpemVyPzogYm9vbGVhbjtcbiAgICB9O1xufVxuXG5pbnRlcmZhY2UgRm9ybUNvbmZpZyB7XG4gICAgdGhlbWVzPzogc3RyaW5nW107XG4gICAgYnVpbGQ/OiBcImNpXCIgfCBcIm1hbnVhbFwiO1xuICAgIG1vZGU/OiBcIm5vLWVkaXRvclwiIHwgXCJjb3B5LWxlZ2FjeS1wcmVidWlsdC1yZXNvdXJjZXNcIiB8IFwibm9ybWFsLWJ1aWxkXCI7XG4gICAgZGVwZW5kZW5jaWVzPzoge1xuICAgICAgICBnZW5lcmF0b3I6IHVuZGVmaW5lZCB8IHN0cmluZztcbiAgICAgICAgZW5naW5lOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgfTtcbiAgICBzZXR0aW5nczoge1xuICAgICAgICB1c2VTZXJ2ZXJTaWRlRkxhbmdOb3JtYWxpemF0aW9uOiBib29sZWFuO1xuICAgICAgICBhdXRvQ2FsY3VsYXRpb25DYWxjdWxhdG9ySW1wbD86IFwiY2FsY3VsYXRvcjJcIiB8IFwiZGVmYXVsdFwiO1xuICAgICAgICBkaXNhYmxlRmxhbmdSdWxlc0ZvckVuYWJsZUF1dG9GaWVsZEZlYXR1cmU/OiBib29sZWFuO1xuICAgICAgICBkaXNhYmxlRmxhbmdSdWxlc0ZvckZvcm11bGFBbmRJbml0Tm9ybWFsaXplcj86IGJvb2xlYW47XG4gICAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVGb3JtSW5mbyhcbiAgICBmb3JtSnNvbkZpbGU6IHN0cmluZyxcbiAgICBwYXRoVG9Gb3JtOiBzdHJpbmcsXG4gICAgX2VuZ2luZURpcmVjdG9yeTogdW5kZWZpbmVkIHwgc3RyaW5nLFxuICAgIGxvZ2dlcjogSUxvZ2dlciA9IGdldExvZ2dlcigpLFxuICAgIHVwZ3JhZGVGb3JtSnNvbjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHVzZUxhc3RTdGFibGVWZXJzaW9uOiBib29sZWFuID0gZmFsc2UsXG4gICAgdXNlUHJlcmVsZWFzZVZlcnNpb24/OiBzdHJpbmcsXG4gICAgbmlnaHRseTogYm9vbGVhbiA9IGZhbHNlXG4pOiBQcm9taXNlPEZvcm1JbmZvPiB7XG4gICAgY29uc3QgZm9ybUNvbmZpZyA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKGZvcm1Kc29uRmlsZSwgbG9nZ2VyKTtcbiAgICBpZiAodXNlTGFzdFN0YWJsZVZlcnNpb24gJiYgdXNlUHJlcmVsZWFzZVZlcnNpb24gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcItCd0LXQvtCx0YXQvtC00LjQvNC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQu9C40LHQviDRhNC70LDQsyB1c2VMYXN0U3RhYmxlVmVyc2lvbiDQu9C40LHQviB1c2VQcmVyZWxlYXNlVmVyc2lvblwiKTtcbiAgICB9XG4gICAgaWYgKHVzZUxhc3RTdGFibGVWZXJzaW9uKSB7XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzID0ge1xuICAgICAgICAgICAgZW5naW5lOiBhd2FpdCBnZXRMYXN0U3RhYmxlRW5naW5lVmVyc2lvbigpLFxuICAgICAgICAgICAgZ2VuZXJhdG9yOiBhd2FpdCBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbigpLFxuICAgICAgICB9O1xuICAgICAgICBsb2dnZXIubG9nKGBVcGRhdGVkIHRvIGxhc3Qgc3RhYmxlIHZlcnNpb24gJHtmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmV9YCk7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZUFzeW5jKGZvcm1Kc29uRmlsZSwgSlNPTi5zdHJpbmdpZnkoZm9ybUNvbmZpZywgdW5kZWZpbmVkLCBcIiAgXCIpLCBcInV0ZjhcIik7XG4gICAgfVxuICAgIGlmICh1c2VQcmVyZWxlYXNlVmVyc2lvbiAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgcHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiA9IGF3YWl0IGdldFByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24odXNlUHJlcmVsZWFzZVZlcnNpb24pO1xuICAgICAgICBpZiAocHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbiAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzID0ge1xuICAgICAgICAgICAgICAgIGVuZ2luZTogcHJlcmVsZWFzZVZlcnNpb25Gb3JtSnNvbixcbiAgICAgICAgICAgICAgICBnZW5lcmF0b3I6IHByZXJlbGVhc2VWZXJzaW9uRm9ybUpzb24sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhgVXBkYXRlZCB0byBsYXN0IHByZXJlbGVhc2UgdmVyc2lvbiAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB3cml0ZUZpbGVBc3luYyhmb3JtSnNvbkZpbGUsIEpTT04uc3RyaW5naWZ5KGZvcm1Db25maWcsIHVuZGVmaW5lZCwgXCIgIFwiKSwgXCJ1dGY4XCIpO1xuICAgIH1cbiAgICBsZXQgZ2VuZXJhdG9yVmVyc2lvbiA9XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5nZW5lcmF0b3IgIT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHBhcnNlQ2FuZHlWZXJzaW9uU3BlYyhmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5nZW5lcmF0b3IpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBsZXQgZW5naW5lVmVyc2lvbiA9XG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5lbmdpbmUgIT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHBhcnNlQ2FuZHlWZXJzaW9uU3BlYyhmb3JtQ29uZmlnLmRlcGVuZGVuY2llcy5lbmdpbmUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBpZiAobmlnaHRseSkge1xuICAgICAgICBnZW5lcmF0b3JWZXJzaW9uID0geyB0eXBlOiBcInByZVwiLCBwcmVJZDogXCJuaWdodGx5XCIgfTtcbiAgICAgICAgZW5naW5lVmVyc2lvbiA9IHsgdHlwZTogXCJwcmVcIiwgcHJlSWQ6IFwibmlnaHRseVwiIH07XG4gICAgfVxuICAgIGlmICh1cGdyYWRlRm9ybUpzb24pIHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlQXN5bmMoZm9ybUpzb25GaWxlLCBKU09OLnN0cmluZ2lmeShmb3JtQ29uZmlnLCB1bmRlZmluZWQsIFwiICBcIiksIFwidXRmOFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGhlbWVzOiBmb3JtQ29uZmlnLnRoZW1lcyxcbiAgICAgICAgbW9kZTpcbiAgICAgICAgICAgIGZvcm1Db25maWcubW9kZSA9PT0gXCJuby1lZGl0b3JcIlxuICAgICAgICAgICAgICAgID8gRm9ybUJ1aWxkTW9kZS5Ob0VkaXRvclxuICAgICAgICAgICAgICAgIDogZm9ybUNvbmZpZy5tb2RlID09PSBcImNvcHktbGVnYWN5LXByZWJ1aWx0LXJlc291cmNlc1wiXG4gICAgICAgICAgICAgICAgPyBGb3JtQnVpbGRNb2RlLkNvcHlMZWdhY3lQcmVidWlsdFJlc291cmNlc1xuICAgICAgICAgICAgICAgIDogRm9ybUJ1aWxkTW9kZS5Ob3JtYWxCdWlsZCxcbiAgICAgICAgZm9ybU5hbWU6IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGgocGF0aFRvRm9ybSksXG4gICAgICAgIGZvcm1Tb3VyY2VzUGF0aDogcGF0aFRvRm9ybSxcbiAgICAgICAgZ2VuZXJhdG9yVmVyc2lvbjogZ2VuZXJhdG9yVmVyc2lvbixcbiAgICAgICAgZW5naW5lVmVyc2lvbjogZW5naW5lVmVyc2lvbixcbiAgICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNOZXdGb3JtSnNvbkZvcm1hdChmb3JtSnNvbkZpbGU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby11bnNhZmUtYW55XG4gICAgY29uc3QgZm9ybUNvbmZpZzogRm9ybUNvbmZpZ0NvbnRlbnQgPSBhd2FpdCByZWFkSnNvbihmb3JtSnNvbkZpbGUpO1xuICAgIHJldHVybiBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyAhPSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkRm9ybUNvbmZpZyhmb3JtSnNvbkZpbGU6IHN0cmluZywgbG9nZ2VyOiBJTG9nZ2VyKTogUHJvbWlzZTxGb3JtQ29uZmlnPiB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICBjb25zdCBmb3JtQ29uZmlnOiBGb3JtQ29uZmlnQ29udGVudCA9IGF3YWl0IHJlYWRKc29uKGZvcm1Kc29uRmlsZSk7XG4gICAgcmV0dXJuIGdldEZvcm1Db25maWdGcm9tU291cmNlKGZvcm1Db25maWcsIGxvZ2dlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtQ29uZmlnRnJvbVNvdXJjZShmb3JtQ29uZmlnOiBGb3JtQ29uZmlnQ29udGVudCwgbG9nZ2VyOiBJTG9nZ2VyKTogRm9ybUNvbmZpZyB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICBpZiAoXG4gICAgICAgIGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5nZW5lcmF0b3IgIT0gdW5kZWZpbmVkICYmXG4gICAgICAgICFpc1ZhbGlkU2VtVmVyVmVyc2lvblJhbmdlKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzLmdlbmVyYXRvcilcbiAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmdlbmVyYXRvcn0gaXMgbm90IHZhbGlkIHZlcnNpb24gZm9ybWF0YCk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzPy5lbmdpbmUgIT0gdW5kZWZpbmVkICYmICFpc1ZhbGlkU2VtVmVyVmVyc2lvblJhbmdlKGZvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2Zvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZX0gaXMgbm90IHZhbGlkIHZlcnNpb24gZm9ybWF0YCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2V0dGluZ3MgPSB7XG4gICAgICAgIHVzZVNlcnZlclNpZGVGTGFuZ05vcm1hbGl6YXRpb246IGZhbHNlLFxuICAgICAgICAuLi5waWNrQnkoZm9ybUNvbmZpZy5zZXR0aW5ncyA/PyB7fSwgeCA9PiB4ICE9PSB1bmRlZmluZWQpLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB0aGVtZXM6IGZvcm1Db25maWcudGhlbWVzLFxuICAgICAgICBidWlsZDogZm9ybUNvbmZpZy5idWlsZCB8fCBcIm1hbnVhbFwiLFxuICAgICAgICBtb2RlOiBmb3JtQ29uZmlnLm1vZGUgPz8gXCJub3JtYWwtYnVpbGRcIixcbiAgICAgICAgc2V0dGluZ3M6IHNldHRpbmdzLFxuICAgICAgICBkZXBlbmRlbmNpZXM6XG4gICAgICAgICAgICBmb3JtQ29uZmlnLmRlcGVuZGVuY2llcyAhPSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3I6IGZvcm1Db25maWcuZGVwZW5kZW5jaWVzLmdlbmVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgICBlbmdpbmU6IGZvcm1Db25maWcuZGVwZW5kZW5jaWVzLmVuZ2luZSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssc0JBQUEsR0FBQUwsT0FBQTtBQUtBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUErRixJQUVuRk8sYUFBYSwwQkFBYkEsYUFBYTtFQUFiQSxhQUFhLENBQWJBLGFBQWE7RUFBYkEsYUFBYSxDQUFiQSxhQUFhO0VBQWJBLGFBQWEsQ0FBYkEsYUFBYTtFQUFBLE9BQWJBLGFBQWE7QUFBQTtBQUFBQyxPQUFBLENBQUFELGFBQUEsR0FBQUEsYUFBQTtBQStDbEIsZUFBZUUsZUFBZUEsQ0FDakNDLFlBQW9CLEVBQ3BCQyxVQUFrQixFQUNsQkMsZ0JBQW9DLEVBQ3BDQyxNQUFlLEdBQUcsSUFBQUMsdUJBQVMsRUFBQyxDQUFDLEVBQzdCQyxlQUF3QixHQUFHLEtBQUssRUFDaENDLG9CQUE2QixHQUFHLEtBQUssRUFDckNDLG9CQUE2QixFQUM3QkMsT0FBZ0IsR0FBRyxLQUFLLEVBQ1A7RUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxzQkFBQTtFQUNqQixNQUFNQyxVQUFVLEdBQUcsTUFBTUMsY0FBYyxDQUFDWixZQUFZLEVBQUVHLE1BQU0sQ0FBQztFQUM3RCxJQUFJRyxvQkFBb0IsSUFBSUMsb0JBQW9CLElBQUlNLFNBQVMsRUFBRTtJQUMzRCxNQUFNLElBQUlDLEtBQUssQ0FBQyxrRkFBa0YsQ0FBQztFQUN2RztFQUNBLElBQUlSLG9CQUFvQixFQUFFO0lBQ3RCSyxVQUFVLENBQUNJLFlBQVksR0FBRztNQUN0QkMsTUFBTSxFQUFFLE1BQU0sSUFBQUMsaURBQTBCLEVBQUMsQ0FBQztNQUMxQ0MsU0FBUyxFQUFFLE1BQU0sSUFBQUMsb0RBQTZCLEVBQUM7SUFDbkQsQ0FBQztJQUNEaEIsTUFBTSxDQUFDaUIsR0FBRyxDQUFFLGtDQUFpQ1QsVUFBVSxDQUFDSSxZQUFZLENBQUNDLE1BQU8sRUFBQyxDQUFDO0lBQzlFLE1BQU0sSUFBQUssdUJBQWMsRUFBQ3JCLFlBQVksRUFBRXNCLElBQUksQ0FBQ0MsU0FBUyxDQUFDWixVQUFVLEVBQUVFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUM7RUFDM0Y7RUFDQSxJQUFJTixvQkFBb0IsSUFBSU0sU0FBUyxFQUFFO0lBQ25DLE1BQU1XLHlCQUF5QixHQUFHLE1BQU0sSUFBQUMsbURBQTRCLEVBQUNsQixvQkFBb0IsQ0FBQztJQUMxRixJQUFJaUIseUJBQXlCLElBQUlYLFNBQVMsRUFBRTtNQUN4Q0YsVUFBVSxDQUFDSSxZQUFZLEdBQUc7UUFDdEJDLE1BQU0sRUFBRVEseUJBQXlCO1FBQ2pDTixTQUFTLEVBQUVNO01BQ2YsQ0FBQztNQUNEckIsTUFBTSxDQUFDaUIsR0FBRyxDQUFFLHNDQUFxQ1QsVUFBVSxDQUFDSSxZQUFZLENBQUNDLE1BQU8sRUFBQyxDQUFDO0lBQ3RGO0lBQ0EsTUFBTSxJQUFBSyx1QkFBYyxFQUFDckIsWUFBWSxFQUFFc0IsSUFBSSxDQUFDQyxTQUFTLENBQUNaLFVBQVUsRUFBRUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQztFQUMzRjtFQUNBLElBQUlhLGdCQUFnQixHQUNoQixFQUFBakIscUJBQUEsR0FBQUUsVUFBVSxDQUFDSSxZQUFZLGNBQUFOLHFCQUFBLHVCQUF2QkEscUJBQUEsQ0FBeUJTLFNBQVMsS0FBSUwsU0FBUyxHQUN6QyxJQUFBYyw4QkFBcUIsRUFBQ2hCLFVBQVUsQ0FBQ0ksWUFBWSxDQUFDRyxTQUFTLENBQUMsR0FDeERMLFNBQVM7RUFDbkIsSUFBSWUsYUFBYSxHQUNiLEVBQUFsQixzQkFBQSxHQUFBQyxVQUFVLENBQUNJLFlBQVksY0FBQUwsc0JBQUEsdUJBQXZCQSxzQkFBQSxDQUF5Qk0sTUFBTSxLQUFJSCxTQUFTLEdBQ3RDLElBQUFjLDhCQUFxQixFQUFDaEIsVUFBVSxDQUFDSSxZQUFZLENBQUNDLE1BQU0sQ0FBQyxHQUNyREgsU0FBUztFQUNuQixJQUFJTCxPQUFPLEVBQUU7SUFDVGtCLGdCQUFnQixHQUFHO01BQUVHLElBQUksRUFBRSxLQUFLO01BQUVDLEtBQUssRUFBRTtJQUFVLENBQUM7SUFDcERGLGFBQWEsR0FBRztNQUFFQyxJQUFJLEVBQUUsS0FBSztNQUFFQyxLQUFLLEVBQUU7SUFBVSxDQUFDO0VBQ3JEO0VBQ0EsSUFBSXpCLGVBQWUsRUFBRTtJQUNqQixNQUFNLElBQUFnQix1QkFBYyxFQUFDckIsWUFBWSxFQUFFc0IsSUFBSSxDQUFDQyxTQUFTLENBQUNaLFVBQVUsRUFBRUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQztFQUMzRjtFQUNBLE9BQU87SUFDSGtCLE1BQU0sRUFBRXBCLFVBQVUsQ0FBQ29CLE1BQU07SUFDekJDLElBQUksRUFDQXJCLFVBQVUsQ0FBQ3FCLElBQUksS0FBSyxXQUFXLEdBQ3pCbkMsYUFBYSxDQUFDb0MsUUFBUSxHQUN0QnRCLFVBQVUsQ0FBQ3FCLElBQUksS0FBSyxnQ0FBZ0MsR0FDcERuQyxhQUFhLENBQUNxQywyQkFBMkIsR0FDekNyQyxhQUFhLENBQUNzQyxXQUFXO0lBQ25DQyxRQUFRLEVBQUUsSUFBQUMscUNBQXNCLEVBQUNwQyxVQUFVLENBQUM7SUFDNUNxQyxlQUFlLEVBQUVyQyxVQUFVO0lBQzNCeUIsZ0JBQWdCLEVBQUVBLGdCQUFnQjtJQUNsQ0UsYUFBYSxFQUFFQTtFQUNuQixDQUFDO0FBQ0w7QUFFTyxlQUFlVyxtQkFBbUJBLENBQUN2QyxZQUFvQixFQUFvQjtFQUM5RTtFQUNBLE1BQU1XLFVBQTZCLEdBQUcsTUFBTSxJQUFBNkIsaUJBQVEsRUFBQ3hDLFlBQVksQ0FBQztFQUNsRSxPQUFPVyxVQUFVLENBQUNJLFlBQVksSUFBSUYsU0FBUztBQUMvQztBQUVPLGVBQWVELGNBQWNBLENBQUNaLFlBQW9CLEVBQUVHLE1BQWUsRUFBdUI7RUFDN0Y7RUFDQSxNQUFNUSxVQUE2QixHQUFHLE1BQU0sSUFBQTZCLGlCQUFRLEVBQUN4QyxZQUFZLENBQUM7RUFDbEUsT0FBT3lDLHVCQUF1QixDQUFDOUIsVUFBVSxFQUFFUixNQUFNLENBQUM7QUFDdEQ7QUFFTyxTQUFTc0MsdUJBQXVCQSxDQUFDOUIsVUFBNkIsRUFBRVIsTUFBZSxFQUFjO0VBQUEsSUFBQXVDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLG9CQUFBLEVBQUFDLGdCQUFBO0VBQ2hHO0VBQ0EsSUFDSSxFQUFBSCxzQkFBQSxHQUFBL0IsVUFBVSxDQUFDSSxZQUFZLGNBQUEyQixzQkFBQSx1QkFBdkJBLHNCQUFBLENBQXlCeEIsU0FBUyxLQUFJTCxTQUFTLElBQy9DLENBQUMsSUFBQWlDLGtDQUF5QixFQUFDbkMsVUFBVSxDQUFDSSxZQUFZLENBQUNHLFNBQVMsQ0FBQyxFQUMvRDtJQUNFLE1BQU0sSUFBSUosS0FBSyxDQUFFLEdBQUVILFVBQVUsQ0FBQ0ksWUFBWSxDQUFDRyxTQUFVLDhCQUE2QixDQUFDO0VBQ3ZGO0VBRUEsSUFBSSxFQUFBeUIsc0JBQUEsR0FBQWhDLFVBQVUsQ0FBQ0ksWUFBWSxjQUFBNEIsc0JBQUEsdUJBQXZCQSxzQkFBQSxDQUF5QjNCLE1BQU0sS0FBSUgsU0FBUyxJQUFJLENBQUMsSUFBQWlDLGtDQUF5QixFQUFDbkMsVUFBVSxDQUFDSSxZQUFZLENBQUNDLE1BQU0sQ0FBQyxFQUFFO0lBQzVHLE1BQU0sSUFBSUYsS0FBSyxDQUFFLEdBQUVILFVBQVUsQ0FBQ0ksWUFBWSxDQUFDQyxNQUFPLDhCQUE2QixDQUFDO0VBQ3BGO0VBRUEsTUFBTStCLFFBQVEsR0FBRztJQUNiQywrQkFBK0IsRUFBRSxLQUFLO0lBQ3RDLEdBQUcsSUFBQUMsY0FBTSxHQUFBTCxvQkFBQSxHQUFDakMsVUFBVSxDQUFDb0MsUUFBUSxjQUFBSCxvQkFBQSxjQUFBQSxvQkFBQSxHQUFJLENBQUMsQ0FBQyxFQUFFTSxDQUFDLElBQUlBLENBQUMsS0FBS3JDLFNBQVM7RUFDN0QsQ0FBQztFQUVELE9BQU87SUFDSGtCLE1BQU0sRUFBRXBCLFVBQVUsQ0FBQ29CLE1BQU07SUFDekJvQixLQUFLLEVBQUV4QyxVQUFVLENBQUN3QyxLQUFLLElBQUksUUFBUTtJQUNuQ25CLElBQUksR0FBQWEsZ0JBQUEsR0FBRWxDLFVBQVUsQ0FBQ3FCLElBQUksY0FBQWEsZ0JBQUEsY0FBQUEsZ0JBQUEsR0FBSSxjQUFjO0lBQ3ZDRSxRQUFRLEVBQUVBLFFBQVE7SUFDbEJoQyxZQUFZLEVBQ1JKLFVBQVUsQ0FBQ0ksWUFBWSxJQUFJRixTQUFTLEdBQzlCO01BQ0lLLFNBQVMsRUFBRVAsVUFBVSxDQUFDSSxZQUFZLENBQUNHLFNBQVM7TUFDNUNGLE1BQU0sRUFBRUwsVUFBVSxDQUFDSSxZQUFZLENBQUNDO0lBQ3BDLENBQUMsR0FDREg7RUFDZCxDQUFDO0FBQ0wifQ==
@@ -8,8 +8,8 @@ exports.isValidSemVerVersionRange = isValidSemVerVersionRange;
8
8
  exports.isValidVersion = isValidVersion;
9
9
  exports.parseCandyVersionSpec = parseCandyVersionSpec;
10
10
  var semver = _interopRequireWildcard(require("semver"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ 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); }
12
+ 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; }
13
13
  function isValidVersion(input, strict = false) {
14
14
  if (strict) {
15
15
  throw new Error("NotImplementedError");
@@ -38,4 +38,4 @@ function parseCandyVersionSpec(input) {
38
38
  function candyVersionSpecToString(input) {
39
39
  return input.type === "version" ? input.version : `pre:${input.preId}`;
40
40
  }
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZW12ZXIiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJpc1ZhbGlkVmVyc2lvbiIsImlucHV0Iiwic3RyaWN0IiwiRXJyb3IiLCJ0ZXN0IiwiaXNWYWxpZFNlbVZlclZlcnNpb25SYW5nZSIsInZhbGlkUmFuZ2UiLCJ1bmRlZmluZWQiLCJwYXJzZUNhbmR5VmVyc2lvblNwZWMiLCJ0eXBlIiwicHJlSWQiLCJyZXBsYWNlIiwidmVyc2lvbiIsImNhbmR5VmVyc2lvblNwZWNUb1N0cmluZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9CdWlsZFRhc2tzL1ZlcnNpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRWZXJzaW9uKGlucHV0OiBzdHJpbmcsIHN0cmljdDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgaWYgKHN0cmljdCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3RJbXBsZW1lbnRlZEVycm9yXCIpO1xuICAgIH1cbiAgICByZXR1cm4gL152PyhcXGQpK1xcLihcXGQpK1xcLihcXGQpKyQvaS50ZXN0KGlucHV0KSB8fCAvXnByZVxcOi8udGVzdChpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkU2VtVmVyVmVyc2lvblJhbmdlKGlucHV0OiBzdHJpbmcsIHN0cmljdDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgaWYgKHN0cmljdCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3RJbXBsZW1lbnRlZEVycm9yXCIpO1xuICAgIH1cbiAgICByZXR1cm4gL15wcmVcXDovLnRlc3QoaW5wdXQpIHx8IHNlbXZlci52YWxpZFJhbmdlKGlucHV0KSAhPSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNhbmR5VmVyc2lvblNwZWMoaW5wdXQ6IHN0cmluZyk6IENhbmR5VmVyc2lvblNwZWMge1xuICAgIGlmICgvXnByZVxcOi8udGVzdChpbnB1dCkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IFwicHJlXCIsXG4gICAgICAgICAgICBwcmVJZDogaW5wdXQucmVwbGFjZSgvXnByZTovaSwgXCJcIiksXG4gICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IFwidmVyc2lvblwiLFxuICAgICAgICAgICAgdmVyc2lvbjogaW5wdXQsXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuZHlWZXJzaW9uU3BlY1RvU3RyaW5nKGlucHV0OiBDYW5keVZlcnNpb25TcGVjKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaW5wdXQudHlwZSA9PT0gXCJ2ZXJzaW9uXCIgPyBpbnB1dC52ZXJzaW9uIDogYHByZToke2lucHV0LnByZUlkfWA7XG59XG5cbmV4cG9ydCB0eXBlIENhbmR5VmVyc2lvblNwZWMgPVxuICAgIHwge1xuICAgICAgICAgIHR5cGU6IFwicHJlXCI7XG4gICAgICAgICAgcHJlSWQ6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgICB0eXBlOiBcInZlcnNpb25cIjtcbiAgICAgICAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgICB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFB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
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZW12ZXIiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiaXNWYWxpZFZlcnNpb24iLCJpbnB1dCIsInN0cmljdCIsIkVycm9yIiwidGVzdCIsImlzVmFsaWRTZW1WZXJWZXJzaW9uUmFuZ2UiLCJ2YWxpZFJhbmdlIiwidW5kZWZpbmVkIiwicGFyc2VDYW5keVZlcnNpb25TcGVjIiwidHlwZSIsInByZUlkIiwicmVwbGFjZSIsInZlcnNpb24iLCJjYW5keVZlcnNpb25TcGVjVG9TdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQnVpbGRUYXNrcy9WZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkVmVyc2lvbihpbnB1dDogc3RyaW5nLCBzdHJpY3Q6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgIGlmIChzdHJpY3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm90SW1wbGVtZW50ZWRFcnJvclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIC9edj8oXFxkKStcXC4oXFxkKStcXC4oXFxkKSskL2kudGVzdChpbnB1dCkgfHwgL15wcmVcXDovLnRlc3QoaW5wdXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFNlbVZlclZlcnNpb25SYW5nZShpbnB1dDogc3RyaW5nLCBzdHJpY3Q6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgIGlmIChzdHJpY3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm90SW1wbGVtZW50ZWRFcnJvclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIC9ecHJlXFw6Ly50ZXN0KGlucHV0KSB8fCBzZW12ZXIudmFsaWRSYW5nZShpbnB1dCkgIT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDYW5keVZlcnNpb25TcGVjKGlucHV0OiBzdHJpbmcpOiBDYW5keVZlcnNpb25TcGVjIHtcbiAgICBpZiAoL15wcmVcXDovLnRlc3QoaW5wdXQpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBcInByZVwiLFxuICAgICAgICAgICAgcHJlSWQ6IGlucHV0LnJlcGxhY2UoL15wcmU6L2ksIFwiXCIpLFxuICAgICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBcInZlcnNpb25cIixcbiAgICAgICAgICAgIHZlcnNpb246IGlucHV0LFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbmR5VmVyc2lvblNwZWNUb1N0cmluZyhpbnB1dDogQ2FuZHlWZXJzaW9uU3BlYyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlucHV0LnR5cGUgPT09IFwidmVyc2lvblwiID8gaW5wdXQudmVyc2lvbiA6IGBwcmU6JHtpbnB1dC5wcmVJZH1gO1xufVxuXG5leHBvcnQgdHlwZSBDYW5keVZlcnNpb25TcGVjID1cbiAgICB8IHtcbiAgICAgICAgICB0eXBlOiBcInByZVwiO1xuICAgICAgICAgIHByZUlkOiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogXCJ2ZXJzaW9uXCI7XG4gICAgICAgICAgdmVyc2lvbjog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
@@ -24,4 +24,4 @@ async function writeFormMeta(resourcesPath, formName, engineSources, resourcesHa
24
24
  await buildCache.setContent(buildCacheOptions.generatorVersion, buildCacheOptions.gfv, buildCacheOptions.depsHash, resourcesPath, _path.default.join("metas", `${formName}.metas.json`), content);
25
25
  }
26
26
  }
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfRnNVdGlscyIsIl9FbmdpbmVWZXJzaW9uVXRpbHMiLCJ3cml0ZUZvcm1NZXRhIiwicmVzb3VyY2VzUGF0aCIsImZvcm1OYW1lIiwiZW5naW5lU291cmNlcyIsInJlc291cmNlc0hhc2giLCJ0aGVtZXMiLCJidWlsZENhY2hlIiwiYnVpbGRDYWNoZU9wdGlvbnMiLCJlbnN1cmVEaXIiLCJwYXRoIiwiam9pbiIsImZvcm1NZXRhQ29udGVudCIsImVuZ2luZU5hbWUiLCJ0eXBlIiwiRW5naW5lVmVyc2lvblV0aWxzIiwiZW5naW5lVmVyc2lvblRvTmFtZSIsInZlcnNpb24iLCJ1bmRlZmluZWQiLCJjb250ZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsIndyaXRlRmlsZUFzeW5jIiwic2V0Q29udGVudCIsImdlbmVyYXRvclZlcnNpb24iLCJnZnYiLCJkZXBzSGFzaCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9CdWlsZFRhc2tzL1dyaXRlRm9ybU1ldGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgZW5zdXJlRGlyIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IHdyaXRlRmlsZUFzeW5jIH0gZnJvbSBcIi4uL0NvbW1vbnMvRnNVdGlsc1wiO1xuaW1wb3J0IHsgQnVpbGRDYWNoZSwgRm9ybUJ1aWxkQ2FjaGVPcHRpb25zIH0gZnJvbSBcIi4uL0Zvcm1XZWJwYWNrQ29uZmlndXJhdGlvbi9DYWNoZUFzc2V0c1BsdWdpblwiO1xuXG5pbXBvcnQgeyBFbmdpbmVTb3VyY2UgfSBmcm9tIFwiLi9FbmdpbmUvRW5naW5lU291cmNlXCI7XG5pbXBvcnQgeyBFbmdpbmVWZXJzaW9uVXRpbHMgfSBmcm9tIFwiLi9FbmdpbmVWZXJzaW9uVXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtTWV0YUNvbnRlbnQge1xuICAgIHRoZW1lcz86IHN0cmluZ1tdO1xuICAgIGVuZ2luZU5hbWU6IHN0cmluZztcbiAgICByZXNvdXJjZXNIYXNoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZUZvcm1NZXRhKFxuICAgIHJlc291cmNlc1BhdGg6IHN0cmluZyxcbiAgICBmb3JtTmFtZTogc3RyaW5nLFxuICAgIGVuZ2luZVNvdXJjZXM6IEVuZ2luZVNvdXJjZSxcbiAgICByZXNvdXJjZXNIYXNoOiBzdHJpbmcsXG4gICAgdGhlbWVzOiB1bmRlZmluZWQgfCBzdHJpbmdbXSxcbiAgICBidWlsZENhY2hlPzogQnVpbGRDYWNoZSxcbiAgICBidWlsZENhY2hlT3B0aW9ucz86IEZvcm1CdWlsZENhY2hlT3B0aW9uc1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgZW5zdXJlRGlyKHBhdGguam9pbihyZXNvdXJjZXNQYXRoLCBcIm1ldGFzXCIpKTtcbiAgICBjb25zdCBmb3JtTWV0YUNvbnRlbnQ6IEZvcm1NZXRhQ29udGVudCA9IHtcbiAgICAgICAgZW5naW5lTmFtZTpcbiAgICAgICAgICAgIGVuZ2luZVNvdXJjZXMudHlwZSA9PT0gXCJMb2NhbEVuZ2luZVNvdXJjZXNcIlxuICAgICAgICAgICAgICAgID8gXCJsb2NhbFwiXG4gICAgICAgICAgICAgICAgOiBFbmdpbmVWZXJzaW9uVXRpbHMuZW5naW5lVmVyc2lvblRvTmFtZShlbmdpbmVTb3VyY2VzLnZlcnNpb24pLFxuICAgICAgICByZXNvdXJjZXNIYXNoOiByZXNvdXJjZXNIYXNoLFxuICAgIH07XG4gICAgaWYgKHRoZW1lcyAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgZm9ybU1ldGFDb250ZW50LnRoZW1lcyA9IHRoZW1lcztcbiAgICB9XG4gICAgY29uc3QgY29udGVudCA9IEpTT04uc3RyaW5naWZ5KGZvcm1NZXRhQ29udGVudCwgdW5kZWZpbmVkLCBcIiAgXCIpO1xuICAgIGF3YWl0IHdyaXRlRmlsZUFzeW5jKHBhdGguam9pbihyZXNvdXJjZXNQYXRoLCBcIm1ldGFzXCIsIGAke2Zvcm1OYW1lfS5tZXRhcy5qc29uYCksIGNvbnRlbnQsIFwidXRmOFwiKTtcbiAgICBpZiAoYnVpbGRDYWNoZSAhPSB1bmRlZmluZWQgJiYgYnVpbGRDYWNoZU9wdGlvbnMgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGF3YWl0IGJ1aWxkQ2FjaGUuc2V0Q29udGVudChcbiAgICAgICAgICAgIGJ1aWxkQ2FjaGVPcHRpb25zLmdlbmVyYXRvclZlcnNpb24sXG4gICAgICAgICAgICBidWlsZENhY2hlT3B0aW9ucy5nZnYsXG4gICAgICAgICAgICBidWlsZENhY2hlT3B0aW9ucy5kZXBzSGFzaCxcbiAgICAgICAgICAgIHJlc291cmNlc1BhdGgsXG4gICAgICAgICAgICBwYXRoLmpvaW4oXCJtZXRhc1wiLCBgJHtmb3JtTmFtZX0ubWV0YXMuanNvbmApLFxuICAgICAgICAgICAgY29udGVudFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUlBLElBQUFHLG1CQUFBLEdBQUFILE9BQUE7QUFRTyxlQUFlSSxhQUFhQSxDQUMvQkMsYUFBcUIsRUFDckJDLFFBQWdCLEVBQ2hCQyxhQUEyQixFQUMzQkMsYUFBcUIsRUFDckJDLE1BQTRCLEVBQzVCQyxVQUF1QixFQUN2QkMsaUJBQXlDLEVBQzVCO0VBQ2IsTUFBTSxJQUFBQyxrQkFBUyxFQUFDQyxhQUFJLENBQUNDLElBQUksQ0FBQ1QsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0VBQ2xELE1BQU1VLGVBQWdDLEdBQUc7SUFDckNDLFVBQVUsRUFDTlQsYUFBYSxDQUFDVSxJQUFJLEtBQUssb0JBQW9CLEdBQ3JDLE9BQU8sR0FDUEMsc0NBQWtCLENBQUNDLG1CQUFtQixDQUFDWixhQUFhLENBQUNhLE9BQU8sQ0FBQztJQUN2RVosYUFBYSxFQUFFQTtFQUNuQixDQUFDO0VBQ0QsSUFBSUMsTUFBTSxJQUFJWSxTQUFTLEVBQUU7SUFDckJOLGVBQWUsQ0FBQ04sTUFBTSxHQUFHQSxNQUFNO0VBQ25DO0VBQ0EsTUFBTWEsT0FBTyxHQUFHQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ1QsZUFBZSxFQUFFTSxTQUFTLEVBQUUsSUFBSSxDQUFDO0VBQ2hFLE1BQU0sSUFBQUksdUJBQWMsRUFBQ1osYUFBSSxDQUFDQyxJQUFJLENBQUNULGFBQWEsRUFBRSxPQUFPLEVBQUUsR0FBR0MsUUFBUSxhQUFhLENBQUMsRUFBRWdCLE9BQU8sRUFBRSxNQUFNLENBQUM7RUFDbEcsSUFBSVosVUFBVSxJQUFJVyxTQUFTLElBQUlWLGlCQUFpQixJQUFJVSxTQUFTLEVBQUU7SUFDM0QsTUFBTVgsVUFBVSxDQUFDZ0IsVUFBVSxDQUN2QmYsaUJBQWlCLENBQUNnQixnQkFBZ0IsRUFDbENoQixpQkFBaUIsQ0FBQ2lCLEdBQUcsRUFDckJqQixpQkFBaUIsQ0FBQ2tCLFFBQVEsRUFDMUJ4QixhQUFhLEVBQ2JRLGFBQUksQ0FBQ0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHUixRQUFRLGFBQWEsQ0FBQyxFQUM1Q2dCLE9BQ0osQ0FBQztFQUNMO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfRnNVdGlscyIsIl9FbmdpbmVWZXJzaW9uVXRpbHMiLCJ3cml0ZUZvcm1NZXRhIiwicmVzb3VyY2VzUGF0aCIsImZvcm1OYW1lIiwiZW5naW5lU291cmNlcyIsInJlc291cmNlc0hhc2giLCJ0aGVtZXMiLCJidWlsZENhY2hlIiwiYnVpbGRDYWNoZU9wdGlvbnMiLCJlbnN1cmVEaXIiLCJwYXRoIiwiam9pbiIsImZvcm1NZXRhQ29udGVudCIsImVuZ2luZU5hbWUiLCJ0eXBlIiwiRW5naW5lVmVyc2lvblV0aWxzIiwiZW5naW5lVmVyc2lvblRvTmFtZSIsInZlcnNpb24iLCJ1bmRlZmluZWQiLCJjb250ZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsIndyaXRlRmlsZUFzeW5jIiwic2V0Q29udGVudCIsImdlbmVyYXRvclZlcnNpb24iLCJnZnYiLCJkZXBzSGFzaCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9CdWlsZFRhc2tzL1dyaXRlRm9ybU1ldGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgZW5zdXJlRGlyIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IHdyaXRlRmlsZUFzeW5jIH0gZnJvbSBcIi4uL0NvbW1vbnMvRnNVdGlsc1wiO1xuaW1wb3J0IHsgQnVpbGRDYWNoZSwgRm9ybUJ1aWxkQ2FjaGVPcHRpb25zIH0gZnJvbSBcIi4uL0Zvcm1XZWJwYWNrQ29uZmlndXJhdGlvbi9DYWNoZUFzc2V0c1BsdWdpblwiO1xuXG5pbXBvcnQgeyBFbmdpbmVTb3VyY2UgfSBmcm9tIFwiLi9FbmdpbmUvRW5naW5lU291cmNlXCI7XG5pbXBvcnQgeyBFbmdpbmVWZXJzaW9uVXRpbHMgfSBmcm9tIFwiLi9FbmdpbmVWZXJzaW9uVXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtTWV0YUNvbnRlbnQge1xuICAgIHRoZW1lcz86IHN0cmluZ1tdO1xuICAgIGVuZ2luZU5hbWU6IHN0cmluZztcbiAgICByZXNvdXJjZXNIYXNoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZUZvcm1NZXRhKFxuICAgIHJlc291cmNlc1BhdGg6IHN0cmluZyxcbiAgICBmb3JtTmFtZTogc3RyaW5nLFxuICAgIGVuZ2luZVNvdXJjZXM6IEVuZ2luZVNvdXJjZSxcbiAgICByZXNvdXJjZXNIYXNoOiBzdHJpbmcsXG4gICAgdGhlbWVzOiB1bmRlZmluZWQgfCBzdHJpbmdbXSxcbiAgICBidWlsZENhY2hlPzogQnVpbGRDYWNoZSxcbiAgICBidWlsZENhY2hlT3B0aW9ucz86IEZvcm1CdWlsZENhY2hlT3B0aW9uc1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgZW5zdXJlRGlyKHBhdGguam9pbihyZXNvdXJjZXNQYXRoLCBcIm1ldGFzXCIpKTtcbiAgICBjb25zdCBmb3JtTWV0YUNvbnRlbnQ6IEZvcm1NZXRhQ29udGVudCA9IHtcbiAgICAgICAgZW5naW5lTmFtZTpcbiAgICAgICAgICAgIGVuZ2luZVNvdXJjZXMudHlwZSA9PT0gXCJMb2NhbEVuZ2luZVNvdXJjZXNcIlxuICAgICAgICAgICAgICAgID8gXCJsb2NhbFwiXG4gICAgICAgICAgICAgICAgOiBFbmdpbmVWZXJzaW9uVXRpbHMuZW5naW5lVmVyc2lvblRvTmFtZShlbmdpbmVTb3VyY2VzLnZlcnNpb24pLFxuICAgICAgICByZXNvdXJjZXNIYXNoOiByZXNvdXJjZXNIYXNoLFxuICAgIH07XG4gICAgaWYgKHRoZW1lcyAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgZm9ybU1ldGFDb250ZW50LnRoZW1lcyA9IHRoZW1lcztcbiAgICB9XG4gICAgY29uc3QgY29udGVudCA9IEpTT04uc3RyaW5naWZ5KGZvcm1NZXRhQ29udGVudCwgdW5kZWZpbmVkLCBcIiAgXCIpO1xuICAgIGF3YWl0IHdyaXRlRmlsZUFzeW5jKHBhdGguam9pbihyZXNvdXJjZXNQYXRoLCBcIm1ldGFzXCIsIGAke2Zvcm1OYW1lfS5tZXRhcy5qc29uYCksIGNvbnRlbnQsIFwidXRmOFwiKTtcbiAgICBpZiAoYnVpbGRDYWNoZSAhPSB1bmRlZmluZWQgJiYgYnVpbGRDYWNoZU9wdGlvbnMgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGF3YWl0IGJ1aWxkQ2FjaGUuc2V0Q29udGVudChcbiAgICAgICAgICAgIGJ1aWxkQ2FjaGVPcHRpb25zLmdlbmVyYXRvclZlcnNpb24sXG4gICAgICAgICAgICBidWlsZENhY2hlT3B0aW9ucy5nZnYsXG4gICAgICAgICAgICBidWlsZENhY2hlT3B0aW9ucy5kZXBzSGFzaCxcbiAgICAgICAgICAgIHJlc291cmNlc1BhdGgsXG4gICAgICAgICAgICBwYXRoLmpvaW4oXCJtZXRhc1wiLCBgJHtmb3JtTmFtZX0ubWV0YXMuanNvbmApLFxuICAgICAgICAgICAgY29udGVudFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUlBLElBQUFHLG1CQUFBLEdBQUFILE9BQUE7QUFRTyxlQUFlSSxhQUFhQSxDQUMvQkMsYUFBcUIsRUFDckJDLFFBQWdCLEVBQ2hCQyxhQUEyQixFQUMzQkMsYUFBcUIsRUFDckJDLE1BQTRCLEVBQzVCQyxVQUF1QixFQUN2QkMsaUJBQXlDLEVBQzVCO0VBQ2IsTUFBTSxJQUFBQyxrQkFBUyxFQUFDQyxhQUFJLENBQUNDLElBQUksQ0FBQ1QsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0VBQ2xELE1BQU1VLGVBQWdDLEdBQUc7SUFDckNDLFVBQVUsRUFDTlQsYUFBYSxDQUFDVSxJQUFJLEtBQUssb0JBQW9CLEdBQ3JDLE9BQU8sR0FDUEMsc0NBQWtCLENBQUNDLG1CQUFtQixDQUFDWixhQUFhLENBQUNhLE9BQU8sQ0FBQztJQUN2RVosYUFBYSxFQUFFQTtFQUNuQixDQUFDO0VBQ0QsSUFBSUMsTUFBTSxJQUFJWSxTQUFTLEVBQUU7SUFDckJOLGVBQWUsQ0FBQ04sTUFBTSxHQUFHQSxNQUFNO0VBQ25DO0VBQ0EsTUFBTWEsT0FBTyxHQUFHQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ1QsZUFBZSxFQUFFTSxTQUFTLEVBQUUsSUFBSSxDQUFDO0VBQ2hFLE1BQU0sSUFBQUksdUJBQWMsRUFBQ1osYUFBSSxDQUFDQyxJQUFJLENBQUNULGFBQWEsRUFBRSxPQUFPLEVBQUcsR0FBRUMsUUFBUyxhQUFZLENBQUMsRUFBRWdCLE9BQU8sRUFBRSxNQUFNLENBQUM7RUFDbEcsSUFBSVosVUFBVSxJQUFJVyxTQUFTLElBQUlWLGlCQUFpQixJQUFJVSxTQUFTLEVBQUU7SUFDM0QsTUFBTVgsVUFBVSxDQUFDZ0IsVUFBVSxDQUN2QmYsaUJBQWlCLENBQUNnQixnQkFBZ0IsRUFDbENoQixpQkFBaUIsQ0FBQ2lCLEdBQUcsRUFDckJqQixpQkFBaUIsQ0FBQ2tCLFFBQVEsRUFDMUJ4QixhQUFhLEVBQ2JRLGFBQUksQ0FBQ0MsSUFBSSxDQUFDLE9BQU8sRUFBRyxHQUFFUixRQUFTLGFBQVksQ0FBQyxFQUM1Q2dCLE9BQ0osQ0FBQztFQUNMO0FBQ0oifQ==
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.BuildCacheMode = void 0;
7
7
  exports.parseBuildCacheMode = parseBuildCacheMode;
8
- let BuildCacheMode = exports.BuildCacheMode = /*#__PURE__*/function (BuildCacheMode) {
8
+ let BuildCacheMode = /*#__PURE__*/function (BuildCacheMode) {
9
9
  BuildCacheMode[BuildCacheMode["Disabled"] = 0] = "Disabled";
10
10
  BuildCacheMode[BuildCacheMode["ReadOnly"] = 1] = "ReadOnly";
11
11
  BuildCacheMode[BuildCacheMode["UpdateIfNeed"] = 2] = "UpdateIfNeed";
12
12
  BuildCacheMode[BuildCacheMode["ForceUpdate"] = 3] = "ForceUpdate";
13
13
  return BuildCacheMode;
14
14
  }({});
15
+ exports.BuildCacheMode = BuildCacheMode;
15
16
  function parseBuildCacheMode(input) {
16
17
  const normalizedInput = input.toLowerCase();
17
18
  if (normalizedInput === "disabled") {
@@ -25,4 +26,4 @@ function parseBuildCacheMode(input) {
25
26
  }
26
27
  throw new Error(`Invalid build cache mode value. Available values: . Got: ${input}`);
27
28
  }
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZENhY2hlTW9kZSIsImV4cG9ydHMiLCJwYXJzZUJ1aWxkQ2FjaGVNb2RlIiwiaW5wdXQiLCJub3JtYWxpemVkSW5wdXQiLCJ0b0xvd2VyQ2FzZSIsIkRpc2FibGVkIiwiUmVhZE9ubHkiLCJVcGRhdGVJZk5lZWQiLCJGb3JjZVVwZGF0ZSIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvQnVpbGRDYWNoZU1vZGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQnVpbGRDYWNoZU1vZGUge1xuICAgIERpc2FibGVkLFxuICAgIFJlYWRPbmx5LFxuICAgIFVwZGF0ZUlmTmVlZCxcbiAgICBGb3JjZVVwZGF0ZSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQnVpbGRDYWNoZU1vZGUoaW5wdXQ6IHN0cmluZyk6IEJ1aWxkQ2FjaGVNb2RlIHtcbiAgICBjb25zdCBub3JtYWxpemVkSW5wdXQgPSBpbnB1dC50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChub3JtYWxpemVkSW5wdXQgPT09IFwiZGlzYWJsZWRcIikge1xuICAgICAgICByZXR1cm4gQnVpbGRDYWNoZU1vZGUuRGlzYWJsZWQ7XG4gICAgfSBlbHNlIGlmIChub3JtYWxpemVkSW5wdXQgPT09IFwicmVhZG9ubHlcIikge1xuICAgICAgICByZXR1cm4gQnVpbGRDYWNoZU1vZGUuUmVhZE9ubHk7XG4gICAgfSBlbHNlIGlmIChub3JtYWxpemVkSW5wdXQgPT09IFwidXBkYXRlXCIpIHtcbiAgICAgICAgcmV0dXJuIEJ1aWxkQ2FjaGVNb2RlLlVwZGF0ZUlmTmVlZDtcbiAgICB9IGVsc2UgaWYgKG5vcm1hbGl6ZWRJbnB1dCA9PT0gXCJmb3JjZS11cGRhdGVcIikge1xuICAgICAgICByZXR1cm4gQnVpbGRDYWNoZU1vZGUuRm9yY2VVcGRhdGU7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBidWlsZCBjYWNoZSBtb2RlIHZhbHVlLiBBdmFpbGFibGUgdmFsdWVzOiAuIEdvdDogJHtpbnB1dH1gKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztJQUFZQSxjQUFjLEdBQUFDLE9BQUEsQ0FBQUQsY0FBQSwwQkFBZEEsY0FBYztFQUFkQSxjQUFjLENBQWRBLGNBQWM7RUFBZEEsY0FBYyxDQUFkQSxjQUFjO0VBQWRBLGNBQWMsQ0FBZEEsY0FBYztFQUFkQSxjQUFjLENBQWRBLGNBQWM7RUFBQSxPQUFkQSxjQUFjO0FBQUE7QUFPbkIsU0FBU0UsbUJBQW1CQSxDQUFDQyxLQUFhLEVBQWtCO0VBQy9ELE1BQU1DLGVBQWUsR0FBR0QsS0FBSyxDQUFDRSxXQUFXLENBQUMsQ0FBQztFQUMzQyxJQUFJRCxlQUFlLEtBQUssVUFBVSxFQUFFO0lBQ2hDLE9BQU9KLGNBQWMsQ0FBQ00sUUFBUTtFQUNsQyxDQUFDLE1BQU0sSUFBSUYsZUFBZSxLQUFLLFVBQVUsRUFBRTtJQUN2QyxPQUFPSixjQUFjLENBQUNPLFFBQVE7RUFDbEMsQ0FBQyxNQUFNLElBQUlILGVBQWUsS0FBSyxRQUFRLEVBQUU7SUFDckMsT0FBT0osY0FBYyxDQUFDUSxZQUFZO0VBQ3RDLENBQUMsTUFBTSxJQUFJSixlQUFlLEtBQUssY0FBYyxFQUFFO0lBQzNDLE9BQU9KLGNBQWMsQ0FBQ1MsV0FBVztFQUNyQztFQUNBLE1BQU0sSUFBSUMsS0FBSyxDQUFDLDREQUE0RFAsS0FBSyxFQUFFLENBQUM7QUFDeEYiLCJpZ25vcmVMaXN0IjpbXX0=
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZENhY2hlTW9kZSIsImV4cG9ydHMiLCJwYXJzZUJ1aWxkQ2FjaGVNb2RlIiwiaW5wdXQiLCJub3JtYWxpemVkSW5wdXQiLCJ0b0xvd2VyQ2FzZSIsIkRpc2FibGVkIiwiUmVhZE9ubHkiLCJVcGRhdGVJZk5lZWQiLCJGb3JjZVVwZGF0ZSIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvQnVpbGRDYWNoZU1vZGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQnVpbGRDYWNoZU1vZGUge1xuICAgIERpc2FibGVkLFxuICAgIFJlYWRPbmx5LFxuICAgIFVwZGF0ZUlmTmVlZCxcbiAgICBGb3JjZVVwZGF0ZSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQnVpbGRDYWNoZU1vZGUoaW5wdXQ6IHN0cmluZyk6IEJ1aWxkQ2FjaGVNb2RlIHtcbiAgICBjb25zdCBub3JtYWxpemVkSW5wdXQgPSBpbnB1dC50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChub3JtYWxpemVkSW5wdXQgPT09IFwiZGlzYWJsZWRcIikge1xuICAgICAgICByZXR1cm4gQnVpbGRDYWNoZU1vZGUuRGlzYWJsZWQ7XG4gICAgfSBlbHNlIGlmIChub3JtYWxpemVkSW5wdXQgPT09IFwicmVhZG9ubHlcIikge1xuICAgICAgICByZXR1cm4gQnVpbGRDYWNoZU1vZGUuUmVhZE9ubHk7XG4gICAgfSBlbHNlIGlmIChub3JtYWxpemVkSW5wdXQgPT09IFwidXBkYXRlXCIpIHtcbiAgICAgICAgcmV0dXJuIEJ1aWxkQ2FjaGVNb2RlLlVwZGF0ZUlmTmVlZDtcbiAgICB9IGVsc2UgaWYgKG5vcm1hbGl6ZWRJbnB1dCA9PT0gXCJmb3JjZS11cGRhdGVcIikge1xuICAgICAgICByZXR1cm4gQnVpbGRDYWNoZU1vZGUuRm9yY2VVcGRhdGU7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBidWlsZCBjYWNoZSBtb2RlIHZhbHVlLiBBdmFpbGFibGUgdmFsdWVzOiAuIEdvdDogJHtpbnB1dH1gKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztJQUFZQSxjQUFjLDBCQUFkQSxjQUFjO0VBQWRBLGNBQWMsQ0FBZEEsY0FBYztFQUFkQSxjQUFjLENBQWRBLGNBQWM7RUFBZEEsY0FBYyxDQUFkQSxjQUFjO0VBQWRBLGNBQWMsQ0FBZEEsY0FBYztFQUFBLE9BQWRBLGNBQWM7QUFBQTtBQUFBQyxPQUFBLENBQUFELGNBQUEsR0FBQUEsY0FBQTtBQU9uQixTQUFTRSxtQkFBbUJBLENBQUNDLEtBQWEsRUFBa0I7RUFDL0QsTUFBTUMsZUFBZSxHQUFHRCxLQUFLLENBQUNFLFdBQVcsQ0FBQyxDQUFDO0VBQzNDLElBQUlELGVBQWUsS0FBSyxVQUFVLEVBQUU7SUFDaEMsT0FBT0osY0FBYyxDQUFDTSxRQUFRO0VBQ2xDLENBQUMsTUFBTSxJQUFJRixlQUFlLEtBQUssVUFBVSxFQUFFO0lBQ3ZDLE9BQU9KLGNBQWMsQ0FBQ08sUUFBUTtFQUNsQyxDQUFDLE1BQU0sSUFBSUgsZUFBZSxLQUFLLFFBQVEsRUFBRTtJQUNyQyxPQUFPSixjQUFjLENBQUNRLFlBQVk7RUFDdEMsQ0FBQyxNQUFNLElBQUlKLGVBQWUsS0FBSyxjQUFjLEVBQUU7SUFDM0MsT0FBT0osY0FBYyxDQUFDUyxXQUFXO0VBQ3JDO0VBQ0EsTUFBTSxJQUFJQyxLQUFLLENBQUUsNERBQTJEUCxLQUFNLEVBQUMsQ0FBQztBQUN4RiJ9
@@ -7,7 +7,7 @@ exports.buildFormsOptionsDefinition = void 0;
7
7
  var _CommandBasedOptionsParser = require("../../Commons/Options/CommandBasedOptionsParser");
8
8
  var _CommonOptionDefintions = require("../CommonOptions/CommonOptionDefintions");
9
9
  var _BuildCacheMode = require("./BuildCacheMode");
10
- const buildFormsOptionsDefinition = exports.buildFormsOptionsDefinition = (0, _CommandBasedOptionsParser.commandDefinition)("build", "build", (0, _CommandBasedOptionsParser.optionsDefinition)({
10
+ const buildFormsOptionsDefinition = (0, _CommandBasedOptionsParser.commandDefinition)("build", "build", (0, _CommandBasedOptionsParser.optionsDefinition)({
11
11
  alias: "w",
12
12
  name: "watch",
13
13
  defaultValue: {
@@ -157,4 +157,5 @@ candy build 104816 --use-prerelease-version bso
157
157
  Версия с префиксом pre используются для движков, которые не являются стабильными и используются для предварительных сборок форм.
158
158
  `.trim()
159
159
  });
160
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsInJlcXVpcmUiLCJfQ29tbW9uT3B0aW9uRGVmaW50aW9ucyIsIl9CdWlsZENhY2hlTW9kZSIsImJ1aWxkRm9ybXNPcHRpb25zRGVmaW5pdGlvbiIsImV4cG9ydHMiLCJjb21tYW5kRGVmaW5pdGlvbiIsIm9wdGlvbnNEZWZpbml0aW9uIiwiYWxpYXMiLCJuYW1lIiwiZGVmYXVsdFZhbHVlIiwid2F0Y2giLCJwYXJzZSIsImlucHV0IiwiZG9lc05vdFJlcXVpcmVWYWx1ZSIsImRlc2NyaXB0aW9uIiwiY2xlYW4iLCJ1cGdyYWRlRm9ybUpzb24iLCJidWlsZENhY2hlTW9kZSIsIkJ1aWxkQ2FjaGVNb2RlIiwiUmVhZE9ubHkiLCJwYXJzZUJ1aWxkQ2FjaGVNb2RlIiwidXNlTGFzdFN0YWJsZVZlcnNpb24iLCJ1c2VQcmVyZWxlYXNlVmVyc2lvbiIsInVuZGVmaW5lZCIsInNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nIiwiZm9ybUdsb2JzIiwiZGVmYXVsdE9wdGlvbiIsIm11bHRpcGxlIiwidXNlVmVyc2lvbkZyb21DYWNoZSIsImRldk1vZGVPcHRpb24iLCJsb2dWZXJib3NpdHlPcHRpb24iLCJkZXRhaWxlZERlc2NyaXB0aW9uIiwidHJpbSIsImV4YW1wbGVzIiwiZXh0ZW5kZWREZXRhaWxzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvQnVpbGRGb3Jtc09wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tbWFuZERlZmluaXRpb24sIG9wdGlvbnNEZWZpbml0aW9uIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uc1wiO1xuaW1wb3J0IHsgZGV2TW9kZU9wdGlvbiwgbG9nVmVyYm9zaXR5T3B0aW9uIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uRGVmaW50aW9uc1wiO1xuXG5pbXBvcnQgeyBCdWlsZENhY2hlTW9kZSwgcGFyc2VCdWlsZENhY2hlTW9kZSB9IGZyb20gXCIuL0J1aWxkQ2FjaGVNb2RlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRGb3Jtc09wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgICB3YXRjaDogYm9vbGVhbjtcbiAgICBjbGVhbjogYm9vbGVhbjtcbiAgICBmb3JtR2xvYnM6IHN0cmluZ1tdO1xuICAgIHVwZ3JhZGVGb3JtSnNvbjogYm9vbGVhbjtcbiAgICB1c2VMYXN0U3RhYmxlVmVyc2lvbjogYm9vbGVhbjtcbiAgICB1c2VQcmVyZWxlYXNlVmVyc2lvbj86IHN0cmluZztcbiAgICBza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZzogYm9vbGVhbjtcbiAgICB1c2VWZXJzaW9uRnJvbUNhY2hlOiBib29sZWFuO1xuICAgIGJ1aWxkQ2FjaGVNb2RlOiBCdWlsZENhY2hlTW9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkRm9ybXNPcHRpb25zRGVmaW5pdGlvbiA9IGNvbW1hbmREZWZpbml0aW9uPFwiYnVpbGRcIiwgQnVpbGRGb3Jtc09wdGlvbnM+KFxuICAgIFwiYnVpbGRcIixcbiAgICBcImJ1aWxkXCIsXG4gICAgb3B0aW9uc0RlZmluaXRpb24oXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcIndcIixcbiAgICAgICAgICAgIG5hbWU6IFwid2F0Y2hcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyB3YXRjaDogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiBpbnB1dCA9PiAoeyB3YXRjaDogaW5wdXQgfSksXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCJXYXRjaC3RgNC10LbQuNC8LiDQktGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8LCDQsCDQt9Cw0YLQtdC8INC/0LXRgNC10YHQvtCx0LjRgNCw0LXRgiDQv9GA0Lgg0LjQt9C80LXQvdC10L3QuNGP0YUuINCSINGC0L7QvCDRh9C40YHQu9C1INC00LLQuNC20LrQsCwg0LPQtdC90LXRgNCw0YLQvtGA0LAg0Lgg0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRgNC10YHRg9GA0YHQvtCyLlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImNsZWFuXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgY2xlYW46IGZhbHNlIH0sXG4gICAgICAgICAgICBwYXJzZTogaW5wdXQgPT4gKHsgY2xlYW46IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J/QvtC70L3QvtGB0YLRjNGOINC+0YfQuNGJ0LDQtdGCINGG0LXQu9C10LLQvtC5INC60LDRgtCw0LvQvtCzINGA0LXRgdGD0YDRgdC+0LIuINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQv9GA0Lgg0L/QvtC70L3QvtC5INGB0LHQvtGA0LrQtSDRhNC+0YDQvCDQtNC70Y8g0L/RgNC+0LTQsNC60YjQtdC90LBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJ1cGdyYWRlLWZvcm0tanNvblwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHVwZ3JhZGVGb3JtSnNvbjogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiBpbnB1dCA9PiAoeyB1cGdyYWRlRm9ybUpzb246IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCk0L7RgNGB0LjRgNGD0LXRgiDQuNC30LzQtdC90LXQvdC40LUg0YTQvtGA0LzQsNGC0LAg0YTQsNC50LvQsCBmb3JtLmpzb24g0L3QsCDQvdC+0LLRi9C5XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiYnVpbGQtY2FjaGVcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBidWlsZENhY2hlTW9kZTogQnVpbGRDYWNoZU1vZGUuUmVhZE9ubHkgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZykgPT4gKHsgYnVpbGRDYWNoZU1vZGU6IHBhcnNlQnVpbGRDYWNoZU1vZGUoaW5wdXQpIH0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQl9Cw0LTQsNGR0YIg0YDQtdC20LjQvCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQutGN0YjQsCDRgdCx0L7RgNC60LguINCS0L7Qt9C80L7QttC90YvQtSDQt9C90LDRh9C10L3QuNGPOlxcblwiICtcbiAgICAgICAgICAgICAgICBcIiAgZGlzYWJsZWQgLSDQvdC1INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutGN0YhcXG5cIiArXG4gICAgICAgICAgICAgICAgXCIgIHJlYWRvbmx5IC0g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC60Y3RiCDQtNC70Y8g0YHQsdC+0YDQutC4LCDQvdC+INC90LUg0L7QsdC90L7QstC70Y/QtdGCINC10LPQviAo0LfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjilcXG5cIiArXG4gICAgICAgICAgICAgICAgXCIgIHVwZGF0ZSAtINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutGN0Ygg0LTQu9GPINGB0LHQvtGA0LrQuCDQuCDQv9GA0LXQt9Cw0L/QuNGB0YvQstCw0YLRjCwg0LXRgdC70Lgg0L3QtSDRgdC+0LLQv9Cw0LTQsNC10YJcXG5cIiArXG4gICAgICAgICAgICAgICAgXCIgIGZvcmNlLXVwZGF0ZSAtINCy0YHQtdCz0LTQsCDQstGL0L/QvtC70L3Rj9GC0Ywg0YHQsdC+0YDQutGDINC4INC+0LHQvdC+0LLQuNGC0Ywg0LfQvdCw0YfQtdC90LjRjyDQsiDQutGN0YjQtVxcblwiICtcbiAgICAgICAgICAgICAgICBcItCe0YLQutC70Y7Rh9Cw0LXRgtGB0Y8g0L/RgNC4INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC4IHdhdGNoLdGA0LXQttC40LzQsFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInVzZS1sYXN0LXN0YWJsZS12ZXJzaW9uXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgdXNlTGFzdFN0YWJsZVZlcnNpb246IGZhbHNlIH0sXG4gICAgICAgICAgICBwYXJzZTogaW5wdXQgPT4gKHsgdXNlTGFzdFN0YWJsZVZlcnNpb246IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LLQtdGA0YHQuNGOINC00LLQuNC20LrQsCDQsiDRhNCw0LnQu9CwIGBmb3JtLmpzb25gINCyINC/0L7RgdC70LXQtNC90Y7RjiDRgdGC0LDQsdC40LvRjNC90YPRjiDQstC10YDRgdC40Y4uINCQ0L3QsNC70L7Qs9C40YfQtdC9INC30LDQv9GD0YHQutGDIGNhbmR5LWJ1aWxkINGBINC/0LDRgNCw0LzQtdGC0YDQvtC8IC1nZSBtYXN0ZXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJ1c2UtcHJlcmVsZWFzZS12ZXJzaW9uXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgdXNlUHJlcmVsZWFzZVZlcnNpb246IHVuZGVmaW5lZCBhcyB1bmRlZmluZWQgfCBzdHJpbmcgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZykgPT4gKHsgdXNlUHJlcmVsZWFzZVZlcnNpb246IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQstC10YDRgdC40Y4g0LTQstC40LbQutCwINCyINGE0LDQudC70LAgZm9ybS5qc29uINCyINC/0L7RgdC70LXQtNC90Y7RjiDQv9GA0LXRgNC10LvQuNC30L3Rg9GOINCy0LXRgNGB0LjRjiDQsiDQt9Cw0LTQsNC90L3Ri9C8IHByZWlkLiDQkiDRhNCw0LnQu9C1INCy0LXRgNGB0LjQuCDQs9C10L3QtdGA0LDRgtC+0YDQsCDQuCDQtNCy0LjQttC60LAg0LHRg9C00YPRgiDRg9GB0YLQsNC90L7QstC70LXQvdGLINCyIHByZTpzb21lLXByZWlkLlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5vLXJlZm9ybWF0XCIsXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiB0cnVlIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBib29sZWFuKSA9PiAoeyBza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZzogaW5wdXQgfSksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICBcItCe0YLQu9GO0YfQsNC10YIg0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjQtSDQs9C10L3QtdGA0LjRgNGD0LXQvNC+0LPQviDQutC+0LTQsC4g0KDQsNCx0L7RgtCw0LXRgiwg0YLQvtC70YzQutC+INC10YHQu9C4INCy0LXRgNGB0LjRjyDQs9C10L3QtdGA0LDRgtC+0YDQsCDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0Y3RgtGDINC+0L/RhtC40Y4uINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YPRgdC60L7RgNC10L3QuNGPINGB0LHQvtGA0LrQuCDRhNC+0YDQvC4gKGRlZmF1bHQ6IHRydWUpXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImdcIixcbiAgICAgICAgICAgIG5hbWU6IFwiZ2Z2c1wiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IGZvcm1HbG9iczogW10gfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZ1tdKSA9PiAoeyBmb3JtR2xvYnM6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwi0J7QtNC90LAg0LjQu9C4INC90LXRgdC60L7Qu9GM0LrQviBHRlYg0LjQu9C4IEdGVi3QvNCw0YHQvtC6INC00LvRjyDQv9C10YDQtdGB0LHQvtGA0LrQuC4g0JzQvtC20LXRgiDRgdC+0LTQtdGA0LbQsNGC0Ywg0LfQvdCw0YfQutC4IGA/YCDQuCBgKmAuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwidXNlLXZlcnNpb24tZnJvbS1jYWNoZVwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHVzZVZlcnNpb25Gcm9tQ2FjaGU6IGZhbHNlIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBib29sZWFuKSA9PiAoeyB1c2VWZXJzaW9uRnJvbUNhY2hlOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC10YDRgdC40Y4g0LTQstC40LbQutCwINC4INCz0LXQvdC10YDQsNGC0L7RgNCwINC40Lcg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRi1wiLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZGV2TW9kZU9wdGlvbixcbiAgICAgICAgbG9nVmVyYm9zaXR5T3B0aW9uXG4gICAgKSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgXCLQktGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINC+0LTQvdC+0Lkg0LjQu9C4INC90LXRgdC60L7Qu9GM0LrQuNGFINGE0L7RgNC8LlxcblwiICtcbiAgICAgICAgICAgIFwi0J/QvtC00YDQvtCx0L3QtdC1OiBodHRwczovL2dpdC5za2Jrb250dXIucnUva2UvY2FuZHktdXRpbHMvYmxvYi9uZXctY2FuZHktdG9vbC1jbGkvUkVBRE1FLm1kXCIsXG5cbiAgICAgICAgZGV0YWlsZWREZXNjcmlwdGlvbjogYFxu0J7RgdC90L7QstC90L7QuSDRgdGG0LXQvdCw0YDQuNC5OiDQstGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8INCyINC60LDRgtCw0LvQvtCzINGBINGA0LXRgdGD0YDRgdCw0LzQuC4g0JTQtdC50YHRgtCy0LjRjywg0LrQvtGC0L7RgNGL0LUg0LLRi9C/0L7Qu9C90Y/QtdGCINC60L7QvNCw0L3QtNCwOlxuXG4qINCf0L7Qu9GD0YfQtdC90LjQtSDQtNCy0LjQttC60LAg0YTQvtGA0Lwg0LLQtdGA0YHQuNC4INGD0LrQsNC30LDQvdC90L7QuSDQsiBcXGBmb3JtLmpzb25cXGAsXG4qINC/0L7Qu9GD0YfQtdC90LjQtSDQs9C10L3QtdGA0LDRgtC+0YDQsCDRhNC+0YDQvCDQstC10YDRgdC40Lgg0YPQutCw0LfQsNC90L3QvtC5INCyIFxcYGZvcm0uanNvblxcYCxcbiog0LPQtdC90LXRgNCw0YbQuNGPINC4INC60L7QvNC/0LjQu9GP0YbQuNGPINGE0L7RgNC80Ysg0LIg0LrQsNGC0LDQu9C+0LMg0YDQtdGB0YPRgNGB0L7Qsixcbiog0YHQvtC30LTQsNC90LjQtSDRhNCw0LnQu9C+0LIgXFxge2dmdn0ubWV0YXMuanNvblxcYCDQuCBcXGBwcmVzZW50YXRpb25zLmpzb25cXGAg0LIg0LrQsNGC0LDQu9C+0LPQtSDRgNC10YHRg9GA0YHQvtCyXG4qINC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LrQvtC90LLQtdGA0YLQtdGA0L7QsiDQsiDQutCw0YLQsNC70L7QsyDRgNC10YHRg9GA0YHQvtCyLFxuKiDQutC+0L/QuNGA0L7QstCw0L3QuNC1INGB0YXQtdC80Ysg0LIg0LrQsNGC0LDQu9C+0LMg0YDQtdGB0YPRgNGB0L7Qsi5cbmAudHJpbSgpLFxuXG4gICAgICAgIGV4YW1wbGVzOiBgXG5cXGBcXGBcXGBcbiMg0KHQsdC+0YDQutCwINGE0L7RgNC80YsgMTA0ODE2XG5jYW5keSBidWlsZCAxMDQ4MTZcblxcYFxcYFxcYFxuXG5cXGBcXGBcXGBcbiMg0KHQsdC+0YDQutCwINCy0YHQtSDRhNC+0YDQvNGLINCz0YDRg9C/0L/RiyAxXG5jYW5keSBidWlsZCAxPz8/Pz9cblxcYFxcYFxcYFxuXG5cXGBcXGBcXGBcbiMg0KHQvtCx0YDQsNGC0Ywg0YTQvtGA0LzRgyAxMDQ4MTYg0Lgg0YHQu9C10LTQuNGC0Ywg0LfQsCDQuNC30LzQtdC90LXQvdC40Y/QvNC4XG5jYW5keSBidWlsZCAxMDQ4MTYgLXdcblxcYFxcYFxcYFxuXG5cXGBcXGBcXGBcbiMg0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC/0L7RgdC70LXQtNC90Y7RjiDQv9GA0LXRgNC10LvQuNC30L3Rg9GOINCy0LXRgNGB0LjRjiDQtNCy0LjQttC60LAg0YEgcHJlaWQ9YnNvXG5jYW5keSBidWlsZCAxMDQ4MTYgLS11c2UtcHJlcmVsZWFzZS12ZXJzaW9uIGJzb1xuXFxgXFxgXFxgXG5gLnRyaW0oKSxcblxuICAgICAgICBleHRlbmRlZERldGFpbHM6IGBcbiMjIyDQktC10YDRgdC40L7QvdC40YDQvtCy0LDQvdC40LVcblxu0J/RgNC4INGB0LHQvtGA0LrQtSDRhNC+0YDQvCwg0YPRh9C40YLRi9Cy0LDQtdGC0YHRjyDQstC10YDRgdC40Y8g0LTQstC40LbQutCwINC4INCz0LXQvdC10YDQsNGC0L7RgNCwINGD0LrQsNC30LDQvdC90YvQtSDRhNCw0LnQu9C1IGZvcm0uanNvbi4g0JLQtdGA0YHQuNC4INC80L7Qs9GD0YIg0YPQutCw0LfRi9Cy0LDRgtGMINC90LUg0L3QsCDQutC+0L3QutGA0LXRgtC90YPRjiDQstC10YDRgdC40Y4sINCwINCw0LTRgNC10YHQvtCy0LDRgtGMINC00LjQsNC/0LDQt9C+0L0g0LIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNC4INGBIFtzZW12ZXJdKGh0dHBzOi8vc2VtdmVyLm9yZy9sYW5nL3J1LykuXG7QkiDRjdGC0L7QvCDRgdC70YPRh9Cw0LUg0LHRg9C00LXRgiDQstGL0LHRgNCw0L3QsCDQv9C+0YHQu9C10LTQvdGP0Y8g0L/QvtC00YXQvtC00Y/RidCw0Y8g0LLQtdGA0YHQuNGPLlxuXG7QpNCw0LnQuyBmb3JtLmpzb24g0LTQvtC70LbQtdC9INCy0YvQs9C70Y/QtNC10YLRjCDRgdC70LXQtNGD0Y7RidC40Lwg0L7QsdGA0LDQt9C+0Lw6XG5cXGBcXGBcXGBcbntcbiAgICAvLyDQntC/0YbQuNC+0L3QsNC70YzQvdC+XG4gICAgXCJ0aGVtZXNcIjogW1wi0LjQvNGPLdGC0LXQvNGLXCIsIC4uLl0sXG4gICAgXCJkZXBlbmRlbmNpZXNcIjoge1xuICAgICAgICBcImVuZ2luZVwiOiBcIlvQstC10YDRgdC40Y8t0LTQstC40LbQutCwXVwiLFxuICAgICAgICBcImdlbmVyYXRvclwiOiBcIlvQstC10YDRgdC40Y8t0LPQtdC90LXRgNCw0YLQvtGA0LBdXCJcbiAgICB9XG59XG5cXGBcXGBcXGBcblxuXFxg0LLQtdGA0YHQuNGPLdC00LLQuNC20LrQsFxcYCwgXFxg0LLQtdGA0YHQuNGPLdCz0LXQvdC10YDQsNGC0L7RgNCwXFxgIC0g0KHQvtC+0YLQstC10YLRgdGC0LLQtdC90L3Qviwg0LTQuNCw0L/QsNC30L7QvdGLINCy0LXRgNGB0LjQuS4g0J3QsCDQtNCw0L3QvdGL0Lkg0LzQvtC80LXQvdGCINCy0YHQtdCz0LTQsCDRgdC+0LLQv9Cw0LTQsNGO0YIuXG5cbtCU0L7Qv9GD0YHRgtC40LzRi9C1INCy0LDRgNC40LDQvdGC0Ysg0LLQtdGA0YHQuNC5OlxuKiDQktC10YDRgdC40Y8g0LIg0YTQvtGA0LzQsNGC0LUgW3NlbXZlcl0oaHR0cHM6Ly9zZW12ZXIub3JnL2xhbmcvcnUvKS5cbiog0JLQtdGA0YHQuNGPINGBINC/0YDQtdGE0LjQutGB0L7QvCBwcmUuINCd0LDQv9GA0LjQvNC10YAsIFxcYHByZTpteS1zdGFuZ2UtYnJhbmNoLW5hbWVcXGAsINCz0LTQtSBcXGBteS1zdGFuZ2UtYnJhbmNoLW5hbWVcXGAgLSDQvdCw0LfQstCw0L3QuNC1INC/0YDQtdC00YDQtdC70LjQt9C90L7QuSDQstC10YDRgdC40LgsINCy0YvQv9GD0YHQutCw0LXQvNC+0Lkg0YDQsNC30YDQsNCx0L7RgtGH0LjQutCw0LzQuCBDYW5keSwg0LTQu9GPINC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90L7Qs9C+INCy0YvQv9GD0YHQutCwINGE0L7RgNC8Llxu0JLQtdGA0YHQuNGPINGBINC/0YDQtdGE0LjQutGB0L7QvCBwcmUg0LjRgdC/0L7Qu9GM0LfRg9GO0YLRgdGPINC00LvRjyDQtNCy0LjQttC60L7Qsiwg0LrQvtGC0L7RgNGL0LUg0L3QtSDRj9Cy0LvRj9GO0YLRgdGPINGB0YLQsNCx0LjQu9GM0L3Ri9C80Lgg0Lgg0LjRgdC/0L7Qu9GM0LfRg9GO0YLRgdGPINC00LvRjyDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdGL0YUg0YHQsdC+0YDQvtC6INGE0L7RgNC8LlxuYC50cmltKCksXG4gICAgfVxuKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsMEJBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLHVCQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFjTyxNQUFNRywyQkFBMkIsR0FBQUMsT0FBQSxDQUFBRCwyQkFBQSxHQUFHLElBQUFFLDRDQUFpQixFQUN4RCxPQUFPLEVBQ1AsT0FBTyxFQUNQLElBQUFDLDRDQUFpQixFQUNiO0VBQ0lDLEtBQUssRUFBRSxHQUFH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
160
+ exports.buildFormsOptionsDefinition = buildFormsOptionsDefinition;
161
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsInJlcXVpcmUiLCJfQ29tbW9uT3B0aW9uRGVmaW50aW9ucyIsIl9CdWlsZENhY2hlTW9kZSIsImJ1aWxkRm9ybXNPcHRpb25zRGVmaW5pdGlvbiIsImNvbW1hbmREZWZpbml0aW9uIiwib3B0aW9uc0RlZmluaXRpb24iLCJhbGlhcyIsIm5hbWUiLCJkZWZhdWx0VmFsdWUiLCJ3YXRjaCIsInBhcnNlIiwiaW5wdXQiLCJkb2VzTm90UmVxdWlyZVZhbHVlIiwiZGVzY3JpcHRpb24iLCJjbGVhbiIsInVwZ3JhZGVGb3JtSnNvbiIsImJ1aWxkQ2FjaGVNb2RlIiwiQnVpbGRDYWNoZU1vZGUiLCJSZWFkT25seSIsInBhcnNlQnVpbGRDYWNoZU1vZGUiLCJ1c2VMYXN0U3RhYmxlVmVyc2lvbiIsInVzZVByZXJlbGVhc2VWZXJzaW9uIiwidW5kZWZpbmVkIiwic2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmciLCJmb3JtR2xvYnMiLCJkZWZhdWx0T3B0aW9uIiwibXVsdGlwbGUiLCJ1c2VWZXJzaW9uRnJvbUNhY2hlIiwiZGV2TW9kZU9wdGlvbiIsImxvZ1ZlcmJvc2l0eU9wdGlvbiIsImRldGFpbGVkRGVzY3JpcHRpb24iLCJ0cmltIiwiZXhhbXBsZXMiLCJleHRlbmRlZERldGFpbHMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvQnVpbGRGb3Jtc09wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tbWFuZERlZmluaXRpb24sIG9wdGlvbnNEZWZpbml0aW9uIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uc1wiO1xuaW1wb3J0IHsgZGV2TW9kZU9wdGlvbiwgbG9nVmVyYm9zaXR5T3B0aW9uIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uRGVmaW50aW9uc1wiO1xuXG5pbXBvcnQgeyBCdWlsZENhY2hlTW9kZSwgcGFyc2VCdWlsZENhY2hlTW9kZSB9IGZyb20gXCIuL0J1aWxkQ2FjaGVNb2RlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRGb3Jtc09wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgICB3YXRjaDogYm9vbGVhbjtcbiAgICBjbGVhbjogYm9vbGVhbjtcbiAgICBmb3JtR2xvYnM6IHN0cmluZ1tdO1xuICAgIHVwZ3JhZGVGb3JtSnNvbjogYm9vbGVhbjtcbiAgICB1c2VMYXN0U3RhYmxlVmVyc2lvbjogYm9vbGVhbjtcbiAgICB1c2VQcmVyZWxlYXNlVmVyc2lvbj86IHN0cmluZztcbiAgICBza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZzogYm9vbGVhbjtcbiAgICB1c2VWZXJzaW9uRnJvbUNhY2hlOiBib29sZWFuO1xuICAgIGJ1aWxkQ2FjaGVNb2RlOiBCdWlsZENhY2hlTW9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkRm9ybXNPcHRpb25zRGVmaW5pdGlvbiA9IGNvbW1hbmREZWZpbml0aW9uPFwiYnVpbGRcIiwgQnVpbGRGb3Jtc09wdGlvbnM+KFxuICAgIFwiYnVpbGRcIixcbiAgICBcImJ1aWxkXCIsXG4gICAgb3B0aW9uc0RlZmluaXRpb24oXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcIndcIixcbiAgICAgICAgICAgIG5hbWU6IFwid2F0Y2hcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyB3YXRjaDogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiBpbnB1dCA9PiAoeyB3YXRjaDogaW5wdXQgfSksXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCJXYXRjaC3RgNC10LbQuNC8LiDQktGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8LCDQsCDQt9Cw0YLQtdC8INC/0LXRgNC10YHQvtCx0LjRgNCw0LXRgiDQv9GA0Lgg0LjQt9C80LXQvdC10L3QuNGP0YUuINCSINGC0L7QvCDRh9C40YHQu9C1INC00LLQuNC20LrQsCwg0LPQtdC90LXRgNCw0YLQvtGA0LAg0Lgg0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRgNC10YHRg9GA0YHQvtCyLlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImNsZWFuXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgY2xlYW46IGZhbHNlIH0sXG4gICAgICAgICAgICBwYXJzZTogaW5wdXQgPT4gKHsgY2xlYW46IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J/QvtC70L3QvtGB0YLRjNGOINC+0YfQuNGJ0LDQtdGCINGG0LXQu9C10LLQvtC5INC60LDRgtCw0LvQvtCzINGA0LXRgdGD0YDRgdC+0LIuINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQv9GA0Lgg0L/QvtC70L3QvtC5INGB0LHQvtGA0LrQtSDRhNC+0YDQvCDQtNC70Y8g0L/RgNC+0LTQsNC60YjQtdC90LBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJ1cGdyYWRlLWZvcm0tanNvblwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHVwZ3JhZGVGb3JtSnNvbjogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiBpbnB1dCA9PiAoeyB1cGdyYWRlRm9ybUpzb246IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCk0L7RgNGB0LjRgNGD0LXRgiDQuNC30LzQtdC90LXQvdC40LUg0YTQvtGA0LzQsNGC0LAg0YTQsNC50LvQsCBmb3JtLmpzb24g0L3QsCDQvdC+0LLRi9C5XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiYnVpbGQtY2FjaGVcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBidWlsZENhY2hlTW9kZTogQnVpbGRDYWNoZU1vZGUuUmVhZE9ubHkgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZykgPT4gKHsgYnVpbGRDYWNoZU1vZGU6IHBhcnNlQnVpbGRDYWNoZU1vZGUoaW5wdXQpIH0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQl9Cw0LTQsNGR0YIg0YDQtdC20LjQvCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQutGN0YjQsCDRgdCx0L7RgNC60LguINCS0L7Qt9C80L7QttC90YvQtSDQt9C90LDRh9C10L3QuNGPOlxcblwiICtcbiAgICAgICAgICAgICAgICBcIiAgZGlzYWJsZWQgLSDQvdC1INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutGN0YhcXG5cIiArXG4gICAgICAgICAgICAgICAgXCIgIHJlYWRvbmx5IC0g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC60Y3RiCDQtNC70Y8g0YHQsdC+0YDQutC4LCDQvdC+INC90LUg0L7QsdC90L7QstC70Y/QtdGCINC10LPQviAo0LfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjilcXG5cIiArXG4gICAgICAgICAgICAgICAgXCIgIHVwZGF0ZSAtINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutGN0Ygg0LTQu9GPINGB0LHQvtGA0LrQuCDQuCDQv9GA0LXQt9Cw0L/QuNGB0YvQstCw0YLRjCwg0LXRgdC70Lgg0L3QtSDRgdC+0LLQv9Cw0LTQsNC10YJcXG5cIiArXG4gICAgICAgICAgICAgICAgXCIgIGZvcmNlLXVwZGF0ZSAtINCy0YHQtdCz0LTQsCDQstGL0L/QvtC70L3Rj9GC0Ywg0YHQsdC+0YDQutGDINC4INC+0LHQvdC+0LLQuNGC0Ywg0LfQvdCw0YfQtdC90LjRjyDQsiDQutGN0YjQtVxcblwiICtcbiAgICAgICAgICAgICAgICBcItCe0YLQutC70Y7Rh9Cw0LXRgtGB0Y8g0L/RgNC4INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC4IHdhdGNoLdGA0LXQttC40LzQsFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInVzZS1sYXN0LXN0YWJsZS12ZXJzaW9uXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgdXNlTGFzdFN0YWJsZVZlcnNpb246IGZhbHNlIH0sXG4gICAgICAgICAgICBwYXJzZTogaW5wdXQgPT4gKHsgdXNlTGFzdFN0YWJsZVZlcnNpb246IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LLQtdGA0YHQuNGOINC00LLQuNC20LrQsCDQsiDRhNCw0LnQu9CwIGBmb3JtLmpzb25gINCyINC/0L7RgdC70LXQtNC90Y7RjiDRgdGC0LDQsdC40LvRjNC90YPRjiDQstC10YDRgdC40Y4uINCQ0L3QsNC70L7Qs9C40YfQtdC9INC30LDQv9GD0YHQutGDIGNhbmR5LWJ1aWxkINGBINC/0LDRgNCw0LzQtdGC0YDQvtC8IC1nZSBtYXN0ZXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJ1c2UtcHJlcmVsZWFzZS12ZXJzaW9uXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgdXNlUHJlcmVsZWFzZVZlcnNpb246IHVuZGVmaW5lZCBhcyB1bmRlZmluZWQgfCBzdHJpbmcgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZykgPT4gKHsgdXNlUHJlcmVsZWFzZVZlcnNpb246IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQstC10YDRgdC40Y4g0LTQstC40LbQutCwINCyINGE0LDQudC70LAgZm9ybS5qc29uINCyINC/0L7RgdC70LXQtNC90Y7RjiDQv9GA0LXRgNC10LvQuNC30L3Rg9GOINCy0LXRgNGB0LjRjiDQsiDQt9Cw0LTQsNC90L3Ri9C8IHByZWlkLiDQkiDRhNCw0LnQu9C1INCy0LXRgNGB0LjQuCDQs9C10L3QtdGA0LDRgtC+0YDQsCDQuCDQtNCy0LjQttC60LAg0LHRg9C00YPRgiDRg9GB0YLQsNC90L7QstC70LXQvdGLINCyIHByZTpzb21lLXByZWlkLlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5vLXJlZm9ybWF0XCIsXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiB0cnVlIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBib29sZWFuKSA9PiAoeyBza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZzogaW5wdXQgfSksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICBcItCe0YLQu9GO0YfQsNC10YIg0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjQtSDQs9C10L3QtdGA0LjRgNGD0LXQvNC+0LPQviDQutC+0LTQsC4g0KDQsNCx0L7RgtCw0LXRgiwg0YLQvtC70YzQutC+INC10YHQu9C4INCy0LXRgNGB0LjRjyDQs9C10L3QtdGA0LDRgtC+0YDQsCDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0Y3RgtGDINC+0L/RhtC40Y4uINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YPRgdC60L7RgNC10L3QuNGPINGB0LHQvtGA0LrQuCDRhNC+0YDQvC4gKGRlZmF1bHQ6IHRydWUpXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImdcIixcbiAgICAgICAgICAgIG5hbWU6IFwiZ2Z2c1wiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IGZvcm1HbG9iczogW10gfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZ1tdKSA9PiAoeyBmb3JtR2xvYnM6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwi0J7QtNC90LAg0LjQu9C4INC90LXRgdC60L7Qu9GM0LrQviBHRlYg0LjQu9C4IEdGVi3QvNCw0YHQvtC6INC00LvRjyDQv9C10YDQtdGB0LHQvtGA0LrQuC4g0JzQvtC20LXRgiDRgdC+0LTQtdGA0LbQsNGC0Ywg0LfQvdCw0YfQutC4IGA/YCDQuCBgKmAuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwidXNlLXZlcnNpb24tZnJvbS1jYWNoZVwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHVzZVZlcnNpb25Gcm9tQ2FjaGU6IGZhbHNlIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBib29sZWFuKSA9PiAoeyB1c2VWZXJzaW9uRnJvbUNhY2hlOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC10YDRgdC40Y4g0LTQstC40LbQutCwINC4INCz0LXQvdC10YDQsNGC0L7RgNCwINC40Lcg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRi1wiLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZGV2TW9kZU9wdGlvbixcbiAgICAgICAgbG9nVmVyYm9zaXR5T3B0aW9uXG4gICAgKSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgXCLQktGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINC+0LTQvdC+0Lkg0LjQu9C4INC90LXRgdC60L7Qu9GM0LrQuNGFINGE0L7RgNC8LlxcblwiICtcbiAgICAgICAgICAgIFwi0J/QvtC00YDQvtCx0L3QtdC1OiBodHRwczovL2dpdC5za2Jrb250dXIucnUva2UvY2FuZHktdXRpbHMvYmxvYi9uZXctY2FuZHktdG9vbC1jbGkvUkVBRE1FLm1kXCIsXG5cbiAgICAgICAgZGV0YWlsZWREZXNjcmlwdGlvbjogYFxu0J7RgdC90L7QstC90L7QuSDRgdGG0LXQvdCw0YDQuNC5OiDQstGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8INCyINC60LDRgtCw0LvQvtCzINGBINGA0LXRgdGD0YDRgdCw0LzQuC4g0JTQtdC50YHRgtCy0LjRjywg0LrQvtGC0L7RgNGL0LUg0LLRi9C/0L7Qu9C90Y/QtdGCINC60L7QvNCw0L3QtNCwOlxuXG4qINCf0L7Qu9GD0YfQtdC90LjQtSDQtNCy0LjQttC60LAg0YTQvtGA0Lwg0LLQtdGA0YHQuNC4INGD0LrQsNC30LDQvdC90L7QuSDQsiBcXGBmb3JtLmpzb25cXGAsXG4qINC/0L7Qu9GD0YfQtdC90LjQtSDQs9C10L3QtdGA0LDRgtC+0YDQsCDRhNC+0YDQvCDQstC10YDRgdC40Lgg0YPQutCw0LfQsNC90L3QvtC5INCyIFxcYGZvcm0uanNvblxcYCxcbiog0LPQtdC90LXRgNCw0YbQuNGPINC4INC60L7QvNC/0LjQu9GP0YbQuNGPINGE0L7RgNC80Ysg0LIg0LrQsNGC0LDQu9C+0LMg0YDQtdGB0YPRgNGB0L7Qsixcbiog0YHQvtC30LTQsNC90LjQtSDRhNCw0LnQu9C+0LIgXFxge2dmdn0ubWV0YXMuanNvblxcYCDQuCBcXGBwcmVzZW50YXRpb25zLmpzb25cXGAg0LIg0LrQsNGC0LDQu9C+0LPQtSDRgNC10YHRg9GA0YHQvtCyXG4qINC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LrQvtC90LLQtdGA0YLQtdGA0L7QsiDQsiDQutCw0YLQsNC70L7QsyDRgNC10YHRg9GA0YHQvtCyLFxuKiDQutC+0L/QuNGA0L7QstCw0L3QuNC1INGB0YXQtdC80Ysg0LIg0LrQsNGC0LDQu9C+0LMg0YDQtdGB0YPRgNGB0L7Qsi5cbmAudHJpbSgpLFxuXG4gICAgICAgIGV4YW1wbGVzOiBgXG5cXGBcXGBcXGBcbiMg0KHQsdC+0YDQutCwINGE0L7RgNC80YsgMTA0ODE2XG5jYW5keSBidWlsZCAxMDQ4MTZcblxcYFxcYFxcYFxuXG5cXGBcXGBcXGBcbiMg0KHQsdC+0YDQutCwINCy0YHQtSDRhNC+0YDQvNGLINCz0YDRg9C/0L/RiyAxXG5jYW5keSBidWlsZCAxPz8/Pz9cblxcYFxcYFxcYFxuXG5cXGBcXGBcXGBcbiMg0KHQvtCx0YDQsNGC0Ywg0YTQvtGA0LzRgyAxMDQ4MTYg0Lgg0YHQu9C10LTQuNGC0Ywg0LfQsCDQuNC30LzQtdC90LXQvdC40Y/QvNC4XG5jYW5keSBidWlsZCAxMDQ4MTYgLXdcblxcYFxcYFxcYFxuXG5cXGBcXGBcXGBcbiMg0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC/0L7RgdC70LXQtNC90Y7RjiDQv9GA0LXRgNC10LvQuNC30L3Rg9GOINCy0LXRgNGB0LjRjiDQtNCy0LjQttC60LAg0YEgcHJlaWQ9YnNvXG5jYW5keSBidWlsZCAxMDQ4MTYgLS11c2UtcHJlcmVsZWFzZS12ZXJzaW9uIGJzb1xuXFxgXFxgXFxgXG5gLnRyaW0oKSxcblxuICAgICAgICBleHRlbmRlZERldGFpbHM6IGBcbiMjIyDQktC10YDRgdC40L7QvdC40YDQvtCy0LDQvdC40LVcblxu0J/RgNC4INGB0LHQvtGA0LrQtSDRhNC+0YDQvCwg0YPRh9C40YLRi9Cy0LDQtdGC0YHRjyDQstC10YDRgdC40Y8g0LTQstC40LbQutCwINC4INCz0LXQvdC10YDQsNGC0L7RgNCwINGD0LrQsNC30LDQvdC90YvQtSDRhNCw0LnQu9C1IGZvcm0uanNvbi4g0JLQtdGA0YHQuNC4INC80L7Qs9GD0YIg0YPQutCw0LfRi9Cy0LDRgtGMINC90LUg0L3QsCDQutC+0L3QutGA0LXRgtC90YPRjiDQstC10YDRgdC40Y4sINCwINCw0LTRgNC10YHQvtCy0LDRgtGMINC00LjQsNC/0LDQt9C+0L0g0LIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNC4INGBIFtzZW12ZXJdKGh0dHBzOi8vc2VtdmVyLm9yZy9sYW5nL3J1LykuXG7QkiDRjdGC0L7QvCDRgdC70YPRh9Cw0LUg0LHRg9C00LXRgiDQstGL0LHRgNCw0L3QsCDQv9C+0YHQu9C10LTQvdGP0Y8g0L/QvtC00YXQvtC00Y/RidCw0Y8g0LLQtdGA0YHQuNGPLlxuXG7QpNCw0LnQuyBmb3JtLmpzb24g0LTQvtC70LbQtdC9INCy0YvQs9C70Y/QtNC10YLRjCDRgdC70LXQtNGD0Y7RidC40Lwg0L7QsdGA0LDQt9C+0Lw6XG5cXGBcXGBcXGBcbntcbiAgICAvLyDQntC/0YbQuNC+0L3QsNC70YzQvdC+XG4gICAgXCJ0aGVtZXNcIjogW1wi0LjQvNGPLdGC0LXQvNGLXCIsIC4uLl0sXG4gICAgXCJkZXBlbmRlbmNpZXNcIjoge1xuICAgICAgICBcImVuZ2luZVwiOiBcIlvQstC10YDRgdC40Y8t0LTQstC40LbQutCwXVwiLFxuICAgICAgICBcImdlbmVyYXRvclwiOiBcIlvQstC10YDRgdC40Y8t0LPQtdC90LXRgNCw0YLQvtGA0LBdXCJcbiAgICB9XG59XG5cXGBcXGBcXGBcblxuXFxg0LLQtdGA0YHQuNGPLdC00LLQuNC20LrQsFxcYCwgXFxg0LLQtdGA0YHQuNGPLdCz0LXQvdC10YDQsNGC0L7RgNCwXFxgIC0g0KHQvtC+0YLQstC10YLRgdGC0LLQtdC90L3Qviwg0LTQuNCw0L/QsNC30L7QvdGLINCy0LXRgNGB0LjQuS4g0J3QsCDQtNCw0L3QvdGL0Lkg0LzQvtC80LXQvdGCINCy0YHQtdCz0LTQsCDRgdC+0LLQv9Cw0LTQsNGO0YIuXG5cbtCU0L7Qv9GD0YHRgtC40LzRi9C1INCy0LDRgNC40LDQvdGC0Ysg0LLQtdGA0YHQuNC5OlxuKiDQktC10YDRgdC40Y8g0LIg0YTQvtGA0LzQsNGC0LUgW3NlbXZlcl0oaHR0cHM6Ly9zZW12ZXIub3JnL2xhbmcvcnUvKS5cbiog0JLQtdGA0YHQuNGPINGBINC/0YDQtdGE0LjQutGB0L7QvCBwcmUuINCd0LDQv9GA0LjQvNC10YAsIFxcYHByZTpteS1zdGFuZ2UtYnJhbmNoLW5hbWVcXGAsINCz0LTQtSBcXGBteS1zdGFuZ2UtYnJhbmNoLW5hbWVcXGAgLSDQvdCw0LfQstCw0L3QuNC1INC/0YDQtdC00YDQtdC70LjQt9C90L7QuSDQstC10YDRgdC40LgsINCy0YvQv9GD0YHQutCw0LXQvNC+0Lkg0YDQsNC30YDQsNCx0L7RgtGH0LjQutCw0LzQuCBDYW5keSwg0LTQu9GPINC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90L7Qs9C+INCy0YvQv9GD0YHQutCwINGE0L7RgNC8Llxu0JLQtdGA0YHQuNGPINGBINC/0YDQtdGE0LjQutGB0L7QvCBwcmUg0LjRgdC/0L7Qu9GM0LfRg9GO0YLRgdGPINC00LvRjyDQtNCy0LjQttC60L7Qsiwg0LrQvtGC0L7RgNGL0LUg0L3QtSDRj9Cy0LvRj9GO0YLRgdGPINGB0YLQsNCx0LjQu9GM0L3Ri9C80Lgg0Lgg0LjRgdC/0L7Qu9GM0LfRg9GO0YLRgdGPINC00LvRjyDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdGL0YUg0YHQsdC+0YDQvtC6INGE0L7RgNC8LlxuYC50cmltKCksXG4gICAgfVxuKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsMEJBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLHVCQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFjTyxNQUFNRywyQkFBMkIsR0FBRyxJQUFBQyw0Q0FBaUIsRUFDeEQsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFBQyw0Q0FBaUIsRUFDYjtFQUNJQyxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsT0FBTztF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
@@ -231,4 +231,4 @@ async function cleanTargetDirectory(resourcesDirectory, logger) {
231
231
  await (0, _fsExtra.emptyDir)(resourcesDirectory);
232
232
  logger.log("Resource directory clean");
233
233
  }
234
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NoYWxrIiwiX2ZzRXh0cmEiLCJfbm9kZU5vdGlmaWVyIiwiX0FjcXVpcmVGb3JtRW5naW5lIiwiX0VuZ2luZVNvdXJjZSIsIl9Db21waWxlRm9ybSIsIl9HZW5lcmF0ZUZvcm0iLCJfTnVsbEZvcm1HZW5lcmF0b3IiLCJfV3JpdGVGTGFuZ05vcm1hbGl6YXRpb25GaWxlcyIsIl9GU1Rhc2siLCJfQWNxdWlyZUZvcm1HZW5lcmF0b3IiLCJfUHVibGlzaGVkVmVyc2lvblV0aWxzIiwiX1Jlc29sdmVGb3JtSW5mbyIsIl9Xcml0ZUZvcm1NZXRhIiwiX0Zvcm1HbG9ic1V0aWxzIiwiX1N0YXRpY0xvZ2dlciIsIl9PYnNlcnZlIiwiX1NpbmdsZVZhbHVlUHJvZHVjZXIiLCJfVGltaW5nVXRpbHMiLCJfQ2FjaGVBc3NldHNQbHVnaW4iLCJfVHlwaW5nVXRpbHMiLCJfV3JpdGVBdHRhY2htZW50UGF0aEZpbGVzIiwiX2dldFJuZ1NjaGVtYUZpbGVuYW1lIiwiX0Zvcm1QYXRoVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJnZXRHZW5lcmF0b3JWZXJzaW9uIiwiZ2VuZXJhdG9yU291cmNlIiwidHlwZSIsInZlcnNpb24iLCJFcnJvciIsInJ1bkJ1aWxkRm9ybXMiLCJjb250ZXh0Iiwib3B0aW9ucyIsImZhcm1EaXJlY3RvcnkiLCJyZXNvdXJjZXNEaXJlY3RvcnkiLCJlbmdpbmVEaXJlY3RvcnkiLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJobEZhcm1EaXJlY3RvcnlQYXRoIiwiYnVpbGRPcHRpb25zIiwicGlja0xpc3RzQ2hhaW4iLCJPYnNlcnZlIiwiZmlsZXMiLCJwYXRoIiwiam9pbiIsImRvIiwieCIsIkZTVGFzayIsImNvcHlSZWN1cnNpdmVseSIsImxvZ2dlciIsIndpdGhQcmVmaXgiLCJGb3JtR2xvYnMiLCJlbnN1cmVFYWNoR2xvYlJlc29sdmVzSW50b0V4aXN0aW5nRm9ybSIsImZvcm1HbG9icyIsImZvcm1JbmZvcyIsInJlc29sdmVHZnZHbG9icyIsInN0YXRpY1Jlc291cmNlc0ZvclByb2R1Y3Rpb25DaGFpbiIsIl9fZGlybmFtZSIsImdldExvZ2dlciIsInJlc291cmNlc0V4dGVybmFsQ29udmVydGVyc0NoYWluIiwiZW1wdHkiLCJjb3BpZWRFbmdpbmVzIiwiU2V0IiwicmVwb3NpdG9yeVJvb3QiLCJidWlsZENhY2hlIiwiQnVpbGRDYWNoZSIsImJ1aWxkQ2FjaGVNb2RlIiwiYnVpbGRGb3Jtc0NoYWluIiwiZml4ZWRGb3JtRGlyZWN0b3JpZXMiLCJtYXAiLCJyZWxhdGl2ZSIsImZvcm1QYXRoIiwic3BsaXRUb1BhcmFsbGVsQ2hhaW5zIiwiZm9ybVJlbGF0aXZlUGF0aCIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJmb3JtRGlyUGF0aCIsInBhdGhFeGlzdHMiLCJXZWxsS25vd25EaXJlY3RvcmllcyIsIkZvcm1Kc29uRmlsZU5hbWUiLCJ3YXJuaW5nIiwidmFsdWUiLCJmb3JtU2NoZW1hc0RpclBhdGgiLCJybmdTY2hlbWFNYXNrIiwiZ2V0Um5nU2NoZW1hRmlsZW5hbWUiLCJmaWxlIiwidHJhbnNmb3JtIiwiZm9ybUpzb25GaWxlIiwicmVzb2x2ZUZvcm1JbmZvIiwidXBncmFkZUZvcm1Kc29uIiwidXNlTGFzdFN0YWJsZVZlcnNpb24iLCJ1c2VQcmVyZWxlYXNlVmVyc2lvbiIsImZpIiwibW9kZSIsIkZvcm1CdWlsZE1vZGUiLCJOb3JtYWxCdWlsZCIsImdlbmVyYXRvclZlcnNpb24iLCJ1bmRlZmluZWQiLCJlbmdpbmVWZXJzaW9uIiwicmVzb2x2ZUdlbmVyYXRvclZlcnNpb24iLCJlbmdpbmVTb3VyY2UiLCJyZXNvbHZlRW5naW5lVmVyc2lvbiIsImF0dGFjaCIsIlNpbmdsZVZhbHVlUHJvZHVjZXIiLCJOdWxsRm9ybUdlbmVyYXRvciIsImdlbmVyYXRvckZhY3RvcnkiLCJ1c2VWZXJzaW9uRnJvbUNhY2hlIiwieSIsImdlbmVyYXRvciIsImdldEdlbmVyYXRvclNvdXJjZUtleSIsImVuZ2luZUZhY3RvcnkiLCJoYXMiLCJnZXRFbmdpbmVTb3VyY2VLZXkiLCJhZGQiLCJmb3JtU291cmNlc1BhdGgiLCJkZXBlbmRlbmNpZXNIYXNoIiwic3VwcG9ydHNEZXBlbmRlbmNpZXNFeHRyYWN0aW9uIiwiZ2V0QWxsRGVwZW5kZW5jaWVzSGFzaCIsImJ1aWxkQ2FjaGVFeGlzdCIsImV4aXN0cyIsIl9maSRkZXBlbmRlbmNpZXNIYXNoIiwibG9nIiwiZ2VuZXJhdGVGb3JtIiwic2tpcENvZGVSZWZvcm1hdHRpbmciLCJza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZyIsInJlc291cmNlc0hhc2giLCJfZmkkZGVwZW5kZW5jaWVzSGFzaDIiLCJfZmkkZGVwZW5kZW5jaWVzSGFzaDMiLCJleHRyYWN0IiwiYnVpbGRDYWNoZU9wdGlvbnMiLCJkZXBzSGFzaCIsImNvbXBpbGVGb3JtIiwiZm9ybU5hbWUiLCJ0aGVtZXMiLCJyZWplY3QiLCJ3cml0ZUZvcm1NZXRhIiwid3JpdGVGTGFuZ05vcm1hbGl6YXRpb25GaWxlcyIsIndyaXRlQXR0YWNobWVudFBhdGhGaWxlcyIsIkNvcHlMZWdhY3lQcmVidWlsdFJlc291cmNlcyIsIm1vZGlmaWVyIiwiY29udGVudCIsInJlcGxhY2UiLCJtb2RpZnlGaWxlc0NvbnRlbnQiLCJ3YXRjaCIsIm5vdGlmaWVyIiwibm90aWZ5IiwidGl0bGUiLCJtZXNzYWdlIiwiY2xlYW4iLCJjbGVhblRhcmdldERpcmVjdG9yeSIsInN0b3BPYnNlcnZlMSIsIm9ic2VydmUiLCJzdG9wT2JzZXJ2ZTIiLCJzdG9wT2JzZXJ2ZTMiLCJzdG9wT2JzZXJ2ZTUiLCJ3YWl0Rm9yRXhpdCIsInN0YXJ0RGF0ZSIsIkRhdGUiLCJub3ciLCJjdXJyZW50VmFsdWUiLCJjb25zb2xlIiwiY2hhbGsiLCJncmVlbkJyaWdodCIsInRvdGFsVGltZSIsInByaW50VGltZSIsImVtcHR5RGlyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvUnVuQnVpbGRGb3Jtcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQgeyBlbXB0eURpciwgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IG5vdGlmaWVyIGZyb20gXCJub2RlLW5vdGlmaWVyXCI7XG5cbmltcG9ydCB7IGVuZ2luZUZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9FbmdpbmUvQWNxdWlyZUZvcm1FbmdpbmVcIjtcbmltcG9ydCB7IGdldEVuZ2luZVNvdXJjZUtleSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0VuZ2luZS9FbmdpbmVTb3VyY2VcIjtcbmltcG9ydCB7IGNvbXBpbGVGb3JtIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRm9ybS9Db21waWxlRm9ybVwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVGb3JtIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRm9ybS9HZW5lcmF0ZUZvcm1cIjtcbmltcG9ydCB7IE51bGxGb3JtR2VuZXJhdG9yIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRm9ybS9OdWxsRm9ybUdlbmVyYXRvclwiO1xuaW1wb3J0IHsgd3JpdGVGTGFuZ05vcm1hbGl6YXRpb25GaWxlcyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0Zvcm0vV3JpdGVGTGFuZ05vcm1hbGl6YXRpb25GaWxlc1wiO1xuaW1wb3J0IHsgRlNUYXNrIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRlNUYXNrXCI7XG5pbXBvcnQge1xuICAgIGdlbmVyYXRvckZhY3RvcnksXG4gICAgR2VuZXJhdG9yU291cmNlLFxuICAgIGdldEdlbmVyYXRvclNvdXJjZUtleSxcbn0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvR2VuZXJhdG9yL0FjcXVpcmVGb3JtR2VuZXJhdG9yXCI7XG5pbXBvcnQgeyByZXNvbHZlRW5naW5lVmVyc2lvbiwgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24gfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IEZvcm1CdWlsZE1vZGUsIHJlc29sdmVGb3JtSW5mbyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgd3JpdGVGb3JtTWV0YSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1dyaXRlRm9ybU1ldGFcIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgRm9ybUdsb2JzIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvRm9ybUdsb2JzVXRpbHNcIjtcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Mb2dnaW5nL0lMb2dnZXJcIjtcbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IFNpbmdsZVZhbHVlUHJvZHVjZXIgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvU2luZ2xlVmFsdWVQcm9kdWNlclwiO1xuaW1wb3J0IHsgcHJpbnRUaW1lIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvVGltaW5nVXRpbHNcIjtcbmltcG9ydCB7IEJ1aWxkQ2FjaGUgfSBmcm9tIFwiLi4vLi4vRm9ybVdlYnBhY2tDb25maWd1cmF0aW9uL0NhY2hlQXNzZXRzUGx1Z2luXCI7XG5pbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyB3cml0ZUF0dGFjaG1lbnRQYXRoRmlsZXMgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9Gb3JtL1dyaXRlQXR0YWNobWVudFBhdGhGaWxlc1wiO1xuaW1wb3J0IHsgQ2hhaW5hYmxlVmFsdWVQcm9kdWNlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL1Rhc2tzQ29yZS9DaGFpbmFibGVWYWx1ZVByb2R1Y2VyXCI7XG5pbXBvcnQgeyBFbXB0eVByb2R1Y2VyIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL0VtcHR5UHJvZHVjZXJcIjtcbmltcG9ydCB7IGdldFJuZ1NjaGVtYUZpbGVuYW1lIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbi9nZXRSbmdTY2hlbWFGaWxlbmFtZVwiO1xuaW1wb3J0IHsgZXh0cmFjdEdmdkZyb21Gb3JtUGF0aCB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vRm9ybVBhdGhVdGlsc1wiO1xuaW1wb3J0IHsgV2VsbEtub3duRGlyZWN0b3JpZXMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL1dlbGxLbm93bkRpcmVjdG9yaWVzXCI7XG5cbmltcG9ydCB7IEJ1aWxkRm9ybXNPcHRpb25zIH0gZnJvbSBcIi4vQnVpbGRGb3Jtc09wdGlvbnNcIjtcblxuZnVuY3Rpb24gZ2V0R2VuZXJhdG9yVmVyc2lvbihnZW5lcmF0b3JTb3VyY2U6IEdlbmVyYXRvclNvdXJjZSk6IHN0cmluZyB7XG4gICAgaWYgKGdlbmVyYXRvclNvdXJjZS50eXBlID09PSBcIlB1Ymxpc2hlZEdlbmVyYXRvclwiKSB7XG4gICAgICAgIHJldHVybiBnZW5lcmF0b3JTb3VyY2UudmVyc2lvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkUHJvZ3JhbVN0YXRlXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkJ1aWxkRm9ybXMoXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCxcbiAgICBvcHRpb25zOiBCdWlsZEZvcm1zT3B0aW9ucyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgcmVzb3VyY2VzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgaGxGYXJtRGlyZWN0b3J5UGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidWlsZE9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgY29uc3QgcGlja0xpc3RzQ2hhaW4gPSBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcInBpY2tsaXN0c1wiKSwgXCIqLmpzb25cIikuZG8oeCA9PlxuICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KGNvbnRleHQubG9nZ2VyLndpdGhQcmVmaXgoXCJQSUNLTElTVFNcIiksIHgsIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwicGlja2xpc3RzXCIpKVxuICAgICk7XG5cbiAgICBhd2FpdCBGb3JtR2xvYnMuZW5zdXJlRWFjaEdsb2JSZXNvbHZlc0ludG9FeGlzdGluZ0Zvcm0ob3B0aW9ucy5mb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIGNvbnN0IGZvcm1JbmZvcyA9IGF3YWl0IEZvcm1HbG9icy5yZXNvbHZlR2Z2R2xvYnMob3B0aW9ucy5mb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpO1xuXG4gICAgY29uc3Qgc3RhdGljUmVzb3VyY2VzRm9yUHJvZHVjdGlvbkNoYWluID0gT2JzZXJ2ZS5maWxlcyhcbiAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiU3RhdGljRmlsZXNGb3JQcm9kdWN0aW9uUmVzb3VyY2VzRGlyXCIpLFxuICAgICAgICBcIiouanNcIixcbiAgICAgICAgXCIqLmpzLm1hcFwiXG4gICAgKS5kbyh4ID0+XG4gICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIlNUQVRJQ1NcIiksIHgsIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwicHVibGljXCIsIFwic2NyaXB0c1wiKSlcbiAgICApO1xuXG4gICAgLyoqINCa0L7QvdCy0LXRgNGC0LXRgNGLINC+0L/QuNGB0Lgg0LTQu9GPINGE0L7RgNC8LCDQutC+0YLQvtGA0YvQtSDQv9C+0LrQsCDQvdC1INGA0LXQsNC70LjQt9C+0LLQsNC90Ysg0L3QsCDQutC10L3QtNC4LCDRgdCw0LzQsCDQvNC10YXQsNC90LjQutCwINC+0L/QuNGB0Lgg0L/QtdGA0LXQvdC10YHQtdC90LAg0LIg0YTQvtGA0LzRiyDQsiDQutC10L3QtNC4INCw0L/QuCwg0L/QvtGN0YLQvtC80YMg0L7QvdC4INC00L7Qu9C20L3RiyDQsdGL0YLRjCDQsiBjYW5keS5yZXNvdXJjZXNcbiAgICAgKiAg0KDQtdCw0LvQuNC30YPQtdGC0YHRjyDRgtC+0LvRjNC60L4g0L/RgNC4INC+0LHRidC10Lwg0LHQuNC70LTQtSDRhNC+0YDQvDogY2FuZHkgYnVpbGQgKlxuICAgICAqICovXG4gICAgbGV0IHJlc291cmNlc0V4dGVybmFsQ29udmVydGVyc0NoYWluOiBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyPHN0cmluZz4gfCBFbXB0eVByb2R1Y2VyID0gT2JzZXJ2ZS5lbXB0eSgpO1xuICAgIGlmIChvcHRpb25zLmZvcm1HbG9ic1swXSA9PT0gXCIqXCIpIHtcbiAgICAgICAgcmVzb3VyY2VzRXh0ZXJuYWxDb252ZXJ0ZXJzQ2hhaW4gPSBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcImV4dGVybmFsQ29udmVydGVyc1wiKSwgXCIqLnhzbHRcIikuZG8oXG4gICAgICAgICAgICB4ID0+XG4gICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIkVYVEVSTkFMLUNPTlZFUlRFUlNcIiksXG4gICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwiY29udmVydGVyc1wiKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb3BpZWRFbmdpbmVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCByZXBvc2l0b3J5Um9vdCA9IHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcIi4uXCIpO1xuICAgIGNvbnN0IGJ1aWxkQ2FjaGUgPSBuZXcgQnVpbGRDYWNoZShmYXJtRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkQ2FjaGVNb2RlKTtcbiAgICBjb25zdCBidWlsZEZvcm1zQ2hhaW4gPSBPYnNlcnZlLmZpeGVkRm9ybURpcmVjdG9yaWVzKFxuICAgICAgICBmb3JtSW5mb3MubWFwKHggPT4gcGF0aC5yZWxhdGl2ZShyZXBvc2l0b3J5Um9vdCwgeC5mb3JtUGF0aCkpXG4gICAgKS5zcGxpdFRvUGFyYWxsZWxDaGFpbnMoXG4gICAgICAgIHggPT4geCxcbiAgICAgICAgeCA9PiB4LFxuICAgICAgICBhc3luYyBmb3JtUmVsYXRpdmVQYXRoID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGdmdiA9IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGgoZm9ybVJlbGF0aXZlUGF0aCk7XG4gICAgICAgICAgICBjb25zdCBmb3JtRGlyUGF0aCA9IHBhdGguam9pbihyZXBvc2l0b3J5Um9vdCwgZm9ybVJlbGF0aXZlUGF0aCk7XG5cbiAgICAgICAgICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKSkpKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5sb2dnZXIud2FybmluZyhcbiAgICAgICAgICAgICAgICAgICAgYEZvcm0gJHtnZnZ9IGRvZXMgbm90IGhhdmUgZm9ybS5qc29uIGZpbGUuIFRvIGluY2x1ZGUgdGhpcyBmb3JtIHRvIGJ1aWxkIHByb2Nlc3MgcmVzdGFydCBidWlsZGBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBPYnNlcnZlLnZhbHVlKHt9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZvcm1TY2hlbWFzRGlyUGF0aCA9IHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJzY2hlbWFzXCIpO1xuICAgICAgICAgICAgY29uc3Qgcm5nU2NoZW1hTWFzayA9IGAqJHtnZXRSbmdTY2hlbWFGaWxlbmFtZShmb3JtU2NoZW1hc0RpclBhdGgsIGdmdil9YDtcblxuICAgICAgICAgICAgcmV0dXJuIE9ic2VydmUuZmlsZShwYXRoLmpvaW4oZm9ybURpclBhdGgsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWUpKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oZm9ybUpzb25GaWxlID0+XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVGb3JtSW5mbyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Kc29uRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5sb2dnZXIud2l0aFByZWZpeChgRk9STToke2dmdn1gKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudXBncmFkZUZvcm1Kc29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy51c2VMYXN0U3RhYmxlVmVyc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudXNlUHJlcmVsZWFzZVZlcnNpb25cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpLm1vZGUgPT09IEZvcm1CdWlsZE1vZGUuTm9ybWFsQnVpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaS5nZW5lcmF0b3JWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImdlbmVyYXRvclZlcnNpb24gaXMgbm90IGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmkuZW5naW5lVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJlbmdpbmVWZXJzaW9uIGlzIG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5maSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IGF3YWl0IHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3JWZXJzaW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53aXRoUHJlZml4KGdmdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogYXdhaXQgcmVzb2x2ZUVuZ2luZVZlcnNpb24oZmkuZW5naW5lVmVyc2lvbiwgY29udGV4dC5sb2dnZXIud2l0aFByZWZpeChnZnYpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmdlbmVyYXRvclNvdXJjZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNpbmdsZVZhbHVlUHJvZHVjZXIobmV3IE51bGxGb3JtR2VuZXJhdG9yKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2VuZXJhdG9yRmFjdG9yeShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZ2VuZXJhdG9yU291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudXNlVmVyc2lvbkZyb21DYWNoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIChmaSwgeSkgPT4gKHsgLi4uZmksIGdlbmVyYXRvcjogeSB9KSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmdlbmVyYXRvclNvdXJjZSAhPSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGdldEdlbmVyYXRvclNvdXJjZUtleShmaS5nZW5lcmF0b3JTb3VyY2UpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIk51bGxGb3JtR2VuZXJhdG9yXCJcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmVuZ2luZVNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTaW5nbGVWYWx1ZVByb2R1Y2VyKFwiTnVsbEVuZ2luZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbmdpbmVGYWN0b3J5KGZpLmVuZ2luZVNvdXJjZSwgY2FuZHlNb2R1bGVzRGlyZWN0b3J5LCBvcHRpb25zLnVzZVZlcnNpb25Gcm9tQ2FjaGUpLmRvKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzeW5jIHggPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvcGllZEVuZ2luZXMuaGFzKGdldEVuZ2luZVNvdXJjZUtleShmaS5lbmdpbmVTb3VyY2UpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiRU5HSU5FXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJwdWJsaWNcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3BpZWRFbmdpbmVzLmFkZChnZXRFbmdpbmVTb3VyY2VLZXkoZmkuZW5naW5lU291cmNlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhc3luYyBmaSA9PiBmaSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gKGZpLmVuZ2luZVNvdXJjZSAhPSB1bmRlZmluZWQgPyBnZXRFbmdpbmVTb3VyY2VLZXkoZmkuZW5naW5lU291cmNlKSA6IFwiTnVsbEVuZ2luZVwiKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uL2NvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiLi4vLi4veHNsdFRlbXBsYXRlcy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uL2pzSGVscGVycy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNjaGVtYXMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWdhci8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXV0b2NhbGMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWxwZXJzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGlvbnMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsb2NhbGl6YXRpb24vKiovKlwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZXBlbmRlbmNpZXNIYXNoOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaS5tb2RlICE9PSBGb3JtQnVpbGRNb2RlLk5vcm1hbEJ1aWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llc0hhc2g6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGF3YWl0IGZpLmdlbmVyYXRvci5zdXBwb3J0c0RlcGVuZGVuY2llc0V4dHJhY3Rpb24oKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzSGFzaCA9IGF3YWl0IGZpLmdlbmVyYXRvci5nZXRBbGxEZXBlbmRlbmNpZXNIYXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmksXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXNIYXNoOiBkZXBlbmRlbmNpZXNIYXNoLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBidWlsZENhY2hlRXhpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmRlcGVuZGVuY2llc0hhc2ggIT0gdW5kZWZpbmVkICYmIGZpLmdlbmVyYXRvclNvdXJjZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkQ2FjaGVFeGlzdCA9IGF3YWl0IGJ1aWxkQ2FjaGUuZXhpc3RzKGZpLmdlbmVyYXRvclNvdXJjZSwgZ2Z2LCBmaS5kZXBlbmRlbmNpZXNIYXNoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmksXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlRXhpc3Q6IGJ1aWxkQ2FjaGVFeGlzdCxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaS5nZW5lcmF0b3JTb3VyY2UgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaS5idWlsZENhY2hlRXhpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQubG9nZ2VyLndpdGhQcmVmaXgoYEdFTkVSQVRFOiR7Z2Z2fWApLmxvZyhcIlNraXBwZWQgZHVlIGJ1aWxkIGNhY2hlIGV4aXRzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmdlbmVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwQ29kZVJlZm9ybWF0dGluZzogb3B0aW9ucy5za2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXNIYXNoOiBmaS5kZXBlbmRlbmNpZXNIYXNoID8/IFwiVW5kZWZpbmVkUmVzb3VyY2VzSGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PiBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJmb3JtXCIpLCBcIioqLypcIikpXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmdlbmVyYXRvclNvdXJjZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoZmkuZGVwZW5kZW5jaWVzSGFzaCAhPSB1bmRlZmluZWQgJiYgZmkuYnVpbGRDYWNoZUV4aXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53aXRoUHJlZml4KGBDT01QSUxFOiR7Z2Z2fWApLmxvZyhcIlNraXBwZWQgZHVlIGJ1aWxkIGNhY2hlIGV4aXN0c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IGJ1aWxkQ2FjaGUuZXh0cmFjdChmaS5nZW5lcmF0b3JTb3VyY2UsIGdmdiwgZmkuZGVwZW5kZW5jaWVzSGFzaCwgcmVzb3VyY2VzRGlyZWN0b3J5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBidWlsZENhY2hlT3B0aW9ucyA9XG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5kZXBlbmRlbmNpZXNIYXNoICE9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHNIYXNoOiBmaS5kZXBlbmRlbmNpZXNIYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclZlcnNpb246IGdldEdlbmVyYXRvclZlcnNpb24oZmkuZ2VuZXJhdG9yU291cmNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZnY6IGdmdixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiBvcHRpb25zLmJ1aWxkQ2FjaGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgY29tcGlsZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLnRoZW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmRlcGVuZGVuY2llc0hhc2ggPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhpcyB2ZXJzaW9uIG9mIGdlbmVyYXRvciBpcyBub3Qgc3VwcG9ydGVkIGR1ZSB0byBkZXBlbmRlbmNpZXMgZXh0cmFjdGlvbiBpcyBub3Qgc3VwcG9ydGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlT3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRm9ybU1ldGEoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXNEaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBnZnYsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5lbmdpbmVTb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5kZXBlbmRlbmNpZXNIYXNoID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRoaXMgdmVyc2lvbiBvZiBnZW5lcmF0b3IgaXMgbm90IHN1cHBvcnRlZCBkdWUgdG8gZGVwZW5kZW5jaWVzIGV4dHJhY3Rpb24gaXMgbm90IHN1cHBvcnRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLnRoZW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkQ2FjaGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlT3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmdlbmVyYXRvclNvdXJjZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBidWlsZENhY2hlT3B0aW9ucyA9XG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5kZXBlbmRlbmNpZXNIYXNoICE9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHNIYXNoOiBmaS5kZXBlbmRlbmNpZXNIYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclZlcnNpb246IGdldEdlbmVyYXRvclZlcnNpb24oZmkuZ2VuZXJhdG9yU291cmNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZnY6IGdmdixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiBvcHRpb25zLmJ1aWxkQ2FjaGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRkxhbmdOb3JtYWxpemF0aW9uRmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkQ2FjaGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmJ1aWxkQ2FjaGVFeGlzdFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUF0dGFjaG1lbnRQYXRoRmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkQ2FjaGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlT3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaS5tb2RlID09PSBGb3JtQnVpbGRNb2RlLkNvcHlMZWdhY3lQcmVidWlsdFJlc291cmNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJsZWdhY3ktcHJlYnVpbHRcIiksIFwiKlwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIkxFR0FDWS1QUkVCVUlMVFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTaW5nbGVWYWx1ZVByb2R1Y2VyKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJzY2hlbWFzXCIpLCBybmdTY2hlbWFNYXNrKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJTQ0hFTUFTXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJzY2hlbWFzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwiY29udmVydGVyc1wiKSwgXCIqXCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIkNPTlZFUlRFUlNcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcImNvbnZlcnRlcnNcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJtZXJnZXJzXCIpLCBcIipcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiTUVSR0VSU1wiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwibWVyZ2Vyc1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RpZmllciA9IChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQucmVwbGFjZSgvPHg6aW5jbHVkZSBocmVmPVwiWy4vXSsvZywgJzx4OmluY2x1ZGUgaHJlZj1cIicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcImNvbnZlcnRlcnNcIiksIFwiKlwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2subW9kaWZ5RmlsZXNDb250ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJGSVgtWFNMVC1JTkNMVURFXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJjb252ZXJ0ZXJzXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiKiovKi54c2x0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcIi4uXCIsIFwiLi5cIiwgXCJ4c2x0VGVtcGxhdGVzXCIpLCBcIipcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiWFNMVC1URU1QTEFURVNcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcImNvbnZlcnRlcnNcIiwgXCJ4c2x0VGVtcGxhdGVzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwibm9ybWFsaXplXCIpLCBcIioueG1sXCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIk5PUk1BTElaRVwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwibm9ybWFsaXplXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwicGF0Y2hcIiksIFwiKi54c2x0XCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIlBBVENIXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJwYXRjaFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcIm1hcFwiKSwgXCIqLnhtbFwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJNQVBcIiksIHgsIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwibWFwXCIpKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcInVubWFwXCIpLCBcIioueG1sXCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIlVOTUFQXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJ1bm1hcFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChidWlsZE9wdGlvbnMud2F0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWVyLm5vdGlmeSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGAke2ZpLmZvcm1OYW1lfTog0YHQsdC+0YDQutCwINC30LDQstC10YDRiNC10L3QsGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogYEVuZ2luZTogJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZW5naW5lU291cmNlID09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcIltOb0VuZ2luZV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmaS5lbmdpbmVTb3VyY2UudHlwZSA9PT0gXCJMb2NhbEVuZ2luZVNvdXJjZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcImxvY2FsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmkuZW5naW5lU291cmNlLnZlcnNpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICApO1xuXG4gICAgaWYgKGJ1aWxkT3B0aW9ucy53YXRjaCkge1xuICAgICAgICBpZiAob3B0aW9ucy5jbGVhbikge1xuICAgICAgICAgICAgYXdhaXQgY2xlYW5UYXJnZXREaXJlY3RvcnkocmVzb3VyY2VzRGlyZWN0b3J5LCBjb250ZXh0LmxvZ2dlcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RvcE9ic2VydmUxID0gYXdhaXQgcGlja0xpc3RzQ2hhaW4ub2JzZXJ2ZSgpO1xuICAgICAgICBjb25zdCBzdG9wT2JzZXJ2ZTIgPSBhd2FpdCBidWlsZEZvcm1zQ2hhaW4ub2JzZXJ2ZSgpO1xuICAgICAgICBjb25zdCBzdG9wT2JzZXJ2ZTMgPSBhd2FpdCBzdGF0aWNSZXNvdXJjZXNGb3JQcm9kdWN0aW9uQ2hhaW4ub2JzZXJ2ZSgpO1xuICAgICAgICBjb25zdCBzdG9wT2JzZXJ2ZTUgPSBhd2FpdCByZXNvdXJjZXNFeHRlcm5hbENvbnZlcnRlcnNDaGFpbi5vYnNlcnZlKCk7XG4gICAgICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcbiAgICAgICAgaWYgKHN0b3BPYnNlcnZlMyAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IHN0b3BPYnNlcnZlMygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdG9wT2JzZXJ2ZTUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBhd2FpdCBzdG9wT2JzZXJ2ZTUoKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBzdG9wT2JzZXJ2ZTIoKTtcbiAgICAgICAgYXdhaXQgc3RvcE9ic2VydmUxKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gRGF0ZS5ub3coKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmNsZWFuKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgY2xlYW5UYXJnZXREaXJlY3RvcnkocmVzb3VyY2VzRGlyZWN0b3J5LCBjb250ZXh0LmxvZ2dlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBwaWNrTGlzdHNDaGFpbi5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBhd2FpdCBzdGF0aWNSZXNvdXJjZXNGb3JQcm9kdWN0aW9uQ2hhaW4uY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgYXdhaXQgcmVzb3VyY2VzRXh0ZXJuYWxDb252ZXJ0ZXJzQ2hhaW4uY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgYXdhaXQgYnVpbGRGb3Jtc0NoYWluLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhjaGFsay5ncmVlbkJyaWdodChcIkJ1aWxkIHN1Y2Nlc3NcIikpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgY29uc3QgdG90YWxUaW1lID0gRGF0ZS5ub3coKSAtIHN0YXJ0RGF0ZTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgVG90YWwgdGltZTogJHtwcmludFRpbWUodG90YWxUaW1lKX1gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY2xlYW5UYXJnZXREaXJlY3RvcnkocmVzb3VyY2VzRGlyZWN0b3J5OiBzdHJpbmcsIGxvZ2dlcjogSUxvZ2dlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGxvZ2dlci5sb2coXCJDbGVhbmluZyByZXNvdXJjZSBkaXJlY3RvcnkuIFwiICsgcmVzb3VyY2VzRGlyZWN0b3J5KTtcbiAgICBhd2FpdCBlbXB0eURpcihyZXNvdXJjZXNEaXJlY3RvcnkpO1xuICAgIGxvZ2dlci5sb2coXCJSZXNvdXJjZSBkaXJlY3RvcnkgY2xlYW5cIik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFB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QU8sQ0FBQyxDQUFDO0lBQ3BELE1BQU1FLFlBQVksR0FBRyxNQUFNakcsaUNBQWlDLENBQUMrRixPQUFPLENBQUMsQ0FBQztJQUN0RSxNQUFNRyxZQUFZLEdBQUcsTUFBTS9GLGdDQUFnQyxDQUFDNEYsT0FBTyxDQUFDLENBQUM7SUFDckUsTUFBTXZILE9BQU8sQ0FBQzJILFdBQVcsQ0FBQyxDQUFDO0lBQzNCLElBQUlGLFlBQVksSUFBSXhELFNBQVMsRUFBRTtNQUMzQixNQUFNd0QsWUFBWSxDQUFDLENBQUM7SUFDeEI7SUFDQSxJQUFJQyxZQUFZLElBQUl6RCxTQUFTLEVBQUU7TUFDM0IsTUFBTXlELFlBQVksQ0FBQyxDQUFDO0lBQ3hCO0lBQ0EsTUFBTUYsWUFBWSxDQUFDLENBQUM7SUFDcEIsTUFBTUYsWUFBWSxDQUFDLENBQUM7RUFDeEIsQ0FBQyxNQUFNO0lBQ0gsTUFBTU0sU0FBUyxHQUFHQyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLElBQUk7TUFDQSxJQUFJN0gsT0FBTyxDQUFDbUgsS0FBSyxFQUFFO1FBQ2YsTUFBTUMsb0JBQW9CLENBQUNsSCxrQkFBa0IsRUFBRUgsT0FBTyxDQUFDaUIsTUFBTSxDQUFDO01BQ2xFO01BQ0EsTUFBTVQsY0FBYyxDQUFDdUgsWUFBWTtNQUNqQyxNQUFNdkcsaUNBQWlDLENBQUN1RyxZQUFZO01BQ3BELE1BQU1wRyxnQ0FBZ0MsQ0FBQ29HLFlBQVk7TUFDbkQsTUFBTTVGLGVBQWUsQ0FBQzRGLFlBQVk7TUFDbEM7TUFDQUMsT0FBTyxDQUFDdkMsR0FBRyxDQUFDd0MsY0FBSyxDQUFDQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkQsQ0FBQyxTQUFTO01BQ04sTUFBTUMsU0FBUyxHQUFHTixJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEdBQUdGLFNBQVM7TUFDeEM7TUFDQUksT0FBTyxDQUFDdkMsR0FBRyxDQUFDLGVBQWUsSUFBQTJDLHNCQUFTLEVBQUNELFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDdEQ7RUFDSjtBQUNKO0FBRUEsZUFBZWQsb0JBQW9CQSxDQUFDbEgsa0JBQTBCLEVBQUVjLE1BQWUsRUFBaUI7RUFDNUZBLE1BQU0sQ0FBQ3dFLEdBQUcsQ0FBQywrQkFBK0IsR0FBR3RGLGtCQUFrQixDQUFDO0VBQ2hFLE1BQU0sSUFBQWtJLGlCQUFRLEVBQUNsSSxrQkFBa0IsQ0FBQztFQUNsQ2MsTUFBTSxDQUFDd0UsR0FBRyxDQUFDLDBCQUEwQixDQUFDO0FBQzFDIiwiaWdub3JlTGlzdCI6W119
234
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NoYWxrIiwiX2ZzRXh0cmEiLCJfbm9kZU5vdGlmaWVyIiwiX0FjcXVpcmVGb3JtRW5naW5lIiwiX0VuZ2luZVNvdXJjZSIsIl9Db21waWxlRm9ybSIsIl9HZW5lcmF0ZUZvcm0iLCJfTnVsbEZvcm1HZW5lcmF0b3IiLCJfV3JpdGVGTGFuZ05vcm1hbGl6YXRpb25GaWxlcyIsIl9GU1Rhc2siLCJfQWNxdWlyZUZvcm1HZW5lcmF0b3IiLCJfUHVibGlzaGVkVmVyc2lvblV0aWxzIiwiX1Jlc29sdmVGb3JtSW5mbyIsIl9Xcml0ZUZvcm1NZXRhIiwiX0Zvcm1HbG9ic1V0aWxzIiwiX1N0YXRpY0xvZ2dlciIsIl9PYnNlcnZlIiwiX1NpbmdsZVZhbHVlUHJvZHVjZXIiLCJfVGltaW5nVXRpbHMiLCJfQ2FjaGVBc3NldHNQbHVnaW4iLCJfVHlwaW5nVXRpbHMiLCJfV3JpdGVBdHRhY2htZW50UGF0aEZpbGVzIiwiX2dldFJuZ1NjaGVtYUZpbGVuYW1lIiwiX0Zvcm1QYXRoVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJnZXRHZW5lcmF0b3JWZXJzaW9uIiwiZ2VuZXJhdG9yU291cmNlIiwidHlwZSIsInZlcnNpb24iLCJFcnJvciIsInJ1bkJ1aWxkRm9ybXMiLCJjb250ZXh0Iiwib3B0aW9ucyIsImZhcm1EaXJlY3RvcnkiLCJyZXNvdXJjZXNEaXJlY3RvcnkiLCJlbmdpbmVEaXJlY3RvcnkiLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJobEZhcm1EaXJlY3RvcnlQYXRoIiwiYnVpbGRPcHRpb25zIiwicGlja0xpc3RzQ2hhaW4iLCJPYnNlcnZlIiwiZmlsZXMiLCJwYXRoIiwiam9pbiIsImRvIiwieCIsIkZTVGFzayIsImNvcHlSZWN1cnNpdmVseSIsImxvZ2dlciIsIndpdGhQcmVmaXgiLCJGb3JtR2xvYnMiLCJlbnN1cmVFYWNoR2xvYlJlc29sdmVzSW50b0V4aXN0aW5nRm9ybSIsImZvcm1HbG9icyIsImZvcm1JbmZvcyIsInJlc29sdmVHZnZHbG9icyIsInN0YXRpY1Jlc291cmNlc0ZvclByb2R1Y3Rpb25DaGFpbiIsIl9fZGlybmFtZSIsImdldExvZ2dlciIsInJlc291cmNlc0V4dGVybmFsQ29udmVydGVyc0NoYWluIiwiZW1wdHkiLCJjb3BpZWRFbmdpbmVzIiwiU2V0IiwicmVwb3NpdG9yeVJvb3QiLCJidWlsZENhY2hlIiwiQnVpbGRDYWNoZSIsImJ1aWxkQ2FjaGVNb2RlIiwiYnVpbGRGb3Jtc0NoYWluIiwiZml4ZWRGb3JtRGlyZWN0b3JpZXMiLCJtYXAiLCJyZWxhdGl2ZSIsImZvcm1QYXRoIiwic3BsaXRUb1BhcmFsbGVsQ2hhaW5zIiwiZm9ybVJlbGF0aXZlUGF0aCIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJmb3JtRGlyUGF0aCIsInBhdGhFeGlzdHMiLCJXZWxsS25vd25EaXJlY3RvcmllcyIsIkZvcm1Kc29uRmlsZU5hbWUiLCJ3YXJuaW5nIiwidmFsdWUiLCJmb3JtU2NoZW1hc0RpclBhdGgiLCJybmdTY2hlbWFNYXNrIiwiZ2V0Um5nU2NoZW1hRmlsZW5hbWUiLCJmaWxlIiwidHJhbnNmb3JtIiwiZm9ybUpzb25GaWxlIiwicmVzb2x2ZUZvcm1JbmZvIiwidXBncmFkZUZvcm1Kc29uIiwidXNlTGFzdFN0YWJsZVZlcnNpb24iLCJ1c2VQcmVyZWxlYXNlVmVyc2lvbiIsImZpIiwibW9kZSIsIkZvcm1CdWlsZE1vZGUiLCJOb3JtYWxCdWlsZCIsImdlbmVyYXRvclZlcnNpb24iLCJ1bmRlZmluZWQiLCJlbmdpbmVWZXJzaW9uIiwicmVzb2x2ZUdlbmVyYXRvclZlcnNpb24iLCJlbmdpbmVTb3VyY2UiLCJyZXNvbHZlRW5naW5lVmVyc2lvbiIsImF0dGFjaCIsIlNpbmdsZVZhbHVlUHJvZHVjZXIiLCJOdWxsRm9ybUdlbmVyYXRvciIsImdlbmVyYXRvckZhY3RvcnkiLCJ1c2VWZXJzaW9uRnJvbUNhY2hlIiwieSIsImdlbmVyYXRvciIsImdldEdlbmVyYXRvclNvdXJjZUtleSIsImVuZ2luZUZhY3RvcnkiLCJoYXMiLCJnZXRFbmdpbmVTb3VyY2VLZXkiLCJhZGQiLCJmb3JtU291cmNlc1BhdGgiLCJkZXBlbmRlbmNpZXNIYXNoIiwic3VwcG9ydHNEZXBlbmRlbmNpZXNFeHRyYWN0aW9uIiwiZ2V0QWxsRGVwZW5kZW5jaWVzSGFzaCIsImJ1aWxkQ2FjaGVFeGlzdCIsImV4aXN0cyIsIl9maSRkZXBlbmRlbmNpZXNIYXNoIiwibG9nIiwiZ2VuZXJhdGVGb3JtIiwic2tpcENvZGVSZWZvcm1hdHRpbmciLCJza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZyIsInJlc291cmNlc0hhc2giLCJfZmkkZGVwZW5kZW5jaWVzSGFzaDIiLCJfZmkkZGVwZW5kZW5jaWVzSGFzaDMiLCJleHRyYWN0IiwiYnVpbGRDYWNoZU9wdGlvbnMiLCJkZXBzSGFzaCIsImNvbXBpbGVGb3JtIiwiZm9ybU5hbWUiLCJ0aGVtZXMiLCJyZWplY3QiLCJ3cml0ZUZvcm1NZXRhIiwid3JpdGVGTGFuZ05vcm1hbGl6YXRpb25GaWxlcyIsIndyaXRlQXR0YWNobWVudFBhdGhGaWxlcyIsIkNvcHlMZWdhY3lQcmVidWlsdFJlc291cmNlcyIsIm1vZGlmaWVyIiwiY29udGVudCIsInJlcGxhY2UiLCJtb2RpZnlGaWxlc0NvbnRlbnQiLCJ3YXRjaCIsIm5vdGlmaWVyIiwibm90aWZ5IiwidGl0bGUiLCJtZXNzYWdlIiwiY2xlYW4iLCJjbGVhblRhcmdldERpcmVjdG9yeSIsInN0b3BPYnNlcnZlMSIsIm9ic2VydmUiLCJzdG9wT2JzZXJ2ZTIiLCJzdG9wT2JzZXJ2ZTMiLCJzdG9wT2JzZXJ2ZTUiLCJ3YWl0Rm9yRXhpdCIsInN0YXJ0RGF0ZSIsIkRhdGUiLCJub3ciLCJjdXJyZW50VmFsdWUiLCJjb25zb2xlIiwiY2hhbGsiLCJncmVlbkJyaWdodCIsInRvdGFsVGltZSIsInByaW50VGltZSIsImVtcHR5RGlyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvUnVuQnVpbGRGb3Jtcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQgeyBlbXB0eURpciwgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IG5vdGlmaWVyIGZyb20gXCJub2RlLW5vdGlmaWVyXCI7XG5cbmltcG9ydCB7IGVuZ2luZUZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9FbmdpbmUvQWNxdWlyZUZvcm1FbmdpbmVcIjtcbmltcG9ydCB7IGdldEVuZ2luZVNvdXJjZUtleSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0VuZ2luZS9FbmdpbmVTb3VyY2VcIjtcbmltcG9ydCB7IGNvbXBpbGVGb3JtIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRm9ybS9Db21waWxlRm9ybVwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVGb3JtIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRm9ybS9HZW5lcmF0ZUZvcm1cIjtcbmltcG9ydCB7IE51bGxGb3JtR2VuZXJhdG9yIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRm9ybS9OdWxsRm9ybUdlbmVyYXRvclwiO1xuaW1wb3J0IHsgd3JpdGVGTGFuZ05vcm1hbGl6YXRpb25GaWxlcyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0Zvcm0vV3JpdGVGTGFuZ05vcm1hbGl6YXRpb25GaWxlc1wiO1xuaW1wb3J0IHsgRlNUYXNrIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRlNUYXNrXCI7XG5pbXBvcnQge1xuICAgIGdlbmVyYXRvckZhY3RvcnksXG4gICAgR2VuZXJhdG9yU291cmNlLFxuICAgIGdldEdlbmVyYXRvclNvdXJjZUtleSxcbn0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvR2VuZXJhdG9yL0FjcXVpcmVGb3JtR2VuZXJhdG9yXCI7XG5pbXBvcnQgeyByZXNvbHZlRW5naW5lVmVyc2lvbiwgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24gfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IEZvcm1CdWlsZE1vZGUsIHJlc29sdmVGb3JtSW5mbyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgd3JpdGVGb3JtTWV0YSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1dyaXRlRm9ybU1ldGFcIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgRm9ybUdsb2JzIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvRm9ybUdsb2JzVXRpbHNcIjtcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Mb2dnaW5nL0lMb2dnZXJcIjtcbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IFNpbmdsZVZhbHVlUHJvZHVjZXIgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvU2luZ2xlVmFsdWVQcm9kdWNlclwiO1xuaW1wb3J0IHsgcHJpbnRUaW1lIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvVGltaW5nVXRpbHNcIjtcbmltcG9ydCB7IEJ1aWxkQ2FjaGUgfSBmcm9tIFwiLi4vLi4vRm9ybVdlYnBhY2tDb25maWd1cmF0aW9uL0NhY2hlQXNzZXRzUGx1Z2luXCI7XG5pbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyB3cml0ZUF0dGFjaG1lbnRQYXRoRmlsZXMgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9Gb3JtL1dyaXRlQXR0YWNobWVudFBhdGhGaWxlc1wiO1xuaW1wb3J0IHsgQ2hhaW5hYmxlVmFsdWVQcm9kdWNlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL1Rhc2tzQ29yZS9DaGFpbmFibGVWYWx1ZVByb2R1Y2VyXCI7XG5pbXBvcnQgeyBFbXB0eVByb2R1Y2VyIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL0VtcHR5UHJvZHVjZXJcIjtcbmltcG9ydCB7IGdldFJuZ1NjaGVtYUZpbGVuYW1lIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbi9nZXRSbmdTY2hlbWFGaWxlbmFtZVwiO1xuaW1wb3J0IHsgZXh0cmFjdEdmdkZyb21Gb3JtUGF0aCB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vRm9ybVBhdGhVdGlsc1wiO1xuaW1wb3J0IHsgV2VsbEtub3duRGlyZWN0b3JpZXMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL1dlbGxLbm93bkRpcmVjdG9yaWVzXCI7XG5cbmltcG9ydCB7IEJ1aWxkRm9ybXNPcHRpb25zIH0gZnJvbSBcIi4vQnVpbGRGb3Jtc09wdGlvbnNcIjtcblxuZnVuY3Rpb24gZ2V0R2VuZXJhdG9yVmVyc2lvbihnZW5lcmF0b3JTb3VyY2U6IEdlbmVyYXRvclNvdXJjZSk6IHN0cmluZyB7XG4gICAgaWYgKGdlbmVyYXRvclNvdXJjZS50eXBlID09PSBcIlB1Ymxpc2hlZEdlbmVyYXRvclwiKSB7XG4gICAgICAgIHJldHVybiBnZW5lcmF0b3JTb3VyY2UudmVyc2lvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkUHJvZ3JhbVN0YXRlXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkJ1aWxkRm9ybXMoXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCxcbiAgICBvcHRpb25zOiBCdWlsZEZvcm1zT3B0aW9ucyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgcmVzb3VyY2VzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgaGxGYXJtRGlyZWN0b3J5UGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidWlsZE9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgY29uc3QgcGlja0xpc3RzQ2hhaW4gPSBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcInBpY2tsaXN0c1wiKSwgXCIqLmpzb25cIikuZG8oeCA9PlxuICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KGNvbnRleHQubG9nZ2VyLndpdGhQcmVmaXgoXCJQSUNLTElTVFNcIiksIHgsIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwicGlja2xpc3RzXCIpKVxuICAgICk7XG5cbiAgICBhd2FpdCBGb3JtR2xvYnMuZW5zdXJlRWFjaEdsb2JSZXNvbHZlc0ludG9FeGlzdGluZ0Zvcm0ob3B0aW9ucy5mb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIGNvbnN0IGZvcm1JbmZvcyA9IGF3YWl0IEZvcm1HbG9icy5yZXNvbHZlR2Z2R2xvYnMob3B0aW9ucy5mb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpO1xuXG4gICAgY29uc3Qgc3RhdGljUmVzb3VyY2VzRm9yUHJvZHVjdGlvbkNoYWluID0gT2JzZXJ2ZS5maWxlcyhcbiAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiU3RhdGljRmlsZXNGb3JQcm9kdWN0aW9uUmVzb3VyY2VzRGlyXCIpLFxuICAgICAgICBcIiouanNcIixcbiAgICAgICAgXCIqLmpzLm1hcFwiXG4gICAgKS5kbyh4ID0+XG4gICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIlNUQVRJQ1NcIiksIHgsIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwicHVibGljXCIsIFwic2NyaXB0c1wiKSlcbiAgICApO1xuXG4gICAgLyoqINCa0L7QvdCy0LXRgNGC0LXRgNGLINC+0L/QuNGB0Lgg0LTQu9GPINGE0L7RgNC8LCDQutC+0YLQvtGA0YvQtSDQv9C+0LrQsCDQvdC1INGA0LXQsNC70LjQt9C+0LLQsNC90Ysg0L3QsCDQutC10L3QtNC4LCDRgdCw0LzQsCDQvNC10YXQsNC90LjQutCwINC+0L/QuNGB0Lgg0L/QtdGA0LXQvdC10YHQtdC90LAg0LIg0YTQvtGA0LzRiyDQsiDQutC10L3QtNC4INCw0L/QuCwg0L/QvtGN0YLQvtC80YMg0L7QvdC4INC00L7Qu9C20L3RiyDQsdGL0YLRjCDQsiBjYW5keS5yZXNvdXJjZXNcbiAgICAgKiAg0KDQtdCw0LvQuNC30YPQtdGC0YHRjyDRgtC+0LvRjNC60L4g0L/RgNC4INC+0LHRidC10Lwg0LHQuNC70LTQtSDRhNC+0YDQvDogY2FuZHkgYnVpbGQgKlxuICAgICAqICovXG4gICAgbGV0IHJlc291cmNlc0V4dGVybmFsQ29udmVydGVyc0NoYWluOiBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyPHN0cmluZz4gfCBFbXB0eVByb2R1Y2VyID0gT2JzZXJ2ZS5lbXB0eSgpO1xuICAgIGlmIChvcHRpb25zLmZvcm1HbG9ic1swXSA9PT0gXCIqXCIpIHtcbiAgICAgICAgcmVzb3VyY2VzRXh0ZXJuYWxDb252ZXJ0ZXJzQ2hhaW4gPSBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcImV4dGVybmFsQ29udmVydGVyc1wiKSwgXCIqLnhzbHRcIikuZG8oXG4gICAgICAgICAgICB4ID0+XG4gICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIkVYVEVSTkFMLUNPTlZFUlRFUlNcIiksXG4gICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwiY29udmVydGVyc1wiKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb3BpZWRFbmdpbmVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCByZXBvc2l0b3J5Um9vdCA9IHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcIi4uXCIpO1xuICAgIGNvbnN0IGJ1aWxkQ2FjaGUgPSBuZXcgQnVpbGRDYWNoZShmYXJtRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkQ2FjaGVNb2RlKTtcbiAgICBjb25zdCBidWlsZEZvcm1zQ2hhaW4gPSBPYnNlcnZlLmZpeGVkRm9ybURpcmVjdG9yaWVzKFxuICAgICAgICBmb3JtSW5mb3MubWFwKHggPT4gcGF0aC5yZWxhdGl2ZShyZXBvc2l0b3J5Um9vdCwgeC5mb3JtUGF0aCkpXG4gICAgKS5zcGxpdFRvUGFyYWxsZWxDaGFpbnMoXG4gICAgICAgIHggPT4geCxcbiAgICAgICAgeCA9PiB4LFxuICAgICAgICBhc3luYyBmb3JtUmVsYXRpdmVQYXRoID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGdmdiA9IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGgoZm9ybVJlbGF0aXZlUGF0aCk7XG4gICAgICAgICAgICBjb25zdCBmb3JtRGlyUGF0aCA9IHBhdGguam9pbihyZXBvc2l0b3J5Um9vdCwgZm9ybVJlbGF0aXZlUGF0aCk7XG5cbiAgICAgICAgICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKSkpKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5sb2dnZXIud2FybmluZyhcbiAgICAgICAgICAgICAgICAgICAgYEZvcm0gJHtnZnZ9IGRvZXMgbm90IGhhdmUgZm9ybS5qc29uIGZpbGUuIFRvIGluY2x1ZGUgdGhpcyBmb3JtIHRvIGJ1aWxkIHByb2Nlc3MgcmVzdGFydCBidWlsZGBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBPYnNlcnZlLnZhbHVlKHt9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZvcm1TY2hlbWFzRGlyUGF0aCA9IHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJzY2hlbWFzXCIpO1xuICAgICAgICAgICAgY29uc3Qgcm5nU2NoZW1hTWFzayA9IGAqJHtnZXRSbmdTY2hlbWFGaWxlbmFtZShmb3JtU2NoZW1hc0RpclBhdGgsIGdmdil9YDtcblxuICAgICAgICAgICAgcmV0dXJuIE9ic2VydmUuZmlsZShwYXRoLmpvaW4oZm9ybURpclBhdGgsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWUpKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oZm9ybUpzb25GaWxlID0+XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVGb3JtSW5mbyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Kc29uRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5sb2dnZXIud2l0aFByZWZpeChgRk9STToke2dmdn1gKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudXBncmFkZUZvcm1Kc29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy51c2VMYXN0U3RhYmxlVmVyc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudXNlUHJlcmVsZWFzZVZlcnNpb25cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpLm1vZGUgPT09IEZvcm1CdWlsZE1vZGUuTm9ybWFsQnVpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaS5nZW5lcmF0b3JWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImdlbmVyYXRvclZlcnNpb24gaXMgbm90IGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmkuZW5naW5lVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJlbmdpbmVWZXJzaW9uIGlzIG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5maSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IGF3YWl0IHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3JWZXJzaW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53aXRoUHJlZml4KGdmdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogYXdhaXQgcmVzb2x2ZUVuZ2luZVZlcnNpb24oZmkuZW5naW5lVmVyc2lvbiwgY29udGV4dC5sb2dnZXIud2l0aFByZWZpeChnZnYpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmdlbmVyYXRvclNvdXJjZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNpbmdsZVZhbHVlUHJvZHVjZXIobmV3IE51bGxGb3JtR2VuZXJhdG9yKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2VuZXJhdG9yRmFjdG9yeShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZ2VuZXJhdG9yU291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudXNlVmVyc2lvbkZyb21DYWNoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIChmaSwgeSkgPT4gKHsgLi4uZmksIGdlbmVyYXRvcjogeSB9KSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmdlbmVyYXRvclNvdXJjZSAhPSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGdldEdlbmVyYXRvclNvdXJjZUtleShmaS5nZW5lcmF0b3JTb3VyY2UpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIk51bGxGb3JtR2VuZXJhdG9yXCJcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmVuZ2luZVNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTaW5nbGVWYWx1ZVByb2R1Y2VyKFwiTnVsbEVuZ2luZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbmdpbmVGYWN0b3J5KGZpLmVuZ2luZVNvdXJjZSwgY2FuZHlNb2R1bGVzRGlyZWN0b3J5LCBvcHRpb25zLnVzZVZlcnNpb25Gcm9tQ2FjaGUpLmRvKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzeW5jIHggPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvcGllZEVuZ2luZXMuaGFzKGdldEVuZ2luZVNvdXJjZUtleShmaS5lbmdpbmVTb3VyY2UpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiRU5HSU5FXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJwdWJsaWNcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3BpZWRFbmdpbmVzLmFkZChnZXRFbmdpbmVTb3VyY2VLZXkoZmkuZW5naW5lU291cmNlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhc3luYyBmaSA9PiBmaSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gKGZpLmVuZ2luZVNvdXJjZSAhPSB1bmRlZmluZWQgPyBnZXRFbmdpbmVTb3VyY2VLZXkoZmkuZW5naW5lU291cmNlKSA6IFwiTnVsbEVuZ2luZVwiKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uL2NvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiLi4vLi4veHNsdFRlbXBsYXRlcy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uL2pzSGVscGVycy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNjaGVtYXMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWdhci8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXV0b2NhbGMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWxwZXJzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGlvbnMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsb2NhbGl6YXRpb24vKiovKlwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZXBlbmRlbmNpZXNIYXNoOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaS5tb2RlICE9PSBGb3JtQnVpbGRNb2RlLk5vcm1hbEJ1aWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llc0hhc2g6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGF3YWl0IGZpLmdlbmVyYXRvci5zdXBwb3J0c0RlcGVuZGVuY2llc0V4dHJhY3Rpb24oKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzSGFzaCA9IGF3YWl0IGZpLmdlbmVyYXRvci5nZXRBbGxEZXBlbmRlbmNpZXNIYXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmksXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXNIYXNoOiBkZXBlbmRlbmNpZXNIYXNoLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBidWlsZENhY2hlRXhpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmRlcGVuZGVuY2llc0hhc2ggIT0gdW5kZWZpbmVkICYmIGZpLmdlbmVyYXRvclNvdXJjZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkQ2FjaGVFeGlzdCA9IGF3YWl0IGJ1aWxkQ2FjaGUuZXhpc3RzKGZpLmdlbmVyYXRvclNvdXJjZSwgZ2Z2LCBmaS5kZXBlbmRlbmNpZXNIYXNoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmksXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlRXhpc3Q6IGJ1aWxkQ2FjaGVFeGlzdCxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaS5nZW5lcmF0b3JTb3VyY2UgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaS5idWlsZENhY2hlRXhpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQubG9nZ2VyLndpdGhQcmVmaXgoYEdFTkVSQVRFOiR7Z2Z2fWApLmxvZyhcIlNraXBwZWQgZHVlIGJ1aWxkIGNhY2hlIGV4aXRzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmdlbmVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwQ29kZVJlZm9ybWF0dGluZzogb3B0aW9ucy5za2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXNIYXNoOiBmaS5kZXBlbmRlbmNpZXNIYXNoID8/IFwiVW5kZWZpbmVkUmVzb3VyY2VzSGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PiBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJmb3JtXCIpLCBcIioqLypcIikpXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmdlbmVyYXRvclNvdXJjZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoZmkuZGVwZW5kZW5jaWVzSGFzaCAhPSB1bmRlZmluZWQgJiYgZmkuYnVpbGRDYWNoZUV4aXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53aXRoUHJlZml4KGBDT01QSUxFOiR7Z2Z2fWApLmxvZyhcIlNraXBwZWQgZHVlIGJ1aWxkIGNhY2hlIGV4aXN0c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IGJ1aWxkQ2FjaGUuZXh0cmFjdChmaS5nZW5lcmF0b3JTb3VyY2UsIGdmdiwgZmkuZGVwZW5kZW5jaWVzSGFzaCwgcmVzb3VyY2VzRGlyZWN0b3J5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBidWlsZENhY2hlT3B0aW9ucyA9XG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5kZXBlbmRlbmNpZXNIYXNoICE9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHNIYXNoOiBmaS5kZXBlbmRlbmNpZXNIYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclZlcnNpb246IGdldEdlbmVyYXRvclZlcnNpb24oZmkuZ2VuZXJhdG9yU291cmNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZnY6IGdmdixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiBvcHRpb25zLmJ1aWxkQ2FjaGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgY29tcGlsZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLnRoZW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmRlcGVuZGVuY2llc0hhc2ggPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhpcyB2ZXJzaW9uIG9mIGdlbmVyYXRvciBpcyBub3Qgc3VwcG9ydGVkIGR1ZSB0byBkZXBlbmRlbmNpZXMgZXh0cmFjdGlvbiBpcyBub3Qgc3VwcG9ydGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlT3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRm9ybU1ldGEoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXNEaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBnZnYsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5lbmdpbmVTb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5kZXBlbmRlbmNpZXNIYXNoID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRoaXMgdmVyc2lvbiBvZiBnZW5lcmF0b3IgaXMgbm90IHN1cHBvcnRlZCBkdWUgdG8gZGVwZW5kZW5jaWVzIGV4dHJhY3Rpb24gaXMgbm90IHN1cHBvcnRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLnRoZW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkQ2FjaGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlT3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpLmdlbmVyYXRvclNvdXJjZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBidWlsZENhY2hlT3B0aW9ucyA9XG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5kZXBlbmRlbmNpZXNIYXNoICE9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHNIYXNoOiBmaS5kZXBlbmRlbmNpZXNIYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclZlcnNpb246IGdldEdlbmVyYXRvclZlcnNpb24oZmkuZ2VuZXJhdG9yU291cmNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZnY6IGdmdixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiBvcHRpb25zLmJ1aWxkQ2FjaGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRkxhbmdOb3JtYWxpemF0aW9uRmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkQ2FjaGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmJ1aWxkQ2FjaGVFeGlzdFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUF0dGFjaG1lbnRQYXRoRmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkQ2FjaGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBidWlsZENhY2hlT3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaS5tb2RlID09PSBGb3JtQnVpbGRNb2RlLkNvcHlMZWdhY3lQcmVidWlsdFJlc291cmNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJsZWdhY3ktcHJlYnVpbHRcIiksIFwiKlwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIkxFR0FDWS1QUkVCVUlMVFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTaW5nbGVWYWx1ZVByb2R1Y2VyKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJzY2hlbWFzXCIpLCBybmdTY2hlbWFNYXNrKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJTQ0hFTUFTXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJzY2hlbWFzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwiY29udmVydGVyc1wiKSwgXCIqXCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIkNPTlZFUlRFUlNcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcImNvbnZlcnRlcnNcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJtZXJnZXJzXCIpLCBcIipcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiTUVSR0VSU1wiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwibWVyZ2Vyc1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RpZmllciA9IChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQucmVwbGFjZSgvPHg6aW5jbHVkZSBocmVmPVwiWy4vXSsvZywgJzx4OmluY2x1ZGUgaHJlZj1cIicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcImNvbnZlcnRlcnNcIiksIFwiKlwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2subW9kaWZ5RmlsZXNDb250ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJGSVgtWFNMVC1JTkNMVURFXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJjb252ZXJ0ZXJzXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiKiovKi54c2x0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcIi4uXCIsIFwiLi5cIiwgXCJ4c2x0VGVtcGxhdGVzXCIpLCBcIipcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiWFNMVC1URU1QTEFURVNcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcImNvbnZlcnRlcnNcIiwgXCJ4c2x0VGVtcGxhdGVzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwibm9ybWFsaXplXCIpLCBcIioueG1sXCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIk5PUk1BTElaRVwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwibm9ybWFsaXplXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwicGF0Y2hcIiksIFwiKi54c2x0XCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIlBBVENIXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJwYXRjaFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcIm1hcFwiKSwgXCIqLnhtbFwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJNQVBcIiksIHgsIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwibWFwXCIpKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcInVubWFwXCIpLCBcIioueG1sXCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIlVOTUFQXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJ1bm1hcFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChidWlsZE9wdGlvbnMud2F0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWVyLm5vdGlmeSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGAke2ZpLmZvcm1OYW1lfTog0YHQsdC+0YDQutCwINC30LDQstC10YDRiNC10L3QsGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogYEVuZ2luZTogJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZW5naW5lU291cmNlID09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcIltOb0VuZ2luZV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmaS5lbmdpbmVTb3VyY2UudHlwZSA9PT0gXCJMb2NhbEVuZ2luZVNvdXJjZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcImxvY2FsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmkuZW5naW5lU291cmNlLnZlcnNpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICApO1xuXG4gICAgaWYgKGJ1aWxkT3B0aW9ucy53YXRjaCkge1xuICAgICAgICBpZiAob3B0aW9ucy5jbGVhbikge1xuICAgICAgICAgICAgYXdhaXQgY2xlYW5UYXJnZXREaXJlY3RvcnkocmVzb3VyY2VzRGlyZWN0b3J5LCBjb250ZXh0LmxvZ2dlcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RvcE9ic2VydmUxID0gYXdhaXQgcGlja0xpc3RzQ2hhaW4ub2JzZXJ2ZSgpO1xuICAgICAgICBjb25zdCBzdG9wT2JzZXJ2ZTIgPSBhd2FpdCBidWlsZEZvcm1zQ2hhaW4ub2JzZXJ2ZSgpO1xuICAgICAgICBjb25zdCBzdG9wT2JzZXJ2ZTMgPSBhd2FpdCBzdGF0aWNSZXNvdXJjZXNGb3JQcm9kdWN0aW9uQ2hhaW4ub2JzZXJ2ZSgpO1xuICAgICAgICBjb25zdCBzdG9wT2JzZXJ2ZTUgPSBhd2FpdCByZXNvdXJjZXNFeHRlcm5hbENvbnZlcnRlcnNDaGFpbi5vYnNlcnZlKCk7XG4gICAgICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcbiAgICAgICAgaWYgKHN0b3BPYnNlcnZlMyAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IHN0b3BPYnNlcnZlMygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdG9wT2JzZXJ2ZTUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBhd2FpdCBzdG9wT2JzZXJ2ZTUoKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBzdG9wT2JzZXJ2ZTIoKTtcbiAgICAgICAgYXdhaXQgc3RvcE9ic2VydmUxKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gRGF0ZS5ub3coKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmNsZWFuKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgY2xlYW5UYXJnZXREaXJlY3RvcnkocmVzb3VyY2VzRGlyZWN0b3J5LCBjb250ZXh0LmxvZ2dlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBwaWNrTGlzdHNDaGFpbi5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBhd2FpdCBzdGF0aWNSZXNvdXJjZXNGb3JQcm9kdWN0aW9uQ2hhaW4uY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgYXdhaXQgcmVzb3VyY2VzRXh0ZXJuYWxDb252ZXJ0ZXJzQ2hhaW4uY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgYXdhaXQgYnVpbGRGb3Jtc0NoYWluLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhjaGFsay5ncmVlbkJyaWdodChcIkJ1aWxkIHN1Y2Nlc3NcIikpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgY29uc3QgdG90YWxUaW1lID0gRGF0ZS5ub3coKSAtIHN0YXJ0RGF0ZTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgVG90YWwgdGltZTogJHtwcmludFRpbWUodG90YWxUaW1lKX1gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY2xlYW5UYXJnZXREaXJlY3RvcnkocmVzb3VyY2VzRGlyZWN0b3J5OiBzdHJpbmcsIGxvZ2dlcjogSUxvZ2dlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGxvZ2dlci5sb2coXCJDbGVhbmluZyByZXNvdXJjZSBkaXJlY3RvcnkuIFwiICsgcmVzb3VyY2VzRGlyZWN0b3J5KTtcbiAgICBhd2FpdCBlbXB0eURpcihyZXNvdXJjZXNEaXJlY3RvcnkpO1xuICAgIGxvZ2dlci5sb2coXCJSZXNvdXJjZSBkaXJlY3RvcnkgY2xlYW5cIik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFB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
@@ -14,8 +14,8 @@ class BuildLogsWebsocketController extends _SingletonController.SingletonControl
14
14
  this.socketIoHttpsServer = void 0;
15
15
  this.handleOutput = text => {
16
16
  var _this$socketIoServer, _this$socketIoHttpsSe;
17
- (_this$socketIoServer = this.socketIoServer) === null || _this$socketIoServer === void 0 || _this$socketIoServer.emit("message", text);
18
- (_this$socketIoHttpsSe = this.socketIoHttpsServer) === null || _this$socketIoHttpsSe === void 0 || _this$socketIoHttpsSe.emit("message", text);
17
+ (_this$socketIoServer = this.socketIoServer) === null || _this$socketIoServer === void 0 ? void 0 : _this$socketIoServer.emit("message", text);
18
+ (_this$socketIoHttpsSe = this.socketIoHttpsServer) === null || _this$socketIoHttpsSe === void 0 ? void 0 : _this$socketIoHttpsSe.emit("message", text);
19
19
  };
20
20
  (0, _StdStreamsIntercepter.interceptStdStreams)(this.handleOutput);
21
21
  }
@@ -33,4 +33,4 @@ class BuildLogsWebsocketController extends _SingletonController.SingletonControl
33
33
  }
34
34
  }
35
35
  exports.BuildLogsWebsocketController = BuildLogsWebsocketController;
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc29ja2V0IiwicmVxdWlyZSIsIl9TaW5nbGV0b25Db250cm9sbGVyIiwiX1N0ZFN0cmVhbXNJbnRlcmNlcHRlciIsIkJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIiLCJTaW5nbGV0b25Db250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJzb2NrZXRJb1NlcnZlciIsInNvY2tldElvSHR0cHNTZXJ2ZXIiLCJoYW5kbGVPdXRwdXQiLCJ0ZXh0IiwiX3RoaXMkc29ja2V0SW9TZXJ2ZXIiLCJfdGhpcyRzb2NrZXRJb0h0dHBzU2UiLCJlbWl0IiwiaW50ZXJjZXB0U3RkU3RyZWFtcyIsImFmdGVyU3RhcnQiLCJodHRwU2VydmVyIiwiaHR0cHNTZXJ2ZXIiLCJTZXJ2ZXIiLCJ0cmFuc3BvcnRzIiwicGF0aCIsInVuZGVmaW5lZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvQnVpbGRMb2dzV2Vic29ja2V0Q29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBodHRwIGZyb20gXCJodHRwXCI7XG5pbXBvcnQgaHR0cHMgZnJvbSBcImh0dHBzXCI7XG5cbmltcG9ydCB7IFNlcnZlciB9IGZyb20gXCJzb2NrZXQuaW9cIjtcblxuaW1wb3J0IHsgU2luZ2xldG9uQ29udHJvbGxlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvRXhwcmVzc1dyYXBwZXIvU2luZ2xldG9uQ29udHJvbGxlclwiO1xuXG5pbXBvcnQgeyBpbnRlcmNlcHRTdGRTdHJlYW1zIH0gZnJvbSBcIi4vU3RkU3RyZWFtc0ludGVyY2VwdGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyIGV4dGVuZHMgU2luZ2xldG9uQ29udHJvbGxlciB7XG4gICAgcHJpdmF0ZSBzb2NrZXRJb1NlcnZlcj86IFNlcnZlcjtcbiAgICBwcml2YXRlIHNvY2tldElvSHR0cHNTZXJ2ZXI/OiBTZXJ2ZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGludGVyY2VwdFN0ZFN0cmVhbXModGhpcy5oYW5kbGVPdXRwdXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBhZnRlclN0YXJ0KGh0dHBTZXJ2ZXI6IGh0dHAuU2VydmVyLCBodHRwc1NlcnZlcj86IGh0dHBzLlNlcnZlcik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnNvY2tldElvU2VydmVyID0gbmV3IFNlcnZlcihodHRwU2VydmVyLCB7XG4gICAgICAgICAgICB0cmFuc3BvcnRzOiBbXCJ3ZWJzb2NrZXRcIiwgXCJwb2xsaW5nXCJdLFxuICAgICAgICAgICAgcGF0aDogXCIvYnVpbGQtaW5mb1wiLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGh0dHBzU2VydmVyICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5zb2NrZXRJb0h0dHBzU2VydmVyID0gbmV3IFNlcnZlcihodHRwc1NlcnZlciwge1xuICAgICAgICAgICAgICAgIHRyYW5zcG9ydHM6IFtcIndlYnNvY2tldFwiLCBcInBvbGxpbmdcIl0sXG4gICAgICAgICAgICAgICAgcGF0aDogXCIvYnVpbGQtaW5mb1wiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZU91dHB1dCA9ICh0ZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zb2NrZXRJb1NlcnZlcj8uZW1pdChcIm1lc3NhZ2VcIiwgdGV4dCk7XG4gICAgICAgIHRoaXMuc29ja2V0SW9IdHRwc1NlcnZlcj8uZW1pdChcIm1lc3NhZ2VcIiwgdGV4dCk7XG4gICAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsb0JBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLHNCQUFBLEdBQUFGLE9BQUE7QUFFTyxNQUFNRyw0QkFBNEIsU0FBU0Msd0NBQW1CLENBQUM7RUFJM0RDLFdBQVdBLENBQUEsRUFBRztJQUNqQixLQUFLLENBQUMsQ0FBQztJQUFDLEtBSkpDLGNBQWM7SUFBQSxLQUNkQyxtQkFBbUI7SUFBQSxLQW9CVkMsWUFBWSxHQUFJQyxJQUFZLElBQVc7TUFBQSxJQUFBQyxvQkFBQSxFQUFBQyxxQkFBQTtNQUNwRCxDQUFBRCxvQkFBQSxPQUFJLENBQUNKLGNBQWMsY0FBQUksb0JBQUEsZUFBbkJBLG9CQUFBLENBQXFCRSxJQUFJLENBQUMsU0FBUyxFQUFFSCxJQUFJLENBQUM7TUFDMUMsQ0FBQUUscUJBQUEsT0FBSSxDQUFDSixtQkFBbUIsY0FBQUkscUJBQUEsZUFBeEJBLHFCQUFBLENBQTBCQyxJQUFJLENBQUMsU0FBUyxFQUFFSCxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQW5CRyxJQUFBSSwwQ0FBbUIsRUFBQyxJQUFJLENBQUNMLFlBQVksQ0FBQztFQUMxQztFQUVBLE1BQWFNLFVBQVVBLENBQUNDLFVBQXVCLEVBQUVDLFdBQTBCLEVBQWlCO0lBQ3hGLElBQUksQ0FBQ1YsY0FBYyxHQUFHLElBQUlXLGNBQU0sQ0FBQ0YsVUFBVSxFQUFFO01BQ3pDRyxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO01BQ3BDQyxJQUFJLEVBQUU7SUFDVixDQUFDLENBQUM7SUFDRixJQUFJSCxXQUFXLElBQUlJLFNBQVMsRUFBRTtNQUMxQixJQUFJLENBQUNiLG1CQUFtQixHQUFHLElBQUlVLGNBQU0sQ0FBQ0QsV0FBVyxFQUFFO1FBQy9DRSxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO1FBQ3BDQyxJQUFJLEVBQUU7TUFDVixDQUFDLENBQUM7SUFDTjtFQUNKO0FBTUo7QUFBQ0UsT0FBQSxDQUFBbEIsNEJBQUEsR0FBQUEsNEJBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc29ja2V0IiwicmVxdWlyZSIsIl9TaW5nbGV0b25Db250cm9sbGVyIiwiX1N0ZFN0cmVhbXNJbnRlcmNlcHRlciIsIkJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIiLCJTaW5nbGV0b25Db250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJzb2NrZXRJb1NlcnZlciIsInNvY2tldElvSHR0cHNTZXJ2ZXIiLCJoYW5kbGVPdXRwdXQiLCJ0ZXh0IiwiX3RoaXMkc29ja2V0SW9TZXJ2ZXIiLCJfdGhpcyRzb2NrZXRJb0h0dHBzU2UiLCJlbWl0IiwiaW50ZXJjZXB0U3RkU3RyZWFtcyIsImFmdGVyU3RhcnQiLCJodHRwU2VydmVyIiwiaHR0cHNTZXJ2ZXIiLCJTZXJ2ZXIiLCJ0cmFuc3BvcnRzIiwicGF0aCIsInVuZGVmaW5lZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvQnVpbGRMb2dzV2Vic29ja2V0Q29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBodHRwIGZyb20gXCJodHRwXCI7XG5pbXBvcnQgaHR0cHMgZnJvbSBcImh0dHBzXCI7XG5cbmltcG9ydCB7IFNlcnZlciB9IGZyb20gXCJzb2NrZXQuaW9cIjtcblxuaW1wb3J0IHsgU2luZ2xldG9uQ29udHJvbGxlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvRXhwcmVzc1dyYXBwZXIvU2luZ2xldG9uQ29udHJvbGxlclwiO1xuXG5pbXBvcnQgeyBpbnRlcmNlcHRTdGRTdHJlYW1zIH0gZnJvbSBcIi4vU3RkU3RyZWFtc0ludGVyY2VwdGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyIGV4dGVuZHMgU2luZ2xldG9uQ29udHJvbGxlciB7XG4gICAgcHJpdmF0ZSBzb2NrZXRJb1NlcnZlcj86IFNlcnZlcjtcbiAgICBwcml2YXRlIHNvY2tldElvSHR0cHNTZXJ2ZXI/OiBTZXJ2ZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGludGVyY2VwdFN0ZFN0cmVhbXModGhpcy5oYW5kbGVPdXRwdXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBhZnRlclN0YXJ0KGh0dHBTZXJ2ZXI6IGh0dHAuU2VydmVyLCBodHRwc1NlcnZlcj86IGh0dHBzLlNlcnZlcik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnNvY2tldElvU2VydmVyID0gbmV3IFNlcnZlcihodHRwU2VydmVyLCB7XG4gICAgICAgICAgICB0cmFuc3BvcnRzOiBbXCJ3ZWJzb2NrZXRcIiwgXCJwb2xsaW5nXCJdLFxuICAgICAgICAgICAgcGF0aDogXCIvYnVpbGQtaW5mb1wiLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGh0dHBzU2VydmVyICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5zb2NrZXRJb0h0dHBzU2VydmVyID0gbmV3IFNlcnZlcihodHRwc1NlcnZlciwge1xuICAgICAgICAgICAgICAgIHRyYW5zcG9ydHM6IFtcIndlYnNvY2tldFwiLCBcInBvbGxpbmdcIl0sXG4gICAgICAgICAgICAgICAgcGF0aDogXCIvYnVpbGQtaW5mb1wiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZU91dHB1dCA9ICh0ZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zb2NrZXRJb1NlcnZlcj8uZW1pdChcIm1lc3NhZ2VcIiwgdGV4dCk7XG4gICAgICAgIHRoaXMuc29ja2V0SW9IdHRwc1NlcnZlcj8uZW1pdChcIm1lc3NhZ2VcIiwgdGV4dCk7XG4gICAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsb0JBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLHNCQUFBLEdBQUFGLE9BQUE7QUFFTyxNQUFNRyw0QkFBNEIsU0FBU0Msd0NBQW1CLENBQUM7RUFJM0RDLFdBQVdBLENBQUEsRUFBRztJQUNqQixLQUFLLENBQUMsQ0FBQztJQUFDLEtBSkpDLGNBQWM7SUFBQSxLQUNkQyxtQkFBbUI7SUFBQSxLQW9CVkMsWUFBWSxHQUFJQyxJQUFZLElBQVc7TUFBQSxJQUFBQyxvQkFBQSxFQUFBQyxxQkFBQTtNQUNwRCxDQUFBRCxvQkFBQSxPQUFJLENBQUNKLGNBQWMsY0FBQUksb0JBQUEsdUJBQW5CQSxvQkFBQSxDQUFxQkUsSUFBSSxDQUFDLFNBQVMsRUFBRUgsSUFBSSxDQUFDO01BQzFDLENBQUFFLHFCQUFBLE9BQUksQ0FBQ0osbUJBQW1CLGNBQUFJLHFCQUFBLHVCQUF4QkEscUJBQUEsQ0FBMEJDLElBQUksQ0FBQyxTQUFTLEVBQUVILElBQUksQ0FBQztJQUNuRCxDQUFDO0lBbkJHLElBQUFJLDBDQUFtQixFQUFDLElBQUksQ0FBQ0wsWUFBWSxDQUFDO0VBQzFDO0VBRUEsTUFBYU0sVUFBVUEsQ0FBQ0MsVUFBdUIsRUFBRUMsV0FBMEIsRUFBaUI7SUFDeEYsSUFBSSxDQUFDVixjQUFjLEdBQUcsSUFBSVcsY0FBTSxDQUFDRixVQUFVLEVBQUU7TUFDekNHLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7TUFDcENDLElBQUksRUFBRTtJQUNWLENBQUMsQ0FBQztJQUNGLElBQUlILFdBQVcsSUFBSUksU0FBUyxFQUFFO01BQzFCLElBQUksQ0FBQ2IsbUJBQW1CLEdBQUcsSUFBSVUsY0FBTSxDQUFDRCxXQUFXLEVBQUU7UUFDL0NFLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7UUFDcENDLElBQUksRUFBRTtNQUNWLENBQUMsQ0FBQztJQUNOO0VBQ0o7QUFNSjtBQUFDRSxPQUFBLENBQUFsQiw0QkFBQSxHQUFBQSw0QkFBQSJ9