BugFix und WMFileCreate

This commit is contained in:
Digital Data - Marlon Schreiber 2019-05-24 10:22:47 +02:00
parent 54afd3754f
commit 3338f01501
14 changed files with 683 additions and 969 deletions

View File

@ -61,12 +61,12 @@ Public Class ClassDatabase
Try Try
Dim SQLconnect As New SqlClient.SqlConnection Dim SQLconnect As New SqlClient.SqlConnection
Dim SQLcommand As SqlClient.SqlCommand Dim SQLcommand As SqlClient.SqlCommand
LOGGER.Debug(">>> ReturnDatatable: " & Select_anweisung, False) LOGGER.Debug(">>> ReturnDatatable: " & Select_anweisung)
SQLconnect.ConnectionString = SQLSERVERConnectionString SQLconnect.ConnectionString = SQLSERVERConnectionString
SQLconnect.Open() SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = Select_anweisung SQLcommand.CommandText = Select_anweisung
LOGGER.Debug(">>> Execute ReturnDatatable: " & Select_anweisung, False) LOGGER.Debug(">>> Execute ReturnDatatable: " & Select_anweisung)
Dim adapter1 As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(SQLcommand) Dim adapter1 As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(SQLcommand)
Dim dt As DataTable = New DataTable() Dim dt As DataTable = New DataTable()
adapter1.Fill(dt) adapter1.Fill(dt)
@ -86,7 +86,7 @@ Public Class ClassDatabase
Public Shared Function Return_Datatable_CS(SQLCommand As String, Conn_ID As Integer, Optional userInput As Boolean = False) Public Shared Function Return_Datatable_CS(SQLCommand As String, Conn_ID As Integer, Optional userInput As Boolean = False)
Try Try
Dim oConString As String = Get_ConnectionString(Conn_ID) Dim oConString As String = Get_ConnectionString(Conn_ID)
LOGGER.Debug(">>> ReturnDatatable: " & SQLCommand, False) LOGGER.Debug(">>> ReturnDatatable: " & SQLCommand)
Dim oSQLconnect As New SqlClient.SqlConnection Dim oSQLconnect As New SqlClient.SqlConnection
Dim oSQLcommand As SqlClient.SqlCommand Dim oSQLcommand As SqlClient.SqlCommand
oSQLconnect.ConnectionString = oConString oSQLconnect.ConnectionString = oConString
@ -114,12 +114,12 @@ Public Class ClassDatabase
Dim SQLconnect As New SqlClient.SqlConnection Dim SQLconnect As New SqlClient.SqlConnection
Dim SQLcommand As SqlClient.SqlCommand Dim SQLcommand As SqlClient.SqlCommand
SQLconnect.ConnectionString = SQLSERVERConnectionString SQLconnect.ConnectionString = SQLSERVERConnectionString
LOGGER.Debug(">>> Execute_non_Query: " & ExecuteCMD, False) LOGGER.Debug(">>> Execute_non_Query: " & ExecuteCMD)
SQLconnect.Open() SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo 'Update Last Created Record in Foo
SQLcommand.CommandText = ExecuteCMD SQLcommand.CommandText = ExecuteCMD
LOGGER.Debug(">>> Execute NonQuery: " & ExecuteCMD, False) LOGGER.Debug(">>> Execute NonQuery: " & ExecuteCMD)
SQLcommand.ExecuteNonQuery() SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose() SQLcommand.Dispose()
SQLconnect.Close() SQLconnect.Close()
@ -142,12 +142,12 @@ Public Class ClassDatabase
Dim SQLconnect As New SqlClient.SqlConnection Dim SQLconnect As New SqlClient.SqlConnection
Dim SQLcommand As SqlClient.SqlCommand Dim SQLcommand As SqlClient.SqlCommand
SQLconnect.ConnectionString = ConString SQLconnect.ConnectionString = ConString
LOGGER.Debug(">>> Execute_non_Query: " & cmdscalar, False) LOGGER.Debug(">>> Execute_non_Query: " & cmdscalar)
SQLconnect.Open() SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo 'Update Last Created Record in Foo
SQLcommand.CommandText = cmdscalar SQLcommand.CommandText = cmdscalar
LOGGER.Debug(">>> Execute Scalar: " & cmdscalar, False) LOGGER.Debug(">>> Execute Scalar: " & cmdscalar)
result = SQLcommand.ExecuteScalar() result = SQLcommand.ExecuteScalar()
SQLcommand.Dispose() SQLcommand.Dispose()
SQLconnect.Close() SQLconnect.Close()

View File

@ -69,7 +69,7 @@
LOGGER.Debug($"oIndexType {oIndexType.ToString}") LOGGER.Debug($"oIndexType {oIndexType.ToString}")
If oIndexType > 4000 And oIndexType < 5000 Then If oIndexType > 4000 And oIndexType < 5000 Then
'Hier muss nun separat als Vektorfeld indexiert werden 'Hier muss nun separat als Vektorfeld indexiert werden
If Indexiere_VektorfeldPM(value, INDEXNAME, WMObject) = False Then If Indexiere_VektorfeldPM(value, INDEXNAME, WMObject) = True Then
LOGGER.Debug("FINALER INDEX '" & INDEXNAME.Replace("[%VKT", "") & "' WURDE ERFOLGREICH GESETZT") LOGGER.Debug("FINALER INDEX '" & INDEXNAME.Replace("[%VKT", "") & "' WURDE ERFOLGREICH GESETZT")
Else Else

View File

