@magic-xpa/gui 4.801.0-dev481.242 → 4.801.0-dev481.248

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 (97) hide show
  1. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  2. package/{esm2015/magic-xpa-gui.js → esm2020/magic-xpa-gui.mjs} +0 -0
  3. package/esm2020/src/Commands.mjs +186 -0
  4. package/{esm2015/src/Events.js → esm2020/src/Events.mjs} +0 -0
  5. package/{esm2015/src/EventsProcessor.js → esm2020/src/EventsProcessor.mjs} +0 -0
  6. package/esm2020/src/FocusManager.mjs +34 -0
  7. package/{esm2015/src/GuiConstants.js → esm2020/src/GuiConstants.mjs} +0 -0
  8. package/{esm2015/src/GuiEnums.js → esm2020/src/GuiEnums.mjs} +0 -0
  9. package/{esm2015/src/GuiEnvironment.js → esm2020/src/GuiEnvironment.mjs} +0 -0
  10. package/{esm2015/src/IFlowMonitorQueue.js → esm2020/src/IFlowMonitorQueue.mjs} +1 -0
  11. package/esm2020/src/Manager.mjs +192 -0
  12. package/{esm2015/src/UIBridge.js → esm2020/src/UIBridge.mjs} +0 -0
  13. package/{esm2015/src/env/IEnvironment.js → esm2020/src/env/IEnvironment.mjs} +1 -0
  14. package/{esm2015/src/gui/ControlBase.js → esm2020/src/gui/ControlBase.mjs} +0 -0
  15. package/{esm2015/src/gui/GuiMgControl.js → esm2020/src/gui/GuiMgControl.mjs} +0 -0
  16. package/{esm2015/src/gui/GuiMgForm.js → esm2020/src/gui/GuiMgForm.mjs} +0 -0
  17. package/{esm2015/src/gui/KeyboardItem.js → esm2020/src/gui/KeyboardItem.mjs} +0 -0
  18. package/{esm2015/src/gui/LastFocusedVal.js → esm2020/src/gui/LastFocusedVal.mjs} +0 -0
  19. package/{esm2015/src/gui/MgValue.js → esm2020/src/gui/MgValue.mjs} +0 -0
  20. package/{esm2015/src/gui/PropParentInterface.js → esm2020/src/gui/PropParentInterface.mjs} +1 -0
  21. package/{esm2015/src/gui/low/DialogHandler.js → esm2020/src/gui/low/DialogHandler.mjs} +0 -0
  22. package/{esm2015/src/gui/low/GuiCommand.js → esm2020/src/gui/low/GuiCommand.mjs} +0 -0
  23. package/{esm2015/src/gui/low/GuiCommandQueue.js → esm2020/src/gui/low/GuiCommandQueue.mjs} +0 -0
  24. package/{esm2015/src/gui/low/GuiInteractive.js → esm2020/src/gui/low/GuiInteractive.mjs} +0 -0
  25. package/{esm2015/src/gui/low/Style.js → esm2020/src/gui/low/Style.mjs} +0 -0
  26. package/{esm2015/src/management/RuntimeContextBase.js → esm2020/src/management/RuntimeContextBase.mjs} +0 -0
  27. package/{esm2015/src/management/data/BlobType.js → esm2020/src/management/data/BlobType.mjs} +0 -0
  28. package/{esm2015/src/management/data/DcValues.js → esm2020/src/management/data/DcValues.mjs} +0 -0
  29. package/{esm2015/src/management/data/DcValuesBuilderBase.js → esm2020/src/management/data/DcValuesBuilderBase.mjs} +0 -0
  30. package/{esm2015/src/management/data/FieldDef.js → esm2020/src/management/data/FieldDef.mjs} +0 -0
  31. package/{esm2015/src/management/data/FieldsTable.js → esm2020/src/management/data/FieldsTable.mjs} +0 -0
  32. package/{esm2015/src/management/data/GuiDataViewBase.js → esm2020/src/management/data/GuiDataViewBase.mjs} +0 -0
  33. package/esm2020/src/management/data/GuiFieldBase.mjs +82 -0
  34. package/{esm2015/src/management/data/IRecord.js → esm2020/src/management/data/IRecord.mjs} +1 -0
  35. package/{esm2015/src/management/data/IReferencedObject.js → esm2020/src/management/data/IReferencedObject.mjs} +1 -0
  36. package/{esm2015/src/management/data/NUM_TYPE.js → esm2020/src/management/data/NUM_TYPE.mjs} +0 -0
  37. package/{esm2015/src/management/data/ObjectReferenceBase.js → esm2020/src/management/data/ObjectReferenceBase.mjs} +0 -0
  38. package/{esm2015/src/management/data/ObjectReferencesCollection.js → esm2020/src/management/data/ObjectReferencesCollection.mjs} +0 -0
  39. package/{esm2015/src/management/data/RecordUtils.js → esm2020/src/management/data/RecordUtils.mjs} +0 -0
  40. package/{esm2015/src/management/data/VectorType.js → esm2020/src/management/data/VectorType.mjs} +0 -0
  41. package/{esm2015/src/management/data/VectorTypeBase.js → esm2020/src/management/data/VectorTypeBase.mjs} +0 -0
  42. package/{esm2015/src/management/events/IActionManager.js → esm2020/src/management/events/IActionManager.mjs} +1 -0
  43. package/{esm2015/src/management/events/IGuiEventsManager.js → esm2020/src/management/events/IGuiEventsManager.mjs} +1 -0
  44. package/{esm2015/src/management/exp/ExpressionInterface.js → esm2020/src/management/exp/ExpressionInterface.mjs} +0 -0
  45. package/{esm2015/src/management/exp/GuiExpressionEvaluator.js → esm2020/src/management/exp/GuiExpressionEvaluator.mjs} +0 -0
  46. package/{esm2015/src/management/gui/ControlTable.js → esm2020/src/management/gui/ControlTable.mjs} +0 -0
  47. package/{esm2015/src/management/gui/DisplayConvertor.js → esm2020/src/management/gui/DisplayConvertor.mjs} +0 -0
  48. package/{esm2015/src/management/gui/FieldValidator.js → esm2020/src/management/gui/FieldValidator.mjs} +0 -0
  49. package/esm2020/src/management/gui/GuiControlPropertyAdapter.mjs +22 -0
  50. package/{esm2015/src/management/gui/GuiFormPropertyAdapter.js → esm2020/src/management/gui/GuiFormPropertyAdapter.mjs} +0 -0
  51. package/{esm2015/src/management/gui/HebrewDate.js → esm2020/src/management/gui/HebrewDate.mjs} +0 -0
  52. package/{esm2015/src/management/gui/Helps.js → esm2020/src/management/gui/Helps.mjs} +0 -0
  53. package/esm2020/src/management/gui/MgControlBase.mjs +1873 -0
  54. package/esm2020/src/management/gui/MgFormBase.mjs +748 -0
  55. package/{esm2015/src/management/gui/PIC.js → esm2020/src/management/gui/PIC.mjs} +0 -0
  56. package/{esm2015/src/management/gui/PropDefaults.js → esm2020/src/management/gui/PropDefaults.mjs} +0 -0
  57. package/{esm2015/src/management/gui/PropInterface.js → esm2020/src/management/gui/PropInterface.mjs} +0 -0
  58. package/esm2020/src/management/gui/PropTable.mjs +221 -0
  59. package/esm2020/src/management/gui/Property.mjs +1382 -0
  60. package/{esm2015/src/management/gui/ValidationDetails.js → esm2020/src/management/gui/ValidationDetails.mjs} +0 -0
  61. package/{esm2015/src/management/gui/ValidationDetailsBase.js → esm2020/src/management/gui/ValidationDetailsBase.mjs} +0 -0
  62. package/{esm2015/src/management/gui/WrongFormatException.js → esm2020/src/management/gui/WrongFormatException.mjs} +0 -0
  63. package/{esm2015/src/management/tasks/GuiDataCollection.js → esm2020/src/management/tasks/GuiDataCollection.mjs} +0 -0
  64. package/esm2020/src/management/tasks/GuiTaskBase.mjs +502 -0
  65. package/{esm2015/src/management/tasks/IMGDataTable.js → esm2020/src/management/tasks/IMGDataTable.mjs} +1 -0
  66. package/{esm2015/src/management/tasks/ITask.js → esm2020/src/management/tasks/ITask.mjs} +1 -0
  67. package/{esm2015/src/management/tasks/MgTimer.js → esm2020/src/management/tasks/MgTimer.mjs} +0 -0
  68. package/{esm2015/src/management/tasks/TaskDefinitionId.js → esm2020/src/management/tasks/TaskDefinitionId.mjs} +0 -0
  69. package/esm2020/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +41 -0
  70. package/{esm2015/src/util/AuthenticationDialogHandler.js → esm2020/src/util/AuthenticationDialogHandler.mjs} +0 -0
  71. package/{esm2015/src/util/MemoryUtil.js → esm2020/src/util/MemoryUtil.mjs} +0 -0
  72. package/{esm2015/src/util/ObjectReference.js → esm2020/src/util/ObjectReference.mjs} +0 -0
  73. package/{esm2015/src/util/ProcessLauncher.js → esm2020/src/util/ProcessLauncher.mjs} +0 -0
  74. package/{esm2015/src/util/UsernamePasswordCredentials.js → esm2020/src/util/UsernamePasswordCredentials.mjs} +0 -0
  75. package/fesm2015/{magic-xpa-gui.js → magic-xpa-gui.mjs} +51 -6
  76. package/fesm2015/magic-xpa-gui.mjs.map +1 -0
  77. package/fesm2020/magic-xpa-gui.mjs +17805 -0
  78. package/fesm2020/magic-xpa-gui.mjs.map +1 -0
  79. package/package.json +27 -14
  80. package/src/management/gui/GuiControlPropertyAdapter.d.ts +6 -6
  81. package/src/management/tasks/GuiTaskBase.d.ts +1 -1
  82. package/bundles/magic-xpa-gui.umd.js +0 -19344
  83. package/bundles/magic-xpa-gui.umd.js.map +0 -1
  84. package/bundles/magic-xpa-gui.umd.min.js +0 -16
  85. package/bundles/magic-xpa-gui.umd.min.js.map +0 -1
  86. package/esm2015/src/Commands.js +0 -189
  87. package/esm2015/src/FocusManager.js +0 -41
  88. package/esm2015/src/Manager.js +0 -197
  89. package/esm2015/src/management/data/GuiFieldBase.js +0 -85
  90. package/esm2015/src/management/gui/GuiControlPropertyAdapter.js +0 -4
  91. package/esm2015/src/management/gui/MgControlBase.js +0 -1979
  92. package/esm2015/src/management/gui/MgFormBase.js +0 -763
  93. package/esm2015/src/management/gui/PropTable.js +0 -224
  94. package/esm2015/src/management/gui/Property.js +0 -1402
  95. package/esm2015/src/management/tasks/GuiTaskBase.js +0 -506
  96. package/esm2015/src/management/tasks/TaskDefinitionIdTableSaxHandler.js +0 -41
  97. package/fesm2015/magic-xpa-gui.js.map +0 -1
