@magic-xpa/gui 4.1100.0-dev4110.106 → 4.1100.0-dev4110.107

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 (148) hide show
  1. package/README.md +7 -7
  2. package/esm2020/index.mjs +71 -2
  3. package/esm2020/src/Commands.mjs +184 -0
  4. package/esm2020/src/Events.mjs +420 -0
  5. package/esm2020/src/EventsProcessor.mjs +67 -0
  6. package/esm2020/src/FocusManager.mjs +34 -0
  7. package/esm2020/src/GuiConstants.mjs +68 -0
  8. package/esm2020/src/GuiEnums.mjs +300 -0
  9. package/esm2020/src/GuiEnvironment.mjs +4 -0
  10. package/esm2020/src/IFlowMonitorQueue.mjs +2 -0
  11. package/esm2020/src/Manager.mjs +91 -0
  12. package/esm2020/src/UIBridge.mjs +32 -0
  13. package/esm2020/src/env/IEnvironment.mjs +2 -0
  14. package/esm2020/src/gui/ControlBase.mjs +3 -0
  15. package/esm2020/src/gui/GuiMgControl.mjs +125 -0
  16. package/esm2020/src/gui/GuiMgForm.mjs +4 -0
  17. package/esm2020/src/gui/KeyboardItem.mjs +135 -0
  18. package/esm2020/src/gui/LastFocusedVal.mjs +11 -0
  19. package/esm2020/src/gui/MgValue.mjs +16 -0
  20. package/esm2020/src/gui/PropParentInterface.mjs +2 -0
  21. package/esm2020/src/gui/low/DialogHandler.mjs +7 -0
  22. package/esm2020/src/gui/low/GuiCommand.mjs +66 -0
  23. package/esm2020/src/gui/low/GuiCommandQueue.mjs +35 -0
  24. package/esm2020/src/gui/low/GuiInteractive.mjs +176 -0
  25. package/esm2020/src/gui/low/Style.mjs +20 -0
  26. package/esm2020/src/management/RuntimeContextBase.mjs +43 -0
  27. package/esm2020/src/management/data/BlobType.mjs +281 -0
  28. package/esm2020/src/management/data/DcValues.mjs +214 -0
  29. package/esm2020/src/management/data/DcValuesBuilderBase.mjs +96 -0
  30. package/esm2020/src/management/data/FieldDef.mjs +331 -0
  31. package/esm2020/src/management/data/FieldsTable.mjs +54 -0
  32. package/esm2020/src/management/data/GuiDataViewBase.mjs +90 -0
  33. package/esm2020/src/management/data/GuiFieldBase.mjs +82 -0
  34. package/esm2020/src/management/data/IRecord.mjs +2 -0
  35. package/esm2020/src/management/data/IReferencedObject.mjs +2 -0
  36. package/esm2020/src/management/data/NUM_TYPE.mjs +1741 -0
  37. package/esm2020/src/management/data/ObjectReferenceBase.mjs +48 -0
  38. package/esm2020/src/management/data/ObjectReferencesCollection.mjs +29 -0
  39. package/esm2020/src/management/data/RecordUtils.mjs +361 -0
  40. package/esm2020/src/management/data/VectorType.mjs +612 -0
  41. package/esm2020/src/management/data/VectorTypeBase.mjs +88 -0
  42. package/esm2020/src/management/events/IActionManager.mjs +2 -0
  43. package/esm2020/src/management/events/IGuiEventsManager.mjs +2 -0
  44. package/esm2020/src/management/exp/ExpressionInterface.mjs +244 -0
  45. package/esm2020/src/management/exp/GuiExpressionEvaluator.mjs +307 -0
  46. package/esm2020/src/management/gui/ControlTable.mjs +118 -0
  47. package/esm2020/src/management/gui/DisplayConvertor.mjs +1679 -0
  48. package/esm2020/src/management/gui/FieldValidator.mjs +711 -0
  49. package/esm2020/src/management/gui/GuiControlPropertyAdapter.mjs +22 -0
  50. package/esm2020/src/management/gui/GuiFormPropertyAdapter.mjs +11 -0
  51. package/esm2020/src/management/gui/HebrewDate.mjs +278 -0
  52. package/esm2020/src/management/gui/Helps.mjs +237 -0
  53. package/esm2020/src/management/gui/MgControlBase.mjs +1858 -0
  54. package/esm2020/src/management/gui/MgFormBase.mjs +741 -0
  55. package/esm2020/src/management/gui/PIC.mjs +1185 -0
  56. package/esm2020/src/management/gui/PropDefaults.mjs +230 -0
  57. package/esm2020/src/management/gui/PropInterface.mjs +245 -0
  58. package/esm2020/src/management/gui/PropTable.mjs +221 -0
  59. package/esm2020/src/management/gui/Property.mjs +1356 -0
  60. package/esm2020/src/management/gui/ValidationDetails.mjs +248 -0
  61. package/esm2020/src/management/gui/ValidationDetailsBase.mjs +93 -0
  62. package/esm2020/src/management/gui/WrongFormatException.mjs +29 -0
  63. package/esm2020/src/management/tasks/GuiDataCollection.mjs +4 -0
  64. package/esm2020/src/management/tasks/GuiTaskBase.mjs +510 -0
  65. package/esm2020/src/management/tasks/IMGDataTable.mjs +2 -0
  66. package/esm2020/src/management/tasks/ITask.mjs +2 -0
  67. package/esm2020/src/management/tasks/MgTimer.mjs +21 -0
  68. package/esm2020/src/management/tasks/TaskDefinitionId.mjs +54 -0
  69. package/esm2020/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +41 -0
  70. package/esm2020/src/util/MemoryUtil.mjs +35 -0
  71. package/esm2020/src/util/ObjectReference.mjs +36 -0
  72. package/esm2020/src/util/UsernamePasswordCredentials.mjs +52 -0
  73. package/fesm2015/magic-xpa-gui.mjs +16389 -0
  74. package/fesm2015/magic-xpa-gui.mjs.map +1 -1
  75. package/fesm2020/magic-xpa-gui.mjs +16203 -0
  76. package/fesm2020/magic-xpa-gui.mjs.map +1 -1
  77. package/index.d.ts +70 -1
  78. package/package.json +2 -2
  79. package/src/Commands.d.ts +40 -0
  80. package/src/Events.d.ts +155 -0
  81. package/src/EventsProcessor.d.ts +13 -0
  82. package/src/FocusManager.d.ts +8 -0
  83. package/src/GuiConstants.d.ts +65 -0
  84. package/src/GuiEnums.d.ts +282 -0
  85. package/src/GuiEnvironment.d.ts +4 -0
  86. package/src/IFlowMonitorQueue.d.ts +3 -0
  87. package/src/Manager.d.ts +26 -0
  88. package/src/UIBridge.d.ts +16 -0
  89. package/src/env/IEnvironment.d.ts +31 -0
  90. package/src/gui/ControlBase.d.ts +4 -0
  91. package/src/gui/GuiMgControl.d.ts +38 -0
  92. package/src/gui/GuiMgForm.d.ts +3 -0
  93. package/src/gui/KeyboardItem.d.ts +18 -0
  94. package/src/gui/LastFocusedVal.d.ts +7 -0
  95. package/src/gui/MgValue.d.ts +15 -0
  96. package/src/gui/PropParentInterface.d.ts +13 -0
  97. package/src/gui/low/DialogHandler.d.ts +4 -0
  98. package/src/gui/low/GuiCommand.d.ts +37 -0
  99. package/src/gui/low/GuiCommandQueue.d.ts +13 -0
  100. package/src/gui/low/GuiInteractive.d.ts +55 -0
  101. package/src/gui/low/Style.d.ts +19 -0
  102. package/src/management/RuntimeContextBase.d.ts +23 -0
  103. package/src/management/data/BlobType.d.ts +29 -0
  104. package/src/management/data/DcValues.d.ts +33 -0
  105. package/src/management/data/DcValuesBuilderBase.d.ts +17 -0
  106. package/src/management/data/FieldDef.d.ts +53 -0
  107. package/src/management/data/FieldsTable.d.ts +16 -0
  108. package/src/management/data/GuiDataViewBase.d.ts +27 -0
  109. package/src/management/data/GuiFieldBase.d.ts +17 -0
  110. package/src/management/data/IRecord.d.ts +12 -0
  111. package/src/management/data/IReferencedObject.d.ts +5 -0
  112. package/src/management/data/NUM_TYPE.d.ts +103 -0
  113. package/src/management/data/ObjectReferenceBase.d.ts +16 -0
  114. package/src/management/data/ObjectReferencesCollection.d.ts +10 -0
  115. package/src/management/data/RecordUtils.d.ts +21 -0
  116. package/src/management/data/VectorType.d.ts +52 -0
  117. package/src/management/data/VectorTypeBase.d.ts +8 -0
  118. package/src/management/events/IActionManager.d.ts +7 -0
  119. package/src/management/events/IGuiEventsManager.d.ts +20 -0
  120. package/src/management/exp/ExpressionInterface.d.ts +242 -0
  121. package/src/management/exp/GuiExpressionEvaluator.d.ts +47 -0
  122. package/src/management/gui/ControlTable.d.ts +28 -0
  123. package/src/management/gui/DisplayConvertor.d.ts +103 -0
  124. package/src/management/gui/FieldValidator.d.ts +35 -0
  125. package/src/management/gui/GuiControlPropertyAdapter.d.ts +40 -0
  126. package/src/management/gui/GuiFormPropertyAdapter.d.ts +17 -0
  127. package/src/management/gui/HebrewDate.d.ts +46 -0
  128. package/src/management/gui/Helps.d.ts +51 -0
  129. package/src/management/gui/MgControlBase.d.ts +223 -0
  130. package/src/management/gui/MgFormBase.d.ts +160 -0
  131. package/src/management/gui/PIC.d.ts +108 -0
  132. package/src/management/gui/PropDefaults.d.ts +7 -0
  133. package/src/management/gui/PropInterface.d.ts +243 -0
  134. package/src/management/gui/PropTable.d.ts +33 -0
  135. package/src/management/gui/Property.d.ts +121 -0
  136. package/src/management/gui/ValidationDetails.d.ts +52 -0
  137. package/src/management/gui/ValidationDetailsBase.d.ts +14 -0
  138. package/src/management/gui/WrongFormatException.d.ts +9 -0
  139. package/src/management/tasks/GuiDataCollection.d.ts +4 -0
  140. package/src/management/tasks/GuiTaskBase.d.ts +150 -0
  141. package/src/management/tasks/IMGDataTable.d.ts +10 -0
  142. package/src/management/tasks/ITask.d.ts +6 -0
  143. package/src/management/tasks/MgTimer.d.ts +8 -0
  144. package/src/management/tasks/TaskDefinitionId.d.ts +16 -0
  145. package/src/management/tasks/TaskDefinitionIdTableSaxHandler.d.ts +7 -0
  146. package/src/util/MemoryUtil.d.ts +6 -0
  147. package/src/util/ObjectReference.d.ts +9 -0
  148. package/src/util/UsernamePasswordCredentials.d.ts +18 -0
