@magic-xpa/engine 4.801.0-dev481.307 → 4.801.0-dev481.310

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 (45) hide show
  1. package/esm2020/src/ClientManager.mjs +2 -10
  2. package/esm2020/src/CurrentClientVersion.mjs +2 -2
  3. package/esm2020/src/GUIManager.mjs +1 -2
  4. package/esm2020/src/GuiEventsProcessor.mjs +2 -19
  5. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +35 -35
  6. package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +1 -1
  7. package/esm2020/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +7 -7
  8. package/esm2020/src/commands/ClientToServer/QueryCommand.mjs +1 -1
  9. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +2 -2
  10. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +1 -1
  11. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +1 -3
  12. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +1 -1
  13. package/esm2020/src/data/DvCache.mjs +4 -29
  14. package/esm2020/src/env/Environment.mjs +2 -5
  15. package/esm2020/src/env/LanguageData.mjs +1 -2
  16. package/esm2020/src/event/Event.mjs +1 -3
  17. package/esm2020/src/event/EventsManager.mjs +2 -16
  18. package/esm2020/src/gui/MgControl.mjs +1 -3
  19. package/esm2020/src/gui/MgForm.mjs +1 -2
  20. package/esm2020/src/http/client/HttpClientBase.mjs +1 -17
  21. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +1 -10
  22. package/esm2020/src/rt/DataviewHeaders.mjs +2 -4
  23. package/esm2020/src/rt/LastFocusedManager.mjs +1 -5
  24. package/esm2020/src/rt/Operation.mjs +2 -12
  25. package/esm2020/src/tasks/Task.mjs +2 -5
  26. package/esm2020/src/util/FlowMonitorQueue.mjs +1 -3
  27. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +1 -3
  28. package/fesm2015/magic-xpa-engine.mjs +162 -286
  29. package/fesm2015/magic-xpa-engine.mjs.map +1 -1
  30. package/fesm2020/magic-xpa-engine.mjs +155 -276
  31. package/fesm2020/magic-xpa-engine.mjs.map +1 -1
  32. package/package.json +4 -4
  33. package/src/ClientManager.d.ts +0 -3
  34. package/src/GuiEventsProcessor.d.ts +0 -2
  35. package/src/commands/ClientToServer/CommandFactory.d.ts +35 -35
  36. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +2 -2
  37. package/src/commands/ServerToClient/VerifyCommand.d.ts +0 -1
  38. package/src/data/DvCache.d.ts +2 -6
  39. package/src/env/Environment.d.ts +0 -2
  40. package/src/event/Event.d.ts +0 -1
  41. package/src/event/EventsManager.d.ts +0 -1
  42. package/src/http/client/HttpClientBase.d.ts +0 -2
  43. package/src/remote/RemoteCommandsProcessor.d.ts +0 -4
  44. package/src/rt/DataviewHeaders.d.ts +1 -3
  45. package/src/rt/Operation.d.ts +0 -4
@@ -1,34 +1,34 @@
1
- import { NUM_TYPE } from "@magic-xpa/gui";
2
- import { InternalInterface, StorageAttribute, ViewRefreshMode } from "@magic-xpa/utils";
3
- import { EventCommand } from "./EventCommand";
4
- import { RollbackEventCommand } from "./RollbackEventCommand";
5
- import { DataviewCommand, DataViewCommandType } from "./DataviewCommand";
6
- import { AddUserRangeDataviewCommand } from "./AddUserRangeDataviewCommand";
7
- import { AddUserSortDataViewCommand } from "./AddUserSortDataViewCommand";
8
- import { AddUserLocateDataViewCommand } from "./AddUserLocateDataViewCommand";
9
- import { SetTransactionStateDataviewCommand } from "./SetTransactionStateDataviewCommand";
10
- import { ControlItemsRefreshCommand } from "./ControlItemsRefreshCommand";
11
- import { RefreshEventCommand } from "./RefreshEventCommand";
12
- import { DataViewOutputCommand } from "./DataViewOutputCommand";
13
- import { FetchDataControlValuesEventCommand } from "./FetchDataControlValuesEventCommand";
14
- import { WriteMessageToServerLogCommand } from "./WriteMessageToServerLogCommand";
15
- import { SubformRefreshEventCommand } from "./SubformRefreshEventCommand";
16
- import { BrowserEscEventCommand } from "./BrowserEscEventCommand";
17
- import { IndexChangeEventCommand } from "./IndexChangeEventCommand";
18
- import { ColumnSortEventCommand } from "./ColumnSortEventCommand";
19
- import { RefreshScreenEventCommand } from "./RefreshScreenEventCommand";
20
- import { SubformOpenEventCommand } from "./SubformOpenEventCommand";
21
- import { ComputeEventCommand } from "./ComputeEventCommand";
22
- import { NonReversibleExitEventCommand } from "./NonReversibleExitEventCommand";
23
- import { RecomputeCommand } from "./RecomputeCommand";
24
- import { TransactionCommand } from "./TransactionCommand";
25
- import { UnloadCommand } from "./UnloadCommand";
26
- import { ExecOperCommand } from "./ExecOperCommand";
27
- import { EvaluateCommand } from "./EvaluateCommand";
28
- import { GlobalParamsQueryCommand } from "./GlobalParamsQueryCommand";
29
- import { IniputForceWriteCommand } from "./IniputForceWriteCommand";
30
- import { ContextTerminationEventCommand } from "./ContextTerminationEventCommand";
31
- import { ContextTimeoutResetCommand } from "./ContextTimeoutResetCommand";
1
+ import { NUM_TYPE } from '@magic-xpa/gui';
2
+ import { InternalInterface, StorageAttribute, ViewRefreshMode } from '@magic-xpa/utils';
3
+ import { EventCommand } from './EventCommand';
4
+ import { RollbackEventCommand } from './RollbackEventCommand';
5
+ import { DataviewCommand, DataViewCommandType } from './DataviewCommand';
6
+ import { AddUserRangeDataviewCommand } from './AddUserRangeDataviewCommand';
7
+ import { AddUserSortDataViewCommand } from './AddUserSortDataViewCommand';
8
+ import { AddUserLocateDataViewCommand } from './AddUserLocateDataViewCommand';
9
+ import { SetTransactionStateDataviewCommand } from './SetTransactionStateDataviewCommand';
10
+ import { ControlItemsRefreshCommand } from './ControlItemsRefreshCommand';
11
+ import { RefreshEventCommand } from './RefreshEventCommand';
12
+ import { DataViewOutputCommand } from './DataViewOutputCommand';
13
+ import { FetchDataControlValuesEventCommand } from './FetchDataControlValuesEventCommand';
14
+ import { WriteMessageToServerLogCommand } from './WriteMessageToServerLogCommand';
15
+ import { SubformRefreshEventCommand } from './SubformRefreshEventCommand';
16
+ import { BrowserEscEventCommand } from './BrowserEscEventCommand';
17
+ import { IndexChangeEventCommand } from './IndexChangeEventCommand';
18
+ import { ColumnSortEventCommand } from './ColumnSortEventCommand';
19
+ import { RefreshScreenEventCommand } from './RefreshScreenEventCommand';
20
+ import { SubformOpenEventCommand } from './SubformOpenEventCommand';
21
+ import { ComputeEventCommand } from './ComputeEventCommand';
22
+ import { NonReversibleExitEventCommand } from './NonReversibleExitEventCommand';
23
+ import { RecomputeCommand } from './RecomputeCommand';
24
+ import { TransactionCommand } from './TransactionCommand';
25
+ import { UnloadCommand } from './UnloadCommand';
26
+ import { ExecOperCommand } from './ExecOperCommand';
27
+ import { EvaluateCommand } from './EvaluateCommand';
28
+ import { GlobalParamsQueryCommand } from './GlobalParamsQueryCommand';
29
+ import { IniputForceWriteCommand } from './IniputForceWriteCommand';
30
+ import { ContextTerminationEventCommand } from './ContextTerminationEventCommand';
31
+ import { ContextTimeoutResetCommand } from './ContextTimeoutResetCommand';
32
32
  import { SelectProgramCommand } from './SelectProgramCommand';