@ -126,7 +126,7 @@ Public Class ClassPMWindream
Dim i As Integer = 0 Dim i As Integer = 0
Dim indexname As String Dim indexname As String
If aValues.Length = 1 And aValues(0) = "" Then If aValues.Length = 1 And aValues(0) = "" Then
LOGGER.Debug("Indexwert ist leer/Nothing - Keine Indexierung", False) LOGGER.Debug("Indexwert ist leer/Nothing - Keine Indexierung")
End If End If
'Jetzt jeden Indexwert durchlaufen 'Jetzt jeden Indexwert durchlaufen
For Each aName As String In Indizes For Each aName As String In Indizes
@ -145,7 +145,7 @@ Public Class ClassPMWindream
'If indexname = "Tournr" Then 'If indexname = "Tournr" Then
' MsgBox("Index: " & indexname & vbNewLine & "wert: " & aValues(i), MsgBoxStyle.Information, "Index: " & aName.ToString) ' MsgBox("Index: " & indexname & vbNewLine & "wert: " & aValues(i), MsgBoxStyle.Information, "Index: " & aName.ToString)
'End If 'End If
LOGGER.Debug(" ### Indexierung von Index: " & indexname & " ####", False) LOGGER.Debug(" ### Indexierung von Index: " & indexname & " ####")
'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87") 'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87")
Dim value = aValues(i) Dim value = aValues(i)
Dim convertValue Dim convertValue
@ -155,13 +155,13 @@ Public Class ClassPMWindream
Select Case vType Select Case vType
'Case WMObjectVariableValueTypeUndefined 'Case WMObjectVariableValueTypeUndefined
Case WMObjectVariableValueTypeString Case WMObjectVariableValueTypeString
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString", False) LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString")
convertValue = CStr(value) convertValue = CStr(value)
Case WMObjectVariableValueTypeInteger Case WMObjectVariableValueTypeInteger
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger", False) LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
If IsNumeric(value) = False Then If IsNumeric(value) = False Then
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!", False) LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
oDocument.Save() oDocument.Save()
oDocument.unlock() oDocument.unlock()
Return False Return False
@ -169,7 +169,7 @@ Public Class ClassPMWindream
convertValue = CInt(value) convertValue = CInt(value)
_int = True _int = True
Case WMObjectVariableValueTypeFloat Case WMObjectVariableValueTypeFloat
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat", False) LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
Try Try
convertValue = CDbl(value) convertValue = CDbl(value)
Catch ex As Exception Catch ex As Exception
@ -181,7 +181,7 @@ Public Class ClassPMWindream
End Try End Try
Case WMObjectVariableValueTypeFixedPoint Case WMObjectVariableValueTypeFixedPoint
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint", False) LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
Try Try
convertValue = CDbl(value) convertValue = CDbl(value)
Catch ex As Exception Catch ex As Exception
@ -194,19 +194,19 @@ Public Class ClassPMWindream
_dbl = True _dbl = True
Case WMObjectVariableValueTypeBoolean Case WMObjectVariableValueTypeBoolean
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean", False) LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
convertValue = CBool(value) convertValue = CBool(value)
_bool = True _bool = True
Case WMObjectVariableValueTypeDate Case WMObjectVariableValueTypeDate
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeDate", False) LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeDate")
_date = True _date = True
'Dim _date As Date = value 'Dim _date As Date = value
convertValue = value convertValue = value
Case WMObjectVariableValueTypeTimeStamp Case WMObjectVariableValueTypeTimeStamp
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp", False) LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
convertValue = CInt(value) convertValue = CInt(value)
Case WMObjectVariableValueTypeCurrency Case WMObjectVariableValueTypeCurrency
LOGGER.Info(" >> Typ des windream-Indexes: WMObjectVariableValueTypeCurrency", False) LOGGER.Info(" >> Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden 'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value)) Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value))
convertValue = aValueWrapper convertValue = aValueWrapper

View File

@ -147,8 +147,13 @@ Public Class RefreshHelper
End Sub End Sub
Public Sub LoadVisibleIndex() Public Sub LoadVisibleIndex()
Try
view.MakeRowVisible(view.FocusedRowHandle, True) view.MakeRowVisible(view.FocusedRowHandle, True)
view.TopRowIndex = view.GetVisibleIndex(view.FocusedRowHandle) - visibleRowIndex view.TopRowIndex = view.GetVisibleIndex(view.FocusedRowHandle) - visibleRowIndex
Catch ex As Exception
End Try
End Sub End Sub
Public Sub LoadSelectionViewInfo(ByVal list As ArrayList) Public Sub LoadSelectionViewInfo(ByVal list As ArrayList)
@ -193,17 +198,28 @@ Public Class RefreshHelper
End Sub End Sub
Public Sub SaveViewInfo() Public Sub SaveViewInfo()
Try
SaveExpandedMasterRows(SaveMasterRowsList) SaveExpandedMasterRows(SaveMasterRowsList)
SaveExpansionViewInfo(SaveExpList) SaveExpansionViewInfo(SaveExpList)
SaveSelectionViewInfo(SaveSelList) SaveSelectionViewInfo(SaveSelList)
SaveVisibleIndex() SaveVisibleIndex()
Catch ex As Exception
End Try
End Sub End Sub
Public Sub LoadViewInfo() Public Sub LoadViewInfo()
Try
LoadExpandedMasterRows(SaveMasterRowsList) LoadExpandedMasterRows(SaveMasterRowsList)
LoadExpansionViewInfo(SaveExpList) LoadExpansionViewInfo(SaveExpList)
LoadSelectionViewInfo(SaveSelList) LoadSelectionViewInfo(SaveSelList)
LoadVisibleIndex() LoadVisibleIndex()
Catch ex As Exception
End Try
End Sub End Sub
End Class End Class

View File

@ -135,9 +135,7 @@ LOGGER.Error(ex)
Public Function Start_WMCC_andCo() Public Function Start_WMCC_andCo()
Try Try
' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist ' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist
Dim sql = "SELECT T.GUID FROM TBDD_GROUPS_USER T 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
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) Dim userExistsInServerUserGroup = ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING)
If WMSESSION_STARTSTOP_STARTUP = True Then If WMSESSION_STARTSTOP_STARTUP = True Then
@ -160,9 +158,7 @@ LOGGER.Error(ex)
Public Function Stop_WMCC_andCo() Public Function Stop_WMCC_andCo()
Try Try
' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist ' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist
Dim sql = "SELECT T.GUID FROM TBDD_GROUPS_USER T 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
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) Dim userExistsInServerUserGroup = ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING)
If WMSESSION_STARTSTOP_STARTUP = True Then 'And userExistsInServerUserGroup Is Nothing If WMSESSION_STARTSTOP_STARTUP = True Then 'And userExistsInServerUserGroup Is Nothing
@ -237,7 +233,6 @@ LOGGER.Error(ex)
Public Function NormalizePath(Path As String) Public Function NormalizePath(Path As String)
Dim oNormalizedPath As String Dim oNormalizedPath As String
If Path.StartsWith("\\windream") Then If Path.StartsWith("\\windream") Then
oNormalizedPath = Path.Replace("\\windream\objects\", "") oNormalizedPath = Path.Replace("\\windream\objects\", "")
ElseIf Path.StartsWith("\\") Then ElseIf Path.StartsWith("\\") Then

View File

@ -17831,7 +17831,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0")> _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0")> _
Private Sub InitCommandCollection() Private Sub InitCommandCollection()
Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(11) {} Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(10) {}
Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(0).Connection = Me.Connection Me._commandCollection(0).Connection = Me.Connection
Me._commandCollection(0).CommandText = "SELECT GUID, FILE_PATH, DMS_ERSTELLT_DATE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_FI"& _ Me._commandCollection(0).CommandText = "SELECT GUID, FILE_PATH, DMS_ERSTELLT_DATE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_FI"& _
@ -17869,55 +17869,49 @@ Namespace DD_DMSLiteDataSetTableAdapters
Me._commandCollection(5).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(5).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(6) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(6) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(6).Connection = Me.Connection Me._commandCollection(6).Connection = Me.Connection
Me._commandCollection(6).CommandText = "SELECT FILE_PATH"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_FILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE GUID = @"& _ Me._commandCollection(6).CommandText = "SELECT GUID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_FILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (PROFIL_ID ="& _
"GUID"
Me._commandCollection(6).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(6).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(7) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(7).Connection = Me.Connection
Me._commandCollection(7).CommandText = "SELECT GUID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_FILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (PROFIL_ID ="& _
" @Profil_id) AND (EDIT = 0) AND (UPPER(FILE_PATH) <> UPPER(@FILEPATH)) AND (IN_W"& _ " @Profil_id) AND (EDIT = 0) AND (UPPER(FILE_PATH) <> UPPER(@FILEPATH)) AND (IN_W"& _
"ORK = 0) AND (FILE_PATH NOT IN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (SELECT FILE"& _ "ORK = 0) AND (FILE_PATH NOT IN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (SELECT FILE"& _
"_PATH"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" FROM TBPM_FILES_USER_NOT_INDEXE"& _ "_PATH"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" FROM TBPM_FILES_USER_NOT_INDEXE"& _
"D"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" WHERE (PROFIL_ID = @Profil_id) AND (UPP"& _ "D"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" WHERE (PROFIL_ID = @Profil_id) AND (UPP"& _
"ER(USR_NAME) = UPPER(@User))))"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY DMS_ERSTELLT_DATE,FILE_PATH" "ER(USR_NAME) = UPPER(@User))))"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY DMS_ERSTELLT_DATE,FILE_PATH"
Me._commandCollection(6).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(6).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(6).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FILEPATH", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(6).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@User", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(7) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(7).Connection = Me.Connection
Me._commandCollection(7).CommandText = "SELECT GUID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_FILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (PROFIL_ID ="& _
" @Profil_id) AND (EDIT = 0) AND (IN_WORK = 0) AND (UPPER(FILE_PATH) <> UPPER(@FI"& _
"LEPATH)) AND (FILE_PATH NOT IN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (SELECT FILE"& _
"_PATH"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" FROM TBPM_FILES_USER_NOT_INDEXE"& _
"D"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" WHERE (PROFIL_ID = @Profil_id) AND (UPP"& _
"ER(USR_NAME) = UPPER(@User))))"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY DMS_ERSTELLT_DATE DESC"
Me._commandCollection(7).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(7).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(7).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(7).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(7).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FILEPATH", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(7).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FILEPATH", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(7).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@User", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(7).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@User", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(8) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(8) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(8).Connection = Me.Connection Me._commandCollection(8).Connection = Me.Connection
Me._commandCollection(8).CommandText = "SELECT GUID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_FILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (PROFIL_ID ="& _ Me._commandCollection(8).CommandText = "UPDATE TBPM_PROFILE_FILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SET EDIT = 1"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID "& _
" @Profil_id) AND (EDIT = 0) AND (IN_WORK = 0) AND (UPPER(FILE_PATH) <> UPPER(@FI"& _ "= @GUID)"
"LEPATH)) AND (FILE_PATH NOT IN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (SELECT FILE"& _
"_PATH"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" FROM TBPM_FILES_USER_NOT_INDEXE"& _
"D"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" WHERE (PROFIL_ID = @Profil_id) AND (UPP"& _
"ER(USR_NAME) = UPPER(@User))))"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY DMS_ERSTELLT_DATE DESC"
Me._commandCollection(8).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(8).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FILEPATH", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@User", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(9) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(9) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(9).Connection = Me.Connection Me._commandCollection(9).Connection = Me.Connection
Me._commandCollection(9).CommandText = "UPDATE TBPM_PROFILE_FILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SET EDIT = 1"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID "& _ Me._commandCollection(9).CommandText = "UPDATE TBPM_PROFILE_FILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SET IN_WORK = @WORK, WORK_USER = "& _
"= @GUID)" "@USer"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @GUID)"
Me._commandCollection(9).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(9).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(9).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._commandCollection(9).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@WORK", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "IN_WORK", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(9).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USer", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "WORK_USER", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(9).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(10) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(10) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(10).Connection = Me.Connection Me._commandCollection(10).Connection = Me.Connection
Me._commandCollection(10).CommandText = "UPDATE TBPM_PROFILE_FILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SET IN_WORK = @WORK, WORK_USER = "& _ Me._commandCollection(10).CommandText = "SELECT DMS_ERSTELLT_DATE, FILE_PATH, GUID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_FI"& _
"@USer"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @GUID)"
Me._commandCollection(10).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(10).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@WORK", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "IN_WORK", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(10).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USer", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "WORK_USER", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(10).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(11) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(11).Connection = Me.Connection
Me._commandCollection(11).CommandText = "SELECT DMS_ERSTELLT_DATE, FILE_PATH, GUID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_FI"& _
"LES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (EDIT = 0) AND (PROFIL_ID = @Profil_id) AND (ACTIVE = 1)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDE"& _ "LES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (EDIT = 0) AND (PROFIL_ID = @Profil_id) AND (ACTIVE = 1)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDE"& _
"R BY DMS_ERSTELLT_DATE DESC" "R BY DMS_ERSTELLT_DATE DESC"
Me._commandCollection(11).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(10).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(11).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(10).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
End Sub End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@ -17951,7 +17945,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Fill, false)> _ Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Fill, false)> _
Public Overloads Overridable Function FillBy_Newest(ByVal dataTable As DD_DMSLiteDataSet.TBPM_PROFILE_FILESDataTable, ByVal Profil_id As Integer) As Integer Public Overloads Overridable Function FillBy_Newest(ByVal dataTable As DD_DMSLiteDataSet.TBPM_PROFILE_FILESDataTable, ByVal Profil_id As Integer) As Integer
Me.Adapter.SelectCommand = Me.CommandCollection(11) Me.Adapter.SelectCommand = Me.CommandCollection(10)
Me.Adapter.SelectCommand.Parameters(0).Value = CType(Profil_id,Integer) Me.Adapter.SelectCommand.Parameters(0).Value = CType(Profil_id,Integer)
If (Me.ClearBeforeFill = true) Then If (Me.ClearBeforeFill = true) Then
dataTable.Clear dataTable.Clear
@ -17965,7 +17959,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.[Select], false)> _ Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.[Select], false)> _
Public Overloads Overridable Function GetDataBy_Newest(ByVal Profil_id As Integer) As DD_DMSLiteDataSet.TBPM_PROFILE_FILESDataTable Public Overloads Overridable Function GetDataBy_Newest(ByVal Profil_id As Integer) As DD_DMSLiteDataSet.TBPM_PROFILE_FILESDataTable
Me.Adapter.SelectCommand = Me.CommandCollection(11) Me.Adapter.SelectCommand = Me.CommandCollection(10)
Me.Adapter.SelectCommand.Parameters(0).Value = CType(Profil_id,Integer) Me.Adapter.SelectCommand.Parameters(0).Value = CType(Profil_id,Integer)
Dim dataTable As DD_DMSLiteDataSet.TBPM_PROFILE_FILESDataTable = New DD_DMSLiteDataSet.TBPM_PROFILE_FILESDataTable() Dim dataTable As DD_DMSLiteDataSet.TBPM_PROFILE_FILESDataTable = New DD_DMSLiteDataSet.TBPM_PROFILE_FILESDataTable()
Me.Adapter.Fill(dataTable) Me.Adapter.Fill(dataTable)
@ -18127,38 +18121,11 @@ Namespace DD_DMSLiteDataSetTableAdapters
End If End If
End Function End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Public Overloads Overridable Function CmdGetFilePath_2_GUID(ByVal GUID As Integer) As String
Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(6)
command.Parameters(0).Value = CType(GUID,Integer)
Dim previousConnectionState As Global.System.Data.ConnectionState = command.Connection.State
If ((command.Connection.State And Global.System.Data.ConnectionState.Open) _
<> Global.System.Data.ConnectionState.Open) Then
command.Connection.Open
End If
Dim returnValue As Object
Try
returnValue = command.ExecuteScalar
Finally
If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then
command.Connection.Close
End If
End Try
If ((returnValue Is Nothing) _
OrElse (returnValue.GetType Is GetType(Global.System.DBNull))) Then
Return Nothing
Else
Return CType(returnValue,String)
End If
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Public Overloads Overridable Function cmdGetNextFile_GUID(ByVal Profil_id As Integer, ByVal FILEPATH As String, ByVal User As String) As Object Public Overloads Overridable Function cmdGetNextFile_GUID(ByVal Profil_id As Integer, ByVal FILEPATH As String, ByVal User As String) As Object
Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(7) Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(6)
command.Parameters(0).Value = CType(Profil_id,Integer) command.Parameters(0).Value = CType(Profil_id,Integer)
If (FILEPATH Is Nothing) Then If (FILEPATH Is Nothing) Then
Throw New Global.System.ArgumentNullException("FILEPATH") Throw New Global.System.ArgumentNullException("FILEPATH")
@ -18195,7 +18162,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Public Overloads Overridable Function cmdgetNextFile_GUID_Newest(ByVal Profil_id As Integer, ByVal FILEPATH As String, ByVal User As String) As Object Public Overloads Overridable Function cmdgetNextFile_GUID_Newest(ByVal Profil_id As Integer, ByVal FILEPATH As String, ByVal User As String) As Object
Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(8) Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(7)
command.Parameters(0).Value = CType(Profil_id,Integer) command.Parameters(0).Value = CType(Profil_id,Integer)
If (FILEPATH Is Nothing) Then If (FILEPATH Is Nothing) Then
Throw New Global.System.ArgumentNullException("FILEPATH") Throw New Global.System.ArgumentNullException("FILEPATH")
@ -18233,7 +18200,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Update, false)> _ Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Update, false)> _
Public Overloads Overridable Function CmdSetEdit(ByVal GUID As Integer) As Integer Public Overloads Overridable Function CmdSetEdit(ByVal GUID As Integer) As Integer
Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(9) Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(8)
command.Parameters(0).Value = CType(GUID,Integer) command.Parameters(0).Value = CType(GUID,Integer)
Dim previousConnectionState As Global.System.Data.ConnectionState = command.Connection.State Dim previousConnectionState As Global.System.Data.ConnectionState = command.Connection.State
If ((command.Connection.State And Global.System.Data.ConnectionState.Open) _ If ((command.Connection.State And Global.System.Data.ConnectionState.Open) _
@ -18255,7 +18222,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Public Overloads Overridable Function CmdSETWORK(ByVal WORK As Boolean, ByVal USer As String, ByVal GUID As Integer) As Object Public Overloads Overridable Function CmdSETWORK(ByVal WORK As Boolean, ByVal USer As String, ByVal GUID As Integer) As Object
Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(10) Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(9)
command.Parameters(0).Value = CType(WORK,Boolean) command.Parameters(0).Value = CType(WORK,Boolean)
If (USer Is Nothing) Then If (USer Is Nothing) Then
command.Parameters(1).Value = Global.System.DBNull.Value command.Parameters(1).Value = Global.System.DBNull.Value

View File

@ -1009,18 +1009,6 @@ WHERE (PROFIL_ID = @Profil_id) AND (EDIT = 0) AND (ACTIVE = 1) AND (IN_WO
</DbCommand> </DbCommand>
</SelectCommand> </SelectCommand>
</DbSource> </DbSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_DMSLite.dbo.TBPM_PROFILE_FILES" DbObjectType="Table" GenerateShortCommands="true" GeneratorSourceName="CmdGetFilePath_2_GUID" Modifier="Public" Name="CmdGetFilePath_2_GUID" QueryType="Scalar" ScalarCallRetval="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy5" UserSourceName="CmdGetFilePath_2_GUID">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT FILE_PATH
FROM TBPM_PROFILE_FILES
WHERE GUID = @GUID</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_DMSLite.dbo.TBPM_PROFILE_FILES" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_DMS.dbo.TBPM_PROFILE_FILES" DbObjectType="Table" GenerateShortCommands="true" GeneratorSourceName="cmdGetNextFile_GUID" Modifier="Public" Name="cmdGetNextFile_GUID" QueryType="Scalar" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy6" UserSourceName="cmdGetNextFile_GUID"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_DMS.dbo.TBPM_PROFILE_FILES" DbObjectType="Table" GenerateShortCommands="true" GeneratorSourceName="cmdGetNextFile_GUID" Modifier="Public" Name="cmdGetNextFile_GUID" QueryType="Scalar" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy6" UserSourceName="cmdGetNextFile_GUID">
<SelectCommand> <SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="true">
@ -2096,7 +2084,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
<xs:element name="DD_DMSLiteDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="True" msprop:Generator_DataSetName="DD_DMSLiteDataSet" msprop:Generator_UserDSName="DD_DMSLiteDataSet"> <xs:element name="DD_DMSLiteDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="True" msprop:Generator_DataSetName="DD_DMSLiteDataSet" msprop:Generator_UserDSName="DD_DMSLiteDataSet">
<xs:complexType> <xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_TableClassName="TBPM_PROFILE_FINAL_INDEXINGDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowChangedName="TBPM_PROFILE_FINAL_INDEXINGRowChanged" msprop:Generator_TablePropName="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowDeletingName="TBPM_PROFILE_FINAL_INDEXINGRowDeleting" msprop:Generator_RowChangingName="TBPM_PROFILE_FINAL_INDEXINGRowChanging" msprop:Generator_RowEvHandlerName="TBPM_PROFILE_FINAL_INDEXINGRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILE_FINAL_INDEXINGRowDeleted" msprop:Generator_RowClassName="TBPM_PROFILE_FINAL_INDEXINGRow" msprop:Generator_UserTableName="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowEvArgName="TBPM_PROFILE_FINAL_INDEXINGRowChangeEvent"> <xs:element name="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_TableClassName="TBPM_PROFILE_FINAL_INDEXINGDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE_FINAL_INDEXING" msprop:Generator_TablePropName="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowDeletingName="TBPM_PROFILE_FINAL_INDEXINGRowDeleting" msprop:Generator_RowChangingName="TBPM_PROFILE_FINAL_INDEXINGRowChanging" msprop:Generator_RowEvHandlerName="TBPM_PROFILE_FINAL_INDEXINGRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILE_FINAL_INDEXINGRowDeleted" msprop:Generator_UserTableName="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowChangedName="TBPM_PROFILE_FINAL_INDEXINGRowChanged" msprop:Generator_RowEvArgName="TBPM_PROFILE_FINAL_INDEXINGRowChangeEvent" msprop:Generator_RowClassName="TBPM_PROFILE_FINAL_INDEXINGRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="INDEXNAME" msprop:Generator_ColumnVarNameInTable="columnINDEXNAME" msprop:Generator_ColumnPropNameInRow="INDEXNAME" msprop:Generator_ColumnPropNameInTable="INDEXNAMEColumn" msprop:Generator_UserColumnName="INDEXNAME"> <xs:element name="INDEXNAME" msprop:Generator_ColumnVarNameInTable="columnINDEXNAME" msprop:Generator_ColumnPropNameInRow="INDEXNAME" msprop:Generator_ColumnPropNameInTable="INDEXNAMEColumn" msprop:Generator_UserColumnName="INDEXNAME">
@ -2149,7 +2137,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPM_KONFIGURATION" msprop:Generator_TableClassName="TBPM_KONFIGURATIONDataTable" msprop:Generator_TableVarName="tableTBPM_KONFIGURATION" msprop:Generator_RowChangedName="TBPM_KONFIGURATIONRowChanged" msprop:Generator_TablePropName="TBPM_KONFIGURATION" msprop:Generator_RowDeletingName="TBPM_KONFIGURATIONRowDeleting" msprop:Generator_RowChangingName="TBPM_KONFIGURATIONRowChanging" msprop:Generator_RowEvHandlerName="TBPM_KONFIGURATIONRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_KONFIGURATIONRowDeleted" msprop:Generator_RowClassName="TBPM_KONFIGURATIONRow" msprop:Generator_UserTableName="TBPM_KONFIGURATION" msprop:Generator_RowEvArgName="TBPM_KONFIGURATIONRowChangeEvent"> <xs:element name="TBPM_KONFIGURATION" msprop:Generator_TableClassName="TBPM_KONFIGURATIONDataTable" msprop:Generator_TableVarName="tableTBPM_KONFIGURATION" msprop:Generator_TablePropName="TBPM_KONFIGURATION" msprop:Generator_RowDeletingName="TBPM_KONFIGURATIONRowDeleting" msprop:Generator_RowChangingName="TBPM_KONFIGURATIONRowChanging" msprop:Generator_RowEvHandlerName="TBPM_KONFIGURATIONRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_KONFIGURATIONRowDeleted" msprop:Generator_UserTableName="TBPM_KONFIGURATION" msprop:Generator_RowChangedName="TBPM_KONFIGURATIONRowChanged" msprop:Generator_RowEvArgName="TBPM_KONFIGURATIONRowChangeEvent" msprop:Generator_RowClassName="TBPM_KONFIGURATIONRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:unsignedByte" /> <xs:element name="GUID" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:unsignedByte" />
@ -2245,7 +2233,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBDD_USER" msprop:Generator_TableClassName="TBDD_USERDataTable" msprop:Generator_TableVarName="tableTBDD_USER" msprop:Generator_RowChangedName="TBDD_USERRowChanged" msprop:Generator_TablePropName="TBDD_USER" msprop:Generator_RowDeletingName="TBDD_USERRowDeleting" msprop:Generator_RowChangingName="TBDD_USERRowChanging" msprop:Generator_RowEvHandlerName="TBDD_USERRowChangeEventHandler" msprop:Generator_RowDeletedName="TBDD_USERRowDeleted" msprop:Generator_RowClassName="TBDD_USERRow" msprop:Generator_UserTableName="TBDD_USER" msprop:Generator_RowEvArgName="TBDD_USERRowChangeEvent"> <xs:element name="TBDD_USER" msprop:Generator_TableClassName="TBDD_USERDataTable" msprop:Generator_TableVarName="tableTBDD_USER" msprop:Generator_TablePropName="TBDD_USER" msprop:Generator_RowDeletingName="TBDD_USERRowDeleting" msprop:Generator_RowChangingName="TBDD_USERRowChanging" msprop:Generator_RowEvHandlerName="TBDD_USERRowChangeEventHandler" msprop:Generator_RowDeletedName="TBDD_USERRowDeleted" msprop:Generator_UserTableName="TBDD_USER" msprop:Generator_RowChangedName="TBDD_USERRowChanged" msprop:Generator_RowEvArgName="TBDD_USERRowChangeEvent" msprop:Generator_RowClassName="TBDD_USERRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -2310,7 +2298,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPM_TYPE" msprop:Generator_TableClassName="TBPM_TYPEDataTable" msprop:Generator_TableVarName="tableTBPM_TYPE" msprop:Generator_RowChangedName="TBPM_TYPERowChanged" msprop:Generator_TablePropName="TBPM_TYPE" msprop:Generator_RowDeletingName="TBPM_TYPERowDeleting" msprop:Generator_RowChangingName="TBPM_TYPERowChanging" msprop:Generator_RowEvHandlerName="TBPM_TYPERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_TYPERowDeleted" msprop:Generator_RowClassName="TBPM_TYPERow" msprop:Generator_UserTableName="TBPM_TYPE" msprop:Generator_RowEvArgName="TBPM_TYPERowChangeEvent"> <xs:element name="TBPM_TYPE" msprop:Generator_TableClassName="TBPM_TYPEDataTable" msprop:Generator_TableVarName="tableTBPM_TYPE" msprop:Generator_TablePropName="TBPM_TYPE" msprop:Generator_RowDeletingName="TBPM_TYPERowDeleting" msprop:Generator_RowChangingName="TBPM_TYPERowChanging" msprop:Generator_RowEvHandlerName="TBPM_TYPERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_TYPERowDeleted" msprop:Generator_UserTableName="TBPM_TYPE" msprop:Generator_RowChangedName="TBPM_TYPERowChanged" msprop:Generator_RowEvArgName="TBPM_TYPERowChangeEvent" msprop:Generator_RowClassName="TBPM_TYPERow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:short" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:short" />
@ -2340,7 +2328,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPM_ERROR_LOG" msprop:Generator_TableClassName="TBPM_ERROR_LOGDataTable" msprop:Generator_TableVarName="tableTBPM_ERROR_LOG" msprop:Generator_RowChangedName="TBPM_ERROR_LOGRowChanged" msprop:Generator_TablePropName="TBPM_ERROR_LOG" msprop:Generator_RowDeletingName="TBPM_ERROR_LOGRowDeleting" msprop:Generator_RowChangingName="TBPM_ERROR_LOGRowChanging" msprop:Generator_RowEvHandlerName="TBPM_ERROR_LOGRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_ERROR_LOGRowDeleted" msprop:Generator_RowClassName="TBPM_ERROR_LOGRow" msprop:Generator_UserTableName="TBPM_ERROR_LOG" msprop:Generator_RowEvArgName="TBPM_ERROR_LOGRowChangeEvent"> <xs:element name="TBPM_ERROR_LOG" msprop:Generator_TableClassName="TBPM_ERROR_LOGDataTable" msprop:Generator_TableVarName="tableTBPM_ERROR_LOG" msprop:Generator_TablePropName="TBPM_ERROR_LOG" msprop:Generator_RowDeletingName="TBPM_ERROR_LOGRowDeleting" msprop:Generator_RowChangingName="TBPM_ERROR_LOGRowChanging" msprop:Generator_RowEvHandlerName="TBPM_ERROR_LOGRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_ERROR_LOGRowDeleted" msprop:Generator_UserTableName="TBPM_ERROR_LOG" msprop:Generator_RowChangedName="TBPM_ERROR_LOGRowChanged" msprop:Generator_RowEvArgName="TBPM_ERROR_LOGRowChangeEvent" msprop:Generator_RowClassName="TBPM_ERROR_LOGRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -2363,7 +2351,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="VWPM_CONTROL_INDEX" msprop:Generator_TableClassName="VWPM_CONTROL_INDEXDataTable" msprop:Generator_TableVarName="tableVWPM_CONTROL_INDEX" msprop:Generator_RowChangedName="VWPM_CONTROL_INDEXRowChanged" msprop:Generator_TablePropName="VWPM_CONTROL_INDEX" msprop:Generator_RowDeletingName="VWPM_CONTROL_INDEXRowDeleting" msprop:Generator_RowChangingName="VWPM_CONTROL_INDEXRowChanging" msprop:Generator_RowEvHandlerName="VWPM_CONTROL_INDEXRowChangeEventHandler" msprop:Generator_RowDeletedName="VWPM_CONTROL_INDEXRowDeleted" msprop:Generator_RowClassName="VWPM_CONTROL_INDEXRow" msprop:Generator_UserTableName="VWPM_CONTROL_INDEX" msprop:Generator_RowEvArgName="VWPM_CONTROL_INDEXRowChangeEvent"> <xs:element name="VWPM_CONTROL_INDEX" msprop:Generator_TableClassName="VWPM_CONTROL_INDEXDataTable" msprop:Generator_TableVarName="tableVWPM_CONTROL_INDEX" msprop:Generator_TablePropName="VWPM_CONTROL_INDEX" msprop:Generator_RowDeletingName="VWPM_CONTROL_INDEXRowDeleting" msprop:Generator_RowChangingName="VWPM_CONTROL_INDEXRowChanging" msprop:Generator_RowEvHandlerName="VWPM_CONTROL_INDEXRowChangeEventHandler" msprop:Generator_RowDeletedName="VWPM_CONTROL_INDEXRowDeleted" msprop:Generator_UserTableName="VWPM_CONTROL_INDEX" msprop:Generator_RowChangedName="VWPM_CONTROL_INDEXRowChanged" msprop:Generator_RowEvArgName="VWPM_CONTROL_INDEXRowChangeEvent" msprop:Generator_RowClassName="VWPM_CONTROL_INDEXRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -2474,7 +2462,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBDD_CONNECTION" msprop:Generator_TableClassName="TBDD_CONNECTIONDataTable" msprop:Generator_TableVarName="tableTBDD_CONNECTION" msprop:Generator_RowChangedName="TBDD_CONNECTIONRowChanged" msprop:Generator_TablePropName="TBDD_CONNECTION" msprop:Generator_RowDeletingName="TBDD_CONNECTIONRowDeleting" msprop:Generator_RowChangingName="TBDD_CONNECTIONRowChanging" msprop:Generator_RowEvHandlerName="TBDD_CONNECTIONRowChangeEventHandler" msprop:Generator_RowDeletedName="TBDD_CONNECTIONRowDeleted" msprop:Generator_RowClassName="TBDD_CONNECTIONRow" msprop:Generator_UserTableName="TBDD_CONNECTION" msprop:Generator_RowEvArgName="TBDD_CONNECTIONRowChangeEvent"> <xs:element name="TBDD_CONNECTION" msprop:Generator_TableClassName="TBDD_CONNECTIONDataTable" msprop:Generator_TableVarName="tableTBDD_CONNECTION" msprop:Generator_TablePropName="TBDD_CONNECTION" msprop:Generator_RowDeletingName="TBDD_CONNECTIONRowDeleting" msprop:Generator_RowChangingName="TBDD_CONNECTIONRowChanging" msprop:Generator_RowEvHandlerName="TBDD_CONNECTIONRowChangeEventHandler" msprop:Generator_RowDeletedName="TBDD_CONNECTIONRowDeleted" msprop:Generator_UserTableName="TBDD_CONNECTION" msprop:Generator_RowChangedName="TBDD_CONNECTIONRowChanged" msprop:Generator_RowEvArgName="TBDD_CONNECTIONRowChangeEvent" msprop:Generator_RowClassName="TBDD_CONNECTIONRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:short" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:short" />
@ -2547,7 +2535,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPROFILE_USER" msprop:Generator_TableClassName="TBPROFILE_USERDataTable" msprop:Generator_TableVarName="tableTBPROFILE_USER" msprop:Generator_RowChangedName="TBPROFILE_USERRowChanged" msprop:Generator_TablePropName="TBPROFILE_USER" msprop:Generator_RowDeletingName="TBPROFILE_USERRowDeleting" msprop:Generator_RowChangingName="TBPROFILE_USERRowChanging" msprop:Generator_RowEvHandlerName="TBPROFILE_USERRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPROFILE_USERRowDeleted" msprop:Generator_RowClassName="TBPROFILE_USERRow" msprop:Generator_UserTableName="TBPROFILE_USER" msprop:Generator_RowEvArgName="TBPROFILE_USERRowChangeEvent"> <xs:element name="TBPROFILE_USER" msprop:Generator_TableClassName="TBPROFILE_USERDataTable" msprop:Generator_TableVarName="tableTBPROFILE_USER" msprop:Generator_TablePropName="TBPROFILE_USER" msprop:Generator_RowDeletingName="TBPROFILE_USERRowDeleting" msprop:Generator_RowChangingName="TBPROFILE_USERRowChanging" msprop:Generator_RowEvHandlerName="TBPROFILE_USERRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPROFILE_USERRowDeleted" msprop:Generator_UserTableName="TBPROFILE_USER" msprop:Generator_RowChangedName="TBPROFILE_USERRowChanged" msprop:Generator_RowEvArgName="TBPROFILE_USERRowChangeEvent" msprop:Generator_RowClassName="TBPROFILE_USERRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -2596,7 +2584,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPM_PROFILE_FILES" msprop:Generator_TableClassName="TBPM_PROFILE_FILESDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE_FILES" msprop:Generator_RowChangedName="TBPM_PROFILE_FILESRowChanged" msprop:Generator_TablePropName="TBPM_PROFILE_FILES" msprop:Generator_RowDeletingName="TBPM_PROFILE_FILESRowDeleting" msprop:Generator_RowChangingName="TBPM_PROFILE_FILESRowChanging" msprop:Generator_RowEvHandlerName="TBPM_PROFILE_FILESRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILE_FILESRowDeleted" msprop:Generator_RowClassName="TBPM_PROFILE_FILESRow" msprop:Generator_UserTableName="TBPM_PROFILE_FILES" msprop:Generator_RowEvArgName="TBPM_PROFILE_FILESRowChangeEvent"> <xs:element name="TBPM_PROFILE_FILES" msprop:Generator_TableClassName="TBPM_PROFILE_FILESDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE_FILES" msprop:Generator_TablePropName="TBPM_PROFILE_FILES" msprop:Generator_RowDeletingName="TBPM_PROFILE_FILESRowDeleting" msprop:Generator_RowChangingName="TBPM_PROFILE_FILESRowChanging" msprop:Generator_RowEvHandlerName="TBPM_PROFILE_FILESRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILE_FILESRowDeleted" msprop:Generator_UserTableName="TBPM_PROFILE_FILES" msprop:Generator_RowChangedName="TBPM_PROFILE_FILESRowChanged" msprop:Generator_RowEvArgName="TBPM_PROFILE_FILESRowChangeEvent" msprop:Generator_RowClassName="TBPM_PROFILE_FILESRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -2611,7 +2599,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPM_FILES_USER_NOT_INDEXED" msprop:Generator_TableClassName="TBPM_FILES_USER_NOT_INDEXEDDataTable" msprop:Generator_TableVarName="tableTBPM_FILES_USER_NOT_INDEXED" msprop:Generator_RowChangedName="TBPM_FILES_USER_NOT_INDEXEDRowChanged" msprop:Generator_TablePropName="TBPM_FILES_USER_NOT_INDEXED" msprop:Generator_RowDeletingName="TBPM_FILES_USER_NOT_INDEXEDRowDeleting" msprop:Generator_RowChangingName="TBPM_FILES_USER_NOT_INDEXEDRowChanging" msprop:Generator_RowEvHandlerName="TBPM_FILES_USER_NOT_INDEXEDRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_FILES_USER_NOT_INDEXEDRowDeleted" msprop:Generator_RowClassName="TBPM_FILES_USER_NOT_INDEXEDRow" msprop:Generator_UserTableName="TBPM_FILES_USER_NOT_INDEXED" msprop:Generator_RowEvArgName="TBPM_FILES_USER_NOT_INDEXEDRowChangeEvent"> <xs:element name="TBPM_FILES_USER_NOT_INDEXED" msprop:Generator_TableClassName="TBPM_FILES_USER_NOT_INDEXEDDataTable" msprop:Generator_TableVarName="tableTBPM_FILES_USER_NOT_INDEXED" msprop:Generator_TablePropName="TBPM_FILES_USER_NOT_INDEXED" msprop:Generator_RowDeletingName="TBPM_FILES_USER_NOT_INDEXEDRowDeleting" msprop:Generator_RowChangingName="TBPM_FILES_USER_NOT_INDEXEDRowChanging" msprop:Generator_RowEvHandlerName="TBPM_FILES_USER_NOT_INDEXEDRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_FILES_USER_NOT_INDEXEDRowDeleted" msprop:Generator_UserTableName="TBPM_FILES_USER_NOT_INDEXED" msprop:Generator_RowChangedName="TBPM_FILES_USER_NOT_INDEXEDRowChanged" msprop:Generator_RowEvArgName="TBPM_FILES_USER_NOT_INDEXEDRowChangeEvent" msprop:Generator_RowClassName="TBPM_FILES_USER_NOT_INDEXEDRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="USR_NAME" msprop:Generator_ColumnVarNameInTable="columnUSR_NAME" msprop:Generator_ColumnPropNameInRow="USR_NAME" msprop:Generator_ColumnPropNameInTable="USR_NAMEColumn" msprop:Generator_UserColumnName="USR_NAME" minOccurs="0"> <xs:element name="USR_NAME" msprop:Generator_ColumnVarNameInTable="columnUSR_NAME" msprop:Generator_ColumnPropNameInRow="USR_NAME" msprop:Generator_ColumnPropNameInTable="USR_NAMEColumn" msprop:Generator_UserColumnName="USR_NAME" minOccurs="0">
@ -2632,7 +2620,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPM_PROFILE" msprop:Generator_TableClassName="TBPM_PROFILEDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE" msprop:Generator_RowChangedName="TBPM_PROFILERowChanged" msprop:Generator_TablePropName="TBPM_PROFILE" msprop:Generator_RowDeletingName="TBPM_PROFILERowDeleting" msprop:Generator_RowChangingName="TBPM_PROFILERowChanging" msprop:Generator_RowEvHandlerName="TBPM_PROFILERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILERowDeleted" msprop:Generator_RowClassName="TBPM_PROFILERow" msprop:Generator_UserTableName="TBPM_PROFILE" msprop:Generator_RowEvArgName="TBPM_PROFILERowChangeEvent"> <xs:element name="TBPM_PROFILE" msprop:Generator_TableClassName="TBPM_PROFILEDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE" msprop:Generator_TablePropName="TBPM_PROFILE" msprop:Generator_RowDeletingName="TBPM_PROFILERowDeleting" msprop:Generator_RowChangingName="TBPM_PROFILERowChanging" msprop:Generator_RowEvHandlerName="TBPM_PROFILERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILERowDeleted" msprop:Generator_UserTableName="TBPM_PROFILE" msprop:Generator_RowChangedName="TBPM_PROFILERowChanged" msprop:Generator_RowEvArgName="TBPM_PROFILERowChangeEvent" msprop:Generator_RowClassName="TBPM_PROFILERow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -2740,7 +2728,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBWH_CONNECTION" msprop:Generator_TableClassName="TBWH_CONNECTIONDataTable" msprop:Generator_TableVarName="tableTBWH_CONNECTION" msprop:Generator_TablePropName="TBWH_CONNECTION" msprop:Generator_RowDeletingName="TBWH_CONNECTIONRowDeleting" msprop:Generator_RowChangingName="TBWH_CONNECTIONRowChanging" msprop:Generator_RowEvHandlerName="TBWH_CONNECTIONRowChangeEventHandler" msprop:Generator_RowDeletedName="TBWH_CONNECTIONRowDeleted" msprop:Generator_UserTableName="TBWH_CONNECTION" msprop:Generator_RowChangedName="TBWH_CONNECTIONRowChanged" msprop:Generator_RowEvArgName="TBWH_CONNECTIONRowChangeEvent" msprop:Generator_RowClassName="TBWH_CONNECTIONRow"> <xs:element name="TBWH_CONNECTION" msprop:Generator_TableClassName="TBWH_CONNECTIONDataTable" msprop:Generator_TableVarName="tableTBWH_CONNECTION" msprop:Generator_RowChangedName="TBWH_CONNECTIONRowChanged" msprop:Generator_TablePropName="TBWH_CONNECTION" msprop:Generator_RowDeletingName="TBWH_CONNECTIONRowDeleting" msprop:Generator_RowChangingName="TBWH_CONNECTIONRowChanging" msprop:Generator_RowEvHandlerName="TBWH_CONNECTIONRowChangeEventHandler" msprop:Generator_RowDeletedName="TBWH_CONNECTIONRowDeleted" msprop:Generator_RowClassName="TBWH_CONNECTIONRow" msprop:Generator_UserTableName="TBWH_CONNECTION" msprop:Generator_RowEvArgName="TBWH_CONNECTIONRowChangeEvent">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:short" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:short" />
@ -2813,7 +2801,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_TableClassName="TBWH_CHECK_PROFILE_CONTROLSDataTable" msprop:Generator_TableVarName="tableTBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_TablePropName="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_RowDeletingName="TBWH_CHECK_PROFILE_CONTROLSRowDeleting" msprop:Generator_RowChangingName="TBWH_CHECK_PROFILE_CONTROLSRowChanging" msprop:Generator_RowEvHandlerName="TBWH_CHECK_PROFILE_CONTROLSRowChangeEventHandler" msprop:Generator_RowDeletedName="TBWH_CHECK_PROFILE_CONTROLSRowDeleted" msprop:Generator_UserTableName="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_RowChangedName="TBWH_CHECK_PROFILE_CONTROLSRowChanged" msprop:Generator_RowEvArgName="TBWH_CHECK_PROFILE_CONTROLSRowChangeEvent" msprop:Generator_RowClassName="TBWH_CHECK_PROFILE_CONTROLSRow"> <xs:element name="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_TableClassName="TBWH_CHECK_PROFILE_CONTROLSDataTable" msprop:Generator_TableVarName="tableTBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_RowChangedName="TBWH_CHECK_PROFILE_CONTROLSRowChanged" msprop:Generator_TablePropName="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_RowDeletingName="TBWH_CHECK_PROFILE_CONTROLSRowDeleting" msprop:Generator_RowChangingName="TBWH_CHECK_PROFILE_CONTROLSRowChanging" msprop:Generator_RowEvHandlerName="TBWH_CHECK_PROFILE_CONTROLSRowChangeEventHandler" msprop:Generator_RowDeletedName="TBWH_CHECK_PROFILE_CONTROLSRowDeleted" msprop:Generator_RowClassName="TBWH_CHECK_PROFILE_CONTROLSRow" msprop:Generator_UserTableName="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_RowEvArgName="TBWH_CHECK_PROFILE_CONTROLSRowChangeEvent">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -2864,7 +2852,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPM_PROFILE_CONTROLS" msprop:Generator_TableClassName="TBPM_PROFILE_CONTROLSDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE_CONTROLS" msprop:Generator_TablePropName="TBPM_PROFILE_CONTROLS" msprop:Generator_RowDeletingName="TBPM_PROFILE_CONTROLSRowDeleting" msprop:Generator_RowChangingName="TBPM_PROFILE_CONTROLSRowChanging" msprop:Generator_RowEvHandlerName="TBPM_PROFILE_CONTROLSRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILE_CONTROLSRowDeleted" msprop:Generator_UserTableName="TBPM_PROFILE_CONTROLS" msprop:Generator_RowChangedName="TBPM_PROFILE_CONTROLSRowChanged" msprop:Generator_RowEvArgName="TBPM_PROFILE_CONTROLSRowChangeEvent" msprop:Generator_RowClassName="TBPM_PROFILE_CONTROLSRow"> <xs:element name="TBPM_PROFILE_CONTROLS" msprop:Generator_TableClassName="TBPM_PROFILE_CONTROLSDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE_CONTROLS" msprop:Generator_RowChangedName="TBPM_PROFILE_CONTROLSRowChanged" msprop:Generator_TablePropName="TBPM_PROFILE_CONTROLS" msprop:Generator_RowDeletingName="TBPM_PROFILE_CONTROLSRowDeleting" msprop:Generator_RowChangingName="TBPM_PROFILE_CONTROLSRowChanging" msprop:Generator_RowEvHandlerName="TBPM_PROFILE_CONTROLSRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILE_CONTROLSRowDeleted" msprop:Generator_RowClassName="TBPM_PROFILE_CONTROLSRow" msprop:Generator_UserTableName="TBPM_PROFILE_CONTROLS" msprop:Generator_RowEvArgName="TBPM_PROFILE_CONTROLSRowChangeEvent">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -2980,7 +2968,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPM_CONTROL_TABLE" msprop:Generator_TableClassName="TBPM_CONTROL_TABLEDataTable" msprop:Generator_TableVarName="tableTBPM_CONTROL_TABLE" msprop:Generator_TablePropName="TBPM_CONTROL_TABLE" msprop:Generator_RowDeletingName="TBPM_CONTROL_TABLERowDeleting" msprop:Generator_RowChangingName="TBPM_CONTROL_TABLERowChanging" msprop:Generator_RowEvHandlerName="TBPM_CONTROL_TABLERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_CONTROL_TABLERowDeleted" msprop:Generator_UserTableName="TBPM_CONTROL_TABLE" msprop:Generator_RowChangedName="TBPM_CONTROL_TABLERowChanged" msprop:Generator_RowEvArgName="TBPM_CONTROL_TABLERowChangeEvent" msprop:Generator_RowClassName="TBPM_CONTROL_TABLERow"> <xs:element name="TBPM_CONTROL_TABLE" msprop:Generator_TableClassName="TBPM_CONTROL_TABLEDataTable" msprop:Generator_TableVarName="tableTBPM_CONTROL_TABLE" msprop:Generator_RowChangedName="TBPM_CONTROL_TABLERowChanged" msprop:Generator_TablePropName="TBPM_CONTROL_TABLE" msprop:Generator_RowDeletingName="TBPM_CONTROL_TABLERowDeleting" msprop:Generator_RowChangingName="TBPM_CONTROL_TABLERowChanging" msprop:Generator_RowEvHandlerName="TBPM_CONTROL_TABLERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_CONTROL_TABLERowDeleted" msprop:Generator_RowClassName="TBPM_CONTROL_TABLERow" msprop:Generator_UserTableName="TBPM_CONTROL_TABLE" msprop:Generator_RowEvArgName="TBPM_CONTROL_TABLERowChangeEvent">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -3058,7 +3046,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBDD_GROUPS" msprop:Generator_TableClassName="TBDD_GROUPSDataTable" msprop:Generator_TableVarName="tableTBDD_GROUPS" msprop:Generator_RowChangedName="TBDD_GROUPSRowChanged" msprop:Generator_TablePropName="TBDD_GROUPS" msprop:Generator_RowDeletingName="TBDD_GROUPSRowDeleting" msprop:Generator_RowChangingName="TBDD_GROUPSRowChanging" msprop:Generator_RowEvHandlerName="TBDD_GROUPSRowChangeEventHandler" msprop:Generator_RowDeletedName="TBDD_GROUPSRowDeleted" msprop:Generator_RowClassName="TBDD_GROUPSRow" msprop:Generator_UserTableName="TBDD_GROUPS" msprop:Generator_RowEvArgName="TBDD_GROUPSRowChangeEvent"> <xs:element name="TBDD_GROUPS" msprop:Generator_TableClassName="TBDD_GROUPSDataTable" msprop:Generator_TableVarName="tableTBDD_GROUPS" msprop:Generator_TablePropName="TBDD_GROUPS" msprop:Generator_RowDeletingName="TBDD_GROUPSRowDeleting" msprop:Generator_RowChangingName="TBDD_GROUPSRowChanging" msprop:Generator_RowEvHandlerName="TBDD_GROUPSRowChangeEventHandler" msprop:Generator_RowDeletedName="TBDD_GROUPSRowDeleted" msprop:Generator_UserTableName="TBDD_GROUPS" msprop:Generator_RowChangedName="TBDD_GROUPSRowChanged" msprop:Generator_RowEvArgName="TBDD_GROUPSRowChangeEvent" msprop:Generator_RowClassName="TBDD_GROUPSRow">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -3099,7 +3087,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBPROFILE_GROUP" msprop:Generator_TableClassName="TBPROFILE_GROUPDataTable" msprop:Generator_TableVarName="tableTBPROFILE_GROUP" msprop:Generator_TablePropName="TBPROFILE_GROUP" msprop:Generator_RowDeletingName="TBPROFILE_GROUPRowDeleting" msprop:Generator_RowChangingName="TBPROFILE_GROUPRowChanging" msprop:Generator_RowEvHandlerName="TBPROFILE_GROUPRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPROFILE_GROUPRowDeleted" msprop:Generator_UserTableName="TBPROFILE_GROUP" msprop:Generator_RowChangedName="TBPROFILE_GROUPRowChanged" msprop:Generator_RowEvArgName="TBPROFILE_GROUPRowChangeEvent" msprop:Generator_RowClassName="TBPROFILE_GROUPRow"> <xs:element name="TBPROFILE_GROUP" msprop:Generator_TableClassName="TBPROFILE_GROUPDataTable" msprop:Generator_TableVarName="tableTBPROFILE_GROUP" msprop:Generator_RowChangedName="TBPROFILE_GROUPRowChanged" msprop:Generator_TablePropName="TBPROFILE_GROUP" msprop:Generator_RowDeletingName="TBPROFILE_GROUPRowDeleting" msprop:Generator_RowChangingName="TBPROFILE_GROUPRowChanging" msprop:Generator_RowEvHandlerName="TBPROFILE_GROUPRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPROFILE_GROUPRowDeleted" msprop:Generator_RowClassName="TBPROFILE_GROUPRow" msprop:Generator_UserTableName="TBPROFILE_GROUP" msprop:Generator_RowEvArgName="TBPROFILE_GROUPRowChangeEvent">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" /> <xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
@ -3137,7 +3125,7 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="FNPM_GET_FREE_USER_FOR_PROFILE" msprop:Generator_TableClassName="FNPM_GET_FREE_USER_FOR_PROFILEDataTable" msprop:Generator_TableVarName="tableFNPM_GET_FREE_USER_FOR_PROFILE" msprop:Generator_TablePropName="FNPM_GET_FREE_USER_FOR_PROFILE" msprop:Generator_RowDeletingName="FNPM_GET_FREE_USER_FOR_PROFILERowDeleting" msprop:Generator_RowChangingName="FNPM_GET_FREE_USER_FOR_PROFILERowChanging" msprop:Generator_RowEvHandlerName="FNPM_GET_FREE_USER_FOR_PROFILERowChangeEventHandler" msprop:Generator_RowDeletedName="FNPM_GET_FREE_USER_FOR_PROFILERowDeleted" msprop:Generator_UserTableName="FNPM_GET_FREE_USER_FOR_PROFILE" msprop:Generator_RowChangedName="FNPM_GET_FREE_USER_FOR_PROFILERowChanged" msprop:Generator_RowEvArgName="FNPM_GET_FREE_USER_FOR_PROFILERowChangeEvent" msprop:Generator_RowClassName="FNPM_GET_FREE_USER_FOR_PROFILERow"> <xs:element name="FNPM_GET_FREE_USER_FOR_PROFILE" msprop:Generator_TableClassName="FNPM_GET_FREE_USER_FOR_PROFILEDataTable" msprop:Generator_TableVarName="tableFNPM_GET_FREE_USER_FOR_PROFILE" msprop:Generator_RowChangedName="FNPM_GET_FREE_USER_FOR_PROFILERowChanged" msprop:Generator_TablePropName="FNPM_GET_FREE_USER_FOR_PROFILE" msprop:Generator_RowDeletingName="FNPM_GET_FREE_USER_FOR_PROFILERowDeleting" msprop:Generator_RowChangingName="FNPM_GET_FREE_USER_FOR_PROFILERowChanging" msprop:Generator_RowEvHandlerName="FNPM_GET_FREE_USER_FOR_PROFILERowChangeEventHandler" msprop:Generator_RowDeletedName="FNPM_GET_FREE_USER_FOR_PROFILERowDeleted" msprop:Generator_RowClassName="FNPM_GET_FREE_USER_FOR_PROFILERow" msprop:Generator_UserTableName="FNPM_GET_FREE_USER_FOR_PROFILE" msprop:Generator_RowEvArgName="FNPM_GET_FREE_USER_FOR_PROFILERowChangeEvent">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="SequentialOrder" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnSequentialOrder" msprop:Generator_ColumnPropNameInRow="SequentialOrder" msprop:Generator_ColumnPropNameInTable="SequentialOrderColumn" msprop:Generator_UserColumnName="SequentialOrder" type="xs:int" /> <xs:element name="SequentialOrder" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnSequentialOrder" msprop:Generator_ColumnPropNameInRow="SequentialOrder" msprop:Generator_ColumnPropNameInTable="SequentialOrderColumn" msprop:Generator_UserColumnName="SequentialOrder" type="xs:int" />
@ -3272,11 +3260,11 @@ FROM dbo.FNPM_GET_FREE_USER_FOR_PROFILE(@PROFILE_ID) AS FNPM_GET_FREE
</xs:element> </xs:element>
<xs:annotation> <xs:annotation>
<xs:appinfo> <xs:appinfo>
<msdata:Relationship name="FK_TBPM_ERROR_LOG_PROFILE1" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_ERROR_LOG" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserChildTable="TBPM_ERROR_LOG" msprop:Generator_ChildPropName="GetTBPM_ERROR_LOGRows" msprop:Generator_UserRelationName="FK_TBPM_ERROR_LOG_PROFILE1" msprop:Generator_ParentPropName="TBPM_PROFILERow" msprop:Generator_RelationVarName="relationFK_TBPM_ERROR_LOG_PROFILE1" msprop:Generator_UserParentTable="TBPM_PROFILE" /> <msdata:Relationship name="FK_TBPM_ERROR_LOG_PROFILE1" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_ERROR_LOG" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserChildTable="TBPM_ERROR_LOG" msprop:Generator_ChildPropName="GetTBPM_ERROR_LOGRows" msprop:Generator_UserRelationName="FK_TBPM_ERROR_LOG_PROFILE1" msprop:Generator_RelationVarName="relationFK_TBPM_ERROR_LOG_PROFILE1" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_ParentPropName="TBPM_PROFILERow" />
<msdata:Relationship name="FK_TBPM_PROFILE_TYPE1" msdata:parent="TBPM_TYPE" msdata:child="TBPM_PROFILE" msdata:parentkey="GUID" msdata:childkey="TYPE" msprop:Generator_UserChildTable="TBPM_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILERows" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_TYPE1" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_TYPE1" msprop:Generator_UserParentTable="TBPM_TYPE" msprop:Generator_ParentPropName="TBPM_TYPERow" /> <msdata:Relationship name="FK_TBPM_PROFILE_TYPE1" msdata:parent="TBPM_TYPE" msdata:child="TBPM_PROFILE" msdata:parentkey="GUID" msdata:childkey="TYPE" msprop:Generator_UserChildTable="TBPM_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILERows" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_TYPE1" msprop:Generator_ParentPropName="TBPM_TYPERow" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_TYPE1" msprop:Generator_UserParentTable="TBPM_TYPE" />
<msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE1" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE1" msprop:Generator_ParentPropName="TBPM_PROFILERow" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE1" msprop:Generator_UserParentTable="TBPM_PROFILE" /> <msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE1" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE1" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE1" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_ParentPropName="TBPM_PROFILERow" />
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" /> <msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" />
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" /> <msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" />
</xs:appinfo> </xs:appinfo>
</xs:annotation> </xs:annotation>
</xs:schema> </xs:schema>

View File

@ -4,25 +4,25 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="585" ViewPortY="100" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="585" ViewPortY="-84" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <Shapes>
<Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="4" X="1688" Y="-74" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" /> <Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="5" X="1688" Y="-74" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="23" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" /> <Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="23" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />
<Shape ID="DesignTable:TBDD_USER" ZOrder="6" X="608" Y="446" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:TBDD_USER" ZOrder="7" X="608" Y="446" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPM_TYPE" ZOrder="12" X="17" Y="113" Height="203" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" /> <Shape ID="DesignTable:TBPM_TYPE" ZOrder="13" X="17" Y="113" Height="203" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" />
<Shape ID="DesignTable:TBPM_ERROR_LOG" ZOrder="15" X="443" Y="-87" Height="111" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="21" /> <Shape ID="DesignTable:TBPM_ERROR_LOG" ZOrder="16" X="443" Y="-87" Height="111" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="21" />
<Shape ID="DesignTable:VWPM_CONTROL_INDEX" ZOrder="7" X="1648" Y="348" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:VWPM_CONTROL_INDEX" ZOrder="8" X="1648" Y="348" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBDD_CONNECTION" ZOrder="8" X="410" Y="114" Height="186" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="80" /> <Shape ID="DesignTable:TBDD_CONNECTION" ZOrder="9" X="410" Y="114" Height="186" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="80" />
<Shape ID="DesignTable:TBPROFILE_USER" ZOrder="10" X="509" Y="-80" Height="267" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:TBPROFILE_USER" ZOrder="11" X="509" Y="-80" Height="267" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:TBPM_PROFILE_FILES" ZOrder="16" X="1391" Y="-70" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" /> <Shape ID="DesignTable:TBPM_PROFILE_FILES" ZOrder="1" X="1391" Y="-70" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:TBPM_FILES_USER_NOT_INDEXED" ZOrder="13" X="851" Y="-49" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" /> <Shape ID="DesignTable:TBPM_FILES_USER_NOT_INDEXED" ZOrder="14" X="851" Y="-49" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:TBPM_PROFILE" ZOrder="1" X="215" Y="319" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBPM_PROFILE" ZOrder="2" X="215" Y="319" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBWH_CHECK_PROFILE_CONTROLS" ZOrder="19" X="0" Y="-72" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" /> <Shape ID="DesignTable:TBWH_CHECK_PROFILE_CONTROLS" ZOrder="19" X="0" Y="-72" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" />
<Shape ID="DesignTable:TBPM_PROFILE_CONTROLS" ZOrder="2" X="948" Y="407" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBPM_PROFILE_CONTROLS" ZOrder="3" X="948" Y="407" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBPM_CONTROL_TABLE" ZOrder="9" X="1301" Y="327" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBPM_CONTROL_TABLE" ZOrder="10" X="1301" Y="327" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBDD_GROUPS" ZOrder="5" X="19" Y="320" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:TBDD_GROUPS" ZOrder="6" X="19" Y="320" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPROFILE_GROUP" ZOrder="11" X="1054" Y="47" Height="286" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" /> <Shape ID="DesignTable:TBPROFILE_GROUP" ZOrder="12" X="1054" Y="47" Height="286" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:FNPM_GET_FREE_USER_FOR_PROFILE" ZOrder="3" X="807" Y="155" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" /> <Shape ID="DesignTable:FNPM_GET_FREE_USER_FOR_PROFILE" ZOrder="4" X="807" Y="155" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:TBWH_CONNECTION" ZOrder="20" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" /> <Shape ID="DesignTable:TBWH_CONNECTION" ZOrder="20" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
</Shapes> </Shapes>
<Connectors> <Connectors>
@ -78,7 +78,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL" ZOrder="14" LineWidth="11"> <Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL" ZOrder="15" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>141</X> <X>141</X>

View File

@ -123,7 +123,7 @@
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="SplitContainerDashboard.Location" type="System.Drawing.Point, System.Drawing"> <data name="SplitContainerDashboard.Location" type="System.Drawing.Point, System.Drawing">
<value>325, 118</value> <value>524, 205</value>
</data> </data>
<data name="SplitContainerDashboard.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms"> <data name="SplitContainerDashboard.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms">
<value>Horizontal</value> <value>Horizontal</value>
@ -141,7 +141,7 @@
<value>0, 25</value> <value>0, 25</value>
</data> </data>
<data name="ChartTopLeft.Size" type="System.Drawing.Size, System.Drawing"> <data name="ChartTopLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 199</value> <value>162, 147</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ChartTopLeft.TabIndex" type="System.Int32, mscorlib"> <data name="ChartTopLeft.TabIndex" type="System.Int32, mscorlib">
@ -166,7 +166,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="ToolStripTopLeft.Size" type="System.Drawing.Size, System.Drawing"> <data name="ToolStripTopLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 25</value> <value>162, 25</value>
</data> </data>
<data name="ToolStripTopLeft.TabIndex" type="System.Int32, mscorlib"> <data name="ToolStripTopLeft.TabIndex" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
@ -205,7 +205,7 @@
<value>0, 25</value> <value>0, 25</value>
</data> </data>
<data name="ChartTopRight.Size" type="System.Drawing.Size, System.Drawing"> <data name="ChartTopRight.Size" type="System.Drawing.Size, System.Drawing">
<value>463, 199</value> <value>330, 147</value>
</data> </data>
<data name="ChartTopRight.TabIndex" type="System.Int32, mscorlib"> <data name="ChartTopRight.TabIndex" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
@ -229,7 +229,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="ToolStripTopRight.Size" type="System.Drawing.Size, System.Drawing"> <data name="ToolStripTopRight.Size" type="System.Drawing.Size, System.Drawing">
<value>463, 25</value> <value>330, 25</value>
</data> </data>
<data name="ToolStripTopRight.TabIndex" type="System.Int32, mscorlib"> <data name="ToolStripTopRight.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -262,10 +262,10 @@
<value>1</value> <value>1</value>
</data> </data>
<data name="SplitContainerTop.Size" type="System.Drawing.Size, System.Drawing"> <data name="SplitContainerTop.Size" type="System.Drawing.Size, System.Drawing">
<value>695, 224</value> <value>496, 172</value>
</data> </data>
<data name="SplitContainerTop.SplitterDistance" type="System.Int32, mscorlib"> <data name="SplitContainerTop.SplitterDistance" type="System.Int32, mscorlib">
<value>228</value> <value>162</value>
</data> </data>
<data name="SplitContainerTop.TabIndex" type="System.Int32, mscorlib"> <data name="SplitContainerTop.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -307,7 +307,7 @@
<value>0, 25</value> <value>0, 25</value>
</data> </data>
<data name="ChartBottomLeft.Size" type="System.Drawing.Size, System.Drawing"> <data name="ChartBottomLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 124</value> <value>162, 89</value>
</data> </data>
<data name="ChartBottomLeft.TabIndex" type="System.Int32, mscorlib"> <data name="ChartBottomLeft.TabIndex" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
@ -331,7 +331,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="ToolStripBottomLeft.Size" type="System.Drawing.Size, System.Drawing"> <data name="ToolStripBottomLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 25</value> <value>162, 25</value>
</data> </data>
<data name="ToolStripBottomLeft.TabIndex" type="System.Int32, mscorlib"> <data name="ToolStripBottomLeft.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -370,7 +370,7 @@
<value>0, 25</value> <value>0, 25</value>
</data> </data>
<data name="ChartBottomRight.Size" type="System.Drawing.Size, System.Drawing"> <data name="ChartBottomRight.Size" type="System.Drawing.Size, System.Drawing">
<value>463, 124</value> <value>330, 89</value>
</data> </data>
<data name="ChartBottomRight.TabIndex" type="System.Int32, mscorlib"> <data name="ChartBottomRight.TabIndex" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
@ -394,7 +394,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="ToolStripBottomRight.Size" type="System.Drawing.Size, System.Drawing"> <data name="ToolStripBottomRight.Size" type="System.Drawing.Size, System.Drawing">
<value>463, 25</value> <value>330, 25</value>
</data> </data>
<data name="ToolStripBottomRight.TabIndex" type="System.Int32, mscorlib"> <data name="ToolStripBottomRight.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -427,10 +427,10 @@
<value>1</value> <value>1</value>
</data> </data>
<data name="SplitContainerBottom.Size" type="System.Drawing.Size, System.Drawing"> <data name="SplitContainerBottom.Size" type="System.Drawing.Size, System.Drawing">
<value>695, 149</value> <value>496, 114</value>
</data> </data>
<data name="SplitContainerBottom.SplitterDistance" type="System.Int32, mscorlib"> <data name="SplitContainerBottom.SplitterDistance" type="System.Int32, mscorlib">
<value>228</value> <value>162</value>
</data> </data>
<data name="SplitContainerBottom.TabIndex" type="System.Int32, mscorlib"> <data name="SplitContainerBottom.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -460,10 +460,10 @@
<value>1</value> <value>1</value>
</data> </data>
<data name="SplitContainerDashboard.Size" type="System.Drawing.Size, System.Drawing"> <data name="SplitContainerDashboard.Size" type="System.Drawing.Size, System.Drawing">
<value>695, 377</value> <value>496, 290</value>
</data> </data>
<data name="SplitContainerDashboard.SplitterDistance" type="System.Int32, mscorlib"> <data name="SplitContainerDashboard.SplitterDistance" type="System.Int32, mscorlib">
<value>224</value> <value>172</value>
</data> </data>
<data name="SplitContainerDashboard.TabIndex" type="System.Int32, mscorlib"> <data name="SplitContainerDashboard.TabIndex" type="System.Int32, mscorlib">
<value>7</value> <value>7</value>
@ -488,7 +488,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
CAAAAk1TRnQBSQFMAgEBAgEAASQBBAEkAQQBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CAAAAk1TRnQBSQFMAgEBAgEAASwBBAEsAQQBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -27,10 +27,12 @@ Public Class frmMain
Private RefreshHelper As RefreshHelper Private RefreshHelper As RefreshHelper
Dim DT_CHARTS As DataTable Dim DT_CHARTS As DataTable
Private formopenClose As Boolean = False
'Private _windream As New ClassWindream_allgemein 'Private _windream As New ClassWindream_allgemein
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Try Try
formopenClose = True
' Position und Größe speichern ' Position und Größe speichern
My.Settings.frmMainSize = Me.Size My.Settings.frmMainSize = Me.Size
My.Settings.frmMainPosition = Me.Location My.Settings.frmMainPosition = Me.Location
@ -66,7 +68,8 @@ Public Class frmMain
End Sub End Sub
Private Sub frmMain_Load(sender As Object, e As System.EventArgs) Handles Me.Load Private Sub frmMain_Load(sender As Object, e As System.EventArgs) Handles Me.Load
LOGGER.Debug("Initializing MainForm....", False) formopenClose = True
LOGGER.Debug("Initializing MainForm....")
Try Try
UserLookAndFeel.Default.SetSkinStyle("VS2010") UserLookAndFeel.Default.SetSkinStyle("VS2010")
Catch ex As Exception Catch ex As Exception
@ -96,7 +99,7 @@ Public Class frmMain
If Refresh_ConnectionString() = True Then If Refresh_ConnectionString() = True Then
Try Try
tslblLicenses.Text = "Anzahl Lizenzen: " & LICENSE_COUNT tslblLicenses.Text = "Anzahl Lizenzen: " & LICENSE_COUNT
LOGGER.Debug("Initializing MainForm....", False) LOGGER.Debug("Initializing MainForm....")
If ERROR_STATE = "NO USER" Then If ERROR_STATE = "NO USER" Then
MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt!" & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt!" & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
Me.Close() Me.Close()
@ -127,15 +130,8 @@ Public Class frmMain
LOGGER.Error(ex) LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler bei User Check:") MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler bei User Check:")
End Try End Try
Try
tsstlblUser.Text = Environment.UserName tsstlblUser.Text = Environment.UserName
Decide_Load()
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Fehler bei Laden des Formulars: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
End Try
Try Try
If VIEWER_UNIVERSAL = "" And VIEWER_ALL = "uviewer" Then If VIEWER_UNIVERSAL = "" And VIEWER_ALL = "uviewer" Then
@ -149,7 +145,6 @@ Public Class frmMain
LOGGER.Error(ex) LOGGER.Error(ex)
MsgBox("Unexpected Error in LoadForm - Step 4: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:") MsgBox("Unexpected Error in LoadForm - Step 4: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:")
End Try End Try
Load_Profile_items() Load_Profile_items()
Try Try
@ -165,6 +160,7 @@ Public Class frmMain
End Try End Try
Check_Timer_Notification() Check_Timer_Notification()
Restore_Form_Position() Restore_Form_Position()
Try Try
WINDREAM = New ClassPMWindream WINDREAM = New ClassPMWindream
WINDREAM.Start_WMCC_andCo() WINDREAM.Start_WMCC_andCo()
@ -180,9 +176,9 @@ Public Class frmMain
MsgBox("Unexpected Error in windream-login - Step 5: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:") MsgBox("Unexpected Error in windream-login - Step 5: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:")
End Try End Try
LOGGER.Debug("MainForm initialized!", False) LOGGER.Debug("MainForm initialized!")
End If End If
formopenClose = False
End Sub End Sub
Sub Check_Timer_Notification() Sub Check_Timer_Notification()
Try Try
@ -212,7 +208,12 @@ Public Class frmMain
'Sind Werte hinterlegt? 'Sind Werte hinterlegt?
If Not My.Settings.frmMainSize.IsEmpty Then If Not My.Settings.frmMainSize.IsEmpty Then
' Gespeicherte Werte verwenden ' Gespeicherte Werte verwenden
Try
Me.Size = My.Settings.frmMainSize Me.Size = My.Settings.frmMainSize
Catch ex As Exception
End Try
End If End If
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@ -285,11 +286,10 @@ Public Class frmMain
GridView_Docs.Columns("Last edited").DisplayFormat.FormatType = FormatType.DateTime GridView_Docs.Columns("Last edited").DisplayFormat.FormatType = FormatType.DateTime
GridView_Docs.Columns("Last edited").DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss" GridView_Docs.Columns("Last edited").DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss"
Try Try
GridView_Docs.Columns.Item("PROFILE_GROUP_TEXT").Visible = False
GridView_Docs.Columns.Item("PROFILE_GROUP_COLOR").Visible = False
Catch ex As Exception
GridView_Docs.Columns.Item("GROUP_TEXT").Visible = False GridView_Docs.Columns.Item("GROUP_TEXT").Visible = False
GridView_Docs.Columns.Item("GROUP_COLOR").Visible = False GridView_Docs.Columns.Item("GROUP_COLOR").Visible = False
Catch ex As Exception
End Try End Try
End If End If
@ -300,7 +300,7 @@ Public Class frmMain
End Sub End Sub
Sub Load_Profile_items() Sub Load_Profile_items()
Cursor = Cursors.WaitCursor
Dim profileGroupOpen As Boolean = False Dim profileGroupOpen As Boolean = False
Try Try
@ -349,7 +349,7 @@ Public Class frmMain
LOGGER.Info("Load_Profile_items - Error: " & ex.Message) LOGGER.Info("Load_Profile_items - Error: " & ex.Message)
MsgBox("Unexpected Error in Load_Profile_items - Error: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) MsgBox("Unexpected Error in Load_Profile_items - Error: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try End Try
Cursor = Cursors.Default
End Sub End Sub
Private Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs) Private Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs)
' Das aktuelle Layout speichern, bevor das neue geladen wird ' Das aktuelle Layout speichern, bevor das neue geladen wird
@ -666,11 +666,10 @@ Public Class frmMain
GridView_Docs.Columns("Last edited").DisplayFormat.FormatType = FormatType.DateTime GridView_Docs.Columns("Last edited").DisplayFormat.FormatType = FormatType.DateTime
GridView_Docs.Columns("Last edited").DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss" GridView_Docs.Columns("Last edited").DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss"
Try Try
GridView_Docs.Columns.Item("PROFILE_GROUP_TEXT").Visible = False
GridView_Docs.Columns.Item("PROFILE_GROUP_COLOR").Visible = False
Catch ex As Exception
GridView_Docs.Columns.Item("GROUP_TEXT").Visible = False GridView_Docs.Columns.Item("GROUP_TEXT").Visible = False
GridView_Docs.Columns.Item("GROUP_COLOR").Visible = False GridView_Docs.Columns.Item("GROUP_COLOR").Visible = False
Catch ex As Exception
End Try End Try
@ -743,13 +742,11 @@ Public Class frmMain
Try Try
Try Try
GridView_Docs.Columns.Item("PROFILE_GROUP_TEXT").GroupIndex = 0
GridView_Docs.Columns.Item("PROFILE_GROUP_TEXT").Visible = False
GridView_Docs.Columns.Item("PROFILE_GROUP_COLOR").Visible = False
Catch ex As Exception
GridView_Docs.Columns.Item("GROUP_TEXT").GroupIndex = 0 GridView_Docs.Columns.Item("GROUP_TEXT").GroupIndex = 0
GridView_Docs.Columns.Item("GROUP_TEXT").Visible = False GridView_Docs.Columns.Item("GROUP_TEXT").Visible = False
GridView_Docs.Columns.Item("GROUP_COLOR").Visible = False GridView_Docs.Columns.Item("GROUP_COLOR").Visible = False
Catch ex As Exception
End Try End Try
For I = 0 To GridView_Docs.GroupCount - 1 For I = 0 To GridView_Docs.GroupCount - 1
@ -809,12 +806,15 @@ Public Class frmMain
End Sub End Sub
Private Sub Timer_Tick(sender As System.Object, e As EventArgs) Handles TimerRefresh.Tick Private Sub Timer_Tick(sender As System.Object, e As EventArgs) Handles TimerRefresh.Tick
RefreshHelper.SaveViewInfo() If TimerRefresh.Enabled = False Then
Exit Sub
End If
If GridControl_Docs.Visible = True And formopenClose = False Then RefreshHelper.SaveViewInfo()
SaveGridLayout() SaveGridLayout()
Load_Profile_items() Load_Profile_items()
Decide_Load() Decide_Load()
tsslblLastSysnc.Text = "Letzte Synchronisation: " & Now.ToLongTimeString tsslblLastSysnc.Text = "Letzte Synchronisation: " & Now.ToLongTimeString
RefreshHelper.LoadViewInfo() If GridControl_Docs.Visible = True And formopenClose = False Then RefreshHelper.LoadViewInfo()
End Sub End Sub
Private Sub NotifyIcon1_Click(sender As System.Object, e As EventArgs) Handles NotifyIcon1.Click Private Sub NotifyIcon1_Click(sender As System.Object, e As EventArgs) Handles NotifyIcon1.Click
@ -854,11 +854,14 @@ Public Class frmMain
End Sub End Sub
Private Sub ToolStripButton2_Click_1(sender As Object, e As EventArgs) Handles tsbtnrefresh.Click Private Sub ToolStripButton2_Click_1(sender As Object, e As EventArgs) Handles tsbtnrefresh.Click
If GridControl_Docs.Visible = True And formopenClose = False Then
RefreshHelper.SaveViewInfo() RefreshHelper.SaveViewInfo()
SaveGridLayout() SaveGridLayout()
End If
Load_Profile_items() Load_Profile_items()
Decide_Load() Decide_Load()
RefreshHelper.LoadViewInfo() If GridControl_Docs.Visible = True And formopenClose = False Then RefreshHelper.LoadViewInfo()
End Sub End Sub
Private Sub ToolStripButton2_Click_2(sender As Object, e As EventArgs) Private Sub ToolStripButton2_Click_2(sender As Object, e As EventArgs)
@ -973,10 +976,9 @@ Public Class frmMain
Dim PROFIL_TITLE Dim PROFIL_TITLE
If GRID_LOAD_TYPE = "OVERVIEW" Then If GRID_LOAD_TYPE = "OVERVIEW" Then
Try Try
groupRowText = LTrim(RTrim(groupRowText.ToString.Replace("PROFILE_GROUP_TEXT: ", "")))
groupRowText = LTrim(RTrim(groupRowText.ToString.Replace("GROUP_TEXT: ", ""))) groupRowText = LTrim(RTrim(groupRowText.ToString.Replace("GROUP_TEXT: ", "")))
Catch ex As Exception Catch ex As Exception
groupRowText = LTrim(RTrim(groupRowText.ToString.Replace("GROUP_TEXT: ", "")))
End Try End Try
Dim _SPLIT As String() Dim _SPLIT As String()
@ -1044,7 +1046,7 @@ Public Class frmMain
WINDREAM = New ClassPMWindream() WINDREAM = New ClassPMWindream()
WINDREAM.Create_Session() WINDREAM.Create_Session()
LOGGER.Debug("windream initialized", False) LOGGER.Debug("windream initialized")
Return True Return True
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@ -1089,14 +1091,18 @@ Public Class frmMain
End If End If
Dim dt As New DataTable Dim NewDatatable As New DataTable
dt.Columns.Add("DOC_ID") NewDatatable.Columns.Add("DOC_ID")
dt.Columns.Add("DOC_GUID") NewDatatable.Columns.Add("DOC_GUID")
dt.Columns.Add("FULL_PATH") NewDatatable.Columns.Add("FULL_PATH")
For Each oRowHandle As Integer In oSelectedRows For Each oRowHandle As Integer In oSelectedRows
Dim R As DataRow = dt.NewRow
Dim DOC_ID = GridView_Docs.GetRowCellValue(oRowHandle, "DOC_ID") Dim DOC_ID = GridView_Docs.GetRowCellValue(oRowHandle, "DOC_ID")
If IsNothing(DOC_ID) Then
Continue For
End If
Dim R As DataRow = NewDatatable.NewRow
CURRENT_DOC_ID = DOC_ID CURRENT_DOC_ID = DOC_ID
Dim DOC_PATH = GridView_Docs.GetRowCellValue(oRowHandle, "FULL_FILE_PATH") Dim DOC_PATH = GridView_Docs.GetRowCellValue(oRowHandle, "FULL_FILE_PATH")
CURRENT_DOC_PATH = DOC_PATH CURRENT_DOC_PATH = DOC_PATH
@ -1104,14 +1110,13 @@ Public Class frmMain
R("DOC_ID") = CURRENT_DOC_ID R("DOC_ID") = CURRENT_DOC_ID
R("FULL_PATH") = CURRENT_DOC_PATH R("FULL_PATH") = CURRENT_DOC_PATH
R("DOC_GUID") = GridView_Docs.GetRowCellValue(oRowHandle, "GUID") R("DOC_GUID") = GridView_Docs.GetRowCellValue(oRowHandle, "GUID")
dt.Rows.Add(R) NewDatatable.Rows.Add(R)
Next Next
CURRENT_DT_MASS_CHANGE_DOCS = Nothing CURRENT_DT_MASS_CHANGE_DOCS = Nothing
CURRENT_DT_MASS_CHANGE_DOCS = dt CURRENT_DT_MASS_CHANGE_DOCS = NewDatatable
TimerRefresh.Enabled = False
frmMassValidator.Show() frmMassValidator.ShowDialog()
Load_Profile_items() Load_Profile_items()
Decide_Load() Decide_Load()
Else Else
@ -1143,7 +1148,7 @@ Public Class frmMain
GRID_LOAD_TYPE = "OVERVIEW" GRID_LOAD_TYPE = "OVERVIEW"
CURRENT_CLICKED_PROFILE_ID = 0 CURRENT_CLICKED_PROFILE_ID = 0
ToolStripLabelViewTape.Text = "Gesamtübersicht" ToolStripLabelViewTape.Text = "Gesamtübersicht"
Cursor = Cursors.WaitCursor
Try Try
Dim sel = String.Format("SELECT * FROM VWPM_PROFILE_USER WHERE USER_ID ={0}", USER_ID) Dim sel = String.Format("SELECT * FROM VWPM_PROFILE_USER WHERE USER_ID ={0}", USER_ID)
CURRENT_DT_VW_PROFILE_USER = ClassDatabase.Return_Datatable(sel, True) CURRENT_DT_VW_PROFILE_USER = ClassDatabase.Return_Datatable(sel, True)
@ -1153,29 +1158,29 @@ Public Class frmMain
LOGGER.Info(" >> no profiles for user: '" & Environment.UserName & "' configured!", False) LOGGER.Info(" >> no profiles for user: '" & Environment.UserName & "' configured!", False)
NO_WORKFLOWITEMS = True NO_WORKFLOWITEMS = True
tslblmessage.Text = "Keine Profile für Ihren User hinterlegt" tslblmessage.Text = "Keine Profile für Ihren User hinterlegt"
Cursor = Cursors.Default
Exit Sub Exit Sub
End If End If
Load_Profiles_for_User() Load_Profiles_for_User()
PROFILE_COUNT = 0 PROFILE_COUNT = 0
ClassInit.InitBasics() ClassInit.InitBasics()
Dim sql = CURRENT_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") Dim oSQLOverview = CURRENT_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW")
If IsDBNull(sql) Then If IsDBNull(oSQLOverview) Then
tslblmessage.Text = "No GROUP-CONFIG (SQL_PROFILE_MAIN_VIEW) in Baseconfig" tslblmessage.Text = "No GROUP-CONFIG (SQL_PROFILE_MAIN_VIEW) in Baseconfig"
Exit Sub Exit Sub
End If End If
sql = sql.Replace("@USER_ID", USER_ID) oSQLOverview = oSQLOverview.Replace("@USER_ID", USER_ID)
sql = sql.Replace("@USERNAME", Environment.UserName) oSQLOverview = oSQLOverview.Replace("@USERNAME", Environment.UserName)
sql = sql.Replace("@MACHINE_NAME", Environment.MachineName) oSQLOverview = oSQLOverview.Replace("@MACHINE_NAME", Environment.MachineName)
sql = sql.Replace("@DATE", Now.ToShortDateString) oSQLOverview = oSQLOverview.Replace("@DATE", Now.ToShortDateString)
sql = sql.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID) oSQLOverview = oSQLOverview.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
'String.Format("SELECT '1' TL_STATE,T.PROFIL_ID,T1.TITLE, T.DOC_ID, T.FILE_PATH, T.DMS_ERSTELLT_DATE,[dbo].[FNPM_LAST_WORKUSER_DOC] (T.PROFIL_ID,T.DOC_ID) AS 'Last User',[dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID) as 'Last edited' FROM TBPM_PROFILE_FILES T, VWPM_PROFILE_USER T1 " & 'String.Format("SELECT '1' TL_STATE,T.PROFIL_ID,T1.TITLE, T.DOC_ID, T.FILE_PATH, T.DMS_ERSTELLT_DATE,[dbo].[FNPM_LAST_WORKUSER_DOC] (T.PROFIL_ID,T.DOC_ID) AS 'Last User',[dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID) as 'Last edited' FROM TBPM_PROFILE_FILES T, VWPM_PROFILE_USER T1 " &
' "WHERE T.PROFIL_ID = T1.PROFIL_ID " & ' "WHERE T.PROFIL_ID = T1.PROFIL_ID " &
' "AND T1.ACTIVE = 1 And (UPPER(T1.USERNAME) = UPPER('{0}')) Order By T1.PRIORITY", Environment.UserName) ' "AND T1.ACTIVE = 1 And (UPPER(T1.USERNAME) = UPPER('{0}')) Order By T1.PRIORITY", Environment.UserName)
CURR_DT_PROFILEGRID = ClassDatabase.Return_Datatable(sql, True) CURR_DT_PROFILEGRID = ClassDatabase.Return_Datatable(oSQLOverview, True)
Dim DTGRID_GROUPS As DataTable Dim DTGRID_GROUPS As DataTable
Try Try
DTGRID_GROUPS = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_MAIN_VIEW_GROUPS WHERE ACTIVE = 1", True) DTGRID_GROUPS = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_MAIN_VIEW_GROUPS WHERE ACTIVE = 1", True)
@ -1194,8 +1199,7 @@ Public Class frmMain
'MsgBox("Aktuell keine Workflowdaten vorhanden!", MsgBoxStyle.Information) 'MsgBox("Aktuell keine Workflowdaten vorhanden!", MsgBoxStyle.Information)
GridControl_Docs.Visible = False GridControl_Docs.Visible = False
BindingNavigator1.Visible = False bindsourcegrid.DataSource = Nothing
BindingNavigator1.Dock = DockStyle.None
GridControl_Docs.DataSource = Nothing GridControl_Docs.DataSource = Nothing
Try Try
GridView_Docs.Columns.Clear() GridView_Docs.Columns.Clear()
@ -1203,9 +1207,10 @@ Public Class frmMain
LOGGER.Error(ex) LOGGER.Error(ex)
End Try End Try
Cursor = Cursors.Default
Exit Sub Exit Sub
End If End If
BindingNavigator1.Visible = True BindingNavigator1.Visible = True
BindingNavigator1.Dock = DockStyle.Top BindingNavigator1.Dock = DockStyle.Top
@ -1254,31 +1259,23 @@ Public Class frmMain
Dim oindex As Integer = 0 Dim oindex As Integer = 0
If Not IsNothing(DTGRID_GROUPS) Then If Not IsNothing(DTGRID_GROUPS) Then
For Each oGridGroup As DataRow In DTGRID_GROUPS.Rows For Each oGridGroup As DataRow In DTGRID_GROUPS.Rows
LOGGER.Debug($"Addig group [{oGridGroup.Item("GROUPNAME")}] for Grid...", False) LOGGER.Debug($"Addig group [{oGridGroup.Item("GROUPNAME")}] for Grid...")
GridView_Docs.Columns.Item(oGridGroup.Item("GROUPNAME")).GroupIndex = oindex GridView_Docs.Columns.Item(oGridGroup.Item("GROUPNAME")).GroupIndex = oindex
oindex += 1 oindex += 1
Next Next
Else
Try
GridView_Docs.Columns.Item("PROFILE_GROUP_TEXT").GroupIndex = oindex
Catch ex As Exception
GridView_Docs.Columns.Item("GROUP_TEXT").GroupIndex = oindex
End Try
End If End If
Try Try
GridView_Docs.Columns.Item("PROFILE_GROUP_TEXT").Visible = False
GridView_Docs.Columns.Item("PROFILE_GROUP_COLOR").Visible = False
Catch ex As Exception
GridView_Docs.Columns.Item("GROUP_TEXT").Visible = False GridView_Docs.Columns.Item("GROUP_TEXT").Visible = False
GridView_Docs.Columns.Item("GROUP_COLOR").Visible = False GridView_Docs.Columns.Item("GROUP_COLOR").Visible = False
Catch ex As Exception
End Try End Try
For index = 0 To GridView_Docs.GroupCount - 1 For index = 0 To GridView_Docs.GroupCount - 1
Dim v = GridView_Docs.GroupedColumns(index).ToString Dim v = GridView_Docs.GroupedColumns(index).ToString
LOGGER.Debug($"Addig tag [{GridView_Docs.Columns.Item("PROFILE_ID")}] for group...", False) LOGGER.Debug($"Addig tag [{GridView_Docs.Columns.Item("PROFILE_ID")}] for group...")
Dim sd = GridView_Docs.GroupedColumns(index).GetTextCaption Dim sd = GridView_Docs.GroupedColumns(index).GetTextCaption
GridView_Docs.GroupedColumns(index).Tag = GridView_Docs.Columns.Item("PROFILE_ID") GridView_Docs.GroupedColumns(index).Tag = GridView_Docs.Columns.Item("PROFILE_ID")
@ -1335,7 +1332,10 @@ Public Class frmMain
Reset_GridLayout() Reset_GridLayout()
End If End If
Else Else
NO_WORKFLOWITEMS = True NO_WORKFLOWITEMS = True
GridControl_Docs.Visible = False GridControl_Docs.Visible = False
BindingNavigator1.Visible = False BindingNavigator1.Visible = False
@ -1354,7 +1354,7 @@ Public Class frmMain
LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message) LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message)
MsgBox("Fehler Load_Grid_Overview - Fehler: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") MsgBox("Fehler Load_Grid_Overview - Fehler: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
End Try End Try
Cursor = Cursors.Default
End Sub End Sub
Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click
@ -1377,7 +1377,7 @@ Public Class frmMain
End Sub End Sub
Sub Reset_GridLayout() Sub Reset_GridLayout()
RefreshHelper.SaveViewInfo() If GridControl_Docs.Visible = True And formopenClose = False Then RefreshHelper.SaveViewInfo()
' Layout zurücksetzen ' Layout zurücksetzen
ResetLayout() ResetLayout()
@ -1476,7 +1476,7 @@ Public Class frmMain
Dim groupRowButtonClicked = (hi.HitTest = GridHitTest.RowGroupButton) Dim groupRowButtonClicked = (hi.HitTest = GridHitTest.RowGroupButton)
GridCursorLocation = e.Location GridCursorLocation = e.Location
If e.Button = MouseButtons.Left Then 'If e.Button = MouseButtons.Left Then
' wenn in eine Group Row Doppelt geklickt wurde.. ' wenn in eine Group Row Doppelt geklickt wurde..
If hi.InGroupRow And Not groupRowButtonClicked Then If hi.InGroupRow And Not groupRowButtonClicked Then
' Ein/Ausklappen verhindern ' Ein/Ausklappen verhindern
@ -1489,7 +1489,7 @@ Public Class frmMain
Else Else
GridViewItem_Clicked = Nothing GridViewItem_Clicked = Nothing
End If End If
End If 'End If
End Sub End Sub
Private Sub GridView_Docs_ColumnWidthChanged(sender As Object, e As Views.Base.ColumnEventArgs) Handles GridView_Docs.ColumnWidthChanged Private Sub GridView_Docs_ColumnWidthChanged(sender As Object, e As Views.Base.ColumnEventArgs) Handles GridView_Docs.ColumnWidthChanged
@ -1502,6 +1502,12 @@ Public Class frmMain
Private Sub GridView_Docs_LostFocus(sender As Object, e As EventArgs) Handles GridView_Docs.LostFocus Private Sub GridView_Docs_LostFocus(sender As Object, e As EventArgs) Handles GridView_Docs.LostFocus
' Save expanded GroupRows ' Save expanded GroupRows
RefreshHelper.SaveViewInfo() If GridControl_Docs.Visible = True And formopenClose = False Then RefreshHelper.SaveViewInfo()
End Sub
Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Decide_Load()
End Sub End Sub
End Class End Class

View File

@ -3,6 +3,7 @@ Imports Oracle.ManagedDataAccess.Client
Imports System.ComponentModel Imports System.ComponentModel
Imports DD_LIB_Standards Imports DD_LIB_Standards
Imports DigitalData.Controls.LookupGrid Imports DigitalData.Controls.LookupGrid
Imports System.IO
Public Class frmMassValidator Public Class frmMassValidator
Private DTCONTROLS As DataTable Private DTCONTROLS As DataTable
@ -11,6 +12,9 @@ Public Class frmMassValidator
Private PROFIL_VEKTORINDEX As String Private PROFIL_VEKTORINDEX As String
Private PROFIL_LOGINDEX As String Private PROFIL_LOGINDEX As String
Private WM_SEARCH As String Private WM_SEARCH As String
Private WMDocFileString As String
Private WMDocPathWindows As String
Private FINAL_PROFILE As String Private FINAL_PROFILE As String
Private MOVE2Folder As String Private MOVE2Folder As String
Private me_closing As Boolean = False Private me_closing As Boolean = False
@ -693,7 +697,7 @@ Public Class frmMassValidator
Private Function GetWM_Value_Multiple_Docs(idxname As String) Private Function GetWM_Value_Multiple_Docs(idxname As String)
Try Try
Dim valueAllOver = "" Dim valueAllOver = ""
Dim tempIndexValue = "" Dim tempIndexValue
Dim idoccount As Integer = 1 Dim idoccount As Integer = 1
For Each docrow As DataRow In CURRENT_DT_MASS_CHANGE_DOCS.Rows For Each docrow As DataRow In CURRENT_DT_MASS_CHANGE_DOCS.Rows
Dim WMDOC As WMObject Dim WMDOC As WMObject
@ -709,10 +713,15 @@ Public Class frmMassValidator
If idxname.StartsWith("[%VKT") And PROFIL_VEKTORINDEX <> "" Then If idxname.StartsWith("[%VKT") And PROFIL_VEKTORINDEX <> "" Then
tempIndexValue = ReturnVektor_IndexValue(idxname, WMDOC) tempIndexValue = ReturnVektor_IndexValue(idxname, WMDOC)
Else Else
Try
tempIndexValue = WMDOC.GetVariableValue(idxname) tempIndexValue = WMDOC.GetVariableValue(idxname)
Catch ex As Exception
End Try
If IsNothing(tempIndexValue) Then tempIndexValue = "" If IsNothing(tempIndexValue) Then tempIndexValue = ""
If tempIndexValue.ToString = "System.Object[]" Then If tempIndexValue.ToString = "System.Object[]" Then
LOGGER.Debug("TextBox with VektorField: " & idxname) LOGGER.Debug("VektorField: " & idxname)
If tempIndexValue.Length = 1 Then If tempIndexValue.Length = 1 Then
tempIndexValue = tempIndexValue(0) tempIndexValue = tempIndexValue(0)
Else ' Else '
@ -1087,26 +1096,18 @@ Public Class frmMassValidator
Dim workedFiles As Integer Dim workedFiles As Integer
For Each docrow As DataRow In CURRENT_DT_MASS_CHANGE_DOCS.Rows For Each docrow As DataRow In CURRENT_DT_MASS_CHANGE_DOCS.Rows
If docrow.Item("DOC_ID") = 0 Then
Continue For
End If
WMDocPathWindows = ""
WMDocFileString = ""
CURRENT_DOC_ID = docrow.Item("DOC_ID") CURRENT_DOC_ID = docrow.Item("DOC_ID")
CURRENT_DOC_GUID = docrow.Item("DOC_GUID") CURRENT_DOC_GUID = docrow.Item("DOC_GUID")
Dim WMDOC As WMObject GetWMDocPathWindows(0)
Try
Dim oRelPath = docrow.Item("FULL_PATH").ToString If CreateWMObject() = True Then
If oRelPath.StartsWith("\\") Then
oRelPath = oRelPath.Replace("\\", "\") If ClassFinalizeDoc.Write_Final_Metadata(CURRENT_WMFILE) = True Then
If oRelPath.StartsWith("\") = False Then
oRelPath = "\" & oRelPath
End If
End If
WMDOC = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, oRelPath)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("error while creating WMObject in (IndexVKTMultipleFiles): " & ex.Message)
Exit For
End Try
If Not IsNothing(WMDOC) Then
CURRENT_WMFILE = WMDOC
If ClassFinalizeDoc.Write_Final_Metadata(WMDOC) = True Then
Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", Environment.UserName, CURRENT_DOC_GUID) Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", Environment.UserName, CURRENT_DOC_GUID)
If ClassDatabase.Execute_non_Query(sql) = True Then If ClassDatabase.Execute_non_Query(sql) = True Then
workedFiles += 1 workedFiles += 1
@ -1279,29 +1280,78 @@ Public Class frmMassValidator
End If End If
btnSave.Enabled = True btnSave.Enabled = True
End Sub End Sub
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)
LOGGER.Debug($"Checking file [{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)
LOGGER.Debug($"Checking file [{oResult}] exists?...")
If File.Exists(oResult) = False Then
Return False
End If
End If
WMDocPathWindows = oResult
CURRENT_DOC_PATH = WMDocPathWindows
LOGGER.Debug($"CURRENT_DOC_PATH: {CURRENT_DOC_PATH}")
Return True
End Function
Private Function CreateWMObject() As String
CURRENT_WMFILE = Nothing
LOGGER.Debug($"in GetWMDocFileString...'")
Dim oWMRELPATH As String = CURRENT_DT_CONFIG.Rows.Item(0).Item("WM_REL_PATH")
If oWMRELPATH.EndsWith("\") = False Then
oWMRELPATH = oWMRELPATH & "\"
End If
Dim oWMOwnPath = WMDocPathWindows.Replace(oWMRELPATH, "")
LOGGER.Debug($"oWMOwnPath: {oWMOwnPath}")
Try
Dim oNormalizedPath = WINDREAM.NormalizePath(oWMOwnPath)
LOGGER.Debug($"oNormalizedPath: {oNormalizedPath}")
CURRENT_WMFILE = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, oNormalizedPath)
WMDocFileString = oNormalizedPath
LOGGER.Debug("WMDocFileString: " & WMDocFileString)
Return True
Catch ex As Exception
Dim _err1 As Boolean = False
LOGGER.Error(ex)
LOGGER.Info("Unexpected error creating WMObjectMV in GetWMDocFileString: " & ex.Message)
LOGGER.Info("Error Number: " & Err.Number.ToString)
errormessage = $"Could not create a WMObjectMV) for [{oWMOwnPath}]!"
frmError.ShowDialog()
WMDocFileString = ""
Return False
End Try
End Function
Function CheckAndUpdateIndices() Function CheckAndUpdateIndices()
' Try ' Try
Dim oMissing As Boolean = False Dim oMissing As Boolean = False
'Jedes Control auf panel durchlaufen 'Jedes Control auf panel durchlaufen
For Each oControl As Control In Me.pnldesigner.Controls For Each oControl As Control In Me.pnldesigner.Controls
'Der input der Box,Cmb muss jedes mal geleert werden Dim oMyControlInput As String = ""
Dim input As String = ""
'Jedes Control in Konfig Tab durchlaufn 'Jedes Control in Konfig Tab durchlaufn
For Each dr As DataRow In DTCONTROLS.Rows For Each oControlRow As DataRow In DTCONTROLS.Rows
If dr.Item("CTRL_TYPE") = "LBL" Or dr.Item("CTRL_TYPE") = "LINE" Then If oControlRow.Item("CTRL_TYPE") = "LBL" Or oControlRow.Item("CTRL_TYPE") = "LINE" Then
Continue For Continue For
End If End If
'Den Indexnamen auslesen 'Den Indexnamen auslesen
Dim oIndexname As String = dr.Item("INDEX_NAME") Dim oIndexname As String = oControlRow.Item("INDEX_NAME")
Dim _MUSSEINGABE As Boolean = CBool(dr.Item("VALIDATION")) Dim _MUSSEINGABE As Boolean = CBool(oControlRow.Item("VALIDATION"))
Dim _READ_ONLY As Boolean = CBool(dr.Item("READ_ONLY")) Dim _READ_ONLY As Boolean = CBool(oControlRow.Item("READ_ONLY"))
Dim Typ As String = dr.Item("CTRL_TYPE") Dim Typ As String = oControlRow.Item("CTRL_TYPE")
Dim CONTROL_ID As String = dr.Item("GUID") Dim CONTROL_ID As String = oControlRow.Item("GUID")
Dim ctrl = dr.Item("NAME") Dim ctrl = oControlRow.Item("NAME")
'Nur wenn der Name der Zeile entspricht und der Index READ_ONLY FALSE ist 'Nur wenn der Name der Zeile entspricht und der Index READ_ONLY FALSE ist
If dr.Item("NAME") = oControl.Name And (_READ_ONLY = False Or dr.Item("SQL_UEBERPRUEFUNG") <> "") And oIndexname <> "DD PM-ONLY FOR DISPLAY" Then If oControlRow.Item("NAME") = oControl.Name And (_READ_ONLY = False Or oControlRow.Item("SQL_UEBERPRUEFUNG") <> "") And oIndexname <> "DD PM-ONLY FOR DISPLAY" Then
LOGGER.Debug("Indexierung für Control (" & CONTROL_ID & ") '" & ctrl & "' gestartet. Indexname '" & oIndexname & "'") LOGGER.Debug("Indexierung für Control (" & CONTROL_ID & ") '" & ctrl & "' gestartet. Indexname '" & oIndexname & "'")
If oIndexname = "" Then If oIndexname = "" Then
LOGGER.Info(" >> Indexname is unexpected empty.") LOGGER.Info(" >> Indexname is unexpected empty.")
@ -1352,19 +1402,31 @@ Public Class frmMassValidator
End If End If
End If End If
Else Else
input = myLookup.SelectedValues.FirstOrDefault() oMyControlInput = myLookup.SelectedValues.FirstOrDefault()
If IsNothing(oMyControlInput) Then
Continue For
End If
If oMyControlInput = "Unexp. error in GetWM_Value_Multiple_Docs" Then
Continue For
End If
If oMyControlInput = "(Untersch. Werte)" Then
Continue For
End If
If oIndexname.StartsWith("[%VKT") Then If oIndexname.StartsWith("[%VKT") Then
input = Return_PM_VEKTOR(input, oIndexname) oMyControlInput = Return_PM_VEKTOR(oMyControlInput, oIndexname)
'Hier muss nun separat als Vektorfeld indexiert werden 'Hier muss nun separat als Vektorfeld indexiert werden
If IndexVKTMultipleFiles(input, PROFIL_VEKTORINDEX) = True Then If IndexVKTMultipleFiles(oMyControlInput, PROFIL_VEKTORINDEX) = True Then
oMissing = True oMissing = True
oErrorMessage = "Error while indexing LookupGrid with VEKTOR - Check the log and inform Your sysadmin" oErrorMessage = "Error while indexing LookupGrid with VEKTOR - Check the log and inform Your sysadmin"
Exit For Exit For
End If End If
Else Else
If oMyControlInput = "(Untersch. Werte)" Then
Continue For
End If
Dim result() As String Dim result() As String
ReDim Preserve result(0) ReDim Preserve result(0)
result(0) = input result(0) = oMyControlInput
If IndexMultipleFiles(oIndexname, result) = False Then If IndexMultipleFiles(oIndexname, result) = False Then
oMissing = True oMissing = True
oErrorMessage = "Error while indexing LookupGrid - Check the log and inform Your sysadmin" oErrorMessage = "Error while indexing LookupGrid - Check the log and inform Your sysadmin"
@ -1372,8 +1434,8 @@ Public Class frmMassValidator
Else Else
'Nun das Logging 'Nun das Logging
If PROFIL_LOGINDEX <> "" Then If PROFIL_LOGINDEX <> "" Then
input = Return_LOGString(input, input, oIndexname) oMyControlInput = Return_LOGString(oMyControlInput, oMyControlInput, oIndexname)
IndexVKTMultipleFiles(input, PROFIL_LOGINDEX) IndexVKTMultipleFiles(oMyControlInput, PROFIL_LOGINDEX)
End If End If
End If End If
End If End If
@ -1392,30 +1454,33 @@ Public Class frmMassValidator
oControl.BackColor = Color.Red oControl.BackColor = Color.Red
Exit For Exit For
Else Else
input = oControl.Text oMyControlInput = oControl.Text
'Wenn der Wert in ein Vektorfeld geschrieben wird 'Wenn der Wert in ein Vektorfeld geschrieben wird
If oIndexname.StartsWith("[%VKT") Then If oIndexname.StartsWith("[%VKT") Then
input = Return_PM_VEKTOR(input, oIndexname) oMyControlInput = Return_PM_VEKTOR(oMyControlInput, oIndexname)
'Hier muss nun separat als Vektorfeld indexiert werden 'Hier muss nun separat als Vektorfeld indexiert werden
If IndexVKTMultipleFiles(input, PROFIL_VEKTORINDEX) = True Then If IndexVKTMultipleFiles(oMyControlInput, PROFIL_VEKTORINDEX) = True Then
oMissing = True oMissing = True
oErrorMessage = "Error while indexing Textbox with VEKTOR - Check the log and inform Your sysadmin" oErrorMessage = "Error while indexing Textbox with VEKTOR - Check the log and inform Your sysadmin"
Exit For Exit For
End If End If
Else Else
If oMyControlInput = "" Then
Continue For
End If
Dim result() As String Dim result() As String
ReDim Preserve result(0) ReDim Preserve result(0)
result(0) = input result(0) = oMyControlInput
If IndexMultipleFiles(oIndexname, result) = False Then If IndexMultipleFiles(oIndexname, result) = False Then
oMissing = True oMissing = True
oErrorMessage = "error while indexing Textbox - Check the log and inform Your sysadmin" oErrorMessage = "Unexpected error while indexing Textbox - Check the log and inform Your sysadmin"
Exit For Exit For
Else Else
'Nun das Logging 'Nun das Logging
If PROFIL_LOGINDEX <> "" Then If PROFIL_LOGINDEX <> "" Then
input = Return_LOGString(input, input, oIndexname) oMyControlInput = Return_LOGString(oMyControlInput, oMyControlInput, oIndexname)
IndexVKTMultipleFiles(input, PROFIL_LOGINDEX) IndexVKTMultipleFiles(oMyControlInput, PROFIL_LOGINDEX)
End If End If
End If End If
End If End If
@ -1439,13 +1504,13 @@ Public Class frmMassValidator
oErrorMessage = "Please Choose DateValue for field'" & dtp.Name & "'" oErrorMessage = "Please Choose DateValue for field'" & dtp.Name & "'"
Exit For Exit For
ElseIf dtp.Value.ToString <> "01.01.0001 00:00:00" Then ElseIf dtp.Value.ToString <> "01.01.0001 00:00:00" Then
input = CDate(dtp.Value) oMyControlInput = CDate(dtp.Value)
'Wenn der WErt in ein Vektorfeld geschrieben wird 'Wenn der WErt in ein Vektorfeld geschrieben wird
If oIndexname.StartsWith("[%VKT") Then If oIndexname.StartsWith("[%VKT") Then
'Input = die String komponente als String 'Input = die String komponente als String
input = Return_PM_VEKTOR(input, oIndexname) oMyControlInput = Return_PM_VEKTOR(oMyControlInput, oIndexname)
'Hier muss nun separat als Vektorfeld indexiert werden 'Hier muss nun separat als Vektorfeld indexiert werden
If IndexVKTMultipleFiles(input, PROFIL_VEKTORINDEX) = True Then If IndexVKTMultipleFiles(oMyControlInput, PROFIL_VEKTORINDEX) = True Then
oMissing = True oMissing = True
oErrorMessage = "Error while indexing DatePicker with VEKTOR - Check the log and inform Your sysadmin" oErrorMessage = "Error while indexing DatePicker with VEKTOR - Check the log and inform Your sysadmin"
Exit For Exit For
@ -1453,7 +1518,7 @@ Public Class frmMassValidator
Else Else
Dim result() Dim result()
ReDim Preserve result(0) ReDim Preserve result(0)
result(0) = CDate(input) result(0) = CDate(oMyControlInput)
'MsgBox(_IDXName) 'MsgBox(_IDXName)
If IndexMultipleFiles(oIndexname, result) = False Then If IndexMultipleFiles(oIndexname, result) = False Then
oMissing = True oMissing = True
@ -1462,8 +1527,8 @@ Public Class frmMassValidator
Else Else
'Nun das Logging 'Nun das Logging
If PROFIL_LOGINDEX <> "" Then If PROFIL_LOGINDEX <> "" Then
input = Return_LOGString(input, input, oIndexname) oMyControlInput = Return_LOGString(oMyControlInput, oMyControlInput, oIndexname)
IndexVKTMultipleFiles(input, PROFIL_LOGINDEX) IndexVKTMultipleFiles(oMyControlInput, PROFIL_LOGINDEX)
End If End If
End If End If
End If End If
@ -1473,7 +1538,7 @@ Public Class frmMassValidator
End If End If
Case "System.Windows.Forms.CheckBox" Case "System.Windows.Forms.CheckBox"
Dim chk As CheckBox = oControl Dim chk As CheckBox = oControl
input = chk.Checked.ToString oMyControlInput = chk.Checked.ToString
If chk.Checked = False And _MUSSEINGABE = True Then If chk.Checked = False And _MUSSEINGABE = True Then
oMissing = True oMissing = True
@ -1492,9 +1557,9 @@ Public Class frmMassValidator
If oIndexname.StartsWith("[%VKT") Then If oIndexname.StartsWith("[%VKT") Then
'Input = die String komponente mit Boolean als String 'Input = die String komponente mit Boolean als String
input = Return_PM_VEKTOR(chk.Checked.ToString, oIndexname) oMyControlInput = Return_PM_VEKTOR(chk.Checked.ToString, oIndexname)
'Hier muss nun separat als Vektorfeld indexiert werden 'Hier muss nun separat als Vektorfeld indexiert werden
If IndexVKTMultipleFiles(input, PROFIL_VEKTORINDEX) = True Then If IndexVKTMultipleFiles(oMyControlInput, PROFIL_VEKTORINDEX) = True Then
oMissing = True oMissing = True
oErrorMessage = "Error while indexing Checkbox with VEKTOR - Check the log and inform Your sysadmin" oErrorMessage = "Error while indexing Checkbox with VEKTOR - Check the log and inform Your sysadmin"
@ -1508,8 +1573,8 @@ Public Class frmMassValidator
Else Else
'Nun das Logging 'Nun das Logging
If PROFIL_LOGINDEX <> "" Then If PROFIL_LOGINDEX <> "" Then
input = Return_LOGString(CBool(result(0)).ToString, result(0).ToString, oIndexname) oMyControlInput = Return_LOGString(CBool(result(0)).ToString, result(0).ToString, oIndexname)
IndexVKTMultipleFiles(input, PROFIL_LOGINDEX) IndexVKTMultipleFiles(oMyControlInput, PROFIL_LOGINDEX)
End If End If
End If End If
End If End If
@ -1609,18 +1674,22 @@ Public Class frmMassValidator
Continue For Continue For
End If End If
Dim WMDOC As WMObject Dim WMDOC As WMObject
Try
Dim oRelPath = docrow.Item("FULL_PATH").ToString Dim oRelPath = docrow.Item("FULL_PATH").ToString
Try
If oRelPath.StartsWith("W") Then
oRelPath = oRelPath.Substring(2)
Else
If oRelPath.StartsWith("\\") Then If oRelPath.StartsWith("\\") Then
oRelPath = oRelPath.Replace("\\", "\") oRelPath = oRelPath.Replace("\\", "\")
ElseIf oRelPath.StartsWith("\") = False Then ElseIf oRelPath.StartsWith("\") = False Then
oRelPath = "\" & oRelPath oRelPath = "\" & oRelPath
End If End If
End If
WMDOC = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, oRelPath) WMDOC = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, oRelPath)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("error while creating WMObject in (IndexMultipleFiles): " & ex.Message) LOGGER.Info("error while creating WMObject in (IndexMultipleFiles): " & oRelPath)
_allfine = False _allfine = False
Exit For Exit For

View File

@ -36,6 +36,7 @@ Partial Class frmValidator
Me.DateiÖffnenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DateiÖffnenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DateiInfoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DateiInfoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DateieigenschaftenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DateieigenschaftenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
Me.RefreshAdditionalSearchToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.RefreshAdditionalSearchToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.TITLELabel1 = New System.Windows.Forms.Label() Me.TITLELabel1 = New System.Windows.Forms.Label()
Me.btnSave = New System.Windows.Forms.Button() Me.btnSave = New System.Windows.Forms.Button()
@ -135,7 +136,6 @@ Partial Class frmValidator
Me.FinalIndexDataSet = New DD_PM_WINDREAM.FinalIndexDataSet() Me.FinalIndexDataSet = New DD_PM_WINDREAM.FinalIndexDataSet()
Me.TBPM_PROFILE_FINAL_INDEXINGBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.TBPM_PROFILE_FINAL_INDEXINGBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = New DD_PM_WINDREAM.FinalIndexDataSetTableAdapters.TBPM_PROFILE_FINAL_INDEXINGTableAdapter() Me.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = New DD_PM_WINDREAM.FinalIndexDataSetTableAdapters.TBPM_PROFILE_FINAL_INDEXINGTableAdapter()
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
CType(Me.BarAndDockingController3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.BarAndDockingController3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.BarAndDockingController2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.BarAndDockingController2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.BarAndDockingController1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.BarAndDockingController1, System.ComponentModel.ISupportInitialize).BeginInit()
@ -240,6 +240,11 @@ Partial Class frmValidator
resources.ApplyResources(Me.DateieigenschaftenToolStripMenuItem, "DateieigenschaftenToolStripMenuItem") resources.ApplyResources(Me.DateieigenschaftenToolStripMenuItem, "DateieigenschaftenToolStripMenuItem")
Me.DateieigenschaftenToolStripMenuItem.Name = "DateieigenschaftenToolStripMenuItem" Me.DateieigenschaftenToolStripMenuItem.Name = "DateieigenschaftenToolStripMenuItem"
' '
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
resources.ApplyResources(Me.ToolStripSeparator1, "ToolStripSeparator1")
'
'RefreshAdditionalSearchToolStripMenuItem 'RefreshAdditionalSearchToolStripMenuItem
' '
resources.ApplyResources(Me.RefreshAdditionalSearchToolStripMenuItem, "RefreshAdditionalSearchToolStripMenuItem") resources.ApplyResources(Me.RefreshAdditionalSearchToolStripMenuItem, "RefreshAdditionalSearchToolStripMenuItem")
@ -844,11 +849,6 @@ Partial Class frmValidator
' '
Me.TBPM_PROFILE_FINAL_INDEXINGTableAdapter.ClearBeforeFill = True Me.TBPM_PROFILE_FINAL_INDEXINGTableAdapter.ClearBeforeFill = True
' '
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
resources.ApplyResources(Me.ToolStripSeparator1, "ToolStripSeparator1")
'
'frmValidator 'frmValidator
' '
resources.ApplyResources(Me, "$this") resources.ApplyResources(Me, "$this")

View File

@ -807,505 +807,168 @@
</data> </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAAwAMDAQAAEABABoBgAAxgAAACAgEAABAAQA6AIAAC4HAAAYGBAAAQAEAOgBAAAWCgAAEBAQAAEA AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAABMLAAATCwAAAAAAAAAA
BAAoAQAA/gsAADAwAAABAAgAqA4AACYNAAAgIAAAAQAIAKgIAADOGwAAGBgAAAEACADIBgAAdiQAABAQ AAAxJKXfMSSl8jEkpe4uIqHuMCSk7lhC3e5eSOfuWELe7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
AAABAAgAaAUAAD4rAAAwMAAAAQAgAKglAACmMAAAICAAAAEAIACoEAAATlYAABgYAAABACAAiAkAAPZm 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uW0Th7ldC3e43KK3uVkDa7l5G5e5YQ97uYEnp7j4v
AAAQEAAAAQAgAGgEAAB+cAAAKAAAADAAAABgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8A uO4hF47uQDC77mBI6e5ZQ9/uWUPf7llD3+5YQt3uW0Xi7mBJ6u5fSOfuWUPf7lhC3u5ZQ9/uWUPf7llD
/wCAAIAA/wAAAIAAAAD//wAAgIAAAAD/AAAAgAAAAP//AACAgAAAAP8AAACAAP///wDAwMAAgICAAAAA 3+5ZQ9/uWUPf8llD398xJKX/MCOi/zIlqP84Kbz/LyKv/0Ewyf9oTvz/X0jm/19H5/9fR+f/X0fn/19H
AAD//////////f//////////////////////////3d7u3d3////////////////////////94b6+vu3f 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/Xkfm/2hO8v9MOdP/Py7H/2ZN
//////////////////////3rmpqpqZ7t3////////////////////9vquqqqqqvu3//93d3f//////// 9/9eR+X/ZUzx/1dB2f8rH6T/PS3D/2JK7P9gSOj/X0fn/19H5/9hSev/WELc/0w5zv9WQen/ZEv7/2FJ
/////euqqqq6q6q57d/d5+3d////////////3rq/u6urq6ur7t3e7h7d3///////////67rzX5qqqqq6 6/9eR+X/X0fn/19I6P9aROH/WELe/1lD3/8xJKXuMiWp/zAjoP8pHov/KR6L/yEYfv9GM7//W0To/1A8
vu79//7+3d//////////6qqfPzuqqrqqsX7////eHt3////////9u7uqc/Wqmqurqx/d////3+7d3/// 0P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdP/UT3T/11G
///+uqqqq18aqqqrq+7d3////9Pt3//////+qrqqqTN7G7q6q57d3d////3h7d/////7uq6uqnPz9fqq 9f9PO8z/HBRu/z8vrf9ZQ+X/UT3U/1lD4/8tIY7/Jx2H/1VA3f9TPtX/UT3U/1E91P9WQdv/SDbK/ycd
ux7t3d3d///9Ud3f///+u6qqqrU1M5q6qrm57d7d3////XHd/f/+uqqqqq9fm7qquxq7ve3d3f///91e kf8bFG//OSuk/1hC4P9SPtX/UT3U/1E90/9YQt3/WkTh/1lD3+4xJKXuOCm8/ykeiv8AAAD/AAAA/wAA
3//+uqmqqoFTuqqrq5manp7t7d/////eXt//u6qqqqk1W6q6sZq5rqme3d/d////3j//66upqqrvU1uq AP8CAQ//MSOs/zAjqf8sIZ7/LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/ywh
upipqNqbnt3d3f///53/27qqqaqRVTWruOqanamovt7d3d3/3z///buqqqqqk1urvqmpqOjqnt7u3d3d nf8tIZ//OCnD/yIZfP8AAAX/AAAA/ygekv8xJK7/LCCc/zUnuv8fFmT/AAAA/y0hn/8wJKr/LSGf/y0h
3e///+u7qqqqqrq+iJiprdqIpe5+7e3d3/////2bu7u6urvo2oqanY2unml3/u7t3+/////+G7u7s+2O n/8sIJ3/MiWq/zYosf8GBBb/AAAA/yAYd/81J7n/LCCd/ygdmP9QPNP/YEjo/1lD3+4xJKXuNym6/yke
qI3Yrdjo6e53d1Hu3T//////nt7tTdjYiN2Nj9jY7tZ3d5fh3e//////H//93e2N/fjd3/3djm1+d3dv i/8AAAD/AAAA/wAAAP8AAAD/GhNb/zwsyv8wI6D/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
3Z//////X//d3d3/39/d3+3d1dbmaXl13e//////7//f3e3///3/39Ld3t7u5mdp7z//////7f3dTU7u pP8wI6T/MCOj/zAkpP88K8r/Ihlx/wAAAP8AAAD/KB2G/zorxP8vI6D/MCSk/zAkpP86KsT/DAkn/xoT
3//9T97u5d1mbuaV3e//////7//d3d1N7tTd/f3U3u3e5m5n3e//////7//d/d3dTt/91OTd1N3d3W5u WP87K8f/LyOh/zAjpP8wI6T/LyOi/zkqwv8RDDr/AAAA/xkSVv87K8j/LyKg/ywgnv9RPdT/X0fn/1lD
3+//////7//dTU1N3f0kLS7t3dTd3dbm3+//////7//f3d3d3ULU0uLi393f3d3V/e//////7/39/d39 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AgII/zMmrP81J7L/MSSl/zEkpf8xJKX/MSSl/zEk
/uTSTU5F0t3/397u/+//////7//d3/3dLSQt3S4tJNTf/d3f3+//////7////d3S3u7U1NTi3i3d3d/9 pf8xJKX/MSSl/zEkpf8xJKX/MCSi/z0szP8jGnf/AAAA/wAAAP8hGG7/PCzK/zAko/8xJKX/MSSl/zAk
/+//////7//f3e1O3k1N3d3UUk3t3/3//+//////7//97dLdLt3d3f3f/dXv3//9/+//////7/3U1N3t o/83Kbv/KR6J/wsIJf83KLn/MiWo/zEkpf8xJKX/MSSn/zcpu/8NCSv/AAAA/w0KK/87K8f/MSSm/y0h
1e3U9N39//3v/f3//+//////7t3d3dTdTdXd3d3f3d7f/////+//////3u7d3d3d3d3e7d393d//3/// nv9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/xsUXP88LMr/MCOh/zEk
3u////////7u3d3d3d3d3d3d3/3////e7f/////////97u393d3d3d3f/f///97t/////////////+7t pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8wI6D/OyvH/ykdif8AAAD/AAAA/x8Xav89Lc3/MSSm/zEk
/d3f3d3f////3u3////////////////e7f39/f3////e7f//////////////////3u3f/9////7t//// pP8xJKX/MSSl/zEkpf8wI6L/OyvG/wsJJ/8ZE1b/PCzK/zAjof8xJKX/MSSk/zsrxf8WEEj/AAAA/wAA
//////////////////3u3////u3////////////////////////97u/e7f////////////////////// AP8kGnr/Pi7T/y0hnv9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQD
/////97t/////////////v////8AAP8AP////wAA/gAf////AAD4AAf///8AAPAAB4H//wAA4AABAP// D/80J7H/Myat/zEkpf8xJKX/MSSl/zEkpf8wJKT/MSSk/zEkpf87K8T/MCOh/wAAAP8AAAD/JBp3/zws
AADAAAAAf/8AAMAAADgf/wAAwAAA/A//AACAAAE/Af8AAIAAAB/B/wAAgAAAB+B/AACAAAAA+B8AAIAA yv8xJKb/MCSj/zEkpf8xJKX/MSSl/zEkpf8xJKP/OirF/x4WZf8AAAD/Myas/zYotv8xJKP/MSSk/zco
AAB+CwAAgAAAAD8HAACAAAAAH8EAAMAAAAAT8QAAwAAAAAD8AADAAAAAADUAAOAAAAAAAQAA8AAAAAAF uP8uIZn/AAAA/wAAAP8AAAH/Ihlz/zUnu/9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
AAD4AAAAAAUAAP4AAAAAAQAA/wAAEAABAAD/eAoYAAEAAP9wNRAAAQAA/3Q+0AAFAAD/IAeQAAEAAP9w AP8AAAD/AAAA/wAAAP8jGnb/OivE/zEko/8xJKP/MSSk/zQnsP86KsL/OirC/zkqv/81J7P/BwUW/wIB
ACgAAQAA/3IBgAAFAAD/cAIAAAUAAP90AABECQAA/2ooAA0NAAD/cYAABhUAAP9+AAAAbQAA/3QAAAG9 Bf8qH4//QjHd/zkqwv86KsL/Nyi4/zIlp/8wI6L/MSSl/zEkpf8xJKX/Nii1/y8inf8AAAD/Dwsz/zws
AAD/eAAJhe0AAP9gACLmvQAA/wAAAQf9AAD/AAACHfEAAP/gAABvwwAA//ggAb8PAAD//whB/D8AAP// yv8xJKT/MSSm/zAkov86KsT/Ixp4/wAAAP8AAAD/AAAA/yQbgv9ZQ+//Xkfk/1lD3+4xJKXuNym6/yke
wqvw/wAA///wd+P/AAD///4fj/8AAP///4Q//wAA////8P//AAAoAAAAIAAAAEAAAAABAAQAAAAAAAAA jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QDDb/OSrA/zAjof83KLn/OirE/zEkp/8jGXX/FA5C/w4K
AAAAAAAAAAAAAAAAAAAAAAAA/wD/AIAAgAD/AAAAgAAAAP//AACAgAAAAP8AAACAAAAA//8AAICAAAAA L/8DAgv/AAAA/wQDDf8PCzL/DAkq/xMOQf8gF2z/LCCT/zcpuv87K8b/NCaw/zAjov8xJKX/MiWp/zYn
/wAAAIAA////AMDAwACAgIAAAAAAAP///93d3////////////////97pHu3f/9/f//////////2Zqam+ tf8HBRj/AAAA/ykeif85KsD/MCSj/zEkpP8xJKX/OirD/y4imv8KByL/AAAA/wUDGP9YQen/X0jq/1lD
7f3d3d/////////rqqqqq57t7/7d///////9qzu6qaq+FR3eHt3f////3qFzmaqaq57//d593f///+up 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQX/MSSl/z8v1f8uIpv/FQ9I/wQD
rzuqq6sd3f/90e3d///quqk3Gaqant3f//3h7d//6qqps3Pqqxm+/d3//e7d3+moqp87mrqxnt7d3//d D/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0KLf8gF2z/MyWr/zsr
7t/hqoqu/qqr6Jrb7d3//93t+5qai+U7rqmp+J7t/f//3v26qqqTkbuOmt6une3d39X/25qaqrmu2Kn5 x/8zJq7/LyOf/zsrxf8WEEr/AAAA/w8LMf86K8P/MSSk/zEkpf8xJKT/MCOi/zssx/81J7T/BAMQ/wAA
iefn7d3R//0bu7Hh2I6r+agdlu7t3v///u7u6IrY2Nqe5m527t7///7/3e7v3939mV7m6WXe///+/93t AP9OO8b/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/KB2E/ycd
///98e4W6W6e3v///v/d7t3dTfVRXlflbt7///793U1V7d3/3l7WdpX+///+/93d3d/dLt/e3d5Z/v// hP8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
/v/f3d/S5OLU3//d5d7///79/d/y7U0lEtL93u/+///+///dLtTd3U7u3d3/3v///f/U1NXd3/39Qt3/ AP8AAAD/BgQT/x4WZv83KLf/OSq+/zwsyv8qH4//AAAA/wAAAP8tIZf/Nii2/zEkpf8xJKX/MSSl/zAj
//3///793d3STf3f3d7f3//e///+7d3d3d4t3d7d///e7/////3t7d3d3d3f///d7////////d7d//3d n/89Lc3/HhZp/wAAAP9NOsH/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
///e3f//////////3u7/3//e3f/////////////97t/e3f////////////////3e7////////B////AH AP8AAAD/BAMN/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
X//gAgf/wAAD/4AAAH8AAOA/AAA4DwAAHgcAACOBAAABwQAAAPCAACC8gAAABMAAIADgACAA+AAAAPsF AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JBx//LCCS/zoqw/8gF2v/AAAA/wAAAP8dFV//OivD/zEk
IAD7D6AA+wAgAPoAMAL7AQQC+0QBwPqYAIb7wAAM+wBoPvoAkFz4AADx/gAHx/+Djw//8Nw///4Q//// pP8xJKX/MSSl/zEko/85KsD/JBp6/wAABf9UP97/YEjs/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
h/8oAAAAGAAAADAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wD/AIAAgAD/AAAAgAAAAP// AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AACAgAAAAP8AAACAAAAA//8AAICAAAAA/wAAAIAA////AMDAwACAgIAAAAAAAP//3t3////////////e AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQACP8AAAD/AAAA/wAA
np7t/d3///////0aqqoe3pHt/////9m3uqmpHt3u3f///9qjmaqr7f/+7d///+uqP7q67d//3u3f/7qK AP8ZD1L/Oi7E/zEkpP8wJKP/MSSk/zQnr/9BL9n/EQw7/xINQ/9bRPT/Xkfl/1lD3+4xJKXuNym6/yke
tVuqu+3d/97v/+qqkbqr6e7t3//u/9uoqV65mo2u3d/97/6aqrGa2a6J7t3f7//ruxmtip2enn7d7//9 jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UWGH/GW50/xpydf8RS1b/AAAA/wAA
3u7Y3d2pVp5d7//9397d//7u7lad7//9397d3f3l5ple3//9/91O3d3dXVad7//9393d3SPd395d3//9 AP8AAAD/AAAA/wAAAP8FFRf/GWtz/xdmc/8bc3b/Cy81/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wg0
3/3dJNRS393d3///393eTd3dLd393//93dTS3d/dXf//3//93d3d3d3d3//d3///3d3d3d3f/93d//// K/8acnP/FmZx/xZncf8nJoj/MRug/zMlq/86K8P/OSrB/zQmsP8ZE1b/CAYc/zEkr/9TP9v/X0fn/1lD
//3d3f//3t3////////93e3e3////////////93f//////D//wDAI/8AgAD/AAAAPwAADh8AAAcHAAAA 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8y3fX/P////0L/
xwAAAHMAAAAZAIAABQDAAAEA4AABAOQ4AQDkCAEA7AABAOQAQQDmAEEA9AAJAOAEPQDgAHEA8AHDAP4P //8rvdn/AAAA/wAAAP8AAAD/AAAA/wAAAP8MNDn/Pf///zr///9E////G3eH/wAAAP8AAAD/AAAA/wAA
DwD/gH8A//H/ACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AP8AgACAAP8A AP8AAAD/AAAA/yGPm/9E////Of///zj///8pN5b/Mwyh/zcpuP8jGnb/EQ07/wAAAP8CAQT/LyKe/zQm
AACAAAAA//8AAICAAAAA/wAAAIAAAAD//wAAgIAAAAD/AAAAgAD///8AwMDAAICAgAAAAAAA/bvu393/ t/9QPND/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
///76que7u///+u3qqH/3t//uqN6vt3/7f+5iRuomt/97dqqOeqene/+/rqa6KmZXt7/7e2N6p533v/v AP8rvNT/Nuz//zj1//8loLv/AAAA/wAAAP8AAAD/AAAA/wAAAP8KLTH/NOT//zLa//86/f//F2Z0/wAA
3f/9137e/+/90tXvV97/798U3i7e/v/v/U7VVf/+/9393d3e//7/7d393d/97v/93d3f/e3/////3d7d AP8AAAD/Bhke/wUWGv8AAAD/AAAA/xx5hv86/P//MNv//zHd/P8sNZ7/Iwls/wwJKP8AAAD/AAAA/w0J
//+BPwAAgB8AAADHAAAAMwAAABgAAAAGAACAAAAAwAAAANOAAADYEAAA1AIAANgOAADIDgAAwhgAAOBj Lf82J7X/OCm8/ysfmf9RPdP/ZEvu/2BJ6u4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AAD8DwAAKAAAADAAAABgAAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AADQ0NAA0NDRAB0c AP8AAAD/AAAA/wAAAP8rvdT/Nu3//zj2//8lobv/AAAA/wAAAP8AAAD/AAAA/wAAAP8KLTH/NOX//zLb
bAAbGl0AJCN3ADIwZAA1NFAAKCBTADQyNQBDQUMATk1OACYkJQBILi4A/vb2APry8gD++voA+vb2AD0T //86/f//F2Z0/wAAAP8AAAD/I5en/yGOm/8AAAD/AAAA/xx6hv86/P//Mtz//zXh//8VKlD/AAAA/wAA
EgC9q6oAfmRiAIxycAC1lJEAmH58AL6mpADErasA+u3sALSfnQDRwL4Aybm3AN/QzgCzrKsA8NTOAMe0 AP8CAQf/HhZk/zkqwv81KLT/LiKf/zMmtf9aROb/WkTf/0Ixve4xJKXuNym6/ykejP8AAAD/AAAA/wAA
sAD24d0A+ubiAO3o5wBYPjgA8NzXANnJxQD+8e4A6eHfAO7NxAD15uIAu7SyAPTt6wDrwrUAvKCXAO3J AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zj2//8lobv/AAAA/wAAAP8AAAD/AAAA/wAA
vADn3NgA39nXALVbNwDUt6wAv6ykAKWZlADqvKcAyHRKAG5VSADqtpwA2KuUAPXr5gD+9vIA+vLuANOK AP8KLTH/NOX//zLb//86/f//F2Z0/wAAAP8AAAD/M+D8/zDU8f8AAAD/AAAA/xx6hv86/P//M93//zLg
YQCVY0cA4JhvAOmwkgBeTkUAnYyDALKppABpRS8A5qN7AOiqhQDPmnsA7cSqAPbVwAD23s8A+ubaAPqM /f8EIhf/BwIY/xsUXP8xJKX/OyvH/zEkpv81J7L/OivE/yYdgv81KJ//MyWt/ygdmO4xJKXuNym6/yke
PwDzy68A+NvHAPvk1AD87eMA/vLqAPuYUAD6omEA+65zAPy4hADwtIcA9r2RALaRdQD2xJsA+sqjAPTS jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zj2//8lobv/AAAA/wAA
twD71bQA/NOrAPraugD97NwA/vbuAPry6gD++vYA+vbyAPzhxADr0rcA/eXLANjErwBTLgIA/tuzAP3f AP8AAAD/AAAA/wAAAP8KLTH/NOX//zLb//86/f//F2d1/wAAAP8NPEH/Ofr//zj1//8LLjH/AAAA/xx7
vADy3MEA/uvUAP3y5QBMLAIANyADAFk2BAD+9uoAaUULAHZVIABSPyIA8+PJAFY9EwD++vIA+vbuAPbz h/86/P//Mt3//zDe+f8IJCb/Jwh7/z4t0P81J7T/MCOg/zorxP8yJar/FA9D/wAAAP8gF3f/Nii6/zIl
7QD369AA+vbpAPby5gD29fIA/PXbADUvFgD+/eUA/f3sAP7+8gD+/vYA+vryAP7++gD6+vYA29+7APP8 pu4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zj2
5gDo+t4A7e/sAKzJoQB/onYAw+C8ACZXHgDY+dQAUIRNAPr++gDH9sgAI3opAJbjnABQs1oAs/O4AIq3 //8lobv/AAAA/wAAAP8AAAD/AAAA/wAAAP8KLTH/NOb//zLb//86/f//F2Zz/wAAAP8ilan/Ovz//zv/
jgAqljcAX9BtAHfVggAMniEAL69CAD3KUgDLzcwA4PLvAM7W1gDK0tIA+fr6AIuMjAD4/f4At7u8AM3l //8giJr/AAAA/xx6hv86/P//Mt3//zPg//8AHg3/FwFH/zgqvf8xJaf/PCzK/ykdiP8EAw7/AAAA/wAA
7ACaw9IA7vn9AKWoqQCA1/sAYsr2AKLT6QCb2/wAt+b9AM7u/gDg9P4AsLS2AES08ACAwuoAz9TXAGav AP8qH4//Nym6/zEkpe4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
4gBzdngAM5rlAMTIywBUnNYABWzRACd/1ABBh8oAys7SAL3AwwCeoKIAkZKTAAdXvAAlZ7wAq62wAAVH AP8rvdT/Nu3//zn7//8jmbD/AAAA/wAAAP8AAAD/AAAA/wAAAP8KLTL/NOX//zLc//86/f//E1Jd/wAA
rAAnT5UAl5iaAAM0mQACM/4ACTboACg6gQACK/cAFTvjAGprcAACJO0AHjKnAF5ljwACHuUACiTTABUs AP8z4Pz/NOL//zXn//8x1vP/AAAA/xhpc/86/P//Mt3//zPg//8BHg3/CAAT/zkqvv89Lc3/Hxdq/wAA
uwCHiqAAAhvcAAIW1gADIPsADij+AAwhwABFTIIAj5KsAAIV3AACEtIAAhLOAAMW0QACDuwAAgzWAAIO AP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4uIaDuNCe3/yYch/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
zgACDskAAxL8AAcSvAANGvAAAwrCAAMHqQAQF6sAJShnAFlaegBBQlcATU5lAAIH4AACAtQAAgLKABgb AP8AAAD/AAAA/wAAAP8rvdT/Nu7//zTi//8swuP/IImY/x6Bjf8VV1v/AwwN/wAAAP8JJSr/NOP//zLb
mAAhIogAPDxuAHh4lABhYWMAfHx9AGhoaQD///8AhISEAHBwcABaWloAGBgYAAgICAD///////////+6 //87/v//Dj1G/w04PP87////Mdf//zLY//86////DDQ5/xNSW/86/f//Mt3//zPg//8EIRj/AAAA/zws
p6ezp8C6////////////////////////////////////////////////////wKul+Pj7pcirp/////// yf8gFmj/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4zJqjuOCq8/yofj/8AAAD/AAAA/wAA
/////////////////////////////////////////8D77wbsBQXs9e+4wsHA//////////////////// AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu7//zDQ//8z4P//Ovz//zv///87/f//M+Dn/xJP
////////////////////////q+3s69jQ2dnT2Ovs7/jIp///////uqfAuv////////////////////// U/8BBAf/L872/zLZ//85+f//E1Nd/yGQof849v//Mdn//zLZ//85+P//H4mb/xRaX/85+f//Mt3//zPg
//////+rBvPw5ubm5ubm5ubw6wa4wqf///+nxcHBxcD//////////////////////////6sG6vDx8PHx //8GIx//AgAC/xgSUv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe5cRePuX0jp/1E9
8fHx8fHx8ecGuMjAwLPBzwm4yKunuv//////////////////////wO/r8AQSCOrx8PDw8fHx8vHnBvjI 1P8qH5b/JBt7/xMNP/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu7//zDS//8z3f//N+///zTi
q/sLz6sKC/jBxcD/////////////////////0vPy8P5wcHAI8PDw8PDx8fHy8++4/QmgEBAQwQz3pauz //8w0///Nu3//zn7//8ceon/I5e4/zHU//8z3v7/Ipao/y7K7P86+///IZCi/yKVqv85+v//LMHh/yKW
uv////////////////+6Burx8fMMcXFx9Obi4vDw8fHx8gQM+38QEBAQEDL4Cc/Ixaf///////////// pv805P//M93//zPg//8IJCj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEk
///I9PLx8fDwBHFwcdfm4uLw8PHx8vP3oi2MEBAQEBAQugsK+Kuzuv/////////////t6/Hx8fDi5gxw pe5ZQ97uY0rq/1hC3/83KMP/QTDf/0Qy5f8xJKT/Cwgn/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu7//zLb
cPPm5uLi8PHx8ertGyEdHowQEBAQEBCnCf3IxcC6///////////c6vHy8eLi2udxahIICAjz8PDx8er1 //8uzO//KrXR/zDS8P848///MNP//zPg//815f//JJy4/yu74P8w0fz/Mdj7/zLa//86////Ci0x/w05
RBkZGScyLRAQEBAQjKUJz8Gzuv/////////16vHx6Obm5tr+cGpqcGoI4vDx8un197gbExwZHDF/EBAQ Pf87////Mtf//zLY//8w0///M9///zPg//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
EBC2/Qv4q6e6///////16vHi4ubm5ub0anJqamoE4vHx8erszMn1FRwTExkcKX8QEBAQEKAJC8izwP// AP8pHoz/Nym6/zEkpe4xJKXuOyu8/zEkmP8OCzL/FxFN/x0VYP8vIpv/KR6J/wcEFf8AAAD/AAAA/wAA
///t6vHo2ebm5ubQdnRy8+rn8PHx8eoFycnJyd0XGBgTISctEBAQEBB/qwr9wae6///28/Lw6Obm5uba AP8rvdT/Nu3//zn4//8knLX/AAAA/wUUFf8ehZH/N+///zHU//805P//KbHQ/yalxf8x0/v/M93//zXn
B3R0zObi8PHx8vPMxsnrybvM7UQYGCEpEBAQEBAQECS4C7izuv/ABerx4tra5tna23J0dMzw8PHy8gPH //8x1/X/AAAA/wEDAf8z4P3/NOP//zLb//8x1f//M9///zPg//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAA
w8bG1bfDw8b3RBkxLSQ8DhAQEBAQMv0Lp///7/Py8OLZ2tra2Qd0dXVG9fHx88y9vNXGxru9w8PDxxcn AP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4uIqHuMya2/yQagv8AAAD/AAAA/wAAAP8AAAD/AgII/wMC
HCEcMjwOZBAQEA4Lp///qwXq8vDi5tnZ2dMHcnR0RvDqA8S9vMbG1Le+xLy8xhQZGRgYGRwxLQ4OJCML Cv8AAAD/AAAA/wAAAP8rvdT/Nu3//zj3//8loLn/AAAA/wAAAP8AAAD/MdPu/zTl//804v//KrjZ/ySf
/////90E6vHw8OLm5ubm8w1yBeoDxLm8vMPDw7W7vb28wxQZFRVFNRgZJx4eICIL///////WA/Py8fDw vf8v0Pj/MdT//zv///8hj6L/AAAA/wAAAP8knLH/Ov7//zHT//8x1v//M9///zPg//8IJCf/AAAA/wAA
8PDw4vHq6gPEubm5vMPLw7W3ubm5xDmSmpB2FS8YFi80JyIL////////1vUD6ury8uny6urzzLu0tLm5 AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4xJKXuNym6/ykejP8AAAD/AAAA/wAA
vbzDw663u7m5vpWbnpWSkEMVFhYWISYL/////////7r27AMDA+oDAwb2ra20tLm5ra25vK61t7u0tJeb AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zn5//8knbb/AAAA/wAAAP8BBQT/Mtzy/zTi
n52VkpCQJRcWISYL////////////9xunq8gbO1vIrK20tKysr6ysrbGut62tu5Kcm5WdnZWSlZA5GSb9 //804v//KrfY/ySfvf8v0Pj/Mdf//zr6//8OO0D/AAAA/wAAAP8QR0//Ovz//zHU//8x1v//M9///zPg
////////////9xAQZIBma1zIra2vsLCwr6+vr6qiqK6tt5Kcm5qdnZ2dmpKQFiL9////////////9xAQ //8IJCf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4xJKXuNym6/yke
b2hmX1vIsKqqsrGxsbGwsBD7NqixqZKWnJeamp2dnZqVGyL9////////////9xAQb1FsX1s2JySqEKqy jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zjz//8lo77/Aw8R/ww1
srKyHj46WhVFjZKWnJeXnp6dnp2VGCn3////////////zxAQb2hsX1tYWkQ2ohAQEDxZVxBnQUlaRJKW OP8mpLP/Nu7//zDT//805f//KK/P/yakxP8w0vr/N/D//y3G5f8AAAD/AAAA/wAAAP8BBAP/L83s/zbq
lpuXn56enp6VGCL3////////////zxAQUmhsX1tZWEdaRPscXFlmPj5hLkhJSFo2mJacm5+fn56VGCTP //8x1v//M9///zPg//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEk
////////////zxAQUmhsT1xbWVlYSERIbGFfVE44SF1KQlg7O4+Ylpyfn5+aIS24////////////uBAQ pe4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8qvdL/Nu7//zHW
YWhmXk9cW1tbNzBmX05OTlQ4MzhKZzc6WYmRlJiYm5+XJw64////////////uBAQUlFmS11dT09LIm1W //8x1Pz/MNL0/zbs//849P//L87//zTj//805f//I5i0/yu63v8w0f7/PP///xt5h/8AAAD/AAAA/wAA
Tk5OVVU4Mzg4R2ZtT3yLkZGUmJa4Mn/4////////////uBAQUk1RZmZLZiJRShdOTlRUVVY4ODg4ODhY AP8AAAD/HoST/zv///8w0///M9///zPg//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
bICKi4uUq6WlLX/4////////////uBAQb2FNUVEjUktHPxdUVFVWVlc4ODg4OD8/R24QihzBLDE+LQ77 AP8pHoz/Nym6/zEkpe4xJKXuNym6/ygdi/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEA
////////////+BAQPlJSUj5MQkdBQftVVVZWWV9HPzg4OD8/QTUyJ7YmPn57ew77////////////+BAQ Av8svNf/Nu3//zDT//8y2f//NOP//zLZ//8x1///OPf//zn1//8acHz/IpS2/zHR/P8y2v//Nu3//wgm
Pg4+YU9IR0dHSftWVllcX2tsaGhIOD8/R0QsMj4+Pj57e2T7////////////+BAQEA5LQkhISEhISfhX KP8AAAD/AAAA/wAAAP8AAAD/CzA1/zj0//8x2P//M97//zPf//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAA
X19fX2tsaG5vZEpBR0QkPi17Pj4+PmT7////////////+xAQZltCQjpCQkJCO7j7aWtra2tsaG6APhB/ AP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4qHpruMSSy/yQbhP8AAAD/AAAA/wAAAP8CAgf/CQcf/xAM
G7g+e3t7e38OPmT7////////////+8IuWzc3Nzo3Ojc6OjovFzY0a2xsaG6AUhzINjJ7Pnt7f38OZIz7 N/8aE1f/IhRw/yQNdP8v1/D/N////zn6//85+///Ofv//zr7//837v//LsfO/w9AQv8CCw3/OPT//zr+
////////////s/j4NhlKT0pKNzc3Nzc3Nzs2NjRmbm4eRR8xDj4+fz5/DmRkwPv7//////////////+z //9C////K7vV/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/y7H5P9B////Ov///zb///8JKiz/AAAA/wAA
wvv7GDBLMDAuLi4uLi4uNxkYaR0sMQ4+Dg4ODg4QEMD7pcX//////////////////7rI+/s2aWZLKioq AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe5HNcTuUj7Y/0k3xf8lHIX/KR6M/ywg
KjAwMDAwNCdkDg4ODg4OEGSgpfvF/////////////////////////8Cl+KUhIEwgICAgICAqKisODg4O lP8vIp3/NCaw/zkqvv86K8X/OCW6/y8dnP8uYrf/HG6G/xBeWv8XZXP/F2Vy/xRVYP8MNDL/AAAA/wAA
DmQQMqX7xf//////////////////////////////uqul+xsmIyMmJiYmJjwQZGQQEDKl+6v///////// AP8EERT/GGt5/xhmc/8bdnb/Ci4z/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ww0Of8adnH/FWNr/yJr
////////////////////////////s6X7yCc+Gjw8Kw4QEBAywfur//////////////////////////// lv8BDwv/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe5gSeruZUzv/1dB
////////////////q/ulHXsQDhAQjMH7wf////////////////////////////////////////////// 3v8zJbT/Nie5/zYotv81J7L/MyWq/zEkpf8wJKP/MSWj/zAloP8tBYz/JgBx/wUABP8AAAD/AAAA/wAA
//+zwqXIKYzB+8H//////////////////////////////////////////////////////7rI+/vC//// AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
////////////////////gP////8AAP4Af////wAA+AAf////AADwAA+H//8AAOAABwP//wAAwAAAAP// AP8AAAD/FAA4/y8Bkf8EAA7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEk
AACAAAAAf/8AAIAAAAAf/wAAAAAAAA//AAAAAAAAA/8AAAAAAAAA/wAAAAAAAAB/AAAAAAAAAB8AAAAA pe5ZQ9/uX0fn/1E91P8tIZ//MCOk/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSk/zEkpP8wJKD/NCew/zYn
AAAADwAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAQAAgAAAAAABAACAAAAAAAMAAMAAAAAAAwAA4AAAAAAD tP8aElb/AQAC/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AADwAAAAAAMAAPgAAAAAAwAA/gAAAAADAAD+AAAAAAMAAP4AAAAAAwAA/gAAAAADAAD+AAAAAAMAAP4A AP8AAAD/AAAA/wEAA/8jGXT/OCm8/zkswv8oHoj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AAAAAwAA/gAAAAADAAD+AAAAAAMAAP4AAAAAAwAA/gAAAAADAAD+AAAAAAMAAP4AAAAAAwAA/gAAAAAD AP8pHoz/OCq7/y4ioO5ZQ9/uX0fn/1E91P8tIZ//MCOk/zEkpf8xJKX/MSSl/zEkpP8wJKP/MSSl/zMl
AAD+AAAAAAMAAP4AAAAAAwAA/gAAAAADAAD+AAAAAAMAAP+AAAAABwAA/+AAAAAfAAD//AAAAH8AAP// qv82KLX/OCm9/z4uz/9DMeD/LCGV/wkHH/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AAAB/wAA///gAAf/AAD///wAH/8AAP///wB//wAA////wf//AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAA AP8AAAD/AAAA/wAAAP8AAAD/Ew4+/y8inv87K8f/MiWn/zAkov87LMf/Ixp2/wAAAP8AAAD/AAAA/wAA
AAAAAAAAAAAAAAAAAAAAAAAAAP8AANDQ0ADQ0NEAHRxsABsaXQAkI3cAMjBkADU0UAAoIFMANDI1AENB AP8AAAD/AAAA/wAAAP8kGoL/LiGt/zIlp+5ZQ9/uX0fn/1E91P8tIZ//MSOm/zMmrP81J7P/Nym6/zkq
QwBOTU4AJiQlAEguLgD+9vYA+vLyAP76+gD69vYAPRMSAL2rqgB+ZGIAjHJwALWUkQCYfnwAvqakAMSt wf86K8P/OCm9/zUnsv8uIpv/Jx2B/xsUW/8QDDj/DAkp/wQDDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
qwD67ewAtJ+dANHAvgDJubcA39DOALOsqwDw1M4Ax7SwAPbh3QD65uIA7ejnAFg+OADw3NcA2cnFAP7x AP8AAAD/AAAA/wAAAP8BAQL/CAYc/xcRTv8qH4z/OSrA/zcpuv8wI6H/MSSl/zEkpP8xJKX/OivE/ysg
7gDp4d8A7s3EAPXm4gC7tLIA9O3rAOvCtQC8oJcA7cm8AOfc2ADf2dcAtVs3ANS3rAC/rKQApZmUAOq8 kv8RDTr/AgEG/wAAAP8AAAD/AAAA/wAAAP8vI5b/SzjX/1lD3u5gSeruZ03w/1hC4f80Jrf/Nie3/zMl
pwDIdEoAblVIAOq2nADYq5QA9evmAP728gD68u4A04phAJVjRwDgmG8A6bCSAF5ORQCdjIMAsqmkAGlF q/8uIpv/Kh6M/yEYcf8bFFv/Eg08/woHIv8BAQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
LwDmo3sA6KqFAM+aewDtxKoA9tXAAPbezwD65toA+ow/APPLrwD428cA++TUAPzt4wD+8uoA+5hQAPqi AP8AAAD/AAAA/wgGHP8mG33/Ixp1/yUbfP8tIZb/NCav/zorxf84Kbz/MSSl/zAko/8xJKX/MSSl/zEk
YQD7rnMA/LiEAPC0hwD2vZEAtpF1APbEmwD6yqMA9NK3APvVtAD806sA+tq6AP3s3AD+9u4A+vLqAP76 pf8xJKT/MCOi/zgpvP85Kr7/LiKa/yQaeP8hGG//Ixp2/ycdjf9VQNz/aE71/1xF5O5EM8DuSTfQ/zor
9gD69vIA/OHEAOvStwD95csA2MSvAFMuAgD+27MA/d+8APLcwQD+69QA/fLlAEwsAgA3IAMAWTYEAP72 qv8PCzb/DQks/wcFGP8BAQT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
6gBpRQsAdlUgAFI/IgDz48kAVj0TAP768gD69u4A9vPtAPfr0AD69ukA9vLmAPb18gD89dsANS8WAP79 AP8AAAD/AAAA/wAAAP8AAAD/Dgow/zYouP89Lc//OSrA/zgqv/82KLb/MyWr/zEko/8xJKT/MSSl/zEk
5QD9/ewA/v7yAP7+9gD6+vIA/v76APr69gDb37sA8/zmAOj63gDt7+wArMmhAH+idgDD4LwAJlceANj5 pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zAko/8xJKb/NSe0/zkqwP85KsL/OCm//zIlsf9SPtb/Xkbl/1lD
1ABQhE0A+v76AMf2yAAjeikAluOcAFCzWgCz87gAireOACqWNwBf0G0Ad9WCAAyeIQAvr0IAPcpSAMvN 3+4pHpruMCOx/yIZf/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
zADg8u8AztbWAMrS0gD5+voAi4yMAPj9/gC3u7wAzeXsAJrD0gDu+f0ApaipAIDX+wBiyvYAotPpAJvb AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UD0T/OSrB/zcpuP8vI5//MSSk/zEkpP8xJKX/MSSl/zEk
/AC35v0Azu7+AOD0/gCwtLYARLTwAIDC6gDP1NcAZq/iAHN2eAAzmuUAxMjLAFSc1gAFbNEAJ3/UAEGH pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpP8xJKT/MCOj/y0h
ygDKztIAvcDDAJ6gogCRkpMAB1e8ACVnvACrrbAABUesACdPlQCXmJoAAzSZAAIz/gAJNugAKDqBAAIr n/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
9wAVO+MAamtwAAIk7QAeMqcAXmWPAAIe5QAKJNMAFSy7AIeKoAACG9wAAhbWAAMg+wAOKP4ADCHAAEVM AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoTWf87LMn/NSey/zAjof8xJKX/MSSl/zEk
ggCPkqwAAhXcAAIS0gACEs4AAxbRAAIO7AACDNYAAg7OAAIOyQADEvwABxK8AA0a8AADCsIAAwepABAX pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
qwAlKGcAWVp6AEFCVwBNTmUAAgfgAAIC1AACAsoAGBuYACEiiAA8PG4AeHiUAGFhYwB8fH0AaGhpAP// pf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
/wCEhIQAcHBwAFpaWgAYGBgACAgIAP//////usXByKuzuv//////////////////////////////usXP AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IRhw/z0tzf8zJa3/MCOi/zEk
7gYG7s/Cp///usCzp8C6/////////////////7r49NTT0NPU9PX4q8DFwcLIq6e6//////////////+6 pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
uPPn6ObT0+Le6+zPpaW4CQnPyKunuv///////////8jr9AwJ2+bT4OPj6wYLCgurtvcK+8GzwLr///// pf8xJKX/MSSl/zEkpf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykei/8AAAD/AAAA/wAA
//+zzOPzDHEJ1crQ2OPk8wzIKRAQLbP9C8Krp7r//////8Hr5OLrDHHMzsrQ2OPr9aAcMowQEIzBCs/I AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8mHIL/PCzK/zEk
xae6////0ufgzcr0/oHM0dvX8Ov0RMEdJDKMEA4ppQr4wbPA///c5NDKysvscXByBeLi6/Tv9dIpHRwp pv8wI6L/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
EBAOMrgLyKvA/9LnyrzKysmBeAbb3vDr9MfGx8DIHSG2fxAQf8D9uLO6wfPNyrzKzgd03M7i8dHHvsbE pP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/LyKj/ywgnv9RPdT/X0fn/1lD3+4xJKXuOCm8/yke
osftNR0nZHtkECRFuMC69djKysrK0Qp0ddHyzMS+xsSwvcTMwjIpHjJ/EA4nC/+r9NvNysrZ1Qcl9NHM iv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAM/ygd
tLnGw6i9vbvMGKUdJzI8JjH9///W9OvY2OPw4OvMzLu0tMbGqMS9ufeSmpA2GSc0af3////B9fTz8/Pz jv84KcT/LSGd/ywhnv8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0h
9NKttLS5xsaoxLy9OZuempX9Fhwn/f//////+9b29kREt7m7t6y1vaHDxL1Dm5+enpqVFx79///////7 n/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LCCe/ygdmP9QPNP/YEjo/1lD
EINoa7i5u7CysrGwDre9xEabl5qen5eVHvf///////sOPmZfuKKqqqqqssB/RhS7Rpuemp6en/0y9/// 3+4xJKXuMiWp/zAjoP8pHov/KR6L/ykejP8pHoz/KR6M/ykejP8pHoz/KR6M/ykejP8qHoz/Kx+N/yEX
////+w5vZkq4RBagtjUWNBBARiVGm5qVmp6XkjLP///////7Dm9mX1tJFxUXNWhmJC0gSUAVlpqamp73 f/8rIIz/Uz7U/1tE8P9QPdD/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
Mc///////6V/b2ZeT1tbL0tmV1QzODA8S1qJkZaXmpIpuP//////pX9vaGZLS00xW1RUVjMzOD9PJn6M 1P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
Mo+Okim4//////+lfz5NTWEjXTM/VVZXMzM4Pz9aPoqNjkQkKfj//////8J/Dj4+TEJBM0dXW2ZmSj84 0/9YQt3/WkTh/1lD3+4xJKX/MCOi/zIlqP83Kbv/Nym7/zcpuv83Kbr/Nym6/zcpuv83Kbr/Nym6/zcp
PzMhRKckPj4k+///////whAQI0pISEgzSUx+PlJSUjBJQLYeew5kZHul///////CImZZOjo6Oz8/NyYr uv84Kbv/LyKu/zwswf9jSvv/Zk33/11H4/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
fn5hbTQzJj57fw5kosL//////8KlNjRPTy43OjtJSTswIGkWNC0OPg5/oMjCwP////////+rpcIYS0sw 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
MC4uO0k7HD4ODg57oMHCwP//////////////wMilNidRTCAgICoaZA57oMHCp/////////////////// 5/9fR+f/X0fn/19I6P9aROH/WELe/1lD3/8xJKXfMSSl8jEkpe4xJKXuMSSl7jEkpe4xJKXuMSSl7jEk
///FwqUsHhojIj5/uqvIp///////////////////////////usHCyMCMuqvIp/////////////////// pe4xJKXuMSSl7jEkpe4sIJ3uOyyz7mBJ6e5fR+fuWELd7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
//////////////+zyKXIp//////////////4D///4AYH/8AAA/+AAAD/gAAAPwAAAB8AAAAHAAAAAwAA 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
AAEAAAAAAAAAAAAAAACAAAAAwAAAAOAAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgA 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf8llD398AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD4AAAA+AAAAPgAAAD+AAAD/4AAD//wAD///AD///+D/ygAAAAYAAAAMAAAAAEACAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA/wAA0NDQANDQ0QAdHGwAGxpdACQjdwAyMGQANTRQACggUwA0MjUAQ0FDAE5N AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
TgAmJCUASC4uAP729gD68vIA/vr6APr29gA9ExIAvauqAH5kYgCMcnAAtZSRAJh+fAC+pqQAxK2rAPrt AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
7AC0n50A0cC+AMm5twDf0M4As6yrAPDUzgDHtLAA9uHdAPrm4gDt6OcAWD44APDc1wDZycUA/vHuAOnh AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
3wDuzcQA9ebiALu0sgD07esA68K1ALyglwDtybwA59zYAN/Z1wC1WzcA1LesAL+spAClmZQA6rynAMh0 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
SgBuVUgA6racANirlAD16+YA/vbyAPry7gDTimEAlWNHAOCYbwDpsJIAXk5FAJ2MgwCyqaQAaUUvAOaj AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ewDoqoUAz5p7AO3EqgD21cAA9t7PAPrm2gD6jD8A88uvAPjbxwD75NQA/O3jAP7y6gD7mFAA+qJhAPuu AAA=
cwD8uIQA8LSHAPa9kQC2kXUA9sSbAPrKowD00rcA+9W0APzTqwD62roA/ezcAP727gD68uoA/vr2APr2
8gD84cQA69K3AP3lywDYxK8AUy4CAP7bswD937wA8tzBAP7r1AD98uUATCwCADcgAwBZNgQA/vbqAGlF
CwB2VSAAUj8iAPPjyQBWPRMA/vryAPr27gD28+0A9+vQAPr26QD28uYA9vXyAPz12wA1LxYA/v3lAP39
7AD+/vIA/v72APr68gD+/voA+vr2ANvfuwDz/OYA6PreAO3v7ACsyaEAf6J2AMPgvAAmVx4A2PnUAFCE
TQD6/voAx/bIACN6KQCW45wAULNaALPzuACKt44AKpY3AF/QbQB31YIADJ4hAC+vQgA9ylIAy83MAODy
7wDO1tYAytLSAPn6+gCLjIwA+P3+ALe7vADN5ewAmsPSAO75/QClqKkAgNf7AGLK9gCi0+kAm9v8ALfm
/QDO7v4A4PT+ALC0tgBEtPAAgMLqAM/U1wBmr+IAc3Z4ADOa5QDEyMsAVJzWAAVs0QAnf9QAQYfKAMrO
0gC9wMMAnqCiAJGSkwAHV7wAJWe8AKutsAAFR6wAJ0+VAJeYmgADNJkAAjP+AAk26AAoOoEAAiv3ABU7
4wBqa3AAAiTtAB4ypwBeZY8AAh7lAAok0wAVLLsAh4qgAAIb3AACFtYAAyD7AA4o/gAMIcAARUyCAI+S
rAACFdwAAhLSAAISzgADFtEAAg7sAAIM1gACDs4AAg7JAAMS/AAHErwADRrwAAMKwgADB6kAEBerACUo
ZwBZWnoAQUJXAE1OZQACB+AAAgLUAAICygAYG5gAISKIADw8bgB4eJQAYWFjAHx8fQBoaGkA////AISE
hABwcHAAWlpaABgYGAAICAgA/////8j4pbP/////oP/////////////////F3NHV0fX4wLqns7PA////
/////////6v02+bQ3tj0z8j4CgvCp7r/////////uvT0gfTZ0+PkBQrPosD9z8HA////////1vLkDIHR
ytPj6tIefxB/wf37s7r/////0uTK1AwN0dvw6dzIHDF7ECn498GnoP//x9PKyvRxcvTm5wXs9sAdMhAQ
oM/4s///9tfKvM52Cuji68fGu9b2NTJkEBDB+Lr/s/PKysrRdkPr0b7DvrfD7SweHg4QHvj//9LR0NDm
8wcFxLTDvre5xLiONicmJ6X////29PPr59G+tLTDvru90pealbgYNPv/////1sHWF6W0t6y1tbe8x5ef
npqSE8L/////qyRka8K3saqhqrPS7Zeemp+awsj/////p7aDSkQvJ6AdJDQVRpKelZqXG8j/////s7aD
XkJaREU3NzcuLxeZl56aRcH/////s7Y+bF5LMDpXTjNJTy5+kZmSq8H/////s7ZkYVIqSVRVRzMzOEkp
oI0ftsj/////p6IQI09HOEFsUSo3STM1HSkOe8H/////sydhXEJIP0kgPmQ+LjgcLRAQJMH/////wMgv
NE9eOjs7OzBpNB5kECSnwcD//////7qnqzYhKlEqNzsqDhCMwMGz/////////////7qzyB8eIyIOjLrB
p////////////////////6fBwba6q7P/////////////////////////usXF////////////8Pf/AMAB
/wCAAH8AAAA/AAAADwAAAAMAAAADAAAAAQAAAAEAgAABAMAAAQDgAAEA4AABAOAAAQDgAAEA4AABAOAA
AQDgAAEA4AABAOAAAQDwAAcA/gAfAP/AfwD/8f8AKAAAABAAAAAgAAAAAQAIAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAD/AADQ0NAA0NDRAB0cbAAbGl0AJCN3ADIwZAA1NFAAKCBTADQyNQBDQUMATk1OACYk
JQBILi4A/vb2APry8gD++voA+vb2AD0TEgC9q6oAfmRiAIxycAC1lJEAmH58AL6mpADErasA+u3sALSf
nQDRwL4Aybm3AN/QzgCzrKsA8NTOAMe0sAD24d0A+ubiAO3o5wBYPjgA8NzXANnJxQD+8e4A6eHfAO7N
xAD15uIAu7SyAPTt6wDrwrUAvKCXAO3JvADn3NgA39nXALVbNwDUt6wAv6ykAKWZlADqvKcAyHRKAG5V
SADqtpwA2KuUAPXr5gD+9vIA+vLuANOKYQCVY0cA4JhvAOmwkgBeTkUAnYyDALKppABpRS8A5qN7AOiq
hQDPmnsA7cSqAPbVwAD23s8A+ubaAPqMPwDzy68A+NvHAPvk1AD87eMA/vLqAPuYUAD6omEA+65zAPy4
hADwtIcA9r2RALaRdQD2xJsA+sqjAPTStwD71bQA/NOrAPraugD97NwA/vbuAPry6gD++vYA+vbyAPzh
xADr0rcA/eXLANjErwBTLgIA/tuzAP3fvADy3MEA/uvUAP3y5QBMLAIANyADAFk2BAD+9uoAaUULAHZV
IABSPyIA8+PJAFY9EwD++vIA+vbuAPbz7QD369AA+vbpAPby5gD29fIA/PXbADUvFgD+/eUA/f3sAP7+
8gD+/vYA+vryAP7++gD6+vYA29+7APP85gDo+t4A7e/sAKzJoQB/onYAw+C8ACZXHgDY+dQAUIRNAPr+
+gDH9sgAI3opAJbjnABQs1oAs/O4AIq3jgAqljcAX9BtAHfVggAMniEAL69CAD3KUgDLzcwA4PLvAM7W
1gDK0tIA+fr6AIuMjAD4/f4At7u8AM3l7ACaw9IA7vn9AKWoqQCA1/sAYsr2AKLT6QCb2/wAt+b9AM7u
/gDg9P4AsLS2AES08ACAwuoAz9TXAGav4gBzdngAM5rlAMTIywBUnNYABWzRACd/1ABBh8oAys7SAL3A
wwCeoKIAkZKTAAdXvAAlZ7wAq62wAAVHrAAnT5UAl5iaAAM0mQACM/4ACTboACg6gQACK/cAFTvjAGpr
cAACJO0AHjKnAF5ljwACHuUACiTTABUsuwCHiqAAAhvcAAIW1gADIPsADij+AAwhwABFTIIAj5KsAAIV
3AACEtIAAhLOAAMW0QACDuwAAgzWAAIOzgACDskAAxL8AAcSvAANGvAAAwrCAAMHqQAQF6sAJShnAFla
egBBQlcATU5lAAIH4AACAtQAAgLKABgbmAAhIogAPDxuAHh4lABhYWMAfHx9AGhoaQD///8AhISEAHBw
cABaWloAGBgYAAgICAD/wcfV0dzB/8Cz////////q/Ts2OLezLi4uPj//////9zgCQzT3unSKRCn+Kv/
///RzcqBCfPj0sEnLSTBpbr/zMq8xHjn5L7JvTYxEDKlq/bUysoNB8S5w8S9G44pf7j/0uvY58S7ucfE
xJ6Vjje4///C3d23tbW3xMSekJpKuP//wmRsr7Cyoam3npWabbj//8JvYUtYOElAQHySlXf4///CPlFm
OEFbQEBAj44O+P//yGQaTUhVbUBAQDKMZPj//8IyK0w6Oz4yL1oOEH/4///ByCwyKyA6NysOELbCpf//
/8CzwcgsMUxvtsjBuv/////////AxcHBq6v/////gT8AAAAfAAAABwAAAAEAAAAAAAAAAAAAgAAAAMAA
AADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADgAQAA/A8AACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8AAAAAAQAAAAcAAAARAAAAGwAA
ACEAAAAhAAAAHgAAABYAAAALAAAAAv///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAACAAAAFwAA
ADcAAABWAQEAaAEBAGwAAABkAAAAVQAAAEUAAAA0AAAAHQAAAAj///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAA
ABUBAQBbDgwkpxcUSNAXFV7jFRVs6hUVa+kWFF7hFhNK0A0LIasBAQB4AAAAUQAAADkAAAAZAAAAAv//
/wD///8A////AP///wD///8AFg0KAhYNCgQWDQoEFg0KAf///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8AAQECMgwLJJoWFmbtExun/wYazv8BHez/AB77/wAe+/8BHOv/BhjQ/xEZqP8UFGbmDAsjqQAA
AGsAAABGAAAAHwAAAAT///8A////ABYNCgEWDQoHFg0KExYNChwWDQoZFg0KDhYNCgP///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wABAQA4GhdP1xQYn/8BDuD/ABL4/wAW/v8AF/v/ABT2/wAV9v8AF/v/ABf9/wAR
9v8BDtz/Ehal/xUUR9EBAQB0AAAATAAAAB3///8AFg0KAhYNCgwWDQogFg0KNBUMCUMXDQpBFg0KLxYN
ChcWDQoHFg0KAf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AAQDCTYaGVjfCRCv/wAF2v8AB93/AAHl/wAA4v8AANP/AADS/wAA
0/8AANP/AADU/wAB1v8AAdr/AADY/wcPtf8WFlrdAQAAcAAAAEQHBQQbFg0KFRcOCyoTCgY/BgAAfwMA
AMAJAgB6FgwJTxYNCjwWDQokFg0KEBYNCgX///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8AAQEDFRYVR7sOE6n/AADf/xITZf86HxT/JhpJ/wsQ
kf8AB+H/AAXi/wAF3f8ABNz/AAPa/wAB1f8AANH/AADP/wAA0/8ID7P/FRREzAIBAmwIBANLFAwJOAoD
AGAVERCqZ2dn9aWmpv86OTnoCQQDow8HBGoXDQpHFg0KMRYNChoWDQoKFg0KAv///wABAAAAHRthABAX
swAAC8wAABHRABohggAzJi8ARigAAFEvAABTLgAAIieGAAAe8wD///8AEA8uiBgZkf8AAM//AADd/ycX
Iv9SJQD/TCMA/0ggAP8lG0r/AAzs/wAK5/8ACuT/AAji/wAF3f8AA9n/AADT/wAA0P8AAND/FBed/w4M
IKsFAQB1AgAAkCoqKu7Kysv////////////7/Pz/nJ2d/xEQEOoEAACNEgkGVhcOCzwWDQomFg0KEhYN
CgUJCRkAHB6JAAQPxQAADcoAABHOAAAV4wABG+EAHyBYAEUoAABXMgAASi8XAAgl2AABAAAMGxlg2gQL
tf8AANL/AADY/woSf/8mFyL/OxoA/0giAP9KIAD/ExmD/wAO/v8ADuz/AAzn/wAJ4/8AB97/AALZ/wAA
0v8AANH/AgbH/xISV+gQDwzWgoOC/PLy8v///////////////////////////97e3v97e3v7Dw0N0QMA
AIMUCwdJFw4KNBYNChwWDQoKFg0KAgAMywAADsoAABLQAAAV1AAAGeEAAR/uACkjQgBVMgAAWjQAACEs
mwAJCRlLFhiI/gAAyv8AAND/AADU/wAE7P8AC+r/EBFQ/zoaAP9OJQD/QCIH/wAW3/8AEvn/ABDv/wAN
6/8ACeP/AAXd/wAA1f8AAND/AADS/wsOiv9eXWr/19bT//Hr6//v6ur/+fj4////////////////////
////////xcbG/0xMTPkMCAevCgIAbhcNCjwWDQomFg0KEhYNCgYWDQoBABXVAAAj6QAAKfEAACn+AA4m
sABCJgAAXDcAAEszKAAWFEOcCxCi/wAA0f8AAND/AAHV/wAC2/8ACer/ABD4/xsUN/9MJQD/UicA/xIe
m/8AFv//ABP+/wAQ9v8AC+z/AAjf/wAD2f8AANL/AADR/wUHpf9YVn3/rqSf/8e1tf/Mu7v/3dHR//Lv
7//8+/v///////////////////////////+2t7j/LS0t8AIAAJMRCAVOFw4KMRYNCh0WDQoLFg0KAwAz
/wAAMf8AADL/AAQv7QA0JR4AWDYAAF04AAAcG1vEAwqr/wAA0v8AAND/AAPb/wgV7f8IEvH/FCr9/wAX
sv83FwD/VCsA/0EmGv8sIFb/KB1T/ysaTv8OFJT/AAnr/wAE2/8AANP/AADR/wIDsf9DPnP/moiD/8Os
qf/CrKv/wa2t/9fJyf/h1tb/8u3t//38/P//////////////////////7e3t/4uLjP4VExPTAgAAgRMJ
BkAXDQonFg0KFRYNCggWDQoBADD/AAAw/wAnNY4AYD8FAGE+BwAeHGDVAQiu/wAA0f8BA9X/EB3w/wIO
/v8ADP//BBD+/xIo/v8nFg7/UCkA/1UsAP9UJwD/USUA/1QkAP8mGlb/AAnz/wAE2/8AANP/AADR/wAC
tv89Nm7/bGFk/3x0hP+znJn/w6yq/8++vf/Dr67/0sLB/+Xc2//18fD//fv7///+/v///v7/////////
///R0dH/V1dW+hURELcJAgBpFQwJNRYNCh8WDQoOFg0KBAAw/wAIMOcAVkIuAHBNEgAdHF7PAQip/wAA
1P8BCOr/BQ7t/wEM//8IF/7/AQz//wMQ//8YKJH/WTQA/1oyAP9TLAD/UikA/1MnAP8mHFv/AAjw/wAE
2/8AANP/AADR/wEEtP8sKmb/ID16/wApkP8yPW3/iXd4/9PBvf/Cq6r/vqio/8Ovrv/TxcT/59/e//f0
8//9/Pv///38///+/f///////////8rJyf8wMC/2AgAAog0EAUwXDQonFg0KFhYNCggWDQoBOzleAHVT
FgAbGVawBwyc/wEB0v8NGOv/Chr//wIN//8BDv//Ag7//wcX//8FJun/TTcg/2tDAf9XNgX/FR6V/wkT
nP8AELr/AAfk/wAC2f8AANL/AADR/wUIo/8jL3f/BTqd/wAqov8ALJ//CDSM/4eRrv+Qe33/wKSe/8Os
qv+/qqj/xrKx/9nMy//z7ez//vz7//78+//+/Pv///79///////08/L/pKWm/zc1NN0AAACSEQgFPhcN
Ch4WDQoRFg0KBWRHGAAUEj5xExOK/wEBy/8AB+L/DiHz/wkY/v8DDf//AQz//wQS//8PL///Ly1W/3BK
Bf9wSgX/LC2D/wAL//8AB/D/AATc/wAA1f8AAND/AADQ/w8Ojf8iOX3/CUWw/wAwpv8AMqn/ADGp/2SR
0P8fSI3/V116/56Hh/+/pJ//wKmm/8Wwr//p397//vv6//77+v/++/r//vv6//77+v////7//////+fm
5f9ub27/IB4cwQcAAG4VDAkoFg0KDjs5WwAKCiEZGhlp8AAHsv8AAt7/AxLs/w4m/P8LH/7/CBb//wkc
//8JKP//CSa5/109CP92UBL/eFEF/yssjf8AB+j/AAHd/wAA0v8AANH/AADB/xgadv8fUpr/DVbF/wA3
rf8AObD/ADiv/3Ge2P8CVrz/Bk64/w9Lmv9eWWz/rZGN/8WurP/l2df/9u/t/+7l5P/z6+n//Pf1///7
+f/++vn//vr4/////v//////2tnY/1paWf1LS0z/FAwKJQwv3AD///8AFxZOrxESiP8AAND/AAfi/wMU
7f8KIfz/DSf//w4m/v8OKv//AiP+/y8tU/9mQQD/dlAS/3VQEP9eRDb/PjRp/wAA0v8AAM//DQuS/yNB
hv8fccX/DWLO/wA9s/8AP7X/AD+1/2KY1/81fcr/BF/B/wFXx/8AVL3/IE2G/5d9e//YxsT/1MPC/8q1
tP/Pvbz/49bU//Pq6P/89/X//vr4//76+P//+/n///////318/9LS0z/S0tMMQAj9AD///8ADg0oPRoY
Z+kFCp7/AADU/wAH4v8BD+v/ARTz/wIf/v8DI///ASH//wAi5P81LUn/ZEIE/3BLCv9/UwD/XUY4/wAA
2f8AAaz/HiBw/yVts/8Zf9//DWvS/wBDuf8ARbv/AEW8/3Gl3v9HjNL/GHHK/wZrzf8AaNn/BEyi/35k
Zf/Ksa7/w6mp/8Cmpv++paT/xK6t/9PBv//m2tj/9e3q//z39f/79fP/8ebj//jk4P9NTE3/ABncAAAZ
3AD///8A////ABcVTVoZF2b/BAmk/wAA1P8ABOH/AAvm/wAQ7f8AE/P/ABX2/wAU//8AFPj/FCCS/0Ew
K/9aPQz/JieA/wAAuf8YFHH/MG6p/yCS5f8YiOX/DXbY/wBJv/8AS8D/AEvD/4Cy5f9YnNj/KoLS/xx/
1v8IfeD/B1in/4ZrbP/DoqP/i3Fu/41ubv/BoqT/wqmo/76lpP/Erqz/1cTC/+PS0P/n0c7/7dfU//Xi
3/9OTk7/BBLFAAQSxgD///8A////ABQSQAMVFUtqFxVl+QsNkv8AAsD/AADZ/wAD3/8AB+P/AAnk/wAJ
5P8AB+b/AALv/wAD1v8ACbH/AwSU/xkacf83dKv/NKnt/x6a7P8Ykuj/C37f/wBMw/8AT8b/AFLI/4y8
6v9nqN//PJLZ/y+Q3v8ekOr/GGu1/2ZFSP9ojl7/Mow7/x1NFf9VUTz/lXBy/8KjpP/ApqT/uJmX/72c
mf/Lrqv/38jF//Pg3f9QT1D/FRV5ABUWfAD///8A////AP///wD///8AFRVIYBcWWtEUE3j/BAmd/wAC
t/8AAcT/AAHK/wABy/8AAcb/AAG6/wAAov8JC4D/LTt//0yUwf9Lxfr/MbDz/xui7/8Tmu3/Fozg/wBg
z/8AU8r/AFTO/5fG7f93s+P/TaHf/0Of5P8ynu7/L4zG/0N5P/9P3mX/MbRH/wBiBv8HYwr/JkYY/2FV
Rf+Zb3D/to6O/7iVk/+2lpT/z7Wy/+/c2v9SUVL/oJqtAKGUoAD///8A////AP///wD///8A////ABYV
Sg0VE050FhRW5BoYZv8PDnH/BQV1/wUGeP8PD3X/GRhp/z8wYf9rgpz/c9b3/1vV//9Ew/j/KLf5/xep
8v8to+X/Yrzv/2XM//8jl+v/AGjb/6PN8f+Gvub/X6zj/1at6P9Hq/P/Q7LS/0ubUf9k43X/QrdT/whu
EP8Dcg3/AnoQ/wx2F/8pUx3/X0E5/6J2ev+5lZb/y7Gv/+3c2f9VVFT////xAP/z2QD///8A////AP//
/wD///8A////AP///wD///8AX19g/6+in/+1tMj/oJqt/6GUoP+zn57/0LGd/+/Al/+Tnp3/bOD//1HU
//85x/r/Trvq/3jJ8/+O1fr/jdv//4TX//+A1///Zcj//9bu+/+r1er/cLjm/2e57f9buvn/VbTS/06Q
Tv9z5oH/U8Fi/xqBI/8Lfxf/BYAU/waFF/8Hjhr/FHkc/zRhJ/9kSD7/w6am/+/f3f9YVlf//vLnAPzm
0QD///8A////AP///wD///8A////AP///wD///8AX19g///////////////x///z2f//58b//9qy//zK
m/+Pmpv/Y9n+/27Y+f+S2/T/wef7/7vq//+v5f//peL//5/f//+c3v//mN7//+37///S3NX/wufv/5TS
7v9zx/b/ZbfS/1GITv+B6Iz/Y8pv/zCVN/8fkir/DY0e/wiOGf8Jkhv/CZge/wmmI/8rXiD/upia//Di
4P9bWVr//fHmAPzl0AD///8A////AP///wD///8A////AP///wD///8AX19g+P///////////vLn//zm
0f/73cD/+9Su//fGmf+Rmpv/vO7+/+36///s+f//2/X//9Dx///J7v//xe3//8Ls//+/7P//uu3///b/
//+IhoX/op2U/9Hn4//H7vn/mM7S/1KCTf+N5ZP/c9R9/0SoSv8ypD3/IZ8w/xCbI/8Jmx//Cp8g/wut
Jf8ycSz/u5qe//Dj4f9dXF3//fHkAPzlzwD///8A////AP///wD///8A////AP///wD///8AXl5f8f//
/////////fHm//zl0P/73L//+9Ot//fImv+fmI//0srC/+Tn6P/2////9f///+v8///l+f//4Pj//935
///b8vz/4tbM///57//ktZf/rIFo/42Adv+rsab/rMqr/1aEUf+X4Jr/gdyI/1S0Wf9EsU3/Mq1A/yGq
NP8RqCf/DKkl/wy2Kf8ydS3/u5ue//Dj4v9hX2D//e/iAPzlzQD///8A////AP///wD///8A////AP//
/wD///8AXl5f6////////////fHk//zlz//73L3/+tKs//nIm//ptof/vpp7/5yMf/+gmpb/0NLS////
////////+/////Xu5//7u47//7mI///////uz7r/1pRq/9ibcv+4kHP/lI12/11/WP+e2J3/k+WW/2jD
av9VwF3/RrxS/za6Rv8luDn/E7Ut/w3BLP8zey//upuf//Dl4/9lY2T//e/hAPviywD///8A////AP//
/wD///8A////AP///wD///8AXl5e5v///////////e/i//zlzf/62rv/+NCq//bFmv/0vY3/9baD/+ir
e/+5lXr/no2B/4ODhP/OxsH//8yl//+8jv//4Mj///Po///47v/67OP/7Mm1/96phf/dpH3/36mE/7WY
fv+rrY3/reCq/5vqof9614D/Wcxi/0bHVP83xkr/J8U+/xfON/8zgDH/vJ+i//Hn5/9oZ2j//e7gAPvi
zgD///8A////AP///wD///8A////AP///wD///8AXl1e3////////////e/h//viy//52bv/+NCt//XI
ov/0wpr/8r2T//K5jv/ztYr/566I/6WSh//ip4L//9a5///t3///0bD//59Y//2JNf/KckD/3qqM/+7Q
vP/owqX/47OO/+Wzjv/erY3/zLeU/8Xot/+3+rz/lOub/3DdfP9O1F//N9FN/yjcRv88izv/ybC0//bu
7f9vbm7//O7iAPvl0wD///8A////AP///wD///8A////AP///wD///8AXV1e2f////////7//e7g//vi
zv/528H/+NS3//bOrv/0yab/88Wi//LBn//yv57/67+l/+vLt///4sr//9S0//2VS//8hjD//489//+e
U//GZzX/wmU3/8+EXf/syLL/79C4/+rCof/qv5r/776X/+biuv/Q/9D/x/vH/7n5vv+f8an/auJ5/z3l
WP9Ll0n/2cbJ//j09P91dHX//O/lAPro2AD///8A////AP///wD///8A////AP///wD///8AXFxd0v//
//////3//O7i//vl0//538n/+NjA//bTuf/10LX/9c2x//PNs//218T/9uTa//Payv/+rXX/+4g1//yH
Mv//lEb//55V//+pY//Jbz//xms9/8ZqPP/Ibj7/3qSE//PYxf/z28P/8s+s//Lsyf/k/93/3PzV/9H8
zv/I/Mr/vP3D/47WmP92jG3/4dTU//j09P95env//fHnAPvq3gD///8A////AP///wD///8A////AP//
/wD///8AXFxdzP////////7//O/l//ro2P/64tD/+N3J//faxf/218L/99rG//jj1//549X/58Kt/5GF
fP/+gyr//I09//2XTP//n1n//6pl//+ycv/NdUT/x24//8hwQP/KckP/zXVF/9J8S//ot5T/9di///z2
3v/0/+j/7v/i/+j/4P/Q7Mz/orGd/42Oh/+OiYj/9PDt//f08v9+fn///fPrAPvu5AD///8A////AP//
/wD///8A////AP///wD///8AW1tcxv////////7//fHn//vq3v/659j/+ePT//jj1P/66d//++7l//XW
xP/oonr/2I1l/42Efv/+lkn//ZtT//+jX///qmn//7Jz//++hv/Pek3/x29A/8lxQ//MdUb/0HxM/9aE
VP/ci1r/6KR3///t2P////v/9fjm/8XHuf+mo5r/urSu/+jf2v/59O3/9PHr//n38/+BgoL//fXvAP30
7gD///8A////AP///wD///8A////AP///wD///8AW1tcv////////////fPr//vu5P/76+L//O/m//zy
7P/33s//7LSU/+Wedf/kl2//25Z0/4mEgf//olv//6Zj//+sbv/7tHr//MWQ///Vq//kpn3/14xh/813
Sf/MdUf/0HxN/9eGVv/fkmL/6qBu/8Gvof/Z1tb/0s3J/9fTy//r5Nj/+vXp//fz6f/28ur/9fLs//r4
8/+DhIT//vv5APzy7AD///8A////AP///wD///8A////AP///wD///8AWlpbuf///////////fXv//31
8P/99PD/+urg//HHr//pqIP/5p95/+Whff/loH3/3Jx//4WEg///rW3//LJ5//y/jP/9zZz//9al///b
sP//4rz//+rN//3lzv/jqYj/0H9U/9B+Uf/ZjF3/6KV0/5iNhP++sbD/4tjT//r17v/69u7/+vXq//j1
6P/39Or/9vTs//z68/+DhYX/9trKAO+/owD///8A////AP///wD///8A////AP///wD///8AWlpas///
/////////vz6//z07//11MD/6rCO/+mqh//pqon/6KqK/+epif/mp4j/15+H/3l6e//+wIz//9Km///Y
q///2Kn//9eo///bsP//4Lz//+fI///t1f//9OP///3z/+rFrf/YlnL/4qR8/5yRiv/w6OX/+PLt//Xv
6v/28ez/+PTv//r37f/49ur/+Pbr//788/+DhIX/9MChAO+9ogD///8A////AP///wD///8A////AP//
/wD///8AWVlarP////////7/9tvM/++/o//ss5P/67OV/+uzlv/qspb/6bGV/+ivlf/orZT/z6CM/3Fw
cP+PiIH/2MGk///gtf//3rL//9yx///cs///4r7//+fI///s1P//8t7///nq////+v/29vP/sqKb/29u
bv/38Ov/9/Hs//fx7P/38+7/9vPu//f18f/59/H/+fju////9P+Cg4T/x6ycAPDGsAD///8A////AP//
/wD///8A////AP///wD///8AgIKD/5WUkv/qybb/9MCh/++9ov/uvaP/7Lyi/+y6ov/ruaH/6rig/+q3
oP/ptZ//6LOe/+exnf+/npT/loqF/6eZjv/aw6r//966///iuv//5MH//+jK///t1P//9OD/++7g/8rD
vf+gmpn/oJmY/93Y0//58+7/+PLu//jz7//39O//9/Xw//f28f/59/P///76//Tz7P+AgoP/WVlaAHly
bwD///8A////AP///wD///8A////AP///wD///8AWFhZQGtra9l/f37+oZaP/9Czo//vxrD/8saw/+7C
rv/twK3/7L+s/+u/rP/qvav/67uq/+m6qv/ruaj/6Lan/82nnP+plY//opaQ/9K+rP/+5MT//+zP///v
1v/l2Mj/r6ej/7Stq//j3Nf//fbx//r07//58+//+PXw//j18f/49fH/+vjz///++v/8+vb/wb+9/3t7
fO+AgoP+////AFNUVQD///8A////AP///wD///8A////AP///wD///8A////AFhYWARSVFU3b3Bxqn58
fPKLh4T/vamf//DMvP/3z77/8cq6/+3Ht//txbf/7MS2/+zDtv/rwrX/68C1/+q/s//qvrL/5rux/8ms
pP/AqqL/08Cz/8vAt/+9trP/5N7a//328f/79PD/+vXw//n18P/69vH/+fby//r49P////v///76/7+9
vP+AgoLtfH5/3Xp7fG7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AFNUVRZhY2SJdnd44YaEhPuimJT/3MK4//fVyv/z0sX/8M7D/+7Mwf/uy8H/7cvB/+3J
wP/syMD/7Me//+zGvv/rxLz/07Ot/9nLx//++fX/+/by//r18f/69vL/+vfz//r38//7+PT///36//37
+P/Ky8j/iImJ7Xp8feV7fX5q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AFFTVCBtbm+xfH19+pGNjP/HtrH/8NbP//jd
1f/z19D/8NTN//DUzf/w0s3/79LM/+/Qy//u0Mv/7M3I//Pk4P/8+ff//Pfz//z49P/7+PT//Pj1///+
+v////7/2NjX/4eIifp7fH3le31+av///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AVFVVFWdo
aW96envShYOD+q6jof/w3Nf//ujk//jj3v/039r/893Z//Pd2f/z3Nj/8drW//br5//++/n//Pn2//36
9////vv//////9jX1f+Li4v6fX5/43V3d3v///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8AbnBxTHV2d8yAgYLynpmZ/drMyv/+7+z//O/s//jq5//36eb/9ufk//ny
8P/+/fv///37///////g4N//m5yb+nx+f+x0dnZ9////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wBSU1MCdXZ3gXt8feyKiIj8wry7//bx
7////v3//vf3//76+f//////7u7u/5+goP98fn/wc3V1g////wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wBtbm9Qent7vYGCguKcmZj/5d/e/+/v7/+dnp7/f4GC73JzdI1UVFQE////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AICCgzBzdHWTf4CA8oKDg/xub2+j////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD+AH////8AAPwA
P////wAA+AAPh///AADwAAYD//8AAOAABAD//wAAwAAAAH//AACAAAAAH/8AAIAAAAAP/wAAAAAAAAP/
AAAAAAAAAP8AAAAAAAAAfwAAAAAAAAAfAAAAAAAAAA8AAAAAAAAAAwAAAAAAAAABAAAAAAAAAAEAAAAA
AAAAAQAAgAAAAAABAACAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADwAAAAAAMAAPgAAAAAAwAA/gAAAAAD
AAD+AAAAAAMAAP4AAAAAAwAA/gAAAAADAAD+AAAAAAMAAP4AAAAAAwAA/gAAAAADAAD+AAAAAAMAAP4A
AAAAAwAA/gAAAAADAAD+AAAAAAMAAP4AAAAAAwAA/gAAAAADAAD+AAAAAAMAAP4AAAAAAwAA/gAAAAAD
AAD+AAAAAAMAAP8AAAAABwAA/+AAAAAfAAD//AAAAH8AAP//AAAB/wAA///gAAf/AAD///gAH/8AAP//
/wA//wAA////wf//AAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP//
/wD///8AlJedMwEAADAKBxiMDw89xhIUVdoQEU7UDAwuuAYECIIAAABLAQEBHxoaGgUsLCwILCwsEiws
LCAsLCwqLCwsKCwsLBssLCwNLCwsBiwsLAIsLCwB////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AJSXnTMJCBhqExh/6AwgzP8HJub/Bifo/wcl6P8LH9D/Fx6M+xISScoEAwNtCwsLNSkp
KSEsLCw1LCwsTCwsLF0rKytbLCwsRCwsLCssLCwXLCwsCiwsLAQsLCwB////AP///wD///8A////AP//
/wD///8A////AP///wCUl50zDw4sgRUbnv8SHbv/BRvr/wAa/f8AHOz/ABni/wAV5v8CEuL/DhWt/x4e
Z+sMCw2JHh0dYSoqKmgsLCuULCws/CsrK/wkISCQKysrWSwsLDssLCwjLCwsESwsLAcsLCwCLCwsAf//
/wD///8A////AP///wD///8A////AAkIFUwPFqn9ExiC/y8iJP8zJEP/FSC6/wId9v8AGOP/ABLO/wAO
1f8BDd7/DBKk/x0cV+obGhm5JyYm2EtJSfCrq6n+1tTU/2FgYP8jIiLbKCYmdSwsLE4sLCwyLCwsHCws
LA0sLCwFLCwsAiwsLAH///8A////AP///wAUGpshFhd52QAK3P8TGJX/KyIf/zIiAP8xJjj/FS3L/wYx
//8EKO3/ARjV/wAM1f8ACtD/IiSX/yEgKPSdnJn75OPi//7+/v///fz/8e/u/7W0s/9aWVn8JSQkyisq
KmMsLCxELCwsKiwsLBUsLCwKLCwsAywsLAH///8A////ABQam0oPFaj/AAvR/wUT6v8VHqT/HB0k/zgj
AP8tM3f/GELu/wg2//8BHe3/ABHR/wAN1v8UGqr/OTl5/9HMx//NwcD/4NnX//Lw7////v3///37/+7s
6/+koqL9Pj498CYlJZ4sLCxXLCwsOiwsLCIsLCwQLCwsBywsLAIsLCwBFBqbfQcPu/8AEs7/ACL2/wAr
//8TJon/KB4O/zYoHP8xMnX/Iy6h/w4iwP8AFtz/AA3d/w8VrP8lJof/m4yG/6KZo//MvLv/6ePi/93W
1P/z8fD///79//r49v/i4N7/i4qJ/CwrK98qKSmELCwsTCwsLDAsLCwaLCwsCywsLAQUGpt9BA7D/wMm
5/8FQvv/AD///wg16/8dJlz/KiIM/04tAv9eNAb/LShy/wEW6P8ADOz/DhSp/yAhhf9CSWX/JEFv/2Bt
h//q4+P/yLq5/8zBvv/l393////////9/f/6+Pf/2NbU/25tbPcnJia8KysrXiwsLD0sLCwgLCwsDBQa
m30KFLz/Ay3y/wdO/v8HUf//AEP//xUtj/85LBr/VTkS/zcwaP8LHsf/ABPo/wAM3v8SGKn/IyiD/yRT
m/8SVaT/JlSJ/7fC0f+bk5z/xrW0/8W3tP/Wzcr/9/Ty/////////vz/9fPx/8HAv/5UU1LvJyUlkSws
LDMsLCwUFBqbShMZm/4BLPH/Ak7//wRV//8GUf//Ej/g/zYySv9fQxH/Q0eJ/xc05v8DFuL/AAjS/x0i
o/8uRo7/NX3H/wtRsf8gccb/vdPn/ylRg/9PYn//wK6r/8i5t//Yz8z//fj3//Xw7v/7+fj///38/+zq
6P+rqaf6U1FRySclJB0UGpsaHBtj0Agfx/8AOfv/Ak3//wZO/v8APf//IDix/z82Ov9xUAj/cVc0/yQl
rf8ABsT/MTOU/zZxsP86kNz/CEyv/xhivP/A2PD/Lo7b/ydrqP8iSn3/jYyW/+HX1P/p4N7/2tDN/+Pd
2v/59fP///38//n49v/cy8L/U1BO/////wARECs/HB2D/AkhzP8BMPH/ADX3/wAv+/8AJv//Fym8/zow
Sv9SPDT/KSSC/yImpP8sQYv/Q6Xi/z6g5/8FSa7/D1a1/8jb8P8jfM7/JInY/2OcyP8iSn3/v6Ch/4+S
gf/ItrX/08bD/9/W1P/z6eT/7+DY/+ra0v9eXV3/////AP///wAZF0plHBx5/BAcsf8GHND/AxnV/wIW
4P8BEuv/BRXP/xAam/80Moj/LkCP/0Wd1P9MvPX/QKzs/wNGrf8KTq//z97x/xhtxv8ggNL/J43b/2xb
U/9XllP/LYo6/zFjNP+clov/wq+u/9zKxP/Utar/17+1/1lYWPb///8A////AP///wAXFkdJHRtjzhcY
gf4RFY7/FBiM/w8SjP8SFoz/LzCS/0Zrpv9gveb/RLn0/0Ct6/87ouT/BEiv/wdGq//V4fL/FGXA/xx3
zP8kh9b/a2NJ/1HZZv85rkj/NaBE/yVzMP9QbEv/sZuS/9fEvv/bycT/T09P7v///wD///8A////AP//
/wAUE0gIgIKD/46MqP9xbJX/eW2N/6aJif+NiYT/VK3l/0Gi4/9CoOD/arHl/4zN9P+Dyfb/KXnO/9zm
9P8QXLr/F27G/yKB0v9oUz7/Vttq/z24UP81p0T/N6ZI/y+PPP8xdjf/hYhz/97S0f9PT0/m////AP//
/wD///8A////AP///wCAgoP////9///87f//6sz//96v/3d1c/9Bldv/VZzb/8Dg9f/c8///2/T//9Xx
//+96///9/r6/3Ok0f8fccb/IHnL/2JDM/9Y32z/PbZP/y+cPv83rUf/P71S/zuxTf9Bajv/4dTU/05O
Tt////8A////AP///wD///8A////AICBgvf7+Pb///Xp//3iyP/40Kj/fnp2/8PZ3//w+v7/7f3//+n6
///r+///4PX7/8HFxf/w8O//aT8z/3VtcP9elbf/aTgq/17hcP81pkT/K5I4/zKiQP86skv/QcJU/1dt
TP/i1tb/TU1N1////wD///8A////AP///wD///8Af4GB7/r39f//8ub//OHG/+vGpv9xcG//oYp3/7Cd
jf/Qz8v/1dTQ/7iupP+wm4n/1ryo//////+aaFL/ckYz/2VDN/9sPS//YsZo/yqONf8miDL/LZc6/zSn
Rf88uE//V25M/+PY2P9NTU7P////AP///wD///8A////AP///wB/gIHn+vb0///x4//738P/+dCs//bD
mP/DnX//pIh0/4Bxaf+VhXf/xLCi//ri0f//4Mr/9enm//nx7f/z28v/ypt6/4pgS/+OfGb/pNyi/zeR
P/8ojDT/L5w+/zetR/9Zc1D/5t3d/05OTsf///8A////AP///wD///8A////AH1/gN/49fP///Di//rf
x//41Lb/9cuq//PFov/zwZ//xqGN//LXxP/+3MT/+7N+//2fV/+vUDj/vm5T/+vMvP/46+P/+te+/6yK
df/c5sT/z/vQ/6Pdpv9aqmH/MqJB/1F1Tf/q5OT/T09Pv////wD///8A////AP///wD///8AfH5/1/f1
8v//8eb/+uTR//jbxP/21b3/9tfD//nl2P/q2dD/7b2c//yUSv/6nVj//65w/6xNOP+zWDz/yXZM/9GL
Zv/xy7P/7N/X//fz6f/u9uX/3u3W/8TWu/+AnHf/VXFM/+Ti3/9QUFC3////AP///wD///8A////AP//
/wB7fX7P9/Xy///06v/66Nv/+ubX//rq3//66d//88u1/65nRv/bkFz//qVj//yudP/9uoX/p0c3/6pM
OP/Bb07/zX5V/+OSX/+4gmr//PXt//P07v+otJ7/jJh+/5abhf/r6N//6ufj/1NTU6////8A////AP//
/wD///8A////AHp8fcf39fL///fx//z07v/88uz/99/Q/+20lf/lmnP/tWM+/+Ojd//+tHz/+saZ//ng
x//84sf/7MKo/9COcf/Dd1n/z4Ni/6hdRv/Gu6z/lpqE/77EtP/s6+T/+vfv//r27//t6+b/V1dWp///
/wD///8A////AP///wD///8AeXt8v/n5+f//+/j/+urh//DDqP/oqYb/6KiH/+Wlh/+6Yjr/1qCD//bi
z//47+T/9/Hq//nt4P/67uH/+u/k/+rNvv/UlHf/rGFM/9fPw//b18z/9/Ht//n28f/8+vX//fz2//Px
6/9iYmGi////AP///wD///8A////AP///wB6e3zB9ebe//3axv/wupv/7LaZ/+q2nP/qtZv/46mR/82G
aP/Mim3/4r6q//Hi1f/16+D/+PDl//jw5v/57d//7NbH/9a2pP+tYU3/7+HZ//n07//38+7/9/Tw//n4
8//6+vb/19fV/4qMjeD///8A////AP///wD///8A////AIeJi9iIiIn1p5aO/ty6qP/3y7T/8sax/+3A
rf/rvqv/5bKe/+Cnk//XnIf/zIty/9ywm//oy73/8NzO/97Es/++mIb/0bap//bv6v/69fH/+fTv//n2
8v/29fL/zMzK/5ucnf6GiInkf4GCO////wD///8A////AP///wD///8A////AIaIihSChIaGhIWG5JKN
jPW7qaL/9NDC//fSxP/wzL7/7ci8/+3Gu//sw7n/3qyd/9KXgf/UoIz/28W6//jy7v/89/P/+/bx//v3
8//09O//y8zK/5+goP+IiovldXZ3Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wCJi40Dg4WHQoGDhLiJiYrwoJmY/NvFv//73tf/9trT//HVzv/v0sz/79DL/+7Oyf/47On//fn2//z5
9f/z8+//ycrL/6KjpP+KjI3ic3R2Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AImLjQ6BgoRvhYaH3o6Oj/i3sK//49TS//7s6f/45eL/9ePf//r0
8f/y8vL/xsjI/6Slp/+Pj5Dlc3R0Qf///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wCJi40CgYOFJ4KDhauJiovpmpma+8G+
v//w7+//xMXF/6aoqf+Sk5TldHV1Q////wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AImL
jQmBgoRdhIWGyImLjf+TlJbrdXd3R////wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wCJi40BiYuNA////wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AOAAAP/AAAB/gAAAH4AAAAcAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAA
AADgAAAA8AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA/AAAA/8A
AA//4AA///gA////A////8//KAAAABgAAAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
/wD///8A////AP///wAAAAAWAgAANgIAADoAAAAmAAAADP///wD///8ALS0tASwsLAYsLCwHLCwsBP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Af4GBIQ8PJWMIDU21Dhhy3Q0W
cNsMDz62BgUNcwICACMhISEGLS0tEiwsLCUsLCwqLC0tISwsLA8sLCwELCwsAf///wD///8A////AP//
/wD///8A////AP///wCChIYpHR1QnAoVrPoEIP3/AiL6/wMf7/8JGtn/EhaP9Q8OKKUVFA9IKSkpQScn
J3kiIiKyIiEgfCgpKTcsLCwaLCwsCSwsLAL///8A////AP///wD///8A////AIaIhwUYGleNDBKO/yoi
Tv8fII3/BB3v/wAY5/8AENr/Ag/e/xMWlv8ZFyrBJCMetlhYWOeoqKf/c3Jx8yYlJbIiICBdKSkpKy0t
LREsLCwF////AP///wD///8A////AICCj4IDCaXzCRHE/yggL/81IwD/Iy2V/wg1//8BJO7/AA3a/wUO
z/8cHmj/hYJ+/uXh3////////Pr6/7m5uP9fXV3sJiUlmiMjI0stLS0gLCwsDiwsLAP///8A////AGRl
mcwEDb//ABTw/wkjz/8jHyT/NSom/yU6sf8OLNr/ARXZ/wAN1P8XG5f/loyb/829t//l29n/9PDv////
///z8vL/o6Kg/0tKSdIgHx+AJycnOSsrKxgsLCwJLCwsAjU1kdACE9D/Azb3/wA+//8RK6L/KyIQ/0wu
Ef8/LUv/CBnS/wAN5v8TFpn/PkFu/0RXdf+pqrX/3c/L/9vPyv/39PP//////+Xk4/+Rj473OTg4tiEg
IVomJiYiLCwsCVlZlNMFG9H/BEj//wRV//8HPuT/MS07/1g6DP8oL5r/ABXu/wIM2P8dIJP/JEyW/wZM
nf9qkLj/mpqo/6ianf/Vxb//6+bk////////////1NLS/3FwbuU1NDSDJicnE4KCkIEOGqP6ADv8/wJV
//8ETP//ITih/1RAI/9bUVv/ICi8/wUIxf8uPpf/NXvD/wVVuv9todv/XJPE/zBcjP+JiJb/2MvL//ft
7P/v6Ob////+//z8+/+/urf+UEtJn36AhQYUE0+ZDiLB/wE19v8AN/7/ASr9/x8qof9TPSz/OSpr/xoZ
nP87cLL/PqLn/wBKsf9sltH/Yafl/yCAzf86aJf/mI6U/6unl//Kurn/6Nvb//fu6v/66eD/g316/P//
/wASEC8VHBlgphIan/wAEb7/AA7K/wAL0v8EDqv/LjCJ/0Nxrf9Htez/Oqns/wA8qf9skMz/XJjX/xF/
3f9IdJv/XI5K/y2POv9Se1H/n5eP/9m9uf/ix73/d3Jw6P///wD///8AEhBDCyEeUndUVYr/RkWO/0hA
hP9kVoX/VYW4/0ey6/9FrOr/YrXr/zR9z/92n9f/WJDT/wVu1P9Ga47/XrdS/zrAUP8qmTv/L3o4/3OF
Zf/Qwrz/dnFy4P///wD///8A////AP///wC5urT/6+rq/+7ewP/Kron/WJbB/2q18f+94Pj/2PX//8Lw
///M6Pj/iqjM/xt1zf9DXIX/X7BQ/zu+Uf8zpEL/N7hM/yyQOP+epJL/fnh72f///wD///8A////AP//
/wC4uLf////8///uzf+4oYn/kZyh/9/l4//y/Pv/4+zq/8zQzP/n5uL/oH5y/1tWW/9eUV3/XalR/yum
P/8qkzf/N7VK/zqlRv+jo5b/fXd60v///wD///8A////AP///wC0s7T6//zy//3hxP/atpj/r491/6OL
ef+lnJX/t6qf/9i+q//56d7/4dDJ/7aQev+KV0H/eIZa/1yuYf8iiC7/KJ85/zSZP/+oqpz/fnl8y///
/wD///8A////AP///wCysrP0//vw//vfxv/90q//9cWg/9ewlv/Fq5z/78uy///Djv/hjmL/yIVz//PT
wf/v0r7/xKGR/8/hvv+m4Kr/aLlv/y+KOP+grJr/gn2Aw////wD///8A////AP///wCxsrLu//vz//vl
0//43Mf/++PS//PbzP/ftZr/+6Jh//+oX//Tdkr/nzgj/8RyTP/lp4L/58i2//758v/s9eX/r8Ck/3iP
bP+7w7P/fnt8vP///wD///8A////AP///wCvsbDn///5//3z6v/77uT/99fF/9uZef/Ac0j/+atw//7E
kf/rvJ//z454/8V6W//Pe1L/vXha/9DEuP+1vKz/ub6u/93a0P//+/X/eXh2s////wD///8A////AP//
/wCzsrLg//////vm2f/uv6T/6qyK/9mNav/Dd1L/782y//zx4//9+e3///Xl//Pf0f/dq5X/smdP/8e4
qf/b2tD//fn1//////////z/iIiGvP///wD///8A////AP///wCin5/24sy///LApP/1vaD/7bmg/+Gp
kf/RjXL/2amU/+XJuf/x4tX/+fHm/+/f0f/Vt6b/yZqK//Hi2///+/f///z3/+/v6//Q0c//kpOUuP//
/wD///8A////AP///wCDholliISEqqmblPfIr6T/7Me4//fOvf/uw7P/5rSl/9ymlf/ap5T/3bOg/9rB
s//i0Mf//Pfy////+//w7+r/zMzK/5qbm+F9f4B4f4GCIv///wD///8A////AP///wD///8AgoWHB3+E
hyyAhIWAlpKR07SopPnjy8T/9NnT//jb1P/yzcX/6MO6//ns6P//////8/Lv/8nJyP+foaHlfX6Adnp8
fR////8A////AP///wD///8A////AP///wD///8A////AP///wD///8AgYWHBX+ChFOHiIqjnpyc4ci/
vv/l2dj/+O3r/+7r6v/KzM3/m52e1IODhIR6fHwT////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8AfoCCL4GEhWuNjo+/rq+x/56goeiIiYp5fH1+If//
/wD///8A////AP///wD///8A////APBh/wDAAD8AgAAfAAAADwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA
AACAAAAAwAAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPgAAwD/AA8A/+A/ACgA
AAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8ABgYZRAcThMMHHbPwCRuk6wkO
V7YCAgQ9////AGNhYCVhYGBL////AP///wD///8A////AP///wD///8ABQUaOBQXifIrJHD/CBvM/wAX
6f8DFNv/CQ5y1XJycv9ycnL/cnJy/2loaM9bWVkQ////AP///wD///8A////AA4RbLIGE83/LiI1/zcn
J/8CIOX/ABbg/wEKwP9WWX/35uHc//////+6urr+dnV18l1bW1j///8A////AP///wASFpbnACrv/wBI
9f8+LBn/Oyov/xYgpf8AC9b/RGGi/6OZpv/cxcb/8uvr/+rq6v+hoaH7dXV1yFVTUw7///8AExaE0QBP
+f8AX/3/I0ir/041Gf8PHbn/AAzL/zuJ0P8OQZn/JXzL/6iYnf/q3d7/+/v7/9jY2P+IiIj2cnJyeRIR
Qm8HHc3/AEn9/wRA8v9GNzT/OCxK/zZjxf83oej/F1mu/x1nuf8lfMv/q5ae/42gfv/v5OX/9vb2/3Jy
cv8TEDUHFhZpmggVtPoAD9L/BBS4/zRnr/9Rj9X/Mp7o/xdYrP8dZrj/HGa4/zSuR/80biv/bZhl/+a9
o/93d3b+////AP///wCSkpD/m5W4/42Xt/9ftO3/eMHx/3jB8f9wreD/LHG+/yZpuP8ytUX/Hmwb/zOK
Nf/qx6z/eHd3/v///wD///8AkpKQ////8P//5bv/otb2/7zi+f/i9f7/4fD3/6K5zf9wreD/LrNB/x9v
Hf8xijT/6t/E/3l5eP7///8A////AJGRkPX78eb//Ovc//rZv//ytIb/tXZO/8qXdf+caUn/kV9C/+/n
0v9Jkkf/NHox//Lhyv97enr+////AP///wCRkY/r+vDo//vk0v/73cb/yoRV/+2bYP/xv5v/lmJE/5Vi
RP+XZUj/zePC/3+td//4+PD/gYGA/v///wD///8AkJCO4v76+P/47ur/+unc/+SmiP/tm2D/+NvG/6J2
XP+RX0L/kV9C/93g1v/w8Oz//vv1/3p6ev7///8A////AJWUkvve19P/9efh//Lc0f/otp7/36uN//ru
6f/m2dL/waSS/6uDbP/6+fn//Pv6//Py8P96enn+////AP///wCTk5HKkpGP6ru1sv3j19L+9Obf//HZ
zv/ku6H/5L2k//Xq4//6+Pb/+/v7/9DPzv+VlJL4jIyK/////wD///8A////AKKkpGaho6Kzjo6Mr5SS
kOe7t7X+59vX//Hb0f/98OX/1NPS/5iXlfSNjIq0lJORLf///wD///8A////AP///wD///8A////AP//
/wCipKRmnJycoI+Pjbycm5rrp6ak7IiHhpJQUFAB////AP///wD///8AgT8AAAAPAAAABwAAAAEAAAAA
AAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADgAQAA/AcAAA==
</value> </value>
</data> </data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">

View File

@ -29,8 +29,8 @@ Public Class frmValidator
'speichert die DocumentDaten 'speichert die DocumentDaten
Private navStep As String = Nothing Private navStep As String = Nothing
Public Shared myWMDocumentPath As String Public Shared WMDocPathWindows As String
Public PathToWM_File As String Public WMDocFileString As String
Dim OLD_Document_Path As String = "" Dim OLD_Document_Path As String = ""
Dim ValueDTP As Date Dim ValueDTP As Date
@ -97,7 +97,7 @@ Public Class frmValidator
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Error in Load FormLayout: " & ex.Message) LOGGER.Info("Error in Load FormLayout: " & ex.Message)
End Try End Try
Select Case Path.GetExtension(myWMDocumentPath).ToLower Select Case Path.GetExtension(WMDocPathWindows).ToLower
Case ".pdf" Case ".pdf"
Select Case VIEWER_PDF Select Case VIEWER_PDF
Case "internal" Case "internal"
@ -148,7 +148,7 @@ Public Class frmValidator
Kill_PDFAcrobat() Kill_PDFAcrobat()
Else Else
If pdfxchange = True Or sumatra = True Then If pdfxchange = True Or sumatra = True Then
Close_PDF_Viewer(myWMDocumentPath) Close_PDF_Viewer(WMDocPathWindows)
End If End If
KillU_Viewer() KillU_Viewer()
End If End If
@ -1283,9 +1283,9 @@ Public Class frmValidator
End Try End Try
End Sub End Sub
Sub Open_PDF_withStandard() Sub Open_PDF_withStandard()
If myWMDocumentPath.ToLower.EndsWith(".pdf") = True Then If WMDocPathWindows.ToLower.EndsWith(".pdf") = True Then
Dim Proc As New System.Diagnostics.Process Dim Proc As New System.Diagnostics.Process
Dim psi As New ProcessStartInfo(PathToWM_File) Dim psi As New ProcessStartInfo(WMDocPathWindows)
psi.WindowStyle = ProcessWindowStyle.Minimized psi.WindowStyle = ProcessWindowStyle.Minimized
Proc.EnableRaisingEvents = True Proc.EnableRaisingEvents = True
Proc.StartInfo = psi Proc.StartInfo = psi
@ -1330,43 +1330,12 @@ Public Class frmValidator
LOGGER.Debug("Old Document_Path: " & OLD_Document_Path) LOGGER.Debug("Old Document_Path: " & OLD_Document_Path)
newGUID = Next_GUID(OLD_Document_Path, CURRENT_ProfilGUID, PROFIL_sortbynewest) newGUID = Next_GUID(OLD_Document_Path, CURRENT_ProfilGUID, PROFIL_sortbynewest)
myWMDocumentPath = "" WMDocPathWindows = ""
CURRENT_DOC_PATH = "" CURRENT_DOC_PATH = ""
CURRENT_WMFILE = Nothing
If newGUID > 0 Then If newGUID > 0 Then
LOGGER.Debug("newGUID: " & newGUID.ToString) LOGGER.Debug("newGUID: " & newGUID.ToString)
myWMDocumentPath = TBPM_PROFILE_FILESTableAdapter.CmdGetFilePath_2_GUID(newGUID)
LOGGER.Debug($"myWMDocumentPath: {myWMDocumentPath}")
myWMDocumentPath = myWMDocumentPath.Replace("W:", "\\windream\objects")
myWMDocumentPath = myWMDocumentPath.Replace("K:", "\\windream\objects")
PathToWM_File = GetFilesystemDocPath()
LOGGER.Debug("Filesystem_Document_Path: " & PathToWM_File)
CURRENT_DOC_PATH = myWMDocumentPath
LOGGER.Debug("CURRENT_DOC_PATH: " & CURRENT_DOC_PATH)
LOGGER.Debug("Überprüfen ob File existiert?")
Dim i As Integer = 0
Do While allgFunk.file_exists(myWMDocumentPath, _windream) = False And newGUID <> 0
i = i + 1
If i > 800 Then
allgFunk.Insert_LogEntry(CURRENT_ProfilGUID, "Get_Next_GUID - Datei nicht vorhanden!", Environment.UserName)
LOGGER.Info(" >> ACHTUNG: Ausnahme in GetNextGUID - Datei nicht vorhanden")
Dim Del = "DELETE FROM TBPM_PROFILE_FILES where GUID = " & newGUID
ClassDatabase.Execute_non_Query(Del, True)
oErrorMessage = "Die windream-Datei existiert nicht!"
myWMDocumentPath = ""
CURRENT_DOC_PATH = ""
Return 0
End If
Loop
OLD_Document_Path = myWMDocumentPath
'If PROFIL_sortbynewest Then
' newGUID = TBPM_PROFILE_FILESTableAdapter.cmdgetNextFile_GUID_Newest(PROFIL_ID, Document_Path, Environment.UserName)
' Document_Path = TBPM_PROFILE_FILESTableAdapter.CmdGetFilePath_2_GUID(newGUID)
'Else
' newGUID = TBPM_PROFILE_FILESTableAdapter.cmdGetNextFile_GUID(PROFIL_ID, Document_Path, Environment.UserName)
' Document_Path = TBPM_PROFILE_FILESTableAdapter.CmdGetFilePath_2_GUID(newGUID)
'End If
Else Else
LOGGER.Info(" >> ACHTUNG: Ausnahme in GetNextGUID - Es konnte keine GUID abgerufen werden!") LOGGER.Info(" >> ACHTUNG: Ausnahme in GetNextGUID - Es konnte keine GUID abgerufen werden!")
newGUID = 0 newGUID = 0
@ -1397,7 +1366,7 @@ Public Class frmValidator
AnzDoks = DT.Rows.Count AnzDoks = DT.Rows.Count
Else Else
AnzDoks = 1 AnzDoks = 1
myWMDocumentPath = CURRENT_DOC_PATH WMDocPathWindows = CURRENT_DOC_PATH
End If End If
tsslblDocID.Text = "Document-ID: " & CURRENT_DOC_ID & " - GUID: " & CURRENT_DOC_GUID tsslblDocID.Text = "Document-ID: " & CURRENT_DOC_ID & " - GUID: " & CURRENT_DOC_GUID
@ -1413,7 +1382,7 @@ Public Class frmValidator
End If End If
End If End If
If pdfxchange = True Or sumatra = True Or VIEWER_PDF = "system" Then If pdfxchange = True Or sumatra = True Or VIEWER_PDF = "system" Then
Close_PDF_Viewer(myWMDocumentPath) Close_PDF_Viewer(WMDocPathWindows)
End If End If
If CURRENT_WMFILE Is Nothing = False Then If CURRENT_WMFILE Is Nothing = False Then
If CURRENT_WMFILE.aLocked Then If CURRENT_WMFILE.aLocked Then
@ -1433,32 +1402,63 @@ Public Class frmValidator
pnlpdf.Visible = visible pnlpdf.Visible = visible
End Sub End Sub
Private Function GetFilesystemDocPath() As String Private Function CreateWMObject() As String
LOGGER.Debug($"in GetFilesystemDocumentPath...'") LOGGER.Debug($"in GetWMDocFileString...'")
Dim oWMRELPATH = CURRENT_DT_CONFIG.Rows.Item(0).Item("WM_REL_PATH") Dim oWMRELPATH As String = CURRENT_DT_CONFIG.Rows.Item(0).Item("WM_REL_PATH")
If IsDBNull(oWMRELPATH) Then If oWMRELPATH.EndsWith("\") = False Then
LOGGER.Debug($"WM_REL_PATH is null'") oWMRELPATH = oWMRELPATH & "\"
CURRENT_DT_CONFIG.Rows.Item(0).Item("WM_REL_PATH") = "\\windream\objects"
CURRENT_DT_CONFIG.AcceptChanges()
End If End If
Dim oResult As String Dim oWMOwnPath = WMDocPathWindows.Replace(oWMRELPATH, "")
If myWMDocumentPath.StartsWith(oWMRELPATH) Then LOGGER.Debug($"oWMOwnPath: {oWMOwnPath}")
oResult = myWMDocumentPath Try
Else Dim oNormalizedPath = WINDREAM.NormalizePath(oWMOwnPath)
oResult = Path.Combine(oWMRELPATH, myWMDocumentPath) CURRENT_WMFILE = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, oNormalizedPath)
WMDocFileString = oNormalizedPath
LOGGER.Debug("WMDocFileString: " & WMDocFileString)
Return True
Catch ex As Exception
Dim _err1 As Boolean = False
LOGGER.Error(ex)
allgFunk.Insert_LogEntry(CURRENT_ProfilGUID, "error in creatin WMObject - DocGUID: " & CURRENT_DOC_GUID & " - ERROR: " & ex.Message, Environment.UserName)
LOGGER.Info("Unexpected error creating WMObject(1) in GetWMDocFileString: " & ex.Message)
LOGGER.Info("Error Number: " & Err.Number.ToString)
errormessage = $"Could not create a WMObject(1) for [{oWMOwnPath}]!"
frmError.ShowDialog()
WMDocFileString = ""
Return False
End Try
End If
Return oResult
End Function End Function
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)
LOGGER.Debug($"Checking file [{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)
LOGGER.Debug($"Checking file [{oResult}] exists?...")
If File.Exists(oResult) = False Then
Return False
End If
End If
WMDocPathWindows = oResult
OLD_Document_Path = WMDocPathWindows
CURRENT_DOC_PATH = WMDocPathWindows
LOGGER.Debug($"CURRENT_DOC_PATH: {CURRENT_DOC_PATH}")
Return True
End Function
Sub Load_Next_Document(first As Boolean) Sub Load_Next_Document(first As Boolean)
CURRENT_WMFILE = Nothing CURRENT_WMFILE = Nothing
LOGGER.Debug("CURRENT_WMFILE nothing gesetzt") LOGGER.Debug("CURRENT_WMFILE nothing gesetzt")
activate_controls(False) activate_controls(False)
oErrorMessage = "" oErrorMessage = ""
myWMDocumentPath = "" WMDocPathWindows = ""
PathToWM_File = "" WMDocFileString = ""
CURRENT_HTML_DOC = "" CURRENT_HTML_DOC = ""
@ -1488,56 +1488,52 @@ Public Class frmValidator
LOGGER.Debug($"CURRENT_JUMP_DOC_GUID: {CURRENT_JUMP_DOC_GUID}'") LOGGER.Debug($"CURRENT_JUMP_DOC_GUID: {CURRENT_JUMP_DOC_GUID}'")
If CURRENT_JUMP_DOC_GUID = 0 Then If CURRENT_JUMP_DOC_GUID = 0 Then
CURRENT_DOC_GUID = Get_Next_GUID() CURRENT_DOC_GUID = Get_Next_GUID()
Else
LOGGER.Debug($"CURRENT_DOC_PATH: {CURRENT_DOC_PATH}' later: myWMDocumentPath")
myWMDocumentPath = CURRENT_DOC_PATH
PathToWM_File = GetFilesystemDocPath()
End If End If
GetWMDocPathWindows(0)
LOGGER.Debug("Dokument-GUID: '" & CURRENT_DOC_GUID.ToString & "'") LOGGER.Debug("Dokument-GUID: '" & CURRENT_DOC_GUID.ToString & "'")
If CURRENT_DOC_GUID > 0 Then If CURRENT_DOC_GUID > 0 And CreateWMObject() = True Then
'Beschriftung des Navigators 'Beschriftung des Navigators
'lblNavigator_anzDok.Text = position & " of " & Anzahl_ValDoks & " files" 'lblNavigator_anzDok.Text = position & " of " & Anzahl_ValDoks & " files"
If myWMDocumentPath <> String.Empty Then If WMDocPathWindows <> String.Empty Then
' >> >> >> >> >> >>##### Das Dokument in Bearbeitung nehmen ########################### ' >> >> >> >> >> >>##### Das Dokument in Bearbeitung nehmen ###########################
TBPM_PROFILE_FILESTableAdapter.CmdSETWORK(True, Environment.UserName, CURRENT_DOC_GUID) TBPM_PROFILE_FILESTableAdapter.CmdSETWORK(True, Environment.UserName, CURRENT_DOC_GUID)
' ############ Infos eintragen ################# ' ############ Infos eintragen #################
tsslblDocID.Text = "Document-ID: " & CURRENT_DOC_ID & " - DocGUID: " & CURRENT_DOC_GUID tsslblDocID.Text = "Document-ID: " & CURRENT_DOC_ID & " - DocGUID: " & CURRENT_DOC_GUID
' txtDateipfad.Text = Document_Path ' txtDateipfad.Text = Document_Path
tstrlbl_Info.Text = "Datei " & docCounter.ToString & " von " & Anzahl_ValDoks.ToString tstrlbl_Info.Text = "Datei " & docCounter.ToString & " von " & Anzahl_ValDoks.ToString
LOGGER.Info(">> Validierung für Dokument '" & myWMDocumentPath & "' gestartet") LOGGER.Info(">> Validierung für Dokument '" & WMDocPathWindows & "' gestartet")
Try 'Try
CURRENT_WMFILE = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, WINDREAM.NormalizePath(myWMDocumentPath)) ' CURRENT_WMFILE = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, WINDREAM.NormalizePath(WMDocFileString))
Catch ex As Exception 'Catch ex As Exception
LOGGER.Error(ex) ' LOGGER.Error(ex)
allgFunk.Insert_LogEntry(CURRENT_ProfilGUID, "Fehler bei Erzeugen windream-Objekt - DocGUID: " & CURRENT_DOC_GUID & " - ERROR: " & ex.Message, Environment.UserName) ' allgFunk.Insert_LogEntry(CURRENT_ProfilGUID, "Fehler bei Erzeugen windream-Objekt - DocGUID: " & CURRENT_DOC_GUID & " - ERROR: " & ex.Message, Environment.UserName)
LOGGER.Info("Fehler bei Erzeugen windream-Objekt in (LoadNextDokument): " & ex.Message) ' LOGGER.Info("Fehler bei Erzeugen windream-Objekt in (LoadNextDokument): " & ex.Message)
LOGGER.Info("Error Number: " & Err.Number.ToString) ' LOGGER.Info("Error Number: " & Err.Number.ToString)
Dim _err1 As Boolean = False ' Dim _err1 As Boolean = False
'Nochmaliger Versuch windream zu initialiseren ' 'Nochmaliger Versuch windream zu initialiseren
If Init_windream() = True Then ' If Init_windream() = True Then
Try ' Try
CURRENT_WMFILE = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, myWMDocumentPath) ' CURRENT_WMFILE = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, WINDREAM.NormalizePath(WMDocPathWindows))
Catch ex1 As Exception ' Catch ex1 As Exception
LOGGER.Info("Fehler bei 2. Versuch windream-Objekt: " & ex1.Message) ' LOGGER.Info("1- Fehler bei 2. Versuch windream-Objekt: " & ex1.Message)
oErrorMessage = "1-Es besteht ein Problem beim Anmelden an windream - Bitte wenden Sie sich an Digital Data!" ' oErrorMessage = $"1-Could not create a WMObject for [{WMDocPathWindows}]!"
_err1 = True ' _err1 = True
End Try ' End Try
Else ' Else
oErrorMessage = "2-Es besteht ein Problem beim Anmelden an windream - Bitte wenden Sie sich an Digital Data!" ' oErrorMessage = "2-Could not login to ECM - Please check Your log for further details!"
_err1 = True ' _err1 = True
End If ' End If
If _err1 = True Then ' If _err1 = True Then
errormessage = oErrorMessage ' errormessage = oErrorMessage
frmError.ShowDialog() ' frmError.ShowDialog()
Exit Sub ' Exit Sub
End If ' End If
End Try 'End Try
LOGGER.Debug("Windream-Dokument geladen und gelockt") LOGGER.Debug("WMDoc created...")
oErrorMessage = Windream_get_Doc_info() oErrorMessage = Windream_get_Doc_info()
LOGGER.Debug("Windream-Dok Info geholt") LOGGER.Debug("Windream-Dok Info geholt")
@ -1547,7 +1543,7 @@ Public Class frmValidator
load_viewer() load_viewer()
If myWMDocumentPath.ToLower.EndsWith(".pdf") Then If WMDocPathWindows.ToLower.EndsWith(".pdf") Then
ToolStripButtonAnnotation.Visible = True ToolStripButtonAnnotation.Visible = True
Else Else
ToolStripButtonAnnotation.Visible = False ToolStripButtonAnnotation.Visible = False
@ -1591,6 +1587,7 @@ Public Class frmValidator
End If End If
End If End If
activate_controls(True) activate_controls(True)
Me.BringToFront()
Else Else
errormessage = oErrorMessage errormessage = oErrorMessage
frmError.ShowDialog() frmError.ShowDialog()
@ -1625,19 +1622,19 @@ Public Class frmValidator
If VIEWER_ALL = "uviewer" Then If VIEWER_ALL = "uviewer" Then
pdfxchange = False pdfxchange = False
sumatra = False sumatra = False
If PathToWM_File.ToLower.EndsWith(".msg") Then If WMDocPathWindows.ToLower.EndsWith(".msg") Then
Show_Email() Show_Email()
Else Else
ShowFile_UniversalViewer(PathToWM_File) ShowFile_UniversalViewer(WMDocPathWindows)
End If End If
ElseIf VIEWER_ALL = "docview" Then ElseIf VIEWER_ALL = "docview" Then
PdfControls_visible(False) PdfControls_visible(False)
If PathToWM_File.ToLower.EndsWith(".pdf") And VIEWER_PDF <> "none" Then If WMDocPathWindows.ToLower.EndsWith(".pdf") And VIEWER_PDF <> "none" Then
Select Case VIEWER_PDF Select Case VIEWER_PDF
Case "internal" Case "internal"
SplitContainer1.Panel2Collapsed = False SplitContainer1.Panel2Collapsed = False
PdfViewer1.LoadDocument(PathToWM_File) PdfViewer1.LoadDocument(WMDocPathWindows)
LOGGER.Debug("Internal Viewer Path: " & PathToWM_File) LOGGER.Debug("Internal Viewer Path: " & WMDocPathWindows)
PdfControls_visible(True) PdfControls_visible(True)
Me.Size = My.Settings.frmValidation_Size_PDFViewer Me.Size = My.Settings.frmValidation_Size_PDFViewer
'PdfViewer1.ZoomFactor = PDFViewer_ZoomMode 'PdfViewer1.ZoomFactor = PDFViewer_ZoomMode
@ -1646,14 +1643,14 @@ Public Class frmValidator
sumatra = False sumatra = False
Case "pdfxchange" Case "pdfxchange"
SplitContainer1.Panel2Collapsed = True SplitContainer1.Panel2Collapsed = True
Open_PDFXCHANGE(PathToWM_File) Open_PDFXCHANGE(WMDocPathWindows)
pdfxchange = True pdfxchange = True
sumatra = False sumatra = False
System.Threading.Thread.Sleep(1000) System.Threading.Thread.Sleep(1000)
Me.Size = My.Settings.frmValidatorSize Me.Size = My.Settings.frmValidatorSize
Case "sumatra" Case "sumatra"
SplitContainer1.Panel2Collapsed = True SplitContainer1.Panel2Collapsed = True
Open_Sumatra(PathToWM_File) Open_Sumatra(WMDocPathWindows)
sumatra = True sumatra = True
pdfxchange = False pdfxchange = False
System.Threading.Thread.Sleep(1000) System.Threading.Thread.Sleep(1000)
@ -1666,7 +1663,7 @@ Public Class frmValidator
System.Threading.Thread.Sleep(1000) System.Threading.Thread.Sleep(1000)
Me.Size = My.Settings.frmValidatorSize Me.Size = My.Settings.frmValidatorSize
End Select End Select
ElseIf PathToWM_File.ToLower.EndsWith(".msg") Then ElseIf WMDocPathWindows.ToLower.EndsWith(".msg") Then
Show_Email() Show_Email()
Else Else
SplitContainer1.Panel2Collapsed = True SplitContainer1.Panel2Collapsed = True
@ -1696,7 +1693,7 @@ Public Class frmValidator
Me.grpBetreff.Dock = DockStyle.Top Me.grpBetreff.Dock = DockStyle.Top
Me.grpbxMailBody.Dock = DockStyle.Fill Me.grpbxMailBody.Dock = DockStyle.Fill
Dim msg_email As New Msg.Message(myWMDocumentPath) Dim msg_email As New Msg.Message(WMDocPathWindows)
'Eine tempfile generieren 'Eine tempfile generieren
Dim tempFilename = My.Computer.FileSystem.GetTempFileName() Dim tempFilename = My.Computer.FileSystem.GetTempFileName()
Dim name = Path.GetFileNameWithoutExtension(tempFilename) Dim name = Path.GetFileNameWithoutExtension(tempFilename)
@ -1756,6 +1753,7 @@ Public Class frmValidator
'End If 'End If
Try Try
LOGGER.Debug($"GetVariableValue [{INDEX_DMS_ERSTELLT}]...")
CURRENT_DOC_CREATION_DATE = CURRENT_WMFILE.GetVariableValue(INDEX_DMS_ERSTELLT) CURRENT_DOC_CREATION_DATE = CURRENT_WMFILE.GetVariableValue(INDEX_DMS_ERSTELLT)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@ -1791,9 +1789,10 @@ Public Class frmValidator
LOGGER.Debug("DMS-Erstellt aus WD: " & CURRENT_DOC_CREATION_DATE) LOGGER.Debug("DMS-Erstellt aus WD: " & CURRENT_DOC_CREATION_DATE)
Try Try
LOGGER.Debug($"GetVariableValue [{INDEX_DMS_ERSTELLT_ZEIT}]...")
CURRENT_DOC_CREATION_TIME = CURRENT_WMFILE.GetVariableValue(INDEX_DMS_ERSTELLT_ZEIT) CURRENT_DOC_CREATION_TIME = CURRENT_WMFILE.GetVariableValue(INDEX_DMS_ERSTELLT_ZEIT)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex)
If ex.Message.Contains("Variable: " & INDEX_DMS_ERSTELLT_ZEIT & " not found!") Then If ex.Message.Contains("Variable: " & INDEX_DMS_ERSTELLT_ZEIT & " not found!") Then
LOGGER.Info("1. Ausnahme in Windream_get_Doc_info: Variable: " & INDEX_DMS_ERSTELLT_ZEIT & " not found", True) LOGGER.Info("1. Ausnahme in Windream_get_Doc_info: Variable: " & INDEX_DMS_ERSTELLT_ZEIT & " not found", True)
If INDEX_DMS_ERSTELLT = "DMS Created" Then If INDEX_DMS_ERSTELLT = "DMS Created" Then
@ -1817,9 +1816,10 @@ Public Class frmValidator
'SaveMySettingsValue("IDX_DMS_ERSTELLT", "DMS Created") 'SaveMySettingsValue("IDX_DMS_ERSTELLT", "DMS Created")
'SaveMySettingsValue("IDX_DMS_ERSTELLT_ZEIT", "DMS Created Time") 'SaveMySettingsValue("IDX_DMS_ERSTELLT_ZEIT", "DMS Created Time")
End If End If
LOGGER.Debug($"GetVariableValue (2) [{INDEX_DMS_ERSTELLT_ZEIT}]...")
CURRENT_DOC_CREATION_TIME = CURRENT_WMFILE.GetVariableValue(INDEX_DMS_ERSTELLT_ZEIT) CURRENT_DOC_CREATION_TIME = CURRENT_WMFILE.GetVariableValue(INDEX_DMS_ERSTELLT_ZEIT)
Else Else
LOGGER.Error(ex)
LOGGER.Info("Fehler in Windream_get_Doc_info 3: " & ex.Message) LOGGER.Info("Fehler in Windream_get_Doc_info 3: " & ex.Message)
Return "Fehler in Windream_get_Doc_info 3: " & ex.Message Return "Fehler in Windream_get_Doc_info 3: " & ex.Message
End If End If
@ -2449,7 +2449,7 @@ Public Class frmValidator
Dim oArrlist As New List(Of String) Dim oArrlist As New List(Of String)
For Each oVectorRow As Object In oWindreamValue For Each oVectorRow As Object In oWindreamValue
Dim Ocontent = oVectorRow.ToString Dim Ocontent = oVectorRow.ToString
oArrlist.Add(oVectorRow.ToString) oArrlist.Add(Ocontent)
Next Next
oLookup.SelectedValues = oArrlist oLookup.SelectedValues = oArrlist
_CURRENT_INDEX_ARRAY(oCount, 1) = oWindreamValue.ToString _CURRENT_INDEX_ARRAY(oCount, 1) = oWindreamValue.ToString
@ -2787,7 +2787,7 @@ Public Class frmValidator
ClassDatabase.Execute_non_Query(ins) ClassDatabase.Execute_non_Query(ins)
Close_document_viewer() Close_document_viewer()
If myWMDocumentPath.ToLower.EndsWith(".pdf") Then If WMDocPathWindows.ToLower.EndsWith(".pdf") Then
If Not IsNothing(WORK_HISTORY_ENTRY) Then If Not IsNothing(WORK_HISTORY_ENTRY) Then
If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then
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) 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)
@ -2818,7 +2818,7 @@ Public Class frmValidator
'wenn Move2Folder aktiviert wurde 'wenn Move2Folder aktiviert wurde
If Move2Folder <> "" Then If Move2Folder <> "" Then
idxerr_message = allgFunk.Move2Folder(myWMDocumentPath, Move2Folder, CURRENT_ProfilGUID, _windream) idxerr_message = allgFunk.Move2Folder(WMDocPathWindows, Move2Folder, CURRENT_ProfilGUID, _windream)
If idxerr_message <> "" Then If idxerr_message <> "" Then
errormessage = "Fehler bei Move2Folder:" & vbNewLine & idxerr_message errormessage = "Fehler bei Move2Folder:" & vbNewLine & idxerr_message
My.Settings.Save() My.Settings.Save()
@ -2827,7 +2827,7 @@ Public Class frmValidator
End If End If
End If End If
'Validierungsfile löschen wenn vorhanden 'Validierungsfile löschen wenn vorhanden
allgFunk.Delete_xffres(myWMDocumentPath, _windream) allgFunk.Delete_xffres(WMDocPathWindows, _windream)
LOGGER.Debug("Delete_xffres ausgeführt") LOGGER.Debug("Delete_xffres ausgeführt")
LOGGER.Debug("All Input clear") LOGGER.Debug("All Input clear")
Anzahl_validierte_Dok += 1 Anzahl_validierte_Dok += 1
@ -3082,7 +3082,12 @@ Public Class frmValidator
Try Try
If oRegexMatch <> String.Empty AndAlso Not Regex.IsMatch(oControl.Text, oRegexMatch) Then If oRegexMatch <> String.Empty AndAlso Not Regex.IsMatch(oControl.Text, oRegexMatch) Then
oMissing = True oMissing = True
If USER_LANGUAGE <> "de-DE" Then
oErrorMessage = "Wrong input in textbox '" & oControl.Name & "'"
Else
oErrorMessage = "Falsche Eingabe in Textbox '" & oControl.Name & "'" oErrorMessage = "Falsche Eingabe in Textbox '" & oControl.Name & "'"
End If
If oRegexMessage <> String.Empty Then If oRegexMessage <> String.Empty Then
oErrorMessage &= ":" & vbCrLf & oRegexMessage oErrorMessage &= ":" & vbCrLf & oRegexMessage
@ -3095,7 +3100,12 @@ Public Class frmValidator
'Als erstes überprüfen ob überhaupt etwas eingetragen worden ist 'Als erstes überprüfen ob überhaupt etwas eingetragen worden ist
If Check_Missing(oControl, "txt") = True And oIsRequired = True Then 'NICHTS EINGETRAGEN If Check_Missing(oControl, "txt") = True And oIsRequired = True Then 'NICHTS EINGETRAGEN
oMissing = True oMissing = True
If USER_LANGUAGE <> "de-DE" Then
oErrorMessage = "Missing input in textbox '" & oControl.Name & "'"
Else
oErrorMessage = "Fehlende Eingabe in Textbox '" & oControl.Name & "'" oErrorMessage = "Fehlende Eingabe in Textbox '" & oControl.Name & "'"
End If
oControl.BackColor = Color.Red oControl.BackColor = Color.Red
Exit For Exit For
Else Else
@ -3610,7 +3620,7 @@ Public Class frmValidator
Private Sub DateiÖffnenToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles DateiÖffnenToolStripMenuItem.Click Private Sub DateiÖffnenToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles DateiÖffnenToolStripMenuItem.Click
Try Try
Dim Proc As New System.Diagnostics.Process Dim Proc As New System.Diagnostics.Process
Dim psi As New ProcessStartInfo(PathToWM_File) Dim psi As New ProcessStartInfo(WMDocPathWindows)
Proc.EnableRaisingEvents = True Proc.EnableRaisingEvents = True
Proc.StartInfo = psi Proc.StartInfo = psi
Proc.Start() Proc.Start()
@ -3631,8 +3641,8 @@ Public Class frmValidator
'Das Dokument freigeben 'Das Dokument freigeben
TBPM_PROFILE_FILESTableAdapter.CmdSETWORK(False, "", CURRENT_DOC_GUID) TBPM_PROFILE_FILESTableAdapter.CmdSETWORK(False, "", CURRENT_DOC_GUID)
If TBPM_FILES_USER_NOT_INDEXEDTableAdapter.FileExists(Environment.UserName, CURRENT_ProfilGUID, myWMDocumentPath) = 0 Then If TBPM_FILES_USER_NOT_INDEXEDTableAdapter.FileExists(Environment.UserName, CURRENT_ProfilGUID, WMDocPathWindows) = 0 Then
TBPM_FILES_USER_NOT_INDEXEDTableAdapter.cmdInsert(Environment.UserName, CURRENT_ProfilGUID, myWMDocumentPath) TBPM_FILES_USER_NOT_INDEXEDTableAdapter.cmdInsert(Environment.UserName, CURRENT_ProfilGUID, WMDocPathWindows)
End If End If
LOGGER.Debug("Dokument freigegeben") LOGGER.Debug("Dokument freigegeben")
@ -3652,7 +3662,7 @@ Public Class frmValidator
Close_document_viewer() Close_document_viewer()
'Aus der Tabelle löschen 'Aus der Tabelle löschen
TBPM_PROFILE_FILESTableAdapter.CmdDelete(CURRENT_DOC_GUID) TBPM_PROFILE_FILESTableAdapter.CmdDelete(CURRENT_DOC_GUID)
Dim resul = allgFunk.Delete_xffres(PathToWM_File, _windream) Dim resul = allgFunk.Delete_xffres(WMDocPathWindows, _windream)
If resul = Nothing Or resul = True Then If resul = Nothing Or resul = True Then
If Delete_File() = True Then If Delete_File() = True Then
'MsgBox("Die Datei wurde erfolgreich aus windream gelöscht!" & vbNewLine & "Es wird nun die nächste Datei angezeigt!", MsgBoxStyle.Information, "Erfolgsmeldung:") 'MsgBox("Die Datei wurde erfolgreich aus windream gelöscht!" & vbNewLine & "Es wird nun die nächste Datei angezeigt!", MsgBoxStyle.Information, "Erfolgsmeldung:")
@ -3728,12 +3738,12 @@ Public Class frmValidator
End Structure End Structure
Private Sub DateieigenschaftenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateieigenschaftenToolStripMenuItem.Click Private Sub DateieigenschaftenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateieigenschaftenToolStripMenuItem.Click
If myWMDocumentPath <> "" Then If WMDocPathWindows <> "" Then
Cursor = Cursors.WaitCursor Cursor = Cursors.WaitCursor
Dim oShellExecuteInfo As New SHELLEXECUTEINFO Dim oShellExecuteInfo As New SHELLEXECUTEINFO
oShellExecuteInfo.cbSize = Marshal.SizeOf(oShellExecuteInfo) oShellExecuteInfo.cbSize = Marshal.SizeOf(oShellExecuteInfo)
oShellExecuteInfo.lpVerb = "properties" oShellExecuteInfo.lpVerb = "properties"
oShellExecuteInfo.lpFile = PathToWM_File oShellExecuteInfo.lpFile = WMDocPathWindows
oShellExecuteInfo.nShow = SW_SHOW oShellExecuteInfo.nShow = SW_SHOW
oShellExecuteInfo.fMask = SEE_MASK_INVOKEIDLIST oShellExecuteInfo.fMask = SEE_MASK_INVOKEIDLIST
If Not ShellExecuteEx(oShellExecuteInfo) Then If Not ShellExecuteEx(oShellExecuteInfo) Then
@ -3745,8 +3755,8 @@ Public Class frmValidator
End Sub End Sub
Private Sub frmValidation_ResizeEnd(sender As Object, e As EventArgs) Handles Me.ResizeEnd Private Sub frmValidation_ResizeEnd(sender As Object, e As EventArgs) Handles Me.ResizeEnd
If myWMDocumentPath Is Nothing = False Then If WMDocPathWindows Is Nothing = False Then
Select Case Path.GetExtension(myWMDocumentPath).ToLower Select Case Path.GetExtension(WMDocPathWindows).ToLower
Case ".pdf" Case ".pdf"
Select Case VIEWER_PDF Select Case VIEWER_PDF
Case "internal" Case "internal"
@ -3820,7 +3830,7 @@ Public Class frmValidator
Private Sub ToolStripButtonAnnotation_Click(sender As Object, e As EventArgs) Handles ToolStripButtonAnnotation.Click Private Sub ToolStripButtonAnnotation_Click(sender As Object, e As EventArgs) Handles ToolStripButtonAnnotation.Click
PdfViewer1.CloseDocument() PdfViewer1.CloseDocument()
Close_PDF_Viewer(myWMDocumentPath) Close_PDF_Viewer(WMDocPathWindows)
Application.DoEvents() Application.DoEvents()
frmAnnotations.ShowDialog() frmAnnotations.ShowDialog()