@@ -0,0 +1,91 @@
1
+ import { UtilImeJpn, UtilStrByteMode } from "@magic-xpa/utils";
2
+ import { Commands } from "./Commands";
3
+ import { CommandType, HtmlProperties } from "./GuiEnums";
4
+ import { Events } from "./Events";
5
+ import { PropInterface } from "./management/gui/PropInterface";
6
+ import { GuiEnvironment } from "./GuiEnvironment";
7
+ export class Manager {
8
+ static SetCurrentContextID(contextID) {
9
+ Manager._currentContextID = contextID;
10
+ }
11
+ static GetCurrentContextID() {
12
+ return Manager._currentContextID;
13
+ }
14
+ static Init() {
15
+ return;
16
+ }
17
+ static Abort(form) {
18
+ if (form.getSubFormCtrl() === null && form.Opened) {
19
+ if (form.isDialog()) {
20
+ this.IsOverlayOpen = false;
21
+ let topMostFrameForm = form.getTopMostFrameForm();
22
+ if (topMostFrameForm !== null)
23
+ topMostFrameForm.UpdateModalFormsCount(form, false);
24
+ }
25
+ Commands.addCloseForm(form, "0", form.getTask().getTaskTag());
26
+ Commands.beginInvoke();
27
+ }
28
+ }
29
+ static GetCtrlVal(ctrl) {
30
+ return Commands.getValue(ctrl, ctrl.getDisplayLine(true));
31
+ }
32
+ static async SetReadOnlyControl(ctrl, isReadOnly) {
33
+ if (ctrl.isTextControl() || ctrl.IsRepeatable || ctrl.isComboBox() || ctrl.isListBox() || ctrl.isCheckBox() || ctrl.isRadio()) {
34
+ if (UtilStrByteMode.isLocaleDefLangDBCS()) {
35
+ if (await ctrl.getForm().getTask().checkProp(PropInterface.PROP_TYPE_ALLOW_LOCATE_IN_QUERY, false))
36
+ return;
37
+ }
38
+ Commands.addOperationWithLine(CommandType.SET_PROPERTY, ctrl, ctrl.getDisplayLine(false), HtmlProperties.ReadOnly, isReadOnly);
39
+ Commands.beginInvoke();
40
+ }
41
+ }
42
+ static OpenForm(mgForm) {
43
+ if (!mgForm.Opened && (mgForm.getTask().IsInteractive || mgForm.getTask().isOpenWin())) {
44
+ if (!mgForm.isSubForm()) {
45
+ if (mgForm.isDialog()) {
46
+ this.IsOverlayOpen = true;
47
+ let topMostFrameForm = mgForm.getTopMostFrameForm();
48
+ if (topMostFrameForm !== null)
49
+ topMostFrameForm.UpdateModalFormsCount(mgForm, true);
50
+ }
51
+ }
52
+ mgForm.Opened = true;
53
+ Commands.beginInvoke();
54
+ }
55
+ }
56
+ static async DoFirstRefreshTable(mgForm) {
57
+ if (mgForm !== null && !mgForm.ignoreFirstRefreshTable) {
58
+ mgForm.ignoreFirstRefreshTable = true;
59
+ await mgForm.firstTableRefresh();
60
+ }
61
+ }
62
+ static CleanMessagePane(task) {
63
+ task.WriteToMessagePane(Manager.GetCurrentRuntimeContext().DefaultStatusMsg);
64
+ }
65
+ static GetMessage(msg) {
66
+ if (msg === null)
67
+ msg = "";
68
+ else if (msg.length > 0) {
69
+ let idxOfCarriage = msg.indexOf("\r");
70
+ if (idxOfCarriage !== -1)
71
+ msg = msg.substr(0, idxOfCarriage);
72
+ let idxOfNewLine = msg.indexOf("\n");
73
+ if (idxOfNewLine !== -1)
74
+ msg = msg.substr(0, idxOfNewLine);
75
+ }
76
+ return msg;
77
+ }
78
+ static GetCurrentRuntimeContext() {
79
+ return Events.GetRuntimeContext(Manager.GetCurrentContextID());
80
+ }
81
+ static GetSpecialValNewPolicy() {
82
+ return GuiEnvironment.Environment.GetSpecialValNewPolicy();
83
+ }
84
+ }
85
+ Manager.IsOverlayOpen = false;
86
+ Manager._currentContextID = '\0';
87
+ Manager.DefaultProtocol = null;
88
+ Manager.DefaultServerName = null;
89
+ Manager.UtilImeJpn = (UtilStrByteMode.isLocaleDefLangJPN() ? new UtilImeJpn() : null);
90
+ Manager.EventsManager = null;
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBSTdELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFcEMsT0FBTyxFQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDdkQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBR2hELE1BQU0sT0FBTyxPQUFPO0lBbUJsQixNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBaUI7UUFDMUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBTUQsTUFBTSxDQUFDLG1CQUFtQjtRQUN4QixPQUFPLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztJQUNuQyxDQUFDO0lBSUQsTUFBTSxDQUFDLElBQUk7UUFDVCxPQUFPO0lBQ1QsQ0FBQztJQVFELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBZ0I7UUFFM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFFakQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUUzQixJQUFJLGdCQUFnQixHQUFlLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM5RCxJQUFJLGdCQUFnQixLQUFLLElBQUk7b0JBQzNCLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksRUFB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QUFDO1lBQzlDLElBQUksYUFBYSxLQUFLLENBQUMsQ0FBQztnQkFDdEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBRXJDLElBQUksWUFBWSxHQUFXLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsSUFBSSxZQUFZLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDckM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFPRCxNQUFNLENBQUMsd0JBQXdCO1FBQzdCLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQU1NLE1BQU0sQ0FBQyxzQkFBc0I7UUFDbEMsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDN0QsQ0FBQzs7QUFuTE0scUJBQWEsR0FBWSxLQUFLLENBQUM7QUFPdkIseUJBQWlCLEdBQVcsSUFBSSxDQUFDO0FBRXpDLHVCQUFlLEdBQVcsSUFBSSxDQUFDO0FBQy9CLHlCQUFpQixHQUFXLElBQUksQ0FBQztBQUNqQyxrQkFBVSxHQUFlLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFGLHFCQUFhLEdBQXNCLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8c3VtbWFyeT5cclxuLy8vIE1nR3VpLmRsbCdzIG1hbmFnZXIgLSBhc3NlbWJseSBsZXZlbCBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5pbXBvcnQge1V0aWxJbWVKcG4sIFV0aWxTdHJCeXRlTW9kZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtJR3VpRXZlbnRzTWFuYWdlcn0gZnJvbSBcIi4vbWFuYWdlbWVudC9ldmVudHMvSUd1aUV2ZW50c01hbmFnZXJcIjtcclxuaW1wb3J0IHtHdWlUYXNrQmFzZX0gZnJvbSBcIi4vbWFuYWdlbWVudC90YXNrcy9HdWlUYXNrQmFzZVwiO1xyXG5pbXBvcnQge01nQ29udHJvbEJhc2V9IGZyb20gXCIuL21hbmFnZW1lbnQvZ3VpL01nQ29udHJvbEJhc2VcIjtcclxuaW1wb3J0IHtDb21tYW5kc30gZnJvbSBcIi4vQ29tbWFuZHNcIjtcclxuaW1wb3J0IHtNZ0Zvcm1CYXNlfSBmcm9tIFwiLi9tYW5hZ2VtZW50L2d1aS9NZ0Zvcm1CYXNlXCI7XHJcbmltcG9ydCB7Q29tbWFuZFR5cGUsIEh0bWxQcm9wZXJ0aWVzfSBmcm9tIFwiLi9HdWlFbnVtc1wiO1xyXG5pbXBvcnQge0V2ZW50c30gZnJvbSBcIi4vRXZlbnRzXCI7XHJcbmltcG9ydCB7UnVudGltZUNvbnRleHRCYXNlfSBmcm9tIFwiLi9tYW5hZ2VtZW50L1J1bnRpbWVDb250ZXh0QmFzZVwiO1xyXG5pbXBvcnQge1Byb3BJbnRlcmZhY2V9IGZyb20gXCIuL21hbmFnZW1lbnQvZ3VpL1Byb3BJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtHdWlFbnZpcm9ubWVudH0gZnJvbSBcIi4vR3VpRW52aXJvbm1lbnRcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgTWFuYWdlciB7XHJcbiAgc3RhdGljIElzT3ZlcmxheU9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuLy8gdGhpcyBvYmplY3QgaXMgdXNlZCBmb3IgZXhlY3V0aW9uIGFuZCBpbnRlcnJ1cHRpbmcgZGVsYXkgY29tbWFuZFxyXG4vLyBEYXRhIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIGNsaXBib2FyZC5cclxuXHJcbiAgLy8gVGhpcyB3aWxsIGhvbGQgdGhlIGNvbnRleHRJRCBmb3IgYSBjdXJyZW50IHRocmVhZC5cclxuICAvLyBUaHJlYWQgc3RhdGljIGlzIGEgc2VwYXJhdGUgZm9yIGVhY2ggdGhyZWFkIChpLmUuOiB2YWx1ZSBvZiBhIHN0YXRpYyBmaWVsZCBpcyB1bmlxdWUgZm9yIGVhY2ggdGhyZWFkKS5cclxuICAvLyBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvc3lzdGVtLnRocmVhZHN0YXRpY2F0dHJpYnV0ZS5hc3B4XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2N1cnJlbnRDb250ZXh0SUQ6IHN0cmluZyA9ICdcXDAnO1xyXG5cclxuICBzdGF0aWMgRGVmYXVsdFByb3RvY29sOiBzdHJpbmcgPSBudWxsOyAvLyBkZWZhdWx0IHByb3RvY29sIChodHRwL2h0dHBzKSBhbmQgc2VydmVyIG5hbWUgdG8gYmUgdXNlZCBmb3IgYW55IHJlbGF0aXZlIHVybFxyXG4gIHN0YXRpYyBEZWZhdWx0U2VydmVyTmFtZTogc3RyaW5nID0gbnVsbDtcclxuICBzdGF0aWMgVXRpbEltZUpwbjogVXRpbEltZUpwbiA9IChVdGlsU3RyQnl0ZU1vZGUuaXNMb2NhbGVEZWZMYW5nSlBOKCkgPyBuZXcgVXRpbEltZUpwbigpIDogbnVsbCk7IC8vIEpQTjogSU1FIHN1cHBvcnRcclxuICBzdGF0aWMgRXZlbnRzTWFuYWdlcjogSUd1aUV2ZW50c01hbmFnZXIgPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+KHB1YmxpYylcclxuICAvLy8gU2V0IHRoZSBjb250ZXh0IElEIGZvciBhIGN1cnJlbnQgdGhyZWFkXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250ZXh0SURcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBTZXRDdXJyZW50Q29udGV4dElEKGNvbnRleHRJRDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBNYW5hZ2VyLl9jdXJyZW50Q29udGV4dElEID0gY29udGV4dElEO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXQgdGhlIGNvbnRleHQgSUQgZm9yIGEgY3VycmVudCB0aHJlYWRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5jdXJyZW50IHRocmVhZCdzIGNvbnRleHRJRDwvcmV0dXJucz5cclxuICBzdGF0aWMgR2V0Q3VycmVudENvbnRleHRJRCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE1hbmFnZXIuX2N1cnJlbnRDb250ZXh0SUQ7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHN0YXRpYyBJbml0KCk6IHZvaWQge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGNsb3NlIHRoZSB0YXNrXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImZvcm1cIj4gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJtYWluUHJnVGFza1wiPjwvcGFyYW0+XHJcbiAgc3RhdGljIEFib3J0KGZvcm06IE1nRm9ybUJhc2UpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoZm9ybS5nZXRTdWJGb3JtQ3RybCgpID09PSBudWxsICYmIGZvcm0uT3BlbmVkKSB7XHJcbiAgICAgIC8vIGlmIHRoZSBjbG9zaW5nIGZvcm0gaXMgJ29wZW5lZCBhcyBhIG1vZGFsJyB0aGVuIGRlY3JlbWVudCB0aGUgbW9kYWwgY291bnQgb24gaXRzIGZyYW1lIHdpbmRvdy5cclxuICAgICAgaWYgKGZvcm0uaXNEaWFsb2coKSkge1xyXG4gICAgICAgIHRoaXMuSXNPdmVybGF5T3BlbiA9IGZhbHNlO1xyXG5cclxuICAgICAgICBsZXQgdG9wTW9zdEZyYW1lRm9ybTogTWdGb3JtQmFzZSA9IGZvcm0uZ2V0VG9wTW9zdEZyYW1lRm9ybSgpO1xyXG4gICAgICAgIGlmICh0b3BNb3N0RnJhbWVGb3JtICE9PSBudWxsKVxyXG4gICAgICAgICAgdG9wTW9zdEZyYW1lRm9ybS5VcGRhdGVNb2RhbEZvcm1zQ291bnQoZm9ybSwgZmFsc2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBDb21tYW5kcy5hZGRDbG9zZUZvcm0oZm9ybSwgXCIwXCIsIGZvcm0uZ2V0VGFzaygpLmdldFRhc2tUYWcoKSk7XHJcblxyXG4gICAgICBDb21tYW5kcy5iZWdpbkludm9rZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY3RybFwiPmNvbnRyb2wgdG8gZ2V0IHZhbHVlIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB2YWx1ZSBvZiB0aGUgY29udHJvbCA8L3JldHVybnM+XHJcbiAgc3RhdGljIEdldEN0cmxWYWwoY3RybDogTWdDb250cm9sQmFzZSk6IHN0cmluZyB7XHJcbiAgICAvLyBRQ1IgIzc0NTExNzogTWFrZSBzdXJlIHRoYXQgaWYgdGhlIGNvbnRlbnRzIG9mIGEgY29udHJvbCB3ZXJlIGNoYW5nZWRcclxuICAgIC8vIHRoZW4gdGhlIGNoYW5nZXMgYXJlIGFwcGxpZWQgYmVmb3JlIGV4YW1pbmluZyBpdHMgdmFsdWUuXHJcbiAgICByZXR1cm4gQ29tbWFuZHMuZ2V0VmFsdWUoY3RybCwgY3RybC5nZXREaXNwbGF5TGluZSh0cnVlKSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgU2V0IHJlYWQgb25seSBmb3IgY29udHJvbHNcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY3RybFwiPnRoZSBjb250cm9sIHRvIGNoYW5nZSBpdHMgcHJvcGVydHkgPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImlzUmVhZE9ubHlcIj5ib29sZWFuIDwvcGFyYW0+XHJcbiAgc3RhdGljIGFzeW5jIFNldFJlYWRPbmx5Q29udHJvbChjdHJsOiBNZ0NvbnRyb2xCYXNlLCBpc1JlYWRPbmx5OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoY3RybC5pc1RleHRDb250cm9sKCkgfHwgY3RybC5Jc1JlcGVhdGFibGUgfHwgY3RybC5pc0NvbWJvQm94KCkgfHwgY3RybC5pc0xpc3RCb3goKSB8fCBjdHJsLmlzQ2hlY2tCb3goKSB8fCBjdHJsLmlzUmFkaW8oKSkgLy8gRGVmZWN0IDEzMTgwMjogU2V0IFJlYWRPbmx5IGZvciBSaWNoIFRleHQgY29udHJvbCBpbiBUYWJsZSBIZWFkZXIgYW5kIGRlZmVjdCAxMzE3MDQ6IGluIGdlbmVyYWwgZm9yIFJpY2ggVGV4dC5cclxuICAgIHtcclxuICAgICAgLy8gSlBOOiBJTUUgc3VwcG9ydCAoZW5hYmxlIElNRSBpbiBxdWVyeSBtb2RlKVxyXG4gICAgICBpZiAoVXRpbFN0ckJ5dGVNb2RlLmlzTG9jYWxlRGVmTGFuZ0RCQ1MoKSkge1xyXG4gICAgICAgIGlmIChhd2FpdCBjdHJsLmdldEZvcm0oKS5nZXRUYXNrKCkuY2hlY2tQcm9wKFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0FMTE9XX0xPQ0FURV9JTl9RVUVSWSwgZmFsc2UpKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIENvbW1hbmRzLmFkZE9wZXJhdGlvbldpdGhMaW5lKENvbW1hbmRUeXBlLlNFVF9QUk9QRVJUWSwgY3RybCwgY3RybC5nZXREaXNwbGF5TGluZShmYWxzZSksIEh0bWxQcm9wZXJ0aWVzLlJlYWRPbmx5LCBpc1JlYWRPbmx5KTtcclxuXHJcbiAgICAgIENvbW1hbmRzLmJlZ2luSW52b2tlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBPcGVuIHRoZSBmb3JtLiA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWdGb3JtXCI+Zm9ybSB0byBiZSBvcGVuZWQuPC9wYXJhbT5cclxuICBzdGF0aWMgT3BlbkZvcm0obWdGb3JtOiBNZ0Zvcm1CYXNlKTogdm9pZCB7XHJcbiAgICAvLyBub24gaW50ZXJhY3RpdmUgY2FuIGNob29zZSBub3QgdG8gb3BlbiB0aGUgd2luZG93LlxyXG4gICAgaWYgKCFtZ0Zvcm0uT3BlbmVkICYmIChtZ0Zvcm0uZ2V0VGFzaygpLklzSW50ZXJhY3RpdmUgfHwgbWdGb3JtLmdldFRhc2soKS5pc09wZW5XaW4oKSkpIHtcclxuICAgICAgaWYgKCFtZ0Zvcm0uaXNTdWJGb3JtKCkpIHtcclxuICAgICAgICAvLyBpZiB0aGUgZm9ybSBpcyB0byBiZSBvcGVuZWQgYXMgYSBtb2RhbCwgdGhlbiBpbmNyZW1lbnQgdGhlIG1vZGFsIGNvdW50IG9uIGl0cyBmcmFtZSB3aW5kb3cuXHJcbiAgICAgICAgaWYgKG1nRm9ybS5pc0RpYWxvZygpKSB7XHJcbiAgICAgICAgICB0aGlzLklzT3ZlcmxheU9wZW4gPSB0cnVlO1xyXG5cclxuICAgICAgICAgIGxldCB0b3BNb3N0RnJhbWVGb3JtOiBNZ0Zvcm1CYXNlID0gbWdGb3JtLmdldFRvcE1vc3RGcmFtZUZvcm0oKTtcclxuICAgICAgICAgIGlmICh0b3BNb3N0RnJhbWVGb3JtICE9PSBudWxsKVxyXG4gICAgICAgICAgICB0b3BNb3N0RnJhbWVGb3JtLlVwZGF0ZU1vZGFsRm9ybXNDb3VudChtZ0Zvcm0sIHRydWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgICAgLy8gaWYgKCFtZ0Zvcm0uaXNTdWJGb3JtKCkpIHtcclxuICAgICAgLy8gICBsZXQgZm9ybU5hbWU6IHN0cmluZyA9IG1nRm9ybS5VbmlxdWVOYW1lO1xyXG4gICAgICAvLyAgIFVJQnJpZGdlLmdldEluc3RhbmNlKCkuT3BlbkZvcm0oZm9ybU5hbWUpO1xyXG5cclxuICAgICAgLy8gfVxyXG4gICAgICAvLyBlbHNlIHtcclxuICAgICAgLy8gICBsZXQgaW5wdXRDb250cm9scyA9IG1nRm9ybS5HZXRMaXN0T2ZJbnB1dENvbnRyb2xzKCk7XHJcbiAgICAgIC8vIC8vXHJcbiAgICAgIC8vIC8vICAgSlNCcmlkZ2UuSW5zdGFuY2UuT3BlblN1YkZvcm0odGhpcy5nZXRTdWJGb3JtQ3RybCgpLmdldE5hbWUoKSwgUGFyZW50Rm9ybS5nZXRUYXNrKCkuZ2V0VGFza1RhZygpLCBnZXRQcm9wKFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0ZPUk1fTkFNRSkuZ2V0VmFsdWUoKSwgX3Rhc2suZ2V0VGFza1RhZygpLCBpbnB1dENvbnRyb2xzKTtcclxuICAgICAgLy8gLy8gfVxyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICBtZ0Zvcm0uT3BlbmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIENvbW1hbmRzLmJlZ2luSW52b2tlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IFBlcmZvcm1zIGZpcnN0IHJlZnJlc2ggZm9yIHRoZSB0YWJsZSBjb250cm9sIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgYXN5bmMgRG9GaXJzdFJlZnJlc2hUYWJsZShtZ0Zvcm06IE1nRm9ybUJhc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChtZ0Zvcm0gIT09IG51bGwgJiYgIW1nRm9ybS5pZ25vcmVGaXJzdFJlZnJlc2hUYWJsZSkge1xyXG4gICAgICBtZ0Zvcm0uaWdub3JlRmlyc3RSZWZyZXNoVGFibGUgPSB0cnVlO1xyXG4gICAgICBhd2FpdCBtZ0Zvcm0uZmlyc3RUYWJsZVJlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNsZWFuIHRoZSBzdGF0dXMgYmFyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDbGVhbk1lc3NhZ2VQYW5lKHRhc2s6IEd1aVRhc2tCYXNlKTogdm9pZCB7XHJcbiAgICB0YXNrLldyaXRlVG9NZXNzYWdlUGFuZShNYW5hZ2VyLkdldEN1cnJlbnRSdW50aW1lQ29udGV4dCgpLkRlZmF1bHRTdGF0dXNNc2cpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBNZXNzYWdlIHN0cmluZyB0byBiZSBkaXNwbGF5ZWQgb24gc3RhdHVzIGJhciBvciBpbiBNZXNzYWdlIGJveFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtc2dcIj4gaW5wdXQgbWVzc2FnZSBzdHJpbmcgPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IG91dHB1dCBtZXNzYWdlIHN0cmluZyA8L3JldHVybnM+XHJcbiAgc3RhdGljIEdldE1lc3NhZ2UobXNnOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKG1zZyA9PT0gbnVsbClcclxuICAgICAgbXNnID0gXCJcIjtcclxuICAgIGVsc2UgaWYgKG1zZy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBpZHhPZkNhcnJpYWdlOiBudW1iZXIgPSBtc2cuaW5kZXhPZihcIlxcclwiKTtcclxuICAgICAgaWYgKGlkeE9mQ2FycmlhZ2UgIT09IC0xKVxyXG4gICAgICAgIG1zZyA9IG1zZy5zdWJzdHIoMCwgaWR4T2ZDYXJyaWFnZSk7XHJcblxyXG4gICAgICBsZXQgaWR4T2ZOZXdMaW5lOiBudW1iZXIgPSBtc2cuaW5kZXhPZihcIlxcblwiKTtcclxuICAgICAgaWYgKGlkeE9mTmV3TGluZSAhPT0gLTEpXHJcbiAgICAgICAgbXNnID0gbXNnLnN1YnN0cigwLCBpZHhPZk5ld0xpbmUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtc2c7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXRzIHRoZSBydW50aW1lIGNvbnRleHQgYmVsb25ncyB0byB0aGUgY3VycmVudCB0aHJlYWQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+UnVudGltZUNvbnRleHRCYXNlPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBHZXRDdXJyZW50UnVudGltZUNvbnRleHQoKTogUnVudGltZUNvbnRleHRCYXNlIHtcclxuICAgIHJldHVybiBFdmVudHMuR2V0UnVudGltZUNvbnRleHQoTWFuYWdlci5HZXRDdXJyZW50Q29udGV4dElEKCkpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyByZXR1cm4gU3BlY2lhbFZhbE5ld1BvbGljeVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwdWJsaWMgc3RhdGljIEdldFNwZWNpYWxWYWxOZXdQb2xpY3koKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0U3BlY2lhbFZhbE5ld1BvbGljeSgpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ export class UIBridge {
2
+ constructor() {
3
+ this.getInteractiveCallback = null;
4
+ this.executeCommandsCallback = null;
5
+ }
6
+ static getInstance() {
7
+ if (!UIBridge.instance) {
8
+ UIBridge.instance = new UIBridge();
9
+ }
10
+ return UIBridge.instance;
11
+ }
12
+ ExecuteInteractiveCommand(command) {
13
+ if (this.getInteractiveCallback != null)
14
+ return this.getInteractiveCallback(command);
15
+ return "";
16
+ }
17
+ executeCommands(commands) {
18
+ if (this.executeCommandsCallback != null && commands != null) {
19
+ this.executeCommandsCallback(commands);
20
+ }
21
+ }
22
+ registerInteractiveCallback(getIntractiveCallback) {
23
+ this.getInteractiveCallback = getIntractiveCallback;
24
+ }
25
+ registerExecuteCommandsCallback(executeCommandsCallback) {
26
+ this.executeCommandsCallback = executeCommandsCallback;
27
+ }
28
+ saveData(data) {
29
+ console.log(data);
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVUlCcmlkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL1VJQnJpZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFFLE1BQU0sT0FBTyxRQUFRO0lBUW5CO1FBTEEsMkJBQXNCLEdBQTJCLElBQUksQ0FBQztRQUN0RCw0QkFBdUIsR0FBNEIsSUFBSSxDQUFDO0lBTXhELENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUN0QixRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7U0FFcEM7UUFDRCxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUdNLHlCQUF5QixDQUFDLE9BQXNCO1FBQ3JELElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUk7WUFDckMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU0sZUFBZSxDQUFDLFFBQXNCO1FBQzNDLElBQUksSUFBSSxDQUFDLHVCQUF1QixJQUFJLElBQUksSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO1lBQzVELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUV4QztJQUNILENBQUM7SUFHTSwyQkFBMkIsQ0FBQyxxQkFBNEM7UUFDN0UsSUFBSSxDQUFDLHNCQUFzQixHQUFHLHFCQUFxQixDQUFDO0lBQ3RELENBQUM7SUFFTSwrQkFBK0IsQ0FBQyx1QkFBZ0Q7UUFDckYsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDO0lBQ3pELENBQUM7SUFHTSxRQUFRLENBQUMsSUFBWTtRQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7R3VpQ29tbWFuZH0gZnJvbSBcIi4vZ3VpL2xvdy9HdWlDb21tYW5kXCI7XHJcbmltcG9ydCB7R3VpSW50ZXJhY3RpdmV9IGZyb20gXCIuL2d1aS9sb3cvR3VpSW50ZXJhY3RpdmVcIjtcclxuXHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEV4ZWN1dGVDb21tYW5kc0NhbGxiYWNrID0gKGNvbW1hbmRzOiBHdWlDb21tYW5kW10pID0+IHZvaWQ7XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgR2V0SW50cmFjdGl2ZUNhbGxiYWNrID0gKGNvbW1hbmQ6IEd1aUludGVyYWN0aXZlKSA9PiBzdHJpbmc7XHJcblxyXG4vLyBAZHluYW1pY1xyXG4gIGV4cG9ydCBjbGFzcyBVSUJyaWRnZSB7XHJcblxyXG4gICAgLy8gZGVmaW5lIGNhbGxiYWNrc1xyXG4gICAgZ2V0SW50ZXJhY3RpdmVDYWxsYmFjayA6IEdldEludHJhY3RpdmVDYWxsYmFjayA9IG51bGw7XHJcbiAgICBleGVjdXRlQ29tbWFuZHNDYWxsYmFjazogRXhlY3V0ZUNvbW1hbmRzQ2FsbGJhY2sgPSBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBVSUJyaWRnZTtcclxuXHJcbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAvLyBkbyBzb21ldGhpbmcgY29uc3RydWN0Li4uXHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEluc3RhbmNlKCkge1xyXG4gICAgICBpZiAoIVVJQnJpZGdlLmluc3RhbmNlKSB7XHJcbiAgICAgICAgVUlCcmlkZ2UuaW5zdGFuY2UgPSBuZXcgVUlCcmlkZ2UoKTtcclxuICAgICAgICAvLyAuLi4gYW55IG9uZSB0aW1lIGluaXRpYWxpemF0aW9uIGdvZXMgaGVyZSAuLi5cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gVUlCcmlkZ2UuaW5zdGFuY2U7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyBFeGVjdXRlSW50ZXJhY3RpdmVDb21tYW5kKGNvbW1hbmQ6R3VpSW50ZXJhY3RpdmUpOiBzdHJpbmcge1xyXG4gICAgICBpZiAodGhpcy5nZXRJbnRlcmFjdGl2ZUNhbGxiYWNrICE9IG51bGwpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW50ZXJhY3RpdmVDYWxsYmFjayggY29tbWFuZCk7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBleGVjdXRlQ29tbWFuZHMoY29tbWFuZHM6IEd1aUNvbW1hbmRbXSk6IHZvaWQge1xyXG4gICAgICBpZiAodGhpcy5leGVjdXRlQ29tbWFuZHNDYWxsYmFjayAhPSBudWxsICYmIGNvbW1hbmRzICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLmV4ZWN1dGVDb21tYW5kc0NhbGxiYWNrKGNvbW1hbmRzKTtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVySW50ZXJhY3RpdmVDYWxsYmFjayhnZXRJbnRyYWN0aXZlQ2FsbGJhY2s6IEdldEludHJhY3RpdmVDYWxsYmFjayk6IHZvaWQge1xyXG4gICAgICB0aGlzLmdldEludGVyYWN0aXZlQ2FsbGJhY2sgPSBnZXRJbnRyYWN0aXZlQ2FsbGJhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyRXhlY3V0ZUNvbW1hbmRzQ2FsbGJhY2soZXhlY3V0ZUNvbW1hbmRzQ2FsbGJhY2s6IEV4ZWN1dGVDb21tYW5kc0NhbGxiYWNrKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuZXhlY3V0ZUNvbW1hbmRzQ2FsbGJhY2sgPSBleGVjdXRlQ29tbWFuZHNDYWxsYmFjaztcclxuICAgIH1cclxuXHJcbiAgICAvLyB1c2VkIHRvIHNhdmUgc3R1YiBkYXRhXHJcbiAgICBwdWJsaWMgc2F2ZURhdGEoZGF0YTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUVudmlyb25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9lbnYvSUVudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmNvZGluZyB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gZnVuY3Rpb25hbGl0eSByZXF1aXJlZCBieSB0aGUgR1VJIG5hbWVzcGFjZSBmcm9tIHRoZSBFbnZpcm9ubWVudCBjbGFzcy5cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGludGVyZmFjZSBJRW52aXJvbm1lbnQge1xyXG5cclxuICBMYW5ndWFnZTogc3RyaW5nO1xyXG5cclxuXHJcbiAgSWdub3JlUmVwbGFjZURlY2ltYWxTZXBhcmF0b3I6IGJvb2xlYW47XHJcblxyXG4gIC8vIGluc3RydWN0IGhvdyB0byByZWZlciBhIGZvcndhcmQgc2xhc2ggLSBlaXRoZXIgYXMgYSByZWxhdGl2ZSB3ZWIgdXJsLCBvciBhcyBhIGZpbGUgaW4gdGhlIGZpbGUgc3lzdGVtLlxyXG4gIEZvcndhcmRTbGFzaFVzYWdlOiBzdHJpbmc7XHJcblxyXG4gIEdldERhdGVNb2RlKGNvbXBJZHg6IG51bWJlcik6IHN0cmluZztcclxuXHJcbiAgR2V0Q2VudHVyeShjb21wSWR4OiBudW1iZXIpOiBudW1iZXI7XHJcblxyXG4gIEdldERhdGUoKTogc3RyaW5nO1xyXG5cclxuICBHZXRUaW1lKCk6IHN0cmluZztcclxuXHJcbiAgR2V0RGVjaW1hbCgpOiBzdHJpbmc7XHJcblxyXG4gIENhblJlcGxhY2VEZWNpbWFsU2VwYXJhdG9yKCk6IGJvb2xlYW47XHJcblxyXG4gIEdldFRob3VzYW5kcygpOiBzdHJpbmc7XHJcblxyXG4gIEdldFRvb2x0aXBUaW1lb3V0KCk6IG51bWJlcjtcclxuXHJcblxyXG4gIEdldEdVSUQoKTogc3RyaW5nO1xyXG5cclxuXHJcbiAgR2V0SW1lQXV0b09mZigpOiBib29sZWFuO1xyXG5cclxuICBHZXRMb2NhbEFzNDAwU2V0KCk6IGJvb2xlYW47XHJcblxyXG4gIHNldERlY2ltYWxTZXBhcmF0b3IodmFsdWU6IHN0cmluZykgOiB2b2lkO1xyXG5cclxuICBzZXRUaG91c2FuZHNTZXBhcmF0b3IodmFsdWU6IHN0cmluZykgOiB2b2lkO1xyXG5cclxuICBHZXRMb2NhbEZsYWcoZjogc3RyaW5nKTogYm9vbGVhbjtcclxuXHJcbiAgR2V0U2lnbmlmaWNhbnROdW1TaXplKCk6IG51bWJlcjtcclxuXHJcbiAgR2V0RGVidWdMZXZlbCgpOiBudW1iZXI7XHJcblxyXG4gIEdldEVuY29kaW5nKCk6IEVuY29kaW5nO1xyXG5cclxuICBHZXREcm9wVXNlckZvcm1hdHMoKTogc3RyaW5nO1xyXG5cclxuXHJcbiAgR2V0U3BlY2lhbExvZ0ludGVybmFsRXhjZXB0aW9ucygpOiBib29sZWFuO1xyXG5cclxuXHJcbiAgZ2V0Q29udGV4dEluYWN0aXZpdHlUaW1lb3V0KCk6IG51bWJlcjtcclxuXHJcbiAgZ2V0Q2xpZW50Q29udGV4dEluYWN0aXZpdHlUaW1lb3V0KCk6IG51bWJlcjtcclxuXHJcbiAgZ2V0Q29udGV4dEluYWN0aXZpdHlXYXJuaW5nVGltZSgpOiBudW1iZXI7XHJcblxyXG4gIGdldElkbGVUaW1lKGNvbXBJZHg6IG51bWJlcik6IG51bWJlcjtcclxuXHJcbiAgR2V0U3BlY2lhbFZhbE5ld1BvbGljeSgpOiBib29sZWFuO1xyXG4gIEdldFNwZWNpYWxDYW5jZWxPbkNyZWF0ZSgpOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class ControlBase {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbEJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL2d1aS9Db250cm9sQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQWlCLFdBQVc7Q0FLakMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYWJzdHJhY3QgY2xhc3MgIENvbnRyb2xCYXNlIHtcclxuXHJcbiAgYWJzdHJhY3QgZ2V0IFVuaXF1ZU5hbWUoKTogc3RyaW5nO1xyXG5cclxuICBhYnN0cmFjdCBnZXQgVGFza1RhZygpOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,125 @@
1
+ import { CtrlButtonTypeGui, MgControlType } from "@magic-xpa/utils";
2
+ import { Debug, Int32 } from "@magic-xpa/mscorelib";
3
+ import { ControlBase } from "./ControlBase";
4
+ export class GuiMgControl extends ControlBase {
5
+ constructor() {
6
+ super(...arguments);
7
+ this._type = MgControlType.CTRL_TYPE_NONE;
8
+ this.ButtonStyle = CtrlButtonTypeGui.None;
9
+ this.IsRepeatable = false;
10
+ this.Layer = 0;
11
+ this.Name = null;
12
+ this.GuiMgForm = null;
13
+ }
14
+ set Type(value) {
15
+ if (this._type === MgControlType.CTRL_TYPE_NONE) {
16
+ this._type = value;
17
+ }
18
+ else {
19
+ Debug.Assert(false);
20
+ }
21
+ }
22
+ get Type() {
23
+ return this._type;
24
+ }
25
+ get IsTableChild() {
26
+ let parent = ((this.getParent() instanceof GuiMgControl) ? this.getParent() : null);
27
+ let parentIsTable = parent !== null && parent.isTableControl();
28
+ return parentIsTable && !this.isColumnControl();
29
+ }
30
+ get IsTableHeaderChild() {
31
+ return !this.IsRepeatable && this.IsTableChild;
32
+ }
33
+ getName(line) {
34
+ let result;
35
+ if (this.IsRepeatable) {
36
+ if (line > Int32.MinValue) {
37
+ result = this.Name + "_" + line;
38
+ }
39
+ else {
40
+ result = this.Name + "_0";
41
+ }
42
+ }
43
+ else {
44
+ result = this.Name;
45
+ }
46
+ return result;
47
+ }
48
+ get UniqueName() {
49
+ return this.Name;
50
+ }
51
+ isStatic() {
52
+ return this._type === MgControlType.CTRL_TYPE_LABEL || this._type === MgControlType.CTRL_TYPE_GROUP || this._type === MgControlType.CTRL_TYPE_TABLE ||
53
+ this._type === MgControlType.CTRL_TYPE_COLUMN || this._type === MgControlType.CTRL_TYPE_STATUS_BAR || this._type === MgControlType.CTRL_TYPE_SB_IMAGE ||
54
+ this._type === MgControlType.CTRL_TYPE_SB_LABEL || this._type === MgControlType.CTRL_TYPE_LINE;
55
+ }
56
+ isTableControl() {
57
+ return this._type === MgControlType.CTRL_TYPE_TABLE;
58
+ }
59
+ isTabControl() {
60
+ return this._type === MgControlType.CTRL_TYPE_TAB;
61
+ }
62
+ isTextControl() {
63
+ return this._type === MgControlType.CTRL_TYPE_TEXT;
64
+ }
65
+ isImageControl() {
66
+ return this._type === MgControlType.CTRL_TYPE_IMAGE;
67
+ }
68
+ isSubform() {
69
+ return this._type === MgControlType.CTRL_TYPE_SUBFORM;
70
+ }
71
+ isRadio() {
72
+ return this._type === MgControlType.CTRL_TYPE_RADIO;
73
+ }
74
+ isComboBox() {
75
+ return this._type === MgControlType.CTRL_TYPE_COMBO;
76
+ }
77
+ isListBox() {
78
+ return this._type === MgControlType.CTRL_TYPE_LIST;
79
+ }
80
+ isButton() {
81
+ return this._type === MgControlType.CTRL_TYPE_BUTTON;
82
+ }
83
+ isLabel() {
84
+ return this._type === MgControlType.CTRL_TYPE_LABEL;
85
+ }
86
+ isGroup() {
87
+ return this._type === MgControlType.CTRL_TYPE_GROUP;
88
+ }
89
+ isSelectionCtrl() {
90
+ return this._type === MgControlType.CTRL_TYPE_COMBO || this._type === MgControlType.CTRL_TYPE_LIST;
91
+ }
92
+ isCheckBox() {
93
+ return this._type === MgControlType.CTRL_TYPE_CHECKBOX;
94
+ }
95
+ isColumnControl() {
96
+ return this._type === MgControlType.CTRL_TYPE_COLUMN;
97
+ }
98
+ isChoiceControl() {
99
+ let val = false;
100
+ switch (this._type) {
101
+ case MgControlType.CTRL_TYPE_TAB:
102
+ case MgControlType.CTRL_TYPE_COMBO:
103
+ case MgControlType.CTRL_TYPE_LIST:
104
+ case MgControlType.CTRL_TYPE_RADIO:
105
+ val = true;
106
+ break;
107
+ }
108
+ return val;
109
+ }
110
+ IsImageButton() {
111
+ let result = false;
112
+ if (this.isButton()) {
113
+ result = (this.ButtonStyle === CtrlButtonTypeGui.Image);
114
+ }
115
+ return result;
116
+ }
117
+ IsHyperTextButton() {
118
+ let result = false;
119
+ if (this.isButton()) {
120
+ result = (this.ButtonStyle === CtrlButtonTypeGui.Hypertext);
121
+ }
122
+ return result;
123
+ }
124
+ }
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpTWdDb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9ndWkvR3VpTWdDb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHMUMsTUFBTSxPQUFnQixZQUFhLFNBQVEsV0FBVztJQUF0RDs7UUFDVSxVQUFLLEdBQWtCLGFBQWEsQ0FBQyxjQUFjLENBQUM7UUFtQjVELGdCQUFXLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUN4RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQWE5QixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBRWxCLFNBQUksR0FBVyxJQUFJLENBQUM7UUFDcEIsY0FBUyxHQUFjLElBQUksQ0FBQztJQWlNOUIsQ0FBQztJQWhPQyxJQUFJLElBQUksQ0FBQyxLQUFvQjtRQUMzQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssYUFBYSxDQUFDLGNBQWMsRUFBRTtZQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjthQUNJO1lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFHRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUtELElBQUksWUFBWTtRQUNkLElBQUksTUFBTSxHQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBZSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUks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SUFBSSxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsY0FBYyxDQUFDO0lBQ3JHLENBQUM7SUFJRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztJQUN6RCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7SUFDdkQsQ0FBQztJQU9ELGVBQWU7UUFDYixJQUFJLEdBQUcsR0FBWSxLQUFLLENBQUM7UUFDekIsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2xCLEtBQUssYUFBYSxDQUFDLGFBQWEsQ0FBQztZQUNqQyxLQUFLLGFBQWEsQ0FBQyxlQUFlLENBQUM7WUFDbkMsS0FBSyxhQUFhLENBQUMsY0FBYyxDQUFDO1lBQ2xDLEtBQUssYUFBYSxDQUFDLGVBQWU7Z0JBQ2hDLEdBQUcsR0FBRyxJQUFJLENBQUM7Z0JBQ1gsTUFBTTtTQUNUO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBUUQsYUFBYTtRQUNYLElBQUksTUFBTSxHQUFZLEtBQUssQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuQixNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQVFELGlCQUFpQjtRQUNmLElBQUksTUFBTSxHQUFZLEtBQUssQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuQixNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7Q3RybEJ1dHRvblR5cGVHdWksIE1nQ29udHJvbFR5cGV9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7RGVidWcsIEludDMyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtHdWlNZ0Zvcm19IGZyb20gXCIuL0d1aU1nRm9ybVwiO1xyXG5pbXBvcnQge0NvbnRyb2xCYXNlfSBmcm9tIFwiLi9Db250cm9sQmFzZVwiO1xyXG5cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHdWlNZ0NvbnRyb2wgZXh0ZW5kcyBDb250cm9sQmFzZSB7XHJcbiAgcHJpdmF0ZSBfdHlwZTogTWdDb250cm9sVHlwZSA9IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX05PTkU7XHJcblxyXG5cclxuICBwdWJsaWMgQ29ubmVjdGVkQ29udHJvbDogR3VpTWdDb250cm9sO1xyXG5cclxuICBzZXQgVHlwZSh2YWx1ZTogTWdDb250cm9sVHlwZSkge1xyXG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX05PTkUpIHtcclxuICAgICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIERlYnVnLkFzc2VydChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0IFR5cGUoKTogTWdDb250cm9sVHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcclxuICB9XHJcblxyXG4gIEJ1dHRvblN0eWxlOiBDdHJsQnV0dG9uVHlwZUd1aSA9IEN0cmxCdXR0b25UeXBlR3VpLk5vbmU7XHJcbiAgSXNSZXBlYXRhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBJc1RhYmxlQ2hpbGQoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcGFyZW50OiBHdWlNZ0NvbnRyb2wgPSAoKHRoaXMuZ2V0UGFyZW50KCkgaW5zdGFuY2VvZiBHdWlNZ0NvbnRyb2wpID8gPEd1aU1nQ29udHJvbD50aGlzLmdldFBhcmVudCgpIDogbnVsbCk7XHJcbiAgICBsZXQgcGFyZW50SXNUYWJsZTogYm9vbGVhbiA9IHBhcmVudCAhPT0gbnVsbCAmJiBwYXJlbnQuaXNUYWJsZUNvbnRyb2woKTtcclxuICAgIHJldHVybiBwYXJlbnRJc1RhYmxlICYmICF0aGlzLmlzQ29sdW1uQ29udHJvbCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBJc1RhYmxlSGVhZGVyQ2hpbGQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuSXNSZXBlYXRhYmxlICYmIHRoaXMuSXNUYWJsZUNoaWxkO1xyXG4gIH1cclxuXHJcbiAgTGF5ZXI6IG51bWJlciA9IDA7XHJcblxyXG4gIE5hbWU6IHN0cmluZyA9IG51bGw7XHJcbiAgR3VpTWdGb3JtOiBHdWlNZ0Zvcm0gPSBudWxsO1xyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGdldCB0aGUgbmFtZSBvZiB0aGUgQ29udHJvbCB3aXRoIHRoZSBsaW5lIG51bWJlciBmb3IgcmVwZWF0YWJsZSBjb250cm9sc1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0TmFtZShsaW5lOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xyXG4gICAgaWYgKHRoaXMuSXNSZXBlYXRhYmxlKSB7XHJcbiAgICAgIGlmIChsaW5lID4gSW50MzIuTWluVmFsdWUpIHtcclxuICAgICAgICByZXN1bHQgPSB0aGlzLk5hbWUgKyBcIl9cIiArIGxpbmU7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgLy8gZWxzZSB0aGVyZSBpcyBubyBjdXJyZW50IHJvdywgeWV0IChwYXJzaW5nIHRpbWUgZm9yIGV4YW1wbGUpLiBUcnkgZmlyc3Qgcm93LlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuTmFtZSArIFwiXzBcIjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJlc3VsdCA9IHRoaXMuTmFtZTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBhYnN0cmFjdCBnZXRQYXJlbnQoKTogYW55O1xyXG5cclxuICBhYnN0cmFjdCBnZXQgVGFza1RhZygpOiBzdHJpbmc7XHJcblxyXG4gIGdldCBVbmlxdWVOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5OYW1lO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICByZXR1cm5zIHRydWUgaWYgdGhpcyBjb250cm9sIGlzIGEgc3RhdGljIGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGlzU3RhdGljKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX0xBQkVMIHx8IHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX0dST1VQIHx8IHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1RBQkxFIHx8XHJcbiAgICAgIHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX0NPTFVNTiB8fCB0aGlzLl90eXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9TVEFUVVNfQkFSIHx8IHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1NCX0lNQUdFIHx8XHJcbiAgICAgIHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1NCX0xBQkVMIHx8IHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX0xJTkU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybiB0cnVlIGZvciB0YWJsZSBjb250cm9sXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+XHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBpc1RhYmxlQ29udHJvbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9UQUJMRTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICByZXR1cm4gdHJ1ZSBmb3IgdGFiIGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5cclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIGlzVGFiQ29udHJvbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9UQUI7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICByZXR1cm4gdGV4dCBjb250cm9sXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+XHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBpc1RleHRDb250cm9sKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1RFWFQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJuIHRydWUgZm9yIGltYWdlIGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgaXNJbWFnZUNvbnRyb2woKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfSU1BR0U7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJucyB0cnVlIGlmIHRoaXMgY29udHJvbCBpcyBhIHN1YiBmb3JtIGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGlzU3ViZm9ybSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9TVUJGT1JNO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdHJ1ZSBpZiB0aGlzIGNvbnRyb2wgaXMgYSBzdWIgZm9ybSBjb250cm9sXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBpc1JhZGlvKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1JBRElPO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdHJ1ZSBpZiB0aGlzIGNvbnRyb2wgaXMgYSBDb21ib0JveCBjb250cm9sXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBpc0NvbWJvQm94KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX0NPTUJPO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdHJ1ZSBpZiB0aGlzIGNvbnRyb2wgaXMgYSBMaXN0Qm94IGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGlzTGlzdEJveCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9MSVNUO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdHJ1ZSBpZiB0aGlzIGNvbnRyb2wgaXMgYSBpc0J1dHRvbiBjb250cm9sXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBpc0J1dHRvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9CVVRUT047XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJucyB0cnVlIGlmIHRoaXMgY29udHJvbCBpcyBhIGxhYmVsIGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGlzTGFiZWwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfTEFCRUw7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJucyB0cnVlIGlmIHRoaXMgY29udHJvbCBpcyBhIEdyb3VwIGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGlzR3JvdXAoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfR1JPVVA7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJucyB0cnVlIGlmIHRoZSBjb250cm9sIGlzIGVpdGhlciBjb21ibyBvciBsaXN0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+XHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBpc1NlbGVjdGlvbkN0cmwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfQ09NQk8gfHwgdGhpcy5fdHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfTElTVDtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgaXNDaGVja0JveCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9DSEVDS0JPWDtcclxuICB9XHJcblxyXG4gIGlzQ29sdW1uQ29udHJvbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9DT0xVTU47XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgUmV0dXJucyB0cnVlIGlmIHRoZSBjb250cm9sIGlzIGEgY2hvaWNlIGNvbnRyb2w6IENUUkxfVFlQRV9UQUIsIENUUkxfVFlQRV9DT01CTywgQ1RSTF9UWVBFX0xJU1QsXHJcbiAgLy8vICAgQ1RSTF9UWVBFX1JBRElPXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIGlzQ2hvaWNlQ29udHJvbCgpOiBib29sZWFuIHtcclxuICAgIGxldCB2YWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHN3aXRjaCAodGhpcy5fdHlwZSkge1xyXG4gICAgICBjYXNlIE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1RBQjpcclxuICAgICAgY2FzZSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9DT01CTzpcclxuICAgICAgY2FzZSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9MSVNUOlxyXG4gICAgICBjYXNlIE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1JBRElPOlxyXG4gICAgICAgIHZhbCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJuIFRSVUUgaWYgdGhlIGNvbnRyb2wgaXMgYnV0dG9uIGFuZCBoaXMgc3R5bGUgaXMgdGV4dCBvbiBpbWFnZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBJc0ltYWdlQnV0dG9uKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHJlc3VsdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuaXNCdXR0b24oKSkge1xyXG4gICAgICByZXN1bHQgPSAodGhpcy5CdXR0b25TdHlsZSA9PT0gQ3RybEJ1dHRvblR5cGVHdWkuSW1hZ2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybiBUUlVFIGlmIHRoZSBjb250cm9sIGlzIGJ1dHRvbiBhbmQgaGlzIHN0eWxlIGlzIEh5cGVyIFRleHRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgSXNIeXBlclRleHRCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5pc0J1dHRvbigpKSB7XHJcbiAgICAgIHJlc3VsdCA9ICh0aGlzLkJ1dHRvblN0eWxlID09PSBDdHJsQnV0dG9uVHlwZUd1aS5IeXBlcnRleHQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { ControlBase } from "./ControlBase";
2
+ export class GuiMgForm extends ControlBase {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpTWdGb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9ndWkvR3VpTWdGb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxPQUFnQixTQUFVLFNBQVEsV0FBVztDQUVsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udHJvbEJhc2V9IGZyb20gXCIuL0NvbnRyb2xCYXNlXCI7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR3VpTWdGb3JtIGV4dGVuZHMgQ29udHJvbEJhc2Uge1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,135 @@
1
+ import { Modifiers } from "../GuiEnums";
2
+ import { StringBuilder } from "@magic-xpa/mscorelib";
3
+ import { GuiConstants } from "../GuiConstants";
4
+ export class KeyboardItem {
5
+ constructor(cKeyCodeOrActionId_, cModifierOrKeyCode_, modifier_, states_) {
6
+ this._keyCode = 0;
7
+ this._modifier = Modifiers.MODIFIER_NONE;
8
+ this._states = 0;
9
+ this._actionId = 0;
10
+ if (arguments.length === 2)
11
+ this.constructor_1(cKeyCodeOrActionId_, cModifierOrKeyCode_);
12
+ else
13
+ this.constructor_2(cKeyCodeOrActionId_, cModifierOrKeyCode_, modifier_, states_);
14
+ }
15
+ constructor_1(cKeyCode, cModifier) {
16
+ this._keyCode = cKeyCode;
17
+ this._modifier = cModifier;
18
+ }
19
+ constructor_2(actionId_, keyCode_, modifier_, states_) {
20
+ this._actionId = actionId_;
21
+ this._keyCode = keyCode_;
22
+ this._modifier = modifier_;
23
+ this._states = states_;
24
+ }
25
+ getKeyCode() {
26
+ return this._keyCode;
27
+ }
28
+ getModifier() {
29
+ return this._modifier;
30
+ }
31
+ getStates() {
32
+ return this._states;
33
+ }
34
+ equals(kbdItm) {
35
+ return this === kbdItm || (kbdItm !== null && this._keyCode === kbdItm._keyCode && this._modifier === kbdItm._modifier);
36
+ }
37
+ getAction() {
38
+ return this._actionId;
39
+ }
40
+ setAction(actionId) {
41
+ this._actionId = actionId;
42
+ }
43
+ ToString() {
44
+ let buffer = new StringBuilder();
45
+ let counter = 0;
46
+ switch (this._modifier) {
47
+ case Modifiers.MODIFIER_ALT:
48
+ buffer.Append("Alt+");
49
+ break;
50
+ case Modifiers.MODIFIER_CTRL:
51
+ buffer.Append("Ctrl+");
52
+ break;
53
+ case Modifiers.MODIFIER_SHIFT:
54
+ buffer.Append("Shift+");
55
+ break;
56
+ case Modifiers.MODIFIER_SHIFT_CTRL:
57
+ buffer.Append("Shift+Ctrl+");
58
+ break;
59
+ case Modifiers.MODIFIER_ALT_CTRL:
60
+ buffer.Append("Alt+Ctrl+");
61
+ break;
62
+ case Modifiers.MODIFIER_ALT_SHIFT:
63
+ buffer.Append("Shift+Alt+");
64
+ break;
65
+ case Modifiers.MODIFIER_NONE:
66
+ default:
67
+ break;
68
+ }
69
+ switch (this._keyCode) {
70
+ case GuiConstants.KEY_SPACE:
71
+ buffer.Append("Space");
72
+ break;
73
+ case GuiConstants.KEY_PG_UP:
74
+ buffer.Append("PgUp");
75
+ break;
76
+ case GuiConstants.KEY_PG_DOWN:
77
+ buffer.Append("PgDn");
78
+ break;
79
+ case GuiConstants.KEY_END:
80
+ buffer.Append("End");
81
+ break;
82
+ case GuiConstants.KEY_HOME:
83
+ buffer.Append("Home");
84
+ break;
85
+ case GuiConstants.KEY_LEFT:
86
+ buffer.Append("Left");
87
+ break;
88
+ case GuiConstants.KEY_UP:
89
+ buffer.Append("Up");
90
+ break;
91
+ case GuiConstants.KEY_RIGHT:
92
+ buffer.Append("Rght");
93
+ break;
94
+ case GuiConstants.KEY_DOWN:
95
+ buffer.Append("Down");
96
+ break;
97
+ case GuiConstants.KEY_TAB:
98
+ buffer.Append("Tab");
99
+ break;
100
+ case GuiConstants.KEY_INSERT:
101
+ buffer.Append("Ins");
102
+ break;
103
+ case GuiConstants.KEY_DELETE:
104
+ buffer.Append("Del");
105
+ break;
106
+ case GuiConstants.KEY_RETURN:
107
+ buffer.Append("Ent");
108
+ break;
109
+ case GuiConstants.KEY_ESC:
110
+ buffer.Append("Esc");
111
+ break;
112
+ case GuiConstants.KEY_BACKSPACE:
113
+ buffer.Append("Back");
114
+ break;
115
+ default:
116
+ if (this._keyCode >= GuiConstants.KEY_F1 && this._keyCode <= GuiConstants.KEY_F12) {
117
+ counter = this._keyCode - GuiConstants.KEY_F1 + 1;
118
+ buffer.Append("F" + counter);
119
+ }
120
+ else if (this._keyCode >= GuiConstants.KEY_0 && this._keyCode <= GuiConstants.KEY_9) {
121
+ counter = this._keyCode - GuiConstants.KEY_0;
122
+ buffer.Append(counter);
123
+ }
124
+ else if (this._keyCode >= GuiConstants.KEY_A && this._keyCode <= GuiConstants.KEY_Z) {
125
+ counter = this._keyCode - GuiConstants.KEY_A + ('A').charCodeAt(0);
126
+ buffer.Append(String.fromCharCode(counter));
127
+ }
128
+ else
129
+ buffer.Append("? (" + this._keyCode + ")");
130
+ break;
131
+ }
132
+ return buffer.ToString();
133
+ }
134
+ }
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5Ym9hcmRJdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9ndWkvS2V5Ym9hcmRJdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUs3QyxNQUFNLE9BQU8sWUFBWTtJQVF2QixZQUFZLG1CQUE0QixFQUFFLG1CQUF5QixFQUFFLFNBQXFCLEVBQUUsT0FBZ0I7UUFQcEcsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixjQUFTLEdBQWMsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUMvQyxZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFLNUIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDOztZQUU3RCxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBU08sYUFBYSxDQUFDLFFBQWdCLEVBQUUsU0FBb0I7UUFDMUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVPLGFBQWEsQ0FBQyxTQUFpQixFQUFFLFFBQWdCLEVBQUUsU0FBb0IsRUFBRSxPQUFlO1FBQzlGLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdB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SSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO29CQUM3QyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUN4QjtxQkFDSSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBRW5GO29CQUNFLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25FLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUM3Qzs7b0JBRUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDN0MsTUFBTTtTQUVUO1FBQ0QsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RpZmllcnN9IGZyb20gXCIuLi9HdWlFbnVtc1wiO1xyXG5pbXBvcnQge1N0cmluZ0J1aWxkZXJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0d1aUNvbnN0YW50c30gZnJvbSBcIi4uL0d1aUNvbnN0YW50c1wiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gICBkYXRhIGZvciA8a2JkaXRtPlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmRJdGVtIHtcclxuICBwcml2YXRlIF9rZXlDb2RlOiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgX21vZGlmaWVyOiBNb2RpZmllcnMgPSBNb2RpZmllcnMuTU9ESUZJRVJfTk9ORTsgLy8gQWx0fEN0cmx8U2hpZnR8Tm9uZVxyXG4gIHByaXZhdGUgX3N0YXRlczogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIF9hY3Rpb25JZDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoY0tleUNvZGU6IG51bWJlciwgY01vZGlmaWVyOiBNb2RpZmllcnMpO1xyXG4gIGNvbnN0cnVjdG9yKGFjdGlvbklkXzogbnVtYmVyLCBrZXlDb2RlXzogbnVtYmVyLCBtb2RpZmllcl86IE1vZGlmaWVycywgc3RhdGVzXzogbnVtYmVyKTtcclxuICBjb25zdHJ1Y3RvcihjS2V5Q29kZU9yQWN0aW9uSWRfPzogbnVtYmVyLCBjTW9kaWZpZXJPcktleUNvZGVfPzogYW55LCBtb2RpZmllcl8/OiBNb2RpZmllcnMsIHN0YXRlc18/OiBudW1iZXIpIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzEoY0tleUNvZGVPckFjdGlvbklkXywgY01vZGlmaWVyT3JLZXlDb2RlXyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMihjS2V5Q29kZU9yQWN0aW9uSWRfLCBjTW9kaWZpZXJPcktleUNvZGVfLCBtb2RpZmllcl8sIHN0YXRlc18pO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY0tleUNvZGVcIj5rZXkgY29kZVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY01vZGlmaWVyXCI+bW9kaWZpZXIga2V5OiBBbHR8Q3RybHxTaGlmdHxOb25lXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8xKGNLZXlDb2RlOiBudW1iZXIsIGNNb2RpZmllcjogTW9kaWZpZXJzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9rZXlDb2RlID0gY0tleUNvZGU7XHJcbiAgICB0aGlzLl9tb2RpZmllciA9IGNNb2RpZmllcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMihhY3Rpb25JZF86IG51bWJlciwga2V5Q29kZV86IG51bWJlciwgbW9kaWZpZXJfOiBNb2RpZmllcnMsIHN0YXRlc186IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fYWN0aW9uSWQgPSBhY3Rpb25JZF87XHJcbiAgICB0aGlzLl9rZXlDb2RlID0ga2V5Q29kZV87XHJcbiAgICB0aGlzLl9tb2RpZmllciA9IG1vZGlmaWVyXztcclxuICAgIHRoaXMuX3N0YXRlcyA9IHN0YXRlc187XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJucyB0aGUga2V5IGNvZGUgb2YgdGhlIGtleWJvYXJkIGl0ZW1cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGdldEtleUNvZGUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9rZXlDb2RlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdGhlIG1vZGlmaWVyIG9mIHRoZSBrZXlib2FyZCBpdGVtXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXRNb2RpZmllcigpOiBNb2RpZmllcnMge1xyXG4gICAgcmV0dXJuIHRoaXMuX21vZGlmaWVyO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgc3RhdGVzIG9mIHRoZSBrZXlib2FyZCBpdGVtXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXRTdGF0ZXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGF0ZXM7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY29tcGFyZXMgdGhpcyBrZXlib2FyZCBpdGVtIHRvIGEgZ2l2ZW4ga2V5Ym9hcmQgaXRlbSBhbmQgcmV0dXJucyB0cnVlIGlmIGFuZCBvbmx5IGlmXHJcbiAgLy8vICAgdGhlIGtleWNvZGUgYW5kIHRoZSBtb2RpZmllciBhcmUgZXF1YWxcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwia2JkSXRtXCI+dGhlIGtleWJvYXJkIGl0ZW0gdG8gY29tcGFyZSB0b1xyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIGVxdWFscyhrYmRJdG06IEtleWJvYXJkSXRlbSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMgPT09IGtiZEl0bSB8fCAoa2JkSXRtICE9PSBudWxsICYmIHRoaXMuX2tleUNvZGUgPT09IGtiZEl0bS5fa2V5Q29kZSAmJiB0aGlzLl9tb2RpZmllciA9PT0ga2JkSXRtLl9tb2RpZmllcik7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZ2V0IHRoZSBhY3Rpb24gaWRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGdldEFjdGlvbigpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbklkO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJhY3Rpb25JZFwiPlxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIHNldEFjdGlvbihhY3Rpb25JZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLl9hY3Rpb25JZCA9IGFjdGlvbklkO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHRyYW5zbGF0ZSB0aGUgS2V5Ym9hcmQgSXRlbSB0byBpdHMgU3RyaW5nIHJlcHJlc2VudGF0aW9uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgS2V5Qm9hcmQgSXRlbVxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgVG9TdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIGxldCBidWZmZXI6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpO1xyXG4gICAgbGV0IGNvdW50ZXI6IG51bWJlciA9IDA7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLl9tb2RpZmllcikge1xyXG4gICAgICBjYXNlIE1vZGlmaWVycy5NT0RJRklFUl9BTFQ6XHJcbiAgICAgICAgYnVmZmVyLkFwcGVuZChcIkFsdCtcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIE1vZGlmaWVycy5NT0RJRklFUl9DVFJMOlxyXG4gICAgICAgIGJ1ZmZlci5BcHBlbmQoXCJDdHJsK1wiKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgTW9kaWZpZXJzLk1PRElGSUVSX1NISUZUOlxyXG4gICAgICAgIGJ1ZmZlci5BcHBlbmQoXCJTaGlmdCtcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIE1vZGlmaWVycy5NT0RJRklFUl9TSElGVF9DVFJMOlxyXG4gICAgICAgIGJ1ZmZlci5BcHBlbmQoXCJTaGlmdCtDdHJsK1wiKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgTW9kaWZpZXJzLk1PRElGSUVSX0FMVF9DVFJMOlxyXG4gICAgICAgIGJ1ZmZlci5BcHBlbmQoXCJBbHQrQ3RybCtcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIE1vZGlmaWVycy5NT0RJRklFUl9BTFRfU0hJRlQ6XHJcbiAgICAgICAgYnVmZmVyLkFwcGVuZChcIlNoaWZ0K0FsdCtcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIE1vZGlmaWVycy5NT0RJRklFUl9OT05FOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAodGhpcy5fa2V5Q29kZSkge1xyXG4gICAgICBjYXNlIEd1aUNvbnN0YW50cy5LRVlfU1BBQ0U6XHJcbiAgICAgICAgYnVmZmVyLkFwcGVuZChcIlNwYWNlXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBHdWlDb25zdGFudHMuS0VZX1BHX1VQOlxyXG4gICAgICAgIGJ1ZmZlci5BcHBlbmQoXCJQZ1VwXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBHdWlDb25zdGFudHMuS0VZX1BHX0RPV046XHJcbiAgICAgICAgYnVmZmVyLkFwcGVuZChcIlBnRG5cIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEd1aUNvbnN0YW50cy5LRVlfRU5EOlxyXG4gICAgICAgIGJ1ZmZlci5BcHBlbmQoXCJFbmRcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEd1aUNvbnN0YW50cy5LRVlfSE9NRTpcclxuICAgICAgICBidWZmZXIuQXBwZW5kKFwiSG9tZVwiKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgR3VpQ29uc3RhbnRzLktFWV9MRUZUOlxyXG4gICAgICAgIGJ1ZmZlci5BcHBlbmQoXCJMZWZ0XCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBHdWlDb25zdGFudHMuS0VZX1VQOlxyXG4gICAgICAgIGJ1ZmZlci5BcHBlbmQoXCJVcFwiKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgR3VpQ29uc3RhbnRzLktFWV9SSUdIVDpcclxuICAgICAgICBidWZmZXIuQXBwZW5kKFwiUmdodFwiKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgR3VpQ29uc3RhbnRzLktFWV9ET1dOOlxyXG4gICAgICAgIGJ1ZmZlci5BcHBlbmQoXCJEb3duXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBHdWlDb25zdGFudHMuS0VZX1RBQjpcclxuICAgICAgICBidWZmZXIuQXBwZW5kKFwiVGFiXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBHdWlDb25zdGFudHMuS0VZX0lOU0VSVDpcclxuICAgICAgICBidWZmZXIuQXBwZW5kKFwiSW5zXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBHdWlDb25zdGFudHMuS0VZX0RFTEVURTpcclxuICAgICAgICBidWZmZXIuQXBwZW5kKFwiRGVsXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBHdWlDb25zdGFudHMuS0VZX1JFVFVSTjpcclxuICAgICAgICBidWZmZXIuQXBwZW5kKFwiRW50XCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBHdWlDb25zdGFudHMuS0VZX0VTQzpcclxuICAgICAgICBidWZmZXIuQXBwZW5kKFwiRXNjXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBHdWlDb25zdGFudHMuS0VZX0JBQ0tTUEFDRTpcclxuICAgICAgICBidWZmZXIuQXBwZW5kKFwiQmFja1wiKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgaWYgKHRoaXMuX2tleUNvZGUgPj0gR3VpQ29uc3RhbnRzLktFWV9GMSAmJiB0aGlzLl9rZXlDb2RlIDw9IEd1aUNvbnN0YW50cy5LRVlfRjEyKVxyXG4gICAgICAgIC8vIEtFWV9GMSA9IDExMjsgS0VZX0YxMiA9IDEyMztcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjb3VudGVyID0gdGhpcy5fa2V5Q29kZSAtIEd1aUNvbnN0YW50cy5LRVlfRjEgKyAxO1xyXG4gICAgICAgICAgYnVmZmVyLkFwcGVuZChcIkZcIiArIGNvdW50ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLl9rZXlDb2RlID49IEd1aUNvbnN0YW50cy5LRVlfMCAmJiB0aGlzLl9rZXlDb2RlIDw9IEd1aUNvbnN0YW50cy5LRVlfOSlcclxuICAgICAgICAvLyBLRVlfMCA9IDQ4O0tFWV85ID0gNTc7XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY291bnRlciA9IHRoaXMuX2tleUNvZGUgLSBHdWlDb25zdGFudHMuS0VZXzA7XHJcbiAgICAgICAgICBidWZmZXIuQXBwZW5kKGNvdW50ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLl9rZXlDb2RlID49IEd1aUNvbnN0YW50cy5LRVlfQSAmJiB0aGlzLl9rZXlDb2RlIDw9IEd1aUNvbnN0YW50cy5LRVlfWilcclxuICAgICAgICAvLyBLRVlfQSA9IDY1OyBLRVlfWiA9IDkwO1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGNvdW50ZXIgPSB0aGlzLl9rZXlDb2RlIC0gR3VpQ29uc3RhbnRzLktFWV9BICsgKCdBJykuY2hhckNvZGVBdCgwKTtcclxuICAgICAgICAgIGJ1ZmZlci5BcHBlbmQoU3RyaW5nLmZyb21DaGFyQ29kZShjb3VudGVyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGJ1ZmZlci5BcHBlbmQoXCI/IChcIiArIHRoaXMuX2tleUNvZGUgKyBcIilcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGJ1ZmZlci5Ub1N0cmluZygpO1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -0,0 +1,11 @@
1
+ export class LastFocusedVal {
2
+ constructor(guiMgControl, line, val) {
3
+ this.guiMgControl = null;
4
+ this.Line = 0;
5
+ this.Val = null;
6
+ this.guiMgControl = guiMgControl;
7
+ this.Line = line;
8
+ this.Val = val;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGFzdEZvY3VzZWRWYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL2d1aS9MYXN0Rm9jdXNlZFZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLE9BQU8sY0FBYztJQUt6QixZQUFZLFlBQTBCLEVBQUUsSUFBWSxFQUFFLEdBQVc7UUFKakUsaUJBQVksR0FBaUIsSUFBSSxDQUFDO1FBQ2xDLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsUUFBRyxHQUFXLElBQUksQ0FBQztRQUdqQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0d1aU1nQ29udHJvbH0gZnJvbSBcIi4vR3VpTWdDb250cm9sXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBUaGUgY2xhc3MgaXMgdXNlZCB0byBzdG9yZSAgY29udHJvbCdzIGVkaXRlZCB2YWx1ZSxcclxuLy8vIHNvIGl0IGNvdWxkIGJlIHJlc3RvcmVkIGFmdGVyIGN1cnJlbnQgcmVjb3JkIGlzIHJlcGxhY2VkIGJ5IGRpZmZlcmVudCBjaHVua1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgTGFzdEZvY3VzZWRWYWwge1xyXG4gIGd1aU1nQ29udHJvbDogR3VpTWdDb250cm9sID0gbnVsbDtcclxuICBMaW5lOiBudW1iZXIgPSAwO1xyXG4gIFZhbDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoZ3VpTWdDb250cm9sOiBHdWlNZ0NvbnRyb2wsIGxpbmU6IG51bWJlciwgdmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZ3VpTWdDb250cm9sID0gZ3VpTWdDb250cm9sO1xyXG4gICAgdGhpcy5MaW5lID0gbGluZTtcclxuICAgIHRoaXMuVmFsID0gdmFsO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ export class MgValue {
2
+ constructor() {
3
+ this.str = null;
4
+ this.caption = null;
5
+ this.title = null;
6
+ this.path = null;
7
+ this.filter = null;
8
+ this.boolVal = false;
9
+ this.bool1 = false;
10
+ this.style = 0;
11
+ this.number = 0;
12
+ this.obj = null;
13
+ this.listOfIntArr = null;
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWdWYWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvZ3VpL01nVmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLE9BQU87SUFhbEI7UUFaQSxRQUFHLEdBQVcsSUFBSSxDQUFDO1FBQ25CLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFDdkIsVUFBSyxHQUFXLElBQUksQ0FBQztRQUNyQixTQUFJLEdBQVcsSUFBSSxDQUFDO1FBQ3BCLFdBQU0sR0FBVyxJQUFJLENBQUM7UUFDdEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixRQUFHLEdBQVEsSUFBSSxDQUFDO1FBQ2hCLGlCQUFZLEdBQW1CLElBQUksQ0FBQztJQUlwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xpc3R9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1nVmFsdWUge1xyXG4gIHN0cjogc3RyaW5nID0gbnVsbDtcclxuICBjYXB0aW9uOiBzdHJpbmcgPSBudWxsO1xyXG4gIHRpdGxlOiBzdHJpbmcgPSBudWxsO1xyXG4gIHBhdGg6IHN0cmluZyA9IG51bGw7XHJcbiAgZmlsdGVyOiBzdHJpbmcgPSBudWxsO1xyXG4gIGJvb2xWYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBib29sMTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHN0eWxlOiBudW1iZXIgPSAwO1xyXG4gIG51bWJlcjogbnVtYmVyID0gMDtcclxuICBvYmo6IGFueSA9IG51bGw7XHJcbiAgbGlzdE9mSW50QXJyOiBMaXN0PG51bWJlcltdPiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvcFBhcmVudEludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvZ3VpL1Byb3BQYXJlbnRJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UHJvcGVydHl9IGZyb20gXCIuLi9tYW5hZ2VtZW50L2d1aS9Qcm9wZXJ0eVwiO1xyXG5pbXBvcnQge01nRm9ybUJhc2V9IGZyb20gXCIuLi9tYW5hZ2VtZW50L2d1aS9NZ0Zvcm1CYXNlXCI7XHJcbmltcG9ydCB7U3RvcmFnZUF0dHJpYnV0ZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtSZWZQYXJhbX0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb3BQYXJlbnRJbnRlcmZhY2Uge1xyXG4gIGdldENvbXBJZHgoKTogbnVtYmVyO1xyXG5cclxuICBnZXRQcm9wKHByb3BJZDogbnVtYmVyKTogUHJvcGVydHk7XHJcblxyXG4gIGNoZWNrSWZFeGlzdFByb3AocHJvcElkOiBudW1iZXIpOiBib29sZWFuO1xyXG5cclxuICBnZXRGb3JtKCk6IE1nRm9ybUJhc2U7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICByZXR1cm4gdHJ1ZSBpZiB0aGlzIGlzIGZpcnN0IHJlZnJlc2hcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgSXNGaXJzdFJlZnJlc2hPZlByb3BzKCk6IGJvb2xlYW47XHJcblxyXG4gIEV2YWx1YXRlRXhwcmVzc2lvbihleHBJZDogbnVtYmVyLCByZXNUeXBlOiBTdG9yYWdlQXR0cmlidXRlLCBsZW5ndGg6IG51bWJlciwgY29udGVudFR5cGVVbmljb2RlOiBib29sZWFuLCByZXNDZWxsVHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgYWx3YXlzRXZhbHVhdGU6IGJvb2xlYW4sIHdhc0V2YWx1YXRlZDogUmVmUGFyYW08Ym9vbGVhbj4pOiBQcm9taXNlPHN0cmluZz47XHJcblxyXG4gIEdldEV4cHJlc3Npb25TdG9yYWdlKGV4cElkOiBudW1iZXIpOiBTdG9yYWdlQXR0cmlidXRlO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export class DialogHandler {
2
+ closeDialog() {
3
+ }
4
+ constructor() {
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlhbG9nSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvZ3VpL2xvdy9EaWFsb2dIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxhQUFhO0lBTXhCLFdBQVc7SUFDWCxDQUFDO0lBRUQ7SUFDQSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gICBDcmVhdGVzIGRpYWxvZyBmb3IgcGFzc2VkIHR5cGUgb2Ygb2JqZWN0IGJ5IGNhbGxpbmcgb2JqZWN0cyBjb25zdHJ1Y3RvciBtYXRjaGluZyB0aGUgcGFyYW1ldGVyc1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG4vLy8gPHBhcmFtIG5hbWUgPSBcIm9ialR5cGVcIj50eXBlIG9mIG9iamVjdCB3aG9zZSBjb25zdHJ1Y3RvciB0byBiZSBpbnZva2VkPC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lID0gXCJwYXJhbWV0ZXJzXCI+cGFyYW1ldGVycyB0byBiZSBwYXNzZWQgdG8gb2JqZWN0cyBjb25zdHJ1Y3RvcjwvcGFyYW0+XHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dIYW5kbGVyIHtcclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBkaXNwb3NlKGFuZCBjbG9zZSkgdGhlIGRpYWxvZ1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY2xvc2VEaWFsb2coKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,66 @@
1
+ import { ControlBase } from "../ControlBase";
2
+ export class GuiCommand {
3
+ constructor(commandTypeOrObjOrParentObject, strOrCommandTypeOrObj, cmmandType) {
4
+ this.TaskTag = null;
5
+ this.CommandType = 0;
6
+ this.options = null;
7
+ this.Bool1 = false;
8
+ this.params = null;
9
+ this.fileName = null;
10
+ this.height = 0;
11
+ this.layer = 0;
12
+ this.line = 0;
13
+ this.number = 0;
14
+ this.obj = null;
15
+ this.parentObject = null;
16
+ this.obj1 = null;
17
+ this.str = null;
18
+ this.value = null;
19
+ this.stringList = null;
20
+ this.style = 0;
21
+ this.width = 0;
22
+ this.x = 0;
23
+ this.y = 0;
24
+ this.userDropFormat = null;
25
+ this.contextID = '\0';
26
+ if (arguments.length === 1 && (commandTypeOrObjOrParentObject === null || commandTypeOrObjOrParentObject.constructor === Number)) {
27
+ this.constructor_0(commandTypeOrObjOrParentObject);
28
+ return;
29
+ }
30
+ if (arguments.length === 2 && (commandTypeOrObjOrParentObject === null || commandTypeOrObjOrParentObject.constructor === Number)
31
+ && (strOrCommandTypeOrObj === null || strOrCommandTypeOrObj.constructor === String)) {
32
+ this.constructor_1(commandTypeOrObjOrParentObject, strOrCommandTypeOrObj);
33
+ return;
34
+ }
35
+ else if (arguments.length === 2) {
36
+ this.constructor_2(commandTypeOrObjOrParentObject, strOrCommandTypeOrObj);
37
+ return;
38
+ }
39
+ this.constructor_3(commandTypeOrObjOrParentObject, strOrCommandTypeOrObj, cmmandType);
40
+ }
41
+ constructor_0(commandType) {
42
+ this.CommandType = commandType;
43
+ }
44
+ constructor_1(commandType, str) {
45
+ this.constructor_0(commandType);
46
+ this.str = str;
47
+ }
48
+ constructor_2(obj, commandType) {
49
+ this.constructor_0(commandType);
50
+ this.obj = obj;
51
+ if (this.obj instanceof ControlBase) {
52
+ this.CtrlName = this.obj.UniqueName;
53
+ this.TaskTag = this.obj.TaskTag;
54
+ }
55
+ else if (obj === null)
56
+ this.TaskTag = "0";
57
+ }
58
+ constructor_3(parentObject, obj, cmmandType) {
59
+ this.constructor_2(obj, cmmandType);
60
+ this.parentObject = parentObject;
61
+ }
62
+ toString() {
63
+ return "{" + this.CommandType + "}";
64
+ }
65
+ }
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvZ3VpL2xvdy9HdWlDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxNQUFNLE9BQU8sVUFBVTtJQWdDckIsWUFBWSw4QkFBbUMsRUFBRSxxQkFBMkIsRUFBRSxVQUF3QjtRQS9CdEcsWUFBTyxHQUFXLElBQUksQ0FBQztRQUV2QixnQkFBVyxHQUFnQixDQUFDLENBQUM7UUFDN0IsWUFBTyxHQUFRLElBQUksQ0FBQztRQUNwQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFdBQU0sR0FBYyxJQUFJLENBQUM7UUFDekIsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLFFBQUcsR0FBUSxJQUFJLENBQUM7UUFDaEIsaUJBQVksR0FBUSxJQUFJLENBQUM7UUFDekIsU0FBSSxHQUFRLElBQUksQ0FBQztRQUNqQixRQUFHLEdBQVcsSUFBSSxDQUFDO1FBQ25CLFVBQUssR0FBUSxJQUFJLENBQUM7UUFDbEIsZUFBVSxHQUFpQixJQUFJLENBQUM7UUFDaEMsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLE1BQUMsR0FBVyxDQUFDLENBQUM7UUFDZCxNQUFDLEdBQVcsQ0FBQyxDQUFDO1FBQ2QsbUJBQWMsR0FBVyxJQUFJLENBQUM7UUFDOUIsY0FBUyxHQUFXLElBQUksQ0FBQztRQVV2QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsOEJBQThCLEtBQUssSUFBSSxJQUFJLDhCQUE4QixDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUMsRUFBRTtZQUNoSSxJQUFJLENBQUMsYUFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDbkQsT0FBTztTQUNSO1FBQ0QsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLDhCQUE4QixLQUFLLElBQUksSUFBSSw4QkFBOEIsQ0FBQyxXQUFXLEtBQUssTUFBTSxDQUFDO2VBQzNILENBQUMscUJBQXFCLEtBQUssSUFBSSxJQUFJLHFCQUFxQixDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUMsRUFBRTtZQUNyRixJQUFJLENBQUMsYUFBYSxDQUFDLDhCQUE4QixFQUFFLHFCQUFxQixDQUFDLENBQUM7WUFDMUUsT0FBTztTQUNSO2FBQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUVqQyxJQUFJLENBQUMsYUFBYSxDQUFDLDhCQUE4QixFQUFFLHFCQUFxQixDQUFDLENBQUM7WUFDMUUsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyw4QkFBOEIsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBSU8sYUFBYSxDQUFDLFdBQXdCO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFLTyxhQUFhLENBQUMsV0FBd0IsRUFBRSxHQUFXO1FBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUdPLGFBQWEsQ0FBQyxHQUFRLEVBQUUsV0FBd0I7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLEdBQUcsWUFBWSxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBaUIsSUFBSSxDQUFDLEdBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBaUIsSUFBSSxDQUFDLEdBQUksQ0FBQyxPQUFPLENBQUM7U0FDaEQ7YUFDSSxJQUFHLEdBQUcsS0FBSyxJQUFJO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFNTyxhQUFhLENBQUMsWUFBaUIsRUFBRSxHQUFRLEVBQUUsVUFBdUI7UUFDeEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUdELFFBQVE7UUFDTixPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1hbmRUeXBlfSBmcm9tIFwiLi4vLi4vR3VpRW51bXNcIjtcclxuaW1wb3J0IHtDb250cm9sQmFzZX0gZnJvbSBcIi4uL0NvbnRyb2xCYXNlXCI7XHJcbmltcG9ydCB7TGlzdH0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgR3VpQ29tbWFuZCB7XHJcbiAgVGFza1RhZzogc3RyaW5nID0gbnVsbDtcclxuICBPcGVyYXRpb246IHN0cmluZztcclxuICBDb21tYW5kVHlwZTogQ29tbWFuZFR5cGUgPSAwO1xyXG4gIG9wdGlvbnM6IGFueSA9IG51bGw7XHJcbiAgQm9vbDE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwYXJhbXM6IExpc3Q8YW55PiA9IG51bGw7XHJcbiAgZmlsZU5hbWU6IHN0cmluZyA9IG51bGw7XHJcbiAgaGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gIGxheWVyOiBudW1iZXIgPSAwO1xyXG4gIGxpbmU6IG51bWJlciA9IDA7XHJcbiAgbnVtYmVyOiBudW1iZXIgPSAwO1xyXG4gIG9iajogYW55ID0gbnVsbDtcclxuICBwYXJlbnRPYmplY3Q6IGFueSA9IG51bGw7XHJcbiAgb2JqMTogYW55ID0gbnVsbDtcclxuICBzdHI6IHN0cmluZyA9IG51bGw7XHJcbiAgdmFsdWU6IGFueSA9IG51bGw7XHJcbiAgc3RyaW5nTGlzdDogTGlzdDxzdHJpbmc+ID0gbnVsbDtcclxuICBzdHlsZTogbnVtYmVyID0gMDtcclxuICB3aWR0aDogbnVtYmVyID0gMDtcclxuICB4OiBudW1iZXIgPSAwO1xyXG4gIHk6IG51bWJlciA9IDA7XHJcbiAgdXNlckRyb3BGb3JtYXQ6IHN0cmluZyA9IG51bGw7XHJcbiAgY29udGV4dElEOiBzdHJpbmcgPSAnXFwwJztcclxuXHJcblxyXG4gIHB1YmxpYyBDdHJsTmFtZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUpO1xyXG4gIGNvbnN0cnVjdG9yKGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZSwgc3RyOiBzdHJpbmcpO1xyXG4gIGNvbnN0cnVjdG9yKG9iajogYW55LCBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUpO1xyXG4gIGNvbnN0cnVjdG9yKHBhcmVudE9iamVjdDogYW55LCBvYmo6IGFueSwgY21tYW5kVHlwZTogQ29tbWFuZFR5cGUpO1xyXG4gIGNvbnN0cnVjdG9yKGNvbW1hbmRUeXBlT3JPYmpPclBhcmVudE9iamVjdDogYW55LCBzdHJPckNvbW1hbmRUeXBlT3JPYmo/OiBhbnksIGNtbWFuZFR5cGU/OiBDb21tYW5kVHlwZSkge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgKGNvbW1hbmRUeXBlT3JPYmpPclBhcmVudE9iamVjdCA9PT0gbnVsbCB8fCBjb21tYW5kVHlwZU9yT2JqT3JQYXJlbnRPYmplY3QuY29uc3RydWN0b3IgPT09IE51bWJlcikpIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3Rvcl8wKGNvbW1hbmRUeXBlT3JPYmpPclBhcmVudE9iamVjdCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIChjb21tYW5kVHlwZU9yT2JqT3JQYXJlbnRPYmplY3QgPT09IG51bGwgfHwgY29tbWFuZFR5cGVPck9iak9yUGFyZW50T2JqZWN0LmNvbnN0cnVjdG9yID09PSBOdW1iZXIpXHJcbiAgICAgICYmIChzdHJPckNvbW1hbmRUeXBlT3JPYmogPT09IG51bGwgfHwgc3RyT3JDb21tYW5kVHlwZU9yT2JqLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpKSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMShjb21tYW5kVHlwZU9yT2JqT3JQYXJlbnRPYmplY3QsIHN0ck9yQ29tbWFuZFR5cGVPck9iaik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMikge1xyXG4gICAgICAvLyAmJiAoY29tbWFuZFR5cGVPck9iak9yUGFyZW50T2JqZWN0ID09PSBudWxsIHx8IGNvbW1hbmRUeXBlT3JPYmpPclBhcmVudE9iamVjdC5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSAmJiAoc3RyT3JDb21tYW5kVHlwZU9yT2JqID09PSBudWxsIHx8IHN0ck9yQ29tbWFuZFR5cGVPck9iai5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyKSkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzIoY29tbWFuZFR5cGVPck9iak9yUGFyZW50T2JqZWN0LCBzdHJPckNvbW1hbmRUeXBlT3JPYmopO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbnN0cnVjdG9yXzMoY29tbWFuZFR5cGVPck9iak9yUGFyZW50T2JqZWN0LCBzdHJPckNvbW1hbmRUeXBlT3JPYmosIGNtbWFuZFR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8wKGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZSk6IHZvaWQge1xyXG4gICAgdGhpcy5Db21tYW5kVHlwZSA9IGNvbW1hbmRUeXBlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5Pjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNvbW1hbmRUeXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0clwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8xKGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZSwgc3RyOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uc3RydWN0b3JfMChjb21tYW5kVHlwZSk7XHJcbiAgICB0aGlzLnN0ciA9IHN0cjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT48L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8yKG9iajogYW55LCBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uc3RydWN0b3JfMChjb21tYW5kVHlwZSk7XHJcbiAgICB0aGlzLm9iaiA9IG9iajtcclxuICAgIGlmICh0aGlzLm9iaiBpbnN0YW5jZW9mIENvbnRyb2xCYXNlKSB7XHJcbiAgICAgIHRoaXMuQ3RybE5hbWUgPSAoPENvbnRyb2xCYXNlPnRoaXMub2JqKS5VbmlxdWVOYW1lO1xyXG4gICAgICB0aGlzLlRhc2tUYWcgPSAoPENvbnRyb2xCYXNlPnRoaXMub2JqKS5UYXNrVGFnO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZihvYmogPT09IG51bGwpXHJcbiAgICAgIHRoaXMuVGFza1RhZyA9IFwiMFwiO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHRoaXMgaXMgbXkgY29tbWVudFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJwYXJlbnRPYmplY3RcIj50aGUgcGFyZW50IG9iamVjdCBvZiB0aGUgb2JqZWN0PC9wYXJhbT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzMocGFyZW50T2JqZWN0OiBhbnksIG9iajogYW55LCBjbW1hbmRUeXBlOiBDb21tYW5kVHlwZSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25zdHJ1Y3Rvcl8yKG9iaiwgY21tYW5kVHlwZSk7XHJcbiAgICB0aGlzLnBhcmVudE9iamVjdCA9IHBhcmVudE9iamVjdDtcclxuICB9XHJcblxyXG5cclxuICB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFwie1wiICsgdGhpcy5Db21tYW5kVHlwZSArIFwifVwiO1xyXG4gIH1cclxufVxyXG4iXX0=