@magic-xpa/engine 4.1100.0-dev4110.19 → 4.1100.0-dev4110.191
Sign up to get free protection for your applications and to get access to all the features.
- package/{esm2020 → esm2022}/index.mjs +188 -188
- package/{esm2020 → esm2022}/magic-xpa-engine.mjs +1 -1
- package/esm2022/src/AccessHelper.mjs +15 -0
- package/esm2022/src/ClientManager.mjs +399 -0
- package/esm2022/src/CommandsProcessorBase.mjs +56 -0
- package/esm2022/src/CommandsProcessorManager.mjs +26 -0
- package/esm2022/src/CommandsTable.mjs +162 -0
- package/esm2022/src/ConstInterface.mjs +516 -0
- package/{esm2020 → esm2022}/src/CurrentClientVersion.mjs +2 -2
- package/esm2022/src/FlowMonitorInterface.mjs +16 -0
- package/esm2022/src/GUIManager.mjs +62 -0
- package/esm2022/src/GlobalCommandsManager.mjs +34 -0
- package/esm2022/src/GuiEventsProcessor.mjs +154 -0
- package/{esm2020 → esm2022}/src/ICommandsTable.mjs +1 -1
- package/esm2022/src/ServerConfig.mjs +118 -0
- package/{esm2020 → esm2022}/src/bridge/IGuiEvent.mjs +19 -19
- package/{esm2020 → esm2022}/src/bridge/MagicBridge.mjs +40 -40
- package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +12 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +8 -8
- package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -9
- package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -9
- package/{esm2020 → esm2022}/src/commands/ClientToServer/BrowserEscEventCommand.mjs +23 -23
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommand.mjs +14 -14
- package/esm2022/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +60 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ColumnSortEventCommand.mjs +26 -26
- package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +260 -0
- package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +67 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ComputeEventCommand.mjs +23 -23
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +20 -20
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +19 -19
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -8
- package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/DataviewCommand.mjs +44 -44
- package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +37 -0
- package/esm2022/src/commands/ClientToServer/EventCommand.mjs +40 -0
- package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +67 -0
- package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +22 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +10 -10
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ICommandTaskTag.mjs +1 -1
- package/{esm2020 → esm2022}/src/commands/ClientToServer/IndexChangeEventCommand.mjs +21 -21
- package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +23 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +23 -23
- package/{esm2020 → esm2022}/src/commands/ClientToServer/QueryCommand.mjs +20 -20
- package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +27 -0
- package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +27 -0
- package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +24 -0
- package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +40 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/SelectProgramCommand.mjs +14 -14
- package/{esm2020 → esm2022}/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -9
- package/{esm2020 → esm2022}/src/commands/ClientToServer/SubformOpenEventCommand.mjs +21 -21
- package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +24 -0
- package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +30 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/UnloadCommand.mjs +14 -14
- package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
- package/esm2022/src/commands/DataViewCommandBase.mjs +8 -0
- package/{esm2020 → esm2022}/src/commands/IClientCommand.mjs +1 -1
- package/esm2022/src/commands/IClientTargetedCommand.mjs +13 -0
- package/{esm2020 → esm2022}/src/commands/IClientToServerCommandInfo.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +65 -0
- package/{esm2020 → esm2022}/src/commands/ServerToClient/AddLocateCommand.mjs +21 -21
- package/esm2022/src/commands/ServerToClient/AddRangeCommand.mjs +62 -0
- package/esm2022/src/commands/ServerToClient/AddSortCommand.mjs +33 -0
- package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
- package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +24 -0
- package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
- package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
- package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetLocateCommand.mjs +14 -14
- package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetRangeCommand.mjs +14 -14
- package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetSortCommand.mjs +14 -14
- package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +37 -0
- package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
- package/esm2022/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -0
- package/{esm2020 → esm2022}/src/communications/IConnectionStateManager.mjs +1 -1
- package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +15 -0
- package/{esm2020 → esm2022}/src/data/DataSourceIdKey.mjs +2 -2
- package/esm2022/src/data/DataView.mjs +1613 -0
- package/{esm2020 → esm2022}/src/data/DataViewBase.mjs +3 -3
- package/esm2022/src/data/DataviewManager.mjs +28 -0
- package/esm2022/src/data/DataviewManagerBase.mjs +15 -0
- package/esm2022/src/data/DvCache.mjs +67 -0
- package/esm2022/src/data/Field.mjs +646 -0
- package/esm2022/src/data/FieldBase.mjs +15 -0
- package/esm2022/src/data/FieldsTable.mjs +103 -0
- package/{esm2020 → esm2022}/src/data/IRecordsTable.mjs +1 -1
- package/esm2022/src/data/Key.mjs +88 -0
- package/esm2022/src/data/Record.mjs +866 -0
- package/{esm2020 → esm2022}/src/data/RecordOutOfDataViewException.mjs +15 -15
- package/esm2022/src/data/RecordsTable.mjs +267 -0
- package/esm2022/src/data/TaskTransactionManager.mjs +103 -0
- package/esm2022/src/data/XMLBasedDcValuesBuilder.mjs +74 -0
- package/{esm2020 → esm2022}/src/enums.mjs +23 -23
- package/esm2022/src/env/EnvVariablesTable.mjs +340 -0
- package/esm2022/src/env/Environment.mjs +487 -0
- package/{esm2020 → esm2022}/src/env/ILanguageData.mjs +1 -1
- package/esm2022/src/env/LanguageData.mjs +226 -0
- package/esm2022/src/env/MirrorString.mjs +65 -0
- package/esm2022/src/event/ActionManager.mjs +91 -0
- package/esm2022/src/event/Event.mjs +1333 -0
- package/esm2022/src/event/EventHandler.mjs +766 -0
- package/esm2022/src/event/EventHandlerPosition.mjs +204 -0
- package/esm2022/src/event/EventsManager.mjs +2975 -0
- package/{esm2020 → esm2022}/src/event/IEventsManager.mjs +6 -6
- package/esm2022/src/event/RunTimeEvent.mjs +392 -0
- package/{esm2020 → esm2022}/src/event/RunTimeEventBase.mjs +3 -3
- package/esm2022/src/event/UserEventsTable.mjs +47 -0
- package/esm2022/src/exp/ExpTable.mjs +57 -0
- package/esm2022/src/exp/Expression.mjs +200 -0
- package/esm2022/src/exp/ExpressionDict.mjs +727 -0
- package/esm2022/src/exp/ExpressionEvaluator.mjs +4206 -0
- package/esm2022/src/exp/ExpressionLocalJpn.mjs +314 -0
- package/esm2022/src/exp/GlobalParamsTable.mjs +85 -0
- package/esm2022/src/exp/YesNoExp.mjs +36 -0
- package/esm2022/src/gui/CreatedFormVector.mjs +23 -0
- package/esm2022/src/gui/FormsTable.mjs +66 -0
- package/esm2022/src/gui/MgControl.mjs +363 -0
- package/esm2022/src/gui/MgForm.mjs +1181 -0
- package/esm2022/src/http/HttpManager.mjs +97 -0
- package/esm2022/src/http/client/HttpClientAsync.mjs +68 -0
- package/esm2022/src/http/client/HttpClientBase.mjs +132 -0
- package/esm2022/src/http/client/HttpClientEvents.mjs +39 -0
- package/esm2022/src/http/client/HttpClientSync.mjs +42 -0
- package/esm2022/src/http/client/HttpUtility.mjs +84 -0
- package/{esm2020 → esm2022}/src/http/client/ICommunicationsFailureHandler.mjs +1 -1
- package/esm2022/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -0
- package/esm2022/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -0
- package/esm2022/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -0
- package/esm2022/src/remote/RemoteCommandsProcessor.mjs +882 -0
- package/esm2022/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -0
- package/esm2022/src/remote/RemoteDataViewCommandBase.mjs +24 -0
- package/esm2022/src/remote/RemoteDataViewCommandFactory.mjs +61 -0
- package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +15 -15
- package/{esm2020 → esm2022}/src/remote/RemoteDataviewManager.mjs +17 -17
- package/{esm2020 → esm2022}/src/remote/RemoteInitDataViewCommand.mjs +10 -10
- package/esm2022/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +17 -0
- package/{esm2020 → esm2022}/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +12 -12
- package/esm2022/src/remote/ResetUserSortRemoteDataviewCommand.mjs +16 -0
- package/esm2022/src/remote/ServerError.mjs +40 -0
- package/esm2022/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +20 -0
- package/esm2022/src/rt/Argument.mjs +265 -0
- package/esm2022/src/rt/ArgumentsList.mjs +103 -0
- package/esm2022/src/rt/Boundary.mjs +152 -0
- package/esm2022/src/rt/CompMainPrgTable.mjs +63 -0
- package/{esm2020 → esm2022}/src/rt/DataviewHeaderBase.mjs +98 -96
- package/{esm2020 → esm2022}/src/rt/DataviewHeaderFactory.mjs +6 -6
- package/esm2022/src/rt/DataviewHeaders.mjs +53 -0
- package/esm2022/src/rt/DataviewHeadersSaxHandler.mjs +38 -0
- package/esm2022/src/rt/ExecutionStack.mjs +94 -0
- package/{esm2020 → esm2022}/src/rt/ExecutionStackEntry.mjs +17 -17
- package/esm2022/src/rt/HandlersTable.mjs +96 -0
- package/{esm2020 → esm2022}/src/rt/IDataSourceViewDefinition.mjs +1 -1
- package/{esm2020 → esm2022}/src/rt/IDataviewHeader.mjs +1 -1
- package/{esm2020 → esm2022}/src/rt/IResultValue.mjs +1 -1
- package/esm2022/src/rt/LastFocusedManager.mjs +65 -0
- package/esm2022/src/rt/Operation.mjs +735 -0
- package/esm2022/src/rt/OperationTable.mjs +67 -0
- package/esm2022/src/rt/Recompute.mjs +355 -0
- package/esm2022/src/rt/RecomputeTable.mjs +63 -0
- package/esm2022/src/rt/RemoteDataviewHeader.mjs +108 -0
- package/esm2022/src/rt/ResultValue.mjs +10 -0
- package/esm2022/src/rt/TableCache.mjs +177 -0
- package/esm2022/src/rt/TableCacheManager.mjs +67 -0
- package/esm2022/src/rt/Transaction.mjs +53 -0
- package/esm2022/src/security/UserDetails.mjs +71 -0
- package/{esm2020 → esm2022}/src/tasks/IMGDataCollection.mjs +1 -1
- package/esm2022/src/tasks/MGData.mjs +552 -0
- package/esm2022/src/tasks/MGDataCollection.mjs +252 -0
- package/esm2022/src/tasks/RCTimer.mjs +63 -0
- package/esm2022/src/tasks/RemoteTaskService.mjs +45 -0
- package/esm2022/src/tasks/Task.mjs +2497 -0
- package/esm2022/src/tasks/TaskBase.mjs +83 -0
- package/esm2022/src/tasks/TaskServiceBase.mjs +25 -0
- package/esm2022/src/tasks/TasksTable.mjs +80 -0
- package/esm2022/src/tasks/sort/Sort.mjs +5 -0
- package/esm2022/src/tasks/sort/SortCollection.mjs +67 -0
- package/esm2022/src/util/ConstUtils.mjs +14 -0
- package/esm2022/src/util/FlowMonitorQueue.mjs +451 -0
- package/esm2022/src/util/HeapSort.mjs +70 -0
- package/{esm2020 → esm2022}/src/util/IMirrorXML.mjs +1 -1
- package/{esm2020 → esm2022}/src/util/IServerConfig.mjs +1 -1
- package/{esm2020 → esm2022}/src/util/MgBlockingQueue.mjs +1 -1
- package/esm2022/src/util/MgPriorityBlockingQueue.mjs +74 -0
- package/esm2022/src/util/MgPriorityQueue.mjs +66 -0
- package/{esm2020 → esm2022}/src/util/ParamParseResult.mjs +7 -7
- package/esm2022/src/util/PrmMap.mjs +152 -0
- package/esm2022/src/util/ReturnResult.mjs +46 -0
- package/esm2022/src/util/ReturnResultBase.mjs +18 -0
- package/esm2022/src/util/Scrambler.mjs +89 -0
- package/esm2022/src/util/UniqueIDUtils.mjs +13 -0
- package/esm2022/src/util/cookie.service.mjs +92 -0
- package/{fesm2020 → fesm2022}/magic-xpa-engine.mjs +29713 -29693
- package/fesm2022/magic-xpa-engine.mjs.map +1 -0
- package/index.d.ts +187 -187
- package/package.json +8 -14
- package/src/AccessHelper.d.ts +20 -20
- package/src/ClientManager.d.ts +32 -32
- package/src/CommandsProcessorBase.d.ts +23 -23
- package/src/CommandsProcessorManager.d.ts +6 -6
- package/src/CommandsTable.d.ts +22 -22
- package/src/ConstInterface.d.ts +515 -515
- package/src/CurrentClientVersion.d.ts +1 -1
- package/src/FlowMonitorInterface.d.ts +15 -15
- package/src/GUIManager.d.ts +17 -17
- package/src/GlobalCommandsManager.d.ts +17 -17
- package/src/GuiEventsProcessor.d.ts +24 -24
- package/src/ICommandsTable.d.ts +9 -9
- package/src/ServerConfig.d.ts +34 -34
- package/src/bridge/IGuiEvent.d.ts +19 -19
- package/src/bridge/MagicBridge.d.ts +16 -16
- package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -8
- package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -4
- package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -6
- package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -6
- package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +8 -8
- package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -8
- package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -6
- package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +10 -10
- package/src/commands/ClientToServer/CommandFactory.d.ts +64 -64
- package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -20
- package/src/commands/ClientToServer/ComputeEventCommand.d.ts +8 -8
- package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +7 -7
- package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +7 -7
- package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -6
- package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -9
- package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -32
- package/src/commands/ClientToServer/EvaluateCommand.d.ts +15 -15
- package/src/commands/ClientToServer/EventCommand.d.ts +15 -15
- package/src/commands/ClientToServer/ExecOperCommand.d.ts +23 -23
- package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +8 -8
- package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -5
- package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -3
- package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +8 -8
- package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +10 -10
- package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +8 -8
- package/src/commands/ClientToServer/QueryCommand.d.ts +8 -8
- package/src/commands/ClientToServer/RecomputeCommand.d.ts +11 -11
- package/src/commands/ClientToServer/RefreshEventCommand.d.ts +12 -12
- package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +10 -10
- package/src/commands/ClientToServer/RollbackEventCommand.d.ts +14 -14
- package/src/commands/ClientToServer/SelectProgramCommand.d.ts +6 -6
- package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -5
- package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +8 -8
- package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +9 -9
- package/src/commands/ClientToServer/TransactionCommand.d.ts +12 -12
- package/src/commands/ClientToServer/UnloadCommand.d.ts +7 -7
- package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -6
- package/src/commands/DataViewCommandBase.d.ts +6 -6
- package/src/commands/IClientCommand.d.ts +2 -2
- package/src/commands/IClientTargetedCommand.d.ts +12 -12
- package/src/commands/IClientToServerCommandInfo.d.ts +3 -3
- package/src/commands/ServerToClient/AbortCommand.d.ts +11 -11
- package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -6
- package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -10
- package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -9
- package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -7
- package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -12
- package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -13
- package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -21
- package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -6
- package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -6
- package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -6
- package/src/commands/ServerToClient/ResultCommand.d.ts +10 -10
- package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -17
- package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -11
- package/src/communications/IConnectionStateManager.d.ts +4 -4
- package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -6
- package/src/data/DataSourceIdKey.d.ts +2 -2
- package/src/data/DataView.d.ts +162 -162
- package/src/data/DataViewBase.d.ts +12 -12
- package/src/data/DataviewManager.d.ts +14 -14
- package/src/data/DataviewManagerBase.d.ts +11 -11
- package/src/data/DvCache.d.ts +15 -15
- package/src/data/Field.d.ts +103 -103
- package/src/data/FieldBase.d.ts +23 -23
- package/src/data/FieldsTable.d.ts +27 -27
- package/src/data/IRecordsTable.d.ts +7 -7
- package/src/data/Key.d.ts +15 -15
- package/src/data/Record.d.ts +156 -156
- package/src/data/RecordOutOfDataViewException.d.ts +10 -10
- package/src/data/RecordsTable.d.ts +38 -38
- package/src/data/TaskTransactionManager.d.ts +17 -17
- package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -11
- package/src/enums.d.ts +21 -21
- package/src/env/EnvVariablesTable.d.ts +17 -17
- package/src/env/Environment.d.ts +118 -118
- package/src/env/ILanguageData.d.ts +3 -3
- package/src/env/LanguageData.d.ts +20 -20
- package/src/env/MirrorString.d.ts +15 -15
- package/src/event/ActionManager.d.ts +14 -14
- package/src/event/Event.d.ts +79 -79
- package/src/event/EventHandler.d.ts +66 -66
- package/src/event/EventHandlerPosition.d.ts +25 -25
- package/src/event/EventsManager.d.ts +204 -204
- package/src/event/IEventsManager.d.ts +77 -77
- package/src/event/RunTimeEvent.d.ts +123 -123
- package/src/event/RunTimeEventBase.d.ts +5 -5
- package/src/event/UserEventsTable.d.ts +11 -11
- package/src/exp/ExpTable.d.ts +11 -11
- package/src/exp/Expression.d.ts +37 -37
- package/src/exp/ExpressionDict.d.ts +12 -12
- package/src/exp/ExpressionEvaluator.d.ts +198 -198
- package/src/exp/ExpressionLocalJpn.d.ts +18 -18
- package/src/exp/GlobalParamsTable.d.ts +19 -19
- package/src/exp/YesNoExp.d.ts +9 -9
- package/src/gui/CreatedFormVector.d.ts +10 -10
- package/src/gui/FormsTable.d.ts +15 -15
- package/src/gui/MgControl.d.ts +60 -60
- package/src/gui/MgForm.d.ts +93 -93
- package/src/http/HttpManager.d.ts +25 -25
- package/src/http/client/HttpClientAsync.d.ts +16 -16
- package/src/http/client/HttpClientBase.d.ts +30 -30
- package/src/http/client/HttpClientEvents.d.ts +18 -18
- package/src/http/client/HttpClientSync.d.ts +17 -17
- package/src/http/client/HttpUtility.d.ts +10 -10
- package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -5
- package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -8
- package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -8
- package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -8
- package/src/remote/RemoteCommandsProcessor.d.ts +51 -51
- package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -8
- package/src/remote/RemoteDataViewCommandBase.d.ts +10 -10
- package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -6
- package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -8
- package/src/remote/RemoteDataviewManager.d.ts +9 -9
- package/src/remote/RemoteInitDataViewCommand.d.ts +7 -7
- package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -7
- package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -7
- package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -7
- package/src/remote/ServerError.d.ts +16 -16
- package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -8
- package/src/rt/Argument.d.ts +36 -36
- package/src/rt/ArgumentsList.d.ts +24 -24
- package/src/rt/Boundary.d.ts +27 -27
- package/src/rt/CompMainPrgTable.d.ts +10 -10
- package/src/rt/DataviewHeaderBase.d.ts +34 -34
- package/src/rt/DataviewHeaderFactory.d.ts +5 -5
- package/src/rt/DataviewHeaders.d.ts +12 -12
- package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -10
- package/src/rt/ExecutionStack.d.ts +22 -22
- package/src/rt/ExecutionStackEntry.d.ts +7 -7
- package/src/rt/HandlersTable.d.ts +19 -19
- package/src/rt/IDataSourceViewDefinition.d.ts +6 -6
- package/src/rt/IDataviewHeader.d.ts +10 -10
- package/src/rt/IResultValue.d.ts +4 -4
- package/src/rt/LastFocusedManager.d.ts +23 -23
- package/src/rt/Operation.d.ts +97 -97
- package/src/rt/OperationTable.d.ts +15 -15
- package/src/rt/Recompute.d.ts +41 -41
- package/src/rt/RecomputeTable.d.ts +9 -9
- package/src/rt/RemoteDataviewHeader.d.ts +14 -14
- package/src/rt/ResultValue.d.ts +7 -7
- package/src/rt/TableCache.d.ts +29 -29
- package/src/rt/TableCacheManager.d.ts +10 -10
- package/src/rt/Transaction.d.ts +23 -23
- package/src/security/UserDetails.d.ts +16 -16
- package/src/tasks/IMGDataCollection.d.ts +26 -26
- package/src/tasks/MGData.d.ts +63 -63
- package/src/tasks/MGDataCollection.d.ts +42 -42
- package/src/tasks/RCTimer.d.ts +13 -13
- package/src/tasks/RemoteTaskService.d.ts +16 -16
- package/src/tasks/Task.d.ts +312 -312
- package/src/tasks/TaskBase.d.ts +123 -123
- package/src/tasks/TaskServiceBase.d.ts +16 -16
- package/src/tasks/TasksTable.d.ts +21 -21
- package/src/tasks/sort/Sort.d.ts +4 -4
- package/src/tasks/sort/SortCollection.d.ts +11 -11
- package/src/util/ConstUtils.d.ts +3 -3
- package/src/util/FlowMonitorQueue.d.ts +70 -70
- package/src/util/HeapSort.d.ts +6 -6
- package/src/util/IMirrorXML.d.ts +6 -6
- package/src/util/IServerConfig.d.ts +11 -11
- package/src/util/MgBlockingQueue.d.ts +5 -5
- package/src/util/MgPriorityBlockingQueue.d.ts +17 -17
- package/src/util/MgPriorityQueue.d.ts +13 -13
- package/src/util/ParamParseResult.d.ts +6 -6
- package/src/util/PrmMap.d.ts +28 -28
- package/src/util/ReturnResult.d.ts +18 -18
- package/src/util/ReturnResultBase.d.ts +11 -11
- package/src/util/Scrambler.d.ts +10 -10
- package/src/util/UniqueIDUtils.d.ts +4 -4
- package/src/util/cookie.service.d.ts +8 -8
- package/esm2020/src/AccessHelper.mjs +0 -9
- package/esm2020/src/ClientManager.mjs +0 -399
- package/esm2020/src/CommandsProcessorBase.mjs +0 -58
- package/esm2020/src/CommandsProcessorManager.mjs +0 -26
- package/esm2020/src/CommandsTable.mjs +0 -162
- package/esm2020/src/ConstInterface.mjs +0 -516
- package/esm2020/src/FlowMonitorInterface.mjs +0 -16
- package/esm2020/src/GUIManager.mjs +0 -62
- package/esm2020/src/GlobalCommandsManager.mjs +0 -34
- package/esm2020/src/GuiEventsProcessor.mjs +0 -154
- package/esm2020/src/ServerConfig.mjs +0 -117
- package/esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs +0 -11
- package/esm2020/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +0 -60
- package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +0 -260
- package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -69
- package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
- package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +0 -36
- package/esm2020/src/commands/ClientToServer/EventCommand.mjs +0 -40
- package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +0 -67
- package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -22
- package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -23
- package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +0 -27
- package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -27
- package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -24
- package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -39
- package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -24
- package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +0 -28
- package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
- package/esm2020/src/commands/DataViewCommandBase.mjs +0 -10
- package/esm2020/src/commands/IClientTargetedCommand.mjs +0 -9
- package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +0 -65
- package/esm2020/src/commands/ServerToClient/AddRangeCommand.mjs +0 -62
- package/esm2020/src/commands/ServerToClient/AddSortCommand.mjs +0 -33
- package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
- package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -27
- package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
- package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
- package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +0 -37
- package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
- package/esm2020/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +0 -132
- package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -17
- package/esm2020/src/data/DataView.mjs +0 -1610
- package/esm2020/src/data/DataviewManager.mjs +0 -28
- package/esm2020/src/data/DataviewManagerBase.mjs +0 -15
- package/esm2020/src/data/DvCache.mjs +0 -67
- package/esm2020/src/data/Field.mjs +0 -646
- package/esm2020/src/data/FieldBase.mjs +0 -18
- package/esm2020/src/data/FieldsTable.mjs +0 -103
- package/esm2020/src/data/Key.mjs +0 -88
- package/esm2020/src/data/Record.mjs +0 -846
- package/esm2020/src/data/RecordsTable.mjs +0 -267
- package/esm2020/src/data/TaskTransactionManager.mjs +0 -103
- package/esm2020/src/data/XMLBasedDcValuesBuilder.mjs +0 -74
- package/esm2020/src/env/EnvVariablesTable.mjs +0 -340
- package/esm2020/src/env/Environment.mjs +0 -489
- package/esm2020/src/env/LanguageData.mjs +0 -226
- package/esm2020/src/env/MirrorString.mjs +0 -65
- package/esm2020/src/event/ActionManager.mjs +0 -91
- package/esm2020/src/event/Event.mjs +0 -1333
- package/esm2020/src/event/EventHandler.mjs +0 -766
- package/esm2020/src/event/EventHandlerPosition.mjs +0 -204
- package/esm2020/src/event/EventsManager.mjs +0 -2975
- package/esm2020/src/event/RunTimeEvent.mjs +0 -392
- package/esm2020/src/event/UserEventsTable.mjs +0 -47
- package/esm2020/src/exp/ExpTable.mjs +0 -59
- package/esm2020/src/exp/Expression.mjs +0 -200
- package/esm2020/src/exp/ExpressionDict.mjs +0 -727
- package/esm2020/src/exp/ExpressionEvaluator.mjs +0 -4212
- package/esm2020/src/exp/ExpressionLocalJpn.mjs +0 -314
- package/esm2020/src/exp/GlobalParamsTable.mjs +0 -85
- package/esm2020/src/exp/YesNoExp.mjs +0 -36
- package/esm2020/src/gui/CreatedFormVector.mjs +0 -23
- package/esm2020/src/gui/FormsTable.mjs +0 -66
- package/esm2020/src/gui/MgControl.mjs +0 -353
- package/esm2020/src/gui/MgForm.mjs +0 -1181
- package/esm2020/src/http/HttpManager.mjs +0 -97
- package/esm2020/src/http/client/HttpClientAsync.mjs +0 -67
- package/esm2020/src/http/client/HttpClientBase.mjs +0 -132
- package/esm2020/src/http/client/HttpClientEvents.mjs +0 -39
- package/esm2020/src/http/client/HttpClientSync.mjs +0 -42
- package/esm2020/src/http/client/HttpUtility.mjs +0 -84
- package/esm2020/src/remote/AddUserLocateRemoteDataViewCommand.mjs +0 -18
- package/esm2020/src/remote/AddUserRangeRemoteDataViewCommand.mjs +0 -18
- package/esm2020/src/remote/AddUserSortRemoteDataViewCommand.mjs +0 -18
- package/esm2020/src/remote/RemoteCommandsProcessor.mjs +0 -880
- package/esm2020/src/remote/RemoteControlItemsRefreshCommand.mjs +0 -25
- package/esm2020/src/remote/RemoteDataViewCommandBase.mjs +0 -24
- package/esm2020/src/remote/RemoteDataViewCommandFactory.mjs +0 -61
- package/esm2020/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +0 -17
- package/esm2020/src/remote/ResetUserSortRemoteDataviewCommand.mjs +0 -16
- package/esm2020/src/remote/ServerError.mjs +0 -40
- package/esm2020/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +0 -20
- package/esm2020/src/rt/Argument.mjs +0 -265
- package/esm2020/src/rt/ArgumentsList.mjs +0 -103
- package/esm2020/src/rt/Boundary.mjs +0 -152
- package/esm2020/src/rt/CompMainPrgTable.mjs +0 -65
- package/esm2020/src/rt/DataviewHeaders.mjs +0 -53
- package/esm2020/src/rt/DataviewHeadersSaxHandler.mjs +0 -38
- package/esm2020/src/rt/ExecutionStack.mjs +0 -94
- package/esm2020/src/rt/HandlersTable.mjs +0 -96
- package/esm2020/src/rt/LastFocusedManager.mjs +0 -67
- package/esm2020/src/rt/Operation.mjs +0 -735
- package/esm2020/src/rt/OperationTable.mjs +0 -67
- package/esm2020/src/rt/Recompute.mjs +0 -355
- package/esm2020/src/rt/RecomputeTable.mjs +0 -63
- package/esm2020/src/rt/RemoteDataviewHeader.mjs +0 -108
- package/esm2020/src/rt/ResultValue.mjs +0 -12
- package/esm2020/src/rt/TableCache.mjs +0 -177
- package/esm2020/src/rt/TableCacheManager.mjs +0 -67
- package/esm2020/src/rt/Transaction.mjs +0 -53
- package/esm2020/src/security/UserDetails.mjs +0 -71
- package/esm2020/src/tasks/MGData.mjs +0 -552
- package/esm2020/src/tasks/MGDataCollection.mjs +0 -252
- package/esm2020/src/tasks/RCTimer.mjs +0 -63
- package/esm2020/src/tasks/RemoteTaskService.mjs +0 -45
- package/esm2020/src/tasks/Task.mjs +0 -2495
- package/esm2020/src/tasks/TaskBase.mjs +0 -87
- package/esm2020/src/tasks/TaskServiceBase.mjs +0 -25
- package/esm2020/src/tasks/TasksTable.mjs +0 -80
- package/esm2020/src/tasks/sort/Sort.mjs +0 -7
- package/esm2020/src/tasks/sort/SortCollection.mjs +0 -67
- package/esm2020/src/util/ConstUtils.mjs +0 -14
- package/esm2020/src/util/FlowMonitorQueue.mjs +0 -453
- package/esm2020/src/util/HeapSort.mjs +0 -70
- package/esm2020/src/util/MgPriorityBlockingQueue.mjs +0 -74
- package/esm2020/src/util/MgPriorityQueue.mjs +0 -66
- package/esm2020/src/util/PrmMap.mjs +0 -151
- package/esm2020/src/util/ReturnResult.mjs +0 -46
- package/esm2020/src/util/ReturnResultBase.mjs +0 -18
- package/esm2020/src/util/Scrambler.mjs +0 -89
- package/esm2020/src/util/UniqueIDUtils.mjs +0 -12
- package/esm2020/src/util/cookie.service.mjs +0 -92
- package/fesm2015/magic-xpa-engine.mjs +0 -30835
- package/fesm2015/magic-xpa-engine.mjs.map +0 -1
- package/fesm2020/magic-xpa-engine.mjs.map +0 -1
@@ -1,16 +0,0 @@
|
|
1
|
-
export class FlowMonitorInterface {
|
2
|
-
}
|
3
|
-
FlowMonitorInterface.FLWMTR_START = 0;
|
4
|
-
FlowMonitorInterface.FLWMTR_END = 1;
|
5
|
-
FlowMonitorInterface.FLWMTR_PROPAGATE = 2;
|
6
|
-
FlowMonitorInterface.FLWMTR_EVENT = 7;
|
7
|
-
FlowMonitorInterface.FLWMTR_CHNG_MODE = 8;
|
8
|
-
FlowMonitorInterface.FLWMTR_PREFIX = 15;
|
9
|
-
FlowMonitorInterface.FLWMTR_SUFFIX = 16;
|
10
|
-
FlowMonitorInterface.FLWMTR_CTRL_PREFIX = 18;
|
11
|
-
FlowMonitorInterface.FLWMTR_CTRL_SUFFIX = 19;
|
12
|
-
FlowMonitorInterface.FLWMTR_TSK_HANDLER = 20;
|
13
|
-
FlowMonitorInterface.FLWMTR_RECOMP = 31;
|
14
|
-
FlowMonitorInterface.FLWMTR_DATA_OPER = 41;
|
15
|
-
FlowMonitorInterface.FLWMTR_VARCHG_VALUE = 119;
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvd01vbml0b3JJbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0Zsb3dNb25pdG9ySW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxvQkFBb0I7O0FBQ3hCLGlDQUFZLEdBQVcsQ0FBQyxDQUFDO0FBQ3pCLCtCQUFVLEdBQVcsQ0FBQyxDQUFDO0FBQ3ZCLHFDQUFnQixHQUFXLENBQUMsQ0FBQztBQUc3QixpQ0FBWSxHQUFXLENBQUMsQ0FBQztBQUN6QixxQ0FBZ0IsR0FBVyxDQUFDLENBQUM7QUFFN0Isa0NBQWEsR0FBVyxFQUFFLENBQUM7QUFDM0Isa0NBQWEsR0FBVyxFQUFFLENBQUM7QUFFM0IsdUNBQWtCLEdBQVcsRUFBRSxDQUFDO0FBQ2hDLHVDQUFrQixHQUFXLEVBQUUsQ0FBQztBQUNoQyx1Q0FBa0IsR0FBVyxFQUFFLENBQUM7QUFNaEMsa0NBQWEsR0FBVyxFQUFFLENBQUM7QUFFM0IscUNBQWdCLEdBQVcsRUFBRSxDQUFDO0FBSTlCLHdDQUFtQixHQUFXLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGbG93TW9uaXRvckludGVyZmFjZSB7XHJcbiAgc3RhdGljIEZMV01UUl9TVEFSVDogbnVtYmVyID0gMDtcclxuICBzdGF0aWMgRkxXTVRSX0VORDogbnVtYmVyID0gMTtcclxuICBzdGF0aWMgRkxXTVRSX1BST1BBR0FURTogbnVtYmVyID0gMjtcclxuXHJcblxyXG4gIHN0YXRpYyBGTFdNVFJfRVZFTlQ6IG51bWJlciA9IDc7XHJcbiAgc3RhdGljIEZMV01UUl9DSE5HX01PREU6IG51bWJlciA9IDg7XHJcblxyXG4gIHN0YXRpYyBGTFdNVFJfUFJFRklYOiBudW1iZXIgPSAxNTtcclxuICBzdGF0aWMgRkxXTVRSX1NVRkZJWDogbnVtYmVyID0gMTY7XHJcblxyXG4gIHN0YXRpYyBGTFdNVFJfQ1RSTF9QUkVGSVg6IG51bWJlciA9IDE4O1xyXG4gIHN0YXRpYyBGTFdNVFJfQ1RSTF9TVUZGSVg6IG51bWJlciA9IDE5O1xyXG4gIHN0YXRpYyBGTFdNVFJfVFNLX0hBTkRMRVI6IG51bWJlciA9IDIwO1xyXG5cclxuXHJcblxyXG5cclxuICAvKiBSZWNvbXB1dGUgbWVzc2FnZXMgKi9cclxuICBzdGF0aWMgRkxXTVRSX1JFQ09NUDogbnVtYmVyID0gMzE7XHJcbiAgLyogT3BlcmF0aW9ucyBtZXNzYWdlcyAqL1xyXG4gIHN0YXRpYyBGTFdNVFJfREFUQV9PUEVSOiBudW1iZXIgPSA0MTtcclxuICAvKiBMT0cgbWVzc2FnZXMgKi9cclxuXHJcblxyXG4gIHN0YXRpYyBGTFdNVFJfVkFSQ0hHX1ZBTFVFOiBudW1iZXIgPSAxMTk7XHJcblxyXG59XHJcbiJdfQ==
|
@@ -1,62 +0,0 @@
|
|
1
|
-
import { MsgInterface } from '@magic-xpa/utils';
|
2
|
-
import { Commands, Manager, Styles } from '@magic-xpa/gui';
|
3
|
-
import { RCTimer } from './tasks/RCTimer';
|
4
|
-
import { LanguageData } from './env/LanguageData';
|
5
|
-
import { AccessHelper } from './AccessHelper';
|
6
|
-
export class GUIManager {
|
7
|
-
static get Instance() {
|
8
|
-
if (GUIManager._instance === null)
|
9
|
-
GUIManager._instance = new GUIManager();
|
10
|
-
return GUIManager._instance;
|
11
|
-
}
|
12
|
-
execGuiCommandQueue() {
|
13
|
-
Commands.beginInvoke();
|
14
|
-
}
|
15
|
-
startTimer(mgData, seconds, isIdleTimer) {
|
16
|
-
if (seconds > 0) {
|
17
|
-
let objRCTimer = new RCTimer(mgData, seconds * 1000, isIdleTimer);
|
18
|
-
(objRCTimer).Start();
|
19
|
-
Commands.beginInvoke();
|
20
|
-
}
|
21
|
-
}
|
22
|
-
stopTimer(mgData, seconds, isIdleTimer) {
|
23
|
-
if (seconds > 0)
|
24
|
-
RCTimer.StopTimer(mgData, seconds * 1000, isIdleTimer);
|
25
|
-
}
|
26
|
-
abort(form) {
|
27
|
-
if (arguments.length === 1)
|
28
|
-
this.abort_0(form);
|
29
|
-
else
|
30
|
-
this.abort_1();
|
31
|
-
}
|
32
|
-
abort_0(form) {
|
33
|
-
if (form !== null) {
|
34
|
-
Manager.Abort(form);
|
35
|
-
}
|
36
|
-
}
|
37
|
-
abort_1() {
|
38
|
-
for (let i = AccessHelper.mgDataTable.getSize(); i > 0; i--) {
|
39
|
-
const task = AccessHelper.mgDataTable.getMGData(i - 1).getFirstTask();
|
40
|
-
if (task !== null)
|
41
|
-
this.abort(task.Form);
|
42
|
-
}
|
43
|
-
}
|
44
|
-
async MessageBox(title, msg, style) {
|
45
|
-
await AccessHelper.eventsManager.CheckAndShowSpinner(false);
|
46
|
-
return await Commands.messageBox(title, msg, style);
|
47
|
-
}
|
48
|
-
async writeToMessageBox(titleId, msgId, style) {
|
49
|
-
let title = LanguageData.Instance.getConstMessage(titleId);
|
50
|
-
let msg = LanguageData.Instance.getConstMessage(msgId);
|
51
|
-
return await this.MessageBox(title, msg, style);
|
52
|
-
}
|
53
|
-
async confirm(msgId, style) {
|
54
|
-
return await this.writeToMessageBox(MsgInterface.CONFIRM_STR_WINDOW_TITLE, msgId, style);
|
55
|
-
}
|
56
|
-
async confirm_bool(msgId) {
|
57
|
-
let retResult = await this.confirm(msgId, Styles.MSGBOX_BUTTON_OK_CANCEL);
|
58
|
-
return retResult == Styles.MSGBOX_RESULT_OK;
|
59
|
-
}
|
60
|
-
}
|
61
|
-
GUIManager._instance = null;
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR1VJTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvR1VJTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBR3hDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLNUMsTUFBTSxPQUFPLFVBQVU7SUFLckIsTUFBTSxLQUFLLFFBQVE7UUFDakIsSUFBSSxVQUFVLENBQUMsU0FBUyxLQUFLLElBQUk7WUFDL0IsVUFBVSxDQUFDLFNBQVMsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzFDLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBTUQsbUJBQW1CO1FBQ2pCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBUUQsVUFBVSxDQUFDLE1BQWMsRUFBRSxPQUFlLEVBQUUsV0FBb0I7UUFDOUQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFO1lBRWYsSUFBSSxVQUFVLEdBQVksSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDM0UsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVyQixRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBUUQsU0FBUyxDQUFDLE1BQWMsRUFBRSxPQUFlLEVBQUUsV0FBb0I7UUFDN0QsSUFBSSxPQUFPLEdBQUcsQ0FBQztZQUViLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUlELEtBQUssQ0FBQyxJQUFhO1FBQ2pCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7O1lBRW5CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBTU8sT0FBTyxDQUFDLElBQVk7UUFDMUIsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBS08sT0FBTztRQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNELE1BQU0sSUFBSSxHQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2RSxJQUFHLElBQUksS0FBSyxJQUFJO2dCQUNkLElBQUksQ0FBQyxLQUFLLENBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQVNELEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxLQUFhO1FBRXhELE1BQU0sWUFBWSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1RCxPQUFPLE1BQU0sUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFTRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxLQUFhO1FBQ25FLElBQUksS0FBSyxHQUFXLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLElBQUksR0FBRyxHQUFXLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9ELE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQVNELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBYSxFQUFFLEtBQWM7UUFFekMsT0FBTyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFRTSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQWE7UUFDckMsSUFBSSxTQUFTLEdBQVcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNsRixPQUFPLFNBQVMsSUFBWSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFDdEQsQ0FBQzs7QUE3SGMsb0JBQVMsR0FBZSxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01zZ0ludGVyZmFjZX0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7Q29tbWFuZHMsIE1hbmFnZXIsIFN0eWxlc30gZnJvbSAnQG1hZ2ljLXhwYS9ndWknO1xyXG5pbXBvcnQge01HRGF0YX0gZnJvbSAnLi90YXNrcy9NR0RhdGEnO1xyXG5pbXBvcnQge1JDVGltZXJ9IGZyb20gJy4vdGFza3MvUkNUaW1lcic7XHJcbmltcG9ydCB7TWdGb3JtfSBmcm9tICcuL2d1aS9NZ0Zvcm0nO1xyXG5cclxuaW1wb3J0IHtMYW5ndWFnZURhdGF9IGZyb20gJy4vZW52L0xhbmd1YWdlRGF0YSc7XHJcbmltcG9ydCB7QWNjZXNzSGVscGVyfSBmcm9tICcuL0FjY2Vzc0hlbHBlcic7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyA8L3N1bW1hcnk+XHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBHVUlNYW5hZ2VyIHtcclxuICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IEdVSU1hbmFnZXIgPSBudWxsOyAvLyB0aGUgc2luZ2xlIGluc3RhbmNlIG9mIHRoZSBHVUlNYW5hZ2VyXHJcblxyXG4gIC8vLyAgIHNpbmdsZXRvblxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGdldCBJbnN0YW5jZSgpOiBHVUlNYW5hZ2VyIHtcclxuICAgIGlmIChHVUlNYW5hZ2VyLl9pbnN0YW5jZSA9PT0gbnVsbClcclxuICAgICAgR1VJTWFuYWdlci5faW5zdGFuY2UgPSBuZXcgR1VJTWFuYWdlcigpO1xyXG4gICAgcmV0dXJuIEdVSU1hbmFnZXIuX2luc3RhbmNlO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBleGVjdXRlIHRoZSBjb21tYW5kcyBpbiB0aGUgcXVldWVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGV4ZWNHdWlDb21tYW5kUXVldWUoKTogdm9pZCB7XHJcbiAgICBDb21tYW5kcy5iZWdpbkludm9rZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHN0YXJ0IGEgdGltZXJcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWdkXCI+IE1nRGF0YSA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic2Vjb25kc1wiPmludGVydmFsIGluIGZ1bGwgc2Vjb25kcyB0byBpbnZva2UgdGhlIGZ1bmN0aW9uIChmcm9tIGN1cnJlbnQgdGltZSk8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaXNJZGxlVGltZXJcIj50cnVlIGlmIHRoaXMgdGltZXIgaXMgdGhlIGlkbGUgdGltZXI8L3BhcmFtPlxyXG4gIHN0YXJ0VGltZXIobWdEYXRhOiBNR0RhdGEsIHNlY29uZHM6IG51bWJlciwgaXNJZGxlVGltZXI6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChzZWNvbmRzID4gMCkge1xyXG4gICAgICAvLyBSQ1RpbWVyL01nVGltZXIgd29ya3Mgb24gbWlsbGlzZWNvbmRzIHNvIGNvbnZlcnQgc2Vjb25kcyB0byBtaWxsaXNlY29uZHNcclxuICAgICAgbGV0IG9ialJDVGltZXI6IFJDVGltZXIgPSBuZXcgUkNUaW1lcihtZ0RhdGEsIHNlY29uZHMgKiAxMDAwLCBpc0lkbGVUaW1lcik7XHJcbiAgICAgIChvYmpSQ1RpbWVyKS5TdGFydCgpO1xyXG4gICAgICAvLyBmaXhlZCBidWcgMjg0NTY2LCB3aGlsZSB3ZSBoYXZlIGNvbW1hbmQgaW4gaGUgcXVldWUsIGV4ZWN1dGUgdGhlbVxyXG4gICAgICBDb21tYW5kcy5iZWdpbkludm9rZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHN0b3AgdGhlIHRpbWVyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIk1nRGF0YVwiPiBNZ0RhdGE8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic2Vjb25kc1wiPmludGVydmFsIGluIGZ1bGwgc2Vjb25kcyB0byBpbnZva2UgdGhlIGZ1bmN0aW9uIChmcm9tIGN1cnJlbnQgdGltZSk8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaXNJZGxlVGltZXJcIj50cnVlIGlmIHRoaXMgdGltZXIgaXMgdGhlIGlkbGUgdGltZXI8L3BhcmFtPlxyXG4gIHN0b3BUaW1lcihtZ0RhdGE6IE1HRGF0YSwgc2Vjb25kczogbnVtYmVyLCBpc0lkbGVUaW1lcjogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHNlY29uZHMgPiAwKVxyXG4gICAgLy8gUkNUaW1lci9NZ1RpbWVyIHdvcmtzIG9uIG1pbGxpc2Vjb25kcyBzbyBjb252ZXJ0IHNlY29uZHMgdG8gbWlsbGlzZWNvbmRzXHJcbiAgICAgIFJDVGltZXIuU3RvcFRpbWVyKG1nRGF0YSwgc2Vjb25kcyAqIDEwMDAsIGlzSWRsZVRpbWVyKTtcclxuICB9XHJcblxyXG4gIGFib3J0KGZvcm06IE1nRm9ybSk6IHZvaWQ7XHJcbiAgYWJvcnQoKTogdm9pZDtcclxuICBhYm9ydChmb3JtPzogTWdGb3JtKTogdm9pZCB7XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSlcclxuICAgICAgdGhpcy5hYm9ydF8wKGZvcm0pO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmFib3J0XzEoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGNsb3NlIHRoZSB0YXNrXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImZvcm1cIj4gPC9wYXJhbT5cclxuICBwcml2YXRlIGFib3J0XzAoZm9ybTogTWdGb3JtKTogdm9pZCB7XHJcbiAgICBpZiAoZm9ybSAhPT0gbnVsbCkge1xyXG4gICAgICBNYW5hZ2VyLkFib3J0KGZvcm0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHByb2Nlc3MgQUJPUlQgY29tbWFuZC5DbG9zZSBhbGwgc2hlbGxzLiBMYXN0IHNoZWxsIGNsb3NlZCwgd2lsbCBjbG9zZSB0aGUgZGlzcGxheS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgYWJvcnRfMSgpOiB2b2lkIHtcclxuICAgIGZvciAobGV0IGkgPSBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuZ2V0U2l6ZSgpOyBpID4gMDsgaS0tKSB7XHJcbiAgICAgIGNvbnN0IHRhc2sgPSAgQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmdldE1HRGF0YShpIC0gMSkuZ2V0Rmlyc3RUYXNrKCk7XHJcbiAgICAgIGlmKHRhc2sgIT09IG51bGwpXHJcbiAgICAgICAgdGhpcy5hYm9ydCg8TWdGb3JtPnRhc2suRm9ybSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgT3BlbiBtZXNzYWdlIGJveCB3aXRoIHRpdGxlIHN0cmluZyBhbmQgbWVzc2FnZSBzdHJpbmdcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGl0bGVcIj50aXRsZSBvZiB0aGUgbWVzc2FnZSBib3g8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibXNnXCI+bWVzc2FnZSBmb3IgdGhlIG1lc3NhZ2UgYm94PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0eWxlXCI+dGhlIHN0eWxlIG9mIHRoZSBtZXNzYWdlIGJveCAtLS0gYnV0dG9ucywgaWNvbjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgYnV0dG9uIGNsaWNrZWQgPC9yZXR1cm5zPlxyXG4gIGFzeW5jIE1lc3NhZ2VCb3godGl0bGU6IHN0cmluZywgbXNnOiBzdHJpbmcsIHN0eWxlOiBudW1iZXIpIDogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIC8vIFN0b3AgdGhlIHNwaW5uZXIgYmVmb3JlIHNob3dpbmcgdGhlIG1lc2FnZSBib3hcclxuICAgIGF3YWl0IEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLkNoZWNrQW5kU2hvd1NwaW5uZXIoZmFsc2UpO1xyXG5cclxuICAgIHJldHVybiBhd2FpdCBDb21tYW5kcy5tZXNzYWdlQm94KHRpdGxlLCBtc2csIHN0eWxlKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBPcGVuIG1lc3NhZ2UgYm94IHdpdGggdGl0bGUgaWQgYW5kIG1lc3NhZ2UgaWQgdGhhdCB3aWxsIHRha2UgZnJvbSBNR0JDTCpFTkcueG1sIChjcmVhdGVkIGJ5IG1nY29uc3QpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRpdGxlSWRcIj5tZXNzYWdlIGZyb20gZnJvbSBNR0JDTCpFTkcueG1sPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1zZ0lkXCI+bWVzc2FnZSBmcm9tIGZyb20gTUdCQ0wqRU5HLnhtbDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzdHlsZVwiPnRoZSBzdHlsZSBvZiB0aGUgbWVzc2FnZSBib3ggY2FuIGJlIGZsYWdzIG9mIFN0eWxlcy5NU0dCT1hfeHh4IDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiBtZXNzYWdlIGJveCBzdHlsZSBmcm9tIFN0eWxlcy5NU0dCT1hfWFhYPC9yZXR1cm5zPlxyXG4gIGFzeW5jIHdyaXRlVG9NZXNzYWdlQm94KHRpdGxlSWQ6IHN0cmluZywgbXNnSWQ6IHN0cmluZywgc3R5bGU6IG51bWJlcik6UHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGxldCB0aXRsZTogc3RyaW5nID0gTGFuZ3VhZ2VEYXRhLkluc3RhbmNlLmdldENvbnN0TWVzc2FnZSh0aXRsZUlkKTtcclxuICAgIGxldCBtc2c6IHN0cmluZyA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS5nZXRDb25zdE1lc3NhZ2UobXNnSWQpO1xyXG5cclxuICAgIHJldHVybiBhd2FpdCB0aGlzLk1lc3NhZ2VCb3godGl0bGUsIG1zZywgc3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGRpc3BsYXkgYSBNZXNzYWdlIEJveCAoY29uZmlybSkgd2l0aCAyIGJ1dHRvbnMgLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtc2dJZFwiPm1lc3NhZ2UgbnVtYmVyIChmcm9tIE1zZ0ludGVyZmFjZS5qYXZhKSB0aGF0IHdpbGwgYmUgZGlzcGxheSBvbiB0aGUgY29udGVudCBvZiB0aGUgTWVzc2FnZSBCb3ggPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0eWxlXCI+dGhlIGljb24gYW5kIHRoZSBidXR0b24gdGhhdCB3aWxsIGJlIGRpc3BsYXkgb24gdGhlIGNvbmZpcm1hdGlvbiBib3ggPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBidXR0b24gdGhhdCB3YXMgcHJlc3NlZCAoU3R5bGVzLk1TR0JPWF9CVVRUT05feHh4KSA8L3JldHVybnM+XHJcbiAgYXN5bmMgY29uZmlybShtc2dJZDogc3RyaW5nLCBzdHlsZTogbnVtYmVyKTogUHJvbWlzZTxudW1iZXI+O1xyXG4gIGFzeW5jIGNvbmZpcm0obXNnSWQ6IHN0cmluZywgc3R5bGU/OiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xyXG5cclxuICAgIHJldHVybiBhd2FpdCB0aGlzLndyaXRlVG9NZXNzYWdlQm94KE1zZ0ludGVyZmFjZS5DT05GSVJNX1NUUl9XSU5ET1dfVElUTEUsIG1zZ0lkLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZGlzcGxheSBhIE1lc3NhZ2UgQm94IChjb25maXJtKSB3aXRoIDIgYnV0dG9ucyA6IHllcyAmIG5vIGFuZCBpY29uIHF1ZXN0aW9uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtc2dJZFwiPm1lc3NhZ2UgbnVtYmVyIChmcm9tIE1zZ0ludGVyZmFjZS5qYXZhKSB0aGF0IHdpbGwgYmUgZGlzcGxheSBvbiB0aGUgY29udGVudCBvZiB0aGUgTWVzc2FnZSBCb3hcclxuICAvLy8gICByZXR1cm4gdHJ1ZSBpZiB0aGUgYnV0dG9uIFlFUyB3YXMgcHJlc3NlZFxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIHB1YmxpYyBhc3luYyBjb25maXJtX2Jvb2wobXNnSWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgbGV0IHJldFJlc3VsdDogbnVtYmVyID0gYXdhaXQgdGhpcy5jb25maXJtKG1zZ0lkLCBTdHlsZXMuTVNHQk9YX0JVVFRPTl9PS19DQU5DRUwpO1xyXG4gICAgcmV0dXJuIHJldFJlc3VsdCA9PSA8bnVtYmVyPlN0eWxlcy5NU0dCT1hfUkVTVUxUX09LO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,34 +0,0 @@
|
|
1
|
-
import { List } from "@magic-xpa/mscorelib";
|
2
|
-
export class GlobalCommandsManager {
|
3
|
-
constructor() {
|
4
|
-
this._CommandsExecutedAfterTaskStarted = null;
|
5
|
-
this._cmdFrame = 0;
|
6
|
-
this._unframedCmds = null;
|
7
|
-
this._CommandsExecutedAfterTaskStarted = new List();
|
8
|
-
this._cmdFrame = 0;
|
9
|
-
this._unframedCmds = new List();
|
10
|
-
}
|
11
|
-
getCommandsExecutedAfterTaskStarted() {
|
12
|
-
return this._CommandsExecutedAfterTaskStarted;
|
13
|
-
}
|
14
|
-
addCommandsExecutedAfterTaskStarted(cmd) {
|
15
|
-
this._CommandsExecutedAfterTaskStarted.push(cmd);
|
16
|
-
}
|
17
|
-
removeCommandsExecutedAfterTaskStarted(cmd) {
|
18
|
-
this._CommandsExecutedAfterTaskStarted.Remove(cmd);
|
19
|
-
}
|
20
|
-
add1toCmdFrame() {
|
21
|
-
this._cmdFrame++;
|
22
|
-
}
|
23
|
-
getCmdFrame() {
|
24
|
-
return this._cmdFrame;
|
25
|
-
}
|
26
|
-
addUnframedCmd(cmd) {
|
27
|
-
this._unframedCmds.push(cmd);
|
28
|
-
}
|
29
|
-
getUnframedCmds() {
|
30
|
-
return this._unframedCmds;
|
31
|
-
}
|
32
|
-
}
|
33
|
-
GlobalCommandsManager.Instance = new GlobalCommandsManager();
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsQ29tbWFuZHNNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9HbG9iYWxDb21tYW5kc01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSzVDLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEM7UUFNUSxzQ0FBaUMsR0FBaUMsSUFBSSxDQUFDO1FBQ3ZFLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFDdEIsa0JBQWEsR0FBeUIsSUFBSSxDQUFDO1FBUGpELElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBT0QsbUNBQW1DO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDO0lBQ2hELENBQUM7SUFHRCxtQ0FBbUMsQ0FBQyxHQUEyQjtRQUM3RCxJQUFJLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFJRCxzQ0FBc0MsQ0FBQyxHQUEyQjtRQUNoRSxJQUFJLENBQUMsaUNBQWlDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFJRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFHRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFJRCxjQUFjLENBQUMsR0FBbUI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUdELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7QUFoRE0sOEJBQVEsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdCB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQgeyBJQ2xpZW50VGFyZ2V0ZWRDb21tYW5kIH0gZnJvbSBcIi4vY29tbWFuZHMvSUNsaWVudFRhcmdldGVkQ29tbWFuZFwiO1xyXG5pbXBvcnQgeyBJQ2xpZW50Q29tbWFuZCB9IGZyb20gXCIuL2NvbW1hbmRzL0lDbGllbnRDb21tYW5kXCI7XHJcblxyXG4vLyBzaW5nbGV0b24gY2xhc3MsIG1hbmFnZXMgdGhlIGNvbW1hbmRzIGxpc3RzIHdoaWNoIHdlcmUgbWFuYWdlZCBwcmV2aW91c2x5IGluIENsaWVudE1hbmFnZXJcclxuZXhwb3J0IGNsYXNzIEdsb2JhbENvbW1hbmRzTWFuYWdlciB7XHJcbiAgc3RhdGljIEluc3RhbmNlOiBHbG9iYWxDb21tYW5kc01hbmFnZXIgPSBuZXcgR2xvYmFsQ29tbWFuZHNNYW5hZ2VyKCk7XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9Db21tYW5kc0V4ZWN1dGVkQWZ0ZXJUYXNrU3RhcnRlZCA9IG5ldyBMaXN0KCk7XHJcbiAgICB0aGlzLl9jbWRGcmFtZSA9IDA7XHJcbiAgICB0aGlzLl91bmZyYW1lZENtZHMgPSBuZXcgTGlzdCgpOyAvLyBjbGllbnQgY29tbWFuZHMgd2hpY2ggZG8gbm90IGJlbG9uZyB0byBhbnkgbWdkYXRhIHlldFxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ29tbWFuZHNFeGVjdXRlZEFmdGVyVGFza1N0YXJ0ZWQ6IExpc3Q8SUNsaWVudFRhcmdldGVkQ29tbWFuZD4gPSBudWxsO1xyXG4gIHByaXZhdGUgX2NtZEZyYW1lOiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgX3VuZnJhbWVkQ21kczogTGlzdDxJQ2xpZW50Q29tbWFuZD4gPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdldCBjb21tYW5kcyB3aGljaCBhcmUgdG8gYmUgZXhlY3V0ZWQgYWZ0ZXIgdGFzayBzdGFydGVkPC9zdW1tYXJ5PlxyXG4gIGdldENvbW1hbmRzRXhlY3V0ZWRBZnRlclRhc2tTdGFydGVkKCk6IExpc3Q8SUNsaWVudFRhcmdldGVkQ29tbWFuZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX0NvbW1hbmRzRXhlY3V0ZWRBZnRlclRhc2tTdGFydGVkO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBhZGRzIGEgY29tbWFuZCB0byB0aGUgbGlzdCBvZiBjb21tYW5kcyB3aGljaCBhcmUgdG8gYmUgZXhlY3V0ZWQgYWZ0ZXIgdGFzayBzdGFydGVkLjwvc3VtbWFyeT5cclxuICBhZGRDb21tYW5kc0V4ZWN1dGVkQWZ0ZXJUYXNrU3RhcnRlZChjbWQ6IElDbGllbnRUYXJnZXRlZENvbW1hbmQpOiB2b2lkIHtcclxuICAgIHRoaXMuX0NvbW1hbmRzRXhlY3V0ZWRBZnRlclRhc2tTdGFydGVkLnB1c2goY21kKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJlbW92ZSBhIGNvbW1hbmQgZnJvbSB0aGUgbGlzdDwvc3VtbWFyeT5cclxuICByZW1vdmVDb21tYW5kc0V4ZWN1dGVkQWZ0ZXJUYXNrU3RhcnRlZChjbWQ6IElDbGllbnRUYXJnZXRlZENvbW1hbmQpOiB2b2lkIHtcclxuICAgIHRoaXMuX0NvbW1hbmRzRXhlY3V0ZWRBZnRlclRhc2tTdGFydGVkLlJlbW92ZShjbWQpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYWRkIDEgdG8gY21kRnJhbWUgY291bnRlcjwvc3VtbWFyeT5cclxuICBhZGQxdG9DbWRGcmFtZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NtZEZyYW1lKys7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdldCBjbWRGcmFtZSBjb3VudGVyPC9zdW1tYXJ5PlxyXG4gIGdldENtZEZyYW1lKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fY21kRnJhbWU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBhZGRzIGEgY29tbWFuZCB0byB0aGUgbGlzdCBvZiBjb21tYW5kcyB3aGljaCBhcmUgbm90IGF0dGFjaGVkIHRvIGFueSB3aW5kb3cgeWV0PC9zdW1tYXJ5PlxyXG4gIGFkZFVuZnJhbWVkQ21kKGNtZDogSUNsaWVudENvbW1hbmQpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuZnJhbWVkQ21kcy5wdXNoKGNtZCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdldCBjb21tYW5kcyB3aGljaCBhcmUgbm90IGluIGEgZnJhbWU8L3N1bW1hcnk+XHJcbiAgZ2V0VW5mcmFtZWRDbWRzKCk6IExpc3Q8SUNsaWVudENvbW1hbmQ+IHtcclxuICAgIHJldHVybiB0aGlzLl91bmZyYW1lZENtZHM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -1,154 +0,0 @@
|
|
1
|
-
import { CtrlButtonTypeGui, InternalInterface, Logger, MgControlType, Misc } from '@magic-xpa/utils';
|
2
|
-
import { Events, EventsProcessor, RuntimeContextBase } from '@magic-xpa/gui';
|
3
|
-
import { RunTimeEvent } from './event/RunTimeEvent';
|
4
|
-
import { RCTimer } from './tasks/RCTimer';
|
5
|
-
import { MGDataCollection } from './tasks/MGDataCollection';
|
6
|
-
import { EventsManager } from './event/EventsManager';
|
7
|
-
import { LanguageData } from './env/LanguageData';
|
8
|
-
import { EnvParamsTable } from './env/EnvVariablesTable';
|
9
|
-
import { LastFocusedManager } from './rt/LastFocusedManager';
|
10
|
-
import { ServerConfig } from './ServerConfig';
|
11
|
-
export class GuiEventsProcessor extends EventsProcessor {
|
12
|
-
RegisterSubclassHandlers() {
|
13
|
-
Events.FocusEvent = GuiEventsProcessor.processFocus;
|
14
|
-
Events.FocusOnNonMagicControlEvent = GuiEventsProcessor.processFocusOnNonMagicControl;
|
15
|
-
Events.MouseUpEvent = GuiEventsProcessor.processMouseUp;
|
16
|
-
Events.SelectionEvent = GuiEventsProcessor.processSelection;
|
17
|
-
Events.DisposeEvent = GuiEventsProcessor.processDispose;
|
18
|
-
Events.TimerEvent = GuiEventsProcessor.ProcessTimer;
|
19
|
-
Events.TableResizeEvent = GuiEventsProcessor.processTableResize;
|
20
|
-
Events.GetRowsDataEvent = GuiEventsProcessor.processGetRowsData;
|
21
|
-
Events.NonParkableLastParkedCtrlEvent = GuiEventsProcessor.OnNonParkableLastParkedCtrl;
|
22
|
-
Events.ShowSessionStatisticsEvent = GuiEventsProcessor.ShowSessionStatistics;
|
23
|
-
Events.WriteExceptionToLogEvent = Logger.Instance.WriteExceptionToLogWithMsg.bind(Logger.Instance);
|
24
|
-
Events.WriteErrorToLogEvent = Logger.Instance.WriteErrorToLog.bind(Logger.Instance);
|
25
|
-
Events.WriteWarningToLogEvent = Logger.Instance.WriteWarningToLogWithMsg.bind(Logger.Instance);
|
26
|
-
Events.ShouldLogEvent = Logger.Instance.ShouldLog.bind(Logger.Instance);
|
27
|
-
Events.WriteGuiToLogEvent = Logger.Instance.WriteGuiToLog.bind(Logger.Instance);
|
28
|
-
Events.WriteDevToLogEvent = Logger.Instance.WriteDevToLog.bind(Logger.Instance);
|
29
|
-
Events.TranslateEvent = LanguageData.Instance.translate.bind(LanguageData.Instance);
|
30
|
-
Events.PeekEndOfWorkEvent = GuiEventsProcessor.peekEndOfWork;
|
31
|
-
Events.TranslateLogicalNameEvent = EnvParamsTable.Instance.translate.bind(EnvParamsTable.Instance);
|
32
|
-
Events.GetMainProgramEvent = GuiEventsProcessor.getMainProgram;
|
33
|
-
Events.GetMessageStringEvent = LanguageData.Instance.getConstMessage.bind(LanguageData.Instance);
|
34
|
-
Events.CtrlFocusEvent = GuiEventsProcessor.processCtrlFocus;
|
35
|
-
Events.GetRuntimeContextEvent = GuiEventsProcessor.GetRuntimeContext;
|
36
|
-
Events.SaveLastClickedCtrlEvent = GuiEventsProcessor.SaveLastClickedControlName;
|
37
|
-
Events.SaveLastClickInfoEvent = GuiEventsProcessor.SaveLastClickInfo;
|
38
|
-
Events.OnIsLogonRTLEvent = GuiEventsProcessor.IsLogonRTL;
|
39
|
-
Events.ShouldAddEnterAsKeyEvent = GuiEventsProcessor.ShouldAddEnterAsKeyEvent;
|
40
|
-
}
|
41
|
-
constructor() {
|
42
|
-
super();
|
43
|
-
}
|
44
|
-
static processCtrlFocus(iTask, mgControl) {
|
45
|
-
LastFocusedManager.setLastFocusedControl(iTask, mgControl);
|
46
|
-
}
|
47
|
-
static processFocus(guiMgCtrl, line, isProduceClick, onMultiMark) {
|
48
|
-
let mgControl = guiMgCtrl;
|
49
|
-
EventsManager.Instance.addGuiTriggeredEventWithCtrlAndLineAndCodeAndIsProductClick(mgControl, InternalInterface.MG_ACT_CTRL_FOCUS, line, isProduceClick);
|
50
|
-
}
|
51
|
-
static processFocusOnNonMagicControl(guiMgCtrl) {
|
52
|
-
let mgControl = guiMgCtrl;
|
53
|
-
EventsManager.Instance.addGuiTriggeredEventWithCtrlAndCodeAndLine(mgControl, InternalInterface.MG_ACT_CTRL_FOCUS_ON_NON_MAGIC_CONTROL, mgControl.getDisplayLine(true));
|
54
|
-
}
|
55
|
-
static processMouseUp(guiMgCtrl, line) {
|
56
|
-
let mgControl = guiMgCtrl;
|
57
|
-
let rtEvt = new RunTimeEvent(mgControl, line, true);
|
58
|
-
let produceClick = true;
|
59
|
-
if (mgControl.Type === MgControlType.CTRL_TYPE_BUTTON && guiMgCtrl.ButtonStyle === CtrlButtonTypeGui.Hypertext)
|
60
|
-
produceClick = false;
|
61
|
-
rtEvt.setProduceClick(produceClick);
|
62
|
-
rtEvt.setInternal(InternalInterface.MG_ACT_CTRL_MOUSEUP);
|
63
|
-
EventsManager.Instance.addToTail(rtEvt);
|
64
|
-
}
|
65
|
-
static processDispose(guiMgForm) {
|
66
|
-
let form = guiMgForm;
|
67
|
-
let task = form.getTask();
|
68
|
-
let mgd = task.getMGData();
|
69
|
-
RCTimer.StopAll(mgd);
|
70
|
-
if (mgd.IsAborting)
|
71
|
-
MGDataCollection.Instance.deleteMGDataTree(mgd.GetId());
|
72
|
-
}
|
73
|
-
static ProcessTimer(mgTimer) {
|
74
|
-
let mgd = mgTimer.GetMgdata();
|
75
|
-
let task = mgd.getFirstTask();
|
76
|
-
let seconds = Math.floor((mgTimer.TimerIntervalMiliSeconds) / 1000);
|
77
|
-
let isIdle = mgTimer.IsIdleTimer;
|
78
|
-
if (mgd.IsAborting)
|
79
|
-
return;
|
80
|
-
let rtEvt = new RunTimeEvent(task, true);
|
81
|
-
rtEvt.setTimer(seconds, mgd.GetId(), isIdle);
|
82
|
-
rtEvt.setMainPrgCreator(rtEvt.getTask());
|
83
|
-
if (!isIdle)
|
84
|
-
rtEvt.setCtrl(task.getLastParkedCtrl());
|
85
|
-
rtEvt.setInternal(InternalInterface.MG_ACT_TIMER);
|
86
|
-
EventsManager.Instance.addToTail(rtEvt);
|
87
|
-
}
|
88
|
-
static processTableResize(guiMgCtrl, newRowsInPage) {
|
89
|
-
let mgControl = guiMgCtrl;
|
90
|
-
if (mgControl != null) {
|
91
|
-
let rtEvt = new RunTimeEvent(mgControl, newRowsInPage, true);
|
92
|
-
rtEvt.setInternal(InternalInterface.MG_ACT_RESIZE);
|
93
|
-
EventsManager.Instance.addToTail(rtEvt);
|
94
|
-
}
|
95
|
-
}
|
96
|
-
static processGetRowsData(guiMgCtrl, desiredTopIndex, sendAll, lastFocusedVal) {
|
97
|
-
let mgControl = guiMgCtrl;
|
98
|
-
if (mgControl != null && mgControl.Type === MgControlType.CTRL_TYPE_TABLE) {
|
99
|
-
let rtEvt = new RunTimeEvent(mgControl, desiredTopIndex, true);
|
100
|
-
rtEvt.setInternal(InternalInterface.MG_ACT_ROW_DATA_CURR_PAGE);
|
101
|
-
rtEvt.setSendAll(sendAll);
|
102
|
-
rtEvt.LastFocusedVal = lastFocusedVal;
|
103
|
-
EventsManager.Instance.addToTail(rtEvt);
|
104
|
-
}
|
105
|
-
}
|
106
|
-
static OnNonParkableLastParkedCtrl(ctrl) {
|
107
|
-
}
|
108
|
-
static processSelection(val, guiMgCtrl, line, produceClick) {
|
109
|
-
let mgControl = guiMgCtrl;
|
110
|
-
if (mgControl.Type === MgControlType.CTRL_TYPE_BUTTON && mgControl.getForm().getTask().getLastParkedCtrl() !== mgControl)
|
111
|
-
produceClick = true;
|
112
|
-
if (guiMgCtrl.ConnectedControl) {
|
113
|
-
let rtEvt = new RunTimeEvent(mgControl, +line, true);
|
114
|
-
rtEvt.setInternal(InternalInterface.MG_ACT_ZOOM);
|
115
|
-
rtEvt.setProduceClick(produceClick);
|
116
|
-
EventsManager.Instance.addToTail(rtEvt);
|
117
|
-
}
|
118
|
-
else {
|
119
|
-
let rtEvt = new RunTimeEvent(mgControl, +line, true);
|
120
|
-
rtEvt.setInternal(InternalInterface.MG_ACT_SELECTION);
|
121
|
-
rtEvt.setValue(val);
|
122
|
-
rtEvt.setProduceClick(produceClick);
|
123
|
-
EventsManager.Instance.addToTail(rtEvt);
|
124
|
-
}
|
125
|
-
}
|
126
|
-
processKeyDown(guiMgForm, guiMgCtrl, modifier, keyCode, start, end, text, isActChar, suggestedValue, handled) {
|
127
|
-
LastFocusedManager.Instance.LastActionTime = Misc.getSystemMilliseconds();
|
128
|
-
return super.processKeyDown(guiMgForm, guiMgCtrl, modifier, keyCode, start, end, text, isActChar, suggestedValue, handled);
|
129
|
-
}
|
130
|
-
static peekEndOfWork() {
|
131
|
-
return EventsManager.Instance.getEndOfWork();
|
132
|
-
}
|
133
|
-
static getMainProgram(contextID, ctlIdx) {
|
134
|
-
return MGDataCollection.Instance.GetMainProgByCtlIdx(contextID, ctlIdx);
|
135
|
-
}
|
136
|
-
static GetRuntimeContext(contextID) {
|
137
|
-
return RuntimeContextBase.Instance;
|
138
|
-
}
|
139
|
-
static SaveLastClickedControlName(ctrlName) {
|
140
|
-
RuntimeContextBase.Instance.LastClickedCtrlName = ctrlName;
|
141
|
-
}
|
142
|
-
static SaveLastClickInfo(controlName, X, Y, offsetX, offsetY, LastClickCoordinatesAreInPixels) {
|
143
|
-
RuntimeContextBase.Instance.SaveLastClickInfo(controlName, X, Y, offsetX, offsetY, LastClickCoordinatesAreInPixels);
|
144
|
-
}
|
145
|
-
static IsLogonRTL() {
|
146
|
-
return ServerConfig.Instance.IsLogonRTL();
|
147
|
-
}
|
148
|
-
static ShowSessionStatistics() {
|
149
|
-
}
|
150
|
-
static ShouldAddEnterAsKeyEvent() {
|
151
|
-
return false;
|
152
|
-
}
|
153
|
-
}
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpRXZlbnRzUHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9HdWlFdmVudHNQcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkcsT0FBTyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBUWYsa0JBQWtCLEVBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQWU7SUFDckQsd0JBQXdCO1FBQ3RCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxDQUFDO1FBQ3BELE1BQU0sQ0FBQywyQkFBMkIsR0FBRyxrQkFBa0IsQ0FBQyw2QkFBNkIsQ0FBQztRQUN0RixNQUFNLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztRQUN4RCxNQUFNLENBQUMsY0FBYyxHQUFHLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO1FB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O0lBQzlILENBQUM7SUFNTyxNQUFNLENBQUMsYUFBYTtRQUMxQixPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQU1PLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBaUIsRUFBRSxNQUFjO1FBQzdELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBTU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFNBQWlCO1FBQ2hELE9BQU8sa0JBQWtCLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFPTyxNQUFNLENBQUMsMEJBQTBCLENBQUMsUUFBZ0I7UUFDeEQsa0JBQWtCLENBQUMsUUFBUSxDQUFDLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztJQUM3RCxDQUFDO0lBWU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQW1CLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxPQUFlLEVBQUUsT0FBZSxFQUFFLCtCQUF3QztRQUNwSixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO0lBQ3RILENBQUM7SUFPTyxNQUFNLENBQUMsVUFBVTtRQUN2QixPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUlPLE1BQU0sQ0FBQyxxQkFBcUI7SUFDcEMsQ0FBQztJQU9PLE1BQU0sQ0FBQyx3QkFBd0I7UUFDckMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0N0cmxCdXR0b25UeXBlR3VpLCBJbnRlcm5hbEludGVyZmFjZSwgTG9nZ2VyLCBNZ0NvbnRyb2xUeXBlLCBNaXNjfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHtcclxuICBFdmVudHMsXHJcbiAgRXZlbnRzUHJvY2Vzc29yLFxyXG4gIEd1aU1nQ29udHJvbCxcclxuICBHdWlNZ0Zvcm0sXHJcbiAgSVRhc2ssXHJcbiAgTGFzdEZvY3VzZWRWYWwsXHJcbiAgTWdDb250cm9sQmFzZSxcclxuICBNZ1RpbWVyLFxyXG4gIE1vZGlmaWVycyxcclxuICBSdW50aW1lQ29udGV4dEJhc2VcclxufSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XHJcbmltcG9ydCB7TWdDb250cm9sfSBmcm9tICcuL2d1aS9NZ0NvbnRyb2wnO1xyXG5pbXBvcnQge1J1blRpbWVFdmVudH0gZnJvbSAnLi9ldmVudC9SdW5UaW1lRXZlbnQnO1xyXG5pbXBvcnQge01nRm9ybX0gZnJvbSAnLi9ndWkvTWdGb3JtJztcclxuaW1wb3J0IHtNR0RhdGF9IGZyb20gJy4vdGFza3MvTUdEYXRhJztcclxuaW1wb3J0IHtSQ1RpbWVyfSBmcm9tICcuL3Rhc2tzL1JDVGltZXInO1xyXG5pbXBvcnQge01HRGF0YUNvbGxlY3Rpb259IGZyb20gJy4vdGFza3MvTUdEYXRhQ29sbGVjdGlvbic7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHtFdmVudHNNYW5hZ2VyfSBmcm9tICcuL2V2ZW50L0V2ZW50c01hbmFnZXInO1xyXG5pbXBvcnQge0xhbmd1YWdlRGF0YX0gZnJvbSAnLi9lbnYvTGFuZ3VhZ2VEYXRhJztcclxuaW1wb3J0IHtFbnZQYXJhbXNUYWJsZX0gZnJvbSAnLi9lbnYvRW52VmFyaWFibGVzVGFibGUnO1xyXG5pbXBvcnQge0xhc3RGb2N1c2VkTWFuYWdlcn0gZnJvbSAnLi9ydC9MYXN0Rm9jdXNlZE1hbmFnZXInO1xyXG5pbXBvcnQge1NlcnZlckNvbmZpZ30gZnJvbSAnLi9TZXJ2ZXJDb25maWcnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEd1aUV2ZW50c1Byb2Nlc3NvciBleHRlbmRzIEV2ZW50c1Byb2Nlc3NvciB7XHJcbiAgUmVnaXN0ZXJTdWJjbGFzc0hhbmRsZXJzKCk6IHZvaWQge1xyXG4gICAgRXZlbnRzLkZvY3VzRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc0ZvY3VzO1xyXG4gICAgRXZlbnRzLkZvY3VzT25Ob25NYWdpY0NvbnRyb2xFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzRm9jdXNPbk5vbk1hZ2ljQ29udHJvbDtcclxuICAgIEV2ZW50cy5Nb3VzZVVwRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc01vdXNlVXA7XHJcbiAgICBFdmVudHMuU2VsZWN0aW9uRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc1NlbGVjdGlvbjtcclxuICAgIEV2ZW50cy5EaXNwb3NlRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc0Rpc3Bvc2U7XHJcbiAgICBFdmVudHMuVGltZXJFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5Qcm9jZXNzVGltZXI7XHJcbiAgICBFdmVudHMuVGFibGVSZXNpemVFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzVGFibGVSZXNpemU7XHJcbiAgICBFdmVudHMuR2V0Um93c0RhdGFFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzR2V0Um93c0RhdGE7XHJcbiAgICBFdmVudHMuTm9uUGFya2FibGVMYXN0UGFya2VkQ3RybEV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLk9uTm9uUGFya2FibGVMYXN0UGFya2VkQ3RybDtcclxuICAgIEV2ZW50cy5TaG93U2Vzc2lvblN0YXRpc3RpY3NFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5TaG93U2Vzc2lvblN0YXRpc3RpY3M7XHJcblxyXG4gICAgRXZlbnRzLldyaXRlRXhjZXB0aW9uVG9Mb2dFdmVudCA9IExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuV3JpdGVFcnJvclRvTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFcnJvclRvTG9nLmJpbmQoTG9nZ2VyLkluc3RhbmNlKTtcclxuICAgIEV2ZW50cy5Xcml0ZVdhcm5pbmdUb0xvZ0V2ZW50ID0gTG9nZ2VyLkluc3RhbmNlLldyaXRlV2FybmluZ1RvTG9nV2l0aE1zZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuU2hvdWxkTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuU2hvdWxkTG9nLmJpbmQoTG9nZ2VyLkluc3RhbmNlKTtcclxuICAgIEV2ZW50cy5Xcml0ZUd1aVRvTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuV3JpdGVHdWlUb0xvZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuV3JpdGVEZXZUb0xvZ0V2ZW50ID0gTG9nZ2VyLkluc3RhbmNlLldyaXRlRGV2VG9Mb2cuYmluZChMb2dnZXIuSW5zdGFuY2UpO1xyXG5cclxuICAgIEV2ZW50cy5UcmFuc2xhdGVFdmVudCA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS50cmFuc2xhdGUuYmluZChMYW5ndWFnZURhdGEuSW5zdGFuY2UpO1xyXG5cclxuICAgIEV2ZW50cy5QZWVrRW5kT2ZXb3JrRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucGVla0VuZE9mV29yaztcclxuXHJcbiAgICBFdmVudHMuVHJhbnNsYXRlTG9naWNhbE5hbWVFdmVudCA9IEVudlBhcmFtc1RhYmxlLkluc3RhbmNlLnRyYW5zbGF0ZS5iaW5kKEVudlBhcmFtc1RhYmxlLkluc3RhbmNlKTtcclxuICAgIEV2ZW50cy5HZXRNYWluUHJvZ3JhbUV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLmdldE1haW5Qcm9ncmFtO1xyXG4gICAgRXZlbnRzLkdldE1lc3NhZ2VTdHJpbmdFdmVudCA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS5nZXRDb25zdE1lc3NhZ2UuYmluZChMYW5ndWFnZURhdGEuSW5zdGFuY2UpO1xyXG5cclxuICAgIEV2ZW50cy5DdHJsRm9jdXNFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzQ3RybEZvY3VzO1xyXG4gICAgRXZlbnRzLkdldFJ1bnRpbWVDb250ZXh0RXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuR2V0UnVudGltZUNvbnRleHQ7XHJcbiAgICBFdmVudHMuU2F2ZUxhc3RDbGlja2VkQ3RybEV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLlNhdmVMYXN0Q2xpY2tlZENvbnRyb2xOYW1lO1xyXG4gICAgRXZlbnRzLlNhdmVMYXN0Q2xpY2tJbmZvRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuU2F2ZUxhc3RDbGlja0luZm87XHJcblxyXG5cclxuICAgIEV2ZW50cy5PbklzTG9nb25SVExFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5Jc0xvZ29uUlRMO1xyXG4gICAgRXZlbnRzLlNob3VsZEFkZEVudGVyQXNLZXlFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5TaG91bGRBZGRFbnRlckFzS2V5RXZlbnQ7XHJcblxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBDVE9SIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpVGFza1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWdDb250cm9sXCI+PC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzQ3RybEZvY3VzKGlUYXNrOiBJVGFzaywgbWdDb250cm9sOiBNZ0NvbnRyb2xCYXNlKTogdm9pZCB7XHJcbiAgICBMYXN0Rm9jdXNlZE1hbmFnZXIuc2V0TGFzdEZvY3VzZWRDb250cm9sKDxUYXNrPmlUYXNrLCBtZ0NvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnByb2Nlc3MgXCJmb2N1c1wiIGV2ZW50PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGluZVwiPnRoZSBsaW5lIG9mIG11bHRpbGluZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IFRSVUUgaWYgTWFnaWMgaW50ZXJuYWwgcnVsZXMgYWxsb3cgdXMgdG8gcGVyZm9ybSB0aGUgZm9jdXMuXHJcbiAgLy8vICAgc29tZXRpbWVzLCBNYWdpYyBmb3JjZXMgdXMgdG8gcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBjb250cm9sIHRodXMgRkFMU0Ugd2lsbCBiZSByZXR1cm5lZC5cclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NGb2N1cyhndWlNZ0N0cmw6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyLCBpc1Byb2R1Y2VDbGljazogYm9vbGVhbiwgb25NdWx0aU1hcms6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBtZ0NvbnRyb2w6IE1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRHdWlUcmlnZ2VyZWRFdmVudFdpdGhDdHJsQW5kTGluZUFuZENvZGVBbmRJc1Byb2R1Y3RDbGljayhtZ0NvbnRyb2wsIEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9DVFJMX0ZPQ1VTLCBsaW5lLCBpc1Byb2R1Y2VDbGljayk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBcImZvY3VzXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJndWlNZ0N0cmxcIj50aGUgY29udHJvbDwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcHJvY2Vzc0ZvY3VzT25Ob25NYWdpY0NvbnRyb2woZ3VpTWdDdHJsOiBHdWlNZ0NvbnRyb2wpOiB2b2lkIHtcclxuICAgIGxldCBtZ0NvbnRyb2w6IE1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRHdWlUcmlnZ2VyZWRFdmVudFdpdGhDdHJsQW5kQ29kZUFuZExpbmUobWdDb250cm9sLCBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ1RSTF9GT0NVU19PTl9OT05fTUFHSUNfQ09OVFJPTCwgbWdDb250cm9sLmdldERpc3BsYXlMaW5lKHRydWUpKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5wcm9jZXNzIFwiY2xpY2tcIiBldmVudDwvc3VtbWFyeT5cclxuICAvLy88cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+dGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGluZVwiPiB0aGUgbGluZSBvZiB0aGUgbXVsdGlsaW5lIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NNb3VzZVVwKGd1aU1nQ3RybDogR3VpTWdDb250cm9sLCBsaW5lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBtZ0NvbnRyb2wgPSA8TWdDb250cm9sPmd1aU1nQ3RybDtcclxuICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQobWdDb250cm9sLCBsaW5lLCB0cnVlKTtcclxuICAgIGxldCBwcm9kdWNlQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGlmIChtZ0NvbnRyb2wuVHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfQlVUVE9OICYmIGd1aU1nQ3RybC5CdXR0b25TdHlsZSA9PT0gQ3RybEJ1dHRvblR5cGVHdWkuSHlwZXJ0ZXh0KVxyXG4gICAgICBwcm9kdWNlQ2xpY2sgPSBmYWxzZTtcclxuXHJcbiAgICBydEV2dC5zZXRQcm9kdWNlQ2xpY2socHJvZHVjZUNsaWNrKTtcclxuICAgIHJ0RXZ0LnNldEludGVybmFsKEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9DVFJMX01PVVNFVVApO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRUb1RhaWwocnRFdnQpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFJlbGVhc2UgcmVmZXJlbmNlcyB0byBtZ0RhdGEgYW5kIHRvIHRoZSB0YXNrIGluIG9yZGVyIHRvIGxldCB0aGUgZ2MgdG8gZnJlZSB0aGUgbWVtb3J5LlxyXG4gIC8vLyAgIFRoaXMgY29kZSB3YXMgbW92ZWQgZnJvbSBwcm9jZXNzQ2xvc2UgaW4gb3JkZXIgdG8gY2xlYW4gYWxzbyB3aGVuIHRoZSBcIm9wZW4gd2luZG93ID0gTk9cIiAobm9uIGludGVyYWN0aXZlIHRhc2tzKS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZm9ybVwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcHJvY2Vzc0Rpc3Bvc2UoZ3VpTWdGb3JtOiBHdWlNZ0Zvcm0pOiB2b2lkIHtcclxuICAgIGxldCBmb3JtID0gPE1nRm9ybT5ndWlNZ0Zvcm07XHJcbiAgICBsZXQgdGFzayA9IDxUYXNrPmZvcm0uZ2V0VGFzaygpO1xyXG4gICAgbGV0IG1nZDogTUdEYXRhID0gdGFzay5nZXRNR0RhdGEoKTtcclxuXHJcbiAgICBSQ1RpbWVyLlN0b3BBbGwobWdkKTtcclxuXHJcbiAgICBpZiAobWdkLklzQWJvcnRpbmcpXHJcbiAgICAgIE1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuZGVsZXRlTUdEYXRhVHJlZShtZ2QuR2V0SWQoKSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBcInRpbWVyXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtZ1RpbWVyXCI+b2JqZWN0IG9mICdNZ1RpbWVyJyBjbGFzczwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgUHJvY2Vzc1RpbWVyKG1nVGltZXI6IE1nVGltZXIpOiB2b2lkIHtcclxuICAgIGxldCBtZ2Q6IE1HRGF0YSA9ICg8UkNUaW1lcj5tZ1RpbWVyKS5HZXRNZ2RhdGEoKTtcclxuICAgIGxldCB0YXNrID0gbWdkLmdldEZpcnN0VGFzaygpO1xyXG5cclxuICAgIC8vIE1nVGltZXIvUkNUaW1lciB1c2VzIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyBidXQgUnVudGltZUV2ZW50IHVzZXMgaW50ZXJ2YWwgaW4gc2Vjb25kc1xyXG4gICAgLy8gc28gY29udmVydCBpdCB0byBzZWNvbmRzLlxyXG4gICAgbGV0IHNlY29uZHM6IG51bWJlciA9IE1hdGguZmxvb3IoKCg8UkNUaW1lcj5tZ1RpbWVyKS5UaW1lckludGVydmFsTWlsaVNlY29uZHMpIC8gMTAwMCk7XHJcbiAgICBsZXQgaXNJZGxlOiBib29sZWFuID0gKDxSQ1RpbWVyPm1nVGltZXIpLklzSWRsZVRpbWVyO1xyXG5cclxuICAgIGlmIChtZ2QuSXNBYm9ydGluZylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQodGFzaywgdHJ1ZSk7XHJcbiAgICBydEV2dC5zZXRUaW1lcihzZWNvbmRzLCBtZ2QuR2V0SWQoKSwgaXNJZGxlKTtcclxuICAgIHJ0RXZ0LnNldE1haW5QcmdDcmVhdG9yKHJ0RXZ0LmdldFRhc2soKSk7XHJcblxyXG4gICAgaWYgKCFpc0lkbGUpXHJcbiAgICAgIHJ0RXZ0LnNldEN0cmwoPE1nQ29udHJvbD50YXNrLmdldExhc3RQYXJrZWRDdHJsKCkpO1xyXG5cclxuICAgIHJ0RXZ0LnNldEludGVybmFsKEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9USU1FUik7XHJcbiAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLmFkZFRvVGFpbChydEV2dCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBSZXNpemUgb2YgdGhlIHBhZ2UsIGZvciB0YWJsZSBjb250cm9scyBvbmx5PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm5ld1Jvd3NJblBhZ2VcIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NUYWJsZVJlc2l6ZShndWlNZ0N0cmw6IEd1aU1nQ29udHJvbCwgbmV3Um93c0luUGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgIGxldCBtZ0NvbnRyb2wgPSA8TWdDb250cm9sPmd1aU1nQ3RybDtcclxuICAgICAgaWYgKG1nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgICAgICBsZXQgcnRFdnQgPSBuZXcgUnVuVGltZUV2ZW50KG1nQ29udHJvbCwgbmV3Um93c0luUGFnZSwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfUkVTSVpFKTtcclxuICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkVG9UYWlsKHJ0RXZ0KTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnByb2Nlc3Mgc2V0IGRhdGEgZm9yIHJvdzwvc3VtbWFyeT5cclxuICAvLy88cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+dGFibGUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzZW5kQWxsXCI+aWYgdHJ1ZSAsIGFsd2F5cyBzZW5kIGFsbCByZWNvcmRzPC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzR2V0Um93c0RhdGEoZ3VpTWdDdHJsOiBHdWlNZ0NvbnRyb2wsIGRlc2lyZWRUb3BJbmRleDogbnVtYmVyLCBzZW5kQWxsOiBib29sZWFuLCBsYXN0Rm9jdXNlZFZhbDogTGFzdEZvY3VzZWRWYWwpOiB2b2lkIHtcclxuICAgICAgbGV0IG1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG5cclxuICAgICAgaWYgKG1nQ29udHJvbCAhPSBudWxsICYmIG1nQ29udHJvbC5UeXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9UQUJMRSkge1xyXG4gICAgICAgICAgbGV0IHJ0RXZ0ID0gbmV3IFJ1blRpbWVFdmVudChtZ0NvbnRyb2wsIGRlc2lyZWRUb3BJbmRleCwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfUk9XX0RBVEFfQ1VSUl9QQUdFKTtcclxuICAgICAgICAgIHJ0RXZ0LnNldFNlbmRBbGwoc2VuZEFsbCk7XHJcbiAgICAgICAgICBydEV2dC5MYXN0Rm9jdXNlZFZhbCA9IGxhc3RGb2N1c2VkVmFsO1xyXG4gICAgICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRUb1RhaWwocnRFdnQpO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBJZiBjdXJyZW50IGNvbnRyb2wgYmVjb21lcyBpbnZpc2libGUvZGlzYWJsZWQvbm9uIHBhcmthYmxlLCB0aGVuIHB1dCBNR19BQ1RfVEJMX05YVEZMRCBpbnRvIHF1ZXVlLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3RybFwiPmNvbnRyb2wgd2hvc2UgcHJvcGVydHkgaXMgY2hhbmdlZC48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIE9uTm9uUGFya2FibGVMYXN0UGFya2VkQ3RybChjdHJsOiBHdWlNZ0NvbnRyb2wpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5wcm9jZXNzIFwic2VsZWN0aW9uXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ2YWxcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImd1aU1nQ3RybFwiPnRoZSBjb250cm9sIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJsaW5lXCI+IHRoZSBsaW5lIG9mIHRoZSBtdWx0aWxpbmUgY29udHJvbCA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicHJvZHVjZUNsaWNrXCI+VE9ETyA8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NTZWxlY3Rpb24odmFsOiBzdHJpbmcsIGd1aU1nQ3RybDogR3VpTWdDb250cm9sLCBsaW5lOiBudW1iZXIsIHByb2R1Y2VDbGljazogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgbGV0IG1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG4gICAgaWYgKG1nQ29udHJvbC5UeXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9CVVRUT04gJiYgbWdDb250cm9sLmdldEZvcm0oKS5nZXRUYXNrKCkuZ2V0TGFzdFBhcmtlZEN0cmwoKSAhPT0gbWdDb250cm9sKVxyXG4gICAgICBwcm9kdWNlQ2xpY2sgPSB0cnVlO1xyXG5cclxuICAgIGlmKGd1aU1nQ3RybC5Db25uZWN0ZWRDb250cm9sKVxyXG4gICAge1xyXG4gICAgICBsZXQgcnRFdnQgPSBuZXcgUnVuVGltZUV2ZW50KG1nQ29udHJvbCwgK2xpbmUsIHRydWUpO1xyXG4gICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfWk9PTSk7XHJcbiAgICAgIHJ0RXZ0LnNldFByb2R1Y2VDbGljayhwcm9kdWNlQ2xpY2spO1xyXG4gICAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLmFkZFRvVGFpbChydEV2dCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IHJ0RXZ0ID0gbmV3IFJ1blRpbWVFdmVudChtZ0NvbnRyb2wsICtsaW5lLCB0cnVlKTtcclxuICAgICAgcnRFdnQuc2V0SW50ZXJuYWwoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1NFTEVDVElPTik7XHJcbiAgICAgIHJ0RXZ0LnNldFZhbHVlKHZhbCk7XHJcbiAgICAgIHJ0RXZ0LnNldFByb2R1Y2VDbGljayhwcm9kdWNlQ2xpY2spO1xyXG4gICAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLmFkZFRvVGFpbChydEV2dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZ3VpTWdGb3JtXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImd1aU1nQ3RybFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtb2RpZmllclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJrZXlDb2RlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0YXJ0XCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImVuZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0ZXh0XCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImltXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImlzQWN0Q2hhclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzdWdnZXN0ZWRWYWx1ZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJkb3ROZXRBcmdzXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNvbWJvSXNEcm9wRG93blwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaGFuZGxlZFwiPmJvb2xlYW4gdmFyaWFibGUgZXZlbnQgaXMgaGFuZGxlZCBvciBub3QuPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHRydWUgb25seSBpZiB3ZSBoYXZlIGhhbmRsZWQgdGhlIEtleURvd24gZXZlbnQgKG90aGVyd2lzZSB0aGUgQ0xSIHNob3VsZCBoYW5kbGUpLiBJZiB0cnVlIG1hZ2ljIHdpbGwgaGFuZGxlIGVsc2UgQ0xSIHdpbGwgaGFuZGxlLjwvcmV0dXJucz5cclxuICBwcm9jZXNzS2V5RG93bihndWlNZ0Zvcm06IEd1aU1nRm9ybSwgZ3VpTWdDdHJsOiBHdWlNZ0NvbnRyb2wsIG1vZGlmaWVyOiBNb2RpZmllcnMsXHJcbiAgICAgICAgICAgICAgICAga2V5Q29kZTogbnVtYmVyLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgdGV4dDogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgIGlzQWN0Q2hhcjogYm9vbGVhbiwgc3VnZ2VzdGVkVmFsdWU6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICBoYW5kbGVkOiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICAvLyB0aW1lIG9mIGxhc3QgdXNlciBhY3Rpb24gZm9yIElETEUgZnVuY3Rpb25cclxuICAgIExhc3RGb2N1c2VkTWFuYWdlci5JbnN0YW5jZS5MYXN0QWN0aW9uVGltZSA9IE1pc2MuZ2V0U3lzdGVtTWlsbGlzZWNvbmRzKCk7XHJcblxyXG4gICAgLy8gRE9XTiBvciBVUCBpbnZva2VkIG9uIGEgU0VMRUNUL1JBRElPIGNvbnRyb2xcclxuICAgIHJldHVybiBzdXBlci5wcm9jZXNzS2V5RG93bihndWlNZ0Zvcm0sIGd1aU1nQ3RybCwgbW9kaWZpZXIsIGtleUNvZGUsIHN0YXJ0LCBlbmQsIHRleHQsIGlzQWN0Q2hhciwgc3VnZ2VzdGVkVmFsdWUsICBoYW5kbGVkKTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5wZWVrIHRoZSB2YWx1ZSBvZiB0aGUgXCJlbmQgb2Ygd29ya1wiIGZsYWcuPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgc3RhdGljIHBlZWtFbmRPZldvcmsoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5nZXRFbmRPZldvcmsoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5UaGlzIG1ldGhvZCByZXR1cm5zIE1haW4gcHJvZ3JhbSBmb3IgYSBjdGw8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udGV4dElEXCI+YWN0aXZlL3RhcmdldCBjb250ZXh0IChpcmVsZXZhbnQgZm9yIFJDKTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3RsSWR4XCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGdldE1haW5Qcm9ncmFtKGNvbnRleHRJRDogbnVtYmVyLCBjdGxJZHg6IG51bWJlcik6IFRhc2sge1xyXG4gICAgcmV0dXJuIE1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuR2V0TWFpblByb2dCeUN0bElkeChjb250ZXh0SUQsIGN0bElkeCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEdldCB0aGUgUnVudGltZUNvbnRleHQgb2YgQ2xpZW50TWFuYWdlci5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgR2V0UnVudGltZUNvbnRleHQoY29udGV4dElEOiBzdHJpbmcpOiBSdW50aW1lQ29udGV4dEJhc2Uge1xyXG4gICAgcmV0dXJuIFJ1bnRpbWVDb250ZXh0QmFzZS5JbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gU2F2ZXMgdGhlIGxhc3QgY2xpY2tlZCBjb250cm9sIGluIGEgcmVzcGVjdGl2ZSBSdW50aW1lQ29udGV4dEJhc2UuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJndWlNZ0NvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN0cmxOYW1lXCI+PC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBTYXZlTGFzdENsaWNrZWRDb250cm9sTmFtZShjdHJsTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBSdW50aW1lQ29udGV4dEJhc2UuSW5zdGFuY2UuTGFzdENsaWNrZWRDdHJsTmFtZSA9IGN0cmxOYW1lO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBTYXZlcyB0aGUgbGFzdCBjbGlja2VkIGluZm9ybWF0aW9uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ3VpTWdGb3JtXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250cm9sTmFtZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiWFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiWVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwib2Zmc2V0WFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwib2Zmc2V0WVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiTGFzdENsaWNrQ29vcmRpbmF0ZXNBcmVJblBpeGVsc1wiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgU2F2ZUxhc3RDbGlja0luZm8oY29udHJvbE5hbWU6IHN0cmluZywgWDogbnVtYmVyLCBZOiBudW1iZXIsIG9mZnNldFg6IG51bWJlciwgb2Zmc2V0WTogbnVtYmVyLCBMYXN0Q2xpY2tDb29yZGluYXRlc0FyZUluUGl4ZWxzOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBSdW50aW1lQ29udGV4dEJhc2UuSW5zdGFuY2UuU2F2ZUxhc3RDbGlja0luZm8oY29udHJvbE5hbWUsIFgsIFksIG9mZnNldFgsIG9mZnNldFksIExhc3RDbGlja0Nvb3JkaW5hdGVzQXJlSW5QaXhlbHMpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gU2hvdWxkIHdlIHNob3cgbG9nb24gd2luZG93IFJUTCBvciBub3QuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIElzTG9nb25SVEwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gU2VydmVyQ29uZmlnLkluc3RhbmNlLklzTG9nb25SVEwoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgc3RhdGljIFNob3dTZXNzaW9uU3RhdGlzdGljcygpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSW4gUklBLCBlbnRlciB3aWxsIGNhdXNlIGEga2V5Ym9hcmQgZXZlbnQgYWNjb3JkaW5nIHRvIHRoZSBPUy5cclxuICAvLy8gVGhpcyBpcyBtb3N0bHkgaW1wb3J0YW50IGZvciBkZWZhdWx0IGJ1dHRvbiwgd2hlcmUgRU5URVIgb24gYW55IGNvbnRyb2wgdHJpZ2dlcnMgY2xpY2sgZXZlbnQgb24gdGhlIGJ1dHRvbi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgU2hvdWxkQWRkRW50ZXJBc0tleUV2ZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
@@ -1,117 +0,0 @@
|
|
1
|
-
import { NString } from '@magic-xpa/mscorelib';
|
2
|
-
import { GuiConstants } from '@magic-xpa/gui';
|
3
|
-
import { ConstInterface } from './ConstInterface';
|
4
|
-
import { HttpManager } from './http/HttpManager';
|
5
|
-
export class ServerConfig {
|
6
|
-
constructor() {
|
7
|
-
this._protocol = null;
|
8
|
-
this._server = null;
|
9
|
-
this._httpReq = null;
|
10
|
-
this._appName = null;
|
11
|
-
this._serverUrl = null;
|
12
|
-
}
|
13
|
-
Init(obj) {
|
14
|
-
this._executionProps = obj;
|
15
|
-
}
|
16
|
-
ShouldDisplayGenericError() {
|
17
|
-
return this._executionProps.DisplayGenericError;
|
18
|
-
}
|
19
|
-
setUsername(username) {
|
20
|
-
this._executionProps[ConstInterface.MG_TAG_USERNAME] = username;
|
21
|
-
}
|
22
|
-
setPassword(password) {
|
23
|
-
this._executionProps[ConstInterface.MG_TAG_PASSWORD] = password;
|
24
|
-
}
|
25
|
-
setSkipAuthenticationDialog(value) {
|
26
|
-
this._executionProps[ConstInterface.REQ_SKIP_AUTHENTICATION] = value.toString();
|
27
|
-
}
|
28
|
-
setGlobalParams(val) {
|
29
|
-
if (val !== null)
|
30
|
-
this._executionProps[ConstInterface.MG_TAG_GLOBALPARAMS] = val;
|
31
|
-
else
|
32
|
-
delete this._executionProps[ConstInterface.MG_TAG_GLOBALPARAMS];
|
33
|
-
}
|
34
|
-
getGlobalParams() {
|
35
|
-
let ret = this._executionProps[ConstInterface.MG_TAG_GLOBALPARAMS];
|
36
|
-
return typeof ret === "undefined" ? null : ret;
|
37
|
-
}
|
38
|
-
getProtocol() {
|
39
|
-
if (this._protocol === null)
|
40
|
-
this._protocol = this._executionProps.protocol;
|
41
|
-
return this._protocol;
|
42
|
-
}
|
43
|
-
getServer() {
|
44
|
-
if (this._server === null)
|
45
|
-
this._server = this._executionProps.server;
|
46
|
-
return this._server;
|
47
|
-
}
|
48
|
-
getHttpReq() {
|
49
|
-
if (this._httpReq === null) {
|
50
|
-
this._httpReq = this._executionProps.requester;
|
51
|
-
if (this._httpReq !== null) {
|
52
|
-
while (this._httpReq.startsWith("/"))
|
53
|
-
this._httpReq = this._httpReq.substr(1);
|
54
|
-
while (this._httpReq.endsWith("/"))
|
55
|
-
this._httpReq = this._httpReq.substr(0, this._httpReq.length - 1);
|
56
|
-
}
|
57
|
-
}
|
58
|
-
return this._httpReq;
|
59
|
-
}
|
60
|
-
getAppName() {
|
61
|
-
if (this._appName === null)
|
62
|
-
this._appName = this._executionProps.appname;
|
63
|
-
return this._appName;
|
64
|
-
}
|
65
|
-
getInternalLogLevel() {
|
66
|
-
return this._executionProps.InternalLogLevel;
|
67
|
-
}
|
68
|
-
setInternalLogLevel(value) {
|
69
|
-
this._executionProps.InternalLogLevel = value;
|
70
|
-
}
|
71
|
-
getInternalLogSync() {
|
72
|
-
return this._executionProps.InternalLogSync;
|
73
|
-
}
|
74
|
-
getUsername() {
|
75
|
-
let ret = this._executionProps[ConstInterface.MG_TAG_USERNAME];
|
76
|
-
return typeof ret === "undefined" ? null : ret;
|
77
|
-
}
|
78
|
-
getPassword() {
|
79
|
-
let ret = this._executionProps[ConstInterface.MG_TAG_PASSWORD];
|
80
|
-
return typeof ret === "undefined" ? null : ret;
|
81
|
-
}
|
82
|
-
getCtxGroup() {
|
83
|
-
let ret = this._executionProps[ConstInterface.CTX_GROUP];
|
84
|
-
return typeof ret === "undefined" ? null : ret;
|
85
|
-
}
|
86
|
-
setCtxGroup(CtxGroup) {
|
87
|
-
this._executionProps[ConstInterface.CTX_GROUP] = CtxGroup;
|
88
|
-
}
|
89
|
-
getSkipAuthenticationDialog() {
|
90
|
-
let property = this._executionProps[ConstInterface.REQ_SKIP_AUTHENTICATION];
|
91
|
-
return !NString.IsNullOrEmpty(property) && property === true.toString();
|
92
|
-
}
|
93
|
-
GetFirstHttpRequestTimeout() {
|
94
|
-
let firstHttpTimeout = this._executionProps.FirstHTTPRequestTimeout;
|
95
|
-
return ((firstHttpTimeout > 0) ? (firstHttpTimeout * 1000) : HttpManager.DEFAULT_OFFLINE_HTTP_COMMUNICATION_TIMEOUT);
|
96
|
-
}
|
97
|
-
GetExecutionProperty(propName) {
|
98
|
-
let ret = this._executionProps[propName];
|
99
|
-
return typeof ret === "undefined" ? null : ret;
|
100
|
-
}
|
101
|
-
getServerURL() {
|
102
|
-
if (this._serverUrl === null) {
|
103
|
-
let httpReq = ServerConfig.Instance.getHttpReq();
|
104
|
-
if (httpReq !== null && httpReq.toLowerCase().startsWith("http"))
|
105
|
-
this._serverUrl = httpReq;
|
106
|
-
else
|
107
|
-
this._serverUrl = ServerConfig.Instance.getProtocol() + "://" + ServerConfig.Instance.getServer() + "/" + ServerConfig.Instance.getHttpReq();
|
108
|
-
}
|
109
|
-
return this._serverUrl;
|
110
|
-
}
|
111
|
-
IsLogonRTL() {
|
112
|
-
let text = ServerConfig.Instance.GetExecutionProperty[GuiConstants.STR_LOGON_RTL];
|
113
|
-
return text !== null && typeof text !== "undefined" && text === "Y";
|
114
|
-
}
|
115
|
-
}
|
116
|
-
ServerConfig.Instance = new ServerConfig();
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmVyQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9TZXJ2ZXJDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE1BQU0sT0FBTyxZQUFZO0lBR3ZCO1FBS1EsY0FBUyxHQUFXLElBQUksQ0FBQztRQUN6QixZQUFPLEdBQVcsSUFBSSxDQUFDO1FBQ3ZCLGFBQVEsR0FBVyxJQUFJLENBQUM7UUFDeEIsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixlQUFVLEdBQVcsSUFBSSxDQUFDO0lBUmxDLENBQUM7SUFVRCxJQUFJLENBQUMsR0FBa0I7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7SUFDN0IsQ0FBQztJQU9ELHlCQUF5QjtRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDbEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDbEUsQ0FBQztJQUVELDJCQUEyQixDQUFDLEtBQWM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7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QVUsRUFBRSxDQUFDO1lBRXpELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDOUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7O2dCQUUxQixJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDaEo7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksR0FBVyxZQUFZLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRixPQUFPLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksS0FBSyxHQUFHLENBQUM7SUFDdEUsQ0FBQzs7QUFoS00scUJBQVEsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5TdHJpbmcgfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IEd1aUNvbnN0YW50cyB9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHsgSVNlcnZlckNvbmZpZyB9IGZyb20gJy4vdXRpbC9JU2VydmVyQ29uZmlnJztcclxuaW1wb3J0IHsgQ29uc3RJbnRlcmZhY2UgfSBmcm9tICcuL0NvbnN0SW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSHR0cE1hbmFnZXIgfSBmcm9tICcuL2h0dHAvSHR0cE1hbmFnZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlcnZlckNvbmZpZyB7XHJcbiAgc3RhdGljIEluc3RhbmNlOiBTZXJ2ZXJDb25maWcgPSBuZXcgU2VydmVyQ29uZmlnKCk7XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9leGVjdXRpb25Qcm9wczogSVNlcnZlckNvbmZpZztcclxuXHJcbiAgcHJpdmF0ZSBfcHJvdG9jb2w6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfc2VydmVyOiBzdHJpbmcgPSBudWxsO1xyXG4gIHByaXZhdGUgX2h0dHBSZXE6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfYXBwTmFtZTogc3RyaW5nID0gbnVsbDtcclxuICBwcml2YXRlIF9zZXJ2ZXJVcmw6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIEluaXQob2JqOiBJU2VydmVyQ29uZmlnKSB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wcyA9IG9iajtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSWYgYSBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQsIGRpc3BsYXkgYSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgYW5kIGluc3RlYWQgb2YgdGhlIG1lc3NhZ2UgZnJvbSB0aGUgc2VydmVyLlxyXG4gIC8vLyBUcnVlIGJ5IGRlZmF1bHQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFNob3VsZERpc3BsYXlHZW5lcmljRXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uUHJvcHMuRGlzcGxheUdlbmVyaWNFcnJvcjtcclxuICB9XHJcblxyXG4gIHNldFVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19VU0VSTkFNRV0gPSB1c2VybmFtZTtcclxuICB9XHJcblxyXG4gIHNldFBhc3N3b3JkKHBhc3N3b3JkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVNTV09SRF0gPSBwYXNzd29yZDtcclxuICB9XHJcblxyXG4gIHNldFNraXBBdXRoZW50aWNhdGlvbkRpYWxvZyh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZXhlY3V0aW9uUHJvcHNbQ29uc3RJbnRlcmZhY2UuUkVRX1NLSVBfQVVUSEVOVElDQVRJT05dID0gdmFsdWUudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHNldEdsb2JhbFBhcmFtcyh2YWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHZhbCAhPT0gbnVsbClcclxuICAgICAgdGhpcy5fZXhlY3V0aW9uUHJvcHNbQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0dMT0JBTFBBUkFNU10gPSB2YWw7XHJcbiAgICBlbHNlXHJcbiAgICAgIGRlbGV0ZSB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5NR19UQUdfR0xPQkFMUEFSQU1TXTtcclxuICB9XHJcblxyXG4gIGdldEdsb2JhbFBhcmFtcygpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19HTE9CQUxQQVJBTVNdO1xyXG4gICAgcmV0dXJuIHR5cGVvZiByZXQgPT09IFwidW5kZWZpbmVkXCIgPyBudWxsIDogcmV0O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvdG9jb2woKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9wcm90b2NvbCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5fcHJvdG9jb2wgPSB0aGlzLl9leGVjdXRpb25Qcm9wcy5wcm90b2NvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fcHJvdG9jb2w7XHJcbiAgfVxyXG5cclxuICBnZXRTZXJ2ZXIoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9zZXJ2ZXIgPT09IG51bGwpXHJcbiAgICAgIHRoaXMuX3NlcnZlciA9IHRoaXMuX2V4ZWN1dGlvblByb3BzLnNlcnZlcjtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmVyO1xyXG4gIH1cclxuXHJcbiAgZ2V0SHR0cFJlcSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuX2h0dHBSZXEgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5faHR0cFJlcSA9IHRoaXMuX2V4ZWN1dGlvblByb3BzLnJlcXVlc3RlcjtcclxuXHJcbiAgICAgIC8vIHJlbW92ZSBsZWFkaW5nIHNsYXNoZXNcclxuICAgICAgaWYgKHRoaXMuX2h0dHBSZXEgIT09IG51bGwpIHtcclxuICAgICAgICB3aGlsZSAodGhpcy5faHR0cFJlcS5zdGFydHNXaXRoKFwiL1wiKSlcclxuICAgICAgICAgIHRoaXMuX2h0dHBSZXEgPSB0aGlzLl9odHRwUmVxLnN1YnN0cigxKTtcclxuXHJcbiAgICAgICAgd2hpbGUgKHRoaXMuX2h0dHBSZXEuZW5kc1dpdGgoXCIvXCIpKVxyXG4gICAgICAgICAgdGhpcy5faHR0cFJlcSA9IHRoaXMuX2h0dHBSZXEuc3Vic3RyKDAsIHRoaXMuX2h0dHBSZXEubGVuZ3RoIC0gMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5faHR0cFJlcTtcclxuICB9XHJcblxyXG4gIGdldEFwcE5hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9hcHBOYW1lID09PSBudWxsKVxyXG4gICAgICB0aGlzLl9hcHBOYW1lID0gdGhpcy5fZXhlY3V0aW9uUHJvcHMuYXBwbmFtZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fYXBwTmFtZTtcclxuICB9XHJcblxyXG4gIGdldEludGVybmFsTG9nTGV2ZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ0xldmVsO1xyXG4gIH1cclxuXHJcbiAgc2V0SW50ZXJuYWxMb2dMZXZlbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ0xldmVsID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRJbnRlcm5hbExvZ1N5bmMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ1N5bmM7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VybmFtZSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19VU0VSTkFNRV07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRQYXNzd29yZCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVNTV09SRF07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRDdHhHcm91cCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLkNUWF9HUk9VUF07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBzZXRDdHhHcm91cChDdHhHcm91cDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5DVFhfR1JPVVBdID0gQ3R4R3JvdXA7XHJcbiAgfVxyXG5cclxuICBnZXRTa2lwQXV0aGVudGljYXRpb25EaWFsb2coKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcHJvcGVydHk6IHN0cmluZyA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLlJFUV9TS0lQX0FVVEhFTlRJQ0FUSU9OXTtcclxuICAgIHJldHVybiAhTlN0cmluZy5Jc051bGxPckVtcHR5KHByb3BlcnR5KSAmJiBwcm9wZXJ0eSA9PT0gdHJ1ZS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgR2V0Rmlyc3RIdHRwUmVxdWVzdFRpbWVvdXQoKTogbnVtYmVyIHtcclxuICAgIGxldCBmaXJzdEh0dHBUaW1lb3V0OiBudW1iZXIgPSB0aGlzLl9leGVjdXRpb25Qcm9wcy5GaXJzdEhUVFBSZXF1ZXN0VGltZW91dDtcclxuICAgIHJldHVybiA8bnVtYmVyPigoZmlyc3RIdHRwVGltZW91dCA+IDApID8gKGZpcnN0SHR0cFRpbWVvdXQgKiAxMDAwKSA6IEh0dHBNYW5hZ2VyLkRFRkFVTFRfT0ZGTElORV9IVFRQX0NPTU1VTklDQVRJT05fVElNRU9VVCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBSZXRyaWV2ZXMgZXhlY3V0aW9uIHByb3BlcnR5IHZhbHVlIGJ5IGl0J3MgbmFtZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicHJvcGVydHlOYW1lXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+cHJvcGVydHkgdmFsdWUgYXMgc3RyaW5nPC9yZXR1cm5zPlxyXG4gIEdldEV4ZWN1dGlvblByb3BlcnR5KHByb3BOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW3Byb3BOYW1lXTtcclxuICAgIHJldHVybiB0eXBlb2YgcmV0ID09PSBcInVuZGVmaW5lZFwiID8gbnVsbCA6IHJldDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJldHVybnMgdGhlIFVSTCBuZWVkZWQgdG8gY29ubmVjdCB0byB0aGUgc2VydmVyPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gc2VydmVyIFVSTDwvcmV0dXJucz5cclxuICBnZXRTZXJ2ZXJVUkwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9zZXJ2ZXJVcmwgPT09IG51bGwpIHtcclxuICAgICAgLy8gY29uc3RydWN0IHRoZSBVUkwgc3RyaW5nXHJcbiAgICAgIGxldCBodHRwUmVxOiBzdHJpbmcgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0SHR0cFJlcSgpO1xyXG5cclxuICAgICAgaWYgKGh0dHBSZXEgIT09IG51bGwgJiYgaHR0cFJlcS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCJodHRwXCIpKVxyXG4gICAgICAgIHRoaXMuX3NlcnZlclVybCA9IGh0dHBSZXE7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl9zZXJ2ZXJVcmwgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0UHJvdG9jb2woKSArIFwiOi8vXCIgKyBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0U2VydmVyKCkgKyBcIi9cIiArIFNlcnZlckNvbmZpZy5JbnN0YW5jZS5nZXRIdHRwUmVxKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3NlcnZlclVybDtcclxuICB9XHJcblxyXG4gIElzTG9nb25SVEwoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdGV4dDogc3RyaW5nID0gU2VydmVyQ29uZmlnLkluc3RhbmNlLkdldEV4ZWN1dGlvblByb3BlcnR5W0d1aUNvbnN0YW50cy5TVFJfTE9HT05fUlRMXTtcclxuICAgIHJldHVybiB0ZXh0ICE9PSBudWxsICYmIHR5cGVvZiB0ZXh0ICE9PSBcInVuZGVmaW5lZFwiICYmIHRleHQgPT09IFwiWVwiO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import { ClientOriginatedCommand } from "./ClientToServer/ClientOriginatedCommand";
|
2
|
-
import { AccessHelper } from "../AccessHelper";
|
3
|
-
export class ClientOriginatedCommandTaskTag extends ClientOriginatedCommand {
|
4
|
-
constructor() {
|
5
|
-
super();
|
6
|
-
}
|
7
|
-
get Task() {
|
8
|
-
return AccessHelper.mgDataTable.getCurrMGData().getTask(this.TaskTag);
|
9
|
-
}
|
10
|
-
}
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFFakYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRzdDLE1BQU0sT0FBZ0IsOEJBQStCLFNBQVEsdUJBQXVCO0lBSWxGO1FBRUUsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGllbnRPcmlnaW5hdGVkQ29tbWFuZH0gZnJvbSBcIi4vQ2xpZW50VG9TZXJ2ZXIvQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRcIjtcclxuaW1wb3J0IHtJQ29tbWFuZFRhc2tUYWd9IGZyb20gXCIuL0NsaWVudFRvU2VydmVyL0lDb21tYW5kVGFza1RhZ1wiO1xyXG5pbXBvcnQge0FjY2Vzc0hlbHBlcn0gZnJvbSBcIi4uL0FjY2Vzc0hlbHBlclwiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCIuLi8uLlwiO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENsaWVudE9yaWdpbmF0ZWRDb21tYW5kVGFza1RhZyBleHRlbmRzIENsaWVudE9yaWdpbmF0ZWRDb21tYW5kIGltcGxlbWVudHMgSUNvbW1hbmRUYXNrVGFnIHtcclxuXHJcbiAgVGFza1RhZzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpXHJcbiAge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGdldCBUYXNrKCk6IFRhc2sge1xyXG4gICAgcmV0dXJuIEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5nZXRDdXJyTUdEYXRhKCkuZ2V0VGFzayh0aGlzLlRhc2tUYWcpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,60 +0,0 @@
|
|
1
|
-
import { Logger, XMLConstants } from "@magic-xpa/utils";
|
2
|
-
import { Exception, RefParam, StringBuilder } from "@magic-xpa/mscorelib";
|
3
|
-
import { ConstInterface } from "../../ConstInterface";
|
4
|
-
import { LastFocusedManager } from "../../rt/LastFocusedManager";
|
5
|
-
export class ClientOriginatedCommandSerializer {
|
6
|
-
static Serialize(cmd, currMGData) {
|
7
|
-
if (!cmd.ShouldSerialize)
|
8
|
-
return null;
|
9
|
-
let message = new StringBuilder();
|
10
|
-
let hasChildElements = false;
|
11
|
-
message.Append(XMLConstants.START_TAG + ConstInterface.MG_TAG_COMMAND);
|
12
|
-
message.Append(" " + XMLConstants.MG_ATTR_TYPE + "=\"" + cmd.CommandTypeAttribute + "\"");
|
13
|
-
let refHasChildElements = new RefParam(hasChildElements);
|
14
|
-
message.Append(cmd.SerializeCommandData());
|
15
|
-
hasChildElements = refHasChildElements.value;
|
16
|
-
if (cmd.ShouldSerializeRecords)
|
17
|
-
message.Append(ClientOriginatedCommandSerializer.SerializeRecords(currMGData));
|
18
|
-
if (hasChildElements)
|
19
|
-
message.Append(XMLConstants.TAG_CLOSE);
|
20
|
-
else
|
21
|
-
message.Append(XMLConstants.TAG_TERM);
|
22
|
-
message.Append(cmd.SerializeDataAfterCommand());
|
23
|
-
return message.ToString();
|
24
|
-
}
|
25
|
-
static SerializeRecords(currMGData) {
|
26
|
-
let message = new StringBuilder();
|
27
|
-
try {
|
28
|
-
let length = currMGData.getTasksCount();
|
29
|
-
let titleExist = false;
|
30
|
-
let currFocusedTask = LastFocusedManager.Instance.getLastFocusedTask();
|
31
|
-
for (let i = 0; i < length; i++) {
|
32
|
-
let task = currMGData.getTask(i);
|
33
|
-
let ctrl = task.getLastParkedCtrl();
|
34
|
-
if (ctrl !== null) {
|
35
|
-
if (!titleExist) {
|
36
|
-
message.Append(" " + ConstInterface.MG_ATTR_FOCUSLIST + "=\"");
|
37
|
-
titleExist = true;
|
38
|
-
}
|
39
|
-
else
|
40
|
-
message.Append('$');
|
41
|
-
message.Append(task.getTaskTag() + ",");
|
42
|
-
message.Append(task.getLastParkedCtrl().getDitIdx());
|
43
|
-
}
|
44
|
-
}
|
45
|
-
if (titleExist)
|
46
|
-
message.Append("\"");
|
47
|
-
if (currFocusedTask !== null)
|
48
|
-
message.Append(" " + ConstInterface.MG_ATTR_FOCUSTASK + "=\"" + currFocusedTask.getTaskTag() + "\"");
|
49
|
-
}
|
50
|
-
catch (ex) {
|
51
|
-
if (ex instanceof Exception) {
|
52
|
-
Logger.Instance.WriteExceptionToLog(ex);
|
53
|
-
}
|
54
|
-
else
|
55
|
-
throw ex;
|
56
|
-
}
|
57
|
-
return message.ToString();
|
58
|
-
}
|
59
|
-
}
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRTZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFNlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsTUFBTSxPQUFPLGlDQUFpQztJQU1yQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQTRCLEVBQUUsVUFBa0I7UUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1FBRWQsSUFBSSxPQUFPLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7UUFDakQsSUFBSSxnQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFdEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RSxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsWUFBWSxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFMUYsSUFBSSxtQkFBbUIsR0FBc0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RSxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDM0MsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1FBRTdDLElBQUksR0FBRyxDQUFDLHNCQUFzQjtZQUM1QixPQUFPLENBQUMsTUFBTSxDQUFFLGlDQUFpQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFbEYsSUFBSSxnQkFBZ0I7WUFDbEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7O1lBRXZDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXhDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUNoRCxPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBTUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQWtCO1FBQ3hDLElBQUksT0FBTyxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2pELElBQUk7WUFDRixJQUFJLE1BQU0sR0FBVyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEQsSUFBSSxVQUFVLEdBQVksS0FBSyxDQUFDO1lBQ2hDLElBQUksZUFBZSxHQUFnQixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUVwRixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLElBQUksR0FBZ0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxJQUFJLEdBQXlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMxRCxJQUFJLElBQUksS0FBSyxJQUFJLEVBQStDO29CQUM5RCxJQUFJLENBQUMsVUFBVSxFQUFFO3dCQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsQ0FBQzt3QkFDL0QsVUFBVSxHQUFHLElBQUksQ0FBQztxQkFDbkI7O3dCQUVDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO29CQUN4QyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7WUFDRCxJQUFJLFVBQVU7Z0JBQ1osT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV2QixJQUFJLGVBQWUsS0FBSyxJQUFJO2dCQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUN4RztRQUNELE9BQU8sRUFBRSxFQUFFO1lBQ1QsSUFBSSxFQUFFLFlBQVksU0FBUyxFQUFFO2dCQUMzQixNQUFNLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3pDOztnQkFFQyxNQUFNLEVBQUUsQ0FBQztTQUNaO1FBQ0QsT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2dnZXIsIFhNTENvbnN0YW50c30gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtFeGNlcHRpb24sIFJlZlBhcmFtLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtNR0RhdGF9IGZyb20gXCIuLi8uLi90YXNrcy9NR0RhdGFcIjtcclxuaW1wb3J0IHtNZ0NvbnRyb2x9IGZyb20gXCIuLi8uLi9ndWkvTWdDb250cm9sXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5pbXBvcnQge0d1aVRhc2tCYXNlfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtDbGllbnRPcmlnaW5hdGVkQ29tbWFuZH0gZnJvbSBcIi4vQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRcIjtcclxuaW1wb3J0IHtMYXN0Rm9jdXNlZE1hbmFnZXJ9IGZyb20gXCIuLi8uLi9ydC9MYXN0Rm9jdXNlZE1hbmFnZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFNlcmlhbGl6ZXIge1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGdlbmVyYWwgc2VyaWFsaXphdGlvbiBmb3Igc3R1ZmYgY29tbW9uIHRvIGFsbCBzZXJpYWxpemVkIGNvbW1hbmRzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHB1YmxpYyBzdGF0aWMgU2VyaWFsaXplKGNtZDogQ2xpZW50T3JpZ2luYXRlZENvbW1hbmQsIGN1cnJNR0RhdGE6IE1HRGF0YSk6IHN0cmluZyB7XHJcbiAgICAgIGlmICghY21kLlNob3VsZFNlcmlhbGl6ZSlcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgIGxldCBtZXNzYWdlOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgICAgbGV0IGhhc0NoaWxkRWxlbWVudHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAgIG1lc3NhZ2UuQXBwZW5kKFhNTENvbnN0YW50cy5TVEFSVF9UQUcgKyBDb25zdEludGVyZmFjZS5NR19UQUdfQ09NTUFORCk7XHJcbiAgICAgIG1lc3NhZ2UuQXBwZW5kKFwiIFwiICsgWE1MQ29uc3RhbnRzLk1HX0FUVFJfVFlQRSArIFwiPVxcXCJcIiArIGNtZC5Db21tYW5kVHlwZUF0dHJpYnV0ZSArIFwiXFxcIlwiKTtcclxuXHJcbiAgICAgIGxldCByZWZIYXNDaGlsZEVsZW1lbnRzOiBSZWZQYXJhbTxib29sZWFuPiA9IG5ldyBSZWZQYXJhbShoYXNDaGlsZEVsZW1lbnRzKTtcclxuICAgICAgbWVzc2FnZS5BcHBlbmQoY21kLlNlcmlhbGl6ZUNvbW1hbmREYXRhKCkpO1xyXG4gICAgICBoYXNDaGlsZEVsZW1lbnRzID0gcmVmSGFzQ2hpbGRFbGVtZW50cy52YWx1ZTtcclxuXHJcbiAgICAgIGlmIChjbWQuU2hvdWxkU2VyaWFsaXplUmVjb3JkcylcclxuICAgICAgICBtZXNzYWdlLkFwcGVuZCggQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRTZXJpYWxpemVyLlNlcmlhbGl6ZVJlY29yZHMoY3Vyck1HRGF0YSkpO1xyXG5cclxuICAgICAgaWYgKGhhc0NoaWxkRWxlbWVudHMpXHJcbiAgICAgICAgbWVzc2FnZS5BcHBlbmQoWE1MQ29uc3RhbnRzLlRBR19DTE9TRSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBtZXNzYWdlLkFwcGVuZChYTUxDb25zdGFudHMuVEFHX1RFUk0pO1xyXG5cclxuICAgICAgbWVzc2FnZS5BcHBlbmQoY21kLlNlcmlhbGl6ZURhdGFBZnRlckNvbW1hbmQoKSk7XHJcbiAgICAgIHJldHVybiBtZXNzYWdlLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHNob3VsZCBub3QgYmUgY2FsbGVkIGZvciBRdWVyeSBhbmQgZm9yIEluaXB1dEZvcmNlV3JpdGU6XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBTZXJpYWxpemVSZWNvcmRzKGN1cnJNR0RhdGE6IE1HRGF0YSk6IHN0cmluZyB7XHJcbiAgICBsZXQgbWVzc2FnZTogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICB0cnkge1xyXG4gICAgICBsZXQgbGVuZ3RoOiBudW1iZXIgPSBjdXJyTUdEYXRhLmdldFRhc2tzQ291bnQoKTtcclxuICAgICAgbGV0IHRpdGxlRXhpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgbGV0IGN1cnJGb2N1c2VkVGFzazogR3VpVGFza0Jhc2UgPSBMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuZ2V0TGFzdEZvY3VzZWRUYXNrKCk7XHJcblxyXG4gICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgdGFzazogR3VpVGFza0Jhc2UgPSBjdXJyTUdEYXRhLmdldFRhc2soaSk7XHJcbiAgICAgICAgbGV0IGN0cmw6IE1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+dGFzay5nZXRMYXN0UGFya2VkQ3RybCgpO1xyXG4gICAgICAgIGlmIChjdHJsICE9PSBudWxsIC8qJiYgdGFzay5Lbm93blRvU2VydmVyICYmICF0YXNrLklzT2ZmbGluZSovKSB7XHJcbiAgICAgICAgICBpZiAoIXRpdGxlRXhpc3QpIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBDb25zdEludGVyZmFjZS5NR19BVFRSX0ZPQ1VTTElTVCArIFwiPVxcXCJcIik7XHJcbiAgICAgICAgICAgIHRpdGxlRXhpc3QgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBtZXNzYWdlLkFwcGVuZCgnJCcpO1xyXG4gICAgICAgICAgbWVzc2FnZS5BcHBlbmQodGFzay5nZXRUYXNrVGFnKCkgKyBcIixcIik7XHJcbiAgICAgICAgICBtZXNzYWdlLkFwcGVuZCh0YXNrLmdldExhc3RQYXJrZWRDdHJsKCkuZ2V0RGl0SWR4KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGl0bGVFeGlzdClcclxuICAgICAgICBtZXNzYWdlLkFwcGVuZChcIlxcXCJcIik7XHJcblxyXG4gICAgICBpZiAoY3VyckZvY3VzZWRUYXNrICE9PSBudWxsIC8qJiYgIWN1cnJGb2N1c2VkVGFzay5Jc09mZmxpbmUqLylcclxuICAgICAgICBtZXNzYWdlLkFwcGVuZChcIiBcIiArIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfRk9DVVNUQVNLICsgXCI9XFxcIlwiICsgY3VyckZvY3VzZWRUYXNrLmdldFRhc2tUYWcoKSArIFwiXFxcIlwiKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgICBpZiAoZXggaW5zdGFuY2VvZiBFeGNlcHRpb24pIHtcclxuICAgICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZyhleCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRocm93IGV4O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1lc3NhZ2UuVG9TdHJpbmcoKTtcclxuICB9XHJcbn1cclxuIl19
|