diff --git a/app/DD_PM_WINDREAM/ApplicationEvents.vb b/app/DD_PM_WINDREAM/ApplicationEvents.vb index 7e8971b..27e4f35 100644 --- a/app/DD_PM_WINDREAM/ApplicationEvents.vb +++ b/app/DD_PM_WINDREAM/ApplicationEvents.vb @@ -16,13 +16,13 @@ Namespace My LOGGER.Error(e.Exception) Try - If USER_DEBUG_LOG = True Then + If DEBUG = True Then Dim oLogMessage = LOGCONFIG.Logs.Last() Dim oLogSplit As String() = oLogMessage.Split("|") Dim oDBMessage = PrepareLogMessage(oLogMessage) & $" [Machinename: {Environment.MachineName}]" Dim oSQL = $"INSERT INTO [dbo].[TBPM_LOG_DEBUG] ([USERID], [LOGMSG], [ADDED_WHEN], DATE_STR) VALUES({USER_ID},'{oDBMessage}',GETDATE(),'{Now}')" - ClassDatabase.Execute_non_Query(oSQL) + Database_ECM.ExecuteNonQuery(oSQL) End If Catch ex As Exception LOGGER.Error(ex) diff --git a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb index d06e16b..b773dec 100644 --- a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb +++ b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb @@ -45,14 +45,14 @@ Public Class ClassAllgemeineFunktionen Else If INACTIVITYRecognized = True Then oSql = $"UPDATE TBDD_USER_LOGIN_OUT SET COMMENT = 'Inactivity Detected',LOGOUT = GETDATE() WHERE USER_ID = {USER_ID} AND UPPER(MODULE) = UPPER('Process-Manager') AND LOGOUT IS NULL" - If ClassDatabase.Execute_non_Query(oSql, "Inactivity insert") = True Then + If Database_ECM.ExecuteNonQuery(oSql, "Inactivity insert") = True Then End If End If oSql = $"DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = {USER_ID} AND UPPER(MODULE) = UPPER('Process-Manager')" End If - If ClassDatabase.Execute_non_Query(oSql, "LOGIN/OUT") = True Then + If Database_ECM.ExecuteNonQuery(oSql) = True Then LOGGER.Debug($"{LoginorOut} of User successfully!") Return True Else @@ -70,7 +70,7 @@ Public Class ClassAllgemeineFunktionen Try ERR_MSG = ERR_MSG.Replace("'", "''") Dim insert As String = $"INSERT INTO TBPM_LOG_DEBUG (USERID, LOGMSG) VALUES ({USER_ID},'{ERR_MSG}')" - If ExecuteonMSSQL(insert, CONNECTION_STRING) <> "" Then + If ExecuteonMSSQL(insert, CONNECTION_STRING_ECM) <> "" Then LOGGER.Warn("...Eintrag in Log-Tabelle konnte nicht erstellt werden!!", True) End If Catch ex As Exception diff --git a/app/DD_PM_WINDREAM/ClassConfig.vb b/app/DD_PM_WINDREAM/ClassConfig.vb index beb5442..2734370 100644 --- a/app/DD_PM_WINDREAM/ClassConfig.vb +++ b/app/DD_PM_WINDREAM/ClassConfig.vb @@ -27,7 +27,7 @@ Public Class ClassConfig Public Property FileDelimiter As String = "_" ' Misc Settings - Public Property LogErrorsOnly As Boolean = True + Public Property DEBUG As Boolean = False Public Property ReminderTimer As Integer = 5 Public Property MonitorSplitter1_Distance As Integer = 510 Public Property MonitorSplitter2_Distance As Integer = 270 diff --git a/app/DD_PM_WINDREAM/ClassDataASorDB.vb b/app/DD_PM_WINDREAM/ClassDataASorDB.vb index 2edec50..8d84f98 100644 --- a/app/DD_PM_WINDREAM/ClassDataASorDB.vb +++ b/app/DD_PM_WINDREAM/ClassDataASorDB.vb @@ -23,9 +23,9 @@ Public Class ClassDataASorDB End Try Else If pDB = "DD_ECM" Then - oReturnDT = ClassDatabase.Return_Datatable_ConStr(pSQL, CONNECTION_STRING) + oReturnDT = Database_ECM.GetDatatable(pSQL) ElseIf pDB = "IDB" Then - oReturnDT = ClassDatabase.Return_Datatable_ConStr(pSQL, CONNECTION_STRING_IDB) + oReturnDT = Database_IDB.GetDatatable(pSQL) End If End If diff --git a/app/DD_PM_WINDREAM/ClassDatabase.vb b/app/DD_PM_WINDREAM/ClassDatabase.vb index 172d897..87bede6 100644 --- a/app/DD_PM_WINDREAM/ClassDatabase.vb +++ b/app/DD_PM_WINDREAM/ClassDatabase.vb @@ -9,7 +9,7 @@ Public Class ClassDatabase Dim connectionString As String = "" Try 'Me.TBCONNECTIONTableAdapter.FillByID(Me.DD_DMSLiteDataSet.TBCONNECTION, id) - Dim DTConnection As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_CONNECTION WHERE GUID = " & id, "Get_ConnectionString") + Dim DTConnection As DataTable = Database_ECM.GetDatatable("SELECT * FROM TBDD_CONNECTION WHERE GUID = " & id) If DTConnection.Rows.Count = 1 Then Select Case DTConnection.Rows(0).Item("SQL_PROVIDER").ToString.ToUpper Case "MS-SQL" @@ -47,7 +47,7 @@ Public Class ClassDatabase Public Shared Function Init(Optional ConString As String = "") Try If ConString = String.Empty Then - SQLSERVERConnectionString = CONNECTION_STRING + SQLSERVERConnectionString = CONNECTION_STRING_ECM End If Dim SQLconnect As New SqlClient.SqlConnection @@ -65,7 +65,7 @@ Public Class ClassDatabase If ConString <> String.Empty Then LOGGER.Info($"Error initializing Database [{ConString}] " & ex.Message, True) Else - LOGGER.Info($"Error initializing Database [{CONNECTION_STRING}] " & ex.Message, True) + LOGGER.Info($"Error initializing Database [{CONNECTION_STRING_ECM}] " & ex.Message, True) End If Return False diff --git a/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb b/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb index bed7176..79f4bc7 100644 --- a/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb +++ b/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb @@ -3,7 +3,7 @@ Try Dim _error As Boolean = False If CURRENT_DT_FINAL_INDEXING Is Nothing Then - CURRENT_DT_FINAL_INDEXING = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE_FINAL_INDEXING where PROFIL_ID = {0}", CURRENT_ProfilGUID), "Write_Final_Metadata") + CURRENT_DT_FINAL_INDEXING = Database_ECM.GetDatatable(String.Format("select * from TBPM_PROFILE_FINAL_INDEXING where PROFIL_ID = {0}", CURRENT_ProfilGUID)) ', "Write_Final_Metadata") End If If CURRENT_DT_FINAL_INDEXING.Rows.Count > 0 Then @@ -42,7 +42,7 @@ sql_Statement = clsPatterns.ReplaceInternalValues(sql_Statement) sql_Statement = clsPatterns.ReplaceWindreamIndicies(sql_Statement, WMObject, True) LOGGER.Debug("sql after ReplaceAllValues: " & sql_Statement) - Dim oDynamic_value = ClassDatabase.Execute_Scalar(sql_Statement, CONNECTION_STRING, "Write_Final_Metadata/dynamic_value") + Dim oDynamic_value = Database_ECM.GetScalarValue(sql_Statement) ', CONNECTION_STRING_ECM, "Write_Final_Metadata/dynamic_value") If Not IsNothing(oDynamic_value) Then value = oDynamic_value Else diff --git a/app/DD_PM_WINDREAM/ClassIDBData.vb b/app/DD_PM_WINDREAM/ClassIDBData.vb index 486002d..4b69db3 100644 --- a/app/DD_PM_WINDREAM/ClassIDBData.vb +++ b/app/DD_PM_WINDREAM/ClassIDBData.vb @@ -9,7 +9,7 @@ ''' Public Function Init() Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE" - DTVWIDB_BE_ATTRIBUTE = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB_READ) + DTVWIDB_BE_ATTRIBUTE = Database_IDB.GetDatatable(oSQL) End Function Public IDBSystemIndices As List(Of String) Public Function GetIndicesByBE(ByVal BusinessEntity As String) As String() @@ -113,7 +113,7 @@ LOGGER.Debug($"oAttributeValue for Attribute [{oAttributeName}] is so far nothing..Now trying FNIDB_PM_GET_VARIABLE_VALUE ") End If Dim oFNSQL = $"SELECT * FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({CURRENT_DOC_ID},'{oAttributeName}','{USER_LANGUAGE}',CONVERT(BIT,'{IDB_USES_WMFILESTORE}'))" - oAttributeValue = ClassDatabase.Return_Datatable_ConStr(oFNSQL, CONNECTION_STRING_IDB_READ) + oAttributeValue = Database_IDB.GetDatatable(oFNSQL) Dim odt As DataTable = oAttributeValue If odt.Rows.Count = 1 Then oAttributeValue = odt.Rows(0).Item(0) @@ -134,7 +134,7 @@ oID_IS_FOREIGN = 1 End If Dim oDELSQL = $"EXEC PRIDB_DELETE_TERM_OBJECT_METADATA {CURRENT_DOC_ID},'{oAttributeName}','{oTerm2Delete}','{USER_USERNAME}','{USER_LANGUAGE}',{oID_IS_FOREIGN}" - ClassDatabase.Execute_non_Query_ConStr(oDELSQL, CONNECTION_STRING_IDB_WRITE) + Database_IDB.ExecuteNonQuery(oDELSQL) Catch ex As Exception LOGGER.Error(ex) @@ -145,7 +145,7 @@ Public Function Delete_AttributeData(pIDB_OBJID As Int64, pAttributeName As String) As Object Try Dim oDELSQL = $"EXEC PRIDB_DELETE_ATTRIBUTE_DATA {pIDB_OBJID},'{pAttributeName}','{USER_USERNAME}'" - ClassDatabase.Execute_non_Query_ConStr(oDELSQL, CONNECTION_STRING_IDB_WRITE) + Database_IDB.ExecuteNonQuery(oDELSQL) Catch ex As Exception LOGGER.Error(ex) @@ -227,7 +227,7 @@ For Each oNewValueRow As DataRow In oDTMyNewValues.Rows Dim oSuccess As Boolean = False Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {CURRENT_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValueRow.Item(1).ToString}','{USER_LANGUAGE}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT" - oSuccess = ClassDatabase.Execute_non_Query_ConStr(oFNSQL, CONNECTION_STRING_IDB_WRITE) + oSuccess = Database_IDB.ExecuteNonQuery(oFNSQL) If oSuccess = False Then Return False End If @@ -235,7 +235,7 @@ Return True Else Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {CURRENT_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValue}','{USER_LANGUAGE}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT" - Return ClassDatabase.Execute_non_Query_ConStr(oFNSQL, CONNECTION_STRING_IDB_WRITE) + Return Database_IDB.ExecuteNonQuery(oFNSQL) End If Catch ex As Exception diff --git a/app/DD_PM_WINDREAM/ClassInit.vb b/app/DD_PM_WINDREAM/ClassInit.vb index afb4c9d..ffa049f 100644 --- a/app/DD_PM_WINDREAM/ClassInit.vb +++ b/app/DD_PM_WINDREAM/ClassInit.vb @@ -6,6 +6,7 @@ Imports DigitalData.Modules.Config Imports System.Threading Imports DigitalData.Modules.EDMI.API Imports DigitalData.Modules.EDMI.API.EDMIServiceReference +Imports DigitalData.Modules.Database Public Class ClassInit Public _lizenzManager As ClassLicenseManager @@ -74,19 +75,19 @@ Public Class ClassInit If CONFIG.Config.ConnectionStringTest <> String.Empty And CONFIG.Config.TestMode = True Then LOGGER.Debug("Test Connection String loaded") - CONNECTION_STRING = DecryptConnectionString(CONFIG.Config.ConnectionStringTest) + CONNECTION_STRING_ECM = DecryptConnectionString(CONFIG.Config.ConnectionStringTest) Else LOGGER.Debug("Connection String loaded") - CONNECTION_STRING = DecryptConnectionString(CONFIG.Config.ConnectionString) + CONNECTION_STRING_ECM = DecryptConnectionString(CONFIG.Config.ConnectionString) End If - If CONFIG.Config.ConnectionStringAppServer <> String.Empty Then - LOGGER.Debug("ConnectionStringAppServer will be used") - CONNECTION_STRING_APP_SERVER = DecryptConnectionString(CONFIG.Config.ConnectionStringAppServer) - CONNECTION_STRING_READ = CONNECTION_STRING_APP_SERVER - Else - CONNECTION_STRING_READ = CONNECTION_STRING - End If + 'If CONFIG.Config.ConnectionStringAppServer <> String.Empty Then + ' LOGGER.Debug("ConnectionStringAppServer will be used") + ' CONNECTION_STRING_APP_SERVER = DecryptConnectionString(CONFIG.Config.ConnectionStringAppServer) + ' CONNECTION_STRING_READ = CONNECTION_STRING_APP_SERVER + 'Else + ' CONNECTION_STRING_READ = CONNECTION_STRING_ECM + 'End If If CONFIG.Config.EDMIAppServer <> String.Empty Then @@ -116,8 +117,12 @@ Public Class ClassInit USER_MANAGER_PATH = CONFIG.Config.UserManagerPath - LOG_ERRORS_ONLY = CONFIG.Config.LogErrorsOnly - LOGCONFIG.Debug = Not LOG_ERRORS_ONLY + USER_CONFIG_DEBUG = CONFIG.Config.DEBUG + If USER_CONFIG_DEBUG = True Then + DEBUG = True + LOGCONFIG.Debug = True + End If + TEST_MODE = CONFIG.Config.TestMode Catch ex As Exception LOGGER.Error(ex) @@ -153,22 +158,36 @@ Public Class ClassInit Public Function InitDatabase() Dim dbResult As Boolean - If CONNECTION_STRING <> String.Empty Then - dbResult = ClassDatabase.Init() - Else + If CONNECTION_STRING_ECM = String.Empty Then MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information) ERROR_STATE = "NO DB-CONNECTION" frmKonfig.ShowDialog() - dbResult = ClassDatabase.Init() End If - If CONNECTION_STRING_APP_SERVER <> String.Empty Then - If ClassDatabase.Init(CONNECTION_STRING_APP_SERVER) = False Then - MsgBox("ApplicationServer can not be reached! Check Your configuration.", MsgBoxStyle.Information) - If dbResult = True Then - CONNECTION_STRING_READ = CONNECTION_STRING - End If + + Database_ECM = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_ECM) + If Database_ECM.DBInitialized = True Then + ClassDatabase.Init(CONNECTION_STRING_ECM) + dbResult = True + Else + dbResult = False + End If + If CONNECTION_STRING_IDB <> String.Empty Then + Database_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_ECM) + If Database_IDB.DBInitialized = True Then + IDB_ACTIVE = True + LOGGER.Info("IDB is active via Config") + End If End If + 'If CONNECTION_STRING_APP_SERVER <> String.Empty Then + ' Database_APPSERVER = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_APP_SERVER) + ' If Database_APPSERVER.DBInitialized = False Then + ' MsgBox("ApplicationServer can not be reached! Check Your configuration.", MsgBoxStyle.Information) + ' If dbResult = True Then + ' CONNECTION_STRING_READ = CONNECTION_STRING_ECM + ' End If + ' End If + 'End If diff --git a/app/DD_PM_WINDREAM/ClassParamRefresh.vb b/app/DD_PM_WINDREAM/ClassParamRefresh.vb index d6a9d54..0d5fdcf 100644 --- a/app/DD_PM_WINDREAM/ClassParamRefresh.vb +++ b/app/DD_PM_WINDREAM/ClassParamRefresh.vb @@ -1,9 +1,11 @@ -Public Class ClassParamRefresh +Imports DigitalData.Modules.Database + +Public Class ClassParamRefresh Public Shared Sub Refresh_Params(DT_CHECKUSER As DataTable) Dim oStopwatch As New RefreshHelper.SW("Refresh_Params") FORCE_LAYOUT_OVERVIEW = False SHOW_CHARTS = True - USER_DEBUG_LOG = False + If DT_CHECKUSER.Rows.Count = 1 Then @@ -30,54 +32,66 @@ LOGGER.Debug($"oWorkingMode Parameter: {oMode}") If oMode = "PM.FORCE_LAYOUT_OVERVIEW" Then FORCE_LAYOUT_OVERVIEW = True - LOGGER.Info($"FORCE_LAYOUT_OVERVIEW [{FORCE_LAYOUT_OVERVIEW}]") + LOGGER.Debug($"FORCE_LAYOUT_OVERVIEW [{FORCE_LAYOUT_OVERVIEW}]") ElseIf oMode = "PM.NO_MASS_VALIDATOR" Then SHOW_MASS_VALIDATOR = False - LOGGER.Info($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]") + LOGGER.Debug($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]") ElseIf oMode = "PM.NO_CHARTS" Then SHOW_CHARTS = False - LOGGER.Info($"SHOW_CHARTS [{SHOW_CHARTS}]") + LOGGER.Debug($"SHOW_CHARTS [{SHOW_CHARTS}]") ElseIf oMode = "PM.DEBUG_LOG" Then - USER_DEBUG_LOG = True + DEBUG = True LOGCONFIG.Debug = True ElseIf oMode = "PM.IDBWITHWMFS" Then IDB_USES_WMFILESTORE = True ElseIf oMode = "PM.NO_BASICCONF" Then BASIC_CONF_VISIBLE = False - LOGGER.Info($"BASIC_CONF_VISIBLE [{BASIC_CONF_VISIBLE}]") + LOGGER.Debug($"BASIC_CONF_VISIBLE [{BASIC_CONF_VISIBLE}]") ElseIf oMode.StartsWith("PM.IDB_CONID!") Then - Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "") - Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID) - CONNECTION_STRING_IDB = oConString - If ClassDatabase.Init(CONNECTION_STRING_IDB) = False Then - IDB_ACTIVE = False + If CONNECTION_STRING_IDB <> "" And Not IsNothing(Database_IDB) Then + If Database_IDB.DBInitialized = True Then + IDB_ACTIVE = True + Continue For + End If Else - IDB_ACTIVE = True - LOGGER.Info($"Got an IDB-Connection [{CON_ID}]!") - End If - ElseIf oMode.StartsWith("PM.IDB_APP_SERV_CONID!") Then - Dim CON_ID = oMode.Replace("PM.IDB_APP_SERV_CONID!", "") - Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID) - CONNECTION_STRING_IDB_APP_SERVER = oConString - If ClassDatabase.Init(CONNECTION_STRING_IDB_APP_SERVER) = True Then - LOGGER.Info($"Got an IDB APP-Server-Connection [{CON_ID}]!") + Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "") + Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID) + + CONNECTION_STRING_IDB = oConString + Database_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_IDB) + If Database_IDB.DBInitialized = True Then + IDB_ACTIVE = True + LOGGER.Info($"IDB is active - IDB-Connection [{CON_ID}]!") + Else + IDB_ACTIVE = False + End If End If + + + + 'ElseIf oMode.StartsWith("PM.IDB_APP_SERV_CONID!") Then + ' Dim CON_ID = oMode.Replace("PM.IDB_APP_SERV_CONID!", "") + ' Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID) + ' CONNECTION_STRING_IDB_APP_SERVER = oConString + ' If ClassDatabase.Init(CONNECTION_STRING_IDB_APP_SERVER) = True Then + ' LOGGER.Info($"Got an IDB APP-Server-Connection [{CON_ID}]!") + ' End If ElseIf oMode = "PM.MONITORING" Then MONITORING_ACTIVE = True - LOGGER.Info($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]") + LOGGER.Debug($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]") ElseIf oMode = "PM.GHOSTMODE" Then GHOSTMODE_ACTIVE = True - LOGGER.Info($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]") + LOGGER.Debug($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]") ElseIf oMode.StartsWith("PM.COLORSCHEME") Then Dim oColorScheme = oMode.Replace("PM.COLORSCHEME=", "") RIBBON_COLOR_SCHEME = oColorScheme.ToUpper - LOGGER.Info($"RIBBON_COLOR_SCHEME [{RIBBON_COLOR_SCHEME}]") + LOGGER.Debug($"RIBBON_COLOR_SCHEME [{RIBBON_COLOR_SCHEME}]") ElseIf oMode.StartsWith("PM.NO_DETAIL_PROFILES") Then NO_DETAIL_PROFILES = True - LOGGER.Info($"NO_DETAIL_PROFILES [{NO_DETAIL_PROFILES}]") + LOGGER.Debug($"NO_DETAIL_PROFILES [{NO_DETAIL_PROFILES}]") ElseIf oMode = "PM.NO_POPUP" Then POPUP_REMINDER_ACTIVE = False - LOGGER.Info($"POPUP_REMINDER_ACTIVE [{POPUP_REMINDER_ACTIVE}]") + LOGGER.Debug($"POPUP_REMINDER_ACTIVE [{POPUP_REMINDER_ACTIVE}]") ElseIf oMode.StartsWith("PM.CONV_IDENTIFICATION") Then Dim oIdent = oMode.Replace("PM.CONV_IDENTIFICATION=", "") CONV_IDENTIFICATION = oIdent @@ -86,15 +100,16 @@ Try INACTIVITY_DURATION = CInt(oInactivityDuration) - LOGGER.Info($"InactivityDuration [{INACTIVITY_DURATION}]") + LOGGER.Debug($"InactivityDuration [{INACTIVITY_DURATION}]") Catch ex As Exception + LOGGER.Warn($"INACTIVITY_DURATION = 0 - {ex.Message}") INACTIVITY_DURATION = 0 End Try ElseIf oMode.StartsWith("PM.COL_LAST_EDITED") Then Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_EDITED=", "") Try LAST_EDITED_COLUMN = oLEDITEDCOL - LOGGER.Info($"LAST_EDITED_COLUMN: {oLEDITEDCOL}") + LOGGER.Debug($"LAST_EDITED_COLUMN: {oLEDITEDCOL}") Catch ex As Exception LAST_EDITED_COLUMN = "" @@ -103,7 +118,7 @@ Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_ADDED=", "") Try LAST_ADDED_COLUMN = oLEDITEDCOL - LOGGER.Info($"LAST_ADDED_COLUMN: {oLEDITEDCOL}") + LOGGER.Debug($"LAST_ADDED_COLUMN: {oLEDITEDCOL}") Catch ex As Exception LAST_ADDED_COLUMN = "" @@ -162,23 +177,30 @@ ElseIf oMode.StartsWith("PM.RibbonPageCustItm1") Then Dim oAfterReplace = oMode.Replace("PM.RibbonPageCustItm1=", "") RibbonPageCustItm1 = oAfterReplace + ElseIf oMode.StartsWith("PM.ButtonExport2FolderCaption") Then + Dim oAfterReplace = oMode.Replace("PM.ButtonExport2FolderCaption=", "") + ButtonExport2Folder_Caption = oAfterReplace + ElseIf oMode.StartsWith("PM.ButtonExport2Folder_RootFolder") Then + Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_RootFolder=", "") + ButtonExport2Folder_RootFolder = oAfterReplace + Else LOGGER.Info($"Wrong oMode: {oMode}") End If Next - If IDB_ACTIVE Then - If CONNECTION_STRING_APP_SERVER <> String.Empty Then - If USE_APPSERVER = True Then - CONNECTION_STRING_IDB_READ = CONNECTION_STRING_APP_SERVER - Else - CONNECTION_STRING_IDB_READ = CONNECTION_STRING_IDB - End If + 'If IDB_ACTIVE Then + ' If CONNECTION_STRING_APP_SERVER <> String.Empty Then + ' If USE_APPSERVER = True Then + ' CONNECTION_STRING_IDB_READ = CONNECTION_STRING_APP_SERVER + ' Else + ' CONNECTION_STRING_IDB_READ = CONNECTION_STRING_IDB + ' End If - Else - CONNECTION_STRING_IDB_READ = CONNECTION_STRING_IDB - End If - CONNECTION_STRING_IDB_WRITE = CONNECTION_STRING_IDB - End If + ' Else + ' CONNECTION_STRING_IDB_READ = CONNECTION_STRING_IDB + ' End If + ' CONNECTION_STRING_IDB_WRITE = CONNECTION_STRING_IDB + 'End If End If oStopwatch.Done() End Sub diff --git a/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb b/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb index e57306e..97e3f31 100644 --- a/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb +++ b/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb @@ -85,7 +85,7 @@ Public Class ClassWindream_allgemein Return False End If - If LOG_ERRORS_ONLY = False Then + If ModuleMySettings.DEBUG = False Then LOGGER.Info(" >> windream-Version: '" & oSession.GetSystemInfo("WindreamVersion") & "'") End If @@ -136,7 +136,7 @@ LOGGER.Error(ex) Try ' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist Dim sql = "SELECT T.GUID FROM TBDD_GROUPS_USER T INNER JOIN TBDD_GROUPS T1 on T1.GUID = T.GROUP_ID WHERE T1.NAME = 'SERVER_USER' AND T.USER_ID = " & USER_ID - Dim userExistsInServerUserGroup = ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING, "StartWMCC-userExistsInServerUserGroup") + Dim userExistsInServerUserGroup = Database_ECM.GetScalarValue(sql) ', CONNECTION_STRING_ECM, "StartWMCC-userExistsInServerUserGroup") If WMSESSION_STARTSTOP_STARTUP = True Then 'And userExistsInServerUserGroup Is Nothing @@ -159,7 +159,7 @@ LOGGER.Error(ex) Try ' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist Dim sql = "SELECT T.GUID FROM TBDD_GROUPS_USER T INNER JOIN TBDD_GROUPS T1 on T1.GUID = T.GROUP_ID WHERE T1.NAME = 'SERVER_USER' AND T.USER_ID = " & USER_ID - Dim userExistsInServerUserGroup = ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING, "StopWMCC-userExistsInServerUserGroup") + Dim userExistsInServerUserGroup = Database_ECM.GetScalarValue(sql) ', CONNECTION_STRING_ECM, "StopWMCC-userExistsInServerUserGroup") If WMSESSION_STARTSTOP_STARTUP = True Then 'And userExistsInServerUserGroup Is Nothing Dim owindreamControlCenter = CreateObject("Wmcc.ControlCenter") diff --git a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj index d934899..e3bc9c9 100644 --- a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj +++ b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj @@ -162,7 +162,8 @@ ..\..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll - + + False ..\..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll @@ -171,7 +172,8 @@ ..\..\..\DDMonorepo\Modules.Language\bin\Debug\DigitalData.Modules.Language.dll - + + False ..\..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll @@ -202,7 +204,7 @@ - ..\packages\NLog.4.5.11\lib\net45\NLog.dll + ..\packages\NLog.4.7.10\lib\net45\NLog.dll P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Oracle.ManagedDataAccess.dll @@ -590,6 +592,12 @@ frmFormDesigner.vb Designer + + frmGhostMode.vb + + + frmGhostMode.vb + frmGhostMode.vb @@ -605,6 +613,9 @@ frmMain.vb + + frmMain.vb + frmMain.vb @@ -651,10 +662,19 @@ frmValidator.vb + + frmValidator.vb + frmValidator.vb Designer + + frmValidatorSearch.vb + + + frmValidatorSearch.vb + frmValidatorSearch.vb Designer @@ -707,8 +727,6 @@ - - diff --git a/app/DD_PM_WINDREAM/ModuleMySettings.vb b/app/DD_PM_WINDREAM/ModuleMySettings.vb index 8728f14..091794e 100644 --- a/app/DD_PM_WINDREAM/ModuleMySettings.vb +++ b/app/DD_PM_WINDREAM/ModuleMySettings.vb @@ -1,13 +1,8 @@ Module ModuleMySettings ' Connection String Public SOURCE_INIT As Boolean = False - Public CONNECTION_STRING As String = "" - Public CONNECTION_STRING_APP_SERVER As String = "" - Public CONNECTION_STRING_READ As String + Public CONNECTION_STRING_ECM As String = "" Public CONNECTION_STRING_IDB As String = "" - Public CONNECTION_STRING_IDB_APP_SERVER As String = "" - Public CONNECTION_STRING_IDB_READ As String = "" - Public CONNECTION_STRING_IDB_WRITE As String = "" Public IDB_ACTIVE As Boolean = False Public EDMIAppServerActive As Boolean = False @@ -19,7 +14,7 @@ Public NO_DETAIL_PROFILES As Boolean = False Public DT_CONNECTIONS As DataTable ' Debug Settings - Public LOG_ERRORS_ONLY As Boolean = True + Public DEBUG As Boolean = False ' Viewer Settings 'Public VIEWER_UNIVERSAL As String = "" diff --git a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb index da15435..c790f05 100644 --- a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb +++ b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb @@ -2,6 +2,8 @@ Imports DigitalData.Modules.Config Imports DigitalData.Modules.Logging Imports DigitalData.Modules.EDMI.API +Imports DigitalData.Modules.Database + Module ModuleRuntimeVariables ' Diese Werte müssen später zur Laufzeit geladen werden @@ -57,7 +59,7 @@ Module ModuleRuntimeVariables Public USER_RIGHT2 As Boolean = False Public USER_RIGHT3 As Boolean = False Public USER_RIGHT4 As Boolean = False - Public USER_DEBUG_LOG As Boolean = False + Public USER_CONFIG_DEBUG As Boolean = False Public USER_GHOST_MODE_ACTIVE As Boolean = False Public USER_GHOST_MODE_USRNAME As String = "" @@ -86,6 +88,9 @@ Module ModuleRuntimeVariables Public START_CW_LOC_VARIANT As String = 0 Public RibbonPageCustTitle As String = "" Public RibbonPageCustItm1 As String = "" + Public ButtonExport2Folder_Caption As String = "" + Public ButtonExport2Folder_RootFolder As String = "" + Public LICENSE_COUNT As Integer = 0 Public LICENSE_EXPIRED As Boolean = False @@ -146,4 +151,11 @@ Module ModuleRuntimeVariables Public MyIndicies_Types As List(Of Integer) Public _Client As Client + + Public Database_ECM As MSSQLServer + Public Database_IDB As MSSQLServer + Public Database_APPSERVER As MSSQLServer + + Public Timer5Mins_running As Boolean = False + Public TimerRefresh_running As Boolean = False End Module diff --git a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb index 85f1f95..810615c 100644 --- a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb +++ b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/app/DD_PM_WINDREAM/frmAdmin2.Designer.vb b/app/DD_PM_WINDREAM/frmAdmin2.Designer.vb index 5a511cd..42c00fe 100644 --- a/app/DD_PM_WINDREAM/frmAdmin2.Designer.vb +++ b/app/DD_PM_WINDREAM/frmAdmin2.Designer.vb @@ -44,10 +44,12 @@ Partial Class frmAdmin2 Me.BarButtonItem9 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem10 = New DevExpress.XtraBars.BarButtonItem() Me.BarStaticItem1 = New DevExpress.XtraBars.BarStaticItem() + Me.BarButtonItem11 = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.GridControlWK3 = New DevExpress.XtraGrid.GridControl() Me.GridViewWK3 = New DevExpress.XtraGrid.Views.Grid.GridView() @@ -159,8 +161,6 @@ Partial Class frmAdmin2 Me.TBDD_GUI_LANGUAGE_PHRASETableAdapter = New DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TBDD_GUI_LANGUAGE_PHRASETableAdapter() Me.LayoutConverter1 = New DevExpress.XtraLayout.Converter.LayoutConverter(Me.components) Me.XtraSaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() - Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() - Me.BarButtonItem11 = New DevExpress.XtraBars.BarButtonItem() CType(Me.spcontwKonfMain, System.ComponentModel.ISupportInitialize).BeginInit() Me.spcontwKonfMain.SuspendLayout() CType(Me.spcontwKonfleft, System.ComponentModel.ISupportInitialize).BeginInit() @@ -431,6 +431,13 @@ Partial Class frmAdmin2 Me.BarStaticItem1.Id = 15 Me.BarStaticItem1.Name = "BarStaticItem1" ' + 'BarButtonItem11 + ' + resources.ApplyResources(Me.BarButtonItem11, "BarButtonItem11") + Me.BarButtonItem11.Id = 16 + Me.BarButtonItem11.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem11.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.BarButtonItem11.Name = "BarButtonItem11" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3, Me.RibbonPageGroup4}) @@ -465,6 +472,13 @@ Partial Class frmAdmin2 Me.RibbonPageGroup3.Name = "RibbonPageGroup3" resources.ApplyResources(Me.RibbonPageGroup3, "RibbonPageGroup3") ' + 'RibbonPageGroup4 + ' + Me.RibbonPageGroup4.AllowTextClipping = False + Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonItem11) + Me.RibbonPageGroup4.Name = "RibbonPageGroup4" + resources.ApplyResources(Me.RibbonPageGroup4, "RibbonPageGroup4") + ' 'RibbonStatusBar1 ' Me.RibbonStatusBar1.ItemLinks.Add(Me.labelStatus) @@ -1431,20 +1445,6 @@ Partial Class frmAdmin2 ' resources.ApplyResources(Me.XtraSaveFileDialog1, "XtraSaveFileDialog1") ' - 'RibbonPageGroup4 - ' - Me.RibbonPageGroup4.AllowTextClipping = False - Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonItem11) - Me.RibbonPageGroup4.Name = "RibbonPageGroup4" - resources.ApplyResources(Me.RibbonPageGroup4, "RibbonPageGroup4") - ' - 'BarButtonItem11 - ' - resources.ApplyResources(Me.BarButtonItem11, "BarButtonItem11") - Me.BarButtonItem11.Id = 16 - Me.BarButtonItem11.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem11.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) - Me.BarButtonItem11.Name = "BarButtonItem11" - ' 'frmAdmin2 ' resources.ApplyResources(Me, "$this") diff --git a/app/DD_PM_WINDREAM/frmAdmin2.resx b/app/DD_PM_WINDREAM/frmAdmin2.resx index 40dd3b1..5fc8bab 100644 --- a/app/DD_PM_WINDREAM/frmAdmin2.resx +++ b/app/DD_PM_WINDREAM/frmAdmin2.resx @@ -2091,7 +2091,7 @@ 619, 56 - 1075, 56 + 17, 95 "xlsx-Dateien|*.xlsx" @@ -2218,6 +2218,12 @@ DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + BarButtonItem11 + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + RibbonPage1 @@ -2242,6 +2248,12 @@ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + RibbonPageGroup4 + + + DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + GridViewWK3 @@ -2656,18 +2668,6 @@ System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - RibbonPageGroup4 - - - DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - BarButtonItem11 - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - frmAdmin2 diff --git a/app/DD_PM_WINDREAM/frmAdmin2.vb b/app/DD_PM_WINDREAM/frmAdmin2.vb index b85e8a5..e107bc9 100644 --- a/app/DD_PM_WINDREAM/frmAdmin2.vb +++ b/app/DD_PM_WINDREAM/frmAdmin2.vb @@ -57,7 +57,7 @@ Public Class frmAdmin2 End Sub Sub Load_Email_template() Try - TBDD_EMAIL_TEMPLATETableAdapter.Connection.ConnectionString = CONNECTION_STRING + TBDD_EMAIL_TEMPLATETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM Me.TBDD_EMAIL_TEMPLATETableAdapter.Fill(Me.DD_DMSLiteDataSet.TBDD_EMAIL_TEMPLATE) Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in loading EmailTemplates:") @@ -65,7 +65,7 @@ Public Class frmAdmin2 End Sub Sub Load_Gui_Phrases() Try - TBDD_GUI_LANGUAGE_PHRASETableAdapter.Connection.ConnectionString = CONNECTION_STRING + TBDD_GUI_LANGUAGE_PHRASETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM Me.TBDD_GUI_LANGUAGE_PHRASETableAdapter.Fill(Me.DD_DMSLiteDataSet.TBDD_GUI_LANGUAGE_PHRASE) Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in loading GUIPhrases:") @@ -101,7 +101,7 @@ Public Class frmAdmin2 'wenn Speichern ja If result = MsgBoxResult.Yes Then Dim oSQL = $"Delete from TBDD_EMAIL_TEMPLATE where guid = {GUIDTextEdit.Text}" - If ClassDatabase.Execute_non_Query(oSQL) = True Then + If Database_ECM.ExecuteNonQuery(oSQL) = True Then Load_Email_template() Status_Changed("Vorlage gelöscht!") End If @@ -128,10 +128,11 @@ Public Class frmAdmin2 End Sub Private Sub SET_GRID_DESCRIPTION(pGridView As Views.Grid.GridView, pDT As DataTable) Dim objectCount_Descr = $"{pGridView.Tag} [{pDT.Rows.Count}] " - If USER_LANGUAGE <> "de-DE" Then - objectCount_Descr &= " records" - Else + If USER_LANGUAGE = "de-DE" Then objectCount_Descr &= " Datensätze" + ElseIf USER_LANGUAGE = "en-US" Then + objectCount_Descr &= " records" + ElseIf USER_LANGUAGE = "fr-FR" Then End If pGridView.ViewCaption = objectCount_Descr End Sub @@ -139,12 +140,12 @@ Public Class frmAdmin2 Me.Cursor = Cursors.WaitCursor Try Dim oSQL = "SELECT * FROM TBPM_FURTHER_KONFIG_VIEW" - DT_FURTHER_KONFIG_VIEW = ClassDatabase.Return_Datatable(oSQL, "Monitor-Load_Grid_Data1") + DT_FURTHER_KONFIG_VIEW = Database_ECM.GetDatatable(oSQL) ', "Monitor-Load_Grid_Data1") If Not IsNothing(DT_FURTHER_KONFIG_VIEW) Then If DT_FURTHER_KONFIG_VIEW.Rows.Count >= 1 Then oSQL = DT_FURTHER_KONFIG_VIEW.Rows(0).Item("GRID_SQL") GridViewWK1.Columns.Clear() - Dim oDTGRID1 As DataTable = ClassDatabase.Return_Datatable(oSQL, "FurtherConfig-Load_Grid_Data1") + Dim oDTGRID1 As DataTable = Database_ECM.GetDatatable(oSQL) ', "FurtherConfig-Load_Grid_Data1") GridControlWK1.DataSource = oDTGRID1 GRID1_TITLE = DT_FURTHER_KONFIG_VIEW.Rows(0).Item("GRID_TITLE") GridViewWK1.Tag = GRID1_TITLE @@ -166,7 +167,7 @@ Public Class frmAdmin2 GridViewWK2.Tag = GRID2_TITLE GridViewWK2.Columns.Clear() - Dim oDTGRID2 As DataTable = ClassDatabase.Return_Datatable(GRID2_SQL, "FurtherConfig-Load_Grid_Data2") + Dim oDTGRID2 As DataTable = Database_ECM.GetDatatable(GRID2_SQL) ', "FurtherConfig-Load_Grid_Data2") GridControlWK2.DataSource = oDTGRID2 SET_GRID_DESCRIPTION(GridViewWK2, oDTGRID2) Select Case DT_FURTHER_KONFIG_VIEW.Rows.Count @@ -177,7 +178,7 @@ Public Class frmAdmin2 GridViewWK3.Tag = GRID3_TITLE GridViewWK3.Columns.Clear() - Dim oDTGRID3 As DataTable = ClassDatabase.Return_Datatable(GRID3_SQL, "FurtherConfig-Load_Grid_Data3") + Dim oDTGRID3 As DataTable = Database_ECM.GetDatatable(GRID3_SQL) ', "FurtherConfig-Load_Grid_Data3") GridControlWK3.DataSource = oDTGRID3 SET_GRID_DESCRIPTION(GridViewWK3, oDTGRID3) Case 4 @@ -185,14 +186,14 @@ Public Class frmAdmin2 GRID3_SQL = DT_FURTHER_KONFIG_VIEW.Rows(2).Item("GRID_SQL") GridViewWK3.Tag = GRID3_TITLE GridViewWK3.Columns.Clear() - Dim oDTGRID3 As DataTable = ClassDatabase.Return_Datatable(GRID3_SQL, "FurtherConfig-Load_Grid_Data3") + Dim oDTGRID3 As DataTable = Database_ECM.GetDatatable(GRID3_SQL) ', "FurtherConfig-Load_Grid_Data3") GridControlWK3.DataSource = oDTGRID3 SET_GRID_DESCRIPTION(GridViewWK3, oDTGRID3) GRID4_TITLE = DT_FURTHER_KONFIG_VIEW.Rows(3).Item("GRID_TITLE") GRID4_SQL = DT_FURTHER_KONFIG_VIEW.Rows(3).Item("GRID_SQL") GridViewWK4.Tag = GRID4_TITLE GridViewWK4.Columns.Clear() - Dim oDTGRID4 As DataTable = ClassDatabase.Return_Datatable(GRID4_SQL, "FurtherConfig-Load_Grid_Data4") + Dim oDTGRID4 As DataTable = Database_ECM.GetDatatable(GRID4_SQL) ', "FurtherConfig-Load_Grid_Data4") GridControlWK4.DataSource = oDTGRID4 SET_GRID_DESCRIPTION(GridViewWK4, oDTGRID4) End Select diff --git a/app/DD_PM_WINDREAM/frmAdminPasswort.vb b/app/DD_PM_WINDREAM/frmAdminPasswort.vb index 88740ae..9ce7ee0 100644 --- a/app/DD_PM_WINDREAM/frmAdminPasswort.vb +++ b/app/DD_PM_WINDREAM/frmAdminPasswort.vb @@ -5,7 +5,7 @@ Public Class frmAdminPasswort Private Sub frmAdminPasswort_Load(sender As Object, e As EventArgs) Handles MyBase.Load Try - Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING + Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM akt_pw = TBPM_KONFIGURATIONTableAdapter.cmdGetAdminPW Catch ex As Exception LOGGER.Error(ex) diff --git a/app/DD_PM_WINDREAM/frmAdministration.vb b/app/DD_PM_WINDREAM/frmAdministration.vb index ee25879..09cb695 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.vb +++ b/app/DD_PM_WINDREAM/frmAdministration.vb @@ -27,20 +27,20 @@ Public Class frmAdministration formloaded = False UNSAVED_CHANGES_PROFILE = False Try - TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBPM_PROFILETableAdapter.Connection.ConnectionString = CONNECTION_STRING + TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBPM_PROFILETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM PROF_ORIGIN = DD_DMSLiteDataSet.TBPM_PROFILE - TBPM_TYPETableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBDD_USERTableAdapter.Connection.ConnectionString = CONNECTION_STRING - FNPM_GET_FREE_USER_FOR_PROFILETableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBDD_GROUPSTableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBPROFILE_USERTableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBPROFILE_GROUPTableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBPM_PROFILE_FINAL_INDEXINGTableAdapter.Connection.ConnectionString = CONNECTION_STRING + TBPM_TYPETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBDD_USERTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + FNPM_GET_FREE_USER_FOR_PROFILETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBDD_GROUPSTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBPROFILE_USERTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBPROFILE_GROUPTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBPM_PROFILE_FINAL_INDEXINGTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM - TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBPM_PROFILE_FILESTableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING + TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBPM_PROFILE_FILESTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM TBDD_CONNECTIONTableAdapter.Fill(DD_DMSLiteDataSet.TBDD_CONNECTION) Refresh_Profildaten() @@ -212,7 +212,7 @@ Public Class frmAdministration End Try Else Dim oSQL = "SELECT GUID, TITLE FROM TBIDB_BUSINESS_ENTITY" - Dim oDT As DataTable = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB) + Dim oDT As DataTable = Database_IDB.GetDatatable(oSQL) For Each oROW As DataRow In oDT.Rows Me.cmbObjekttypen.Items.Add(oROW.Item(1)) Next @@ -484,7 +484,7 @@ Public Class frmAdministration Series4Sequence.Value = 1 Dim oSQLChart As String = "SELECT * FROM TBPM_CHART ORDER BY GROUP_ID" - DT_CHART_CONFIG = ClassDatabase.Return_Datatable(oSQLChart, "Adm_Chart") + DT_CHART_CONFIG = Database_ECM.GetDatatable(oSQLChart) ', "Adm_Chart") For Each oROW As DataRow In DT_CHART_CONFIG.Rows If oROW.Item("GROUP_ID") = 1 Then Series1GUID.Text = oROW.Item("GUID") @@ -685,7 +685,7 @@ Public Class frmAdministration End Sub Private Function Execute_SQL(SQL As String) Try - Dim SQLconnection As New SqlClient.SqlConnection(CONNECTION_STRING) + Dim SQLconnection As New SqlClient.SqlConnection(CONNECTION_STRING_ECM) Dim SQLcommand As New SqlCommand(SQL, SQLconnection) SQLconnection.Open() SQLcommand.ExecuteNonQuery() @@ -1082,7 +1082,7 @@ Public Class frmAdministration If result = MsgBoxResult.Yes Then Try Dim oEXECSQL As String = $"EXEC PRPM_COPY_PROFILE {PROFILGUIDTextBox.Text},'{USER_USERNAME}'" - If ClassDatabase.Execute_non_Query(oEXECSQL) = True Then + If Database_ECM.ExecuteNonQuery(oEXECSQL) = True Then MsgBox("Das Profil " & NAMETextBox.Text & " wurde erfolgreich kopiert!", MsgBoxStyle.Information, "Erfolgsmeldung") Refresh_Profildaten() Else @@ -1106,7 +1106,7 @@ Public Class frmAdministration Try Dim profileID = PROFILGUIDTextBox.Text Dim del As String = $"EXEC PRPM_DELETE_PROFILE {profileID}" - If ClassDatabase.Execute_non_Query(del) = True Then + If Database_ECM.ExecuteNonQuery(del) = True Then MsgBox("Das Profil " & NAMETextBox.Text & " wurde erfolgreich gelöscht!", MsgBoxStyle.Information, "Erfolgsmeldung") Refresh_Profildaten() End If @@ -1123,7 +1123,7 @@ Public Class frmAdministration Dim result As MsgBoxResult = MsgBox("Wollen Sie die Dateien für dieses Profil wirklich entfernen?" & vbNewLine & "Wenn ja müssen Sie auf die Aktualisierung des Jobs warten bis wieder Dateien zur Bearbeitung frei sind.", MsgBoxStyle.YesNo, "Bestätigung erforderlich:") 'wenn Speichern ja If result = MsgBoxResult.Yes Then - If ClassDatabase.Execute_non_Query("DELETE FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = " & PROFILGUIDTextBox.Text) = True Then + If Database_ECM.ExecuteNonQuery("DELETE FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = " & PROFILGUIDTextBox.Text) = True Then MsgBox("Die Dateien zum Profil wurden erfolgreich gelöscht!", MsgBoxStyle.Information) End If End If @@ -1180,7 +1180,7 @@ Public Class frmAdministration Dim result As MsgBoxResult = MsgBox("Do You really want to delete all workflow-Jobs?" & vbNewLine & "If yes You have to wait for the next Sync-Job for the jobs.", MsgBoxStyle.YesNo, "Bestätigung erforderlich:") 'wenn Speichern ja If result = MsgBoxResult.Yes Then - If ClassDatabase.Execute_non_Query("DELETE FROM TBPM_PROFILE_FILES") = True Then + If Database_ECM.ExecuteNonQuery("DELETE FROM TBPM_PROFILE_FILES") = True Then MsgBox("All workflow-jobs have been erased!", MsgBoxStyle.Information) End If End If @@ -1201,7 +1201,7 @@ Public Class frmAdministration Dim oResult = oForm.ShowDialog() If oResult = DialogResult.OK Then - ClassDatabase.Execute_non_Query(String.Format("UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '{0}' WHERE GUID = 1", oForm.SQLCommand.Replace("'", "''"))) + Database_ECM.ExecuteNonQuery(String.Format("UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '{0}' WHERE GUID = 1", oForm.SQLCommand.Replace("'", "''"))) BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") = oForm.SQLCommand End If Catch ex As Exception @@ -1295,7 +1295,7 @@ Public Class frmAdministration Dim sql As String = $"INSERT INTO TBPM_PROFILE_FINAL_INDEXING (PROFIL_ID, CONNECTION_ID, SQL_COMMAND, INDEXNAME, VALUE, ACTIVE, PREVENT_DUPLICATES, ALLOW_NEW_VALUES, ADDED_WHO,IF_VEKTOR_BEHAVIOUR,DESCRIPTION,SEQUENCE,CONTINUE_INDETERMINED) VALUES ({oProfileId}, {connectionId}, '{sqlCommand}', '{indexName}', '{value}', {active}, {preventDuplicates}, {AllowAddNewValues}, '{addedWho}','{IF_VEKTOR_BEHAVIOUR}','{oDescription}',{pSequence},{oContinueOIdS})" - If ClassDatabase.Execute_non_Query(sql, True) Then + If Database_ECM.ExecuteNonQuery(sql) Then tsbStaticInfo.Caption = $"Final index added - {Now.ToLongTimeString}" INSERT_ACTIVE = False End If @@ -1305,7 +1305,7 @@ Public Class frmAdministration VALUE = '{value}', ACTIVE = {active}, ALLOW_NEW_VALUES = {AllowAddNewValues}, PREVENT_DUPLICATES = {preventDuplicates},IF_VEKTOR_BEHAVIOUR = '{IF_VEKTOR_BEHAVIOUR}', [SEQUENCE] = {oSequence}, CONTINUE_INDETERMINED = {oContinueOIdS} WHERE GUID = {guid}" - If ClassDatabase.Execute_non_Query(sql, True) Then + If Database_ECM.ExecuteNonQuery(sql) Then tsbStaticInfo.Caption = $"Final index saved - {Now.ToLongTimeString} - RESTART NECESSARY" End If End If @@ -1344,7 +1344,7 @@ Public Class frmAdministration Dim oResult = oForm.ShowDialog() If oResult = DialogResult.OK Then - ClassDatabase.Execute_non_Query(String.Format("UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '{0}' WHERE GUID = 1", oForm.SQLCommand.Replace("'", "''"))) + Database_ECM.ExecuteNonQuery(String.Format("UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '{0}' WHERE GUID = 1", oForm.SQLCommand.Replace("'", "''"))) BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") = oForm.SQLCommand End If Catch ex As Exception @@ -1359,14 +1359,14 @@ Public Class frmAdministration CURRENT_ProfilGUID = PROFILGUIDTextBox.Text CURRENT_DESIGN_TYPE = "SQL_PROFILE" Dim oSQL = $"SELECT [SQL_VIEW] FROM TBPM_PROFILE WHERE GUID = {CURRENT_ProfilGUID}" - Dim oldSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING) + Dim oldSQL = Database_ECM.GetScalarValue(oSQL) Dim oForm As New frmSQL_DESIGNER() With {.SQLCommand = oldSQL} Dim oResult = oForm.ShowDialog() If oResult = DialogResult.OK Then If oldSQL <> oForm.SQLCommand Then Dim oUpdate As String = $"Update TBPM_PROFILE SET CHANGED_WHO = '{USER_USERNAME}', SQL_VIEW = '{oForm.SQLCommand.Replace("'", "''")}' WHERE GUID = {CURRENT_ProfilGUID}" - If ClassDatabase.Execute_non_Query(oUpdate) = True Then + If Database_ECM.ExecuteNonQuery(oUpdate) = True Then tsbStaticInfo.Caption = $"Profile SQL saved - {Now.ToLongTimeString}" CHANGES_FORM_DESIGN = True End If @@ -1384,14 +1384,14 @@ Public Class frmAdministration CURRENT_ProfilGUID = PROFILGUIDTextBox.Text CURRENT_DESIGN_TYPE = "SQL_BTNFINISH" Dim oSQL = $"SELECT SQL_BTN_FINISH FROM TBPM_PROFILE WHERE GUID = {CURRENT_ProfilGUID}" - Dim oldSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "bbtnItemFinishSQL_ItemClick-get SQL_BTN_FINISH") + Dim oldSQL = Database_ECM.GetScalarValue(oSQL) ', CONNECTION_STRING_ECM, "bbtnItemFinishSQL_ItemClick-get SQL_BTN_FINISH") Dim oForm As New frmSQL_DESIGNER() With {.SQLCommand = oldSQL} Dim oResult = oForm.ShowDialog() If oResult = DialogResult.OK Then If oldSQL <> oForm.SQLCommand Then Dim oUpdate As String = $"Update TBPM_PROFILE SET CHANGED_WHO = '{USER_USERNAME}', SQL_BTN_FINISH = '{oForm.SQLCommand.Replace("'", "''")}' WHERE GUID = {CURRENT_ProfilGUID}" - If ClassDatabase.Execute_non_Query(oUpdate) = True Then + If Database_ECM.ExecuteNonQuery(oUpdate) = True Then tsbStaticInfo.Caption = $"Profile SQLFinish saved - {Now.ToLongTimeString}" CHANGES_FORM_DESIGN = True End If @@ -1528,7 +1528,7 @@ Public Class frmAdministration ,[CHANGED_WHO] = '{USER_USERNAME}' ,[GROUP_ID] = '{pSequence}' WHERE GUID = {pGUID}" - Return ClassDatabase.Execute_non_Query(oUpdate) + Return Database_ECM.ExecuteNonQuery(oUpdate) End Function Private Function Insert_ChartRow(pTitle As String, pArgument As String, pColumn As String, pType As String, pSQL As String, pSequence As String) pSQL = pSQL.Replace("'", "''") @@ -1548,7 +1548,7 @@ Public Class frmAdministration ,'{pTitle}' ,'{USER_USERNAME}' ,'{pSequence}')" - Return ClassDatabase.Execute_non_Query(oInsert) + Return Database_ECM.ExecuteNonQuery(oInsert) End Function Private Sub BarButtonItem22_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem22.ItemClick @@ -1667,7 +1667,7 @@ Public Class frmAdministration End Sub Private Function DELETE_ChartRow(pGUID As String) Dim oDelete = $"DELETE FROM [dbo].[TBPM_CHART] WHERE GUID = {pGUID}" - Return ClassDatabase.Execute_non_Query(oDelete) + Return Database_ECM.ExecuteNonQuery(oDelete) End Function Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click diff --git a/app/DD_PM_WINDREAM/frmConnection.vb b/app/DD_PM_WINDREAM/frmConnection.vb index af83eef..8ce28ff 100644 --- a/app/DD_PM_WINDREAM/frmConnection.vb +++ b/app/DD_PM_WINDREAM/frmConnection.vb @@ -168,7 +168,7 @@ Public Class frmConnection End Sub Sub load_connections() Try - Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING + Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM Me.TBDD_CONNECTIONTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBDD_CONNECTION) TBDD_CONNECTIONDataGridView.AutoResizeColumns() Catch ex As Exception diff --git a/app/DD_PM_WINDREAM/frmControl_Detail.vb b/app/DD_PM_WINDREAM/frmControl_Detail.vb index 35e0e23..d39009b 100644 --- a/app/DD_PM_WINDREAM/frmControl_Detail.vb +++ b/app/DD_PM_WINDREAM/frmControl_Detail.vb @@ -9,7 +9,7 @@ Public Class frmControl_Detail Public Function FillData(ID As Integer) Try - TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING + TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM TBPM_CONTROL_TABLETableAdapter.FillByGUID(DD_DMSLiteDataSet.TBPM_CONTROL_TABLE, ID) Return True Catch ex As System.Exception @@ -57,7 +57,7 @@ Public Class frmControl_Detail Private Sub frmControl_Detail_Load(sender As Object, e As EventArgs) Handles Me.Load Try - Me.TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING + Me.TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM If My.Settings.frmTableColumns_Position.IsEmpty = False Then If My.Settings.frmTableColumns_Position.X > 0 And My.Settings.frmTableColumns_Position.Y > 0 Then Me.Location = My.Settings.frmTableColumns_Position @@ -93,7 +93,7 @@ Public Class frmControl_Detail If oldSQL <> oForm.SQLCommand Then Dim oUpdate As String = $"Update TBPM_CONTROL_TABLE SET CHANGED_WHO = '{USER_USERNAME}', SQL_COMMAND = '{oForm.SQLCommand.Replace("'", "''")}' , CONNECTION_ID = {oForm.ConnectionID} WHERE GUID = {GUIDTextBox.Text}" - If ClassDatabase.Execute_non_Query(oUpdate) = True Then + If Database_ECM.ExecuteNonQuery(oUpdate) = True Then tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always tslblAenderungen.Caption = "Changes saved - " & Now End If @@ -141,7 +141,7 @@ Public Class frmControl_Detail If oldSQL <> oForm.SQLCommand Then Dim oUpdate As String = $"Update TBPM_CONTROL_TABLE SET CHANGED_WHO = '{USER_USERNAME}', SQL_COMMAND = '{oForm.SQLCommand.Replace("'", "''")}' , CONNECTION_ID = {oForm.ConnectionID} WHERE GUID = {GUIDTextBox.Text}" - If ClassDatabase.Execute_non_Query(oUpdate) = True Then + If Database_ECM.ExecuteNonQuery(oUpdate) = True Then tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always tslblAenderungen.Caption = "Changes saved - " & Now End If diff --git a/app/DD_PM_WINDREAM/frmDesignerLayout.vb b/app/DD_PM_WINDREAM/frmDesignerLayout.vb index 70bd601..f775942 100644 --- a/app/DD_PM_WINDREAM/frmDesignerLayout.vb +++ b/app/DD_PM_WINDREAM/frmDesignerLayout.vb @@ -105,7 +105,7 @@ Public Class frmDesignerLayout _LayoutSerializer = New LayoutControlSerializer(LOGCONFIG) Dim oSQL = "Select * from TBIDB_LAYOUT_CONFIG" - FormsDatatable = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB_WRITE) + FormsDatatable = Database_IDB.GetDatatable(oSQL) If Not IsNothing(FormsDatatable) Then For Each oRow As DataRow In FormsDatatable.Rows Dim oItem As New BarButtonItem(RibbonControl1.Manager, oRow.Item("TITLE")) @@ -149,7 +149,7 @@ Public Class frmDesignerLayout Dim oSql As String = $"UPDATE TBIDB_LAYOUT_CONFIG SET XML_CONTENT = '{oControls}', XML_LAYOUT = '{oLayout}', CHANGED_WHO = '{Environment.UserName}' WHERE GUID = {SelectedLayoutId}" - ClassDatabase.Execute_non_Query_ConStr(oSql, CONNECTION_STRING_IDB_WRITE) + Database_IDB.ExecuteNonQuery(oSql) End Using End Using End Sub diff --git a/app/DD_PM_WINDREAM/frmFormDesigner.vb b/app/DD_PM_WINDREAM/frmFormDesigner.vb index e717c06..886d400 100644 --- a/app/DD_PM_WINDREAM/frmFormDesigner.vb +++ b/app/DD_PM_WINDREAM/frmFormDesigner.vb @@ -96,10 +96,10 @@ Public Class frmFormDesigner 'End Try Try - TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBWH_CHECK_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING - TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING + TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBWH_CHECK_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM + TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM TBDD_CONNECTIONTableAdapter.Fill(DD_DMSLiteDataSet.TBDD_CONNECTION) Catch ex As Exception LOGGER.Error(ex) @@ -116,7 +116,7 @@ Public Class frmFormDesigner Private Sub frmFormDesigner_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing If ProfileId > 0 Then Dim sql As String = $"SELECT NAME, INDEX_NAME FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {ProfileId} AND CTRL_TYPE NOT IN ('BUTTON','LBL','LINE')" - Dim dt As DataTable = ClassDatabase.Return_Datatable(sql, "frmFormDesigner_FormClosing") + Dim dt As DataTable = Database_ECM.GetDatatable(sql) ', "frmFormDesigner_FormClosing") Dim missingIndexControls As New List(Of String) @@ -264,7 +264,7 @@ Public Class frmFormDesigner SetMovementHandlers(dgv) Case "TABLE" - Dim oDTColumnsPerDevExGrid As DataTable = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {guid} ORDER BY [SEQUENCE]", "FDesignLaodControls") + Dim oDTColumnsPerDevExGrid As DataTable = Database_ECM.GetDatatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {guid} ORDER BY [SEQUENCE]") ', "FDesignLaodControls") Dim table = ClassControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True) @@ -514,7 +514,7 @@ Public Class frmFormDesigner Private Function GetLastID() Dim sql = String.Format("SELECT MAX(GUID) FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {0}", ProfileId) - Return ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING, "GetLastID") + Return Database_ECM.GetScalarValue(sql) End Function Sub SetActiveControlColor() @@ -1062,7 +1062,7 @@ Public Class frmFormDesigner Dim bimage() As Byte = BitmapToByteArray(image) 'UPDATE TBPMO_FORM_CONSTRUCTOR SET MENU_IMG = @MENU_IMG, WHERE GUID = @GUID" Dim SQL As String = "UPDATE TBPM_PROFILE_CONTROLS SET IMAGE_CONTROL = @MENU_IMG WHERE GUID = @GUID" - Dim conn As SqlClient.SqlConnection = New SqlClient.SqlConnection(CONNECTION_STRING) + Dim conn As SqlClient.SqlConnection = New SqlClient.SqlConnection(CONNECTION_STRING_ECM) Dim cmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(SQL, conn) cmd.Parameters.Add("@MENU_IMG", SqlDbType.VarBinary).Value = bimage @@ -1098,12 +1098,12 @@ Public Class frmFormDesigner End If Try - If ClassDatabase.Execute_non_Query($"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{USER_USERNAME}' WHERE GUID = {guid}", True) = True Then + If Database_ECM.ExecuteNonQuery($"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{USER_USERNAME}' WHERE GUID = {guid}") = True Then tslblAenderungen.Visible = True tslblAenderungen.Text = "Änderungen gespeichert - " & Now If columnName.ToUpper = "CTRL_TEXT" Then Dim oSQL = $"EXEC PRPM_CHANGE_CONTROL_CAPTION {guid},{escapedValue},'{USER_USERNAME}','{USER_LANGUAGE}'" - ClassDatabase.Execute_non_Query(oSQL) + Database_ECM.ExecuteNonQuery(oSQL) End If CHANGES_FORM_DESIGN = True Return True @@ -1125,7 +1125,7 @@ Public Class frmFormDesigner Dim oGuid = clsTools.ShortGuid() Dim oColumnName As String = "colNew" & oGuid Dim oColumnCaption As String = "New Column " & oGuid - If ClassDatabase.Execute_non_Query($"INSERT INTO TBPM_CONTROL_TABLE (CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE) VALUES({CURRENT_CONTROL_ID}, '{oColumnName}', '{oColumnCaption}', 95)", True) = True Then + If Database_ECM.ExecuteNonQuery($"INSERT INTO TBPM_CONTROL_TABLE (CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE) VALUES({CURRENT_CONTROL_ID}, '{oColumnName}', '{oColumnCaption}', 95)") = True Then tslblAenderungen.Visible = True tslblAenderungen.Text = "Änderungen gespeichert - " & Now @@ -1142,14 +1142,14 @@ Public Class frmFormDesigner Try CURRENT_DESIGN_TYPE = "SQL_BTNFINISH" Dim oSQL = $"SELECT SQL_BTN_FINISH FROM TBPM_PROFILE WHERE GUID = {ProfileId}" - Dim oldSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "bbtnItemFinishSQL_ItemClick") + Dim oldSQL = Database_ECM.GetScalarValue(oSQL) Dim oForm As New frmSQL_DESIGNER() With {.SQLCommand = oldSQL} Dim oResult = oForm.ShowDialog() If oResult = DialogResult.OK Then If oldSQL <> oForm.SQLCommand Then Dim oUpdate As String = $"Update TBPM_PROFILE SET CHANGED_WHO = '{USER_USERNAME}', SQL_BTN_FINISH = '{oForm.SQLCommand.Replace("'", "''")}' WHERE GUID = {CURRENT_ProfilGUID}" - If ClassDatabase.Execute_non_Query(oUpdate) = True Then + If Database_ECM.ExecuteNonQuery(oUpdate) = True Then tslblAenderungen.Text = $"Profile SQLFinish saved - {Now.ToLongTimeString}" tslblAenderungen.Visible = True CHANGES_FORM_DESIGN = True diff --git a/app/DD_PM_WINDREAM/frmGhostMode.Designer.vb b/app/DD_PM_WINDREAM/frmGhostMode.Designer.vb index b027f53..24d7ce9 100644 --- a/app/DD_PM_WINDREAM/frmGhostMode.Designer.vb +++ b/app/DD_PM_WINDREAM/frmGhostMode.Designer.vb @@ -24,10 +24,10 @@ Partial Class frmGhostMode Private Sub InitializeComponent() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmGhostMode)) Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() + Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() - Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() Me.GridControl1 = New DevExpress.XtraGrid.GridControl() Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -37,56 +37,70 @@ Partial Class frmGhostMode ' 'RibbonControl1 ' + resources.ApplyResources(Me.RibbonControl1, "RibbonControl1") Me.RibbonControl1.ExpandCollapseItem.Id = 0 + Me.RibbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex = CType(resources.GetObject("RibbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex"), Integer) + Me.RibbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex = CType(resources.GetObject("RibbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex"), Integer) + Me.RibbonControl1.ExpandCollapseItem.ImageOptions.SvgImage = CType(resources.GetObject("RibbonControl1.ExpandCollapseItem.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.RibbonControl1.ExpandCollapseItem.SearchTags = resources.GetString("RibbonControl1.ExpandCollapseItem.SearchTags") Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1}) - Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) Me.RibbonControl1.MaxItemId = 2 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] - Me.RibbonControl1.Size = New System.Drawing.Size(965, 139) Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 ' + 'BarButtonItem1 + ' + resources.ApplyResources(Me.BarButtonItem1, "BarButtonItem1") + Me.BarButtonItem1.Id = 1 + Me.BarButtonItem1.ImageOptions.ImageIndex = CType(resources.GetObject("BarButtonItem1.ImageOptions.ImageIndex"), Integer) + Me.BarButtonItem1.ImageOptions.LargeImageIndex = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImageIndex"), Integer) + Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.BarButtonItem1.Name = "BarButtonItem1" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1}) Me.RibbonPage1.Name = "RibbonPage1" - Me.RibbonPage1.Text = "Start" + resources.ApplyResources(Me.RibbonPage1, "RibbonPage1") ' 'RibbonPageGroup1 ' Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1) Me.RibbonPageGroup1.Name = "RibbonPageGroup1" - Me.RibbonPageGroup1.Text = "Aktionen" + resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1") ' 'RibbonStatusBar1 ' - Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 487) + resources.ApplyResources(Me.RibbonStatusBar1, "RibbonStatusBar1") Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 - Me.RibbonStatusBar1.Size = New System.Drawing.Size(965, 22) - ' - 'BarButtonItem1 - ' - Me.BarButtonItem1.Caption = "Ghost-Modus aktivieren" - Me.BarButtonItem1.Id = 1 - Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) - Me.BarButtonItem1.Name = "BarButtonItem1" ' 'GridControl1 ' - Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill - Me.GridControl1.Location = New System.Drawing.Point(0, 139) + resources.ApplyResources(Me.GridControl1, "GridControl1") + Me.GridControl1.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControl1.EmbeddedNavigator.AccessibleDescription") + Me.GridControl1.EmbeddedNavigator.AccessibleName = resources.GetString("GridControl1.EmbeddedNavigator.AccessibleName") + Me.GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControl1.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControl1.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControl1.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControl1.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControl1.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControl1.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControl1.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControl1.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControl1.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControl1.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControl1.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControl1.EmbeddedNavigator.ToolTip = resources.GetString("GridControl1.EmbeddedNavigator.ToolTip") + Me.GridControl1.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControl1.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControl1.EmbeddedNavigator.ToolTipTitle") Me.GridControl1.MainView = Me.GridView1 Me.GridControl1.Name = "GridControl1" - Me.GridControl1.Size = New System.Drawing.Size(965, 348) - Me.GridControl1.TabIndex = 9 Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) ' 'GridView1 ' Me.GridView1.Appearance.EvenRow.BackColor = System.Drawing.Color.LightBlue Me.GridView1.Appearance.EvenRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridView1, "GridView1") Me.GridView1.GridControl = Me.GridControl1 Me.GridView1.Name = "GridView1" Me.GridView1.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False] @@ -100,17 +114,14 @@ Partial Class frmGhostMode Me.GridView1.OptionsView.ShowAutoFilterRow = True Me.GridView1.OptionsView.ShowErrorPanel = DevExpress.Utils.DefaultBoolean.[True] Me.GridView1.OptionsView.ShowViewCaption = True - Me.GridView1.ViewCaption = "Bitte wählen Sie einen Ghost User" ' 'frmGhostMode ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(965, 509) Me.Controls.Add(Me.GridControl1) Me.Controls.Add(Me.RibbonStatusBar1) Me.Controls.Add(Me.RibbonControl1) - Me.Font = New System.Drawing.Font("Calibri", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow Me.Name = "frmGhostMode" Me.TopMost = True diff --git a/app/DD_PM_WINDREAM/frmGhostMode.en-US.resx b/app/DD_PM_WINDREAM/frmGhostMode.en-US.resx new file mode 100644 index 0000000..2144b26 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmGhostMode.en-US.resx @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Enable Ghost Mode + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAIEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk + aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp + c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41 + O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7 + ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp + c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJSb2xlIj4NCiAgICA8 + cGF0aCBkPSJNNCwydjE2YzAsNi42LDUuNCwxMiwxMiwxMnMxMi01LjQsMTItMTJWMkg0eiBNMTEsOWMx + LjcsMCwzLDEuMywzLDNIOEM4LDEwLjMsOS4zLDksMTEsOXogTTE2LDI0ICAgYy0zLjMsMC02LTIuNy02 + LTZjMCwxLjEsMi43LDIsNiwyczYtMC45LDYtMkMyMiwyMS4zLDE5LjMsMjQsMTYsMjR6IE0xOCwxMmMw + LTEuNywxLjMtMywzLTNzMywxLjMsMywzSDE4eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgPC9nPg0KPC9z + dmc+Cw== + + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmGhostMode.fr-FR.resx b/app/DD_PM_WINDREAM/frmGhostMode.fr-FR.resx new file mode 100644 index 0000000..01a6c07 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmGhostMode.fr-FR.resx @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Activer le mode fantôme + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAIEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk + aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp + c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41 + O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7 + ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp + c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJSb2xlIj4NCiAgICA8 + cGF0aCBkPSJNNCwydjE2YzAsNi42LDUuNCwxMiwxMiwxMnMxMi01LjQsMTItMTJWMkg0eiBNMTEsOWMx + LjcsMCwzLDEuMywzLDNIOEM4LDEwLjMsOS4zLDksMTEsOXogTTE2LDI0ICAgYy0zLjMsMC02LTIuNy02 + LTZjMCwxLjEsMi43LDIsNiwyczYtMC45LDYtMkMyMiwyMS4zLDE5LjMsMjQsMTYsMjR6IE0xOCwxMmMw + LTEuNywxLjMtMywzLTNzMywxLjMsMywzSDE4eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgPC9nPg0KPC9z + dmc+Cw== + + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmGhostMode.resx b/app/DD_PM_WINDREAM/frmGhostMode.resx index 0a65377..5008d91 100644 --- a/app/DD_PM_WINDREAM/frmGhostMode.resx +++ b/app/DD_PM_WINDREAM/frmGhostMode.resx @@ -117,7 +117,119 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 965, 139 + + + + Fill + + + + + + GridControl1 + + + 6, 13 + + + Aktionen + + + $this + + + 0 + + + 0, 0 + + + + -1 + + + Bitte wählen Sie einen Ghost User + + + 965, 348 + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DevExpress.XtraBars.Ribbon.RibbonPage, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + frmGhostMode + + + DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + + + + RibbonPage1 + + + DevExpress.XtraBars.Ribbon.RibbonStatusBar, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + Start + + + RibbonPageGroup1 + + + Default + + + GridView1 + + + Ghost-Modus aktivieren + + + + + + + Center + + + 965, 22 + + + BarButtonItem1 + + + 0, 139 + + + -1 + + + 2 + + + + + + DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 1 + + + RibbonControl1 + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z @@ -143,4 +255,68 @@ dmc+Cw== + + $this + + + Tile + + + + + + 0, 0 + + + $this + + + 9 + + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 0, 487 + + + Inherit + + + + None + + + 965, 509 + + + -1 + + + Top, Left + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + + + + Calibri, 8.25pt + + + RibbonStatusBar1 + + + + + + -1 + + + True + + + en-US + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmGhostMode.vb b/app/DD_PM_WINDREAM/frmGhostMode.vb index 6255665..4ec1808 100644 --- a/app/DD_PM_WINDREAM/frmGhostMode.vb +++ b/app/DD_PM_WINDREAM/frmGhostMode.vb @@ -1,13 +1,13 @@ Public Class frmGhostMode Private Sub frmGhostMode_Load(sender As Object, e As EventArgs) Handles Me.Load Dim oSQL = "SELECT CONFIG_VALUE FROM TBIDB_BASE WHERE CONFIG_NAME = 'GHOST_SELECT'" - oSQL = ClassDatabase.Execute_Scalar_ConStr(oSQL, CONNECTION_STRING_IDB, "frmGhostMode_Load") - Dim DT_USER = ClassDatabase.Return_Datatable(oSQL, "frmGhostMode_LoadDT") + oSQL = Database_IDB.GetScalarValue(oSQL) ',CONNECTION_STRING_IDB, "frmGhostMode_Load") + Dim DT_USER = Database_ECM.GetDatatable(oSQL) ', "frmGhostMode_LoadDT") If IsNothing(DT_USER) Then oSQL = "SELECT [SQL_COMMAND] FROM TBDD_SQL_COMMANDS where TITLE = 'GHOST_SELECT'" If Not IsNothing(oSQL) Then - oSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING) - DT_USER = ClassDatabase.Return_Datatable(oSQL, "frmGhostMode_LoadDT2") + oSQL = Database_IDB.GetScalarValue(oSQL) ', CONNECTION_STRING_ECM) + DT_USER = Database_ECM.GetDatatable(oSQL) '(oSQL, "frmGhostMode_LoadDT2") Else MsgBox("No SQL for Ghostmode via DD_ECM. Check Your configuration.", MsgBoxStyle.Exclamation) Exit Sub diff --git a/app/DD_PM_WINDREAM/frmInvDashboard.vb b/app/DD_PM_WINDREAM/frmInvDashboard.vb index 43aca0f..b7aebdc 100644 --- a/app/DD_PM_WINDREAM/frmInvDashboard.vb +++ b/app/DD_PM_WINDREAM/frmInvDashboard.vb @@ -8,13 +8,13 @@ Public Class frmInvDashboard Private Sub frmInvDashboard_Load(sender As Object, e As EventArgs) Handles MyBase.Load Try Try - VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Connection.ConnectionString = CONNECTION_STRING + VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM Me.VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIES) Catch ex As Exception MsgBox("Error loading form1 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE) End Try - VWPM_CHART_TOP5TableAdapter.Connection.ConnectionString = CONNECTION_STRING + VWPM_CHART_TOP5TableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM Me.VWPM_CHART_TOP5TableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_TOP5) Layout_Dashboard() Catch ex As Exception @@ -63,7 +63,7 @@ Public Class frmInvDashboard Dim oChartArgument = cRow.Item("ARGUMENT") Dim oSqlchart = cRow.Item("SQL_COMMAND") oSqlchart = oSqlchart.Replace("@USER", USER_USERNAME) - Dim DATA_DT As DataTable = ClassDatabase.Return_Datatable(oSqlchart, "layputDashboard1") + Dim DATA_DT As DataTable = Database_ECM.GetDatatable(oSqlchart) ', "layputDashboard1") Dim series As Series = Create_Series(oChartTitle, oChartType.ToString.ToUpper) @@ -111,7 +111,7 @@ Public Class frmInvDashboard oSqlchart = oSqlchart.ToString.ToUpper.Replace("@USER_ID", USER_ID) oSqlchart = oSqlchart.ToString.ToUpper.Replace("@USER", USER_USERNAME) - Dim DATA_DT As DataTable = ClassDatabase.Return_Datatable(oSqlchart, "layputDashboard2") + Dim DATA_DT As DataTable = Database_ECM.GetDatatable(oSqlchart) ', "layputDashboard2") ' Create Series based on type Dim series As Series = Create_Series(oChartTitle, oChartType) diff --git a/app/DD_PM_WINDREAM/frmKonfig.resx b/app/DD_PM_WINDREAM/frmKonfig.resx index ddae1bf..f3a9cd3 100644 --- a/app/DD_PM_WINDREAM/frmKonfig.resx +++ b/app/DD_PM_WINDREAM/frmKonfig.resx @@ -646,13 +646,13 @@ 438, 29 - 117, 21 + 68, 21 41 - Log Errors only + DEBUG chkLogErrorsOnly diff --git a/app/DD_PM_WINDREAM/frmKonfig.vb b/app/DD_PM_WINDREAM/frmKonfig.vb index 06d19f9..75deeb3 100644 --- a/app/DD_PM_WINDREAM/frmKonfig.vb +++ b/app/DD_PM_WINDREAM/frmKonfig.vb @@ -1,4 +1,5 @@ Imports System.Globalization +Imports DigitalData.Modules.Database Public Class frmKonfig Private email As New ClassEmail @@ -12,16 +13,16 @@ Public Class frmKonfig gvLogs.Columns.First().Caption = "Log Nachricht" - If CONNECTION_STRING = String.Empty Then + If CONNECTION_STRING_ECM = String.Empty Then Me.TabControl1.SelectedIndex = 1 Load_ConString("") Else - Load_ConString(CONNECTION_STRING) - Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING + Load_ConString(CONNECTION_STRING_ECM) + Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM Me.TBPM_KONFIGURATIONTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_KONFIGURATION) End If - chkLogErrorsOnly.Checked = CBool(LOG_ERRORS_ONLY) + chkLogErrorsOnly.Checked = CBool(DEBUG) txtIntervall.Text = CONFIG.Config.ReminderTimer Catch ex As Exception @@ -86,8 +87,9 @@ Public Class frmKonfig result = MessageBox.Show("Die Verbindung wurde erfolgreich aufgebaut!" & vbNewLine & "Möchten Sie diese Verbindung nun in der Anwendung speichern?", "Erfolgsmeldung:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If result = MsgBoxResult.Yes Then 'ConnectionString in Anwendung speichern - CONNECTION_STRING = oPlainConnectionString + CONNECTION_STRING_ECM = oPlainConnectionString ClassDatabase.Init() + Database_ECM = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_ECM) 'Das Passwort verschlüsseln If chkbxUserAut.Checked = False Then Dim wrapper As New ClassEncryption("!35452didalog=") @@ -100,18 +102,18 @@ Public Class frmKonfig If RadioDefaultConnection.Checked Then LOGGER.Debug("ConnectionString saved") - CONNECTION_STRING = oPlainConnectionString + CONNECTION_STRING_ECM = oPlainConnectionString CONFIG.Config.ConnectionString = oEncryptedConnectionString CONFIG.Save(ForceAll:=True) Else LOGGER.Debug("ConnectionStringTest saved") - CONNECTION_STRING = oPlainConnectionString + CONNECTION_STRING_ECM = oPlainConnectionString CONFIG.Config.ConnectionStringTest = oEncryptedConnectionString CONFIG.Save(ForceAll:=True) End If - Load_ConString(CONNECTION_STRING) - Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING + Load_ConString(CONNECTION_STRING_ECM) + Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM Me.TBPM_KONFIGURATIONTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_KONFIGURATION) End If Catch ex As Exception @@ -195,9 +197,9 @@ Public Class frmKonfig End Sub Private Sub chkLogErrorsOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkLogErrorsOnly.CheckedChanged - LOG_ERRORS_ONLY = chkLogErrorsOnly.Checked - LOGCONFIG.Debug = Not LOG_ERRORS_ONLY - CONFIG.Config.LogErrorsOnly = LOG_ERRORS_ONLY + DEBUG = chkLogErrorsOnly.Checked + LOGCONFIG.Debug = DEBUG + CONFIG.Config.DEBUG = DEBUG CONFIG.Save() 'SaveMySettingsValue("LogErrorsOnly", chkLogErrorsOnly.Checked) End Sub diff --git a/app/DD_PM_WINDREAM/frmLicense.vb b/app/DD_PM_WINDREAM/frmLicense.vb index 181eea2..edb49fb 100644 --- a/app/DD_PM_WINDREAM/frmLicense.vb +++ b/app/DD_PM_WINDREAM/frmLicense.vb @@ -84,7 +84,7 @@ Public Class frmLicense Private Sub frmLicense_Load(sender As Object, e As System.EventArgs) Handles Me.Load Try - TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING + TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM Catch ex As Exception LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler bei Formular Load:") diff --git a/app/DD_PM_WINDREAM/frmLoginAdmin.vb b/app/DD_PM_WINDREAM/frmLoginAdmin.vb index 928291f..3600234 100644 --- a/app/DD_PM_WINDREAM/frmLoginAdmin.vb +++ b/app/DD_PM_WINDREAM/frmLoginAdmin.vb @@ -4,7 +4,7 @@ Public Class frmLoginAdmin Dim akt_pw As String Private Sub frmLoginAdmin_Load(sender As Object, e As EventArgs) Handles Me.Load Try - Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING + Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM akt_pw = TBPM_KONFIGURATIONTableAdapter.cmdGetAdminPW Me.txtPW.Focus() Me.txtPW.Text = "" diff --git a/app/DD_PM_WINDREAM/frmMain.Designer.vb b/app/DD_PM_WINDREAM/frmMain.Designer.vb index 3f9abae..ac55282 100644 --- a/app/DD_PM_WINDREAM/frmMain.Designer.vb +++ b/app/DD_PM_WINDREAM/frmMain.Designer.vb @@ -92,6 +92,7 @@ Partial Class frmMain Me.SearchItem2 = New DevExpress.XtraBars.BarButtonItem() Me.BarStaticItemAppServer = New DevExpress.XtraBars.BarStaticItem() Me.bbtniCW = New DevExpress.XtraBars.BarButtonItem() + Me.bsiInactivityCheck = New DevExpress.XtraBars.BarStaticItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -235,6 +236,12 @@ Partial Class frmMain ' Me.GridControl_Docs.ContextMenuStrip = Me.ContextMenuGrid resources.ApplyResources(Me.GridControl_Docs, "GridControl_Docs") + Me.GridControl_Docs.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControl_Docs.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControl_Docs.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControl_Docs.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControl_Docs.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControl_Docs.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) Me.GridControl_Docs.MainView = Me.GridView_Docs Me.GridControl_Docs.Name = "GridControl_Docs" Me.GridControl_Docs.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView_Docs}) @@ -464,9 +471,9 @@ Partial Class frmMain 'RibbonControl1 ' Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck}) resources.ApplyResources(Me.RibbonControl1, "RibbonControl1") - Me.RibbonControl1.MaxItemId = 26 + Me.RibbonControl1.MaxItemId = 27 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemProgressBar1}) @@ -571,7 +578,6 @@ Partial Class frmMain Me.bsilastsync.ImageOptions.Image = CType(resources.GetObject("bsilastsync.ImageOptions.Image"), System.Drawing.Image) Me.bsilastsync.ImageOptions.LargeImage = CType(resources.GetObject("bsilastsync.ImageOptions.LargeImage"), System.Drawing.Image) Me.bsilastsync.Name = "bsilastsync" - Me.bsilastsync.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph ' 'bsiDebug ' @@ -693,6 +699,14 @@ Partial Class frmMain Me.bbtniCW.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large Me.bbtniCW.Visibility = DevExpress.XtraBars.BarItemVisibility.Never ' + 'bsiInactivityCheck + ' + resources.ApplyResources(Me.bsiInactivityCheck, "bsiInactivityCheck") + Me.bsiInactivityCheck.Id = 26 + Me.bsiInactivityCheck.ImageOptions.SvgImage = CType(resources.GetObject("bsiInactivityCheck.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.bsiInactivityCheck.Name = "bsiInactivityCheck" + Me.bsiInactivityCheck.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3, Me.RibbonPageGroupBasicConf, Me.RibbonPageGroup4}) @@ -746,6 +760,7 @@ Partial Class frmMain Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiLicenses) Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiUserLoggedIn) Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemAppServer) + Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiInactivityCheck) Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiGeneralInfo) Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiVersion) Me.RibbonStatusBar1.ItemLinks.Add(Me.bsilastsync) @@ -1552,4 +1567,5 @@ Partial Class frmMain Friend WithEvents SearchItem2 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarStaticItemAppServer As DevExpress.XtraBars.BarStaticItem Friend WithEvents bbtniCW As DevExpress.XtraBars.BarButtonItem + Friend WithEvents bsiInactivityCheck As DevExpress.XtraBars.BarStaticItem End Class diff --git a/app/DD_PM_WINDREAM/frmMain.fr-FR.resx b/app/DD_PM_WINDREAM/frmMain.fr-FR.resx new file mode 100644 index 0000000..282f17d --- /dev/null +++ b/app/DD_PM_WINDREAM/frmMain.fr-FR.resx @@ -0,0 +1,1966 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw + CAAAAk1TRnQBSQFMAgEBAgEAAeABBAHgAQQBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/0YAAQgEcgEICgABGgEc + AnQBHAEaKQABcgFVAVoCWwFaAVUBTwgAAXQBeQF6AuUBegF5AXQnAAJVAVoBWwLkAVsBWgJVBgABdAJ6 + BOUBegF5AVIlAAFPAVUCWgRbAVoCVQFPBAABUgFZAXoG5QF6AlIjAAEIAlUIWgJVAQgCAAEaAVIBWQF6 + BuUBWQFYAVIBGiIAAU8CVQdaA1UBTwIAAUwBUgpZAVIBTCIAAU8BNApVATQBLgIAAUwBUgFTCFkBUwFS + AUwiAAEtAzMHNAIzAS0CAAIrAjIGUwIyAisiAAFPAS0BMwhVATQCLQIAAUwCKwhTAVICKyIAAQgBLQFV + CJcBVQEtAQgCAAEaASsBUgh1AVIBKwEaIwABAgGXCJgBlwEtBAABKgF0CJoBdAErJQABTwEIARsFwgHx + AU8GAAFMARoBGwQaARsBGgFSJwABTwEIAfMC/wHzAQgBcggAAUwBGgT2ARoBdCkAAQgEcgEICgABGgR0 + ARplAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAE/wQAAfgBHwH4AR8EAAHw + AQ8B8AEPBAAB4AEHAeABBwQAAcABAwHAAQMEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGA + AQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAHAAQMBwAEDBAAB4AEHAeABBwQAAfABDwHwAQ8EAAH4 + AR8B+AEfBAAE/wQACw== + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAANNJREFUOE+1k80NgzAMRhmlI3QGZuGeLdiBXjoEU2QaCk3gSPssjJIQBXpopE9y + 7M/PCT9VuuZ5XgsanHP3zZpfGOu6zqpt23NICYBOISHgNYyRipBlWW7e+ycAa63Ivd06jdMBEEKkGRIb + mpExRqR7QLmTUJPJ32Bomkaa+r7fDcTkqIWQCKDHxqiFVHoavY7mBcB0Ap3cdY99EjE5anj0FCkgmq6N + CtI8Hu/8fwCXr6CeCPDLQ0w9Arj6GjHndOlDolb8gVjBp7yDiMlR22zJqqoPDtN4ChAfojUAAAAASUVO + RK5CYII= + + + + + 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 + yg8AvH8CqUB0J/cNlPoAAAAASUVORK5CYII= + + + + + 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 + QmCC + + + + + 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 + pImxyBTJaA8EGBEBLMJMXt2fMs+5UeZ5gLiL2+dcsXcsNC68p5OBLj9H7CHbc82AAVejvhnr1RcPl0BD + aI8uxBlNjuoPsck6upgu6LqyL0RdadfZSbRTmCjkXPShsaFioJthICgii5psbACldwRVmLC0L37nVild + fhVAzKvyR9sfu7kfNqcFGxJU+SH6YYP6QsSXJi7vg+iNDemNDarF/ZVeWEIvGr24uzLA36EuXYPCs2hX + znl81xXjmw5w1NvfRfTWCO9F44WeNG5JL52e9C0T2oPGhgGOYHRIDxoT0l2END6hUcHdadQiRPANgO6H + hoGfluyWCtzjrB82SxTQjt10zDyvb5I+Ffmjk9u13KcjbYxdn3JEb+O6zKWNa3zWQv4LtzsZ6PZjWCY9 + a27RJtaF+KZaxBg2gJs1AS3WymS4lsoiypS6rp1H6wa0seY9jU9hYIEY+EgZ6Do3NJOeNrXIADURi/N5 + DGfJAg6TaW2I6AaceKCNi05WBkzx2gdN9PipnSzztzlVoPPs4B1/nq28KyaeNNkR7fQEpWL4s6zxmV2n + BRnoEWzCm9O8ZqfHCoxJ/b1MItPA4Iub48nzt8k3KKMWusaDqO0Yt7BJHtbkuinWVPJgAlIEd8Y/mSYr + LEnkpvBLIlchUZjkq0gQJvr8nXia6B1PP3jF1Y0cv9CVdYF8lvM7mU/45cBl4bX5Nz7+j/Ac/ADiT3LO + Xv4z4j/shDt4Td40rMN6rCsG+FAnbxPtIKL/EXL5C4aQjGB1h9mhAAAAAElFTkSuQmCC + + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAABMLAAATCwAAAAAAAAAA + AAAxJKXfMSSl8jEkpe4uIqHuMCSk7lhC3e5eSOfuWELe7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uW0Th7ldC3e43KK3uVkDa7l5G5e5YQ97uYEnp7j4v + uO4hF47uQDC77mBI6e5ZQ9/uWUPf7llD3+5YQt3uW0Xi7mBJ6u5fSOfuWUPf7lhC3u5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf8llD398xJKX/MCOi/zIlqP84Kbz/LyKv/0Ewyf9oTvz/X0jm/19H5/9fR+f/X0fn/19H + 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/Xkfm/2hO8v9MOdP/Py7H/2ZN + 9/9eR+X/ZUzx/1dB2f8rH6T/PS3D/2JK7P9gSOj/X0fn/19H5/9hSev/WELc/0w5zv9WQen/ZEv7/2FJ + 6/9eR+X/X0fn/19I6P9aROH/WELe/1lD3/8xJKXuMiWp/zAjoP8pHov/KR6L/yEYfv9GM7//W0To/1A8 + 0P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdP/UT3T/11G + 9f9PO8z/HBRu/z8vrf9ZQ+X/UT3U/1lD4/8tIY7/Jx2H/1VA3f9TPtX/UT3U/1E91P9WQdv/SDbK/ycd + kf8bFG//OSuk/1hC4P9SPtX/UT3U/1E90/9YQt3/WkTh/1lD3+4xJKXuOCm8/ykeiv8AAAD/AAAA/wAA + AP8CAQ//MSOs/zAjqf8sIZ7/LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/ywh + nf8tIZ//OCnD/yIZfP8AAAX/AAAA/ygekv8xJK7/LCCc/zUnuv8fFmT/AAAA/y0hn/8wJKr/LSGf/y0h + n/8sIJ3/MiWq/zYosf8GBBb/AAAA/yAYd/81J7n/LCCd/ygdmP9QPNP/YEjo/1lD3+4xJKXuNym6/yke + i/8AAAD/AAAA/wAAAP8AAAD/GhNb/zwsyv8wI6D/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj + pP8wI6T/MCOj/zAkpP88K8r/Ihlx/wAAAP8AAAD/KB2G/zorxP8vI6D/MCSk/zAkpP86KsT/DAkn/xoT + WP87K8f/LyOh/zAjpP8wI6T/LyOi/zkqwv8RDDr/AAAA/xkSVv87K8j/LyKg/ywgnv9RPdT/X0fn/1lD + 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AgII/zMmrP81J7L/MSSl/zEkpf8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MCSi/z0szP8jGnf/AAAA/wAAAP8hGG7/PCzK/zAko/8xJKX/MSSl/zAk + o/83Kbv/KR6J/wsIJf83KLn/MiWo/zEkpf8xJKX/MSSn/zcpu/8NCSv/AAAA/w0KK/87K8f/MSSm/y0h + nv9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/xsUXP88LMr/MCOh/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8wI6D/OyvH/ykdif8AAAD/AAAA/x8Xav89Lc3/MSSm/zEk + pP8xJKX/MSSl/zEkpf8wI6L/OyvG/wsJJ/8ZE1b/PCzK/zAjof8xJKX/MSSk/zsrxf8WEEj/AAAA/wAA + AP8kGnr/Pi7T/y0hnv9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQD + D/80J7H/Myat/zEkpf8xJKX/MSSl/zEkpf8wJKT/MSSk/zEkpf87K8T/MCOh/wAAAP8AAAD/JBp3/zws + yv8xJKb/MCSj/zEkpf8xJKX/MSSl/zEkpf8xJKP/OirF/x4WZf8AAAD/Myas/zYotv8xJKP/MSSk/zco + uP8uIZn/AAAA/wAAAP8AAAH/Ihlz/zUnu/9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8jGnb/OivE/zEko/8xJKP/MSSk/zQnsP86KsL/OirC/zkqv/81J7P/BwUW/wIB + Bf8qH4//QjHd/zkqwv86KsL/Nyi4/zIlp/8wI6L/MSSl/zEkpf8xJKX/Nii1/y8inf8AAAD/Dwsz/zws + yv8xJKT/MSSm/zAkov86KsT/Ixp4/wAAAP8AAAD/AAAA/yQbgv9ZQ+//Xkfk/1lD3+4xJKXuNym6/yke + jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QDDb/OSrA/zAjof83KLn/OirE/zEkp/8jGXX/FA5C/w4K + L/8DAgv/AAAA/wQDDf8PCzL/DAkq/xMOQf8gF2z/LCCT/zcpuv87K8b/NCaw/zAjov8xJKX/MiWp/zYn + tf8HBRj/AAAA/ykeif85KsD/MCSj/zEkpP8xJKX/OirD/y4imv8KByL/AAAA/wUDGP9YQen/X0jq/1lD + 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQX/MSSl/z8v1f8uIpv/FQ9I/wQD + D/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0KLf8gF2z/MyWr/zsr + x/8zJq7/LyOf/zsrxf8WEEr/AAAA/w8LMf86K8P/MSSk/zEkpf8xJKT/MCOi/zssx/81J7T/BAMQ/wAA + AP9OO8b/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/KB2E/ycd + hP8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BgQT/x4WZv83KLf/OSq+/zwsyv8qH4//AAAA/wAAAP8tIZf/Nii2/zEkpf8xJKX/MSSl/zAj + n/89Lc3/HhZp/wAAAP9NOsH/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BAMN/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JBx//LCCS/zoqw/8gF2v/AAAA/wAAAP8dFV//OivD/zEk + pP8xJKX/MSSl/zEko/85KsD/JBp6/wAABf9UP97/YEjs/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQACP8AAAD/AAAA/wAA + AP8ZD1L/Oi7E/zEkpP8wJKP/MSSk/zQnr/9BL9n/EQw7/xINQ/9bRPT/Xkfl/1lD3+4xJKXuNym6/yke + jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UWGH/GW50/xpydf8RS1b/AAAA/wAA + AP8AAAD/AAAA/wAAAP8FFRf/GWtz/xdmc/8bc3b/Cy81/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wg0 + K/8acnP/FmZx/xZncf8nJoj/MRug/zMlq/86K8P/OSrB/zQmsP8ZE1b/CAYc/zEkr/9TP9v/X0fn/1lD + 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8y3fX/P////0L/ + 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 + pf8xJKT/MCOi/zgpvP85Kr7/LiKa/yQaeP8hGG//Ixp2/ycdjf9VQNz/aE71/1xF5O5EM8DuSTfQ/zor + qv8PCzb/DQks/wcFGP8BAQT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/Dgow/zYouP89Lc//OSrA/zgqv/82KLb/MyWr/zEko/8xJKT/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zAko/8xJKb/NSe0/zkqwP85KsL/OCm//zIlsf9SPtb/Xkbl/1lD + 3+4pHpruMCOx/yIZf/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UD0T/OSrB/zcpuP8vI5//MSSk/zEkpP8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpP8xJKT/MCOj/y0h + n/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoTWf87LMn/NSey/zAjof8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk + pf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IRhw/z0tzf8zJa3/MCOi/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykei/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8mHIL/PCzK/zEk + pv8wI6L/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj + pP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/LyKj/ywgnv9RPdT/X0fn/1lD3+4xJKXuOCm8/yke + iv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAM/ygd + jv84KcT/LSGd/ywhnv8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0h + n/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LCCe/ygdmP9QPNP/YEjo/1lD + 3+4xJKXuMiWp/zAjoP8pHov/KR6L/ykejP8pHoz/KR6M/ykejP8pHoz/KR6M/ykejP8qHoz/Kx+N/yEX + f/8rIIz/Uz7U/1tE8P9QPdD/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9 + 1P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9 + 0/9YQt3/WkTh/1lD3+4xJKX/MCOi/zIlqP83Kbv/Nym7/zcpuv83Kbr/Nym6/zcpuv83Kbr/Nym6/zcp + uv84Kbv/LyKu/zwswf9jSvv/Zk33/11H4/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H + 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H + 5/9fR+f/X0fn/19I6P9aROH/WELe/1lD3/8xJKXfMSSl8jEkpe4xJKXuMSSl7jEkpe4xJKXuMSSl7jEk + pe4xJKXuMSSl7jEkpe4sIJ3uOyyz7mBJ6e5fR+fuWELd7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf8llD398AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA= + + + + + -1 + + + -1 + + + + + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm + cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAANJJREFUOE+lkrENwkAQBI1EATRg0YFzirDI + SMgdIkeQ0wQlkJKZjH5o4tl9/Z5O6B6BCUY67d7tv33fpJT+IhR/wYr+fBctGMEEngXW1OjlvlrAAhxA + qnADGxAGrEAPGHICA1gXWD+AQtooYF8aGGK68zugkFG6TA7pmjlEDR7ovAn9SVo0LCwk8IyPJoeP18sS + dfUQfz2uiuIgzcPm4tswdd/APdPgj+qkO9+H2Of5Bj4Srkgh72vcAYXYnA8gfCQKidiC3FsLIPOe8lxC + 8XtS8wL/7IdaesUzOwAAAABJRU5ErkJggg== + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm + cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAAc5JREFUWEfFlj1Ow1AQhFMEmnRIFCgUFCDl + BNAlJ/BVUtImQkIcAW7gA9BwgHTUqSgouAK9mUHeaN9mXuwQ8VJ8Sjxvdnfkv+dB0zRHRYolkWJJpFgS + KZZEijmqh7cJmIMarMF3C/9T49pE1eaQYgRNx2AJPkDTAT30jlWviBQ9aHQLXkEc1AVrpqqnR4oGGpAL + 8AnUkC5WYGcIKRIUkqr9vQIW4h0swAyctfA/Na7FEDwT2cshRYIiDmcDH+IR3Cg/4Rp4ATHEUvnJlnBf + Pw9RYMMNC3ES/RF4RiCG4I0pn47kAMPPYYzDjcp7dwEvz0S8HHPlTQ5gyg039gnBe8LX1sq3+QND13Cj + Vwj4eGP6urXymbnvcCMJweOw3pfqoOIDQ/zWbxp4sMh3uzfPlC8C396XcasJgYEbiy9YKJ8C3q4QyZlL + ig2YuKv5Ij5S2RdQBN5ciIqPuvcmhQaM3HbjzseXy0j5PfCcAhWCw4fRnxx4UMAt1TcgDNH1Kn4C18CH + SE67R4oERfwGUNtwn83oC/gQcgaRooHCKeCWGkP0gSEugextSNGDBgzx1w+SO9XTI8UIGh3vk8yDpsf5 + KP1PpFgSKZZEiiWRYjmawQ//5PL6OeAKogAAAABJRU5ErkJggg== + + + + -1 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEZpbmQ7SWQ7TG9jYXRlO1NlYXJj + aMjN118AAACCSURBVDhPtY7REYAwCENd0DUcxGOJbuJ22KjpUSy13unHOw0JoZOqFuZ1UzIyB5WIgtEc + NEM2HM2JL1h80OrM4XMHfFPgQoUnD4TXO1SvCC9cdH1bMHqdlFf8VwAzf0nlZV4XNLEFN2ACEVGD12mk + gEv8t/oM9XALXreXLFeYOC1pB/JUiL0FdxNpAAAAAElFTkSuQmCC + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEZpbmQ7SWQ7TG9jYXRlO1NlYXJj + aMjN118AAADxSURBVFhH7ZJRDsIwDEN3Qa7BQdAuwU24XUZQi1zPrbJ1G2Lax5OIcRxTMZjZT5HikUjx + SKTI3B4vI5Rn5mOPQopMNDjqQ6TIRIOjPkSKGQ5klvoUUsykgDuGIeRTfHazTyHFDIZUQJ/iKvDHBSio + RtiL2YgUnbTY+vVRmq8gRQeXO9mvAHlrLCtAy5vD94rBScYtnp6RL1EMDpo35mQFKnstrgK7FwjBezPh + bfIDqwqM42hL8L0ixEkHugqgLuYn+r5fZNKB7hdwTc2o++cixOFDNcTeSQr0kIP5EM6o+2cZtBYMRo3m + 9p+whxwcxcyGCV++4POOhQ6sAAAAAElFTkSuQmCC + + + + -1 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABHdEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO0Zp + eDtQdWJsaWM7U2V0dGluZ3M7T3B0aW9ucztDdXN0b21pejtHcm91cDtUZWFtaQsTiAAAARBJREFUOE+l + 0z9qAlEQx/E1Bi1t7D1BCgXb3EBT2nkBmxQSW5HtPUCKdIGcwL2CFnuI4A0EFSRuvr9lHsyTlSWk+PCY + cf68XTUpiuJfKpN/kaRpek8D7ziYDzwgqouCG11sUThDRHU+uLfxB2HABL4nGqDpfpsot3PxAr4nGqDp + vlmU+0SONnx9yQeaHg0YrbLENNHH2U7F5Wd+QAdHNZqDFWnQG2a42qm4XOAHyBxhwJQCbVLxxRoCxcpH + Ax7xhGfToEDX1UY1rdGzU7HyfTXq5SzxjT1eTIsCPbOurYYeuVedFit/1oAvhGt77fFqM6Co9ganm8Yg + p6DuHTTD81eioP5bqPqHBSpw/O/AclnyC9lwIPbajFPHAAAAAElFTkSuQmCC + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABHdEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO0Zp + eDtQdWJsaWM7U2V0dGluZ3M7T3B0aW9ucztDdXN0b21pejtHcm91cDtUZWFtaQsTiAAAAsFJREFUWEfF + 1k+ITWEYx/EZ/8IwslQWNlJylcJM/hU76U7drBAWWCh2YiGb6W5sbSULRSQrf0aNPxmE/JdpRlZI2E0i + orm+v5n3bZ6ennMdV6E+Ofd53/f3vOfcc86dtkaj8V+FxX8pLJZVr9fX4zI+4gc+4So2RPMjYbEMmnTj + JxoB1ddF67ywWAYNTpmGkbPROi8slkGDJ66h9zRa54XFMmhwFKOmofc6WueFxYyQHRiAvcnuYifacRhR + c9F9UIlyrbAoLD5iwiL6NwMjiMalGmVbYZGFM/HZBEW+ohO3TM16hulRvhUWWdhlgppZi4uulu2Ksr2w + yOJNLqyI5h1zNfmAjijbC4ss3mfCmtmP5a72HRuj3EhYJOCeCWzmAXS/HMd9nMRv73wrLBLSj6ih11+w + voIp0ZgXFlNA0Xs+0/hSTHNr50Pvi8fYq8923AuLwsKixyvTC2oy9Ou3GyuwB+9g5+kFdgJzq719bV7Y + XFhQSwFFNL7G1byFxgLMK70BYcEZRMGn0/gFV79jjKQmrzCcG3ph44yQqTiAN1CDtzgEXfotqZbpyWnv + 6b2yutZ7aQ7HldSkkeSmnViVP4eNMwWa49nmeFL6fzOGMLYBmncTOorn2I4byBu4mWoa05wuxBsgbBF0 + +Q8WjOtX8LzmKcTQ2b1AblpEczR3YgOEzYIu7yDyZdVbreaa69LbR1Tzta5DgdiK3EhnqqsgOs51zZn4 + Clisu9k/PtZDnMMjU7PsldClzs17Uk10nDehOeMbYPEyfDFhrdAGhlJ4dh25eWbvCRnWBsq+dpvRBl66 + 8NvwG1DNzhnUBr65sFYsJiw3sV9BNdVEx+FX8N6FtUp/mi0h1N+E1zCQjnN9G8Y3YO/wVuSgpPXHsFUK + MVZCZ/p3L6I/oRBHr9mxs0vyBvJnjZV7FZeRg5rQj5EEY31tvwDXIzKeLFW7IwAAAABJRU5ErkJggg== + + + + -1 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAEJ1aWxkO1NldHRpbmdzO0N1c3Rv + bWl6O09wdGlvbnNZCaCYAAAAvklEQVQ4T72RQQoCMQxFB7qYY8wZ6j0E7+HOxRxAu/c44wFcz1FcFxTj + /5DBBmaa4sLAIyTk/6ZtJyKGlJI4mHlTEA5txX8MgBdm3hSP+0lKlljptxlsUWpaDF5gBv1CqfEM2Ov2 + 51s4XKYdctYcWgx4MsUCRnAEb82sIakbzBgKOvykoID16Bn0ui5PpOgKBs2s2Y9VAwxkwLUpGNDjlWjC + mv3sGUTw8wbuG4BgDNZQQdsv1ICA1+GbxG9fug/ssNACwjT8OgAAAABJRU5ErkJggg== + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAEJ1aWxkO1NldHRpbmdzO0N1c3Rv + bWl6O09wdGlvbnNZCaCYAAABy0lEQVRYR82VPU7DQBSEc4O0UZQ2TZooB6HMRZCoIyFXdFyDE3AAKqrQ + 0keIBkU0EQixzET7nJeXifAPllnpU9azb2d27bUzSCn1ihQjRVGkBnCe9PNIUVC7VQknUvS4HdUmeimk + 6MlGtVtehPT0SDHQuLVeQN5FK6JnRIpGNmjcWi8A/EVTviVSJG8Pl+kc3187lBwar1WdgSYziBSJMjI+ + Xh9Rcmi8VnUGmswgUiTKyHh/ut2Hcuf85bWqM6K3R4pEGTUlenukSJRRU6K3R4pEGTUlenukSJRRRZ7B + 0KP8DSkSTFTmihewcawvru+nYJuZKn9DigRGKizC8AFCRmCM/hJcoT8HKTM3T9aAkc8pO5Ec8BsbGuag + O7AAE3ADPjPsU+MYa1hbLuIk2BBhCi6AuzLjKrB2bDknwYYIU/CZL2HI3akwxcLnHIV6QpCCp30N+Mx5 + iy2Ad2UFZhn2qdn4xOcchXpc0DmGMONp54Hjc7aAFcY4v4SaG2ct5+zfDhlOMFGFergAvmY05WGzgBnG + 4gJ4J2zcarfMkeEEE1Wo518soNdH0PshJN29hlWBYTcfoqrArJtPcR1oCMpdod/+z6gNCKn4d5wGP9ko + qHzFAnr7AAAAAElFTkSuQmCC + + + + -1 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl + cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAM1JREFUOE+l0TEOQUEUBdBfiN4ySDQqKvTfGuxF + pbEIi5DoRcIa/gqovwKRca/MvMw8/zGhODKZd98NpnDO/eX1MVtstSHs4eIdYAxJzipowQmccoY2SNYq + 6IJeDnogWatgAk3LNAXJWgVLaFomziRrFYzgAXqZd/xzJWsV0A50Ae+S3KcCPtkNwjLP2c8YzOHo8fyW + sQo6sIL4zXnmHWeS1QUD2MAd+LXX0Pd45h1nzDCbFJRwhfCbv2G2jAuqaJirigtqNcxRS8HvXPEEp3w/ + tQHvKFEAAAAASUVORK5CYII= + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl + cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAfhJREFUWEfF1rFLVWEYx3FBFweHwGhVamnIvdUQ + CmwI+mOiIUIXwV10cQ8aGoVcbFWCiIYgAiVHsWgwSDj+fofzHN7nvV+vDt7r8Fne87zP99x7HZxomuZW + DRw8X9m5jmV5J7/kf+dY3ssLoTtJ9FLcaLiyIc0VtoXu9qKX4kbDhadCQfJSaEcreiluNFzw104x8kFo + Ryt6KW40XPguFCM/hHa0opfiRsOFv0Ix8ltoRyt6KW40XKDQZf4J7WhFL8WNhjuLQqFhfId29b0UNxru + bApFhvEd2tX3UtxouLMmFBnGd2hX30txo+HOfTkRChHP+g7t6nspbjRceCMUI6+EdrSil+JGw4VHQjHi + WdrRil6KGw1XPgoFS7tCd3vRS3Gj4cqCnAmFzc88Q3d70Utxo2HwTE6ljv8RP6M7SfRS3Gj4Enfltfgn + +SRv5Z7Q7IDopbjRcGUSzmpTcJZEL8WNhguP5bM8KM5q/uv/Ip6l563opbjB8JysyDeJ33pPpqWenZED + iTnfWZV5SbPRS3Erhu7Ilvj/vVhY2pcn4q/bluSr0Kx3eJd3XusFHspPoWW18w49q3mnd/e9FDc9nJVD + oQU3wbtno0cvsF4Mj8p69OgFRvnpw2H06AXowo2LHr3AUT08AkfRG3iBccPDccLDccLD8WkmLgAKdExB + J+0x6AAAAABJRU5ErkJggg== + + + + -1 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAJxJREFUOE+t + k+ENQDAUhDuKafyzlN9MYQkbWEdiAO5rNEEOlZJ8Cb17l77XCk07XqlFLyYx7/DOGtrJf/yoRCcWsd6A + hgfvKYCFQbgiB94YkgJIdcYnqIkB9GW3rSeA0wQ1NSLDcYa3AOgRmbATc5gI4JicmLOD+ZeA2xYyAmIL + xUMsPkYoukhQfJVTCKm2nR00PLEYjgGJD7/zGDZMp1TRLvGgqwAAAABJRU5ErkJggg== + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAahJREFUWEfN + lz1SwzAQhcMRSMXkCpyFPkeggg5aJjWTmqNQ5AoU3CC3yFCZ/TzejGQ/WZKNxxRfxuPs232RVj/ZNE2z + Ku3Hw+GzhJ2xN47GyTgblw6eecd3xBCrckSUGrg33oxvoymEWDRoVc6WnIEb49H4MlSREtCSg1yDGmMG + 7ox3QyWdArnIGdVJGSDww1CJ5kDOyIQywFCV/PIf48nYGrfdM+9UbAi5r9OhDDBfStjnGV2IvXvtxaSg + hjRAx5Y23DYs3uVgNFRsH2q0qwNdaIBlowSKOQaAWpEBNo6ada6m4KUXMwa1duhczO6lAlN4E9KANU0Y + sg8NsIWqoCU5hgbYx1XQkpxCAxwmKigJuhAVk+GMzsWcaCooiRd2VEyGC7p/Y2D1KahuQi/sqJgMURNW + L0Mv7KiYDNEyrN2ITDbbQLQR1W7FJptlYLAVQ81hZLJZBgaHEdQcxyabbCB5HEPphcRkkw0kLyRQeiWb + SvZKBqteSh0C/3IkyBUVhzEDwFAxX8WNKUBLjuuwh+QMOHQsy6ZmnyAWTdvtKUoNOMv9OV2PZvMLsfKg + vDjYoZ0AAAAASUVORK5CYII= + + + + -1 + + + + + + -1 + + + -1 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl + cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAM1JREFUOE+l0TEOQUEUBdBfiN4ySDQqKvTfGuxF + pbEIi5DoRcIa/gqovwKRca/MvMw8/zGhODKZd98NpnDO/eX1MVtstSHs4eIdYAxJzipowQmccoY2SNYq + 6IJeDnogWatgAk3LNAXJWgVLaFomziRrFYzgAXqZd/xzJWsV0A50Ae+S3KcCPtkNwjLP2c8YzOHo8fyW + sQo6sIL4zXnmHWeS1QUD2MAd+LXX0Pd45h1nzDCbFJRwhfCbv2G2jAuqaJirigtqNcxRS8HvXPEEp3w/ + tQHvKFEAAAAASUVORK5CYII= + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl + cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAfhJREFUWEfF1rFLVWEYx3FBFweHwGhVamnIvdUQ + CmwI+mOiIUIXwV10cQ8aGoVcbFWCiIYgAiVHsWgwSDj+fofzHN7nvV+vDt7r8Fne87zP99x7HZxomuZW + DRw8X9m5jmV5J7/kf+dY3ssLoTtJ9FLcaLiyIc0VtoXu9qKX4kbDhadCQfJSaEcreiluNFzw104x8kFo + Ryt6KW40XPguFCM/hHa0opfiRsOFv0Ix8ltoRyt6KW40XKDQZf4J7WhFL8WNhjuLQqFhfId29b0UNxru + bApFhvEd2tX3UtxouLMmFBnGd2hX30txo+HOfTkRChHP+g7t6nspbjRceCMUI6+EdrSil+JGw4VHQjHi + WdrRil6KGw1XPgoFS7tCd3vRS3Gj4cqCnAmFzc88Q3d70Utxo2HwTE6ljv8RP6M7SfRS3Gj4Enfltfgn + +SRv5Z7Q7IDopbjRcGUSzmpTcJZEL8WNhguP5bM8KM5q/uv/Ip6l563opbjB8JysyDeJ33pPpqWenZED + iTnfWZV5SbPRS3Erhu7Ilvj/vVhY2pcn4q/bluSr0Kx3eJd3XusFHspPoWW18w49q3mnd/e9FDc9nJVD + oQU3wbtno0cvsF4Mj8p69OgFRvnpw2H06AXowo2LHr3AUT08AkfRG3iBccPDccLDccLD8WkmLgAKdExB + J+0x6AAAAABJRU5ErkJggg== + + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAWdEVYdFRpdGxlAFRpbWU7Q2xvY2s7V2F0Y2hviDio + AAAAyklEQVQ4T62TzRGCQAxGaYM+KIES6MCDZchhO6ERmnDGJjjYgDFvJ2EChoPi4TG7yeOb/YFGRE5R + H49LH+mUUZmVxWBMjd7qZgFX5a7IAfRw0gAaT+WlTMqgtAZjavRwakgMYGmkI9yoQSlFwOf0zMHtqHmD + /bHEyWXYBwCOuSNzL3JIFIcoHwSwHdyZuRc5aYptlD0gBuGYuzD/W0C6hQwcczdbSA8xA8fczSGm17iH + njkf1winPqQYQjpLzKBXX4YsAL7/mX5Hmjfh6HbzAvf6qQAAAABJRU5ErkJggg== + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAWdEVYdFRpdGxlAFRpbWU7Q2xvY2s7V2F0Y2hviDio + AAAByElEQVRYR8WWsW0DMQxFPYEHSenKTbqMkA3SGJnA6T1EJgjgxgNkEm+RykC6C59BGhQpn9lEVzzA + R/3/xTtJd15N07Qo3eJIusWRdIsjSYXz28scW2EvnISzcFH4TY0xND3vlThfKvRMwrPwKfwI0wPQoMWT + suJ8qdAxvQvcYW+yOfDgbfLifKkQDB/Cr2ChPO6jsBM2wlrhNzXG0JgeLxm3zDhfKjgx3fvJv4XXqI+g + Ua1v4vYkoj4VQISsn3/sX8JT1B0Oh0lp6mjVY36yrnvC6yAVQIRsIjNzN2lyuNcA4FGv5ZCZdKkgIo6R + 7XbW8+5jn2sA8GoGWWRuo6a5ABFxlq3rYxz3PGoAyHB5+zjeXICIeKGYYRfHPcUGOB2Wd4rjzQWIyG++ + TRz3FBvgiFreOY43FyAif47XcdzjGmjwGjJc3sWPQXMBiJxhkQbKS1CBDJdXWoLyJqxAhssrbcLyMaxA + hssrHcPyi+gReDWDrPKLCEqv4jnwqNdyyq9iKH2M7oFWPeavf4wQKct8jk2oLPqHxKB7vxxV8Nzu3Ijz + pUI0KKwfm8hOxxxo0F7XPBLnS4WeyfH/f8tH0y2OpFscSbc4jmn1Bw8VkFVeTnsNAAAAAElFTkSuQmCC + + + + -1 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA4dEVYdFRpdGxlAEhpZ2g7TG93O0Nsb3NlO0NoYXJ0 + O1N0b2NrO1NoYXJlO09wZW47Q2FuZGxlO1N0aWNr36bPbQAAAGtJREFUOE/NztENgCAMBFAWdB0HcAlH + cAW3O1vCNZTyIYFEP14CZ3uYAEzphiNCsB03RMj364QIeQiWF5RFh9+UHcpiy16uyPgXBZz7dwHlRVpV + 4HBH2YFYwLssUP4TVc+7i5ouGNUN30N6AFQmr8/EPoHpAAAAAElFTkSuQmCC + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA4dEVYdFRpdGxlAEhpZ2g7TG93O0Nsb3NlO0NoYXJ0 + O1N0b2NrO1NoYXJlO09wZW47Q2FuZGxlO1N0aWNr36bPbQAAAN5JREFUWEft0MsRwjAMhOE0SDsUQBOU + QAt0Z2SPl6zNn9xQcsjhG4aV9ZgspZRDYZgJw0wYZsIwE4bu9niXgLX761kC1vb6HIbuOoAG9cWz4U3G + AfVXvgf09wPvnWHo+pAh00JzzAH03xeL3hEMXR8yZNcBKQfQoNBq1wFnOWC22aeZBMOKBoVWq8u6tli2 + +jSTYFjRoNBqtvSYA0QHeAY9Ea/1GYYVDQrDm38fIG2x+Bs6QLyP6oJhpWYfVPmbjS/w0+f1GYZOg6h2 + ygNkr89hmAnDTBhmwjAThnnK8gHwijMDX2l9pwAAAABJRU5ErkJggg== + + + + -1 + + + + + + -1 + + + -1 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAATdEVYdFRpdGxlAFByb2plY3Q7RmlsZTs9+42CAAAA + cUlEQVQ4T92P2wmAMAxF3ck5upTkO/O4jJuosSkk1PRl/BIDh5bL7SGdiOhGWNYQIUOwPaEI+MGTTCgC + t4DX44IT/VKy15DCiK4AAKjBrAK51OCyHc4QcRPJcAM7nO3HqZJXghy3IJ+/COLZ5BuCPkAXqoH69KX6 + 0EkAAAAASUVORK5CYII= + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAATdEVYdFRpdGxlAFByb2plY3Q7RmlsZTs9+42CAAAA + 00lEQVRYR+2SXw7CIAyHdz4TruSD4cmIN+AeXoaL6EOli5DiWoHN4J+0yZcUNn79ljEBwEdhN0dSLMzh + ImEi0IihmTWKRTwswQ0SoZk1ikU8LJHCuWeU/xVogma1kpsY0HPR1rK4oFSAO/B20rzEzwrM//wZGtxK + bmIAN0histZCjb095t57v6ODE7lhhrxiFmgtfPfkzqzEMIEQAiuRGwSDW+kVwEIJ59yNStDh3JdKrBLA + ekhck8QwAY5YYwS4UgEVUAEVWAj0ogIq8BUCWwGA6Q7DQtTyWUCXGgAAAABJRU5ErkJggg== + + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANYDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + Qmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZG + QjExNTt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iR2F1Z2VTdHls + ZUhhbGZDaXJjdWxhciI+DQogICAgPHBhdGggZD0iTTIzLjcsOS43bC02LDZjMC4yLDAuNCwwLjMsMC44 + LDAuMywxLjNjMCwxLjctMS4zLDMtMywzcy0zLTEuMy0zLTNzMS4zLTMsMy0zYzAuNSwwLDAuOSwwLjEs + MS4zLDAuM2w2LTYgICBMMjMuNyw5Ljd6IE0zMCwxN3Y3SDB2LTdDMCw4LjcsNi43LDIsMTUsMlMzMCw4 + LjcsMzAsMTd6IE0yOCwxN2MwLTcuMi01LjgtMTMtMTMtMTNTMiw5LjgsMiwxN3Y1aDI2VjE3eiIgY2xh + c3M9IkJsYWNrIiAvPg0KICAgIDxwYXRoIGQ9Ik0xNSw2QzguOSw2LDQsMTAuOSw0LDE3djNoNHYtM2Mw + LTMuOSwzLjEtNyw3LTdjMC44LDAsMS42LDAuMSwyLjMsMC40bDMtM0MxOC44LDYuNSwxNi45LDYsMTUs + NnoiIGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwYXRoIGQ9Ik0yNC42LDExLjZsLTMsM2MwLjMsMC43LDAu + NCwxLjUsMC40LDIuNHYzaDR2LTNDMjYsMTUsMjUuNSwxMy4yLDI0LjYsMTEuNnoiIGNsYXNzPSJSZWQi + IC8+DQogIDwvZz4NCjwvc3ZnPgs= + + + + -1 + + + -1 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJoCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iSW5mb3JtYXRpb24iIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg + MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1 + O30KCS5CbHVle2ZpbGw6IzExNzdENzt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yMSwxNGMtNSwwLTks + NC05LDljMCw1LDQsOSw5LDlzOS00LDktOUMzMCwxOCwyNiwxNCwyMSwxNHogTTIyLDI4aC0ydi02aDJW + Mjh6IE0yMiwyMGgtMnYtMmgyVjIweiIgY2xhc3M9IkJsdWUiIC8+DQogIDxwYXRoIGQ9Ik0xMCwyM2Mw + LTYuMSw0LjktMTEsMTEtMTFjMC4zLDAsMC43LDAsMSwwLjFWNEgzQzIuNCw0LDIsMy42LDIsM2MwLTAu + NiwwLjQtMSwxLTFoMTlWMWMwLTAuNi0wLjQtMS0xLTFIMyAgQzEuMywwLDAsMS4zLDAsM3YyMGMwLDEu + NywxLjMsMywzLDNoNy40QzEwLjIsMjUsMTAsMjQsMTAsMjN6IiBjbGFzcz0iWWVsbG93IiAvPg0KPC9z + dmc+Cw== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABB0RVh0VGl0 + bGUATWFzaztSb2xlO7qx7LMAAANOSURBVDhPTZN5UIxhHMffELWiVKtr7bbtJDWOypVyHyOaiHJPJhMa + KkdESUx/mNE0RsM6QrEy0eX4K3dCy04SohZjHe3bJlOyu91bX79ns4135jvvPL/3+Xx+zzPz/jh6rCjD + /mUoZQirqS9GcfU5q7n68xG0NO9h36wpNhRbtgZALyrW567XVJ1eLX+SFb7jZvrieSlrJ3tQ3e5fRgX7 + CsdeSpi+pDg5OP7ukZALVZnzPvu42zlYBDYf89agpTobjQ/T8LUkHurcdag7F446eRg+nFpGWYrPV9fh + a2EM+LJE1GTOYaSjRWCrvhCJPuMd9BmK0N9Vhf7uWvR3PEffn1KY2m7A1KJAjzYThpok6N9k4PWxIEY6 + WwSCunMrYWq9DFNTDEzNcej9uZ2ATeh8PR7tKhnaK6XQP5KAvypCa0U8qjMCGSkcFNSeCdP36OQw/Uo0 + w726rejlt6DzlTfaX8pgfCZF210xeIUILQ9joToyue9/wci3J5c2dX7LQm/zXpxf7wl5lJhOEG3ubqTu + KbOdsX+mExrzJWgu2wjlwQn6/wUC1fH5Nfp36dQ1iRJDcAy6NZFoV3rB+FQKY7kETYUi8Nd8wJdG4MFu + ry/EOVkENuVHg4ubKxII2oGehmj0/KD7v19AsKcZ1t9jx/eA7ro/NHkLURIrKiPO3iKwLt7jn6gpiELX + h2h0f1qJro8r6N4yGAg2PBDjV5EHtHnu0BUFozYrAPJIYSpxthbBkM2zXaXVx2Z0dryLo64y5GzwhKZA + DMP9cVDnuCNruRsackVoLFyA5/skXWF+tlOIG/gTX2UEMongToKP4vv1cBgq5kB3U4z0uS44EOSEfTMc + oT7lCq3CD+psf+RvdCqh/Q4UqwHB4UlMMHRVwBjvylS/n7rbEdAVTgV/xQvaS27gcyUE+6JBMROPE11b + Q31GBNB+64rtDpxZoDrky6lSvJlkRFqoMFSZ7PX709lZaChYhKbSxfihCIH6xESUxwvbdocIomgfGySr + J9tGDwheJMu4F/ulTMAmzmZDoN2UG5vHFt+Lc9E+2+mMslhHPn+t/a0VvsOn0XeBBR4UKJMknHLvOK5y + jwdXucuNidhYj6IIKazgQrGnsFEehAcE4P4CACn8IorHn6UAAAAASUVORK5CYII= + + + + -1 + + + + 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 + mfEXvolKuJ+Y6BUAAAAASUVORK5CYII= + + + + -1 + + + + + + -1 + + + -1 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAIEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk + aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp + c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41 + O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7 + ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp + c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJSb2xlIj4NCiAgICA8 + cGF0aCBkPSJNNCwydjE2YzAsNi42LDUuNCwxMiwxMiwxMnMxMi01LjQsMTItMTJWMkg0eiBNMTEsOWMx + LjcsMCwzLDEuMywzLDNIOEM4LDEwLjMsOS4zLDksMTEsOXogTTE2LDI0ICAgYy0zLjMsMC02LTIuNy02 + LTZjMCwxLjEsMi43LDIsNiwyczYtMC45LDYtMkMyMiwyMS4zLDE5LjMsMjQsMTYsMjR6IE0xOCwxMmMw + LTEuNywxLjMtMywzLTNzMywxLjMsMywzSDE4eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgPC9nPg0KPC9z + dmc+Cw== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAQdEVYdFRpdGxlAE1hc2s7Um9sZTu6seyzAAAA3klE + QVQ4T52SvQ2CYBRFia0TuACF0coxbLF1AgvDAJQu4ASG6ACugI07UJlYKvYUeo95H/lASITiRO7Pu8GE + 4HmJS/EeSMlA0TD7UDCQN8w+5AxkJk5iKcb2i3bFrixjIDUxE2gH2g10ZSkiMTHkDRIGIhNDiBgIxcsz + /4Wb0P2ns5l94CZwA1sz+8BNNTAV7ntYmNcGGR263FQDsBOEezEyzwePjA7dr+8X5uIqKBzFSkwMnvHI + 6ND9GYC1eAiKbZDRqW78Y8dG3EXzGI+s1q8JD762g7gZPOM1enHwAUbOxAVvaZeAAAAAAElFTkSuQmCC + + + + -1 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAQdEVYdFRpdGxlAE1hc2s7Um9sZTu6seyzAAACmUlE + QVRYR8XWv29OcRTH8ZakQhlEikhFiEQZxM/QRGNoRJoKmyK2iviRpsEmERaDwWCxmQ1iaewW5i4MiH/B + ZL8+72++5+bcb8/zuH2eG4bXzePecz7nVO+9fUaqqvqvwpPm16eH83Ja9siocG4YZJBF5jwzwsFGRUvy + LLsnV2VWTshB2SXbZEw2ZHzmHNeooZYeesmwvCVmhIONihZdQ9cWmREONipaKJq6tMCMcLBR0VzR1KU5 + ZoSDjYqmi6YuTTMjHGxUNFU0tfFUbos9Qaasm2KGDXot3KGnxD9uW+Sy3JS78kgeZ3zmHNeomZEjslPI + IItMsndIucCEX+CbVNkXeSfP5ZZclKPC87tVNmZ85hzXqKGWHnrJsDyyywXuSJptC3wWa+ga2eUCV6Sx + wHuJmrtA9l7xC/DraSzwSqLmLpB9WGw4989uaSzwQHzTR+FO3pfxmXO+pm0d2WfEFrguzGwswO/Eh56U + VORwzoe3rSObm9QWYJlU6xfgv8ga+Cl8oMe19daRfU0Yzh+37ZLq/AJYFWvqCplk3xcWuJD/HS7wRqKQ + YZDJDcfwZZmQngvwcohChkHmcWGB81IPR7nAMfktUdAgyCLzktyQzdJ3AaxIFDYIsvh2xHcKvh35OUm0 + AHdpFDYIsvbLpPgZtWiBA/JdosD1IIOscfH5DdECeCE+rN/zbvxzDzL++i261wL8Tf8pFtbrjWfKNx+9 + ZNQ1zOglHXxx9kQs0Jbgp7R3fr93P72NvHKolw5lg/C6/CA+uA166letKYd66VA2ZHzT+SrRoAi19KzJ + Kod66RA1ZWelzVNBDbVRxpqhXjpETc4heSvRYHCNmqg3KYd66RA1FTbJOXkpPzI+c45rUU+tHOqFJ/+d + auQPQiXhdkHlGrsAAAAASUVORK5CYII= + + + + -1 + + + + + + -1 + + + -1 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPcCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iRmluZCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg + MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 + bGU+DQogIDxwYXRoIGQ9Ik0yOS41LDE5LjdMMjkuNSwxOS43TDI5LjUsMTkuN0MyOS41LDE5LjcsMjku + NSwxOS43LDI5LjUsMTkuN0wyMy44LDZsMCwwYy0wLjQtMS4yLTEuNS0yLTIuOC0yICBjLTEuNywwLTMs + MS4zLTMsM3YzaC00VjdjMC0xLjctMS4zLTMtMy0zQzkuNyw0LDguNiw0LjksOC4yLDZsMCwwTDIuNSwx + OS43YzAsMCwwLDAsMCwwbDAsMGgwQzIuMiwyMC40LDIsMjEuMiwyLDIyICBjMCwzLjMsMi43LDYsNiw2 + czYtMi43LDYtNnYtNGg0djRjMCwzLjMsMi43LDYsNiw2czYtMi43LDYtNkMzMCwyMS4yLDI5LjgsMjAu + NCwyOS41LDE5Ljd6IE04LDI2Yy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00ICBzNCwxLjgsNCw0UzEw + LjIsMjYsOCwyNnogTTI0LDI2Yy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00czQsMS44LDQsNFMyNi4y + LDI2LDI0LDI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw== + + + + -1 + + + -1 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPcCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iRmluZCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg + MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 + bGU+DQogIDxwYXRoIGQ9Ik0yOS41LDE5LjdMMjkuNSwxOS43TDI5LjUsMTkuN0MyOS41LDE5LjcsMjku + NSwxOS43LDI5LjUsMTkuN0wyMy44LDZsMCwwYy0wLjQtMS4yLTEuNS0yLTIuOC0yICBjLTEuNywwLTMs + MS4zLTMsM3YzaC00VjdjMC0xLjctMS4zLTMtMy0zQzkuNyw0LDguNiw0LjksOC4yLDZsMCwwTDIuNSwx + OS43YzAsMCwwLDAsMCwwbDAsMGgwQzIuMiwyMC40LDIsMjEuMiwyLDIyICBjMCwzLjMsMi43LDYsNiw2 + czYtMi43LDYtNnYtNGg0djRjMCwzLjMsMi43LDYsNiw2czYtMi43LDYtNkMzMCwyMS4yLDI5LjgsMjAu + NCwyOS41LDE5Ljd6IE04LDI2Yy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00ICBzNCwxLjgsNCw0UzEw + LjIsMjYsOCwyNnogTTI0LDI2Yy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00czQsMS44LDQsNFMyNi4y + LDI2LDI0LDI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw== + + + + -1 + + + -1 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ + LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3 + RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh + Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm + aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg + PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs + MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y + NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x + di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0 + LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu + NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABoEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk + aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp + c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41 + O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7 + ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp + c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJTY2hlZHVsZXIiPg0K + ICAgIDxwb2x5Z29uIHBvaW50cz0iMTYsMTYgMTYsOCAxNCw4IDE0LDE4IDI0LDE4IDI0LDE2ICAiIGNs + YXNzPSJCbGFjayIgLz4NCiAgICA8cGF0aCBkPSJNMTYsMkM4LjMsMiwyLDguMywyLDE2czYuMywxNCwx + NCwxNHMxNC02LjMsMTQtMTRTMjMuNywyLDE2LDJ6IE0xNiwyNmMtNS41LDAtMTAtNC41LTEwLTEwICAg + YzAtNS41LDQuNS0xMCwxMC0xMHMxMCw0LjUsMTAsMTBDMjYsMjEuNSwyMS41LDI2LDE2LDI2eiIgY2xh + c3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== + + + + + + + + + + + + + + + + + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAABMLAAATCwAAAAAAAAAA + AAAxJKXfMSSl8jEkpe4uIqHuMCSk7lhC3e5eSOfuWELe7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uW0Th7ldC3e43KK3uVkDa7l5G5e5YQ97uYEnp7j4v + uO4hF47uQDC77mBI6e5ZQ9/uWUPf7llD3+5YQt3uW0Xi7mBJ6u5fSOfuWUPf7lhC3u5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf8llD398xJKX/MCOi/zIlqP84Kbz/LyKv/0Ewyf9oTvz/X0jm/19H5/9fR+f/X0fn/19H + 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/Xkfm/2hO8v9MOdP/Py7H/2ZN + 9/9eR+X/ZUzx/1dB2f8rH6T/PS3D/2JK7P9gSOj/X0fn/19H5/9hSev/WELc/0w5zv9WQen/ZEv7/2FJ + 6/9eR+X/X0fn/19I6P9aROH/WELe/1lD3/8xJKXuMiWp/zAjoP8pHov/KR6L/yEYfv9GM7//W0To/1A8 + 0P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdP/UT3T/11G + 9f9PO8z/HBRu/z8vrf9ZQ+X/UT3U/1lD4/8tIY7/Jx2H/1VA3f9TPtX/UT3U/1E91P9WQdv/SDbK/ycd + kf8bFG//OSuk/1hC4P9SPtX/UT3U/1E90/9YQt3/WkTh/1lD3+4xJKXuOCm8/ykeiv8AAAD/AAAA/wAA + AP8CAQ//MSOs/zAjqf8sIZ7/LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/ywh + nf8tIZ//OCnD/yIZfP8AAAX/AAAA/ygekv8xJK7/LCCc/zUnuv8fFmT/AAAA/y0hn/8wJKr/LSGf/y0h + n/8sIJ3/MiWq/zYosf8GBBb/AAAA/yAYd/81J7n/LCCd/ygdmP9QPNP/YEjo/1lD3+4xJKXuNym6/yke + i/8AAAD/AAAA/wAAAP8AAAD/GhNb/zwsyv8wI6D/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj + pP8wI6T/MCOj/zAkpP88K8r/Ihlx/wAAAP8AAAD/KB2G/zorxP8vI6D/MCSk/zAkpP86KsT/DAkn/xoT + WP87K8f/LyOh/zAjpP8wI6T/LyOi/zkqwv8RDDr/AAAA/xkSVv87K8j/LyKg/ywgnv9RPdT/X0fn/1lD + 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AgII/zMmrP81J7L/MSSl/zEkpf8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MCSi/z0szP8jGnf/AAAA/wAAAP8hGG7/PCzK/zAko/8xJKX/MSSl/zAk + o/83Kbv/KR6J/wsIJf83KLn/MiWo/zEkpf8xJKX/MSSn/zcpu/8NCSv/AAAA/w0KK/87K8f/MSSm/y0h + nv9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/xsUXP88LMr/MCOh/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8wI6D/OyvH/ykdif8AAAD/AAAA/x8Xav89Lc3/MSSm/zEk + pP8xJKX/MSSl/zEkpf8wI6L/OyvG/wsJJ/8ZE1b/PCzK/zAjof8xJKX/MSSk/zsrxf8WEEj/AAAA/wAA + AP8kGnr/Pi7T/y0hnv9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQD + D/80J7H/Myat/zEkpf8xJKX/MSSl/zEkpf8wJKT/MSSk/zEkpf87K8T/MCOh/wAAAP8AAAD/JBp3/zws + yv8xJKb/MCSj/zEkpf8xJKX/MSSl/zEkpf8xJKP/OirF/x4WZf8AAAD/Myas/zYotv8xJKP/MSSk/zco + uP8uIZn/AAAA/wAAAP8AAAH/Ihlz/zUnu/9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8jGnb/OivE/zEko/8xJKP/MSSk/zQnsP86KsL/OirC/zkqv/81J7P/BwUW/wIB + Bf8qH4//QjHd/zkqwv86KsL/Nyi4/zIlp/8wI6L/MSSl/zEkpf8xJKX/Nii1/y8inf8AAAD/Dwsz/zws + yv8xJKT/MSSm/zAkov86KsT/Ixp4/wAAAP8AAAD/AAAA/yQbgv9ZQ+//Xkfk/1lD3+4xJKXuNym6/yke + jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QDDb/OSrA/zAjof83KLn/OirE/zEkp/8jGXX/FA5C/w4K + L/8DAgv/AAAA/wQDDf8PCzL/DAkq/xMOQf8gF2z/LCCT/zcpuv87K8b/NCaw/zAjov8xJKX/MiWp/zYn + tf8HBRj/AAAA/ykeif85KsD/MCSj/zEkpP8xJKX/OirD/y4imv8KByL/AAAA/wUDGP9YQen/X0jq/1lD + 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQX/MSSl/z8v1f8uIpv/FQ9I/wQD + D/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0KLf8gF2z/MyWr/zsr + x/8zJq7/LyOf/zsrxf8WEEr/AAAA/w8LMf86K8P/MSSk/zEkpf8xJKT/MCOi/zssx/81J7T/BAMQ/wAA + AP9OO8b/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/KB2E/ycd + hP8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BgQT/x4WZv83KLf/OSq+/zwsyv8qH4//AAAA/wAAAP8tIZf/Nii2/zEkpf8xJKX/MSSl/zAj + n/89Lc3/HhZp/wAAAP9NOsH/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BAMN/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JBx//LCCS/zoqw/8gF2v/AAAA/wAAAP8dFV//OivD/zEk + pP8xJKX/MSSl/zEko/85KsD/JBp6/wAABf9UP97/YEjs/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQACP8AAAD/AAAA/wAA + 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 + wf86K8P/OCm9/zUnsv8uIpv/Jx2B/xsUW/8QDDj/DAkp/wQDDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8BAQL/CAYc/xcRTv8qH4z/OSrA/zcpuv8wI6H/MSSl/zEkpP8xJKX/OivE/ysg + kv8RDTr/AgEG/wAAAP8AAAD/AAAA/wAAAP8vI5b/SzjX/1lD3u5gSeruZ03w/1hC4f80Jrf/Nie3/zMl + q/8uIpv/Kh6M/yEYcf8bFFv/Eg08/woHIv8BAQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wgGHP8mG33/Ixp1/yUbfP8tIZb/NCav/zorxf84Kbz/MSSl/zAko/8xJKX/MSSl/zEk + pf8xJKT/MCOi/zgpvP85Kr7/LiKa/yQaeP8hGG//Ixp2/ycdjf9VQNz/aE71/1xF5O5EM8DuSTfQ/zor + qv8PCzb/DQks/wcFGP8BAQT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/Dgow/zYouP89Lc//OSrA/zgqv/82KLb/MyWr/zEko/8xJKT/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zAko/8xJKb/NSe0/zkqwP85KsL/OCm//zIlsf9SPtb/Xkbl/1lD + 3+4pHpruMCOx/yIZf/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UD0T/OSrB/zcpuP8vI5//MSSk/zEkpP8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpP8xJKT/MCOj/y0h + n/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoTWf87LMn/NSey/zAjof8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk + pf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IRhw/z0tzf8zJa3/MCOi/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykei/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8mHIL/PCzK/zEk + pv8wI6L/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj + pP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/LyKj/ywgnv9RPdT/X0fn/1lD3+4xJKXuOCm8/yke + iv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAM/ygd + jv84KcT/LSGd/ywhnv8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0h + n/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LCCe/ygdmP9QPNP/YEjo/1lD + 3+4xJKXuMiWp/zAjoP8pHov/KR6L/ykejP8pHoz/KR6M/ykejP8pHoz/KR6M/ykejP8qHoz/Kx+N/yEX + f/8rIIz/Uz7U/1tE8P9QPdD/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9 + 1P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9 + 0/9YQt3/WkTh/1lD3+4xJKX/MCOi/zIlqP83Kbv/Nym7/zcpuv83Kbr/Nym6/zcpuv83Kbr/Nym6/zcp + uv84Kbv/LyKu/zwswf9jSvv/Zk33/11H4/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H + 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H + 5/9fR+f/X0fn/19I6P9aROH/WELe/1lD3/8xJKXfMSSl8jEkpe4xJKXuMSSl7jEkpe4xJKXuMSSl7jEk + pe4xJKXuMSSl7jEkpe4sIJ3uOyyz7mBJ6e5fR+fuWELd7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf8llD398AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA= + + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu + My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAChE + ZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0cmVhbWVyAAAAAAIAAAAL + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + -1 + + + -1 + + + + + + + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmMain.resx b/app/DD_PM_WINDREAM/frmMain.resx index 1433c47..0cc0b08 100644 --- a/app/DD_PM_WINDREAM/frmMain.resx +++ b/app/DD_PM_WINDREAM/frmMain.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw - CAAAAk1TRnQBSQFMAgEBAgEAAYgBBwGIAQcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAAaQBBwGkAQcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -291,6 +291,27 @@ Fill + + + True + + + None + + + None + + + NoControl + + + + None + + + + Application + 233, 25 @@ -1117,7 +1138,6 @@ Dashboard Invoice - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z @@ -1374,6 +1394,34 @@ BarButtonItem3 + + BarStaticItem1 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABoEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk + aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp + c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41 + O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7 + ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp + c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJTY2hlZHVsZXIiPg0K + ICAgIDxwb2x5Z29uIHBvaW50cz0iMTYsMTYgMTYsOCAxNCw4IDE0LDE4IDI0LDE4IDI0LDE2ICAiIGNs + YXNzPSJCbGFjayIgLz4NCiAgICA8cGF0aCBkPSJNMTYsMkM4LjMsMiwyLDguMywyLDE2czYuMywxNCwx + NCwxNHMxNC02LjMsMTQtMTRTMjMuNywyLDE2LDJ6IE0xNiwyNmMtNS41LDAtMTAtNC41LTEwLTEwICAg + YzAtNS41LDQuNS0xMCwxMC0xMHMxMCw0LjUsMTAsMTBDMjYsMjEuNSwyMS41LDI2LDE2LDI2eiIgY2xh + c3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== + + 0, 0 @@ -2050,6 +2098,12 @@ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + bsiInactivityCheck + + + DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + RibbonPage1 @@ -2512,7 +2566,6 @@ DevExpress.XtraBars.Ribbon.RibbonForm, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb index ab02eda..1603a63 100644 --- a/app/DD_PM_WINDREAM/frmMain.vb +++ b/app/DD_PM_WINDREAM/frmMain.vb @@ -89,7 +89,7 @@ Public Class frmMain Private Function Free_File() Try Dim sql = $"UPDATE TBPM_PROFILE_FILES SET EDIT = 0, IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID}" - Return ClassDatabase.Execute_non_Query(sql) + Return Database_ECM.ExecuteNonQuery(sql) Catch ex As Exception allgFunk.Insert_LogEntry($"ERROR Free_File >> {ex.Message}") LOGGER.Error(ex) @@ -317,7 +317,7 @@ Public Class frmMain bbtniMonitor.Visibility = DevExpress.XtraBars.BarItemVisibility.Always End If Check_Timer_Notification() - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("FormLoad") Restore_Form_Position() @@ -381,15 +381,31 @@ Public Class frmMain End Try End Sub - Public Sub Timer_Inactivity_Reset_Disable() + Public Sub Timer_Inactivity_Reset_Disable(pTrigger As String) Try + If Timer5Mins_running = True Or TimerRefresh_running = True Then + Exit Sub + End If If INACTIVITY_DURATION <> 0 Then TimerInactivity.Stop() TimerInactivity.Interval = INACTIVITY_DURATION * 60000 TimerInactivity.Start() + bsiInactivityCheck.Visibility = DevExpress.XtraBars.BarItemVisibility.Always + Dim StartTime As DateTime = #12:00:00 AM# + 'load combo box + + Dim oStarttime As DateTime = Now + oStarttime = oStarttime.AddMinutes(INACTIVITY_DURATION) + If LOGCONFIG.Debug = False Then + pTrigger = "" + Else + pTrigger = $"({pTrigger})" + End If + bsiInactivityCheck.Caption = $"Next Inactivity-Check: {oStarttime.ToShortTimeString} {pTrigger}" Else TimerInactivity.Enabled = False TimerInactivity.Stop() + bsiInactivityCheck.Visibility = DevExpress.XtraBars.BarItemVisibility.Never End If Catch ex As Exception LOGGER.Error(ex) @@ -686,7 +702,7 @@ Public Class frmMain FRONTEND_ACTION = "NAVBAR LINK CLICKED" Dim _tag = e.Link.Item.Tag - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("navBar_LinkClicked") If Not IsNothing(_tag) Then If _tag.ToString.Contains("itmProfile#") Then @@ -781,7 +797,7 @@ Public Class frmMain oSQL = oSQL.Replace("@DATE", Now.ToShortDateString) oSQL = oSQL.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID) - CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(oSQL, "Load_single_Profile") + CURR_DT_OVERVIEW = Await Database_ECM.GetDatatableAsync(oSQL) If ForceReload = True Then LOGGER.Info("ForceReload is true!") End If @@ -1070,7 +1086,7 @@ Public Class frmMain Exit Sub End If - + TimerRefresh_running = True 'If Application.OpenForms().OfType(Of frmValidator).Any Then ' Exit Sub 'End If @@ -1090,7 +1106,7 @@ Public Class frmMain ' Dim oUpdate = "Not Defined" ' Try ' oUpdate = $"UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = NULL, IN_WORK_WHEN = NULL where UPPER(WORK_USER) = UPPER('{USER_USERNAME}')" - ' ClassDatabase.Execute_non_Query(oUpdate) + ' Database_ECM.ExecuteNonQuery(oUpdate) ' Catch ex As Exception ' LOGGER.Warn($"Unexpected Error in freefileforUser [{oUpdate}] - {ex.Message}") ' End Try @@ -1099,6 +1115,7 @@ Public Class frmMain If bwSync.IsBusy Then Exit Sub + TimerRefresh_running = False End If Try ' SaveGridLayout() @@ -1119,7 +1136,7 @@ Public Class frmMain Catch ex As Exception LOGGER.Error(ex) End Try - + TimerRefresh_running = False 'BarEditItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Always '' call this method to start your asynchronous Task. 'bwSync.RunWorkerAsync() @@ -1462,8 +1479,21 @@ Public Class frmMain ElseIf hitInfo.InDataRow Then LOGGER.Debug($"Item_Scope: hitInfo.InDataRow...") - Dim oFocusedDocGUID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("GUID")) - Dim oFocusedDocID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("DocID")) + Dim oFocusedDocGUID + Try + oFocusedDocGUID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("GUID")) + Catch ex As Exception + MsgBox("Could not get DocGUID. Inform Your admin-team: Check Your View-Config", MsgBoxStyle.Critical) + + End Try + Dim oFocusedDocID + Try + oFocusedDocID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("DocID")) + Catch ex As Exception + MsgBox("Could not get DocID. Inform Your admin-team: Check Your View-Config", MsgBoxStyle.Critical) + + End Try + If IsNothing(oFocusedDocID) Then LOGGER.Warn("In hitInfo.InDataRow: DocID is nothing!!!") bsiMessage.Caption = "Error getting DocID!" @@ -1495,26 +1525,26 @@ Public Class frmMain 'Next 'If result = 1 Then CURRENT_DOC_ID = oFocusedDocID - CURRENT_JUMP_DOC_GUID = oFocusedDocGUID - CURRENT_DOC_GUID = CURRENT_JUMP_DOC_GUID - CURRENT_DOC_PATH = DOC_PATH - Dim oSQL = $"SELECT [dbo].[FNPM_CHECK_DocGUID_Valid] ({CURRENT_DOC_GUID})" - Dim oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING_READ, $"Item_Scope-FNPM_CHECK_DocGUID_Valid") - Try - If CBool(oResult) = True Then - Load_Profil_from_Grid(CURRENT_CLICKED_PROFILE_ID) - Else - Dim omsg As String = "Achtung: der gewählte Beleg ist durch einen anderen Benutzer bereits in Bearbeitung oder anderweitig gesperrt" - Dim otitle = "Achtung:" - If USER_LANGUAGE <> "de-DE" Then - omsg = "Attention: the item You chose is rather in work or locked from another user!" - otitle = "Attention:" - End If - MsgBox(omsg, MsgBoxStyle.Exclamation, otitle) + CURRENT_JUMP_DOC_GUID = oFocusedDocGUID + CURRENT_DOC_GUID = CURRENT_JUMP_DOC_GUID + CURRENT_DOC_PATH = DOC_PATH + Dim oSQL = $"SELECT [dbo].[FNPM_CHECK_DocGUID_Valid] ({CURRENT_DOC_GUID})" + Dim oResult = Database_ECM.GetScalarValue(oSQL) + Try + If CBool(oResult) = True Then + Load_Profil_from_Grid(CURRENT_CLICKED_PROFILE_ID) + Else + Dim omsg As String = "Achtung: der gewählte Beleg ist durch einen anderen Benutzer bereits in Bearbeitung oder anderweitig gesperrt" + Dim otitle = "Achtung:" + If USER_LANGUAGE <> "de-DE" Then + omsg = "Attention: the item You chose is rather in work or locked from another user!" + otitle = "Attention:" End If - Catch ex As Exception - LOGGER.Warn($"Uenxpected error in Checking freefile - sql so far: {oSQL} - ") - End Try + MsgBox(omsg, MsgBoxStyle.Exclamation, otitle) + End If + Catch ex As Exception + LOGGER.Warn($"Uenxpected error in Checking freefile - sql so far: {oSQL} - ") + End Try 'Else 'LOGGER.Warn($"Unable to load Object DocID {CURRENT_DOC_ID} and DocGUID {CURRENT_JUMP_DOC_GUID}: Expression returned 0 [{expression}]") @@ -1700,7 +1730,7 @@ Public Class frmMain oSQLOverview = oSQLOverview.Replace("@DATE", Now.ToShortDateString) oSQLOverview = oSQLOverview.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID) - CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(oSQLOverview, "Load_Grid_Overview") + CURR_DT_OVERVIEW = Await Database_ECM.GetDatatableAsync(oSQLOverview) oStopWatch2.Done() If Not IsNothing(CURR_DT_OVERVIEW) Then @@ -1978,7 +2008,7 @@ Public Class frmMain Private Async Sub TabellenlayoutZurücksetzenToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles TabellenlayoutZurücksetzenToolStripMenuItem.Click FRONTEND_ACTION = "RESET_LAYOUT" - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("TabellenlayoutZurücksetzenToolStripMenuItem") Await Reset_GridLayout(False) Await Decide_Load(False, True) SaveGridLayout() @@ -2140,7 +2170,7 @@ Public Class frmMain If pMode = "bwBasicData" Then bwBasicData.ReportProgress(20) oSQL = String.Format("SELECT T.* FROM VWPM_PROFILE_ACTIVE T WHERE T.FILE_COUNT > 0 AND T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] ({0}))", USER_ID) - CURR_DT_VWPM_PROFILE_ACTIVE = ClassDatabase.Return_Datatable(oSQL, "GetBaseData2") + CURR_DT_VWPM_PROFILE_ACTIVE = Database_ECM.GetDatatable(oSQL) If pMode = "bwBasicData" Then bwBasicData.ReportProgress(30) LoadCURRENT_DT_PROFILES() @@ -2203,7 +2233,7 @@ Public Class frmMain End Sub Sub Handling_DEBUG_USER() - If USER_DEBUG_LOG = True Then + If DEBUG = True Then If USER_LANGUAGE = "de-DE" Then bsiDebug.Caption = "HINWEIS: UserDebugMode ist eingeschaltet!" Else @@ -2223,7 +2253,7 @@ Public Class frmMain Dim oMessage = PrepareLogMessage(oSLogstring) Dim oDateTime As Date = CDate(oLogSplit(0)) oSQL = $"INSERT INTO [dbo].[TBPM_LOG_DEBUG] ([USERID] , [LOGMSG], [ADDED_WHEN],DATE_STR) VALUES({USER_ID},'{oMessage}',GetDate(),'{oDateTime}')" - ClassDatabase.Execute_non_Query(oSQL) + Database_ECM.ExecuteNonQuery(oSQL) Next LOGCONFIG.ClearLogs() Catch ex As Exception @@ -2243,7 +2273,7 @@ Public Class frmMain End Sub Private Sub LöscheAlleFilterToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöscheAlleFilterToolStripMenuItem.Click - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("LöscheAlleFilterToolStripMenuItem") Try GridView_Docs.ClearFindFilter() @@ -2356,18 +2386,19 @@ Public Class frmMain Private Sub Timer5Mins_Tick(sender As Object, e As EventArgs) Handles Timer5Mins.Tick Try + Timer5Mins_running = True If Not bwBasicData.IsBusy Then BarEditItem1.Caption = "Get BasicData" BarEditItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Always bwBasicData.RunWorkerAsync() End If - If USER_DEBUG_LOG = True Then + If DEBUG = True Then ' 'Jetzt de rinsert der Inhalte If Not IsNothing(LOGCONFIG.Logs) Then If LOGCONFIG.Logs.Count > 0 Then ' Dim odel = $"delete from TBPM_LOG_DEBUG where userid = {USER_ID}" - ' ClassDatabase.Execute_non_Query(odel) + ' Database_ECM.ExecuteNonQuery(odel) Dim thread As New Thread(AddressOf DebuglogBackgroundthread) thread.Start() @@ -2379,6 +2410,7 @@ Public Class frmMain Catch ex As Exception LOGGER.Warn($"Timer5Mins Error: {ex.Message}") End Try + Timer5Mins_running = False End Sub Private Sub bwBasicData_DoWork(sender As Object, e As DoWorkEventArgs) Handles bwBasicData.DoWork GetBaseData("bwBasicData") @@ -2491,7 +2523,7 @@ Public Class frmMain Dim oReceipiant = "" Dim oFocusedDocGUID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("GUID")) Dim oSQL = $"SELECT [dbo].[FNPM_GET_FILEPATH] ({oFocusedDocGUID},1)" - Dim oFilePath = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING_READ, $"DateiAlsLinkVersendenToolStripMenuItem_Click") + Dim oFilePath = Database_ECM.GetScalarValue(oSQL) Dim oLink = "

Link zur Datei

" Dim oLink2 = "Link zur Datei" @@ -2519,7 +2551,7 @@ Public Class frmMain If FormShown = False Then Exit Sub End If - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("GridView_Docs.ColumnFilterChanged") Dim objectCount_Descr = GridView_Docs.RowCount.ToString If USER_LANGUAGE <> "de-DE" Then objectCount_Descr &= " objects (filtered)" @@ -2547,36 +2579,37 @@ Public Class frmMain End Sub + Private Sub TimerInactivity_Tick(sender As Object, e As EventArgs) Handles TimerInactivity.Tick Try If Application.OpenForms().OfType(Of frmValidator).Any Then bsiMessage.Caption = "Validation Active - no Inactivity-Logout" bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("frmValidator") Exit Sub End If If Application.OpenForms().OfType(Of frmAdministration).Any Then bsiMessage.Caption = "Administration Active - no Inactivity-Logout" bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("frmAdministration") Exit Sub End If If Application.OpenForms().OfType(Of frmAdmin2).Any Then bsiMessage.Caption = "Administration2 Active - no Inactivity-Logout" bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("frmAdmin2") Exit Sub End If If Application.OpenForms().OfType(Of frmMonitor).Any Then bsiMessage.Caption = "Monitoring open - no Inactivity-Logout" bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("frmMonitor") Exit Sub End If If GHOSTMODE_ACTIVE And USER_GHOST_MODE_ACTIVE Then bsiMessage.Caption = "GhostMode Active - no Inactivity-Logout" bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("USER_GHOST_MODE_ACTIVE") Exit Sub End If INACTIVITYRecognized = True @@ -2643,7 +2676,7 @@ Public Class frmMain If FRONTEND_ACTION <> "NONE" Then Exit Sub End If - Timer_Inactivity_Reset_Disable() + Timer_Inactivity_Reset_Disable("GridLayout_Changed") SaveGridLayout() End Sub @@ -2651,4 +2684,8 @@ Public Class frmMain Private Sub GridView_Docs_EndGrouping(sender As Object, e As EventArgs) Handles GridView_Docs.EndGrouping GridLayout_Changed() End Sub + + Private Sub bsilastsync_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bsilastsync.ItemClick + + End Sub End Class \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmMassValidator.vb b/app/DD_PM_WINDREAM/frmMassValidator.vb index 106510f..96ef6f7 100644 --- a/app/DD_PM_WINDREAM/frmMassValidator.vb +++ b/app/DD_PM_WINDREAM/frmMassValidator.vb @@ -58,7 +58,7 @@ Public Class frmMassValidator Size = My.Settings.frmMassValidatorSize End If Try - DTCONTROLS = ClassDatabase.Return_Datatable($"SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,{USER_LANGUAGE},CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG,* FROM TBPM_PROFILE_CONTROLS WHERE SQL_UEBERPRUEFUNG NOT LIKE '%WMI%' AND PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY Y_LOC, X_LOC", "MV_Load1") + DTCONTROLS = Database_ECM.GetDatatable($"SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,{USER_LANGUAGE},CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG,* FROM TBPM_PROFILE_CONTROLS WHERE SQL_UEBERPRUEFUNG NOT LIKE '%WMI%' AND PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY Y_LOC, X_LOC") ', "MV_Load1") LOGGER.Debug("Profile Data geladen") Catch ex As Exception LOGGER.Error(ex) @@ -102,7 +102,7 @@ Public Class frmMassValidator tslblCountDocs.Text = "#Documents for MassChange: " & CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count Next - If LOG_ERRORS_ONLY = False Then + If DEBUG = False Then LOGGER.Info(" >> Profildaten gespeichert") LOGGER.Info(" >> WD_Search: " & WM_SEARCH) LOGGER.Info(" >> finalProfile: " & FINAL_PROFILE) @@ -367,7 +367,7 @@ Public Class frmMassValidator Case "TABLE" LOGGER.Debug("Versuch Tabelle zu laden") - Dim oDTMyColumns As DataTable = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE", "MV_LoadControls1") + Dim oDTMyColumns As DataTable = Database_ECM.GetDatatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE") ', "MV_LoadControls1") oControl = ClassControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False) End Select @@ -417,7 +417,7 @@ Public Class frmMassValidator oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) LOGGER.Debug(">>> sql after ReplaceAllValues: " & oSqlCommand) _dependingControl_in_action = True - Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable(oSqlCommand, "MV_OnLookUp1") + Dim oDTDEPENDING_RESULT As DataTable = Database_ECM.GetDatatable(oSqlCommand) ', "MV_OnLookUp1") Try Dim oDependingLookup As LookupControl3 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault() For Each oControl As Control In pnldesigner.Controls @@ -554,7 +554,7 @@ Public Class frmMassValidator Select Case Typ 'Tabellendarstellung Case "TABLE" - Dim dt As DataTable = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {CONTROL_ID} ORDER BY SEQUENCE", "MV_FillIndexValues") + Dim dt As DataTable = Database_ECM.GetDatatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {CONTROL_ID} ORDER BY SEQUENCE") ', "MV_FillIndexValues") Dim SpaltenWerte As String() If dt.Rows.Count > 1 Then For Each Zeile As Object In wertWD @@ -1026,7 +1026,7 @@ Public Class frmMassValidator If TypeOf control Is Label Then Exit Sub Dim sql As String = $"SELECT NAME, CONNECTION_ID, SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE GUID = {controlId} AND PROFIL_ID = {CURRENT_ProfilGUID} AND LEN(ISNULL(SQL_UEBERPRUEFUNG,'')) > 0 AND SQL_UEBERPRUEFUNG NOT LIKE '%#WMI#%' AND SQL_UEBERPRUEFUNG NOT LIKE '%#CTRL#%'" - Dim dt As DataTable = ClassDatabase.Return_Datatable(sql, "MV_LoadSimpleData") + Dim dt As DataTable = Database_ECM.GetDatatable(sql) ', "MV_LoadSimpleData") If IsNothing(dt) Then Exit Sub If dt.Rows.Count = 0 Then Exit Sub @@ -1048,7 +1048,7 @@ Public Class frmMassValidator sql = clsPatterns.ReplaceInternalValues(sql) LOGGER.Debug(">>> sql after ReplaceInternalValues: " & sql) 'sql = ClassPatterns.ReplaceInternalValues(sqlStatement) - dt = ClassDatabase.Return_Datatable(sql, "MV_LoadSimpleData1") + dt = Database_ECM.GetDatatable(sql) ', "MV_LoadSimpleData1") If IsNothing(dt) Then MsgBox($"SQL-Query for control {control.Name} is invalid.") @@ -1144,7 +1144,7 @@ Public Class frmMassValidator If CreateWMObject() = True Then If ClassFinalizeDoc.Write_Final_Metadata(CURRENT_WMFILE) = True Then Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", USER_USERNAME, CURRENT_DOC_GUID) - If ClassDatabase.Execute_non_Query(sql) = True Then + If Database_ECM.ExecuteNonQuery(sql) = True Then workedFiles += 1 End If End If @@ -1237,14 +1237,14 @@ Public Class frmMassValidator WORK_HISTORY_ENTRY = "" End If Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, USER_USERNAME, Environment.MachineName, WORK_HISTORY_ENTRY) - ClassDatabase.Execute_non_Query(ins) + Database_ECM.ExecuteNonQuery(ins) '####### ANNOTIEREN WENN KONFIGURIERT ####### If docrow.Item("FULL_PATH").ToString.ToLower.EndsWith(".pdf") Then If Not IsNothing(WORK_HISTORY_ENTRY) Then If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then Dim Sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE GUID = (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = {0} AND DOC_ID = {1})", CURRENT_ProfilGUID, CURRENT_DOC_ID) - Dim DT_ENTRY As DataTable = ClassDatabase.Return_Datatable(Sql, "MV_Finish1") + Dim DT_ENTRY As DataTable = Database_ECM.GetDatatable(Sql) ', "MV_Finish1") If Not IsNothing(DT_ENTRY) Then If DT_ENTRY.Rows.Count = 1 Then Dim AnnotationString = DT_ENTRY.Rows(0).Item("WORKED_WHEN") & " " & DT_ENTRY.Rows(0).Item("WORKED_BY") & ": " & DT_ENTRY.Rows(0).Item("STATUS_COMMENT") @@ -1255,7 +1255,7 @@ Public Class frmMassValidator Dim value = CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES") If CBool(value) = True Then Dim Sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE DOC_ID = {1} ORDER BY GUID", CURRENT_ProfilGUID, CURRENT_DOC_ID) - Dim DT_ENTRIES As DataTable = ClassDatabase.Return_Datatable(Sql, "MV_Finish2") + Dim DT_ENTRIES As DataTable = Database_ECM.GetDatatable(Sql) ', "MV_Finish2") If Not IsNothing(DT_ENTRIES) Then If DT_ENTRIES.Rows.Count > 0 Then Dim AnnotationString As String = "" @@ -1318,12 +1318,12 @@ Public Class frmMassValidator Private Function GetWMDocPathWindows(_CheckStandard As Integer) Dim oResult As String Dim oSQL = $"SELECT [dbo].[FNPM_GET_WM_FILE_PATH] ({CURRENT_DOC_GUID},{_CheckStandard})" - oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "MVGetWMDocPathWindows1") + oResult = Database_ECM.GetScalarValue(oSQL) LOGGER.Debug($"Checking file 0 GDP [{oResult}] exists?...") If File.Exists(oResult) = False Then LOGGER.Debug($"GetWMDocPathWindows returned false - trying with standard again...") oSQL = $"SELECT [dbo].[FNPM_GET_WM_FILE_PATH] ({CURRENT_DOC_GUID},1)" - oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "MVGetWMDocPathWindows1") + oResult = Database_ECM.GetScalarValue(oSQL) LOGGER.Debug($"Checking file 1 GDP [{oResult}] exists?...") If File.Exists(oResult) = False Then Return False diff --git a/app/DD_PM_WINDREAM/frmMonitor.vb b/app/DD_PM_WINDREAM/frmMonitor.vb index e8d7b30..660014a 100644 --- a/app/DD_PM_WINDREAM/frmMonitor.vb +++ b/app/DD_PM_WINDREAM/frmMonitor.vb @@ -55,7 +55,7 @@ Public Class frmMonitor oDetailSQL = oDetailSQL.Replace("@IDBOBJID", oDocID) oDetailSQL = oDetailSQL.Replace("@UserID", USER_ID) oDetailSQL = oDetailSQL.Replace("@UserName", USER_USERNAME) - Dim oDT2 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL, "Monitor_Detail1") + Dim oDT2 As DataTable = Database_ECM.GetDatatable(oDetailSQL) ', "Monitor_Detail1") If Not IsNothing(oDT2) Then LOGGER.Debug($"Found {oDT2.Rows.Count} rows for GridView2") GridView2.Columns.Clear() @@ -76,7 +76,7 @@ Public Class frmMonitor oDetailSQL = oDetailSQL.Replace("@IDBOBJID", oDocID) oDetailSQL = oDetailSQL.Replace("@UserID", USER_ID) oDetailSQL = oDetailSQL.Replace("@UserName", USER_USERNAME) - Dim oDT3 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL, "Monitor_Detail2") + Dim oDT3 As DataTable = Database_ECM.GetDatatable(oDetailSQL) ', "Monitor_Detail2") LOGGER.Debug($"oDetailSQL for Grid 3: {oDetailSQL}") If Not IsNothing(oDT3) Then LOGGER.Debug($"Found {oDT3.Rows.Count} rows for GridView3") @@ -91,7 +91,7 @@ Public Class frmMonitor oDetailSQL = oDetailSQL.Replace("@UserID", USER_ID) oDetailSQL = oDetailSQL.Replace("@UserName", USER_USERNAME) LOGGER.Debug($"oDetailSQL for Grid 4: {oDetailSQL}") - Dim oDT4 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL, "Monitor_Detail3") + Dim oDT4 As DataTable = Database_ECM.GetDatatable(oDetailSQL) ', "Monitor_Detail3") If Not IsNothing(oDT4) Then LOGGER.Debug($"Found {oDT4.Rows.Count} rows for GridView4") GridView4.Columns.Clear() @@ -186,12 +186,12 @@ Public Class frmMonitor Try FormShown = False Dim oSQL = "SELECT * FROM TBPM_MONITOR_KONFIG" - DT_MONITOR_KONFIG = ClassDatabase.Return_Datatable(oSQL, "Monitor-Load_Grid_Data1") + DT_MONITOR_KONFIG = Database_ECM.GetDatatable(oSQL) ', "Monitor-Load_Grid_Data1") If Not IsNothing(DT_MONITOR_KONFIG) Then If DT_MONITOR_KONFIG.Rows.Count >= 1 Then oSQL = DT_MONITOR_KONFIG.Rows(0).Item("GRID_SQL") GridView1.Columns.Clear() - Dim oDTGRID1 As DataTable = Await ClassDatabase.Return_DatatableAsync(oSQL, "Monitor-Load_Grid_Data2") + Dim oDTGRID1 As DataTable = Await Database_ECM.GetDatatableAsync(oSQL) ', "Monitor-Load_Grid_Data2") GridControl1.DataSource = oDTGRID1 GRID1_TITLE = DT_MONITOR_KONFIG.Rows(0).Item("GRID_TITLE") diff --git a/app/DD_PM_WINDREAM/frmSQL_Admin.vb b/app/DD_PM_WINDREAM/frmSQL_Admin.vb index 33e57d3..a7633e6 100644 --- a/app/DD_PM_WINDREAM/frmSQL_Admin.vb +++ b/app/DD_PM_WINDREAM/frmSQL_Admin.vb @@ -7,7 +7,7 @@ Public Class frmSQL_Admin Private Sub btnrunSQL_Click(sender As Object, e As EventArgs) Handles btnrunSQL.Click If txtSQL.Text <> "" Then If txtSQL.Text.ToLower.StartsWith("select") Then - Dim dt As DataTable = ClassDatabase.Return_Datatable(txtSQL.Text, "btnrunSQL_Click") + Dim dt As DataTable = Database_ECM.GetDatatable(txtSQL.Text) ', "btnrunSQL_Click") If Not dt Is Nothing Then XtraTabControl1.SelectedTabPageIndex = 1 BindingSource1.DataSource = dt @@ -19,7 +19,7 @@ Public Class frmSQL_Admin Try Me.Cursor = Cursors.WaitCursor - Dim connection As New SqlClient.SqlConnection(CONNECTION_STRING) 'csb.ConnectionString) + Dim connection As New SqlClient.SqlConnection(CONNECTION_STRING_ECM) 'csb.ConnectionString) connection.Open() Dim cmd As New SqlClient.SqlCommand(txtSQL.Text, connection) cmd.ExecuteNonQuery() @@ -39,7 +39,7 @@ Public Class frmSQL_Admin End Sub Sub Load_ConString(constr As String) Dim csb As New SqlClient.SqlConnectionStringBuilder - csb.ConnectionString = CONNECTION_STRING + csb.ConnectionString = CONNECTION_STRING_ECM If csb.Password.Length > 0 Then constr = constr.Replace(csb.Password, "XXXXX") End If @@ -68,7 +68,7 @@ Public Class frmSQL_Admin End Sub Private Sub frmSQL_Admin_Load(sender As Object, e As EventArgs) Handles Me.Load - Load_ConString(CONNECTION_STRING) + Load_ConString(CONNECTION_STRING_ECM) End Sub Private Sub txtSQL_KeyPress_1(sender As Object, e As KeyPressEventArgs) Handles txtSQL.KeyPress diff --git a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb index 851d2c6..a31dcc9 100644 --- a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb +++ b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb @@ -32,14 +32,14 @@ Public Class frmSQL_DESIGNER Private Sub frmSQL_FINAL_INDICES_Load(sender As Object, e As EventArgs) Handles MyBase.Load Try lblSaveFinalIndex.Visible = False - TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING + TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM TBDD_CONNECTIONTableAdapter.Fill(DD_DMSLiteDataSet.TBDD_CONNECTION) If CURRENT_DESIGN_TYPE = "INPUT_INDEX" Then - CURRENT_DT_SQL_CONFIG_TABLE = ClassDatabase.Return_Datatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_UEBERPRUEFUNG,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_CONTROLS T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_CONTROL_ID), "frmSQL_FINAL_INDICES_Load1") + CURRENT_DT_SQL_CONFIG_TABLE = Database_ECM.GetDatatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_UEBERPRUEFUNG,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_CONTROLS T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_CONTROL_ID)) ', "frmSQL_FINAL_INDICES_Load1") ElseIf CURRENT_DESIGN_TYPE = "FINAL_INDEX" Then - CURRENT_DT_SQL_CONFIG_TABLE = ClassDatabase.Return_Datatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_FINAL_INDEXING T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0} ORDER BY T.SEQUENCE", CURRENT_INDEX_ID), "frmSQL_FINAL_INDICES_Load2") + CURRENT_DT_SQL_CONFIG_TABLE = Database_ECM.GetDatatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_FINAL_INDEXING T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0} ORDER BY T.SEQUENCE", CURRENT_INDEX_ID)) ', "frmSQL_FINAL_INDICES_Load2") ElseIf CURRENT_DESIGN_TYPE = "SQL_SOURCE_TABLE_COLUMN" Then - CURRENT_DT_SQL_CONFIG_TABLE = ClassDatabase.Return_Datatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_CONTROL_TABLE T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_INDEX_ID), "frmSQL_FINAL_INDICES_Load2") + CURRENT_DT_SQL_CONFIG_TABLE = Database_ECM.GetDatatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_CONTROL_TABLE T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_INDEX_ID)) ', "frmSQL_FINAL_INDICES_Load2") End If If CURRENT_DESIGN_TYPE = "SQL_OVERVIEW" Then cmbConnection.Enabled = False @@ -60,7 +60,7 @@ Public Class frmSQL_DESIGNER End If If CURRENT_DESIGN_TYPE <> "SQL_SOURCE_TABLE_COLUMN" Then Dim oSQL = String.Format("SELECT NAME FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {0} AND CTRL_TYPE <> 'LBL' ORDER BY NAME", CURRENT_ProfilGUID) - Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL, "frmSQL_FINAL_INDICES_Load3") + Dim oDatatable As DataTable = Database_ECM.GetDatatable(oSQL) ', "frmSQL_FINAL_INDICES_Load3") cmbControls.DataSource = oDatatable cmbControls.DisplayMember = oDatatable.Columns(0).ColumnName cmbControls.Visible = True @@ -205,7 +205,7 @@ Public Class frmSQL_DESIGNER Return dataset Else - If LOG_ERRORS_ONLY = True Then LOGGER.Info(" >> It's an Oracle-Connection (ExecuteWithConnection)", False) + If DEBUG = True Then LOGGER.Info(" >> It's an Oracle-Connection (ExecuteWithConnection)", False) Dim sqlConnection As OracleConnection Dim sqlCommand As OracleCommand Dim sqlAdapter As New OracleDataAdapter diff --git a/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb b/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb index 7698ebb..9d0d4e8 100644 --- a/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb +++ b/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb @@ -171,19 +171,19 @@ Public Class frmUserKonfig_AddUsers Dim SQL If Not UserExists(USERNAME) Then SQL = "INSERT INTO TBDD_USER(PRENAME, NAME, USERNAME, EMAIL, ADDED_WHO) VALUES('" & PRENAME & "', '" & NAME & "', '" & USERNAME & "','" & email & "','" & USER_USERNAME & "')" - If ClassDatabase.Execute_non_Query(SQL, False) = True Then - Dim ID = ClassDatabase.Execute_Scalar("SELECT MAX(GUID) FROM TBDD_USER", CONNECTION_STRING, "btnAddUsers_Click") + If Database_ECM.ExecuteNonQuery(SQL) = True Then + Dim ID = Database_ECM.GetScalarValue("SELECT MAX(GUID) FROM TBDD_USER") Dim msg = String.Format(">> USER {0}, {1} - {2} ADDED TO CONFIGURATION", NAME, PRENAME, USERNAME) LOGGER.Info(msg) SQL = String.Format("INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID) VALUES ({0},(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'PM'))", ID) - If ClassDatabase.Execute_non_Query(SQL, False) = False Then + If Database_ECM.ExecuteNonQuery(SQL) = False Then MsgBox("Attention: could not add user to module! - Please check the log.", MsgBoxStyle.Exclamation) End If usersAdded = usersAdded + 1 End If Else SQL = String.Format("UPDATE TBDD_USER SET PRENAME = '{0}', NAME = '{1}', EMAIL = '{2}' WHERE UPPER(USERNAME) = UPPER('{3}')", PRENAME, NAME, email, USERNAME) - If ClassDatabase.Execute_non_Query(SQL, False) = True Then + If Database_ECM.ExecuteNonQuery(SQL) = True Then usersAdded = usersAdded + 1 End If End If @@ -207,7 +207,7 @@ Public Class frmUserKonfig_AddUsers Private Function UserExists(username As String) As Boolean Try Dim SQL = "SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER('" & username & "')" - If ClassDatabase.Execute_Scalar(SQL, CONNECTION_STRING, "UserExists") = Nothing Then + If Database_ECM.GetScalarValue(SQL) = Nothing Then Return False Else Return True diff --git a/app/DD_PM_WINDREAM/frmValidator.Designer.vb b/app/DD_PM_WINDREAM/frmValidator.Designer.vb index 055f203..c5e3329 100644 --- a/app/DD_PM_WINDREAM/frmValidator.Designer.vb +++ b/app/DD_PM_WINDREAM/frmValidator.Designer.vb @@ -82,7 +82,7 @@ Partial Class frmValidator Me.bbtniAnnotation = New DevExpress.XtraBars.BarButtonItem() Me.bsiInfo1 = New DevExpress.XtraBars.BarStaticItem() Me.bsiInfo2 = New DevExpress.XtraBars.BarStaticItem() - Me.BbtnItm = New DevExpress.XtraBars.BarButtonItem() + Me.BbtnitmSave = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() Me.BarLinkContainerItem1 = New DevExpress.XtraBars.BarLinkContainerItem() Me.btnitemConversationEnd = New DevExpress.XtraBars.BarButtonItem() @@ -97,6 +97,7 @@ Partial Class frmValidator Me.btnitemConversation_reload = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem5 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItemAttmt = New DevExpress.XtraBars.BarButtonItem() + Me.barbtnitmExport = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPageConversations = New DevExpress.XtraBars.Ribbon.RibbonPageCategory() Me.RibbonPage3 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroupConv1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -108,6 +109,7 @@ Partial Class frmValidator Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.FolderBrowserDialog1 = New System.Windows.Forms.FolderBrowserDialog() CType(Me.SplitContainer2_DV_Chat, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainer2_DV_Chat.SuspendLayout() CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -450,9 +452,9 @@ Partial Class frmValidator 'RibbonControl1 ' Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiError, Me.bsiInformation, Me.bsiDocID, Me.BarButtonItemFileView, Me.BarButtonItem3, Me.BarButtonItem4, Me.bbtniRefresh, Me.bbtniRefreshSearches, Me.bbtniNext, Me.bbtniDelete, Me.bbtniAnnotation, Me.bsiInfo1, Me.bsiInfo2, Me.BbtnItm, Me.BarButtonItem2, Me.BarLinkContainerItem1, Me.btnitemConversationEnd, Me.bbtnitem_ConversationNew, Me.BarLinkContainerItem2, Me.BarEditItem1, Me.BarEditItem2, Me.BarEditItem3, Me.btnitemConversation_reload, Me.BarButtonItem5, Me.BarButtonItemAttmt}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiError, Me.bsiInformation, Me.bsiDocID, Me.BarButtonItemFileView, Me.BarButtonItem3, Me.BarButtonItem4, Me.bbtniRefresh, Me.bbtniRefreshSearches, Me.bbtniNext, Me.bbtniDelete, Me.bbtniAnnotation, Me.bsiInfo1, Me.bsiInfo2, Me.BbtnitmSave, Me.BarButtonItem2, Me.BarLinkContainerItem1, Me.btnitemConversationEnd, Me.bbtnitem_ConversationNew, Me.BarLinkContainerItem2, Me.BarEditItem1, Me.BarEditItem2, Me.BarEditItem3, Me.btnitemConversation_reload, Me.BarButtonItem5, Me.BarButtonItemAttmt, Me.barbtnitmExport}) resources.ApplyResources(Me.RibbonControl1, "RibbonControl1") - Me.RibbonControl1.MaxItemId = 28 + Me.RibbonControl1.MaxItemId = 29 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageConversations}) Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) @@ -579,13 +581,13 @@ Partial Class frmValidator Me.bsiInfo2.Name = "bsiInfo2" Me.bsiInfo2.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph ' - 'BbtnItm + 'BbtnitmSave ' - resources.ApplyResources(Me.BbtnItm, "BbtnItm") - Me.BbtnItm.Id = 16 - Me.BbtnItm.ImageOptions.Image = CType(resources.GetObject("BbtnItm.ImageOptions.Image"), System.Drawing.Image) - Me.BbtnItm.ImageOptions.LargeImage = CType(resources.GetObject("BbtnItm.ImageOptions.LargeImage"), System.Drawing.Image) - Me.BbtnItm.Name = "BbtnItm" + resources.ApplyResources(Me.BbtnitmSave, "BbtnitmSave") + Me.BbtnitmSave.Id = 16 + Me.BbtnitmSave.ImageOptions.Image = CType(resources.GetObject("BbtnitmSave.ImageOptions.Image"), System.Drawing.Image) + Me.BbtnitmSave.ImageOptions.LargeImage = CType(resources.GetObject("BbtnitmSave.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BbtnitmSave.Name = "BbtnitmSave" ' 'BarButtonItem2 ' @@ -679,6 +681,14 @@ Partial Class frmValidator Me.BarButtonItemAttmt.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItemAttmt.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.BarButtonItemAttmt.Name = "BarButtonItemAttmt" ' + 'barbtnitmExport + ' + resources.ApplyResources(Me.barbtnitmExport, "barbtnitmExport") + Me.barbtnitmExport.Id = 28 + Me.barbtnitmExport.ImageOptions.SvgImage = CType(resources.GetObject("barbtnitmExport.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.barbtnitmExport.Name = "barbtnitmExport" + Me.barbtnitmExport.Visibility = DevExpress.XtraBars.BarItemVisibility.Never + ' 'RibbonPageConversations ' Me.RibbonPageConversations.Name = "RibbonPageConversations" @@ -722,7 +732,7 @@ Partial Class frmValidator 'RibbonPageGroup3 ' Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniRefresh) - Me.RibbonPageGroup3.ItemLinks.Add(Me.BbtnItm) + Me.RibbonPageGroup3.ItemLinks.Add(Me.BbtnitmSave) Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniRefreshSearches) Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniNext) Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniDelete) @@ -733,6 +743,7 @@ Partial Class frmValidator 'RibbonPageCust ' Me.RibbonPageCust.ItemLinks.Add(Me.BarButtonItemAttmt) + Me.RibbonPageCust.ItemLinks.Add(Me.barbtnitmExport) Me.RibbonPageCust.Name = "RibbonPageCust" Me.RibbonPageCust.Visible = False ' @@ -860,7 +871,7 @@ Partial Class frmValidator Friend WithEvents bsiInfo1 As DevExpress.XtraBars.BarStaticItem Friend WithEvents bsiInfo2 As DevExpress.XtraBars.BarStaticItem Friend WithEvents DocumentViewerValidator As DigitalData.Controls.DocumentViewer.DocumentViewer - Friend WithEvents BbtnItm As DevExpress.XtraBars.BarButtonItem + Friend WithEvents BbtnitmSave As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem Friend WithEvents Panel1 As Panel Friend WithEvents SplitContainer2_DV_Chat As DevExpress.XtraEditors.SplitContainerControl @@ -883,4 +894,6 @@ Partial Class frmValidator Friend WithEvents BarButtonItem5 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItemAttmt As DevExpress.XtraBars.BarButtonItem Friend WithEvents RibbonPageCust As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents barbtnitmExport As DevExpress.XtraBars.BarButtonItem + Friend WithEvents FolderBrowserDialog1 As FolderBrowserDialog End Class diff --git a/app/DD_PM_WINDREAM/frmValidator.fr-FR.resx b/app/DD_PM_WINDREAM/frmValidator.fr-FR.resx new file mode 100644 index 0000000..ffd2d7e --- /dev/null +++ b/app/DD_PM_WINDREAM/frmValidator.fr-FR.resx @@ -0,0 +1,1003 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABV0RVh0VGl0 + bGUAVmlld01lcmdlZERhdGE7shxIswAAAkJJREFUOE+lkl9Ik2EUxjdnYg4Z6IUX0Y1dBEUQdrOQpEYy + K9LEQpTFxD+oTXMbXkT7xoKyzaitVrJkW0RXQbJagU5rG5ulEYEXgUIkmNYHBl4krWB/ejrv15avK696 + 4Afn/TjPc97348gA/BcbxYbkREEWBVFIbMvCavmWASZfJGLyR2H0RTDgDeP86Av03X2Oc54p9IyE0OkK + xqmtaKuAAqM/QuXfymQySKfTaHcGWaOK9RLSTfgABZuaL2acDMdhc9zE6bZ+1Ld2xk6caeulfvYkOR9Q + 2E9XZroXFeENf4YntIQLtwIwX3LiYWgWn9a+IxyfgUmwJ2sbWvqYhw8oYm/llUwmYR0i88QsyCvp7eJX + 3A9Oo/aUbpo8JXxAMftRTJ6pFdweX8K1sXk06Q3SZKYv335iZHIZLz+sU8DZH+RR8QHbu9zjUmNOiUQC + g8JlhGOvsErmOTEN98RH3HkUQc2xptf5Acp21zPJ6Hy6CPvYAmzeKIbMvTBevAL/4xhi79dhdgWgM1hS + VdVHLWwoH1Cqv/5ECkilUlgVVxBymREUmmGs16KjZwCaBh0Oak6+268+bKP+MkLBB6h0w4GseZnMJgSt + zXAcV+NNLApRFHHE4GKNVYSSmSUfF6BsFPwzLVbfn8l2MtfpLdAOjhJ+HOoanqO+ipwnP4DtffmNDu3V + B911EKp3r+0rL22lb3uIXUQlUUH8e5Wlw+8VVXXv3enQ7CirobqEkFsOVMp4Nnn4g7tRnQspJqRVzTdv + DoDsF67YQEGpdtFTAAAAAElFTkSuQmCC + + + + + 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 + vDjYoZ0AAAAASUVORK5CYII= + + + + + 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 + RK5CYII= + + + + Rechargez + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm + cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAALlJREFUOE+lksENgzAMRVkEdQhOSJmnZyZg + pt56ZIwee2cJ93/LRiQ4kIpID4y//RXidCJyizD5D1uQUnJ6MIE3WA3GzFHzujkyGMELSAVqrJn5XRrQ + 3ZsX8AQPgzFz1D72Phhwi948eN40MoAv0GZCTQtqqzDQbe/ZDK6Imgk1LziIQE/5Cn1EzSAvDFbNgAfF + A8sMLOeTmDxfGviIzsbIUfeRAbfdepG0b2+g/2w0XeXM4A5hsh3pfngbEtI9NQFmAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm + cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAAbFJREFUWEfFljFOw0AQRXMAJK6TwtwkJ6Ak + TWhyDk5BlQJuQscRqJDozH/W2poZj2MLm03xJO/4//mOd7PeXdu2NyUt1iQt1iQt1mRUaJrmGntxEq/i + Q3wXuKbGPTSZtyPmjQqZSTyIF/El2hnQoMWT9TrbPBcOieFR8AuzsGvgwWt7nYVilj/As/gRWcAS8NJj + CAeb58KhiIGnz8LfxZNgru8LXFPjXtTT42JrNs+FgwTA/MXX/imO4i56erhXNGit12E9rgFIACwia6Lh + IWoj0vQcisf2GLAe1wAk4HXG1X6MugzpLG/C9hiwHtcAJOC/bA3M6+Rrt0jXMyy4DOtxDdai5rPhYD2u + wVrUfDYcrMc1uAVpsSZukL2uBLeXr8UNkrAIc+w8a3GDEBbpwsF6ppCOXTFuzaeoc4MgtrCpdOFgPVNI + x5Zse7C57aPODYLB0m3FYtEDFG3citneR1o3CIYIDf/6MeLD1h1QoscNjAH4hG71OR4OJjYP3KAYoF9w + Wx5IFj/AsNoLWx7JXB64gQQxvGezQ6nNg1EhMxmY6/89ltcmLdYkLdYkLdaj3f0Cj5M+ApfcyL4AAAAA + SUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAndEVYdFRpdGxlAFJlZnJlc2g7UmVwZWF0O0JhcnM7 + UmliYm9uO1JlbG9hZM1N9ukAAADSSURBVDhPpZKxDcJAEASNRAE0YNGBc4qwyEjIHSJHkNMEJZCSmYx+ + aOLZff2eTugegQlGOu3e7b9936SU/iIUf8GK/nwXLRjBBJ4F1tTo5b5awAIcQKpwAxsQBqxADxhyAgNY + F1g/gELaKGBfGhhiuvM7oJBRukwO6Zo5RA0e6LwJ/UlaNCwsJPCMjyaHj9fLEnX1EH89roriIM3D5uLb + MHXfwD3T4I/qpDvfh9jn+QY+Eq5IIe9r3AGF2JwPIHwkConYgtxbCyDznvJcQvF7UvMC/+yHWnrFMzsA + AAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAndEVYdFRpdGxlAFJlZnJlc2g7UmVwZWF0O0JhcnM7 + UmliYm9uO1JlbG9hZM1N9ukAAAHOSURBVFhHxZY9TsNQEIRTBJp0SBQoFBQg5QTQJSfwVVLSJkJCHAFu + 4APQcIB01KkoKLgCvZlB3mjfZl7sEPFSfEo8b3Z35L/nQdM0R0WKJZFiSaRYEimWRIo5qoe3CZiDGqzB + dwv/U+PaRNXmkGIETcdgCT5A0wE99I5Vr4gUPWh0C15BHNQFa6aqp0eKBhqQC/AJ1JAuVmBnCCkSFJKq + /b0CFuIdLMAMnLXwPzWuxRA8E9nLIUWCIg5nAx/iEdwoP+EaeAExxFL5yZZwXz8PUWDDDQtxEv0ReEYg + huCNKZ+O5ADDz2GMw43Ke3cBL89EvBxz5U0OYMoNN/YJwXvC19bKt/kDQ9dwo1cI+Hhj+rq18pm573Aj + CcHjsN6X6qDiA0P81m8aeLDId7s3z5QvAt/el3GrCYGBG4svWCifAt6uEMmZS4oNmLir+SI+UtkXUATe + XIiKj7r3JoUGjNx2487Hl8tI+T3wnAIVgsOH0Z8ceFDALdU3IAzR9Sp+AtfAh0hOu0eKBEX8BlDbcJ/N + 6Av4EHIGkaKBwinglhpD9IEhLoHsbUjRgwYM8dcPkjvV0yPFCBod75PMg6bH+Sj9T6RYEimWRIolkWI5 + msEP/+Ty+jngCqIAAAAASUVORK5CYII= + + + + + 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 + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAJxJREFUOE+t + k+ENQDAUhDuKafyzlN9MYQkbWEdiAO5rNEEOlZJ8Cb17l77XCk07XqlFLyYx7/DOGtrJf/yoRCcWsd6A + hgfvKYCFQbgiB94YkgJIdcYnqIkB9GW3rSeA0wQ1NSLDcYa3AOgRmbATc5gI4JicmLOD+ZeA2xYyAmIL + xUMsPkYoukhQfJVTCKm2nR00PLEYjgGJD7/zGDZMp1TRLvGgqwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAahJREFUWEfN + lz1SwzAQhcMRSMXkCpyFPkeggg5aJjWTmqNQ5AoU3CC3yFCZ/TzejGQ/WZKNxxRfxuPs232RVj/ZNE2z + Ku3Hw+GzhJ2xN47GyTgblw6eecd3xBCrckSUGrg33oxvoymEWDRoVc6WnIEb49H4MlSREtCSg1yDGmMG + 7ox3QyWdArnIGdVJGSDww1CJ5kDOyIQywFCV/PIf48nYGrfdM+9UbAi5r9OhDDBfStjnGV2IvXvtxaSg + hjRAx5Y23DYs3uVgNFRsH2q0qwNdaIBlowSKOQaAWpEBNo6ada6m4KUXMwa1duhczO6lAlN4E9KANU0Y + sg8NsIWqoCU5hgbYx1XQkpxCAxwmKigJuhAVk+GMzsWcaCooiRd2VEyGC7p/Y2D1KahuQi/sqJgMURNW + L0Mv7KiYDNEyrN2ITDbbQLQR1W7FJptlYLAVQ81hZLJZBgaHEdQcxyabbCB5HEPphcRkkw0kLyRQeiWb + SvZKBqteSh0C/3IkyBUVhzEDwFAxX8WNKUBLjuuwh+QMOHQsy6ZmnyAWTdvtKUoNOMv9OV2PZvMLsfKg + vDjYoZ0AAAAASUVORK5CYII= + + + + Sauvez + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgVG87U2F2ZdSrmXIAAACI + SURBVDhPvY/NDYAgDEZZkEUcgEU8MAJHEy+enK3ShjalQfAvHp4U+L4XcQDwCvrM07JnACl7mhvoO+yI + QEInAj6zd/8JmGsCBgMN+oKbfCzAWYOBDmNBSFEDCurg+ljAjARc8Gqu9iOBLVp8JTCsOdCT4Lk8YTPl + kYTKSPXLFg4VWCLlkKI7AOsCiV3t5qKnAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgVG87U2F2ZdSrmXIAAAEG + SURBVFhH7Ze7DcJAEETdmSUiJ07pAQqgEQJKIESiC/pAchPAsWPp0Oyy/omzAemCJ3vv1jMvdRFC+Cru + 4ZK4h0uihv32VAoXIRA4Z/huCLuP7JI7rUBDyxEut4FDePsNd1oBuwy4vGsHeDvuPndmgSyQUsDD3efO + vxSYylsmd44RSA53ZoE+gdXueChSgCzO5s5OAS/oEzibOxcTiHAfUMMMAshRcB9QQxbIAj8lIFTygRfa + Ryy6CRuambWA+3buE5jCWcIgUMdg4VVi4PPaClxN8BQ8iTu9A1WOTitQCd6/wVg8iQe9R9ryNwG5SAlL + uOVgTgFgJVQ5UIMszEGUwFP1hRCKJ8gHxL8Yk0HaAAAAAElFTkSuQmCC + + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANcCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkZvcmJpZCI+DQogICAgPHBhdGggZD0iTTE2LDRDOS40 + LDQsNCw5LjQsNCwxNnM1LjQsMTIsMTIsMTJzMTItNS40LDEyLTEyUzIyLjYsNCwxNiw0eiBNMTYsOGMx + LjUsMCwyLjksMC40LDQuMSwxLjFsLTExLDExICAgQzguNCwxOC45LDgsMTcuNSw4LDE2QzgsMTEuNiwx + MS42LDgsMTYsOHogTTE2LDI0Yy0xLjUsMC0yLjgtMC40LTQtMS4xTDIyLjksMTJjMC43LDEuMiwxLjEs + Mi41LDEuMSw0QzI0LDIwLjQsMjAuNCwyNCwxNiwyNHoiIGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwv + c3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0 + QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0 + LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N + Cjwvc3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAC4DAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41 + LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYsNEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQs + NC02LDcuNy02YzIuMiwwLDQuMiwwLjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3 + LjV6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjkt + NS42LTIuNGwzLjYtMy42SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwz + LjUgICBDMjIuMSwyOCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBj + bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKQCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iRHVwbGljYXRlX1ZhbHVlcyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5k + Om5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6Izcy + NzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+DQog + IDxyZWN0IHg9IjE0IiB5PSIxNCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iMCIgcnk9IjAiIGNs + YXNzPSJCbHVlIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cG9seWdvbiBwb2ludHM9IjEyLDEy + IDE4LDEyIDE4LDggOCw4IDgsMTggMTIsMTggICIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPHBh + dGggZD0iTTMxLDJIMUMwLjQsMiwwLDIuNCwwLDN2MjZjMCwwLjYsMC40LDEsMSwxaDMwYzAuNiwwLDEt + MC40LDEtMVYzQzMyLDIuNCwzMS42LDIsMzEsMnogTTMwLDI4SDJWNGgyOFYyOHoiIGNsYXNzPSJCbGFj + ayIgLz4NCjwvc3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMACAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkF0dGFjaCI+DQogICAgPHBhdGggZD0iTTIwLDEwdjEz + YzAsMi44LTIuMiw1LTUsNXMtNS0yLjItNS01VjdjMC0xLjcsMS4zLTMsMy0zczMsMS4zLDMsM3YxNmMw + LDAuNi0wLjQsMS0xLDFzLTEtMC40LTEtMVYxMGgtMnYxMyAgIGMwLDEuNywxLjMsMywzLDNzMy0xLjMs + My0zVjdjMC0yLjgtMi4yLTUtNS01UzgsNC4yLDgsN3YxNmMwLDMuOSwzLjEsNyw3LDdzNy0zLjEsNy03 + VjEwSDIweiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAVxJREFUWEfF + l7FxwzAMRT2Bq4yjPp1nyAAZxNu4dZkt0rnLCm4ZPF+gg5LPCLJko3h3Ovn/T5gCSWnXWitF3nwm48Uw + DHPsjYNxNM7Gxbj+wDX3+A0NWpUxsqSAF+Pd+DBaErR48KrMdAGvxslQg2TAS8af7EwBb8anoYKXQAZZ + k/y5AjB8GSrwHsiaFPFfAUzZFv/8N2SOj6NXAE2z5pnPQfatMXsF0LnKuCWMIQtg7aaXmvuCX+oEjLF3 + XwxgA1EGifuCX+o6HNwXA9jFlFjivuCXug5H98UAtlIllrgv+KWuw9l9MYD9XIkl7gt+qetwcV8M4FBR + Yon7gl/qOlzdFwPKCyh/BOVNWL4MF21EK5EbUflWDOnDyH3BL3WC7mEE5ccxlL6QOKWvZA6GLWaCjMng + kCkAmLI1PYF3nPZItgCgaejc9BI10OK5NZxiSQHOYz/NqpA3n0fbfQM/tJcKTygMggAAAABJRU5ErkJg + gg== + + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAABMLAAATCwAAAAAAAAAA + AAAxJKXfMSSl8jEkpe4uIqHuMCSk7lhC3e5eSOfuWELe7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uW0Th7ldC3e43KK3uVkDa7l5G5e5YQ97uYEnp7j4v + uO4hF47uQDC77mBI6e5ZQ9/uWUPf7llD3+5YQt3uW0Xi7mBJ6u5fSOfuWUPf7lhC3u5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf8llD398xJKX/MCOi/zIlqP84Kbz/LyKv/0Ewyf9oTvz/X0jm/19H5/9fR+f/X0fn/19H + 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/Xkfm/2hO8v9MOdP/Py7H/2ZN + 9/9eR+X/ZUzx/1dB2f8rH6T/PS3D/2JK7P9gSOj/X0fn/19H5/9hSev/WELc/0w5zv9WQen/ZEv7/2FJ + 6/9eR+X/X0fn/19I6P9aROH/WELe/1lD3/8xJKXuMiWp/zAjoP8pHov/KR6L/yEYfv9GM7//W0To/1A8 + 0P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdP/UT3T/11G + 9f9PO8z/HBRu/z8vrf9ZQ+X/UT3U/1lD4/8tIY7/Jx2H/1VA3f9TPtX/UT3U/1E91P9WQdv/SDbK/ycd + kf8bFG//OSuk/1hC4P9SPtX/UT3U/1E90/9YQt3/WkTh/1lD3+4xJKXuOCm8/ykeiv8AAAD/AAAA/wAA + AP8CAQ//MSOs/zAjqf8sIZ7/LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/ywh + nf8tIZ//OCnD/yIZfP8AAAX/AAAA/ygekv8xJK7/LCCc/zUnuv8fFmT/AAAA/y0hn/8wJKr/LSGf/y0h + n/8sIJ3/MiWq/zYosf8GBBb/AAAA/yAYd/81J7n/LCCd/ygdmP9QPNP/YEjo/1lD3+4xJKXuNym6/yke + i/8AAAD/AAAA/wAAAP8AAAD/GhNb/zwsyv8wI6D/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj + pP8wI6T/MCOj/zAkpP88K8r/Ihlx/wAAAP8AAAD/KB2G/zorxP8vI6D/MCSk/zAkpP86KsT/DAkn/xoT + WP87K8f/LyOh/zAjpP8wI6T/LyOi/zkqwv8RDDr/AAAA/xkSVv87K8j/LyKg/ywgnv9RPdT/X0fn/1lD + 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AgII/zMmrP81J7L/MSSl/zEkpf8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MCSi/z0szP8jGnf/AAAA/wAAAP8hGG7/PCzK/zAko/8xJKX/MSSl/zAk + o/83Kbv/KR6J/wsIJf83KLn/MiWo/zEkpf8xJKX/MSSn/zcpu/8NCSv/AAAA/w0KK/87K8f/MSSm/y0h + nv9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/xsUXP88LMr/MCOh/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8wI6D/OyvH/ykdif8AAAD/AAAA/x8Xav89Lc3/MSSm/zEk + pP8xJKX/MSSl/zEkpf8wI6L/OyvG/wsJJ/8ZE1b/PCzK/zAjof8xJKX/MSSk/zsrxf8WEEj/AAAA/wAA + AP8kGnr/Pi7T/y0hnv9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQD + D/80J7H/Myat/zEkpf8xJKX/MSSl/zEkpf8wJKT/MSSk/zEkpf87K8T/MCOh/wAAAP8AAAD/JBp3/zws + yv8xJKb/MCSj/zEkpf8xJKX/MSSl/zEkpf8xJKP/OirF/x4WZf8AAAD/Myas/zYotv8xJKP/MSSk/zco + uP8uIZn/AAAA/wAAAP8AAAH/Ihlz/zUnu/9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8jGnb/OivE/zEko/8xJKP/MSSk/zQnsP86KsL/OirC/zkqv/81J7P/BwUW/wIB + Bf8qH4//QjHd/zkqwv86KsL/Nyi4/zIlp/8wI6L/MSSl/zEkpf8xJKX/Nii1/y8inf8AAAD/Dwsz/zws + yv8xJKT/MSSm/zAkov86KsT/Ixp4/wAAAP8AAAD/AAAA/yQbgv9ZQ+//Xkfk/1lD3+4xJKXuNym6/yke + jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QDDb/OSrA/zAjof83KLn/OirE/zEkp/8jGXX/FA5C/w4K + L/8DAgv/AAAA/wQDDf8PCzL/DAkq/xMOQf8gF2z/LCCT/zcpuv87K8b/NCaw/zAjov8xJKX/MiWp/zYn + tf8HBRj/AAAA/ykeif85KsD/MCSj/zEkpP8xJKX/OirD/y4imv8KByL/AAAA/wUDGP9YQen/X0jq/1lD + 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQX/MSSl/z8v1f8uIpv/FQ9I/wQD + D/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0KLf8gF2z/MyWr/zsr + x/8zJq7/LyOf/zsrxf8WEEr/AAAA/w8LMf86K8P/MSSk/zEkpf8xJKT/MCOi/zssx/81J7T/BAMQ/wAA + AP9OO8b/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/KB2E/ycd + hP8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BgQT/x4WZv83KLf/OSq+/zwsyv8qH4//AAAA/wAAAP8tIZf/Nii2/zEkpf8xJKX/MSSl/zAj + n/89Lc3/HhZp/wAAAP9NOsH/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BAMN/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JBx//LCCS/zoqw/8gF2v/AAAA/wAAAP8dFV//OivD/zEk + pP8xJKX/MSSl/zEko/85KsD/JBp6/wAABf9UP97/YEjs/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQACP8AAAD/AAAA/wAA + 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 + wf86K8P/OCm9/zUnsv8uIpv/Jx2B/xsUW/8QDDj/DAkp/wQDDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8BAQL/CAYc/xcRTv8qH4z/OSrA/zcpuv8wI6H/MSSl/zEkpP8xJKX/OivE/ysg + kv8RDTr/AgEG/wAAAP8AAAD/AAAA/wAAAP8vI5b/SzjX/1lD3u5gSeruZ03w/1hC4f80Jrf/Nie3/zMl + q/8uIpv/Kh6M/yEYcf8bFFv/Eg08/woHIv8BAQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wgGHP8mG33/Ixp1/yUbfP8tIZb/NCav/zorxf84Kbz/MSSl/zAko/8xJKX/MSSl/zEk + pf8xJKT/MCOi/zgpvP85Kr7/LiKa/yQaeP8hGG//Ixp2/ycdjf9VQNz/aE71/1xF5O5EM8DuSTfQ/zor + qv8PCzb/DQks/wcFGP8BAQT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/Dgow/zYouP89Lc//OSrA/zgqv/82KLb/MyWr/zEko/8xJKT/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zAko/8xJKb/NSe0/zkqwP85KsL/OCm//zIlsf9SPtb/Xkbl/1lD + 3+4pHpruMCOx/yIZf/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UD0T/OSrB/zcpuP8vI5//MSSk/zEkpP8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpP8xJKT/MCOj/y0h + n/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoTWf87LMn/NSey/zAjof8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk + pf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IRhw/z0tzf8zJa3/MCOi/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk + pf8xJKX/MSSl/zEkpf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykei/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8mHIL/PCzK/zEk + pv8wI6L/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj + pP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/LyKj/ywgnv9RPdT/X0fn/1lD3+4xJKXuOCm8/yke + iv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAM/ygd + jv84KcT/LSGd/ywhnv8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0h + n/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LCCe/ygdmP9QPNP/YEjo/1lD + 3+4xJKXuMiWp/zAjoP8pHov/KR6L/ykejP8pHoz/KR6M/ykejP8pHoz/KR6M/ykejP8qHoz/Kx+N/yEX + f/8rIIz/Uz7U/1tE8P9QPdD/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9 + 1P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9 + 0/9YQt3/WkTh/1lD3+4xJKX/MCOi/zIlqP83Kbv/Nym7/zcpuv83Kbr/Nym6/zcpuv83Kbr/Nym6/zcp + uv84Kbv/LyKu/zwswf9jSvv/Zk33/11H4/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H + 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H + 5/9fR+f/X0fn/19I6P9aROH/WELe/1lD3/8xJKXfMSSl8jEkpe4xJKXuMSSl7jEkpe4xJKXuMSSl7jEk + pe4xJKXuMSSl7jEkpe4sIJ3uOyyz7mBJ6e5fR+fuWELd7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD + 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf8llD398AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA= + + + + + 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 + ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi + bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s + VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw + BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh + bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz + LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl + bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF + eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA + Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs + dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz + cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z + CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl + c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA + AAAAAAAAPAEAAAAGDAAAABDDlmZmbmVuIChTdHJnK08pBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s + VGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdp + ZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRC + b29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ + dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAAb + w5ZmZm5lbiBTaWUgZWluZSBQREYtRGF0ZWkuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRl + bUltYWdlT3B0aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4 + E0ltYWdlVG9UZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNz + LlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAIAAAAICAIAAAAGEAAAAAAF7////xNTeXN0ZW0uRHJh + d2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgICQAAAAAAAAAAAAAABe7///8mRGV2RXhwcmVzcy5V + dGlscy5Ub29sVGlwSW1hZ2VBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAA/////w4AAAABDgAA + AAsAAAAJEAAAAAHt////7////wAAAAAAAAAAAez////u////AAAAAP////8OAAAACw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu + My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE + ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi + bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s + VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw + BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh + bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz + LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl + bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF + eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA + Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs + dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz + cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z + CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl + c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA + AAAAAAAAPAEAAAAGDAAAABZTcGVpY2hlcm4gYWxzIChTdHJnK1MpBQgAAAAcRGV2RXhwcmVzcy5VdGls + cy5Ub29sVGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50 + CE1heFdpZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRl + ZmF1bHRCb29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRv + b2xUaXBJdGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAA + Bg8AAAAYU3BlaWNoZXJuIGRlciBQREYtRGF0ZWkuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw + SXRlbUltYWdlT3B0aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUlu + ZGV4E0ltYWdlVG9UZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHBy + ZXNzLlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAIAAAAICAIAAAAGEAAAAAAF7////xNTeXN0ZW0u + RHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgICQAAAAAAAAAAAAAABe7///8mRGV2RXhwcmVz + cy5VdGlscy5Ub29sVGlwSW1hZ2VBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAA/////w4AAAAB + DgAAAAsAAAAJEAAAAAHt////7////wAAAAAAAAAAAez////u////AAAAAP////8OAAAACw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu + My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE + ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi + bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s + VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw + BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh + bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz + LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl + bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF + eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA + Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs + dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz + cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z + CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl + c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA + AAAAAAAAPAEAAAAGDAAAABBEcnVja2VuIChTdHJnK1ApBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s + VGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdp + ZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRC + b29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ + dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAAN + RGF0ZWkgZHJ1Y2tlbgULAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMF + AAAACEltYWdlVXJpDFN2Z0ltYWdlU2l6ZQlBbGlnbm1lbnQKSW1hZ2VJbmRleBNJbWFnZVRvVGV4dERp + c3RhbmNlAQQEAAATU3lzdGVtLkRyYXdpbmcuU2l6ZQkAAAAmRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw + SW1hZ2VBbGlnbm1lbnQCAAAACAgCAAAABhAAAAAABe////8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAF + d2lkdGgGaGVpZ2h0AAAICAkAAAAAAAAAAAAAAAXu////JkRldkV4cHJlc3MuVXRpbHMuVG9vbFRpcElt + YWdlQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAP////8OAAAAAQ4AAAALAAAACRAAAAAB7f// + /+////8AAAAAAAAAAAHs////7v///wAAAAD/////DgAAAAs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu + My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE + ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi + bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s + VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw + BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh + bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz + LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl + bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF + eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA + Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs + dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz + cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z + CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl + c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA + AAAAAAAAPAEAAAAGDAAAAAlWb3JoZXJpZ2UFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVt + BwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25zCkxlZnRJbmRlbnQITWF4V2lkdGgST3du + ZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJlc3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4D + AAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFn + ZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAPAEAAAAGDwAAABlWb3JoZXJp + Z2UgU2VpdGUgYW56ZWlnZW4uBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdlT3B0 + aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4E0ltYWdlVG9U + ZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNzLlV0aWxzLlRv + b2xUaXBJbWFnZUFsaWdubWVudAIAAAAICAIAAAAGEAAAAAAF7////xNTeXN0ZW0uRHJhd2luZy5TaXpl + AgAAAAV3aWR0aAZoZWlnaHQAAAgICQAAAAAAAAAAAAAABe7///8mRGV2RXhwcmVzcy5VdGlscy5Ub29s + VGlwSW1hZ2VBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAA/////w4AAAABDgAAAAsAAAAJEAAA + AAHt////7////wAAAAAAAAAAAez////u////AAAAAP////8OAAAACw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu + My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE + ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi + bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s + VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw + BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh + bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz + LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl + bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF + eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA + Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs + dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz + cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z + CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl + c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA + AAAAAAAAPAEAAAAGDAAAAAhOw6RjaHN0ZQUIAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0H + AAAADUFsbG93SHRtbFRleHQESWNvbgxJbWFnZU9wdGlvbnMKTGVmdEluZGVudAhNYXhXaWR0aBJPd25l + ckFsbG93SHRtbFRleHQEVGV4dAQEBAAAAAEfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVhbgMA + AAATU3lzdGVtLkRyYXdpbmcuSWNvbgkAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdl + T3B0aW9ucwIAAAAICAECAAAAAfP////8////AgAAAAoJDgAAAAAAAAA8AQAAAAYPAAAAF07DpGNoc3Rl + IFNlaXRlIGFuemVpZ2VuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdlT3B0aW9u + cwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4E0ltYWdlVG9UZXh0 + RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNzLlV0aWxzLlRvb2xU + aXBJbWFnZUFsaWdubWVudAIAAAAICAIAAAAGEAAAAAAF7////xNTeXN0ZW0uRHJhd2luZy5TaXplAgAA + AAV3aWR0aAZoZWlnaHQAAAgICQAAAAAAAAAAAAAABe7///8mRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw + SW1hZ2VBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAA/////w4AAAABDgAAAAsAAAAJEAAAAAHt + ////7////wAAAAAAAAAAAez////u////AAAAAP////8OAAAACw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu + My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE + ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi + bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s + VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw + BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh + bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz + LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl + bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF + eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA + Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs + dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz + cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z + CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl + c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA + AAAAAAAAPAEAAAAGDAAAAA9GaW5kZW4gKFN0cmcrRikFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xU + aXBJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25zCkxlZnRJbmRlbnQITWF4V2lk + dGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJlc3MuVXRpbHMuRGVmYXVsdEJv + b2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0 + ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAPAEAAAAGDwAAAAtU + ZXh0IHN1Y2hlbgULAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMFAAAA + CEltYWdlVXJpDFN2Z0ltYWdlU2l6ZQlBbGlnbm1lbnQKSW1hZ2VJbmRleBNJbWFnZVRvVGV4dERpc3Rh + bmNlAQQEAAATU3lzdGVtLkRyYXdpbmcuU2l6ZQkAAAAmRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSW1h + Z2VBbGlnbm1lbnQCAAAACAgCAAAABhAAAAAABe////8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lk + dGgGaGVpZ2h0AAAICAkAAAAAAAAAAAAAAAXu////JkRldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEltYWdl + QWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAP////8OAAAAAQ4AAAALAAAACRAAAAAB7f///+// + //8AAAAAAAAAAAHs////7v///wAAAAD/////DgAAAAs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu + My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE + ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi + bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s + VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw + BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh + bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz + LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl + bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF + eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA + Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs + dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz + cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z + CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl + c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl + c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA + AAAAAAAAPAEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN + QWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdpZHRoEk93bmVyQWxs + b3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRCb29sZWFuAwAAABNT + eXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVtSW1hZ2VPcHRp + b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAApw4RuZGVybiBkZXIg + Wm9vbS1TdHVmZSBkZXMgUERGLURva3VtZW50cy4FCwAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ + dGVtSW1hZ2VPcHRpb25zBQAAAAhJbWFnZVVyaQxTdmdJbWFnZVNpemUJQWxpZ25tZW50CkltYWdlSW5k + ZXgTSW1hZ2VUb1RleHREaXN0YW5jZQEEBAAAE1N5c3RlbS5EcmF3aW5nLlNpemUJAAAAJkRldkV4cHJl + c3MuVXRpbHMuVG9vbFRpcEltYWdlQWxpZ25tZW50AgAAAAgIAgAAAAYQAAAAAAXv////E1N5c3RlbS5E + cmF3aW5nLlNpemUCAAAABXdpZHRoBmhlaWdodAAACAgJAAAAAAAAAAAAAAAF7v///yZEZXZFeHByZXNz + LlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAD/////DgAAAAEO + AAAACwAAAAkQAAAAAe3////v////AAAAAAAAAAAB7P///+7///8AAAAA/////w4AAAAL + + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmValidator.resx b/app/DD_PM_WINDREAM/frmValidator.resx index 3e6b2b7..d57e99b 100644 --- a/app/DD_PM_WINDREAM/frmValidator.resx +++ b/app/DD_PM_WINDREAM/frmValidator.resx @@ -319,7 +319,7 @@ DocumentViewerValidator
- DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.4.4.0, Culture=neutral, PublicKeyToken=null + DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=null SplitContainer1.Panel2 @@ -870,10 +870,10 @@ Tahoma, 9.75pt - + Speichern - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgVG87U2F2ZdSrmXIAAACI @@ -882,7 +882,7 @@ kYTKSPXLFg4VWCLlkKI7AOsCiV3t5qKnAAAAAElFTkSuQmCC - + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgVG87U2F2ZdSrmXIAAAEG @@ -1038,6 +1038,29 @@ LDAuNi0wLjQsMS0xLDFzLTEtMC40LTEtMVYxMGgtMnYxMyAgIGMwLDEuNywxLjMsMywzLDNzMy0xLjMs My0zVjdjMC0yLjgtMi4yLTUtNS01UzgsNC4yLDgsN3YxNmMwLDMuOSwzLjEsNyw3LDdzNy0zLjEsNy03 VjEwSDIweiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + BarButtonItem6 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOsCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iRXhwb3J0Ij4NCiAgICA8cGF0aCBkPSJNMTAsMTJINlY2aDRWMTJ6IE0yMiwxMnY2 + djljMCwwLjYtMC40LDEtMSwxSDFjLTAuNiwwLTEtMC40LTEtMVY3YzAtMC42LDAuNC0xLDEtMWgzdjho + MTR2LTJIMjJ6IE0xOCwxOEg0ICAgdjZoMTRWMTh6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPHBvbHln + b24gcG9pbnRzPSIxNiwxMCAyNCwxMCAyNCwxNCAzMiw4IDI0LDIgMjQsNiAxNiw2ICAiIGNsYXNzPSJH + cmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== @@ -1599,10 +1622,10 @@ DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - BbtnItm + + BbtnitmSave - + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -1689,6 +1712,12 @@ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + barbtnitmExport + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + RibbonPageConversations @@ -1749,6 +1778,12 @@ DevExpress.XtraBars.Ribbon.RibbonPage, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + FolderBrowserDialog1 + + + System.Windows.Forms.FolderBrowserDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + frmValidator @@ -2070,4 +2105,7 @@ RibbonPage2 + + 1128, 17 + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 9a808e7..d78371e 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -44,7 +44,7 @@ Public Class frmValidator Dim AnzDoks As Integer Dim docCounter As Integer = 1 'Anzahl der Validierungsdokumente - Dim Anzahl_ValDoks As Integer + Dim Amount_Docs2Validate As Integer 'Anzahl der validierten Dokumente Dim Anzahl_validierte_Dok As Integer = 0 Dim me_closing As Boolean = False @@ -66,6 +66,8 @@ Public Class frmValidator Private DTConversations As DataTable Private DTDYNAMIC_RIGHTS As DataTable + Private DT_AdditionalSearches_Resultset_Docs As DataTable + Private Right_Conversation_Add As Boolean = False Private Right_Conversation_Stop As Boolean = False Private Right_Conversation_Message As Boolean = False @@ -121,15 +123,25 @@ Public Class frmValidator If My.Settings.frmValidatorPosition.IsEmpty = False Then If My.Settings.frmValidatorPosition.X > 0 And My.Settings.frmValidatorPosition.Y > 0 Then Location = My.Settings.frmValidatorPosition + Else + Try + LOGGER.Debug($"!! Invalid PositionData X({My.Settings.frmValidatorPosition.X.ToString}), Y({My.Settings.frmValidatorPosition.Y})") + Catch ex As Exception + + End Try + End If End If If My.Settings.frmValidatorSize.IsEmpty = False Then - If My.Settings.frmValidatorWindowState = "Normal" Then - Size = My.Settings.frmValidatorSize - Else - Me.WindowState = FormWindowState.Maximized + If My.Settings.frmValidatorSize.Width > 0 And My.Settings.frmValidatorSize.Height > 0 Then + If My.Settings.frmValidatorWindowState = "Normal" Then + Size = My.Settings.frmValidatorSize + Else + Me.WindowState = FormWindowState.Maximized + End If End If + End If Catch ex As Exception LOGGER.Info($"Error loading position: {ex.Message}") @@ -137,15 +149,12 @@ Public Class frmValidator Dim _step = 0 Try - DocumentViewerValidator.Init(LOGCONFIG, GDPICTURE_LICENSE) Catch ex As Exception LOGGER.Error(ex) End Try Try _step = 1 - - _step = 2 DTVWCONTROL_INDEX.Clear() @@ -225,14 +234,14 @@ Public Class frmValidator bbtniNext.Visibility = DevExpress.XtraBars.BarItemVisibility.Always If CURRENT_JUMP_DOC_GUID <> 0 Then bbtniNext.Visibility = DevExpress.XtraBars.BarItemVisibility.Never - Anzahl_ValDoks = 1 + Amount_Docs2Validate = 1 Else - Anzahl_ValDoks = 0 + Amount_Docs2Validate = 0 End If Next - If LOG_ERRORS_ONLY = False Then + If DEBUG = False Then LOGGER.Info(" >> profiledata saved:") LOGGER.Info(" >> WD_Search: " & WD_Search) LOGGER.Info(" >> finalProfile: " & finalProfile) @@ -265,12 +274,11 @@ Public Class frmValidator RibbonPageConversations.Visible = False If IDB_ACTIVE Then Dim oSQL = $"SELECT * FROM [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] ({CURRENT_DOC_ID},{USER_ID})" - DTDYNAMIC_RIGHTS = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB_READ, "FNIDB_OBJECT_DYNAMIC_CONFIG") + DTDYNAMIC_RIGHTS = Database_IDB.GetDatatable(oSQL) ', CONNECTION_STRING_IDB, "FNIDB_OBJECT_DYNAMIC_CONFIG") RibbonPageGroupConv1.Enabled = False Dim oView As DataView = New DataView(DTDYNAMIC_RIGHTS) - Debug.WriteLine(oView.Count, "oView before") oView.RowFilter = "CONF_TITLE like '%CONVERSATION_RIGHT%'" - Debug.WriteLine(oView.Count, "oView after") + Console.WriteLine(oView.Count, "oView after") If oView.Count > 0 Then LOGGER.Debug("CONVERSATION-RIGHTS EXISTING") RibbonPageConversations.Visible = True @@ -324,9 +332,11 @@ Public Class frmValidator Else SplitContainer2_DV_Chat.Collapsed = True - End If + + LOGGER.Debug("frmValidation_Load finished!") + Catch ex As Exception LOGGER.Error(ex) MsgBox("Error LOADING Profile-Data1:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:") @@ -411,14 +421,14 @@ Public Class frmValidator End Try My.Settings.frmValidatorSize = Me.Size My.Settings.Save() - If INACTIVITY_DURATION <> 0 Then frmMain.Timer_Inactivity_Reset_Disable() + If INACTIVITY_DURATION <> 0 Then frmMain.Timer_Inactivity_Reset_Disable("FormClosing") Catch ex As Exception LOGGER.Error(ex) End Try Try - Dim oDel = $"DELETE FROM TBPM_FILES_USER_NOT_INDEXED WHERE UPPER(USR_NAME) = UPPER('{USER_USERNAME}')" - ClassDatabase.Execute_non_Query(oDel) + Dim oDel = $"DELETE FROM TBPM_DOCWALKOVER WHERE UserID = {USER_ID}" + Database_ECM.ExecuteNonQuery(oDel) Catch ex As Exception LOGGER.Error(ex) MsgBox("Error in delete jumped files:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) @@ -483,23 +493,18 @@ Public Class frmValidator If Not IsNothing(oDatatableDocResult) Then If oDatatableDocResult.Rows.Count > 0 Then oDocResultsExist = True + DT_AdditionalSearches_Resultset_Docs = oDatatableDocResult End If End If End If If oDataResultsExist = True Or oDocResultsExist = True Then bbtniRefreshSearches.Visibility = DevExpress.XtraBars.BarItemVisibility.Always - If RibbonPageCustTitle <> "" Then - RibbonPageCust.Text = RibbonPageCustTitle - RibbonPageCust.Visible = True - If RibbonPageCustItm1 <> "" Then - BarButtonItemAttmt.Caption = RibbonPageCustItm1 - BarButtonItemAttmt.Visibility = DevExpress.XtraBars.BarItemVisibility.Always - End If - Else - RibbonPageCust.Visible = False - End If + If RibbonPageCustItm1 <> "" Then + BarButtonItemAttmt.Caption = RibbonPageCustItm1 + BarButtonItemAttmt.Visibility = DevExpress.XtraBars.BarItemVisibility.Always + End If Try _frmValidatorSearch.Show() @@ -1027,7 +1032,7 @@ Public Class frmValidator 'LOGGER.Error(ex) Dim omsg = $"Unexpected Error in Create_Controls (Select Case) [{oControlInfo}] - ERROR: {ex.Message}" LOGGER.Warn(omsg) - If LOG_ERRORS_ONLY = False Then MsgBox(omsg, MsgBoxStyle.Critical, "Attention:") + If DEBUG = False Then MsgBox(omsg, MsgBoxStyle.Critical, "Attention:") End Try @@ -1043,7 +1048,7 @@ Public Class frmValidator 'LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Create_Controls") LOGGER.Warn($"Unexpected Error in Create_Controls [{oControlInfo}] Line: {st.GetFrame(0).GetFileLineNumber().ToString} - {ex.Message}") - If LOG_ERRORS_ONLY = False Then MsgBox("Error CreateControls: " & ex.Message, MsgBoxStyle.Critical, "Attention:") + If DEBUG = False Then MsgBox("Error CreateControls: " & ex.Message, MsgBoxStyle.Critical, "Attention:") allgFunk.Insert_LogEntry($"ERROR CreateControls >> {ex.Message}") End Try End Sub @@ -1211,7 +1216,7 @@ Public Class frmValidator End If oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, True) Override_SQLCommand = clsPatterns.ReplaceAllValues(Override_SQLCommand, pnldesigner, True) - Dim oDT_ACTIONS As DataTable = ClassDatabase.Return_Datatable(oSQL, "onCustomButtonClick") + Dim oDT_ACTIONS As DataTable = Database_ECM.GetDatatable(oSQL) ', "onCustomButtonClick") If IsNothing(oDT_ACTIONS) Then MsgBox("Something went wrong in custom action - Please check Your log!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE) Exit Sub @@ -1292,7 +1297,7 @@ Public Class frmValidator If oResult1 = True Then Dim oREsult As Boolean = True If Override_SQLCommand <> "" Then - oREsult = ClassDatabase.Execute_non_Query(Override_SQLCommand) + oREsult = Database_ECM.ExecuteNonQuery(Override_SQLCommand) End If If oREsult = True Then Reload_Controls(oControlName) @@ -1307,7 +1312,7 @@ Public Class frmValidator If result = MsgBoxResult.Yes Then Dim oREsult As Boolean = True If Override_SQLCommand <> "" Then - oREsult = ClassDatabase.Execute_non_Query(Override_SQLCommand) + oREsult = Database_ECM.ExecuteNonQuery(Override_SQLCommand) End If If oREsult = True Then SetStatusLabel("Refreshed single control", "Yellow") @@ -1341,7 +1346,7 @@ Public Class frmValidator Try Dim CONTROL_ID = DirectCast(dgv.Tag, ClassControlCreator.ControlMetadata).Guid Dim sql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, dgv.Name) - Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "onDGVRowValidating") + Dim DT As DataTable = Database_ECM.GetDatatable(sql) ', "onDGVRowValidating") If Not IsNothing(DT) And DT.Rows.Count > 0 Then For Each ROW As DataRow In DT.Rows Try @@ -2045,7 +2050,7 @@ Public Class frmValidator Try Dim CONTROL_ID = DirectCast(oCombobox.Tag, ClassControlCreator.ControlMetadata).Guid Dim sql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} AND SQL_UEBERPRUEFUNG LIKE '%{1}%'", CURRENT_ProfilGUID, oCombobox.Name) - Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "OnCmbselectedIndex") + Dim DT As DataTable = Database_ECM.GetDatatable(sql) ', "OnCmbselectedIndex") If Not IsNothing(DT) And DT.Rows.Count > 0 Then If _dependingControl_in_action = True Then Exit Sub @@ -2325,12 +2330,18 @@ Public Class frmValidator If PROFIL_sortbynewest = True Then oBIT = 1 End If - Dim oSQL = $"SELECT * from [dbo].[FNPM_GET_NEXT_DOC_INFO] ({CURRENT_ProfilGUID},{oBIT},{CURRENT_DOC_GUID},'{USER_USERNAME}')" + Dim oSQL = $"EXEC PRPM_GET_NEXT_DOC_INFO {CURRENT_ProfilGUID},{CURRENT_DOC_ID},{USER_ID}" - Dim oDT As DataTable = ClassDatabase.Return_Datatable(oSQL, "Get_Next_GUID") + Dim oDT As DataTable = Database_ECM.GetDatatable(oSQL) ', "Get_Next_GUID") If oDT.Rows.Count > 0 Then oNewGUID = oDT.Rows(0).Item(0) CURRENT_DOC_ID = oDT.Rows(0).Item(1) + Try + Amount_Docs2Validate = oDT.Rows(0).Item(2) + Catch ex As Exception + LOGGER.Warn("Amount_Docs2Validate Error: " & ex.Message) + End Try + Else LOGGER.Info(" >> Attention: in GetNextGUID - Could not get a GUID(1)") oNewGUID = 0 @@ -2394,14 +2405,14 @@ Public Class frmValidator Dim oResult As String Dim oSQL = $"SELECT dbo.FNPM_GET_FILEPATH ({CURRENT_DOC_GUID},{_CheckStandard})" - oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "GetDocPathWindows1") + oResult = Database_ECM.GetScalarValue(oSQL) ', CONNECTION_STRING_ECM, "GetDocPathWindows1") LOGGER.Debug($"Checking file 0 [{oResult}] exists?...") WMDocPathWindows = String.Empty If File.Exists(oResult) = False Then DocPathWindows = oResult LOGGER.Info($"GetWMDocPathWindows returned false [{oResult}] - trying with standard again...") oSQL = $"SELECT [dbo].[FNPM_GET_FILEPATH] ({CURRENT_DOC_GUID},1)" - oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "GetDocPathWindows2") + oResult = Database_ECM.GetScalarValue(oSQL) ', CONNECTION_STRING_ECM, "GetDocPathWindows2") LOGGER.Debug($"Checking file 1[{oResult}] exists?...") If File.Exists(oResult) = False Then LOGGER.Info($"GetWMDocPathWindows FileExists2 also returned false [{oResult}]!") @@ -2433,7 +2444,7 @@ Public Class frmValidator oSQl = oSQl.Replace("@DOC_GUID", CURRENT_DOC_GUID) oSQl = oSQl.Replace("@DOC_ID", CURRENT_DOC_ID) oSQl = oSQl.Replace("@DocID", CURRENT_DOC_ID) - IDB_DT_DOC_DATA = ClassDatabase.Return_Datatable(oSQl, "Load_IDB_DOC_DATA") + IDB_DT_DOC_DATA = Database_ECM.GetDatatable(oSQl) Catch ex As Exception LOGGER.Error(ex) End Try @@ -2502,11 +2513,15 @@ Public Class frmValidator 'If WMDocPathWindows <> String.Empty Then ' >> >> >> >> >> >>##### Das Dokument in Bearbeitung nehmen ########################### Dim sql = $"UPDATE TBPM_PROFILE_FILES SET IN_WORK = 1, IN_WORK_WHEN = GETDATE(), WORK_USER = '{USER_USERNAME}' WHERE GUID = {CURRENT_DOC_GUID}" - ClassDatabase.Execute_non_Query(sql) + Database_ECM.ExecuteNonQuery(sql) ' ############ Infos eintragen ################# ' txtDateipfad.Text = Document_Path - bsiInformation.Caption = "Datei " & docCounter.ToString & " von " & Anzahl_ValDoks.ToString + Dim omsg = $"Verbleibende Belege: {Amount_Docs2Validate}" + If USER_LANGUAGE <> "de-DE" Then + omsg = $"Remaining documents: {omsg}" + End If + bsiInformation.Caption = omsg bsiDocID.Caption = "Document-ID: " & CURRENT_DOC_ID & " - GUID: " & CURRENT_DOC_GUID LOGGER.Debug("AllDocInfo created...") @@ -3541,7 +3556,7 @@ Public Class frmValidator If IDB_ACTIVE = True Then Try Dim oSQL = $"select Attribut, TERM_VALUE from VWIDB_VALUE_TEXT WHERE LANG_CODE = '{USER_LANGUAGE}' AND IDB_OBJ_ID = {CURRENT_DOC_ID} AND Attribut in ('PM_Info1','PM_Info2') ORDER BY Attribut" - Dim oDTINFO As DataTable = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB_READ) + Dim oDTINFO As DataTable = Database_IDB.GetDatatable(oSQL) If Not IsNothing(oDTINFO) Then Dim oColor As System.Drawing.Color If oDTINFO.Rows.Count > 0 Then @@ -3609,6 +3624,7 @@ Public Class frmValidator End If + 'Flag setzen das Indexe geladen sind _Indexe_Loaded = True Load_Additional_Searches() @@ -3640,6 +3656,50 @@ Public Class frmValidator End If FormLoaded = True + Try + If USER_GHOST_MODE_ACTIVE Then + BbtnitmSave.Enabled = False + btnSave.Enabled = False + Else + BbtnitmSave.Enabled = True + btnSave.Enabled = True + End If + Catch ex As Exception + + End Try + Try + If RibbonPageCustTitle <> "" Then + RibbonPageCust.Text = RibbonPageCustTitle + RibbonPageCust.Visible = True + + Else + RibbonPageCust.Visible = False + End If + If Not IsNothing(WMDocPathWindows) Then + If ButtonExport2Folder_Caption <> "" And WMDocPathWindows <> "" Then + If File.Exists(WMDocPathWindows) Then + barbtnitmExport.Caption = ButtonExport2Folder_Caption + barbtnitmExport.Visibility = DevExpress.XtraBars.BarItemVisibility.Always + Try + If ButtonExport2Folder_RootFolder <> "" Then + If Directory.Exists(ButtonExport2Folder_RootFolder) Then + FolderBrowserDialog1.RootFolder = ButtonExport2Folder_RootFolder + Else + LOGGER.Warn($"### Dis/Enabale Export2Path - RootFolder {ButtonExport2Folder_RootFolder} not existing or accessible!###") + End If + + End If + Catch ex As Exception + LOGGER.Warn($"### Error Dis/Enabale Export2Path: {ex.Message} !###") + End Try + + End If + End If + End If + Catch ex As Exception + LOGGER.Error(ex) + End Try + LOGGER.Debug("frmValidation_Shown finished!") End Sub Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click @@ -3684,7 +3744,7 @@ Public Class frmValidator Dim oSQL = PROFIL_FINISH_SQL oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, True) - Dim oDT_ACTIONS As DataTable = ClassDatabase.Return_Datatable(oSQL, "btnFinish_continue") + Dim oDT_ACTIONS As DataTable = Database_ECM.GetDatatable(oSQL) If IsNothing(oDT_ACTIONS) Then MsgBox("Something went wrong in btnFinish_continue - Please check Your log and inform the workflow-team!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE) Return False @@ -3855,68 +3915,68 @@ Public Class frmValidator oResult(0) = oValue LOGGER.Debug($"oIndexType {oIndexType.ToString}") - If oIndexType > 4000 And oIndexType < 5000 Then + If oIndexType > 4000 And oIndexType <5000 Then 'If dr.Item("INDEXNAME").ToString.StartsWith("[%VKT") Then - ' Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME")) - 'Hier muss nun separat as Vektorfeld indexiert werden - If WMIndexVectofield(oValue, oFinalIndexRow.Item("INDEXNAME"), oFinalIndexRow.Item("PREVENT_DUPLICATES"), oFinalIndexRow.Item("ALLOW_NEW_VALUES")) = False Then - LOGGER.Debug("Final Vektorindex '" & oFinalIndexRow.Item("INDEXNAME").ToString & "' has beens et suxxessfully!") - Else - errormessage = "Error in final indexing:" & vbNewLine & idxerr_message - My.Settings.Save() - frmError.ShowDialog() - oErrorOcurred = True - ItemWorked = False - End If - Else - LOGGER.Debug("Now the final indexing...") - If oValue.ToUpper = "SQL-Command".ToUpper Then - MsgBox("Something went wrong while final-indexing. Check Your log and inform the admin-team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE) - LOGGER.Warn("Something went wrong while final-indexing") - Exit For - End If - Dim oFIResult As Boolean = False - If IDB_ACTIVE = False Then - If Indexiere_File(CURRENT_WMFILE, oFinalIndexRow.Item("INDEXNAME"), oResult) = True Then - oFIResult = True - LOGGER.Debug("FINALER INDEX '" & oFinalIndexRow.Item("INDEXNAME") & "' WURDE ERFOLGREICH GESETZT") + ' Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME")) + 'Hier muss nun separat as Vektorfeld indexiert werden + If WMIndexVectofield(oValue, oFinalIndexRow.Item("INDEXNAME"), oFinalIndexRow.Item("PREVENT_DUPLICATES"), oFinalIndexRow.Item("ALLOW_NEW_VALUES")) = False Then + LOGGER.Debug("Final Vektorindex '" & oFinalIndexRow.Item("INDEXNAME").ToString & "' has beens et suxxessfully!") + Else + errormessage = "Error in final indexing:" & vbNewLine & idxerr_message + My.Settings.Save() + frmError.ShowDialog() + oErrorOcurred = True + ItemWorked = False + End If + Else + LOGGER.Debug("Now the final indexing...") + If oValue.ToUpper = "SQL-Command".ToUpper Then + MsgBox("Something went wrong while final-indexing. Check Your log and inform the admin-team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE) + LOGGER.Warn("Something went wrong while final-indexing") + Exit For + End If + Dim oFIResult As Boolean = False + If IDB_ACTIVE = False Then + If Indexiere_File(CURRENT_WMFILE, oFinalIndexRow.Item("INDEXNAME"), oResult) = True Then + oFIResult = True + LOGGER.Debug("FINALER INDEX '" & oFinalIndexRow.Item("INDEXNAME") & "' WURDE ERFOLGREICH GESETZT") - 'Nun das Logging - If PROFIL_LOGINDEX <> "" Then - Dim logstr = Return_LOGString(oValue, "DDFINALINDEX", oFinalIndexRow.Item("INDEXNAME")) - WMIndexVectofield(logstr, PROFIL_LOGINDEX) - End If - End If - Else - If IDBData.SetVariableValue(oFinalIndexRow.Item("INDEXNAME"), oValue) = True Then - oFIResult = True - LOGGER.Debug($"Final index IDB '{oFinalIndexRow.Item("INDEXNAME")}' was updated with [{oValue.ToString}]") - End If - End If - If oFIResult = False Then - errormessage = "Error in final indexing:" & vbNewLine & idxerr_message - My.Settings.Save() - frmError.ShowDialog() - oErrorOcurred = True - ItemWorked = False - End If - - End If - If oErrorOcurred = True Then - ItemWorked = False - Exit For - End If - Next + 'Nun das Logging + If PROFIL_LOGINDEX <> "" Then + Dim logstr = Return_LOGString(oValue, "DDFINALINDEX", oFinalIndexRow.Item("INDEXNAME")) + WMIndexVectofield(logstr, PROFIL_LOGINDEX) + End If End If - Catch ex As Exception - LOGGER.Warn($"Error in finalIndexing: {ex.Message}") + Else + If IDBData.SetVariableValue(oFinalIndexRow.Item("INDEXNAME"), oValue) = True Then + oFIResult = True + LOGGER.Debug($"Final index IDB '{oFinalIndexRow.Item("INDEXNAME")}' was updated with [{oValue.ToString}]") + End If + End If + If oFIResult = False Then + errormessage = "Error in final indexing:" & vbNewLine & idxerr_message + My.Settings.Save() + frmError.ShowDialog() + oErrorOcurred = True + ItemWorked = False + End If + + End If + If oErrorOcurred = True Then + ItemWorked = False + Exit For + End If + Next + End If + Catch ex As Exception + LOGGER.Warn($"Error in finalIndexing: {ex.Message}") oErrorOcurred = True End Try End If Try ''Wenn kein Fehler nach der finalen Indexierung gesetzt wurde If Override = True And Override_SQLCommand <> "" Then - ClassDatabase.Execute_non_Query(Override_SQLCommand) + Database_ECM.ExecuteNonQuery(Override_SQLCommand) End If If oErrorOcurred = False Then @@ -4020,14 +4080,14 @@ Public Class frmValidator End If End If Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, USER_USERNAME, Environment.MachineName, WORK_HISTORY_ENTRY) - ClassDatabase.Execute_non_Query(ins) + Database_ECM.ExecuteNonQuery(ins) Dim oFIsql As String 'Close_document_viewer() If WMDocPathWindows.ToLower.EndsWith(".pdf") Then If Not IsNothing(WORK_HISTORY_ENTRY) Then If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then oFIsql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE GUID = (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = {0} AND DOC_ID = {1})", CURRENT_ProfilGUID, CURRENT_DOC_ID) - Dim DT_ENTRY As DataTable = ClassDatabase.Return_Datatable(oFIsql, "Finish_WFStep2") + Dim DT_ENTRY As DataTable = Database_ECM.GetDatatable(oFIsql) ', "Finish_WFStep2") If Not IsNothing(DT_ENTRY) Then If DT_ENTRY.Rows.Count = 1 Then Dim AnnotationString = DT_ENTRY.Rows(0).Item("WORKED_WHEN") & " " & DT_ENTRY.Rows(0).Item("WORKED_BY") & ": " & DT_ENTRY.Rows(0).Item("STATUS_COMMENT") @@ -4038,7 +4098,7 @@ Public Class frmValidator Dim oAnnotateAllWHEs = CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES") If CBool(oAnnotateAllWHEs) = True Then oFIsql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE DOC_ID = {1} ORDER BY GUID", CURRENT_ProfilGUID, CURRENT_DOC_ID) - Dim DT_ENTRIES As DataTable = ClassDatabase.Return_Datatable(oFIsql, "Finish_WFStep3") + Dim DT_ENTRIES As DataTable = Database_ECM.GetDatatable(oFIsql) ', "Finish_WFStep3") If Not IsNothing(DT_ENTRIES) Then If DT_ENTRIES.Rows.Count > 0 Then Dim AnnotationString As String = "" @@ -4092,7 +4152,7 @@ Public Class frmValidator Else LOGGER.Info($"Overriding all in action for DocID: {CURRENT_DOC_ID} - ProfileID: {CURRENT_ProfilGUID}") If Override_SQLCommand <> "" Then - If ClassDatabase.Execute_non_Query(Override_SQLCommand) = False Then + If Database_ECM.ExecuteNonQuery(Override_SQLCommand) = False Then oErrorOcurred = True End If End If @@ -4103,12 +4163,12 @@ Public Class frmValidator Else 'Das Dokument freigeben und as editiert markieren 'Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", USER_USERNAME, CURRENT_DOC_GUID) - 'ClassDatabase.Execute_non_Query(sql) + 'Database_ECM.ExecuteNonQuery(sql) Anzahl_validierte_Dok += 1 'tstrlbl_Info.Text = "Anzahl Dateien: " & TBPM_PROFILE_FILESTableAdapter.cmdGet_Anzahl(PROFIL_ID) LOGGER.Debug("Validation of document ended successfully!") Dim oPROCSQL = $"EXEC PRPM_CHECK_NEXT_WF {CURRENT_DOC_GUID}" - ClassDatabase.Execute_non_Query(oPROCSQL) + Database_ECM.ExecuteNonQuery(oPROCSQL) End If If CURRENT_JUMP_DOC_GUID <> 0 Then @@ -5136,7 +5196,7 @@ Public Class frmValidator Free_File() Dim oSQL = $"EXECUTE PRPM_FILES_NOT_INDEXED '{USER_USERNAME}',{CURRENT_ProfilGUID},'{WMDocPathWindows}',{CURRENT_DOC_GUID}" - ClassDatabase.Execute_non_Query(oSQL) + Database_ECM.ExecuteNonQuery(oSQL) LOGGER.Debug($"Skipped DocGUID {CURRENT_DOC_GUID}") Load_Next_Document(False) @@ -5148,7 +5208,7 @@ Public Class frmValidator Private Function Free_File() Try Dim sql = $"UPDATE TBPM_PROFILE_FILES SET EDIT = 0, IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID}" - Return ClassDatabase.Execute_non_Query(sql) + Return Database_ECM.ExecuteNonQuery(sql) Catch ex As Exception allgFunk.Insert_LogEntry($"ERROR Free_File >> {ex.Message}") LOGGER.Error(ex) @@ -5170,8 +5230,8 @@ Public Class frmValidator Application.DoEvents() FreeFile() 'Aus der Tabelle löschen - Dim oDelete = $"DELETE FROM TBPM_PROFILE_FILES WHERE (GUID = {CURRENT_DOC_GUID})" - If ClassDatabase.Execute_non_Query(oDelete) = True Then + Dim oDelete = $"DELETE FROM TBPM_PROFILE_FILES WHERE GUID = {CURRENT_DOC_GUID}" + If Database_ECM.ExecuteNonQuery(oDelete) = True Then Dim oDeleteResult As Boolean = False If IDB_ACTIVE = False Then oDeleteResult = Delete_WMFile() @@ -5277,6 +5337,9 @@ Public Class frmValidator If e.KeyCode = Keys.F4 Then Datei_ueberspringen() ElseIf e.KeyCode = Keys.F2 Then + If USER_GHOST_MODE_ACTIVE Then + Exit Sub + End If btnSave.Enabled = False Finish_WFStep() btnSave.Enabled = True @@ -5398,6 +5461,11 @@ Public Class frmValidator Private Sub bbtniNext_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniNext.ItemClick If ForceGridValidation() = True Then Datei_ueberspringen() + Try + btnSave.Text = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("frmValidator.ValidationButton") + Catch ex As Exception + + End Try End If End Sub @@ -5416,7 +5484,7 @@ Public Class frmValidator load_viewer() End Sub - Private Sub BbtnItm_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BbtnItm.ItemClick + Private Sub BbtnItm_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BbtnitmSave.ItemClick If ForceGridValidation() = True Then Dim oRESULT As String @@ -5427,6 +5495,8 @@ Public Class frmValidator End If If Check_UpdateIndexe() = True Then SetStatusLabel($"Data saved", "LimeGreen") + Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, USER_USERNAME, Environment.MachineName, "Manual Save via button") + Database_ECM.ExecuteNonQuery(ins) Else SetStatusLabel($"Error while saving data!", "Red") End If @@ -5480,7 +5550,7 @@ Public Class frmValidator For Each oRow As DataRow In DTDYNAMIC_RIGHTS.Rows If oRow.Item("CONF_TITLE") = "NEW_CONVERSATION_USER_SELECT" Then Dim oSQL = oRow.Item("CONF_VALUE") - oDTUSER = ClassDatabase.Return_Datatable(oSQL) + oDTUSER = Database_IDB.GetDatatable(oSQL) End If Next If Not IsNothing(oDTUSER) Then @@ -5510,7 +5580,7 @@ Public Class frmValidator result = MessageBox.Show(oQuestion.Rows(0).Item("STRING1").ToString, oQuestion.Rows(0).Item("STRING2").ToString, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) If result = MsgBoxResult.Yes Then Dim oSQL = $"EXEC PRIDB_END_CONVERSATION {ChatControl1.CurrentConversationID}, '{USER_USERNAME}', '{USER_LANGUAGE}'" - If ClassDatabase.Execute_non_Query_ConStr(oSQL, CONNECTION_STRING_IDB_WRITE, "EXEC PRIDB_END_CONVERSATION") = True Then + If Database_IDB.ExecuteNonQuery(oSQL) = True Then btnitemConversationEnd.Enabled = False SplitContainer2_DV_Chat.Collapsed = True btnitemConversationEnd.Enabled = True @@ -5569,4 +5639,40 @@ Public Class frmValidator Private Sub BarButtonItem6_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemAttmt.ItemClick Click_Additional_Searches() End Sub + + Private Sub barbtnitmExport_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles barbtnitmExport.ItemClick + If File.Exists(WMDocPathWindows) Then + Try + Dim oFilenameOnly As String + Dim oTargetPath As String + If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then + Dim oCount As Integer = 0 + oFilenameOnly = Path.GetFileName(WMDocPathWindows) + oTargetPath = FolderBrowserDialog1.SelectedPath & "\" & oFilenameOnly + File.Copy(WMDocPathWindows, oTargetPath) + oCount += 1 + + If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then + For Each oFileRecord As DataRow In DT_AdditionalSearches_Resultset_Docs.Rows + Dim oFromFilename = oFileRecord.Item("FULL_FILENAME") + If File.Exists(oFromFilename) Then + oFilenameOnly = Path.GetFileName(oFromFilename) + oTargetPath = FolderBrowserDialog1.SelectedPath & "\" & oFilenameOnly + File.Copy(oFromFilename, oTargetPath) + oCount += 1 + End If + Next + End If + MsgBox($"[{oCount}] file/s successfully exported to target [{FolderBrowserDialog1.SelectedPath}]!", MsgBoxStyle.Information, ADDITIONAL_TITLE) + End If + Catch ex As Exception + LOGGER.Error(ex) + MsgBox("Could not move file to target: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, ADDITIONAL_TITLE) + End Try + + Else + MsgBox("Workflow-Document seems not to exist. Check Your log.", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE) + End If + + End Sub End Class \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.Designer.vb b/app/DD_PM_WINDREAM/frmValidatorSearch.Designer.vb index e718d34..f108c20 100644 --- a/app/DD_PM_WINDREAM/frmValidatorSearch.Designer.vb +++ b/app/DD_PM_WINDREAM/frmValidatorSearch.Designer.vb @@ -48,11 +48,6 @@ Partial Class frmValidatorSearch Me.GridControlDocSearch5 = New DevExpress.XtraGrid.GridControl() Me.GridViewDocSearch5 = New DevExpress.XtraGrid.Views.Grid.GridView() Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer() - Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() - Me.ToolStripDropDownButtonFile = New System.Windows.Forms.ToolStripDropDownButton() - Me.DateiÖffnenToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() - Me.EigenschaftenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ToolStripButtonRefreshSearches = New System.Windows.Forms.ToolStripButton() Me.SplitContainerSearches = New System.Windows.Forms.SplitContainer() Me.XtraTabControlSQL = New DevExpress.XtraTab.XtraTabControl() Me.XtraTabPageSearch1 = New DevExpress.XtraTab.XtraTabPage() @@ -75,6 +70,11 @@ Partial Class frmValidatorSearch Me.ToolStrip2 = New System.Windows.Forms.ToolStrip() Me.tslblDocID = New System.Windows.Forms.ToolStripLabel() Me.tslblState = New System.Windows.Forms.ToolStripLabel() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripDropDownButtonFile = New System.Windows.Forms.ToolStripDropDownButton() + Me.DateiÖffnenToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.EigenschaftenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripButtonRefreshSearches = New System.Windows.Forms.ToolStripButton() Me.ContextMenuStripWMFile = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.EigenschaftenDateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DateiÖffnenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() @@ -103,7 +103,6 @@ Partial Class frmValidatorSearch Me.XtraTabPageDoc5.SuspendLayout() CType(Me.GridControlDocSearch5, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridViewDocSearch5, System.ComponentModel.ISupportInitialize).BeginInit() - Me.ToolStrip1.SuspendLayout() CType(Me.SplitContainerSearches, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerSearches.Panel1.SuspendLayout() Me.SplitContainerSearches.Panel2.SuspendLayout() @@ -127,6 +126,7 @@ Partial Class frmValidatorSearch CType(Me.GridViewSearch5, System.ComponentModel.ISupportInitialize).BeginInit() Me.StatusStrip1.SuspendLayout() Me.ToolStrip2.SuspendLayout() + Me.ToolStrip1.SuspendLayout() Me.ContextMenuStripWMFile.SuspendLayout() Me.ContextMenuStripSQL.SuspendLayout() Me.SuspendLayout() @@ -135,10 +135,10 @@ Partial Class frmValidatorSearch ' resources.ApplyResources(Me.SplitContainerControlDoc, "SplitContainerControlDoc") Me.SplitContainerControlDoc.Name = "SplitContainerControlDoc" - Me.SplitContainerControlDoc.Panel1.Controls.Add(Me.XtraTabControlDocs) resources.ApplyResources(Me.SplitContainerControlDoc.Panel1, "SplitContainerControlDoc.Panel1") - Me.SplitContainerControlDoc.Panel2.Controls.Add(Me.DocumentViewer1) + Me.SplitContainerControlDoc.Panel1.Controls.Add(Me.XtraTabControlDocs) resources.ApplyResources(Me.SplitContainerControlDoc.Panel2, "SplitContainerControlDoc.Panel2") + Me.SplitContainerControlDoc.Panel2.Controls.Add(Me.DocumentViewer1) Me.SplitContainerControlDoc.SplitterPosition = 351 ' 'XtraTabControlDocs @@ -150,13 +150,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageDoc1 ' + resources.ApplyResources(Me.XtraTabPageDoc1, "XtraTabPageDoc1") Me.XtraTabPageDoc1.Controls.Add(Me.GridControlDocSearch1) Me.XtraTabPageDoc1.Name = "XtraTabPageDoc1" - resources.ApplyResources(Me.XtraTabPageDoc1, "XtraTabPageDoc1") ' 'GridControlDocSearch1 ' resources.ApplyResources(Me.GridControlDocSearch1, "GridControlDocSearch1") + Me.GridControlDocSearch1.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch1.EmbeddedNavigator.AccessibleDescription") + Me.GridControlDocSearch1.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch1.EmbeddedNavigator.AccessibleName") + Me.GridControlDocSearch1.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlDocSearch1.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlDocSearch1.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlDocSearch1.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlDocSearch1.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlDocSearch1.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlDocSearch1.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlDocSearch1.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch1.EmbeddedNavigator.ToolTip") + Me.GridControlDocSearch1.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlDocSearch1.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch1.EmbeddedNavigator.ToolTipTitle") GridLevelNode1.RelationName = "Level1" Me.GridControlDocSearch1.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode1}) Me.GridControlDocSearch1.MainView = Me.GridViewDocSearch1 @@ -169,6 +181,7 @@ Partial Class frmValidatorSearch Me.GridViewDocSearch1.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewDocSearch1.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewDocSearch1.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewDocSearch1, "GridViewDocSearch1") Me.GridViewDocSearch1.GridControl = Me.GridControlDocSearch1 Me.GridViewDocSearch1.Name = "GridViewDocSearch1" Me.GridViewDocSearch1.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -182,13 +195,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageDoc2 ' + resources.ApplyResources(Me.XtraTabPageDoc2, "XtraTabPageDoc2") Me.XtraTabPageDoc2.Controls.Add(Me.GridControlDocSearch2) Me.XtraTabPageDoc2.Name = "XtraTabPageDoc2" - resources.ApplyResources(Me.XtraTabPageDoc2, "XtraTabPageDoc2") ' 'GridControlDocSearch2 ' resources.ApplyResources(Me.GridControlDocSearch2, "GridControlDocSearch2") + Me.GridControlDocSearch2.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch2.EmbeddedNavigator.AccessibleDescription") + Me.GridControlDocSearch2.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch2.EmbeddedNavigator.AccessibleName") + Me.GridControlDocSearch2.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlDocSearch2.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlDocSearch2.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlDocSearch2.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlDocSearch2.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlDocSearch2.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlDocSearch2.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlDocSearch2.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch2.EmbeddedNavigator.ToolTip") + Me.GridControlDocSearch2.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlDocSearch2.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch2.EmbeddedNavigator.ToolTipTitle") Me.GridControlDocSearch2.MainView = Me.GridViewDocSearch2 Me.GridControlDocSearch2.Name = "GridControlDocSearch2" Me.GridControlDocSearch2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch2}) @@ -199,6 +224,7 @@ Partial Class frmValidatorSearch Me.GridViewDocSearch2.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewDocSearch2.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewDocSearch2.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewDocSearch2, "GridViewDocSearch2") Me.GridViewDocSearch2.GridControl = Me.GridControlDocSearch2 Me.GridViewDocSearch2.Name = "GridViewDocSearch2" Me.GridViewDocSearch2.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -212,13 +238,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageDoc3 ' + resources.ApplyResources(Me.XtraTabPageDoc3, "XtraTabPageDoc3") Me.XtraTabPageDoc3.Controls.Add(Me.GridControlDocSearch3) Me.XtraTabPageDoc3.Name = "XtraTabPageDoc3" - resources.ApplyResources(Me.XtraTabPageDoc3, "XtraTabPageDoc3") ' 'GridControlDocSearch3 ' resources.ApplyResources(Me.GridControlDocSearch3, "GridControlDocSearch3") + Me.GridControlDocSearch3.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch3.EmbeddedNavigator.AccessibleDescription") + Me.GridControlDocSearch3.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch3.EmbeddedNavigator.AccessibleName") + Me.GridControlDocSearch3.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlDocSearch3.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlDocSearch3.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlDocSearch3.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlDocSearch3.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlDocSearch3.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlDocSearch3.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlDocSearch3.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch3.EmbeddedNavigator.ToolTip") + Me.GridControlDocSearch3.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlDocSearch3.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch3.EmbeddedNavigator.ToolTipTitle") Me.GridControlDocSearch3.MainView = Me.GridViewDocSearch3 Me.GridControlDocSearch3.Name = "GridControlDocSearch3" Me.GridControlDocSearch3.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch3}) @@ -229,6 +267,7 @@ Partial Class frmValidatorSearch Me.GridViewDocSearch3.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewDocSearch3.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewDocSearch3.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewDocSearch3, "GridViewDocSearch3") Me.GridViewDocSearch3.GridControl = Me.GridControlDocSearch3 Me.GridViewDocSearch3.Name = "GridViewDocSearch3" Me.GridViewDocSearch3.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -242,13 +281,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageDoc4 ' + resources.ApplyResources(Me.XtraTabPageDoc4, "XtraTabPageDoc4") Me.XtraTabPageDoc4.Controls.Add(Me.GridControlDocSearch4) Me.XtraTabPageDoc4.Name = "XtraTabPageDoc4" - resources.ApplyResources(Me.XtraTabPageDoc4, "XtraTabPageDoc4") ' 'GridControlDocSearch4 ' resources.ApplyResources(Me.GridControlDocSearch4, "GridControlDocSearch4") + Me.GridControlDocSearch4.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch4.EmbeddedNavigator.AccessibleDescription") + Me.GridControlDocSearch4.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch4.EmbeddedNavigator.AccessibleName") + Me.GridControlDocSearch4.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlDocSearch4.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlDocSearch4.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlDocSearch4.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlDocSearch4.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlDocSearch4.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlDocSearch4.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlDocSearch4.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch4.EmbeddedNavigator.ToolTip") + Me.GridControlDocSearch4.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlDocSearch4.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch4.EmbeddedNavigator.ToolTipTitle") Me.GridControlDocSearch4.MainView = Me.GridViewDocSearch4 Me.GridControlDocSearch4.Name = "GridControlDocSearch4" Me.GridControlDocSearch4.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch4}) @@ -259,6 +310,7 @@ Partial Class frmValidatorSearch Me.GridViewDocSearch4.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewDocSearch4.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewDocSearch4.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewDocSearch4, "GridViewDocSearch4") Me.GridViewDocSearch4.GridControl = Me.GridControlDocSearch4 Me.GridViewDocSearch4.Name = "GridViewDocSearch4" Me.GridViewDocSearch4.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -272,13 +324,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageDoc5 ' + resources.ApplyResources(Me.XtraTabPageDoc5, "XtraTabPageDoc5") Me.XtraTabPageDoc5.Controls.Add(Me.GridControlDocSearch5) Me.XtraTabPageDoc5.Name = "XtraTabPageDoc5" - resources.ApplyResources(Me.XtraTabPageDoc5, "XtraTabPageDoc5") ' 'GridControlDocSearch5 ' resources.ApplyResources(Me.GridControlDocSearch5, "GridControlDocSearch5") + Me.GridControlDocSearch5.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch5.EmbeddedNavigator.AccessibleDescription") + Me.GridControlDocSearch5.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch5.EmbeddedNavigator.AccessibleName") + Me.GridControlDocSearch5.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlDocSearch5.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlDocSearch5.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlDocSearch5.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlDocSearch5.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlDocSearch5.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlDocSearch5.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlDocSearch5.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch5.EmbeddedNavigator.ToolTip") + Me.GridControlDocSearch5.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlDocSearch5.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch5.EmbeddedNavigator.ToolTipTitle") Me.GridControlDocSearch5.MainView = Me.GridViewDocSearch5 Me.GridControlDocSearch5.Name = "GridControlDocSearch5" Me.GridControlDocSearch5.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch5}) @@ -289,6 +353,7 @@ Partial Class frmValidatorSearch Me.GridViewDocSearch5.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewDocSearch5.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewDocSearch5.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewDocSearch5, "GridViewDocSearch5") Me.GridViewDocSearch5.GridControl = Me.GridControlDocSearch5 Me.GridViewDocSearch5.Name = "GridViewDocSearch5" Me.GridViewDocSearch5.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -303,53 +368,24 @@ Partial Class frmValidatorSearch 'DocumentViewer1 ' resources.ApplyResources(Me.DocumentViewer1, "DocumentViewer1") + Me.DocumentViewer1.FileLoaded = False Me.DocumentViewer1.Name = "DocumentViewer1" ' - 'ToolStrip1 - ' - Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripDropDownButtonFile, Me.ToolStripButtonRefreshSearches}) - resources.ApplyResources(Me.ToolStrip1, "ToolStrip1") - Me.ToolStrip1.Name = "ToolStrip1" - ' - 'ToolStripDropDownButtonFile - ' - Me.ToolStripDropDownButtonFile.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right - Me.ToolStripDropDownButtonFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiÖffnenToolStripMenuItem1, Me.EigenschaftenToolStripMenuItem}) - Me.ToolStripDropDownButtonFile.Image = Global.DD_ProcessManager.My.Resources.Resources.ID_FILE_PAGE_SETUP - resources.ApplyResources(Me.ToolStripDropDownButtonFile, "ToolStripDropDownButtonFile") - Me.ToolStripDropDownButtonFile.Name = "ToolStripDropDownButtonFile" - ' - 'DateiÖffnenToolStripMenuItem1 - ' - Me.DateiÖffnenToolStripMenuItem1.Image = Global.DD_ProcessManager.My.Resources.Resources.OpenFileDialog_692 - Me.DateiÖffnenToolStripMenuItem1.Name = "DateiÖffnenToolStripMenuItem1" - resources.ApplyResources(Me.DateiÖffnenToolStripMenuItem1, "DateiÖffnenToolStripMenuItem1") - ' - 'EigenschaftenToolStripMenuItem - ' - Me.EigenschaftenToolStripMenuItem.Image = Global.DD_ProcessManager.My.Resources.Resources.Properties - Me.EigenschaftenToolStripMenuItem.Name = "EigenschaftenToolStripMenuItem" - resources.ApplyResources(Me.EigenschaftenToolStripMenuItem, "EigenschaftenToolStripMenuItem") - ' - 'ToolStripButtonRefreshSearches - ' - Me.ToolStripButtonRefreshSearches.Image = Global.DD_ProcessManager.My.Resources.Resources.refresh_16xLG - resources.ApplyResources(Me.ToolStripButtonRefreshSearches, "ToolStripButtonRefreshSearches") - Me.ToolStripButtonRefreshSearches.Name = "ToolStripButtonRefreshSearches" - ' 'SplitContainerSearches ' - Me.SplitContainerSearches.DataBindings.Add(New System.Windows.Forms.Binding("SplitterDistance", Global.DD_ProcessManager.My.MySettings.Default, "frmValSearchSplitterDistance", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) resources.ApplyResources(Me.SplitContainerSearches, "SplitContainerSearches") + Me.SplitContainerSearches.DataBindings.Add(New System.Windows.Forms.Binding("SplitterDistance", Global.DD_ProcessManager.My.MySettings.Default, "frmValSearchSplitterDistance", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) Me.SplitContainerSearches.Name = "SplitContainerSearches" ' 'SplitContainerSearches.Panel1 ' + resources.ApplyResources(Me.SplitContainerSearches.Panel1, "SplitContainerSearches.Panel1") Me.SplitContainerSearches.Panel1.Controls.Add(Me.XtraTabControlSQL) Me.SplitContainerSearches.Panel1.Controls.Add(Me.StatusStrip1) ' 'SplitContainerSearches.Panel2 ' + resources.ApplyResources(Me.SplitContainerSearches.Panel2, "SplitContainerSearches.Panel2") Me.SplitContainerSearches.Panel2.Controls.Add(Me.SplitContainerControlDoc) Me.SplitContainerSearches.Panel2.Controls.Add(Me.ToolStrip2) Me.SplitContainerSearches.SplitterDistance = Global.DD_ProcessManager.My.MySettings.Default.frmValSearchSplitterDistance @@ -363,13 +399,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageSearch1 ' + resources.ApplyResources(Me.XtraTabPageSearch1, "XtraTabPageSearch1") Me.XtraTabPageSearch1.Controls.Add(Me.GridControlSearch1) Me.XtraTabPageSearch1.Name = "XtraTabPageSearch1" - resources.ApplyResources(Me.XtraTabPageSearch1, "XtraTabPageSearch1") ' 'GridControlSearch1 ' resources.ApplyResources(Me.GridControlSearch1, "GridControlSearch1") + Me.GridControlSearch1.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch1.EmbeddedNavigator.AccessibleDescription") + Me.GridControlSearch1.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch1.EmbeddedNavigator.AccessibleName") + Me.GridControlSearch1.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlSearch1.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlSearch1.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlSearch1.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlSearch1.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlSearch1.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlSearch1.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlSearch1.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch1.EmbeddedNavigator.ToolTip") + Me.GridControlSearch1.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlSearch1.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch1.EmbeddedNavigator.ToolTipTitle") GridLevelNode2.RelationName = "Level1" Me.GridControlSearch1.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode2}) Me.GridControlSearch1.MainView = Me.GridViewSearch1 @@ -382,6 +430,7 @@ Partial Class frmValidatorSearch Me.GridViewSearch1.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewSearch1.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewSearch1.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewSearch1, "GridViewSearch1") Me.GridViewSearch1.GridControl = Me.GridControlSearch1 Me.GridViewSearch1.Name = "GridViewSearch1" Me.GridViewSearch1.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -395,13 +444,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageSearch2 ' + resources.ApplyResources(Me.XtraTabPageSearch2, "XtraTabPageSearch2") Me.XtraTabPageSearch2.Controls.Add(Me.GridControlSearch2) Me.XtraTabPageSearch2.Name = "XtraTabPageSearch2" - resources.ApplyResources(Me.XtraTabPageSearch2, "XtraTabPageSearch2") ' 'GridControlSearch2 ' resources.ApplyResources(Me.GridControlSearch2, "GridControlSearch2") + Me.GridControlSearch2.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch2.EmbeddedNavigator.AccessibleDescription") + Me.GridControlSearch2.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch2.EmbeddedNavigator.AccessibleName") + Me.GridControlSearch2.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlSearch2.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlSearch2.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlSearch2.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlSearch2.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlSearch2.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlSearch2.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlSearch2.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch2.EmbeddedNavigator.ToolTip") + Me.GridControlSearch2.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlSearch2.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch2.EmbeddedNavigator.ToolTipTitle") GridLevelNode3.RelationName = "Level1" Me.GridControlSearch2.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode3}) Me.GridControlSearch2.MainView = Me.GridViewSearch2 @@ -414,6 +475,7 @@ Partial Class frmValidatorSearch Me.GridViewSearch2.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewSearch2.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewSearch2.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewSearch2, "GridViewSearch2") Me.GridViewSearch2.GridControl = Me.GridControlSearch2 Me.GridViewSearch2.Name = "GridViewSearch2" Me.GridViewSearch2.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -427,13 +489,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageSearch3 ' + resources.ApplyResources(Me.XtraTabPageSearch3, "XtraTabPageSearch3") Me.XtraTabPageSearch3.Controls.Add(Me.GridControlSearch3) Me.XtraTabPageSearch3.Name = "XtraTabPageSearch3" - resources.ApplyResources(Me.XtraTabPageSearch3, "XtraTabPageSearch3") ' 'GridControlSearch3 ' resources.ApplyResources(Me.GridControlSearch3, "GridControlSearch3") + Me.GridControlSearch3.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch3.EmbeddedNavigator.AccessibleDescription") + Me.GridControlSearch3.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch3.EmbeddedNavigator.AccessibleName") + Me.GridControlSearch3.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlSearch3.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlSearch3.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlSearch3.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlSearch3.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlSearch3.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlSearch3.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlSearch3.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch3.EmbeddedNavigator.ToolTip") + Me.GridControlSearch3.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlSearch3.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch3.EmbeddedNavigator.ToolTipTitle") GridLevelNode4.RelationName = "Level1" Me.GridControlSearch3.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode4}) Me.GridControlSearch3.MainView = Me.GridViewSearch3 @@ -446,6 +520,7 @@ Partial Class frmValidatorSearch Me.GridViewSearch3.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewSearch3.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewSearch3.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewSearch3, "GridViewSearch3") Me.GridViewSearch3.GridControl = Me.GridControlSearch3 Me.GridViewSearch3.Name = "GridViewSearch3" Me.GridViewSearch3.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -459,13 +534,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageSearch4 ' + resources.ApplyResources(Me.XtraTabPageSearch4, "XtraTabPageSearch4") Me.XtraTabPageSearch4.Controls.Add(Me.GridControlSearch4) Me.XtraTabPageSearch4.Name = "XtraTabPageSearch4" - resources.ApplyResources(Me.XtraTabPageSearch4, "XtraTabPageSearch4") ' 'GridControlSearch4 ' resources.ApplyResources(Me.GridControlSearch4, "GridControlSearch4") + Me.GridControlSearch4.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch4.EmbeddedNavigator.AccessibleDescription") + Me.GridControlSearch4.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch4.EmbeddedNavigator.AccessibleName") + Me.GridControlSearch4.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlSearch4.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlSearch4.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlSearch4.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlSearch4.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlSearch4.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlSearch4.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlSearch4.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch4.EmbeddedNavigator.ToolTip") + Me.GridControlSearch4.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlSearch4.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch4.EmbeddedNavigator.ToolTipTitle") GridLevelNode5.RelationName = "Level1" Me.GridControlSearch4.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode5}) Me.GridControlSearch4.MainView = Me.GridViewSearch4 @@ -478,6 +565,7 @@ Partial Class frmValidatorSearch Me.GridViewSearch4.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewSearch4.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewSearch4.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewSearch4, "GridViewSearch4") Me.GridViewSearch4.GridControl = Me.GridControlSearch4 Me.GridViewSearch4.Name = "GridViewSearch4" Me.GridViewSearch4.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -491,13 +579,25 @@ Partial Class frmValidatorSearch ' 'XtraTabPageSearch5 ' + resources.ApplyResources(Me.XtraTabPageSearch5, "XtraTabPageSearch5") Me.XtraTabPageSearch5.Controls.Add(Me.GridControlSearch5) Me.XtraTabPageSearch5.Name = "XtraTabPageSearch5" - resources.ApplyResources(Me.XtraTabPageSearch5, "XtraTabPageSearch5") ' 'GridControlSearch5 ' resources.ApplyResources(Me.GridControlSearch5, "GridControlSearch5") + Me.GridControlSearch5.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch5.EmbeddedNavigator.AccessibleDescription") + Me.GridControlSearch5.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch5.EmbeddedNavigator.AccessibleName") + Me.GridControlSearch5.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) + Me.GridControlSearch5.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) + Me.GridControlSearch5.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image) + Me.GridControlSearch5.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) + Me.GridControlSearch5.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) + Me.GridControlSearch5.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.MaximumSize"), System.Drawing.Size) + Me.GridControlSearch5.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) + Me.GridControlSearch5.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch5.EmbeddedNavigator.ToolTip") + Me.GridControlSearch5.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) + Me.GridControlSearch5.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch5.EmbeddedNavigator.ToolTipTitle") GridLevelNode6.RelationName = "Level1" Me.GridControlSearch5.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode6}) Me.GridControlSearch5.MainView = Me.GridViewSearch5 @@ -510,6 +610,7 @@ Partial Class frmValidatorSearch Me.GridViewSearch5.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewSearch5.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime Me.GridViewSearch5.Appearance.SelectedRow.Options.UseBackColor = True + resources.ApplyResources(Me.GridViewSearch5, "GridViewSearch5") Me.GridViewSearch5.GridControl = Me.GridControlSearch5 Me.GridViewSearch5.Name = "GridViewSearch5" Me.GridViewSearch5.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] @@ -523,14 +624,14 @@ Partial Class frmValidatorSearch ' 'StatusStrip1 ' - Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsslblSQL}) resources.ApplyResources(Me.StatusStrip1, "StatusStrip1") + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsslblSQL}) Me.StatusStrip1.Name = "StatusStrip1" ' 'tsslblSQL ' - Me.tsslblSQL.Name = "tsslblSQL" resources.ApplyResources(Me.tsslblSQL, "tsslblSQL") + Me.tsslblSQL.Name = "tsslblSQL" ' 'ToolStrip2 ' @@ -540,20 +641,52 @@ Partial Class frmValidatorSearch ' 'tslblDocID ' - Me.tslblDocID.Name = "tslblDocID" resources.ApplyResources(Me.tslblDocID, "tslblDocID") + Me.tslblDocID.Name = "tslblDocID" ' 'tslblState ' + resources.ApplyResources(Me.tslblState, "tslblState") Me.tslblState.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right Me.tslblState.Name = "tslblState" - resources.ApplyResources(Me.tslblState, "tslblState") + ' + 'ToolStrip1 + ' + resources.ApplyResources(Me.ToolStrip1, "ToolStrip1") + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripDropDownButtonFile, Me.ToolStripButtonRefreshSearches}) + Me.ToolStrip1.Name = "ToolStrip1" + ' + 'ToolStripDropDownButtonFile + ' + resources.ApplyResources(Me.ToolStripDropDownButtonFile, "ToolStripDropDownButtonFile") + Me.ToolStripDropDownButtonFile.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right + Me.ToolStripDropDownButtonFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiÖffnenToolStripMenuItem1, Me.EigenschaftenToolStripMenuItem}) + Me.ToolStripDropDownButtonFile.Image = Global.DD_ProcessManager.My.Resources.Resources.ID_FILE_PAGE_SETUP + Me.ToolStripDropDownButtonFile.Name = "ToolStripDropDownButtonFile" + ' + 'DateiÖffnenToolStripMenuItem1 + ' + resources.ApplyResources(Me.DateiÖffnenToolStripMenuItem1, "DateiÖffnenToolStripMenuItem1") + Me.DateiÖffnenToolStripMenuItem1.Image = Global.DD_ProcessManager.My.Resources.Resources.OpenFileDialog_692 + Me.DateiÖffnenToolStripMenuItem1.Name = "DateiÖffnenToolStripMenuItem1" + ' + 'EigenschaftenToolStripMenuItem + ' + resources.ApplyResources(Me.EigenschaftenToolStripMenuItem, "EigenschaftenToolStripMenuItem") + Me.EigenschaftenToolStripMenuItem.Image = Global.DD_ProcessManager.My.Resources.Resources.Properties + Me.EigenschaftenToolStripMenuItem.Name = "EigenschaftenToolStripMenuItem" + ' + 'ToolStripButtonRefreshSearches + ' + resources.ApplyResources(Me.ToolStripButtonRefreshSearches, "ToolStripButtonRefreshSearches") + Me.ToolStripButtonRefreshSearches.Image = Global.DD_ProcessManager.My.Resources.Resources.refresh_16xLG + Me.ToolStripButtonRefreshSearches.Name = "ToolStripButtonRefreshSearches" ' 'ContextMenuStripWMFile ' + resources.ApplyResources(Me.ContextMenuStripWMFile, "ContextMenuStripWMFile") Me.ContextMenuStripWMFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.EigenschaftenDateiToolStripMenuItem, Me.DateiÖffnenToolStripMenuItem, Me.ToolStripSeparator1, Me.ToolStripMenuItem1, Me.LayoutZurücksetzenToolStripMenuItem}) Me.ContextMenuStripWMFile.Name = "ContextMenuStrip1" - resources.ApplyResources(Me.ContextMenuStripWMFile, "ContextMenuStripWMFile") ' 'EigenschaftenDateiToolStripMenuItem ' @@ -567,36 +700,36 @@ Partial Class frmValidatorSearch ' 'ToolStripSeparator1 ' - Me.ToolStripSeparator1.Name = "ToolStripSeparator1" resources.ApplyResources(Me.ToolStripSeparator1, "ToolStripSeparator1") + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" ' 'ToolStripMenuItem1 ' + resources.ApplyResources(Me.ToolStripMenuItem1, "ToolStripMenuItem1") Me.ToolStripMenuItem1.Image = Global.DD_ProcessManager.My.Resources.Resources.refresh_16xLG Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" - resources.ApplyResources(Me.ToolStripMenuItem1, "ToolStripMenuItem1") ' 'LayoutZurücksetzenToolStripMenuItem ' - Me.LayoutZurücksetzenToolStripMenuItem.Name = "LayoutZurücksetzenToolStripMenuItem" resources.ApplyResources(Me.LayoutZurücksetzenToolStripMenuItem, "LayoutZurücksetzenToolStripMenuItem") + Me.LayoutZurücksetzenToolStripMenuItem.Name = "LayoutZurücksetzenToolStripMenuItem" ' 'ContextMenuStripSQL ' + resources.ApplyResources(Me.ContextMenuStripSQL, "ContextMenuStripSQL") Me.ContextMenuStripSQL.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripSeparator2, Me.ToolStripMenuItem4}) Me.ContextMenuStripSQL.Name = "ContextMenuStrip1" - resources.ApplyResources(Me.ContextMenuStripSQL, "ContextMenuStripSQL") ' 'ToolStripSeparator2 ' - Me.ToolStripSeparator2.Name = "ToolStripSeparator2" resources.ApplyResources(Me.ToolStripSeparator2, "ToolStripSeparator2") + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" ' 'ToolStripMenuItem4 ' + resources.ApplyResources(Me.ToolStripMenuItem4, "ToolStripMenuItem4") Me.ToolStripMenuItem4.Image = Global.DD_ProcessManager.My.Resources.Resources.refresh_16xLG Me.ToolStripMenuItem4.Name = "ToolStripMenuItem4" - resources.ApplyResources(Me.ToolStripMenuItem4, "ToolStripMenuItem4") ' 'frmValidatorSearch ' @@ -625,8 +758,6 @@ Partial Class frmValidatorSearch Me.XtraTabPageDoc5.ResumeLayout(False) CType(Me.GridControlDocSearch5, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridViewDocSearch5, System.ComponentModel.ISupportInitialize).EndInit() - Me.ToolStrip1.ResumeLayout(False) - Me.ToolStrip1.PerformLayout() Me.SplitContainerSearches.Panel1.ResumeLayout(False) Me.SplitContainerSearches.Panel1.PerformLayout() Me.SplitContainerSearches.Panel2.ResumeLayout(False) @@ -654,6 +785,8 @@ Partial Class frmValidatorSearch Me.StatusStrip1.PerformLayout() Me.ToolStrip2.ResumeLayout(False) Me.ToolStrip2.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() Me.ContextMenuStripWMFile.ResumeLayout(False) Me.ContextMenuStripSQL.ResumeLayout(False) Me.ResumeLayout(False) diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.en-US.resx b/app/DD_PM_WINDREAM/frmValidatorSearch.en-US.resx new file mode 100644 index 0000000..247e444 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmValidatorSearch.en-US.resx @@ -0,0 +1,599 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + + 0, 0 + + + + Center + + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + 115, 22 + + + Refresh Searches + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6 + JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkUlE + QVRIS8XQXUhTYRwGcAkiqBuDhKAi6ia8kZp3QeS6iGjqnBtT0UqDNAtSJoKNokFuIUpG0kxKCVtWY5lE + IFmBmuG0D20jQ/Nrs0UzV2Yy9/307uSpA/317pwO/HjPeQ7v/33OSQDwX5GhlMhQSmQoJTKUEhmupMNq + XmtraRh71m6aNlaVHHp8xxC53WjALbMBTfV6NBgrYCjPj5lr9Xq1TX6J6abmCJHhajqtrW1L06a209oD + E/h6BryQW4fFDyUYf65BrU6FmpulML42si30HB4ZrsZyw5RaliN3wXcS7ddzucODLh2WJk5hYUgLX78C + oa6daGs9BvYH2BZ6Do8Mhc43T4Fn7RqDzVKP4MwFXKtWI15CuXc3/B9L8dORC9+LNMw+3YO5extRdyUL + 8hYZG0HP5ZGhUPxgy0vgyYCHO9zvuojyIgXcb/QoKczmSmTtk2PqkQz2pm3oa0jC5eOboCpOw/7GZDaC + nssjQ6F4gc7BH9zhHqeJO7zm6l22HsZkTxHyMnKA4e1I3ZWE9esSkbJjDU5olcivyoOsbjMbQc/lkaFQ + j/0dWwCv143qyqPwfJrint8O9nIlRu6nYEviBhQWHIG52RJ/xe1LLt56lvnzvBIyFOILIBr+bfmKxGKw + PeiArkAO5+gMZnzAwUxN/BU5ZyVkKNTd/2+BKDs8EI5hwR/Fl/kIZ9wrUoHeASdbgNaHfZyY4F5oxCNS + gR67gy3sWv4DEdYgEIri+2IYn7+FMekNweEOYNgtcgH+S4Osh/DLea8mo+IUsA+NsoVdy3/Az255c0HA + NQ+8nwUcjCgFKirPQaHIRIZS85dKi/QsNRTKbKQz8VWRqRKngNjIUEpkKCUylBIZSokMpYOEXxgRTAe1 + DBDPAAAAAElFTkSuQmCC + + + + + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMAAwEBAQEBAQEB + AQEBAQEDAAMBAgICAQICAgECAgIBAwADAQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAgIC + AQICAgECAgIBAwADAQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAgICAQICAgECAgIBAwAD + AQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAQEBAQEBAQEBAQEBAwADAQEBAQEBAQEBAQEB + AQMAAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAP//AACAAAAAgAAAAIAAAACAAAAAgAAAAIAA + AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAP//AAA= + + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.fr-FR.resx b/app/DD_PM_WINDREAM/frmValidatorSearch.fr-FR.resx new file mode 100644 index 0000000..05a7294 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmValidatorSearch.fr-FR.resx @@ -0,0 +1,593 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + + 0, 0 + + + + Center + + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + + + + + + Default + + + Top, Left + + + + + + Tile + + + Inherit + + + 0, 0 + + + Center + + + + + + None + + + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6 + JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkUlE + QVRIS8XQXUhTYRwGcAkiqBuDhKAi6ia8kZp3QeS6iGjqnBtT0UqDNAtSJoKNokFuIUpG0kxKCVtWY5lE + IFmBmuG0D20jQ/Nrs0UzV2Yy9/307uSpA/317pwO/HjPeQ7v/33OSQDwX5GhlMhQSmQoJTKUEhmupMNq + XmtraRh71m6aNlaVHHp8xxC53WjALbMBTfV6NBgrYCjPj5lr9Xq1TX6J6abmCJHhajqtrW1L06a209oD + E/h6BryQW4fFDyUYf65BrU6FmpulML42si30HB4ZrsZyw5RaliN3wXcS7ddzucODLh2WJk5hYUgLX78C + oa6daGs9BvYH2BZ6Do8Mhc43T4Fn7RqDzVKP4MwFXKtWI15CuXc3/B9L8dORC9+LNMw+3YO5extRdyUL + 8hYZG0HP5ZGhUPxgy0vgyYCHO9zvuojyIgXcb/QoKczmSmTtk2PqkQz2pm3oa0jC5eOboCpOw/7GZDaC + nssjQ6F4gc7BH9zhHqeJO7zm6l22HsZkTxHyMnKA4e1I3ZWE9esSkbJjDU5olcivyoOsbjMbQc/lkaFQ + j/0dWwCv143qyqPwfJrint8O9nIlRu6nYEviBhQWHIG52RJ/xe1LLt56lvnzvBIyFOILIBr+bfmKxGKw + PeiArkAO5+gMZnzAwUxN/BU5ZyVkKNTd/2+BKDs8EI5hwR/Fl/kIZ9wrUoHeASdbgNaHfZyY4F5oxCNS + gR67gy3sWv4DEdYgEIri+2IYn7+FMekNweEOYNgtcgH+S4Osh/DLea8mo+IUsA+NsoVdy3/Az255c0HA + NQ+8nwUcjCgFKirPQaHIRIZS85dKi/QsNRTKbKQz8VWRqRKngNjIUEpkKCUylBIZSokMpYOEXxgRTAe1 + DBDPAAAAAElFTkSuQmCC + + + + + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMAAwEBAQEBAQEB + AQEBAQEDAAMBAgICAQICAgECAgIBAwADAQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAgIC + AQICAgECAgIBAwADAQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAgICAQICAgECAgIBAwAD + AQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAQEBAQEBAQEBAQEBAwADAQEBAQEBAQEBAQEB + AQMAAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAP//AACAAAAAgAAAAIAAAACAAAAAgAAAAIAA + AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAP//AAA= + + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.resx b/app/DD_PM_WINDREAM/frmValidatorSearch.resx index 65db51a..423fa50 100644 --- a/app/DD_PM_WINDREAM/frmValidatorSearch.resx +++ b/app/DD_PM_WINDREAM/frmValidatorSearch.resx @@ -117,737 +117,112 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Fill + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - 0, 0 - - - Fill - - - 0, 0 - - - Fill - - - 0, 0 - - - 349, 557 - - - - 0 - - - GridControlDocSearch1 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabPageDoc1 - - - 0 - - - 349, 557 - - - XtraTabPage1 - - - XtraTabPageDoc1 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlDocs - - - 0 - - - 351, 582 - - - 4 - - - Fill - - - 0, 0 - - - 349, 557 - - - 1 - - - GridControlDocSearch2 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabPageDoc2 - - - 0 - - - 349, 557 - - - XtraTabPage2 - - - XtraTabPageDoc2 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlDocs - - - 1 - - - Fill - - - 0, 0 - - - 349, 557 - - - 1 - - - GridControlDocSearch3 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabPageDoc3 - - - 0 - - - 349, 557 - - - XtraTabPage1 - - - XtraTabPageDoc3 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlDocs - - - 2 - - - Fill - - - 0, 0 - - - 349, 557 - - - 1 - - - GridControlDocSearch4 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + XtraTabPageDoc4 - - 0 - - - 349, 557 - - - XtraTabPage2 - - - XtraTabPageDoc4 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlDocs - - - 3 - - - Fill - - - 0, 0 - - - 349, 557 - - - 1 - - - GridControlDocSearch5 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabPageDoc5 - - - 0 - - - 349, 557 - - - XtraTabPage3 - - - XtraTabPageDoc5 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlDocs - - - 4 - - - XtraTabControlDocs - - - DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - SplitContainerControlDoc.Panel1 - - - 0 - - - Panel1 - - - Fill - - - 0, 0 - - - 284, 582 - - - 0 - - - DocumentViewer1 - - - DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.0.4.1, Culture=neutral, PublicKeyToken=null - - - SplitContainerControlDoc.Panel2 - - - 0 - - - Panel2 - - - 647, 582 - - - 6 - - - SplitContainerControlDoc - - - DevExpress.XtraEditors.SplitContainerControl, DevExpress.Utils.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - SplitContainerSearches.Panel2 - - - 0 - - - 17, 17 - - - 148, 22 - - - Öffnen - - - 148, 22 - - - Eigenschaften - - - Magenta - - - 63, 22 - - - Datei - - - Magenta - - - 131, 22 - - - Aktualisiere Ansicht - - - 0, 0 - - - 1214, 25 - + 0 - - ToolStrip1 - - - ToolStrip1 - - - System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - - - Fill - - - 0, 25 - - - Fill - - - 0, 0 - - - Fill - - - 0, 0 - - - 561, 560 - - - 1 - - - GridControlSearch1 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabPageSearch1 - - - 0 - - - 561, 560 - - - Search1 - - - XtraTabPageSearch1 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlSQL - - - 0 - - - 563, 585 - - - 4 - - - Fill - - - 0, 0 - - - 561, 560 - - - 2 - - - GridControlSearch2 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabPageSearch2 - - - 0 - - - 561, 560 - - - Search2 - - - XtraTabPageSearch2 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlSQL - - - 1 - - - Fill - - - 0, 0 - - - 561, 560 - - - 2 - - - GridControlSearch3 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabPageSearch3 - - - 0 - - - 561, 560 - - - XtraTabPage1 - - - XtraTabPageSearch3 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlSQL - - - 2 - - - Fill - - - 0, 0 - - - 561, 560 - - - 2 - - - GridControlSearch4 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabPageSearch4 - - - 0 - - - 561, 560 - - - XtraTabPage2 - - - XtraTabPageSearch4 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlSQL - - - 3 - - - Fill - - - 0, 0 - - - 561, 560 - - - 2 - - - GridControlSearch5 - - - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabPageSearch5 - - - 0 - - - 561, 560 - - - XtraTabPage3 - - - XtraTabPageSearch5 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - XtraTabControlSQL - - - 4 - - - XtraTabControlSQL - - - DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - SplitContainerSearches.Panel1 - - - 0 - - - 595, 17 - - - 91, 17 - - - No action so far - - - 0, 585 - - - 563, 22 - - - 5 - - - StatusStrip1 - - - StatusStrip1 - - - System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - SplitContainerSearches.Panel1 - - - 1 - - - SplitContainerSearches.Panel1 - - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - SplitContainerSearches - - - 0 - - - 316, 17 - - - Bottom - - - 61, 22 - - - tslblDocID - - - 91, 22 - - - No action so far - - - 0, 582 - - - 647, 25 - - - 3 - - - ToolStrip2 - - - ToolStrip2 - - - System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - SplitContainerSearches.Panel2 - - 1 + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - SplitContainerSearches.Panel2 + + GridControlDocSearch5 - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + XtraTabPageDoc1 - - SplitContainerSearches + + + - - 1 + + - - 1214, 607 + + GridControlSearch2 - - 3 + + - - SplitContainerSearches + + Eigenschaften - - System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - $this - - + 2 - - 124, 17 - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6 - JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkUlE - QVRIS8XQXUhTYRwGcAkiqBuDhKAi6ia8kZp3QeS6iGjqnBtT0UqDNAtSJoKNokFuIUpG0kxKCVtWY5lE - IFmBmuG0D20jQ/Nrs0UzV2Yy9/307uSpA/317pwO/HjPeQ7v/33OSQDwX5GhlMhQSmQoJTKUEhmupMNq - XmtraRh71m6aNlaVHHp8xxC53WjALbMBTfV6NBgrYCjPj5lr9Xq1TX6J6abmCJHhajqtrW1L06a209oD - E/h6BryQW4fFDyUYf65BrU6FmpulML42si30HB4ZrsZyw5RaliN3wXcS7ddzucODLh2WJk5hYUgLX78C - oa6daGs9BvYH2BZ6Do8Mhc43T4Fn7RqDzVKP4MwFXKtWI15CuXc3/B9L8dORC9+LNMw+3YO5extRdyUL - 8hYZG0HP5ZGhUPxgy0vgyYCHO9zvuojyIgXcb/QoKczmSmTtk2PqkQz2pm3oa0jC5eOboCpOw/7GZDaC - nssjQ6F4gc7BH9zhHqeJO7zm6l22HsZkTxHyMnKA4e1I3ZWE9esSkbJjDU5olcivyoOsbjMbQc/lkaFQ - j/0dWwCv143qyqPwfJrint8O9nIlRu6nYEviBhQWHIG52RJ/xe1LLt56lvnzvBIyFOILIBr+bfmKxGKw - PeiArkAO5+gMZnzAwUxN/BU5ZyVkKNTd/2+BKDs8EI5hwR/Fl/kIZ9wrUoHeASdbgNaHfZyY4F5oxCNS - gR67gy3sWv4DEdYgEIri+2IYn7+FMekNweEOYNgtcgH+S4Osh/DLea8mo+IUsA+NsoVdy3/Az255c0HA - NQ+8nwUcjCgFKirPQaHIRIZS85dKi/QsNRTKbKQz8VWRqRKngNjIUEpkKCUylBIZSokMpYOEXxgRTAe1 - DBDPAAAAAElFTkSuQmCC - + + System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 181, 22 + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - Eigenschaften Datei + + ContextMenuStripWMFile + + + + Center + + + ToolStrip1 + + + GridControlSearch1 + + + ToolStrip1 + + + 0 + + + + 0, 0 + + + tslblState + + + 143, 32 + + + XtraTabPage3 + + + 91, 17 + + + + Default + + + XtraTabPage3 + + + Default + + + 0, 0 + + + Top, Left + + + Fill @@ -906,71 +281,594 @@ NCptKjDqzVry2yqzA0rjAWR6W+0nUAO1/HuxaLC+AebHD8Ec7JqWAAAAAElFTkSuQmCC - - 181, 22 - - - Datei öffnen - - - 178, 6 - - - 181, 22 - - - Aktualisieren - - - 181, 22 - - - Layout zurücksetzen - - - 182, 98 - - - ContextMenuStripWMFile + + + None System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 423, 17 - - - 139, 6 + + 3 - - 142, 22 + + Fill - - Aktualisieren + + None - - 143, 32 + + 131, 22 - - ContextMenuStripSQL + + + + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + + + + GridViewDocSearch1 + + + 2 + + + 349, 557 + + + 0, 582 + + + Tile + + + 148, 22 + + + + + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + GridViewSearch1 + + + + + + DevExpress.XtraEditors.SplitContainerControl, DevExpress.Utils.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 0 + + + Fill + + + Center + + + Center + + + ToolStrip2 + + + Zusätzliche Suchen + + + Tile System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True - - - 81 - + + Fill + + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 6 + + + 181, 22 + + + + + + ToolStrip2 + + + XtraTabPage2 + + + No action so far + + + + + + None + + + 563, 585 + + + Layout zurücksetzen + + + + + + XtraTabPageDoc2 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + Fill + + + 0, 0 + + + XtraTabPageDoc5 + + + Öffnen + + + XtraTabPageDoc2 + + + Default + + + 561, 560 + + + XtraTabPage2 + + + System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1 + + + 1 + + + 0, 0 + + + 349, 557 + + + Tile + + + 0, 0 + + + + + + 284, 582 + + + XtraTabPage1 + + + Fill + + + GridControlSearch3 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 6, 13 - - 1214, 632 + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Tahoma, 8.25pt + + XtraTabPageDoc3 + + + 349, 557 + + + + + + 4 + + + Fill + + + StatusStrip1 + + + 561, 560 + + + Fill + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 3 + + + 1 + + + Fill + + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + + + + DocumentViewer1 + + + 561, 560 + + + Inherit + + + 561, 560 + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Inherit + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + GridViewSearch4 + + + 1 + + + 1 + + + XtraTabPageDoc5 + + + Tile + + + Search2 + + + Center + + + 0 + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + None + + + Tile + + + 349, 557 + + + + + + System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0, 0 + + + Fill + + + GridViewSearch5 + + + + + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + Panel1 + + + None + + + XtraTabPageDoc1 + + + SplitContainerControlDoc.Panel1 + + + + + + 2 + + + SplitContainerSearches + + + Aktualisiere Ansicht + + + 63, 22 + + + 2 + + + 0, 0 + + + GridControlDocSearch2 + + + 0 + + + SplitContainerSearches.Panel2 + + + 1 + + + 561, 560 + + + 0, 0 + + + + + + 1 + + + 0 + + + XtraTabPageSearch3 + + + Magenta + + + Inherit + + + DateiÖffnenToolStripMenuItem + + + 0 + + + 0, 0 + + + 1 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainerSearches.Panel1 + + + 61, 22 + + + XtraTabPageSearch2 + + + + + + SplitContainerSearches.Panel1 + + + 0 + + + Magenta + + + GridControlDocSearch3 + + + 181, 22 + + + 0, 0 + + + tslblDocID + + + XtraTabPageDoc3 + + + 2 + + + 349, 557 + + + Top, Left + + + Top, Left + + + 0, 0 + + + + + + Fill + + + 0, 0 + + + XtraTabControlDocs + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 349, 557 + + + 0 + + + XtraTabControlDocs + + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 178, 6 + + + Inherit + + + + + + XtraTabPageSearch5 + + + Bottom + + + + + + XtraTabControlDocs + + + XtraTabControlSQL + + + DateiÖffnenToolStripMenuItem1 + + + EigenschaftenDateiToolStripMenuItem + + + SplitContainerSearches + + + + + + + + + tslblDocID + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + XtraTabPageSearch4 + + + + + + 0 + + + Center + + + None + + + GridViewSearch2 + + + 4 + + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + XtraTabControlDocs + + + GridViewDocSearch3 + + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 0, 0 + + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=null + + + SplitContainerSearches @@ -1005,157 +903,625 @@ AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAP//AAA= - - Zusätzliche Suchen - - - GridViewDocSearch1 - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - GridViewDocSearch2 - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - GridViewDocSearch3 - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - GridViewDocSearch4 - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - GridViewDocSearch5 - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - ToolStripDropDownButtonFile - - - System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - DateiÖffnenToolStripMenuItem1 - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - EigenschaftenToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ToolStripButtonRefreshSearches - - - System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GridViewSearch1 - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - GridViewSearch2 - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + GridControlSearch4 GridViewSearch3 - + + Datei öffnen + + + XtraTabPageDoc4 + + + GridControlSearch5 + + + 0 + + + 349, 557 + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - GridViewSearch4 + + 0 - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + 0, 25 - - GridViewSearch5 - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - tsslblSQL - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tslblDocID - - - System.Windows.Forms.ToolStripLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tslblState - - - System.Windows.Forms.ToolStripLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - EigenschaftenDateiToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - DateiÖffnenToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ToolStripSeparator1 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ToolStripMenuItem1 - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - LayoutZurücksetzenToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ToolStripSeparator2 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Top, Left ToolStripMenuItem4 - + + None + + + 561, 560 + + + Datei + + + 0 + + + 181, 22 + + + None + + + 1214, 25 + + + Top, Left + + + GridViewDocSearch5 + + + 0 + + + XtraTabControlDocs + + + XtraTabPageSearch4 + + + Inherit + + + System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + XtraTabPageSearch5 + + + + + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + LayoutZurücksetzenToolStripMenuItem + + + 148, 22 + + + SplitContainerSearches.Panel2 + + + Center + + + None + + + ContextMenuStripSQL + + + + + + Search1 + + + 3 + + + ToolStripMenuItem1 + + + 351, 582 + + + 0 + + + GridViewDocSearch2 + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 0, 0 + + + Center + + + Tile + + + Top, Left + + + Center + + + 5 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6 + JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkUlE + QVRIS8XQXUhTYRwGcAkiqBuDhKAi6ia8kZp3QeS6iGjqnBtT0UqDNAtSJoKNokFuIUpG0kxKCVtWY5lE + IFmBmuG0D20jQ/Nrs0UzV2Yy9/307uSpA/317pwO/HjPeQ7v/33OSQDwX5GhlMhQSmQoJTKUEhmupMNq + XmtraRh71m6aNlaVHHp8xxC53WjALbMBTfV6NBgrYCjPj5lr9Xq1TX6J6abmCJHhajqtrW1L06a209oD + E/h6BryQW4fFDyUYf65BrU6FmpulML42si30HB4ZrsZyw5RaliN3wXcS7ddzucODLh2WJk5hYUgLX78C + oa6daGs9BvYH2BZ6Do8Mhc43T4Fn7RqDzVKP4MwFXKtWI15CuXc3/B9L8dORC9+LNMw+3YO5extRdyUL + 8hYZG0HP5ZGhUPxgy0vgyYCHO9zvuojyIgXcb/QoKczmSmTtk2PqkQz2pm3oa0jC5eOboCpOw/7GZDaC + nssjQ6F4gc7BH9zhHqeJO7zm6l22HsZkTxHyMnKA4e1I3ZWE9esSkbJjDU5olcivyoOsbjMbQc/lkaFQ + j/0dWwCv143qyqPwfJrint8O9nIlRu6nYEviBhQWHIG52RJ/xe1LLt56lvnzvBIyFOILIBr+bfmKxGKw + PeiArkAO5+gMZnzAwUxN/BU5ZyVkKNTd/2+BKDs8EI5hwR/Fl/kIZ9wrUoHeASdbgNaHfZyY4F5oxCNS + gR67gy3sWv4DEdYgEIri+2IYn7+FMekNweEOYNgtcgH+S4Osh/DLea8mo+IUsA+NsoVdy3/Az255c0HA + NQ+8nwUcjCgFKirPQaHIRIZS85dKi/QsNRTKbKQz8VWRqRKngNjIUEpkKCUylBIZSokMpYOEXxgRTAe1 + DBDPAAAAAElFTkSuQmCC + + + + + frmValidatorSearch - - System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + SplitContainerControlDoc + + Inherit + + + 0, 0 + + + 647, 25 + + + Tahoma, 8.25pt + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Top, Left + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + No action so far + + + XtraTabControlSQL + + + 91, 22 + + + + + + 349, 557 + + + XtraTabControlSQL + + + Inherit + + + Default + + + GridViewDocSearch4 + + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + Aktualisieren + + + 0, 0 + + + Fill + + + 142, 22 + + + Inherit + + + Top, Left + + + 0 + + + + + + Eigenschaften Datei + + + Inherit + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 563, 22 + + + 349, 557 + + + 3 + + + 0 + + + XtraTabPageSearch2 + + + Default + + + 139, 6 + + + 3 + + + + + + ToolStripSeparator2 + + + 0, 0 + + + XtraTabPageSearch3 + + + 2 + + + Tile + + + $this + + + ToolStripButtonRefreshSearches + + + Fill + + + Default + + + Fill + + + XtraTabPage1 + + + ToolStripDropDownButtonFile + + + 0, 0 + + + 0 + + + XtraTabControlSQL + + + $this + + + + + + 0, 0 + + + + + + + + + + + + 0, 0 + + + StatusStrip1 + + + XtraTabPageSearch1 + + + Default + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 561, 560 + + + SplitContainerSearches.Panel1 + + + tsslblSQL + + + + + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + XtraTabControlDocs + + + + + + Default + + + DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 0, 0 + + + Aktualisieren + + + 1 + + + 0, 0 + + + Top, Left + + + Default + + + XtraTabControlSQL + + + 1 + + + + + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EigenschaftenToolStripMenuItem + + + System.Windows.Forms.ToolStripLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0, 0 + + + 349, 557 + + + 1214, 632 + + + None + + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 2 + + + 4 + + + XtraTabControlSQL + + + 1214, 607 + + + Center + + + 647, 582 + + + + + + + + + XtraTabPage2 + + + 0, 0 + + + + + + Panel2 + + + + + + GridControlDocSearch1 + + + + + + Default + + + Inherit + + + 0, 585 + + + 561, 560 + + + + + + + + + Center + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 0 + + + Top, Left + + + + + + ToolStripSeparator1 + + + Tile + + + Fill + + + 181, 22 + + + Tile + + + + + + 4 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + XtraTabPageSearch1 + + + 182, 98 + + + System.Windows.Forms.ToolStripLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + XtraTabPage1 + + + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + GridControlDocSearch4 + + + 561, 560 + + + Tile + + + 561, 560 + + + 0 + + + SplitContainerControlDoc.Panel2 + + + 0, 0 + + + 17, 17 + + + en-US + + + 316, 17 + + + True + + + 595, 17 + + + 81 + + + 124, 17 + + + 423, 17 + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/packages.config b/app/DD_PM_WINDREAM/packages.config index f89fa32..63f3075 100644 --- a/app/DD_PM_WINDREAM/packages.config +++ b/app/DD_PM_WINDREAM/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file