@@ -1,41 +0,0 @@
1
- import { JSON_Utils, XMLConstants } from "@magic-xpa/utils";
2
- import { TaskDefinitionId } from "./TaskDefinitionId";
3
- import { Events } from "../../Events";
4
- import { isNullOrUndefined } from "util";
5
- export class TaskDefinitionIdTableSaxHandler {
6
- constructor(newTaskDefintionIdHandler) {
7
- this._newTaskDefinitionIdHandler = null;
8
- this._newTaskDefinitionIdHandler = newTaskDefintionIdHandler;
9
- }
10
- parse(xmlSerializedTaskDefinitionsTable) {
11
- try {
12
- if (xmlSerializedTaskDefinitionsTable !== null) {
13
- JSON_Utils.JSONFromXML(xmlSerializedTaskDefinitionsTable, this.ParseJSON.bind(this));
14
- }
15
- }
16
- catch (ex) {
17
- Events.WriteExceptionToLog(ex);
18
- }
19
- }
20
- ParseJSON(error, result) {
21
- if (error != null) {
22
- throw error;
23
- }
24
- let ctlIndex = 0;
25
- let isPrg = false;
26
- let prgIsn = 0;
27
- let taskIsn = 0;
28
- let taskDefId = result['taskDefinitionId']['$'];
29
- if (!isNullOrUndefined(taskDefId[XMLConstants.MG_ATTR_CTL_IDX]))
30
- ctlIndex = +taskDefId[XMLConstants.MG_ATTR_CTL_IDX];
31
- if (!isNullOrUndefined(taskDefId[XMLConstants.MG_ATTR_PROGRAM_ISN]))
32
- prgIsn = +taskDefId[XMLConstants.MG_ATTR_PROGRAM_ISN];
33
- if (!isNullOrUndefined(taskDefId[XMLConstants.MG_ATTR_TASK_ISN]))
34
- taskIsn = +taskDefId[XMLConstants.MG_ATTR_TASK_ISN];
35
- if (!isNullOrUndefined(taskDefId[XMLConstants.MG_ATTR_ISPRG]))
36
- isPrg = taskDefId[XMLConstants.MG_ATTR_ISPRG] === '1';
37
- let taskDefinitionId = new TaskDefinitionId(ctlIndex, prgIsn, taskIsn, isPrg);
38
- this._newTaskDefinitionIdHandler(taskDefinitionId);
39
- }
40
- }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza0RlZmluaXRpb25JZFRhYmxlU2F4SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvbWFuYWdlbWVudC90YXNrcy9UYXNrRGVmaW5pdGlvbklkVGFibGVTYXhIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNekMsTUFBTSxPQUFPLCtCQUErQjtJQU0xQyxZQUFZLHlCQUF1RTtRQUZsRSxnQ0FBMkIsR0FBaUQsSUFBSSxDQUFDO1FBR2hHLElBQUksQ0FBQywyQkFBMkIsR0FBRyx5QkFBeUIsQ0FBQztJQUMvRCxDQUFDO0lBTUQsS0FBSyxDQUFFLGlDQUF5QztRQUM5QyxJQUFJO1lBQ0YsSUFBSSxpQ0FBaUMsS0FBSyxJQUFJLEVBQUU7Z0JBQzlDLFVBQVUsQ0FBQyxXQUFXLENBQUMsaUNBQWlDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUN0RjtTQUNGO1FBQ0QsT0FBTyxFQUFFLEVBQUU7WUFDVCxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFFLEtBQUssRUFBRSxNQUFNO1FBRzlCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNqQixNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksS0FBSyxHQUFZLEtBQUssQ0FBQztRQUMzQixJQUFJLE1BQU0sR0FBVyxDQUFDLENBQUM7UUFDdkIsSUFBSSxPQUFPLEdBQVcsQ0FBQyxDQUFDO1FBRXhCLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzdELFFBQVEsR0FBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFdEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNqRSxNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM5RCxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFdEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDM0QsS0FBSyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxDQUFDO1FBRXhELElBQUksZ0JBQWdCLEdBQXFCLElBQUksZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSlNPTl9VdGlscywgWE1MQ29uc3RhbnRzIH0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHsgVGFza0RlZmluaXRpb25JZCB9IGZyb20gXCIuL1Rhc2tEZWZpbml0aW9uSWRcIjtcclxuaW1wb3J0IHsgRXZlbnRzIH0gZnJvbSBcIi4uLy4uL0V2ZW50c1wiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJ1dGlsXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBIYW5kbGVyIGZvciBwYXJzaW5nIFhNTCBzZXJpYWxpemVkIFRhc2tEZWZpbml0aW9uSWQgKFRESUQpIHRhYmxlLiBUaGUgcGFyc2VyIHdpbGwgcGFyc2UgYWxsXHJcbi8vLyBURElEIGVudHJpZXMsIGludm9raW5nIGFuIGFzc2lnbmVkIGRlbGVnYXRlIGZvciBlYWNoIG9uZSBpdCBwYXJzZXMuXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBUYXNrRGVmaW5pdGlvbklkVGFibGVTYXhIYW5kbGVyIHtcclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEhhbmRsZXIgdG8gYmUgaW52b2tlZCBhZnRlciBwYXJzaW5nIGVhY2ggVERJRCBlbnRyeS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX25ld1Rhc2tEZWZpbml0aW9uSWRIYW5kbGVyOiAodGFza0RlZmluaXRpb25JZDogVGFza0RlZmluaXRpb25JZCkgPT4gdm9pZCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG5ld1Rhc2tEZWZpbnRpb25JZEhhbmRsZXI6ICh0YXNrRGVmaW5pdGlvbklkOiBUYXNrRGVmaW5pdGlvbklkKSA9PiB2b2lkKSB7XHJcbiAgICB0aGlzLl9uZXdUYXNrRGVmaW5pdGlvbklkSGFuZGxlciA9IG5ld1Rhc2tEZWZpbnRpb25JZEhhbmRsZXI7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHBhcnNlIHRoZSBzdXBwbGllZCBidWZmZXIgdXNpbmcgdGhlIHByZXZpb3VzbHkgc3VwcGxpZWQgaGFuZGxlclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwieG1sU2VyaWFsaXplZFRhc2tEZWZpbml0aW9uc1RhYmxlXCI+PC9wYXJhbT5cclxuICBwYXJzZSAoeG1sU2VyaWFsaXplZFRhc2tEZWZpbml0aW9uc1RhYmxlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmICh4bWxTZXJpYWxpemVkVGFza0RlZmluaXRpb25zVGFibGUgIT09IG51bGwpIHtcclxuICAgICAgICBKU09OX1V0aWxzLkpTT05Gcm9tWE1MKHhtbFNlcmlhbGl6ZWRUYXNrRGVmaW5pdGlvbnNUYWJsZSwgdGhpcy5QYXJzZUpTT04uYmluZCh0aGlzKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgICBFdmVudHMuV3JpdGVFeGNlcHRpb25Ub0xvZyhleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFBhcnNlSlNPTiAoZXJyb3IsIHJlc3VsdCk6IHZvaWQge1xyXG5cclxuICAgIC8vIElmIHRoZXJlIHdhcyBhbiBlcnJvciBpbiBwYXJzaW5nIHRoZSBYTUwsXHJcbiAgICBpZiAoZXJyb3IgIT0gbnVsbCkge1xyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY3RsSW5kZXg6IG51bWJlciA9IDA7XHJcbiAgICBsZXQgaXNQcmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGxldCBwcmdJc246IG51bWJlciA9IDA7XHJcbiAgICBsZXQgdGFza0lzbjogbnVtYmVyID0gMDtcclxuXHJcbiAgICBsZXQgdGFza0RlZklkID0gcmVzdWx0Wyd0YXNrRGVmaW5pdGlvbklkJ11bJyQnXTtcclxuXHJcbiAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9DVExfSURYXSkpXHJcbiAgICAgIGN0bEluZGV4ID0gK3Rhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9DVExfSURYXTtcclxuXHJcbiAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9QUk9HUkFNX0lTTl0pKVxyXG4gICAgICBwcmdJc24gPSArdGFza0RlZklkW1hNTENvbnN0YW50cy5NR19BVFRSX1BST0dSQU1fSVNOXTtcclxuXHJcbiAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9UQVNLX0lTTl0pKVxyXG4gICAgICB0YXNrSXNuID0gK3Rhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9UQVNLX0lTTl07XHJcblxyXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZCh0YXNrRGVmSWRbWE1MQ29uc3RhbnRzLk1HX0FUVFJfSVNQUkddKSlcclxuICAgICAgaXNQcmcgPSB0YXNrRGVmSWRbWE1MQ29uc3RhbnRzLk1HX0FUVFJfSVNQUkddID09PSAnMSc7XHJcblxyXG4gICAgbGV0IHRhc2tEZWZpbml0aW9uSWQ6IFRhc2tEZWZpbml0aW9uSWQgPSBuZXcgVGFza0RlZmluaXRpb25JZChjdGxJbmRleCwgcHJnSXNuLCB0YXNrSXNuLCBpc1ByZyk7XHJcbiAgICB0aGlzLl9uZXdUYXNrRGVmaW5pdGlvbklkSGFuZGxlcih0YXNrRGVmaW5pdGlvbklkKTtcclxuICB9XHJcbn1cclxuIl19