33
33
  export class CommandFactory {
34
34
  static CreateEventCommand(taskTag, magicEvent) {
@@ -106,7 +106,7 @@ export class CommandFactory {
106
106
  }
107
107
  if (argList.getSize() > 1) {
108
108
  try {
109
- cmd.KeepUserSort = (await argList.getArgValue(1, StorageAttribute.BOOLEAN, 0) === "1");
109
+ cmd.KeepUserSort = (await argList.getArgValue(1, StorageAttribute.BOOLEAN, 0) === '1');
110
110
  }
111
111
  catch (e) {
112
112
  cmd.KeepUserSort = false;
@@ -238,7 +238,7 @@ export class CommandFactory {
238
238
  execOperCommand.DitIdx = ditIdx;
239
239
  let cmd = execOperCommand;
240
240
  if (value !== null && value.length === 0)
241
- cmd.Val = " ";
241
+ cmd.Val = ' ';
242
242
  else
243
243
  cmd.Val = value;
244
244
  return cmd;
@@ -251,7 +251,7 @@ export class CommandFactory {
251
251
  execOperCommand.DitIdx = ditIdx;
252
252
  let cmd = execOperCommand;
253
253
  if (value !== null && value.length === 0)
254
- cmd.Val = " ";
254
+ cmd.Val = ' ';
255
255
  else
256
256
  cmd.Val = value;
257
257
  return cmd;
@@ -275,4 +275,4 @@ export class CommandFactory {
275
275
  return iniputForceWriteCommand;
276
276
  }
277
277
  }
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQW9DLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxzQkFB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QUFlLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMzQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBT0QsTUFBTSxDQUFDLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBT0QsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQWE7UUFDaEQsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JGLHVCQUF1QixDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDckMsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01nQ29udHJvbEJhc2UsIE5VTV9UWVBFfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtFeGNlcHRpb259IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0ludGVybmFsSW50ZXJmYWNlLCBTdG9yYWdlQXR0cmlidXRlLCBWaWV3UmVmcmVzaE1vZGV9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtSb2xsYmFja0V2ZW50Q29tbWFuZCwgUm9sbGJhY2tFdmVudENvbW1hbmRfUm9sbGJhY2tUeXBlfSBmcm9tIFwiLi9Sb2xsYmFja0V2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge0RhdGF2aWV3Q29tbWFuZCwgRGF0YVZpZXdDb21tYW5kVHlwZX0gZnJvbSBcIi4vRGF0YXZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtVc2VyUmFuZ2V9IGZyb20gXCIuLi8uLi90YXNrcy9UYXNrQmFzZVwiO1xyXG5pbXBvcnQge0FkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZH0gZnJvbSBcIi4vQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7U29ydH0gZnJvbSBcIi4uLy4uL3Rhc2tzL3NvcnQvU29ydFwiO1xyXG5pbXBvcnQge0FkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kfSBmcm9tIFwiLi9BZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZFwiO1xyXG5pbXBvcnQge0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmR9IGZyb20gXCIuL0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmRcIjtcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kfSBmcm9tIFwiLi9TZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmR9IGZyb20gXCIuL0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kXCI7XHJcbmltcG9ydCB7UmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vUmVmcmVzaEV2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge0FyZ3VtZW50c0xpc3R9IGZyb20gXCIuLi8uLi9ydC9Bcmd1bWVudHNMaXN0XCI7XHJcbmltcG9ydCB7RGF0YVZpZXdPdXRwdXRDb21tYW5kfSBmcm9tIFwiLi9EYXRhVmlld091dHB1dENvbW1hbmRcIjtcclxuaW1wb3J0IHtGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9GZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7V3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kfSBmcm9tIFwiLi9Xcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmRcIjtcclxuaW1wb3J0IHtTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtCcm93c2VyRXNjRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9Ccm93c2VyRXNjRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7SW5kZXhDaGFuZ2VFdmVudENvbW1hbmR9IGZyb20gXCIuL0luZGV4Q2hhbmdlRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29sdW1uU29ydEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vQ29sdW1uU29ydEV2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmR9IGZyb20gXCIuL1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vU3ViZm9ybU9wZW5FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb21wdXRlRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9Db21wdXRlRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Tm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmR9IGZyb20gXCIuL05vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7UmVjb21wdXRlQ29tbWFuZH0gZnJvbSBcIi4vUmVjb21wdXRlQ29tbWFuZFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29tbWFuZH0gZnJvbSBcIi4vVHJhbnNhY3Rpb25Db21tYW5kXCI7XHJcbmltcG9ydCB7VW5sb2FkQ29tbWFuZH0gZnJvbSBcIi4vVW5sb2FkQ29tbWFuZFwiO1xyXG5pbXBvcnQge0V4ZWNPcGVyQ29tbWFuZH0gZnJvbSBcIi4vRXhlY09wZXJDb21tYW5kXCI7XHJcbmltcG9ydCB7RXZhbHVhdGVDb21tYW5kfSBmcm9tIFwiLi9FdmFsdWF0ZUNvbW1hbmRcIjtcclxuaW1wb3J0IHtHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmR9IGZyb20gXCIuL0dsb2JhbFBhcmFtc1F1ZXJ5Q29tbWFuZFwiO1xyXG5pbXBvcnQge0luaXB1dEZvcmNlV3JpdGVDb21tYW5kfSBmcm9tIFwiLi9JbmlwdXRGb3JjZVdyaXRlQ29tbWFuZFwiO1xyXG5pbXBvcnQge0NvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29udGV4dFRpbWVvdXRSZXNldENvbW1hbmR9IGZyb20gXCIuL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kXCI7XHJcbmltcG9ydCB7IFNlbGVjdFByb2dyYW1Db21tYW5kIH0gZnJvbSAnLi9TZWxlY3RQcm9ncmFtQ29tbWFuZCc7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBmYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBjb21tYW5kc1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQ29tbWFuZEZhY3Rvcnkge1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWFnaWNFdmVudFwiPnRoZSBjb2RlIG9mIHRoZSBpbnRlcm5hbCBldmVudDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlcik6IEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgZXZlbnRDb21tYW5kOiBFdmVudENvbW1hbmQgPSBuZXcgRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgZXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmV0dXJuIGV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjSGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY09ialwiPnRoZSBESVQgaW5kZXggb2YgdGhlIGNvbnRyb2wgdGhhdCBoYWQgdGhlIGZvY3VzIHdoZW4gdGhlIGV2ZW50IG9jY3VycmVkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1hZ2ljRXZlbnRcIj50aGUgY29kZSBvZiB0aGUgaW50ZXJuYWwgZXZlbnQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVSb2xsYmFja0V2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHJvbGxiYWNrVHlwZTogUm9sbGJhY2tFdmVudENvbW1hbmRfUm9sbGJhY2tUeXBlKTogUm9sbGJhY2tFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNtZDogUm9sbGJhY2tFdmVudENvbW1hbmQgPSBuZXcgUm9sbGJhY2tFdmVudENvbW1hbmQoKTtcclxuICAgIGNtZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNtZC5Sb2xsYmFjayA9IHJvbGxiYWNrVHlwZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNyZWF0ZSBhIGdlbmVyYWwgZGF0YXZpZXcgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb21tYW5kVHlwZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRGF0YVZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBjb21tYW5kVHlwZTogRGF0YVZpZXdDb21tYW5kVHlwZSk6IERhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgZGF0YXZpZXdDb21tYW5kOiBEYXRhdmlld0NvbW1hbmQgPSBuZXcgRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBkYXRhdmlld0NvbW1hbmQuQ29tbWFuZFR5cGUgPSBjb21tYW5kVHlwZTtcclxuICAgIGRhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmV0dXJuIGRhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHVzZXJSYW5nZTogVXNlclJhbmdlKTogQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQ6IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCA9IG5ldyBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kLlJhbmdlID0gdXNlclJhbmdlO1xyXG4gICAgcmV0dXJuIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZUFkZFVzZXJTb3J0RGF0YXZpZXdDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlclNvcnREYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHNvcnQ6IFNvcnQpOiBBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQ6IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kKCk7XHJcbiAgICBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQuU29ydCA9IHNvcnQ7XHJcbiAgICByZXR1cm4gYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGVBZGRVc2VyTG9jYXRlRGF0YXZpZXdDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlckxvY2F0ZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdXNlclJhbmdlOiBVc2VyUmFuZ2UpOiBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kOiBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQuUmFuZ2UgPSB1c2VyUmFuZ2U7XHJcbiAgICByZXR1cm4gYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlIGEgc2V0IHRyYW5zYWN0aW9uIHN0YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidHJhbnNhY3Rpb25Jc09wZW5lZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdHJhbnNhY3Rpb25Jc09wZW5lZDogYm9vbGVhbik6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQ6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQgPSBuZXcgU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZC5UcmFuc2FjdGlvbklzT3BlbiA9IHRyYW5zYWN0aW9uSXNPcGVuZWQ7XHJcbiAgICByZXR1cm4gc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kIHRvIHJlZmVyc2ggdGhlIGRhdGEgY29udHJvbC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVQYXJhbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ2VuZXJhdGlvblBhcmFtXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgY29udHJvbFBhcmFtOiBNZ0NvbnRyb2xCYXNlKTogQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kOiBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCA9IG5ldyBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCgpO1xyXG4gICAgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kLkNvbW1hbmRUeXBlID0gRGF0YVZpZXdDb21tYW5kVHlwZS5Db250cm9sSXRlbXNSZWZyZXNoO1xyXG4gICAgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuQ29udHJvbCA9IGNvbnRyb2xQYXJhbTtcclxuICAgIHJldHVybiBjb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlcyBhIHJlZnJlc2ggY29tbWFuZCB3aGljaCB3YXMgaW5pdGlhdGVkIGludGVybmFsbHksIGkuZS4gbm90IGJ5IGEgdXNlciBmdW5jdGlvbiBjYWxsXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1hZ2ljRXZlbnRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN1cnJlbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW50ZXJuYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50UmVjSWQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyKTogUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY3VycmVudFJlY0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5Jc0ludGVybmFsUmVmcmVzaCA9IHRydWU7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgcmV0dXJuIHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBvbmx5IGEgcmVhbCByZWZyZXNoIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVSZWFsUmVmcmVzaENvbW1hbmQodGFza0lkOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0LCBjdXJyZW50UmVjSWQ6IG51bWJlcik6IFByb21pc2U8UmVmcmVzaEV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IHJlZnJlc2hFdmVudENvbW1hbmQ6IFJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaEV2ZW50Q29tbWFuZChtYWdpY0V2ZW50KTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5LZWVwVXNlclNvcnQgPSBmYWxzZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgbGV0IGNtZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgaWYgKG1hZ2ljRXZlbnQgIT09IEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9SVF9SRUZSRVNIX1JFQ09SRCAmJiBhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IHJlZnJlc2hNb2RlOiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IHJlZnJlc2hNb2RlLk5VTV8yX0xPTkcoKSArIDE7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYXJnTGlzdC5nZXRTaXplKCkgPiAxKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNtZC5LZWVwVXNlclNvcnQgPSAoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgxLCBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4sIDApID09PSBcIjFcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICBjbWQuS2VlcFVzZXJTb3J0ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIENyZWF0ZURhdGFWaWV3VG9EYXRhU291cmNlQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgZ2VuZXJhdGlvbjogbnVtYmVyLCB0YXNrVmFyTmFtZXM6IHN0cmluZywgZGVzdGluYXRpb25EU051bWJlcjogbnVtYmVyLCBkZXN0aW5hdGlvbkRTTmFtZTogc3RyaW5nLCBkZXN0aW5hdGlvbkNvbHVtbnM6IHN0cmluZyk6IERhdGFWaWV3T3V0cHV0Q29tbWFuZCB7XHJcbiAgICBsZXQgZGF0YVZpZXdPdXRwdXRDb21tYW5kOiBEYXRhVmlld091dHB1dENvbW1hbmQgPSBuZXcgRGF0YVZpZXdPdXRwdXRDb21tYW5kKERhdGFWaWV3Q29tbWFuZFR5cGUuRGF0YVZpZXdUb0RhdGFTb3VyY2UpO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuR2VuZXJhdGlvbiA9IGdlbmVyYXRpb247XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuVGFza1Zhck5hbWVzID0gdGFza1Zhck5hbWVzO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLkRlc3RpbmF0aW9uRGF0YVNvdXJjZU51bWJlciA9IGRlc3RpbmF0aW9uRFNOdW1iZXI7XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuRGVzdGluYXRpb25EYXRhU291cmNlTmFtZSA9IGRlc3RpbmF0aW9uRFNOYW1lO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLkRlc3RpbmF0aW9uQ29sdW1ucyA9IGRlc3RpbmF0aW9uQ29sdW1ucztcclxuICAgIHJldHVybiBkYXRhVmlld091dHB1dENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZSBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnQgY29tbWFuZCB3aGljaCB3aWxsIGZldGNoIHRoZSBkYXRhIGNvbnRyb2wgdmFsdWVzIGZyb20gc2VydmVyLiBUaGlzIGlzIHVzZWQgd2hpbGUgZXhlY3V0aW5nIENvbnRyb2xJdGVtc1JlZnJlc2goKSBmdW5jdGlvbi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xOYW1lXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJnZW5lcmF0aW9uUGFyYW1cIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZWNGZXRjaERhdGFDb250cm9sVmFsdWVzQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGNvbnRyb2xOYW1lOiBzdHJpbmcpOiBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kOiBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kID0gbmV3IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQoKTtcclxuICAgIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kLkNvbnRyb2xOYW1lID0gY29udHJvbE5hbWU7XHJcbiAgICByZXR1cm4gZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIFdyaXRlTWVzc2FnZXNUb1NlcnZlckxvZyBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJlcnJvck1lc3NhZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGVycm9yTWVzc2FnZTogc3RyaW5nKTogV3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kIHtcclxuICAgIGxldCB3cml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQ6IFdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZCA9IG5ldyBXcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQoKTtcclxuICAgIHdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZC5FcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7XHJcbiAgICByZXR1cm4gd3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIENyZWF0ZVN1YmZvcm1SZWZyZXNoQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHN1YmZvcm1UYXNrVGFnOiBzdHJpbmcsIGV4cGxpY2l0U3ViZm9ybVJlZnJlc2g6IGJvb2xlYW4pOiBTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQ6IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kID0gbmV3IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kKCk7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlN1YmZvcm1UYXNrVGFnID0gc3ViZm9ybVRhc2tUYWc7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5FeHBsaWNpdFN1YmZvcm1SZWZyZXNoID0gZXhwbGljaXRTdWJmb3JtUmVmcmVzaDtcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlJlZnJlc2hNb2RlID0gVmlld1JlZnJlc2hNb2RlLlVzZVRhc2tMb2NhdGU7XHJcbiAgICByZXR1cm4gc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBhIHN1YmZvcm0gb3BlbiBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU3ViZm9ybU9wZW5Db21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybURpdElkeDogbnVtYmVyKTogU3ViZm9ybU9wZW5FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kOiBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCA9IG5ldyBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZC5EaXRJZHggPSBzdWJmb3JtRGl0SWR4O1xyXG4gICAgcmV0dXJuIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNyZWF0ZXMgc2NyZWVuIHJlZnJlc2ggY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVNjcmVlblJlZnJlc2hDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgdG9wUmVjSWR4OiBudW1iZXIsIGNsaWVudFJlY0lkOiBudW1iZXIpOiBSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kOiBSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kID0gbmV3IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQoKTtcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLlRvcFJlY0lkeCA9IHRvcFJlY0lkeDtcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IGNsaWVudFJlY0lkO1xyXG4gICAgcmV0dXJuIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBhIGNvbHVtbiBzb3J0IGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb2x1bW5Tb3J0Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGRpcmVjdGlvbjogbnVtYmVyLCBkaXRJZHg6IG51bWJlciwgZmllbGRJZDogbnVtYmVyLCByZWNJZDogbnVtYmVyKTogQ29sdW1uU29ydEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY29sdW1uU29ydEV2ZW50Q29tbWFuZDogQ29sdW1uU29ydEV2ZW50Q29tbWFuZCA9IG5ldyBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kKCk7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkZsZElkID0gZmllbGRJZCArIDE7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gcmVjSWQ7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgIHJldHVybiBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vICAgY3JlYXRlcyBhbiBJbmRleCBDaGFuZ2UgZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIGFzeW5jIENyZWF0ZUluZGV4Q2hhbmdlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHJlY0lkOiBudW1iZXIsIGFyZ0xpc3Q6IEFyZ3VtZW50c0xpc3QpOiBQcm9taXNlPEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kPiB7XHJcbiAgICBsZXQgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ6IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kID0gbmV3IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kKCk7XHJcbiAgICBpbmRleENoYW5nZUV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gcmVjSWQ7XHJcbiAgICBsZXQgY21kOiBJbmRleENoYW5nZUV2ZW50Q29tbWFuZCA9IGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kO1xyXG5cclxuICAgIC8vIDEgcGFyYW1ldGVyIDogVGhlIG5ldyBLZXkgSW5kZXhcclxuICAgIGlmIChhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IGtleUluZGV4OiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5LZXlJbmRleCA9IGtleUluZGV4Lk5VTV8yX0xPTkcoKTtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgIGNtZC5LZXlJbmRleCA9IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbi8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuLy8vIDwvc3VtbWFyeT5cclxuLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cIm9ialwiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cImV4aXRCeU1lbnVcIj48L3BhcmFtPlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJjbG9zZVN1YmZvcm1Pbmx5XCI+PC9wYXJhbT5cclxuICBzdGF0aWMgQ3JlYXRlQnJvd3NlckVzY0V2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGNsb3NlU3ViZm9ybU9ubHk6IGJvb2xlYW4pOiBCcm93c2VyRXNjRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBicm93c2VyRXNjRXZlbnRDb21tYW5kOiBCcm93c2VyRXNjRXZlbnRDb21tYW5kID0gbmV3IEJyb3dzZXJFc2NFdmVudENvbW1hbmQoKTtcclxuICAgIGJyb3dzZXJFc2NFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBicm93c2VyRXNjRXZlbnRDb21tYW5kLkNsb3NlU3ViZm9ybU9ubHkgPSBjbG9zZVN1YmZvcm1Pbmx5O1xyXG4gICAgcmV0dXJuIGJyb3dzZXJFc2NFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwib2JqXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjbGllbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQ29tcHV0ZUV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHN1YmZvcm1zOiBib29sZWFuLCBjbGllbnRSZWNJZDogbnVtYmVyKTogQ29tcHV0ZUV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY29tcHV0ZUV2ZW50Q29tbWFuZDogQ29tcHV0ZUV2ZW50Q29tbWFuZCA9IG5ldyBDb21wdXRlRXZlbnRDb21tYW5kKCk7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY29tcHV0ZUV2ZW50Q29tbWFuZC5TdWJmb3JtcyA9IHN1YmZvcm1zO1xyXG4gICAgY29tcHV0ZUV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IGNsaWVudFJlY0lkO1xyXG4gICAgcmV0dXJuIGNvbXB1dGVFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyB0aGUgY29udGV4dCB0ZXJtaW5hdGlvbiByZXF1ZXN0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICBzdGF0aWMgQ3JlYXRlQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZyk6IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kOiBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQgPSBuZXcgQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kKCk7XHJcbiAgICBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZXR1cm4gY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBkdW1teSByZXF1ZXN0IHRvIHplcm8taW4gdGhlIGNvbnRleHQgaW5hY3Rpdml0eSB0aW1lb3V0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgQ3JlYXRlQ29udGV4dFRpbWVvdXRSZXNldEV2ZW50Q29tbWFuZCgpIDogQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kOiBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCA9IG5ldyBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCgpO1xyXG4gICAgcmV0dXJuIGNvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgbm9ucmV2ZXJzaWJsZSBleGl0IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSB0YXNrIGlkPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlTm9uUmV2ZXJzaWJsZUV4aXRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY2xvc2VTdWJmb3JtT25seTogYm9vbGVhbik6IE5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZDogTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQgPSBuZXcgTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQoKTtcclxuICAgIG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQuQ2xvc2VTdWJmb3JtT25seSA9IGNsb3NlU3ViZm9ybU9ubHk7XHJcbiAgICByZXR1cm4gbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBSZWNvbXB1dGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImZpZWxkSWRcIj50aGUgaWQgb2YgdGhlIGZpZWxkPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlUmVjb21wdXRlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGZpZWxkSWQ6IG51bWJlciwgaWdub3JlU3ViZm9ybVJlY29tcHV0ZTogYm9vbGVhbik6IFJlY29tcHV0ZUNvbW1hbmQge1xyXG4gICAgbGV0IHJlY29tcHV0ZUNvbW1hbmQ6IFJlY29tcHV0ZUNvbW1hbmQgPSBuZXcgUmVjb21wdXRlQ29tbWFuZCgpO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJlY29tcHV0ZUNvbW1hbmQuRmxkSWQgPSBmaWVsZElkO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5JZ25vcmVTdWJmb3JtUmVjb21wdXRlID0gaWdub3JlU3ViZm9ybVJlY29tcHV0ZTtcclxuICAgIHJldHVybiByZWNvbXB1dGVDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgVHJhbnNhY3Rpb24gY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVyXCI+dGhlIHR5cGUgb2Ygb3BlcmF0aW9uOiBCZWdpbiwgQ29tbWl0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tcIj50aGUgdGFzayBvZiB0aGUgdHJhbnNhY3Rpb248L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY1JldmVyc2libGVFeGl0XCI+dHJ1ZSBpZiB0aGUgdGFzayBleGl0IGlzIHJldmVyc2libGU8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGV2ZWxcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVUcmFuc2FjdGlvbkNvbW1hbmQob3Blcjogc3RyaW5nLCB0YXNrVGFnOiBzdHJpbmcsIGNSZXZlcnNpYmxlRXhpdDogYm9vbGVhbiwgbGV2ZWw6IHN0cmluZyk6IFRyYW5zYWN0aW9uQ29tbWFuZCB7XHJcbiAgICBsZXQgdHJhbnNhY3Rpb25Db21tYW5kOiBUcmFuc2FjdGlvbkNvbW1hbmQgPSBuZXcgVHJhbnNhY3Rpb25Db21tYW5kKCk7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuT3BlciA9IG9wZXI7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuUmV2ZXJzaWJsZUV4aXQgPSBjUmV2ZXJzaWJsZUV4aXQ7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuTGV2ZWwgPSBsZXZlbDtcclxuICAgIHJldHVybiB0cmFuc2FjdGlvbkNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gVW5sb2FkIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVVbmxvYWRDb21tYW5kKCk6IFVubG9hZENvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBVbmxvYWRDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV4ZWNPcGVyIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJoYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVySWR4XCI+dGhlIG9wZXJhdGlvbiBpbmRleCBpcyB0aGUgc2VydmVyIGluZGV4IGluZGljYXRlZCBieSB0aGUgb3BlcmF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRpdElkeFwiPnRoZSBjb250cm9sIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXhlY09wZXJDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiBFeGVjT3BlckNvbW1hbmQge1xyXG4gICAgbGV0IGV4ZWNPcGVyQ29tbWFuZDogRXhlY09wZXJDb21tYW5kID0gbmV3IEV4ZWNPcGVyQ29tbWFuZCgpO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLk9wZXJJZHggPSBvcGVySWR4O1xyXG4gICAgZXhlY09wZXJDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkhhbmRsZXJJZCA9IGhhbmRsZXJJZDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcblxyXG4gICAgbGV0IGNtZDogRXhlY09wZXJDb21tYW5kID0gZXhlY09wZXJDb21tYW5kO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgY21kLlZhbCA9IFwiIFwiO1xyXG4gICAgZWxzZVxyXG4gICAgICBjbWQuVmFsID0gdmFsdWU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIFNlbGVjdCBQcm9ncmFtIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJoYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVySWR4XCI+dGhlIG9wZXJhdGlvbiBpbmRleCBpcyB0aGUgc2VydmVyIGluZGV4IGluZGljYXRlZCBieSB0aGUgb3BlcmF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRpdElkeFwiPnRoZSBjb250cm9sIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2VsZWN0UHJvZ3JhbUNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBoYW5kbGVySWQ6IHN0cmluZywgb3BlcklkeDogbnVtYmVyLCBkaXRJZHg6IG51bWJlciwgdmFsdWU6IHN0cmluZyk6IEV4ZWNPcGVyQ29tbWFuZCB7XHJcbiAgICBsZXQgZXhlY09wZXJDb21tYW5kOiBTZWxlY3RQcm9ncmFtQ29tbWFuZCA9IG5ldyBTZWxlY3RQcm9ncmFtQ29tbWFuZCgpO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLk9wZXJJZHggPSBvcGVySWR4O1xyXG4gICAgZXhlY09wZXJDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkhhbmRsZXJJZCA9IGhhbmRsZXJJZDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcblxyXG4gICAgbGV0IGNtZDogRXhlY09wZXJDb21tYW5kID0gZXhlY09wZXJDb21tYW5kO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgY21kLlZhbCA9IFwiIFwiO1xyXG4gICAgZWxzZVxyXG4gICAgICBjbWQuVmFsID0gdmFsdWU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2YWx1YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBUeXBlXCI+VGhlIGV4cGVjdGVkIHR5cGUgaXMgdGhlIGRhdGEgdHlwZSAoYXR0cmlidXRlKSBvZiB0aGUgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cElkeFwiPmV4cHJlc3Npb24gaWQgYXR0cmlidXRlcyBhcmUgYSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZXhwcmVzc2lvbiB0byBldmFsdWF0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBWYWxMZW5cIj4gcmVwcmVzZW50cyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYWxwaGEgcmVzdWx0IG9yIHRoZSBtYXhpbXVtIGRpZ2l0cyB0byB0aGUgcmlnaHQgb2YgdGhlIGRlY2ltYWwgcG9pbnQsIGZvciBudW1lcmljIHJlc3VsdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtcHJnQ3JlYXRvclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2YWx1YXRlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGV4cFR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIGV4cElkeDogbnVtYmVyLCBleHBWYWxMZW46IG51bWJlciwgbXByZ0NyZWF0b3I6IFRhc2spOiBFdmFsdWF0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGV2YWx1YXRlQ29tbWFuZDogRXZhbHVhdGVDb21tYW5kID0gbmV3IEV2YWx1YXRlQ29tbWFuZCgpO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cElkeCA9IGV4cElkeDtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5FeHBUeXBlID0gZXhwVHlwZTtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5NcHJnQ3JlYXRvciA9IG1wcmdDcmVhdG9yO1xyXG5cclxuICAgIGlmIChleHBWYWxMZW4gPiAwKVxyXG4gICAgICBldmFsdWF0ZUNvbW1hbmQuTGVuZ3RoRXhwVmFsID0gZXhwVmFsTGVuO1xyXG4gICAgcmV0dXJuIGV2YWx1YXRlQ29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVRdWVyeUdsb2JhbFBhcmFtc0NvbW1hbmQoKTogR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZm9yY2UgaW5pIGZpbGUgdXBkYXRlIGJ5IElOSVB1dCgpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInBhcmFtXCI+ZW52IHBhcmFtIGNoYW5nZWQgYnkgSU5JUHV0PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQocGFyYW06IHN0cmluZyk6IEluaXB1dEZvcmNlV3JpdGVDb21tYW5kIHtcclxuICAgIGxldCBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQgPSBuZXcgSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQoKTtcclxuICAgIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kLlRleHQgPSBwYXJhbTtcclxuICAgIHJldHVybiBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDtcclxuICB9XHJcbn1cclxuIl19
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQW9DLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSzlELE1BQU0sT0FBTyxjQUFjO0lBUXpCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFlLEVBQUUsVUFBa0I7UUFDM0QsSUFBSSxZQUFZLEdBQWlCLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlELFlBQVksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQy9CLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFVRCxNQUFNLENBQUMsMEJBQTBCLENBQUMsT0FBZSxFQUFFLFlBQStDO1FBQ2hHLElBQUksR0FBRyxHQUF5QixJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDM0QsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEIsR0FBRyxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7UUFDNUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBUUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE1BQWMsRUFBRSxXQUFnQztRQUMzRSxJQUFJLGVBQWUsR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM3RCxlQUFlLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMxQyxlQUFlLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNqQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBUUQsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLE1BQWMsRUFBRSxTQUFvQjtRQUMzRSxJQUFJLDJCQUEyQixHQUFnQyxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFDakcsMkJBQTJCLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUM3QywyQkFBMkIsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQzlDLE9BQU8sMkJBQTJCLENBQUM7SUFDckMsQ0FBQztJQVNELE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFjLEVBQUUsSUFBVTtRQUNoRSxJQUFJLDBCQUEwQixHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDOUYsMEJBQTBCLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUM1QywwQkFBMEIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztJQVNELE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxNQUFjLEVBQUUsU0FBb0I7UUFDNUUsSUFBSSw0QkFBNEIsR0FBaUMsSUFBSSw0QkFBNEIsRUFBRSxDQUFDO1FBQ3BHLDRCQUE0QixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDOUMsNEJBQTRCLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUMvQyxPQUFPLDRCQUE0QixDQUFDO0lBQ3RDLENBQUM7SUFRRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsTUFBYyxFQUFFLG1CQUE0QjtRQUMxRixJQUFJLGtDQUFrQyxHQUF1QyxJQUFJLGtDQUFrQyxFQUFFLENBQUM7UUFDdEgsa0NBQWtDLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNwRCxrQ0FBa0MsQ0FBQyxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztRQUMzRSxPQUFPLGtDQUFrQyxDQUFDO0lBQzVDLENBQUM7SUFTRCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsTUFBYyxFQUFFLFlBQTJCO1FBQ2pGLElBQUksMEJBQTBCLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUM5RiwwQkFBMEIsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzVDLDBCQUEwQixDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQztRQUNqRiwwQkFBMEIsQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO1FBQ2xELE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztJQVNELE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxNQUFjLEVBQUUsVUFBa0IsRUFBRSxZQUFvQixFQUFFLFVBQWtCO1FBQzlHLElBQUksbUJBQW1CLEdBQXdCLElBQUksbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkYsbUJBQW1CLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNyQyxtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUNsRSxtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBQy9DLG1CQUFtQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM3QyxtQkFBbUIsQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7UUFDbEQsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBTUQsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxNQUFjLEVBQUUsVUFBa0IsRUFBRSxVQUFrQixFQUFFLE9BQXNCLEVBQUUsWUFBb0I7UUFDeEksSUFBSSxtQkFBbUIsR0FBd0IsSUFBSSxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRixtQkFBbUIsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3JDLG1CQUFtQixDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO1FBQ2xFLG1CQUFtQixDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDekMsbUJBQW1CLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztRQUMvQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7UUFDbEQsSUFBSSxHQUFHLEdBQXdCLG1CQUFtQixDQUFDO1FBRW5ELElBQUksVUFBVSxLQUFLLGlCQUFpQixDQUFDLHdCQUF3QixJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM1RyxJQUFJO2dCQUNGLElBQUksV0FBVyxHQUFhLElBQUksUUFBUSxDQUFDLE1BQU0sT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BHLEdBQUcsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNoRDtZQUNELE9BQU8sQ0FBQyxFQUFFO2dCQUNSLEdBQUcsQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQzthQUNuRDtZQUVELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDekIsSUFBSTtvQkFDRixHQUFHLENBQUMsWUFBWSxHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7aUJBQ3hGO2dCQUNELE9BQU8sQ0FBQyxFQUFFO29CQUNSLEdBQUcsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2lCQUMxQjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsaUNBQWlDLENBQUMsTUFBYyxFQUFFLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxtQkFBMkIsRUFBRSxpQkFBeUIsRUFBRSxrQkFBMEI7UUFDbkwsSUFBSSxxQkFBcUIsR0FBMEIsSUFBSSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZILHFCQUFxQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdkMscUJBQXFCLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM5QyxxQkFBcUIsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2xELHFCQUFxQixDQUFDLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hFLHFCQUFxQixDQUFDLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO1FBQ3BFLHFCQUFxQixDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzlELE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztJQVNELE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFlLEVBQUUsV0FBbUI7UUFDOUUsSUFBSSxrQ0FBa0MsR0FBdUMsSUFBSSxrQ0FBa0MsRUFBRSxDQUFDO1FBQ3RILGtDQUFrQyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDckQsa0NBQWtDLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUM3RCxPQUFPLGtDQUFrQyxDQUFDO0lBQzVDLENBQUM7SUFRRCxNQUFNLENBQUMsb0NBQW9DLENBQUMsT0FBZSxFQUFFLFlBQW9CO1FBQy9FLElBQUksOEJBQThCLEdBQW1DLElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUMxRyw4QkFBOEIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2pELDhCQUE4QixDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDM0QsT0FBTyw4QkFBOEIsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLDJCQUEyQixDQUFDLE9BQWUsRUFBRSxjQUFzQixFQUFFLHNCQUErQjtRQUN6RyxJQUFJLDBCQUEwQixHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDOUYsMEJBQTBCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUM3QywwQkFBMEIsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQzNELDBCQUEwQixDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQzNFLDBCQUEwQixDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDO1FBQ3ZFLE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztJQU1ELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxPQUFlLEVBQUUsYUFBcUI7UUFDcEUsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JGLHVCQUF1QixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDMUMsdUJBQXVCLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUMvQyxPQUFPLHVCQUF1QixDQUFDO0lBQ2pDLENBQUM7SUFNRCxNQUFNLENBQUMsMEJBQTBCLENBQUMsT0FBZSxFQUFFLFNBQWlCLEVBQUUsV0FBbUI7UUFDdkYsSUFBSSx5QkFBeUIsR0FBOEIsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO1FBQzNGLHlCQUF5QixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDNUMseUJBQXlCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNoRCx5QkFBeUIsQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUN4RSx5QkFBeUIsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ3BELE9BQU8seUJBQXlCLENBQUM7SUFDbkMsQ0FBQztJQU1ELE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxPQUFlLEVBQUUsU0FBaUIsRUFBRSxNQUFjLEVBQUUsT0FBZSxFQUFFLEtBQWE7UUFDL0csSUFBSSxzQkFBc0IsR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xGLHNCQUFzQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekMsc0JBQXNCLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QyxzQkFBc0IsQ0FBQyxLQUFLLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUMzQyxzQkFBc0IsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzNDLHNCQUFzQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0MsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBS0QsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLE9BQXNCO1FBQzFGLElBQUksdUJBQXVCLEdBQTRCLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUNyRix1QkFBdUIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzFDLHVCQUF1QixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDNUMsSUFBSSxHQUFHLEdBQTRCLHVCQUF1QixDQUFDO1FBRzNELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQy9DLElBQUk7Z0JBQ0YsSUFBSSxRQUFRLEdBQWEsSUFBSSxRQUFRLENBQUMsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakcsR0FBRyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDdEM7WUFDRCxPQUFPLENBQUMsRUFBRTtnQkFDUixHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQzthQUNsQjtTQUNGO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBU0QsTUFBTSxDQUFDLDRCQUE0QixDQUFDLE9BQWUsRUFBRSxnQkFBeUI7UUFDNUUsSUFBSSxzQkFBc0IsR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xGLHNCQUFzQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekMsc0JBQXNCLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDM0QsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBU0QsTUFBTSxDQUFDLHlCQUF5QixDQUFDLE9BQWUsRUFBRSxRQUFpQixFQUFFLFdBQW1CO1FBQ3RGLElBQUksbUJBQW1CLEdBQXdCLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUN6RSxtQkFBbUIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3RDLG1CQUFtQixDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDeEMsbUJBQW1CLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUM5QyxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFNRCxNQUFNLENBQUMsb0NBQW9DLENBQUMsT0FBZTtRQUN6RCxJQUFJLDhCQUE4QixHQUFtQyxJQUFJLDhCQUE4QixFQUFFLENBQUM7UUFDMUcsOEJBQThCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNqRCxPQUFPLDhCQUE4QixDQUFDO0lBQ3hDLENBQUM7SUFLRCxNQUFNLENBQUMscUNBQXFDO1FBQzFDLElBQUksMEJBQTBCLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUM5RixPQUFPLDBCQUEwQixDQUFDO0lBQ3BDLENBQUM7SUFPRCxNQUFNLENBQUMsOEJBQThCLENBQUMsT0FBZSxFQUFFLGdCQUF5QjtRQUM5RSxJQUFJLDZCQUE2QixHQUFrQyxJQUFJLDZCQUE2QixFQUFFLENBQUM7UUFDdkcsNkJBQTZCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNoRCw2QkFBNkIsQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUNsRSxPQUFPLDZCQUE2QixDQUFDO0lBQ3ZDLENBQUM7SUFRRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsT0FBZSxFQUFFLE9BQWUsRUFBRSxzQkFBK0I7UUFDN0YsSUFBSSxnQkFBZ0IsR0FBcUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hFLGdCQUFnQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbkMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUNqQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztRQUNqRSxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFVRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsSUFBWSxFQUFFLE9BQWUsRUFBRSxlQUF3QixFQUFFLEtBQWE7UUFDcEcsSUFBSSxrQkFBa0IsR0FBdUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3RFLGtCQUFrQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDckMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUMvQixrQkFBa0IsQ0FBQyxjQUFjLEdBQUcsZUFBZSxDQUFDO1FBQ3BELGtCQUFrQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDakMsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBTUQsTUFBTSxDQUFDLG1CQUFtQjtRQUN4QixPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQVlELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFlLEVBQUUsU0FBaUIsRUFBRSxPQUFlLEVBQUUsTUFBYyxFQUFFLEtBQWE7UUFDN0csSUFBSSxlQUFlLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7UUFDN0QsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDdEMsZUFBZSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFaEMsSUFBSSxHQUFHLEdBQW9CLGVBQWUsQ0FBQztRQUMzQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3RDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDOztZQUVkLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQVdELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxPQUFlLEVBQUUsU0FBaUIsRUFBRSxPQUFlLEVBQUUsTUFBYyxFQUFFLEtBQWE7UUFDbEgsSUFBSSxlQUFlLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUN2RSxlQUFlLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQyxlQUFlLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQyxlQUFlLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QyxlQUFlLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVoQyxJQUFJLEdBQUcsR0FBb0IsZUFBZSxDQUFDO1FBQzNDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDdEMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7O1lBRWQsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBV0QsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE9BQWUsRUFBRSxPQUF5QixFQUFFLE1BQWMsRUFBRSxTQUFpQixFQUFFLFdBQWlCO1FBQzNILElBQUksZUFBZSxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQzdELGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRTFDLElBQUksU0FBUyxHQUFHLENBQUM7WUFDZixlQUFlLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMzQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBT0QsTUFBTSxDQUFDLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBT0QsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQWE7UUFDaEQsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JGLHVCQUF1QixDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDckMsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01nQ29udHJvbEJhc2UsIE5VTV9UWVBFfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2UsIFN0b3JhZ2VBdHRyaWJ1dGUsIFZpZXdSZWZyZXNoTW9kZX0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tICcuL0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Um9sbGJhY2tFdmVudENvbW1hbmQsIFJvbGxiYWNrRXZlbnRDb21tYW5kX1JvbGxiYWNrVHlwZX0gZnJvbSAnLi9Sb2xsYmFja0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7RGF0YXZpZXdDb21tYW5kLCBEYXRhVmlld0NvbW1hbmRUeXBlfSBmcm9tICcuL0RhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vLi4vdGFza3MvVGFzayc7XHJcbmltcG9ydCB7VXNlclJhbmdlfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrQmFzZSc7XHJcbmltcG9ydCB7QWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kfSBmcm9tICcuL0FkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vdGFza3Mvc29ydC9Tb3J0JztcclxuaW1wb3J0IHtBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZH0gZnJvbSAnLi9BZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7QWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZH0gZnJvbSAnLi9BZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kfSBmcm9tICcuL1NldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQnO1xyXG5pbXBvcnQge0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kfSBmcm9tICcuL0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kJztcclxuaW1wb3J0IHtSZWZyZXNoRXZlbnRDb21tYW5kfSBmcm9tICcuL1JlZnJlc2hFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0FyZ3VtZW50c0xpc3R9IGZyb20gJy4uLy4uL3J0L0FyZ3VtZW50c0xpc3QnO1xyXG5pbXBvcnQge0RhdGFWaWV3T3V0cHV0Q29tbWFuZH0gZnJvbSAnLi9EYXRhVmlld091dHB1dENvbW1hbmQnO1xyXG5pbXBvcnQge0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmR9IGZyb20gJy4vRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7V3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kfSBmcm9tICcuL1dyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZCc7XHJcbmltcG9ydCB7U3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmR9IGZyb20gJy4vU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0Jyb3dzZXJFc2NFdmVudENvbW1hbmR9IGZyb20gJy4vQnJvd3NlckVzY0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7SW5kZXhDaGFuZ2VFdmVudENvbW1hbmR9IGZyb20gJy4vSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0NvbHVtblNvcnRFdmVudENvbW1hbmR9IGZyb20gJy4vQ29sdW1uU29ydEV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7UmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZH0gZnJvbSAnLi9SZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZH0gZnJvbSAnLi9TdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Q29tcHV0ZUV2ZW50Q29tbWFuZH0gZnJvbSAnLi9Db21wdXRlRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZH0gZnJvbSAnLi9Ob25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7UmVjb21wdXRlQ29tbWFuZH0gZnJvbSAnLi9SZWNvbXB1dGVDb21tYW5kJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbW1hbmR9IGZyb20gJy4vVHJhbnNhY3Rpb25Db21tYW5kJztcclxuaW1wb3J0IHtVbmxvYWRDb21tYW5kfSBmcm9tICcuL1VubG9hZENvbW1hbmQnO1xyXG5pbXBvcnQge0V4ZWNPcGVyQ29tbWFuZH0gZnJvbSAnLi9FeGVjT3BlckNvbW1hbmQnO1xyXG5pbXBvcnQge0V2YWx1YXRlQ29tbWFuZH0gZnJvbSAnLi9FdmFsdWF0ZUNvbW1hbmQnO1xyXG5pbXBvcnQge0dsb2JhbFBhcmFtc1F1ZXJ5Q29tbWFuZH0gZnJvbSAnLi9HbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmQnO1xyXG5pbXBvcnQge0luaXB1dEZvcmNlV3JpdGVDb21tYW5kfSBmcm9tICcuL0luaXB1dEZvcmNlV3JpdGVDb21tYW5kJztcclxuaW1wb3J0IHtDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmR9IGZyb20gJy4vQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZH0gZnJvbSAnLi9Db250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCc7XHJcbmltcG9ydCB7IFNlbGVjdFByb2dyYW1Db21tYW5kIH0gZnJvbSAnLi9TZWxlY3RQcm9ncmFtQ29tbWFuZCc7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBmYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBjb21tYW5kc1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQ29tbWFuZEZhY3Rvcnkge1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWFnaWNFdmVudFwiPnRoZSBjb2RlIG9mIHRoZSBpbnRlcm5hbCBldmVudDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlcik6IEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgZXZlbnRDb21tYW5kOiBFdmVudENvbW1hbmQgPSBuZXcgRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgZXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmV0dXJuIGV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjSGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY09ialwiPnRoZSBESVQgaW5kZXggb2YgdGhlIGNvbnRyb2wgdGhhdCBoYWQgdGhlIGZvY3VzIHdoZW4gdGhlIGV2ZW50IG9jY3VycmVkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1hZ2ljRXZlbnRcIj50aGUgY29kZSBvZiB0aGUgaW50ZXJuYWwgZXZlbnQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVSb2xsYmFja0V2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHJvbGxiYWNrVHlwZTogUm9sbGJhY2tFdmVudENvbW1hbmRfUm9sbGJhY2tUeXBlKTogUm9sbGJhY2tFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNtZDogUm9sbGJhY2tFdmVudENvbW1hbmQgPSBuZXcgUm9sbGJhY2tFdmVudENvbW1hbmQoKTtcclxuICAgIGNtZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNtZC5Sb2xsYmFjayA9IHJvbGxiYWNrVHlwZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNyZWF0ZSBhIGdlbmVyYWwgZGF0YXZpZXcgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb21tYW5kVHlwZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRGF0YVZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBjb21tYW5kVHlwZTogRGF0YVZpZXdDb21tYW5kVHlwZSk6IERhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgZGF0YXZpZXdDb21tYW5kOiBEYXRhdmlld0NvbW1hbmQgPSBuZXcgRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBkYXRhdmlld0NvbW1hbmQuQ29tbWFuZFR5cGUgPSBjb21tYW5kVHlwZTtcclxuICAgIGRhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmV0dXJuIGRhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHVzZXJSYW5nZTogVXNlclJhbmdlKTogQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQ6IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCA9IG5ldyBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kLlJhbmdlID0gdXNlclJhbmdlO1xyXG4gICAgcmV0dXJuIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZUFkZFVzZXJTb3J0RGF0YXZpZXdDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlclNvcnREYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHNvcnQ6IFNvcnQpOiBBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQ6IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kKCk7XHJcbiAgICBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQuU29ydCA9IHNvcnQ7XHJcbiAgICByZXR1cm4gYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGVBZGRVc2VyTG9jYXRlRGF0YXZpZXdDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlckxvY2F0ZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdXNlclJhbmdlOiBVc2VyUmFuZ2UpOiBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kOiBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQuUmFuZ2UgPSB1c2VyUmFuZ2U7XHJcbiAgICByZXR1cm4gYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlIGEgc2V0IHRyYW5zYWN0aW9uIHN0YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidHJhbnNhY3Rpb25Jc09wZW5lZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdHJhbnNhY3Rpb25Jc09wZW5lZDogYm9vbGVhbik6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQ6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQgPSBuZXcgU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZC5UcmFuc2FjdGlvbklzT3BlbiA9IHRyYW5zYWN0aW9uSXNPcGVuZWQ7XHJcbiAgICByZXR1cm4gc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kIHRvIHJlZmVyc2ggdGhlIGRhdGEgY29udHJvbC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVQYXJhbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ2VuZXJhdGlvblBhcmFtXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgY29udHJvbFBhcmFtOiBNZ0NvbnRyb2xCYXNlKTogQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kOiBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCA9IG5ldyBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCgpO1xyXG4gICAgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kLkNvbW1hbmRUeXBlID0gRGF0YVZpZXdDb21tYW5kVHlwZS5Db250cm9sSXRlbXNSZWZyZXNoO1xyXG4gICAgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuQ29udHJvbCA9IGNvbnRyb2xQYXJhbTtcclxuICAgIHJldHVybiBjb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlcyBhIHJlZnJlc2ggY29tbWFuZCB3aGljaCB3YXMgaW5pdGlhdGVkIGludGVybmFsbHksIGkuZS4gbm90IGJ5IGEgdXNlciBmdW5jdGlvbiBjYWxsXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1hZ2ljRXZlbnRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN1cnJlbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW50ZXJuYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50UmVjSWQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyKTogUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY3VycmVudFJlY0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5Jc0ludGVybmFsUmVmcmVzaCA9IHRydWU7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgcmV0dXJuIHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBvbmx5IGEgcmVhbCByZWZyZXNoIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVSZWFsUmVmcmVzaENvbW1hbmQodGFza0lkOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0LCBjdXJyZW50UmVjSWQ6IG51bWJlcik6IFByb21pc2U8UmVmcmVzaEV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IHJlZnJlc2hFdmVudENvbW1hbmQ6IFJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaEV2ZW50Q29tbWFuZChtYWdpY0V2ZW50KTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5LZWVwVXNlclNvcnQgPSBmYWxzZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgbGV0IGNtZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgaWYgKG1hZ2ljRXZlbnQgIT09IEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9SVF9SRUZSRVNIX1JFQ09SRCAmJiBhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IHJlZnJlc2hNb2RlOiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IHJlZnJlc2hNb2RlLk5VTV8yX0xPTkcoKSArIDE7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYXJnTGlzdC5nZXRTaXplKCkgPiAxKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNtZC5LZWVwVXNlclNvcnQgPSAoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgxLCBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4sIDApID09PSAnMScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgY21kLktlZXBVc2VyU29ydCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBDcmVhdGVEYXRhVmlld1RvRGF0YVNvdXJjZUNvbW1hbmQodGFza0lkOiBzdHJpbmcsIGdlbmVyYXRpb246IG51bWJlciwgdGFza1Zhck5hbWVzOiBzdHJpbmcsIGRlc3RpbmF0aW9uRFNOdW1iZXI6IG51bWJlciwgZGVzdGluYXRpb25EU05hbWU6IHN0cmluZywgZGVzdGluYXRpb25Db2x1bW5zOiBzdHJpbmcpOiBEYXRhVmlld091dHB1dENvbW1hbmQge1xyXG4gICAgbGV0IGRhdGFWaWV3T3V0cHV0Q29tbWFuZDogRGF0YVZpZXdPdXRwdXRDb21tYW5kID0gbmV3IERhdGFWaWV3T3V0cHV0Q29tbWFuZChEYXRhVmlld0NvbW1hbmRUeXBlLkRhdGFWaWV3VG9EYXRhU291cmNlKTtcclxuICAgIGRhdGFWaWV3T3V0cHV0Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLkdlbmVyYXRpb24gPSBnZW5lcmF0aW9uO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLlRhc2tWYXJOYW1lcyA9IHRhc2tWYXJOYW1lcztcclxuICAgIGRhdGFWaWV3T3V0cHV0Q29tbWFuZC5EZXN0aW5hdGlvbkRhdGFTb3VyY2VOdW1iZXIgPSBkZXN0aW5hdGlvbkRTTnVtYmVyO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLkRlc3RpbmF0aW9uRGF0YVNvdXJjZU5hbWUgPSBkZXN0aW5hdGlvbkRTTmFtZTtcclxuICAgIGRhdGFWaWV3T3V0cHV0Q29tbWFuZC5EZXN0aW5hdGlvbkNvbHVtbnMgPSBkZXN0aW5hdGlvbkNvbHVtbnM7XHJcbiAgICByZXR1cm4gZGF0YVZpZXdPdXRwdXRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGUgRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50IGNvbW1hbmQgd2hpY2ggd2lsbCBmZXRjaCB0aGUgZGF0YSBjb250cm9sIHZhbHVlcyBmcm9tIHNlcnZlci4gVGhpcyBpcyB1c2VkIHdoaWxlIGV4ZWN1dGluZyBDb250cm9sSXRlbXNSZWZyZXNoKCkgZnVuY3Rpb24uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250cm9sTmFtZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ2VuZXJhdGlvblBhcmFtXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVjRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0NvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjb250cm9sTmFtZTogc3RyaW5nKTogRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZDogRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCA9IG5ldyBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kKCk7XHJcbiAgICBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZC5Db250cm9sTmFtZSA9IGNvbnRyb2xOYW1lO1xyXG4gICAgcmV0dXJuIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZSBXcml0ZU1lc3NhZ2VzVG9TZXJ2ZXJMb2cgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZXJyb3JNZXNzYWdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVXcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQodGFza1RhZzogc3RyaW5nLCBlcnJvck1lc3NhZ2U6IHN0cmluZyk6IFdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZCB7XHJcbiAgICBsZXQgd3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kOiBXcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQgPSBuZXcgV3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kKCk7XHJcbiAgICB3cml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICB3cml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQuRXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlO1xyXG4gICAgcmV0dXJuIHdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBDcmVhdGVTdWJmb3JtUmVmcmVzaENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtVGFza1RhZzogc3RyaW5nLCBleHBsaWNpdFN1YmZvcm1SZWZyZXNoOiBib29sZWFuKTogU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kOiBTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5TdWJmb3JtVGFza1RhZyA9IHN1YmZvcm1UYXNrVGFnO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuRXhwbGljaXRTdWJmb3JtUmVmcmVzaCA9IGV4cGxpY2l0U3ViZm9ybVJlZnJlc2g7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5Vc2VUYXNrTG9jYXRlO1xyXG4gICAgcmV0dXJuIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNyZWF0ZXMgYSBzdWJmb3JtIG9wZW4gZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVN1YmZvcm1PcGVuQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHN1YmZvcm1EaXRJZHg6IG51bWJlcik6IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZDogU3ViZm9ybU9wZW5FdmVudENvbW1hbmQgPSBuZXcgU3ViZm9ybU9wZW5FdmVudENvbW1hbmQoKTtcclxuICAgIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQuRGl0SWR4ID0gc3ViZm9ybURpdElkeDtcclxuICAgIHJldHVybiBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIHNjcmVlbiByZWZyZXNoIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTY3JlZW5SZWZyZXNoQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHRvcFJlY0lkeDogbnVtYmVyLCBjbGllbnRSZWNJZDogbnVtYmVyKTogUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZDogUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kKCk7XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5Ub3BSZWNJZHggPSB0b3BSZWNJZHg7XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLlJlZnJlc2hNb2RlID0gVmlld1JlZnJlc2hNb2RlLkN1cnJlbnRMb2NhdGlvbjtcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjbGllbnRSZWNJZDtcclxuICAgIHJldHVybiByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNyZWF0ZXMgYSBjb2x1bW4gc29ydCBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQ29sdW1uU29ydENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBkaXJlY3Rpb246IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIGZpZWxkSWQ6IG51bWJlciwgcmVjSWQ6IG51bWJlcik6IENvbHVtblNvcnRFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNvbHVtblNvcnRFdmVudENvbW1hbmQ6IENvbHVtblNvcnRFdmVudENvbW1hbmQgPSBuZXcgQ29sdW1uU29ydEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRGl0SWR4ID0gZGl0SWR4O1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5GbGRJZCA9IGZpZWxkSWQgKyAxO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IHJlY0lkO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5EaXJlY3Rpb24gPSBkaXJlY3Rpb247XHJcbiAgICByZXR1cm4gY29sdW1uU29ydEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyAgIGNyZWF0ZXMgYW4gSW5kZXggQ2hhbmdlIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVJbmRleENoYW5nZUNvbW1hbmQodGFza1RhZzogc3RyaW5nLCByZWNJZDogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0KTogUHJvbWlzZTxJbmRleENoYW5nZUV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kOiBJbmRleENoYW5nZUV2ZW50Q29tbWFuZCA9IG5ldyBJbmRleENoYW5nZUV2ZW50Q29tbWFuZCgpO1xyXG4gICAgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBpbmRleENoYW5nZUV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IHJlY0lkO1xyXG4gICAgbGV0IGNtZDogSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQgPSBpbmRleENoYW5nZUV2ZW50Q29tbWFuZDtcclxuXHJcbiAgICAvLyAxIHBhcmFtZXRlciA6IFRoZSBuZXcgS2V5IEluZGV4XHJcbiAgICBpZiAoYXJnTGlzdCAhPT0gbnVsbCAmJiBhcmdMaXN0LmdldFNpemUoKSAhPT0gMCkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGxldCBrZXlJbmRleDogTlVNX1RZUEUgPSBuZXcgTlVNX1RZUEUoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgwLCBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUMsIDApKTtcclxuICAgICAgICBjbWQuS2V5SW5kZXggPSBrZXlJbmRleC5OVU1fMl9MT05HKCk7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuS2V5SW5kZXggPSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4vLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbi8vLyA8L3N1bW1hcnk+XHJcbi8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJvYmpcIj48L3BhcmFtPlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJleGl0QnlNZW51XCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwiY2xvc2VTdWJmb3JtT25seVwiPjwvcGFyYW0+XHJcbiAgc3RhdGljIENyZWF0ZUJyb3dzZXJFc2NFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjbG9zZVN1YmZvcm1Pbmx5OiBib29sZWFuKTogQnJvd3NlckVzY0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgYnJvd3NlckVzY0V2ZW50Q29tbWFuZDogQnJvd3NlckVzY0V2ZW50Q29tbWFuZCA9IG5ldyBCcm93c2VyRXNjRXZlbnRDb21tYW5kKCk7XHJcbiAgICBicm93c2VyRXNjRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgYnJvd3NlckVzY0V2ZW50Q29tbWFuZC5DbG9zZVN1YmZvcm1Pbmx5ID0gY2xvc2VTdWJmb3JtT25seTtcclxuICAgIHJldHVybiBicm93c2VyRXNjRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm9ialwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY2xpZW50UmVjSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbXB1dGVFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtczogYm9vbGVhbiwgY2xpZW50UmVjSWQ6IG51bWJlcik6IENvbXB1dGVFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNvbXB1dGVFdmVudENvbW1hbmQ6IENvbXB1dGVFdmVudENvbW1hbmQgPSBuZXcgQ29tcHV0ZUV2ZW50Q29tbWFuZCgpO1xyXG4gICAgY29tcHV0ZUV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuU3ViZm9ybXMgPSBzdWJmb3JtcztcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjbGllbnRSZWNJZDtcclxuICAgIHJldHVybiBjb21wdXRlRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgdGhlIGNvbnRleHQgdGVybWluYXRpb24gcmVxdWVzdFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcpOiBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZDogQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kID0gbmV3IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmV0dXJuIGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgZHVtbXkgcmVxdWVzdCB0byB6ZXJvLWluIHRoZSBjb250ZXh0IGluYWN0aXZpdHkgdGltZW91dFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRleHRUaW1lb3V0UmVzZXRFdmVudENvbW1hbmQoKSA6IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kIHtcclxuICAgIGxldCBjb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZDogQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQgPSBuZXcgQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQoKTtcclxuICAgIHJldHVybiBjb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIG5vbnJldmVyc2libGUgZXhpdCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZU5vblJldmVyc2libGVFeGl0Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGNsb3NlU3ViZm9ybU9ubHk6IGJvb2xlYW4pOiBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQ6IE5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kID0gbmV3IE5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kKCk7XHJcbiAgICBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kLkNsb3NlU3ViZm9ybU9ubHkgPSBjbG9zZVN1YmZvcm1Pbmx5O1xyXG4gICAgcmV0dXJuIG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgUmVjb21wdXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJmaWVsZElkXCI+dGhlIGlkIG9mIHRoZSBmaWVsZDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVJlY29tcHV0ZUNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBmaWVsZElkOiBudW1iZXIsIGlnbm9yZVN1YmZvcm1SZWNvbXB1dGU6IGJvb2xlYW4pOiBSZWNvbXB1dGVDb21tYW5kIHtcclxuICAgIGxldCByZWNvbXB1dGVDb21tYW5kOiBSZWNvbXB1dGVDb21tYW5kID0gbmV3IFJlY29tcHV0ZUNvbW1hbmQoKTtcclxuICAgIHJlY29tcHV0ZUNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLkZsZElkID0gZmllbGRJZDtcclxuICAgIHJlY29tcHV0ZUNvbW1hbmQuSWdub3JlU3ViZm9ybVJlY29tcHV0ZSA9IGlnbm9yZVN1YmZvcm1SZWNvbXB1dGU7XHJcbiAgICByZXR1cm4gcmVjb21wdXRlQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIFRyYW5zYWN0aW9uIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwib3BlclwiPnRoZSB0eXBlIG9mIG9wZXJhdGlvbjogQmVnaW4sIENvbW1pdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrXCI+dGhlIHRhc2sgb2YgdGhlIHRyYW5zYWN0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNSZXZlcnNpYmxlRXhpdFwiPnRydWUgaWYgdGhlIHRhc2sgZXhpdCBpcyByZXZlcnNpYmxlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImxldmVsXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlVHJhbnNhY3Rpb25Db21tYW5kKG9wZXI6IHN0cmluZywgdGFza1RhZzogc3RyaW5nLCBjUmV2ZXJzaWJsZUV4aXQ6IGJvb2xlYW4sIGxldmVsOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkNvbW1hbmQge1xyXG4gICAgbGV0IHRyYW5zYWN0aW9uQ29tbWFuZDogVHJhbnNhY3Rpb25Db21tYW5kID0gbmV3IFRyYW5zYWN0aW9uQ29tbWFuZCgpO1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLk9wZXIgPSBvcGVyO1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLlJldmVyc2libGVFeGl0ID0gY1JldmVyc2libGVFeGl0O1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLkxldmVsID0gbGV2ZWw7XHJcbiAgICByZXR1cm4gdHJhbnNhY3Rpb25Db21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIFVubG9hZCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlVW5sb2FkQ29tbWFuZCgpOiBVbmxvYWRDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgVW5sb2FkQ29tbWFuZCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFeGVjT3BlciBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwib3BlcklkeFwiPnRoZSBvcGVyYXRpb24gaW5kZXggaXMgdGhlIHNlcnZlciBpbmRleCBpbmRpY2F0ZWQgYnkgdGhlIG9wZXJhdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJkaXRJZHhcIj50aGUgY29udHJvbCBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ2YWx1ZVwiPnRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV4ZWNPcGVyQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGhhbmRsZXJJZDogc3RyaW5nLCBvcGVySWR4OiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogRXhlY09wZXJDb21tYW5kIHtcclxuICAgIGxldCBleGVjT3BlckNvbW1hbmQ6IEV4ZWNPcGVyQ29tbWFuZCA9IG5ldyBFeGVjT3BlckNvbW1hbmQoKTtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5PcGVySWR4ID0gb3BlcklkeDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5IYW5kbGVySWQgPSBoYW5kbGVySWQ7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuRGl0SWR4ID0gZGl0SWR4O1xyXG5cclxuICAgIGxldCBjbWQ6IEV4ZWNPcGVyQ29tbWFuZCA9IGV4ZWNPcGVyQ29tbWFuZDtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZS5sZW5ndGggPT09IDApXHJcbiAgICAgIGNtZC5WYWwgPSAnICc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGNtZC5WYWwgPSB2YWx1ZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gU2VsZWN0IFByb2dyYW0gY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImhhbmRsZXJJZFwiPnRoZSBpZCBvZiB0aGUgaGFuZGxlciB3aGVyZSBleGVjdXRpb24gc2hvdWxkIHN0YXJ0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm9wZXJJZHhcIj50aGUgb3BlcmF0aW9uIGluZGV4IGlzIHRoZSBzZXJ2ZXIgaW5kZXggaW5kaWNhdGVkIGJ5IHRoZSBvcGVyYXRpb248L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZGl0SWR4XCI+dGhlIGNvbnRyb2wgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTZWxlY3RQcm9ncmFtQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGhhbmRsZXJJZDogc3RyaW5nLCBvcGVySWR4OiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogRXhlY09wZXJDb21tYW5kIHtcclxuICAgIGxldCBleGVjT3BlckNvbW1hbmQ6IFNlbGVjdFByb2dyYW1Db21tYW5kID0gbmV3IFNlbGVjdFByb2dyYW1Db21tYW5kKCk7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuT3BlcklkeCA9IG9wZXJJZHg7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuSGFuZGxlcklkID0gaGFuZGxlcklkO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkRpdElkeCA9IGRpdElkeDtcclxuXHJcbiAgICBsZXQgY21kOiBFeGVjT3BlckNvbW1hbmQgPSBleGVjT3BlckNvbW1hbmQ7XHJcbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUubGVuZ3RoID09PSAwKVxyXG4gICAgICBjbWQuVmFsID0gJyAnO1xyXG4gICAgZWxzZVxyXG4gICAgICBjbWQuVmFsID0gdmFsdWU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2YWx1YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBUeXBlXCI+VGhlIGV4cGVjdGVkIHR5cGUgaXMgdGhlIGRhdGEgdHlwZSAoYXR0cmlidXRlKSBvZiB0aGUgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cElkeFwiPmV4cHJlc3Npb24gaWQgYXR0cmlidXRlcyBhcmUgYSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZXhwcmVzc2lvbiB0byBldmFsdWF0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBWYWxMZW5cIj4gcmVwcmVzZW50cyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYWxwaGEgcmVzdWx0IG9yIHRoZSBtYXhpbXVtIGRpZ2l0cyB0byB0aGUgcmlnaHQgb2YgdGhlIGRlY2ltYWwgcG9pbnQsIGZvciBudW1lcmljIHJlc3VsdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtcHJnQ3JlYXRvclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2YWx1YXRlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGV4cFR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIGV4cElkeDogbnVtYmVyLCBleHBWYWxMZW46IG51bWJlciwgbXByZ0NyZWF0b3I6IFRhc2spOiBFdmFsdWF0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGV2YWx1YXRlQ29tbWFuZDogRXZhbHVhdGVDb21tYW5kID0gbmV3IEV2YWx1YXRlQ29tbWFuZCgpO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cElkeCA9IGV4cElkeDtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5FeHBUeXBlID0gZXhwVHlwZTtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5NcHJnQ3JlYXRvciA9IG1wcmdDcmVhdG9yO1xyXG5cclxuICAgIGlmIChleHBWYWxMZW4gPiAwKVxyXG4gICAgICBldmFsdWF0ZUNvbW1hbmQuTGVuZ3RoRXhwVmFsID0gZXhwVmFsTGVuO1xyXG4gICAgcmV0dXJuIGV2YWx1YXRlQ29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVRdWVyeUdsb2JhbFBhcmFtc0NvbW1hbmQoKTogR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZm9yY2UgaW5pIGZpbGUgdXBkYXRlIGJ5IElOSVB1dCgpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInBhcmFtXCI+ZW52IHBhcmFtIGNoYW5nZWQgYnkgSU5JUHV0PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQocGFyYW06IHN0cmluZyk6IEluaXB1dEZvcmNlV3JpdGVDb21tYW5kIHtcclxuICAgIGxldCBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQgPSBuZXcgSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQoKTtcclxuICAgIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kLlRleHQgPSBwYXJhbTtcclxuICAgIHJldHVybiBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDtcclxuICB9XHJcbn1cclxuIl19
@@ -20,4 +20,4 @@ export class ComputeEventCommand extends EventCommand {
20
20
  return NString.Format('[{0} for {1} in {2}] ', this.EventDescription, this.Subforms ? 'Form and Subform' : 'Form', this.Task.getTaskInfo());
21
21
  }
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcHV0ZUV2ZW50Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQ29tcHV0ZUV2ZW50Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQU9uRDtRQUNFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQU4xQyxhQUFRLEdBQVksS0FBSyxDQUFDO0lBTzFCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxNQUFNLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUUxRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUNmLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBFLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUNDLElBQUksQ0FBQyxnQkFBZ0IsRUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TlN0cmluZywgUmVmUGFyYW19IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0ludGVybmFsSW50ZXJmYWNlfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyfSBmcm9tIFwiLi9Db21tYW5kU2VyaWFsaXphdGlvbkhlbHBlclwiO1xyXG5pbXBvcnQge0V2ZW50Q29tbWFuZH0gZnJvbSBcIi4vRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5pbXBvcnQge0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvfSBmcm9tIFwiLi4vSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm9cIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQ29tcHV0ZUV2ZW50Q29tbWFuZCBleHRlbmRzIEV2ZW50Q29tbWFuZCBpbXBsZW1lbnRzIElDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvIHtcclxuXHJcbiAgU3ViZm9ybXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDVE9SXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9DT01QVVRFKTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZUNvbW1hbmREYXRhKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgaGVscGVyOiBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlciA9IG5ldyBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlcigpO1xyXG5cclxuICAgIGhlbHBlci5TZXJpYWxpemVUYXNrVGFnKHRoaXMuVGFza1RhZyk7XHJcbiAgICBoZWxwZXIuU2VyaWFsaXplTWFnaWNFdmVudCh0aGlzLk1hZ2ljRXZlbnQpO1xyXG5cclxuICAgIGlmICh0aGlzLlN1YmZvcm1zKVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfT0JKRUNULCBcIjk5OTk5XCIpO1xyXG5cclxuICAgIHJldHVybiBoZWxwZXIuR2V0U3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21tYW5kSW5mbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE5TdHJpbmcuRm9ybWF0KCdbezB9IGZvciB7MX0gaW4gezJ9XSAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgdGhpcy5FdmVudERlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICx0aGlzLlN1YmZvcm1zID8gJ0Zvcm0gYW5kIFN1YmZvcm0nIDogJ0Zvcm0nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgdGhpcy5UYXNrLmdldFRhc2tJbmZvKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcHV0ZUV2ZW50Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQ29tcHV0ZUV2ZW50Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQU9uRDtRQUNFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQU4xQyxhQUFRLEdBQVksS0FBSyxDQUFDO0lBTzFCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxNQUFNLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUUxRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUNmLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBFLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUNDLElBQUksQ0FBQyxnQkFBZ0IsRUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2V9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gXCIuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyXCI7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7SUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm99IGZyb20gXCIuLi9JQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDb21wdXRlRXZlbnRDb21tYW5kIGV4dGVuZHMgRXZlbnRDb21tYW5kIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8ge1xyXG5cclxuICBTdWJmb3JtczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NPTVBVVEUpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplQ29tbWFuZERhdGEoKTogc3RyaW5nIHtcclxuICAgIGxldCBoZWxwZXI6IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyID0gbmV3IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyKCk7XHJcblxyXG4gICAgaGVscGVyLlNlcmlhbGl6ZVRhc2tUYWcodGhpcy5UYXNrVGFnKTtcclxuICAgIGhlbHBlci5TZXJpYWxpemVNYWdpY0V2ZW50KHRoaXMuTWFnaWNFdmVudCk7XHJcblxyXG4gICAgaWYgKHRoaXMuU3ViZm9ybXMpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9PQkpFQ1QsIFwiOTk5OTlcIik7XHJcblxyXG4gICAgcmV0dXJuIGhlbHBlci5HZXRTdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIGdldENvbW1hbmRJbmZvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTlN0cmluZy5Gb3JtYXQoJ1t7MH0gZm9yIHsxfSBpbiB7Mn1dICdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLkV2ZW50RGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHRoaXMuU3ViZm9ybXMgPyAnRm9ybSBhbmQgU3ViZm9ybScgOiAnRm9ybSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLlRhc2suZ2V0VGFza0luZm8oKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,8 +1,8 @@
1
- import { EventCommand } from "./EventCommand";
2
- import { CommandSerializationHelper } from "./CommandSerializationHelper";
3
- import { ConstInterface } from "../../ConstInterface";
4
- import { InternalInterface } from "@magic-xpa/utils";
5
- import { NString } from "@magic-xpa/mscorelib";
1
+ import { EventCommand } from './EventCommand';
2
+ import { CommandSerializationHelper } from './CommandSerializationHelper';
3
+ import { ConstInterface } from '../../ConstInterface';
4
+ import { InternalInterface } from '@magic-xpa/utils';
5
+ import { NString } from '@magic-xpa/mscorelib';
6
6
  export class ContextTimeoutResetCommand extends EventCommand {
7
7
  constructor() {
8
8
  super(InternalInterface.MG_ACT_CONTEXT_TIMEOUT_RESET);
@@ -10,11 +10,11 @@ export class ContextTimeoutResetCommand extends EventCommand {
10
10
  SerializeCommandData() {
11
11
  let helper = new CommandSerializationHelper();
12
12
  helper.SerializeMagicEvent(this.MagicEvent);
13
- helper.SerializeAttribute(ConstInterface.MG_ATTR_OBJECT, "1");
13
+ helper.SerializeAttribute(ConstInterface.MG_ATTR_OBJECT, '1');
14
14
  return helper.GetString();
15
15
  }
16
16
  getCommandInfo() {
17
17
  return NString.Empty;
18
18
  }
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLE9BQU8sRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxZQUFZO0lBRTFEO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLE1BQU0sR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBRTFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFOUQsT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7UUFFWixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudENvbW1hbmR9IGZyb20gXCIuL0V2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvfSBmcm9tIFwiLi4vSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm9cIjtcclxuaW1wb3J0IHtDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlcn0gZnJvbSBcIi4vQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2V9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7TlN0cmluZywgUmVmUGFyYW19IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kIGV4dGVuZHMgRXZlbnRDb21tYW5kIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm97XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NPTlRFWFRfVElNRU9VVF9SRVNFVCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVDb21tYW5kRGF0YSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGhlbHBlcjogQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIgPSBuZXcgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIoKTtcclxuXHJcbiAgICBoZWxwZXIuU2VyaWFsaXplTWFnaWNFdmVudCh0aGlzLk1hZ2ljRXZlbnQpO1xyXG4gICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX09CSkVDVCwgXCIxXCIpO1xyXG5cclxuICAgIHJldHVybiBoZWxwZXIuR2V0U3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21tYW5kSW5mbygpOiBzdHJpbmcge1xyXG5cclxuICAgIHJldHVybiBOU3RyaW5nLkVtcHR5O1xyXG4gIH1cclxufVxyXG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlDLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxZQUFZO0lBRTFEO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLE1BQU0sR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBRTFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFOUQsT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7UUFFWixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudENvbW1hbmR9IGZyb20gJy4vRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb30gZnJvbSAnLi4vSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8nO1xyXG5pbXBvcnQge0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyfSBmcm9tICcuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyJztcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSAnLi4vLi4vQ29uc3RJbnRlcmZhY2UnO1xyXG5pbXBvcnQge0ludGVybmFsSW50ZXJmYWNlfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHtOU3RyaW5nIH0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kIGV4dGVuZHMgRXZlbnRDb21tYW5kIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm97XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NPTlRFWFRfVElNRU9VVF9SRVNFVCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVDb21tYW5kRGF0YSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGhlbHBlcjogQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIgPSBuZXcgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIoKTtcclxuXHJcbiAgICBoZWxwZXIuU2VyaWFsaXplTWFnaWNFdmVudCh0aGlzLk1hZ2ljRXZlbnQpO1xyXG4gICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX09CSkVDVCwgJzEnKTtcclxuXHJcbiAgICByZXR1cm4gaGVscGVyLkdldFN0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tbWFuZEluZm8oKTogc3RyaW5nIHtcclxuXHJcbiAgICByZXR1cm4gTlN0cmluZy5FbXB0eTtcclxuICB9XHJcbn1cclxuIl19
@@ -18,4 +18,4 @@ export class QueryCommand extends ClientOriginatedCommand {
18
18
  super();
19
19
  }
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVlcnlDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9RdWVyeUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUtwRCxNQUFNLE9BQWdCLFlBQWEsU0FBUSx1QkFBdUI7SUFDaEUsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxjQUFjLENBQUMsaUJBQWlCLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQU9ELG9CQUFvQjtRQUNsQixJQUFJLE9BQU8sR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUVqRCxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFcEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBRWpELE9BQU8sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFJRDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWZQYXJhbSwgU3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7Q2xpZW50T3JpZ2luYXRlZENvbW1hbmR9IGZyb20gXCIuL0NsaWVudE9yaWdpbmF0ZWRDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gYmFzZSBjbGFzcyBmb3IgcXVlcnkgY29tbWFuZHNcclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFF1ZXJ5Q29tbWFuZCBleHRlbmRzIENsaWVudE9yaWdpbmF0ZWRDb21tYW5kIHtcclxuICBnZXQgQ29tbWFuZFR5cGVBdHRyaWJ1dGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDb25zdEludGVyZmFjZS5NR19BVFRSX1ZBTF9RVUVSWTtcclxuICB9XHJcblxyXG4gIGdldCBTaG91bGRTZXJpYWxpemVSZWNvcmRzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaGFzQ2hpbGRFbGVtZW50c1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBTZXJpYWxpemVDb21tYW5kRGF0YSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IG1lc3NhZ2U6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpO1xyXG5cclxuICAgIG1lc3NhZ2UuQXBwZW5kKFwiIFwiICsgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9WQUxfUVVFUllfVFlQRSArIFwiPVxcXCJcIik7XHJcblxyXG4gICAgbWVzc2FnZS5BcHBlbmQodGhpcy5TZXJpYWxpemVRdWVyeUNvbW1hbmREYXRhKCkpO1xyXG5cclxuICAgIHJldHVybiBtZXNzYWdlLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBhYnN0cmFjdCBTZXJpYWxpemVRdWVyeUNvbW1hbmREYXRhKCk6IHN0cmluZyA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbn1cclxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVlcnlDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9RdWVyeUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUtwRCxNQUFNLE9BQWdCLFlBQWEsU0FBUSx1QkFBdUI7SUFDaEUsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxjQUFjLENBQUMsaUJBQWlCLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQU9ELG9CQUFvQjtRQUNsQixJQUFJLE9BQU8sR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUVqRCxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFcEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBRWpELE9BQU8sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFJRDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtDbGllbnRPcmlnaW5hdGVkQ29tbWFuZH0gZnJvbSBcIi4vQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBiYXNlIGNsYXNzIGZvciBxdWVyeSBjb21tYW5kc1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUXVlcnlDb21tYW5kIGV4dGVuZHMgQ2xpZW50T3JpZ2luYXRlZENvbW1hbmQge1xyXG4gIGdldCBDb21tYW5kVHlwZUF0dHJpYnV0ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfVkFMX1FVRVJZO1xyXG4gIH1cclxuXHJcbiAgZ2V0IFNob3VsZFNlcmlhbGl6ZVJlY29yZHMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJoYXNDaGlsZEVsZW1lbnRzXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFNlcmlhbGl6ZUNvbW1hbmREYXRhKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbWVzc2FnZTogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gICAgbWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBDb25zdEludGVyZmFjZS5NR19BVFRSX1ZBTF9RVUVSWV9UWVBFICsgXCI9XFxcIlwiKTtcclxuXHJcbiAgICBtZXNzYWdlLkFwcGVuZCh0aGlzLlNlcmlhbGl6ZVF1ZXJ5Q29tbWFuZERhdGEoKSk7XHJcblxyXG4gICAgcmV0dXJuIG1lc3NhZ2UuVG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIGFic3RyYWN0IFNlcmlhbGl6ZVF1ZXJ5Q29tbWFuZERhdGEoKTogc3RyaW5nIDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -17,11 +17,11 @@ export class RecomputeCommand extends ClientOriginatedCommandTaskTag {
17
17
  helper.SerializeTaskTag(this.TaskTag);
18
18
  helper.SerializeFldId(this.FldId);
19
19
  if (this.IgnoreSubformRecompute)
20
- helper.SerializeAttribute(ConstInterface.MG_ATTR_IGNORE_SUBFORM_RECOMPUTE, "1");
20
+ helper.SerializeAttribute(ConstInterface.MG_ATTR_IGNORE_SUBFORM_RECOMPUTE, '1');
21
21
  return helper.GetString();
22
22
  }
23
23
  getCommandInfo() {
24
24
  return NString.Format('[{0} in {1} for Field {2}]', this.CommandTypeAttribute.charAt(0).toUpperCase() + this.CommandTypeAttribute.substr(1, this.CommandTypeAttribute.length), this.Task.getTaskInfo(), this.Task.getFieldDef(this.FldId).getName());
25
25
  }
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb21wdXRlQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvUmVjb21wdXRlQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSW5GLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSw4QkFBOEI7SUFvQmxFO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFwQlYsWUFBTyxHQUFXLElBQUksQ0FBQztRQUN2QixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLDJCQUFzQixHQUFZLEtBQUssQ0FBQztJQW1CeEMsQ0FBQztJQWpCRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQztJQUMzQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksTUFBTSxHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFFMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxzQkFBc0I7WUFDN0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVsRixPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBTUQsY0FBYztRQUNaLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsRUFDbEgsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTlN0cmluZywgUmVmUGFyYW0gfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IENvbnN0SW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vQ29uc3RJbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlciB9IGZyb20gJy4vQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXInO1xyXG5pbXBvcnQgeyBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcgfSBmcm9tICcuLi9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcnO1xyXG5pbXBvcnQgeyBJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mbyB9IGZyb20gJy4uL0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvJztcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUmVjb21wdXRlQ29tbWFuZCBleHRlbmRzIENsaWVudE9yaWdpbmF0ZWRDb21tYW5kVGFza1RhZyBpbXBsZW1lbnRzIElDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvIHtcclxuICBUYXNrVGFnOiBzdHJpbmcgPSBudWxsO1xyXG4gIEZsZElkOiBudW1iZXIgPSAwO1xyXG4gIElnbm9yZVN1YmZvcm1SZWNvbXB1dGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZ2V0IENvbW1hbmRUeXBlQXR0cmlidXRlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9WQUxfUkVDT01QO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplQ29tbWFuZERhdGEoKTogc3RyaW5nIHtcclxuICAgIGxldCBoZWxwZXI6IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyID0gbmV3IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyKCk7XHJcblxyXG4gICAgaGVscGVyLlNlcmlhbGl6ZVRhc2tUYWcodGhpcy5UYXNrVGFnKTtcclxuICAgIGhlbHBlci5TZXJpYWxpemVGbGRJZCh0aGlzLkZsZElkKTtcclxuICAgIGlmICh0aGlzLklnbm9yZVN1YmZvcm1SZWNvbXB1dGUpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9JR05PUkVfU1VCRk9STV9SRUNPTVBVVEUsIFwiMVwiKTtcclxuXHJcbiAgICByZXR1cm4gaGVscGVyLkdldFN0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tbWFuZEluZm8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBOU3RyaW5nLkZvcm1hdCgnW3swfSBpbiB7MX0gZm9yIEZpZWxkIHsyfV0nLCB0aGlzLkNvbW1hbmRUeXBlQXR0cmlidXRlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGhpcy5Db21tYW5kVHlwZUF0dHJpYnV0ZS5zdWJzdHIoMSwgdGhpcy5Db21tYW5kVHlwZUF0dHJpYnV0ZS5sZW5ndGgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuVGFzay5nZXRUYXNrSW5mbygpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuVGFzay5nZXRGaWVsZERlZih0aGlzLkZsZElkKS5nZXROYW1lKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb21wdXRlQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvUmVjb21wdXRlQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSW5GLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSw4QkFBOEI7SUFvQmxFO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFwQlYsWUFBTyxHQUFXLElBQUksQ0FBQztRQUN2QixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLDJCQUFzQixHQUFZLEtBQUssQ0FBQztJQW1CeEMsQ0FBQztJQWpCRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQztJQUMzQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksTUFBTSxHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFFMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxzQkFBc0I7WUFDN0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVsRixPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBTUQsY0FBYztRQUNaLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsRUFDbEgsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTlN0cmluZyB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHsgQ29uc3RJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9Db25zdEludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyIH0gZnJvbSAnLi9Db21tYW5kU2VyaWFsaXphdGlvbkhlbHBlcic7XHJcbmltcG9ydCB7IENsaWVudE9yaWdpbmF0ZWRDb21tYW5kVGFza1RhZyB9IGZyb20gJy4uL0NsaWVudE9yaWdpbmF0ZWRDb21tYW5kVGFza1RhZyc7XHJcbmltcG9ydCB7IElDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvIH0gZnJvbSAnLi4vSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8nO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBSZWNvbXB1dGVDb21tYW5kIGV4dGVuZHMgQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8ge1xyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcbiAgRmxkSWQ6IG51bWJlciA9IDA7XHJcbiAgSWdub3JlU3ViZm9ybVJlY29tcHV0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBnZXQgQ29tbWFuZFR5cGVBdHRyaWJ1dGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDb25zdEludGVyZmFjZS5NR19BVFRSX1ZBTF9SRUNPTVA7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVDb21tYW5kRGF0YSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGhlbHBlcjogQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIgPSBuZXcgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIoKTtcclxuXHJcbiAgICBoZWxwZXIuU2VyaWFsaXplVGFza1RhZyh0aGlzLlRhc2tUYWcpO1xyXG4gICAgaGVscGVyLlNlcmlhbGl6ZUZsZElkKHRoaXMuRmxkSWQpO1xyXG4gICAgaWYgKHRoaXMuSWdub3JlU3ViZm9ybVJlY29tcHV0ZSlcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX0lHTk9SRV9TVUJGT1JNX1JFQ09NUFVURSwgJzEnKTtcclxuXHJcbiAgICByZXR1cm4gaGVscGVyLkdldFN0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tbWFuZEluZm8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBOU3RyaW5nLkZvcm1hdCgnW3swfSBpbiB7MX0gZm9yIEZpZWxkIHsyfV0nLCB0aGlzLkNvbW1hbmRUeXBlQXR0cmlidXRlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGhpcy5Db21tYW5kVHlwZUF0dHJpYnV0ZS5zdWJzdHIoMSwgdGhpcy5Db21tYW5kVHlwZUF0dHJpYnV0ZS5sZW5ndGgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuVGFzay5nZXRUYXNrSW5mbygpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuVGFzay5nZXRGaWVsZERlZih0aGlzLkZsZElkKS5nZXROYW1lKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -24,4 +24,4 @@ export class ClientTargetedCommandBase extends IClientTargetedCommand {
24
24
  }
25
25
  }
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUdqRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFROUMsTUFBTSxPQUFnQix5QkFBMEIsU0FBUSxzQkFBc0I7SUFBOUU7O1FBTUUsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUVsQixZQUFPLEdBQVcsSUFBSSxDQUFDO1FBRXZCLFFBQUcsR0FBVyxJQUFJLENBQUM7SUFpQnJCLENBQUM7SUF6QkMsSUFBSSxVQUFVO1FBQ1osT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBUUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFpQjtRQUM3QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCLEVBQUUsS0FBYTtRQUM5QyxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLFlBQVksQ0FBQyxjQUFjO2dCQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsTUFBTTtTQUNUO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJQ2xpZW50VGFyZ2V0ZWRDb21tYW5kfSBmcm9tIFwiLi4vSUNsaWVudFRhcmdldGVkQ29tbWFuZFwiO1xyXG5pbXBvcnQge0lDbGllbnRDb21tYW5kfSBmcm9tIFwiLi4vSUNsaWVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtJUmVzdWx0VmFsdWV9IGZyb20gXCIuLi8uLi9ydC9JUmVzdWx0VmFsdWVcIjtcclxuaW1wb3J0IHtYTUxDb25zdGFudHN9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5pbXBvcnQge05TdHJpbmd9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gQmFzZSBjbGFzcyBmb3IgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kcy4gVGhpcyBjbGFzcyBpbXBsZW1lbnRzXHJcbi8vLyBjb21tb24gcHJvcGVydGllcyBhbmQgbWV0aG9kcyBzaGFyZWQgYnkgYWxsIGluaGVyaXRpbmcgY29tbWFuZCBjbGFzc2VzLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZSBleHRlbmRzIElDbGllbnRUYXJnZXRlZENvbW1hbmQgaW1wbGVtZW50cyBJQ2xpZW50Q29tbWFuZCB7XHJcblxyXG4gIGdldCBJc0Jsb2NraW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgRnJhbWU6IG51bWJlciA9IDA7XHJcblxyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIE9iajogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgZ2V0IFNob3VsZEV4ZWN1dGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGFzeW5jIEV4ZWN1dGUocmVzOiBJUmVzdWx0VmFsdWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICB9XHJcblxyXG4gIEhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhdHRyaWJ1dGUpIHtcclxuICAgICAgY2FzZSBYTUxDb25zdGFudHMuTUdfQVRUUl9UQVNLSUQ6XHJcbiAgICAgICAgdGhpcy5UYXNrVGFnID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUdqRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFPOUMsTUFBTSxPQUFnQix5QkFBMEIsU0FBUSxzQkFBc0I7SUFBOUU7O1FBTUUsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUVsQixZQUFPLEdBQVcsSUFBSSxDQUFDO1FBRXZCLFFBQUcsR0FBVyxJQUFJLENBQUM7SUFpQnJCLENBQUM7SUF6QkMsSUFBSSxVQUFVO1FBQ1osT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBUUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFpQjtRQUM3QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCLEVBQUUsS0FBYTtRQUM5QyxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLFlBQVksQ0FBQyxjQUFjO2dCQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsTUFBTTtTQUNUO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJQ2xpZW50VGFyZ2V0ZWRDb21tYW5kfSBmcm9tIFwiLi4vSUNsaWVudFRhcmdldGVkQ29tbWFuZFwiO1xyXG5pbXBvcnQge0lDbGllbnRDb21tYW5kfSBmcm9tIFwiLi4vSUNsaWVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtJUmVzdWx0VmFsdWV9IGZyb20gXCIuLi8uLi9ydC9JUmVzdWx0VmFsdWVcIjtcclxuaW1wb3J0IHtYTUxDb25zdGFudHN9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcblxyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gQmFzZSBjbGFzcyBmb3IgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kcy4gVGhpcyBjbGFzcyBpbXBsZW1lbnRzXHJcbi8vLyBjb21tb24gcHJvcGVydGllcyBhbmQgbWV0aG9kcyBzaGFyZWQgYnkgYWxsIGluaGVyaXRpbmcgY29tbWFuZCBjbGFzc2VzLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZSBleHRlbmRzIElDbGllbnRUYXJnZXRlZENvbW1hbmQgaW1wbGVtZW50cyBJQ2xpZW50Q29tbWFuZCB7XHJcblxyXG4gIGdldCBJc0Jsb2NraW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgRnJhbWU6IG51bWJlciA9IDA7XHJcblxyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIE9iajogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgZ2V0IFNob3VsZEV4ZWN1dGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGFzeW5jIEV4ZWN1dGUocmVzOiBJUmVzdWx0VmFsdWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICB9XHJcblxyXG4gIEhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhdHRyaWJ1dGUpIHtcclxuICAgICAgY2FzZSBYTUxDb25zdGFudHMuTUdfQVRUUl9UQVNLSUQ6XHJcbiAgICAgICAgdGhpcy5UYXNrVGFnID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -17,7 +17,6 @@ export class VerifyCommand extends ClientTargetedCommandBase {
17
17
  this._text = null;
18
18
  this._display = '\0';
19
19
  this._mode = '\0';
20
- this._sendAck = true;
21
20
  }
22
21
  async Execute(res) {
23
22
  let errForConsole = StrUtil.getConsoleErorString(this._text);
@@ -74,7 +73,6 @@ export class VerifyCommand extends ClientTargetedCommandBase {
74
73
  this._mode = value[0];
75
74
  break;
76
75
  case ConstInterface.MG_ATTR_ACK:
77
- this._sendAck = (XmlParser.getInt(value) !== 0);
78
76
  break;
79
77
  default:
80
78
  super.HandleAttribute(attribute, value);
@@ -82,4 +80,4 @@ export class VerifyCommand extends ClientTargetedCommandBase {
82
80
  }
83
81
  }
84
82
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVyaWZ5Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvVmVyaWZ5Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sYUFBYyxTQUFRLHlCQUF5QjtJQVUxRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBVkYsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFDdkMsV0FBTSxHQUFXLElBQUksQ0FBQztRQUNkLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLFVBQUssR0FBVyxJQUFJLENBQUM7UUFDckIsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixVQUFLLEdBQVcsSUFBSSxDQUFDO1FBQ3JCLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFLakMsQ0FBQztJQU1ELEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBaUI7UUFDN0IsSUFBSSxhQUFhLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxJQUFJLElBQUksR0FBZSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUMxSSxJQUFJLElBQUksS0FBSyxJQUFJO1lBQ2YsSUFBSSxHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBSTFELElBQUksWUFBWSxHQUFZLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDL0MsSUFBSSxZQUFZO1lBQ2QsTUFBTSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUc1RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLGNBQWMsQ0FBQyxXQUFXLEVBQUU7Z0JBQ2hELElBQUksS0FBSyxHQUFxQixJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFHOUMsSUFBSSxZQUFZLEdBQVUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxZQUFZLEdBQVksWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzFFLElBQUksYUFBYSxHQUFzQixJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRW5FLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLFdBQVcsR0FBVyxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0csTUFBTSxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ3pEO2lCQUdJLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUMsY0FBYyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQ3hFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMvQztTQUNGO0lBQ0gsQ0FBQztJQVFELDJCQUEyQixDQUFDLElBQVUsRUFBRSxhQUErQixFQUFFLEtBQXVCO1FBQzlGLElBQUksT0FBTyxHQUFXLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLGFBQWEsQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBR25FLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGdCQUFnQjtZQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCO2dCQUMxQixDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQU9ELHlCQUF5QixDQUFDLElBQVUsRUFBRSxXQUFtQjtJQUV6RCxDQUFDO0lBRU0sZUFBZSxDQUFDLFNBQWlCLEVBQUUsS0FBYTtRQUNyRCxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLGNBQWMsQ0FBQyxhQUFhO2dCQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDcEIsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLG1CQUFtQjtnQkFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxzQkFBc0I7Z0JBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLFlBQVk7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkMsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLGVBQWU7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixNQUFNO1lBRVIsS0FBSyxjQUFjLENBQUMsWUFBWTtnQkFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxXQUFXO2dCQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDaEQsTUFBTTtZQUVSO2dCQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlIH0gZnJvbSAnLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlJztcclxuaW1wb3J0IHsgSVJlc3VsdFZhbHVlIH0gZnJvbSAnLi4vLi4vcnQvSVJlc3VsdFZhbHVlJztcclxuaW1wb3J0IHsgTlN0cmluZywgUmVmUGFyYW0gfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHsgU3R5bGVzIH0gZnJvbSAnQG1hZ2ljLXhwYS9ndWknO1xyXG5pbXBvcnQgeyBMb2dnZXIsIE1zZ0ludGVyZmFjZSwgU3RyVXRpbCwgWG1sUGFyc2VyIH0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7IENvbnN0VXRpbHMgfSBmcm9tICcuLi8uLi91dGlsL0NvbnN0VXRpbHMnO1xyXG5pbXBvcnQgeyBDb25zdEludGVyZmFjZSB9IGZyb20gJy4uLy4uL0NvbnN0SW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VEYXRhIH0gZnJvbSAnLi4vLi4vZW52L0xhbmd1YWdlRGF0YSc7XHJcbmltcG9ydCB7IExhc3RGb2N1c2VkTWFuYWdlciB9IGZyb20gJy4uLy4uL3J0L0xhc3RGb2N1c2VkTWFuYWdlcic7XHJcbmltcG9ydCB7IEFjY2Vzc0hlbHBlciB9IGZyb20gJy4uLy4uL0FjY2Vzc0hlbHBlcic7XHJcbmltcG9ydCB7R1VJTWFuYWdlcn0gZnJvbSBcIi4uLy4uL0dVSU1hbmFnZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBWZXJpZnlDb21tYW5kIGV4dGVuZHMgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZSB7XHJcbiAgcHJpdmF0ZSBfY2FsbGluZ1Rhc2tUYWc6IHN0cmluZyA9IG51bGw7IC8vIGlzIHRoZSBpZCBvZiB0aGUgdGFzayB0aGF0IGNhbGxlZCB0aGUgbmV3IHdpbmRvd1xyXG4gIF90aXRsZTogc3RyaW5nID0gbnVsbDsgLy8gdGl0bGUgb2YgdmVyaWZ5IG9wclxyXG4gIHByaXZhdGUgX2VyckxvZ0FwcGVuZDogYm9vbGVhbiA9IGZhbHNlOyAvLyBhcHBlbmQgdG8gZXJyb3IgbG9nIGZvciB2ZXJpZnkgb3ByXHJcbiAgcHJpdmF0ZSBfdGV4dDogc3RyaW5nID0gbnVsbDsgLy8gdGhlIHZlcmlmeSBtZXNzYWdlXHJcbiAgcHJpdmF0ZSBfZGlzcGxheTogc3RyaW5nID0gJ1xcMCc7XHJcbiAgcHJpdmF0ZSBfbW9kZTogc3RyaW5nID0gJ1xcMCc7XHJcbiAgcHJpdmF0ZSBfc2VuZEFjazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJleHBcIj48L3BhcmFtPlxyXG4gIGFzeW5jIEV4ZWN1dGUocmVzOiBJUmVzdWx0VmFsdWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBlcnJGb3JDb25zb2xlID0gU3RyVXRpbC5nZXRDb25zb2xlRXJvclN0cmluZyh0aGlzLl90ZXh0KTtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gPFRhc2s+KEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLlRhc2tUYWcpIHx8IEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLl9jYWxsaW5nVGFza1RhZykpO1xyXG4gICAgaWYgKHRhc2sgPT09IG51bGwpXHJcbiAgICAgIHRhc2sgPSBMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuZ2V0TGFzdEZvY3VzZWRUYXNrKCk7XHJcblxyXG4gICAgLy8gSW4gb3JkZXIgdG8ga2VlcCB0aGUgYmVoYXZpb3Igc2FtZSBhcyBpbiBPbmxpbmUsIHZlcmlmeSBvcGVyYXRpb24gd2FybmluZyBtZXNzYWdlc1xyXG4gICAgLy8gd2lsbCBiZSB3cml0dGVuIGFzIGVycm9yIG1lc3NhZ2VzIGluIENsaWVudCBsb2cgKFFDUiAjOTE1MTIyKVxyXG4gICAgbGV0IGVyckxvZ0FwcGVuZDogYm9vbGVhbiA9IHRoaXMuX2VyckxvZ0FwcGVuZDtcclxuICAgIGlmIChlcnJMb2dBcHBlbmQpXHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhlcnJGb3JDb25zb2xlKTtcclxuXHJcbiAgICAvLyBCbGFuayBNZXNzYWdlIHdpbGwgbm90IGJlIHNob3duLCBzYW1lIGFzIGluIE9ubGluZVxyXG4gICAgaWYgKCFOU3RyaW5nLklzTnVsbE9yRW1wdHkodGhpcy5fdGV4dCkpIHtcclxuICAgICAgaWYgKHRoaXMuX2Rpc3BsYXkgPT09IENvbnN0SW50ZXJmYWNlLkRJU1BMQVlfQk9YKSB7XHJcbiAgICAgICAgbGV0IHN0eWxlOiBSZWZQYXJhbTxudW1iZXI+ID0gbmV3IFJlZlBhcmFtKDApO1xyXG5cclxuICAgICAgICAvLyBvbiB2ZXJpZnkgYm94LCBzaG93IHRyYW5zbGF0ZWQgdmFsdWUuIChzdGF0dXMgaXMgaGFuZGxlZCBpbiBwcm9wZXJ0eSkuXHJcbiAgICAgICAgbGV0IGVyckZvck1zZ0JveDpzdHJpbmcgPSBTdHJVdGlsLmdldE1zZ0JveEVyb3JTdHJpbmcodGhpcy5fdGV4dCk7XHJcbiAgICAgICAgbGV0IG1sc1RyYW5zVGV4dDogc3RyaW5nID0gIExhbmd1YWdlRGF0YS5JbnN0YW5jZS50cmFuc2xhdGUoZXJyRm9yTXNnQm94KTtcclxuICAgICAgICBsZXQgbWxzVHJhbnNUaXRsZTogUmVmUGFyYW08IHN0cmluZz4gPSBuZXcgUmVmUGFyYW0oTlN0cmluZy5FbXB0eSk7XHJcblxyXG4gICAgICAgIHRoaXMuUHJlcGFyZU1lc3NhZ2VCb3hGb3JEaXNwbGF5KHRhc2ssIG1sc1RyYW5zVGl0bGUsIHN0eWxlKTtcclxuICAgICAgICBsZXQgcmV0dXJuVmFsdWU6IG51bWJlciA9IGF3YWl0IEdVSU1hbmFnZXIuSW5zdGFuY2UuTWVzc2FnZUJveChtbHNUcmFuc1RpdGxlLnZhbHVlLCBtbHNUcmFuc1RleHQsIHN0eWxlLnZhbHVlKTtcclxuICAgICAgICBhd2FpdCB0aGlzLlByb2Nlc3NNZXNzYWdlQm94UmVzcG9uc2UodGFzaywgcmV0dXJuVmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGRpc3BsYXkgbWVzc2FnZSBvbiBzdGF0dXMgb25seSBpZiB3ZSBoYXZlIGEgdGFza1xyXG4gICAgICAvLyBCbGFuayBNZXNzYWdlIHdpbGwgbm90IGJlIHNob3duLCBzYW1lIGFzIGluIE9ubGluZVxyXG4gICAgICBlbHNlIGlmICh0aGlzLl9kaXNwbGF5ID09PSBDb25zdEludGVyZmFjZS5ESVNQTEFZX1NUQVRVUyAmJiB0YXNrICE9IG51bGwpIHtcclxuICAgICAgICB0YXNrLkRpc3BsYXlNZXNzYWdlVG9TdGF0dXNCYXIoZXJyRm9yQ29uc29sZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gUHJlcGFyZXMgdGhlIG1lc3NhZ2UgYm94J3Mgc3R5bGUgYW5kIHRpdGxlIGZvciBkaXNwbGF5LlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWxzVHJhbnNUaXRsZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic3R5bGVcIj48L3BhcmFtPlxyXG4gIFByZXBhcmVNZXNzYWdlQm94Rm9yRGlzcGxheSh0YXNrOiBUYXNrLCBtbHNUcmFuc1RpdGxlOiBSZWZQYXJhbTxzdHJpbmc+LCBzdHlsZTogUmVmUGFyYW08bnVtYmVyPik6IHZvaWQge1xyXG4gICAgbGV0IG9wdGlvbnM6IHN0cmluZyA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS5nZXRDb25zdE1lc3NhZ2UoTXNnSW50ZXJmYWNlLkJSS1RBQl9TVE9QX01PREVfVElUTEUpO1xyXG4gICAgdGhpcy5fdGl0bGUgPSBDb25zdFV0aWxzLmdldFN0cmluZ09mT3B0aW9uKG9wdGlvbnMsIFwiRVdcIiwgdGhpcy5fbW9kZSk7XHJcbiAgICBtbHNUcmFuc1RpdGxlLnZhbHVlID0gTGFuZ3VhZ2VEYXRhLkluc3RhbmNlLnRyYW5zbGF0ZSh0aGlzLl90aXRsZSk7XHJcblxyXG4gICAgLy8gYWRkIHRoZSBpY29uIGFjY29yZGluZyB0byB0aGUgbW9kZSA6aXMgRXJyb3IgXFwgV2FybmluZ1xyXG4gICAgc3R5bGUudmFsdWUgPSBTdHlsZXMuTVNHQk9YX0JVVFRPTl9PSyB8XHJcbiAgICAgICAgICAgICgodGhpcy5fbW9kZSA9PT0gJ0UnKVxyXG4gICAgICAgICAgICAgID8gU3R5bGVzLk1TR0JPWF9JQ09OX0VSUk9SXHJcbiAgICAgICAgICAgICAgOiBTdHlsZXMuTVNHQk9YX0lDT05fV0FSTklORyk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEhhbmRsZXMgdGhlIHJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIG1lc3NhZ2UgYm94LlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicmV0dXJuVmFsdWVcIj48L3BhcmFtPlxyXG4gIFByb2Nlc3NNZXNzYWdlQm94UmVzcG9uc2UodGFzazogVGFzaywgcmV0dXJuVmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy8gaW50ZW50aW9uYWxseSBsZWZ0IGVtcHR5LlxyXG4gIH1cclxuXHJcbiAgcHVibGljIEhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhdHRyaWJ1dGUpIHtcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX1RJVExFOlxyXG4gICAgICAgIHRoaXMuX3RpdGxlID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfQ0FMTElOR1RBU0s6XHJcbiAgICAgICAgdGhpcy5fY2FsbGluZ1Rhc2tUYWcgPSB2YWx1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9FUlJfTE9HX0FQUEVORDpcclxuICAgICAgICB0aGlzLl9lcnJMb2dBcHBlbmQgPSBYbWxQYXJzZXIuZ2V0Qm9vbGVhbih2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfVEVYVDpcclxuICAgICAgICB0aGlzLl90ZXh0ID0gWG1sUGFyc2VyLnVuZXNjYXBlKHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9ESVNQTEFZOlxyXG4gICAgICAgIHRoaXMuX2Rpc3BsYXkgPSB2YWx1ZVswXTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9NT0RFOlxyXG4gICAgICAgIHRoaXMuX21vZGUgPSB2YWx1ZVswXTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9BQ0s6XHJcbiAgICAgICAgdGhpcy5fc2VuZEFjayA9IChYbWxQYXJzZXIuZ2V0SW50KHZhbHVlKSAhPT0gMCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHN1cGVyLkhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGUsIHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVyaWZ5Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvVmVyaWZ5Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sYUFBYyxTQUFRLHlCQUF5QjtJQVMxRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBVEYsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFDdkMsV0FBTSxHQUFXLElBQUksQ0FBQztRQUNkLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLFVBQUssR0FBVyxJQUFJLENBQUM7UUFDckIsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixVQUFLLEdBQVcsSUFBSSxDQUFDO0lBSzdCLENBQUM7SUFNRCxLQUFLLENBQUMsT0FBTyxDQUFDLEdB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QWMsQ0FBQyxtQkFBbUI7Z0JBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixNQUFNO1lBRVIsS0FBSyxjQUFjLENBQUMsc0JBQXNCO2dCQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pELE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxZQUFZO2dCQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxlQUFlO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekIsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLFlBQVk7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0QixNQUFNO1lBRVIsS0FBSyxjQUFjLENBQUMsV0FBVztnQkFDN0IsTUFBTTtZQUVSO2dCQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlIH0gZnJvbSAnLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlJztcclxuaW1wb3J0IHsgSVJlc3VsdFZhbHVlIH0gZnJvbSAnLi4vLi4vcnQvSVJlc3VsdFZhbHVlJztcclxuaW1wb3J0IHsgTlN0cmluZywgUmVmUGFyYW0gfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHsgU3R5bGVzIH0gZnJvbSAnQG1hZ2ljLXhwYS9ndWknO1xyXG5pbXBvcnQgeyBMb2dnZXIsIE1zZ0ludGVyZmFjZSwgU3RyVXRpbCwgWG1sUGFyc2VyIH0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7IENvbnN0VXRpbHMgfSBmcm9tICcuLi8uLi91dGlsL0NvbnN0VXRpbHMnO1xyXG5pbXBvcnQgeyBDb25zdEludGVyZmFjZSB9IGZyb20gJy4uLy4uL0NvbnN0SW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VEYXRhIH0gZnJvbSAnLi4vLi4vZW52L0xhbmd1YWdlRGF0YSc7XHJcbmltcG9ydCB7IExhc3RGb2N1c2VkTWFuYWdlciB9IGZyb20gJy4uLy4uL3J0L0xhc3RGb2N1c2VkTWFuYWdlcic7XHJcbmltcG9ydCB7IEFjY2Vzc0hlbHBlciB9IGZyb20gJy4uLy4uL0FjY2Vzc0hlbHBlcic7XHJcbmltcG9ydCB7R1VJTWFuYWdlcn0gZnJvbSBcIi4uLy4uL0dVSU1hbmFnZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBWZXJpZnlDb21tYW5kIGV4dGVuZHMgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZSB7XHJcbiAgcHJpdmF0ZSBfY2FsbGluZ1Rhc2tUYWc6IHN0cmluZyA9IG51bGw7IC8vIGlzIHRoZSBpZCBvZiB0aGUgdGFzayB0aGF0IGNhbGxlZCB0aGUgbmV3IHdpbmRvd1xyXG4gIF90aXRsZTogc3RyaW5nID0gbnVsbDsgLy8gdGl0bGUgb2YgdmVyaWZ5IG9wclxyXG4gIHByaXZhdGUgX2VyckxvZ0FwcGVuZDogYm9vbGVhbiA9IGZhbHNlOyAvLyBhcHBlbmQgdG8gZXJyb3IgbG9nIGZvciB2ZXJpZnkgb3ByXHJcbiAgcHJpdmF0ZSBfdGV4dDogc3RyaW5nID0gbnVsbDsgLy8gdGhlIHZlcmlmeSBtZXNzYWdlXHJcbiAgcHJpdmF0ZSBfZGlzcGxheTogc3RyaW5nID0gJ1xcMCc7XHJcbiAgcHJpdmF0ZSBfbW9kZTogc3RyaW5nID0gJ1xcMCc7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJleHBcIj48L3BhcmFtPlxyXG4gIGFzeW5jIEV4ZWN1dGUocmVzOiBJUmVzdWx0VmFsdWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBlcnJGb3JDb25zb2xlID0gU3RyVXRpbC5nZXRDb25zb2xlRXJvclN0cmluZyh0aGlzLl90ZXh0KTtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gPFRhc2s+KEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLlRhc2tUYWcpIHx8IEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLl9jYWxsaW5nVGFza1RhZykpO1xyXG4gICAgaWYgKHRhc2sgPT09IG51bGwpXHJcbiAgICAgIHRhc2sgPSBMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuZ2V0TGFzdEZvY3VzZWRUYXNrKCk7XHJcblxyXG4gICAgLy8gSW4gb3JkZXIgdG8ga2VlcCB0aGUgYmVoYXZpb3Igc2FtZSBhcyBpbiBPbmxpbmUsIHZlcmlmeSBvcGVyYXRpb24gd2FybmluZyBtZXNzYWdlc1xyXG4gICAgLy8gd2lsbCBiZSB3cml0dGVuIGFzIGVycm9yIG1lc3NhZ2VzIGluIENsaWVudCBsb2cgKFFDUiAjOTE1MTIyKVxyXG4gICAgbGV0IGVyckxvZ0FwcGVuZDogYm9vbGVhbiA9IHRoaXMuX2VyckxvZ0FwcGVuZDtcclxuICAgIGlmIChlcnJMb2dBcHBlbmQpXHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhlcnJGb3JDb25zb2xlKTtcclxuXHJcbiAgICAvLyBCbGFuayBNZXNzYWdlIHdpbGwgbm90IGJlIHNob3duLCBzYW1lIGFzIGluIE9ubGluZVxyXG4gICAgaWYgKCFOU3RyaW5nLklzTnVsbE9yRW1wdHkodGhpcy5fdGV4dCkpIHtcclxuICAgICAgaWYgKHRoaXMuX2Rpc3BsYXkgPT09IENvbnN0SW50ZXJmYWNlLkRJU1BMQVlfQk9YKSB7XHJcbiAgICAgICAgbGV0IHN0eWxlOiBSZWZQYXJhbTxudW1iZXI+ID0gbmV3IFJlZlBhcmFtKDApO1xyXG5cclxuICAgICAgICAvLyBvbiB2ZXJpZnkgYm94LCBzaG93IHRyYW5zbGF0ZWQgdmFsdWUuIChzdGF0dXMgaXMgaGFuZGxlZCBpbiBwcm9wZXJ0eSkuXHJcbiAgICAgICAgbGV0IGVyckZvck1zZ0JveDogc3RyaW5nID0gU3RyVXRpbC5nZXRNc2dCb3hFcm9yU3RyaW5nKHRoaXMuX3RleHQpO1xyXG4gICAgICAgIGxldCBtbHNUcmFuc1RleHQ6IHN0cmluZyA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS50cmFuc2xhdGUoZXJyRm9yTXNnQm94KTtcclxuICAgICAgICBsZXQgbWxzVHJhbnNUaXRsZTogUmVmUGFyYW08c3RyaW5nPiA9IG5ldyBSZWZQYXJhbShOU3RyaW5nLkVtcHR5KTtcclxuXHJcbiAgICAgICAgdGhpcy5QcmVwYXJlTWVzc2FnZUJveEZvckRpc3BsYXkodGFzaywgbWxzVHJhbnNUaXRsZSwgc3R5bGUpO1xyXG4gICAgICAgIGxldCByZXR1cm5WYWx1ZTogbnVtYmVyID0gYXdhaXQgR1VJTWFuYWdlci5JbnN0YW5jZS5NZXNzYWdlQm94KG1sc1RyYW5zVGl0bGUudmFsdWUsIG1sc1RyYW5zVGV4dCwgc3R5bGUudmFsdWUpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuUHJvY2Vzc01lc3NhZ2VCb3hSZXNwb25zZSh0YXNrLCByZXR1cm5WYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gZGlzcGxheSBtZXNzYWdlIG9uIHN0YXR1cyBvbmx5IGlmIHdlIGhhdmUgYSB0YXNrXHJcbiAgICAgIC8vIEJsYW5rIE1lc3NhZ2Ugd2lsbCBub3QgYmUgc2hvd24sIHNhbWUgYXMgaW4gT25saW5lXHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2Rpc3BsYXkgPT09IENvbnN0SW50ZXJmYWNlLkRJU1BMQVlfU1RBVFVTICYmIHRhc2sgIT0gbnVsbCkge1xyXG4gICAgICAgIHRhc2suRGlzcGxheU1lc3NhZ2VUb1N0YXR1c0JhcihlcnJGb3JDb25zb2xlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBQcmVwYXJlcyB0aGUgbWVzc2FnZSBib3gncyBzdHlsZSBhbmQgdGl0bGUgZm9yIGRpc3BsYXkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJtbHNUcmFuc1RpdGxlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdHlsZVwiPjwvcGFyYW0+XHJcbiAgUHJlcGFyZU1lc3NhZ2VCb3hGb3JEaXNwbGF5KHRhc2s6IFRhc2ssIG1sc1RyYW5zVGl0bGU6IFJlZlBhcmFtPHN0cmluZz4sIHN0eWxlOiBSZWZQYXJhbTxudW1iZXI+KTogdm9pZCB7XHJcbiAgICBsZXQgb3B0aW9uczogc3RyaW5nID0gTGFuZ3VhZ2VEYXRhLkluc3RhbmNlLmdldENvbnN0TWVzc2FnZShNc2dJbnRlcmZhY2UuQlJLVEFCX1NUT1BfTU9ERV9USVRMRSk7XHJcbiAgICB0aGlzLl90aXRsZSA9IENvbnN0VXRpbHMuZ2V0U3RyaW5nT2ZPcHRpb24ob3B0aW9ucywgXCJFV1wiLCB0aGlzLl9tb2RlKTtcclxuICAgIG1sc1RyYW5zVGl0bGUudmFsdWUgPSBMYW5ndWFnZURhdGEuSW5zdGFuY2UudHJhbnNsYXRlKHRoaXMuX3RpdGxlKTtcclxuXHJcbiAgICAvLyBhZGQgdGhlIGljb24gYWNjb3JkaW5nIHRvIHRoZSBtb2RlIDppcyBFcnJvciBcXCBXYXJuaW5nXHJcbiAgICBzdHlsZS52YWx1ZSA9IFN0eWxlcy5NU0dCT1hfQlVUVE9OX09LIHxcclxuICAgICAgKCh0aGlzLl9tb2RlID09PSAnRScpXHJcbiAgICAgICAgPyBTdHlsZXMuTVNHQk9YX0lDT05fRVJST1JcclxuICAgICAgICA6IFN0eWxlcy5NU0dCT1hfSUNPTl9XQVJOSU5HKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSGFuZGxlcyB0aGUgcmVzcG9uc2UgcmVjZWl2ZWQgZnJvbSB0aGUgbWVzc2FnZSBib3guXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJyZXR1cm5WYWx1ZVwiPjwvcGFyYW0+XHJcbiAgUHJvY2Vzc01lc3NhZ2VCb3hSZXNwb25zZSh0YXNrOiBUYXNrLCByZXR1cm5WYWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAvLyBpbnRlbnRpb25hbGx5IGxlZnQgZW1wdHkuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSGFuZGxlQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBzd2l0Y2ggKGF0dHJpYnV0ZSkge1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfVElUTEU6XHJcbiAgICAgICAgdGhpcy5fdGl0bGUgPSB2YWx1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9DQUxMSU5HVEFTSzpcclxuICAgICAgICB0aGlzLl9jYWxsaW5nVGFza1RhZyA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0VSUl9MT0dfQVBQRU5EOlxyXG4gICAgICAgIHRoaXMuX2VyckxvZ0FwcGVuZCA9IFhtbFBhcnNlci5nZXRCb29sZWFuKHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9URVhUOlxyXG4gICAgICAgIHRoaXMuX3RleHQgPSBYbWxQYXJzZXIudW5lc2NhcGUodmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0RJU1BMQVk6XHJcbiAgICAgICAgdGhpcy5fZGlzcGxheSA9IHZhbHVlWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX01PREU6XHJcbiAgICAgICAgdGhpcy5fbW9kZSA9IHZhbHVlWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0FDSzpcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgc3VwZXIuSGFuZGxlQXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -14,4 +14,4 @@ export class InteractiveCommunicationsFailureHandler {
14
14
  this.ShouldRetryLastRequest = (await GUIManager.Instance.MessageBox(exceptionCaption, exceptionMessage + "Do you wish to retry connecting?", Styles.MSGBOX_BUTTON_YES_NO) === Styles.MSGBOX_RESULT_YES);
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tdW5pY2F0aW9ucy9JbnRlcmFjdGl2ZUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBVyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBT3pDLE1BQU0sT0FBTyx1Q0FBdUM7SUFBcEQ7UUFDRSwyQkFBc0IsR0FBWSxLQUFLLENBQUM7SUF1QjFDLENBQUM7SUFyQkMsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLEdBQVcsRUFBRSxFQUFTO1FBRXJELElBQUksZ0JBQWdCLEdBQVcsRUFBRSxDQUFDO1FBUWxDLElBQUksZ0JBQWdCLEdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFFMUosSUFBSSxDQUFDLHNCQUFzQixHQUFHLENBQUMsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDbEYsZ0JBQWdCLEdBQUcsa0NBQWtDLEVBQ3JELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBRSxLQUFLLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T1NFbnZpcm9ubWVudH0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtDb21tYW5kcywgU3R5bGVzfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtJQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlcn0gZnJvbSBcIi4uL2h0dHAvY2xpZW50L0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyXCI7XHJcbmltcG9ydCB7R1VJTWFuYWdlcn0gZnJvbSBcIi4uL0dVSU1hbmFnZXJcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIFRoaXMgaXMgdGhlIGhhbmRsZXIgZm9yIGNvbW11bmljYXRpb25zIHRoYXQgd2lsbCBiZSB1c2VkIGluIG1vc3QgY2FzZXMuIFRoaXNcclxuLy8vIGltcGxlbWVudGF0aW9uIHNob3dzIGEgZGlhbG9nIHRoYXQgYXNrcyB0aGUgdXNlciB3aGV0aGVyIHRvIHJldHJ5IHRoZSBsYXN0XHJcbi8vLyBjb21tdW5pY2F0aW9ucyBhdHRlbXB0IG9yIG5vdCBhbmQgc2V0cyB0aGUgU2hvdWxkUmV0cnlMYXN0UmVxdWVzdCBhY2NvcmRpbmdseS5cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlciBpbXBsZW1lbnRzIElDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyIHtcclxuICBTaG91bGRSZXRyeUxhc3RSZXF1ZXN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBTaG93Q29tbXVuaWNhdGlvbkVycm9ycygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIENvbW11bmljYXRpb25GYWlsZWQodXJsOiBzdHJpbmcsIGV4OiBFcnJvcik6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIGxldCBleGNlcHRpb25DYXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgLy8gVE9ETyA6IEZpbmQgb3V0IGhvdyB0byBnZXQgY2FwdGlvblxyXG4gICAgLy8gbGV0IGV4Y2VwdGlvbkNhcHRpb246IHN0cmluZyA9IE5TdHJpbmcuRm9ybWF0KFwiezB9IHsxfVwiLFxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZVRpbWVVdGlscy5Ub1N0cmluZyhEYXRlVGltZS5Ob3csXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTENvbnN0YW50cy5IVFRQX0VSUk9SX1RJTUVfRk9STUFUKSxcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleC5Jbm5lckV4Y2VwdGlvbiAhPSBudWxsID8gZXguSW5uZXJFeGNlcHRpb24uR2V0VHlwZSgpIDogZXguR2V0VHlwZSgpKS5OYW1lKTtcclxuXHJcblxyXG4gICAgbGV0IGV4Y2VwdGlvbk1lc3NhZ2U6IHN0cmluZyA9IHVybC5zcGxpdCgnPycpWzBdICsgT1NFbnZpcm9ubWVudC5Fb2xTZXEgKyBPU0Vudmlyb25tZW50LkVvbFNlcSArIGV4Lm1lc3NhZ2UgKyBPU0Vudmlyb25tZW50LkVvbFNlcSArIE9TRW52aXJvbm1lbnQuRW9sU2VxO1xyXG5cclxuICAgIHRoaXMuU2hvdWxkUmV0cnlMYXN0UmVxdWVzdCA9IChhd2FpdCBHVUlNYW5hZ2VyLkluc3RhbmNlLk1lc3NhZ2VCb3goZXhjZXB0aW9uQ2FwdGlvbixcclxuICAgICAgZXhjZXB0aW9uTWVzc2FnZSArIFwiRG8geW91IHdpc2ggdG8gcmV0cnkgY29ubmVjdGluZz9cIixcclxuICAgICAgU3R5bGVzLk1TR0JPWF9CVVRUT05fWUVTX05PICkgPT09IFN0eWxlcy5NU0dCT1hfUkVTVUxUX1lFUyk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tdW5pY2F0aW9ucy9JbnRlcmFjdGl2ZUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBT3pDLE1BQU0sT0FBTyx1Q0FBdUM7SUFBcEQ7UUFDRSwyQkFBc0IsR0FBWSxLQUFLLENBQUM7SUF1QjFDLENBQUM7SUFyQkMsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLEdBQVcsRUFBRSxFQUFTO1FBRXJELElBQUksZ0JBQWdCLEdBQVcsRUFBRSxDQUFDO1FBUWxDLElBQUksZ0JBQWdCLEdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFFMUosSUFBSSxDQUFDLHNCQUFzQixHQUFHLENBQUMsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDbEYsZ0JBQWdCLEdBQUcsa0NBQWtDLEVBQ3JELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBRSxLQUFLLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T1NFbnZpcm9ubWVudH0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtTdHlsZXN9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyfSBmcm9tIFwiLi4vaHR0cC9jbGllbnQvSUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXJcIjtcclxuaW1wb3J0IHtHVUlNYW5hZ2VyfSBmcm9tIFwiLi4vR1VJTWFuYWdlclwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gVGhpcyBpcyB0aGUgaGFuZGxlciBmb3IgY29tbXVuaWNhdGlvbnMgdGhhdCB3aWxsIGJlIHVzZWQgaW4gbW9zdCBjYXNlcy4gVGhpc1xyXG4vLy8gaW1wbGVtZW50YXRpb24gc2hvd3MgYSBkaWFsb2cgdGhhdCBhc2tzIHRoZSB1c2VyIHdoZXRoZXIgdG8gcmV0cnkgdGhlIGxhc3RcclxuLy8vIGNvbW11bmljYXRpb25zIGF0dGVtcHQgb3Igbm90IGFuZCBzZXRzIHRoZSBTaG91bGRSZXRyeUxhc3RSZXF1ZXN0IGFjY29yZGluZ2x5LlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgSW50ZXJhY3RpdmVDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyIGltcGxlbWVudHMgSUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIge1xyXG4gIFNob3VsZFJldHJ5TGFzdFJlcXVlc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZ2V0IFNob3dDb21tdW5pY2F0aW9uRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgQ29tbXVuaWNhdGlvbkZhaWxlZCh1cmw6IHN0cmluZywgZXg6IEVycm9yKTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG4gICAgbGV0IGV4Y2VwdGlvbkNhcHRpb246IHN0cmluZyA9IFwiXCI7XHJcbiAgICAvLyBUT0RPIDogRmluZCBvdXQgaG93IHRvIGdldCBjYXB0aW9uXHJcbiAgICAvLyBsZXQgZXhjZXB0aW9uQ2FwdGlvbjogc3RyaW5nID0gTlN0cmluZy5Gb3JtYXQoXCJ7MH0gezF9XCIsXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRlVGltZVV0aWxzLlRvU3RyaW5nKERhdGVUaW1lLk5vdyxcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MQ29uc3RhbnRzLkhUVFBfRVJST1JfVElNRV9GT1JNQVQpLFxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4LklubmVyRXhjZXB0aW9uICE9IG51bGwgPyBleC5Jbm5lckV4Y2VwdGlvbi5HZXRUeXBlKCkgOiBleC5HZXRUeXBlKCkpLk5hbWUpO1xyXG5cclxuXHJcbiAgICBsZXQgZXhjZXB0aW9uTWVzc2FnZTogc3RyaW5nID0gdXJsLnNwbGl0KCc/JylbMF0gKyBPU0Vudmlyb25tZW50LkVvbFNlcSArIE9TRW52aXJvbm1lbnQuRW9sU2VxICsgZXgubWVzc2FnZSArIE9TRW52aXJvbm1lbnQuRW9sU2VxICsgT1NFbnZpcm9ubWVudC5Fb2xTZXE7XHJcblxyXG4gICAgdGhpcy5TaG91bGRSZXRyeUxhc3RSZXF1ZXN0ID0gKGF3YWl0IEdVSU1hbmFnZXIuSW5zdGFuY2UuTWVzc2FnZUJveChleGNlcHRpb25DYXB0aW9uLFxyXG4gICAgICBleGNlcHRpb25NZXNzYWdlICsgXCJEbyB5b3Ugd2lzaCB0byByZXRyeSBjb25uZWN0aW5nP1wiLFxyXG4gICAgICBTdHlsZXMuTVNHQk9YX0JVVFRPTl9ZRVNfTk8gKSA9PT0gU3R5bGVzLk1TR0JPWF9SRVNVTFRfWUVTKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==