From 6caf19430c5c8f983abe480736d47ebe5c4f0190 Mon Sep 17 00:00:00 2001 From: kavitha Muralitharan Date: Mon, 17 Mar 2025 12:15:06 +0530 Subject: [PATCH] 947217: Removed server side database sample from git hub --- .../CollaborativeEditingController.cs | 481 ----------------- .../Controllers/DocumentEditorController.cs | 197 ------- .../Hubs/DocumentEditorHub.cs | 76 --- .../Using MS SQL Server/Program.cs | 43 -- .../Properties/launchSettings.json | 29 - .../Views/Home/Error.cshtml | 7 - .../Using MS SQL Server/WeatherForecast.cs | 13 - .../WebApplication1.csproj | 29 - .../Using MS SQL Server/WebApplication1.sln | 28 - .../appsettings.Development.json | 8 - .../Using MS SQL Server/appsettings.json | 12 - .../wwwroot/Character Formatting.docx | Bin 13429 -> 0 bytes .../wwwroot/Footnotes and Endnotes.docx | Bin 37835 -> 0 bytes .../wwwroot/Getting Started.docx | Bin 64362 -> 0 bytes .../wwwroot/Giant Panda.docx | Bin 37468 -> 0 bytes .../wwwroot/Paragraph Formatting.docx | Bin 21396 -> 0 bytes .../Using MS SQL Server/wwwroot/Styles.docx | Bin 68446 -> 0 bytes .../wwwroot/Table Formatting.docx | Bin 18562 -> 0 bytes .../CollaborativeEditingController.cs | 508 ------------------ .../Controllers/DocumentEditorController.cs | 197 ------- .../Hubs/DocumentEditorHub.cs | 75 --- .../Using MySql Server/Program.cs | 45 -- .../Properties/launchSettings.json | 29 - .../Views/Home/Error.cshtml | 7 - .../Using MySql Server/WebApplication1.csproj | 29 - .../Using MySql Server/WebApplication1.sln | 28 - .../appsettings.Development.json | 8 - .../Using MySql Server/appsettings.json | 13 - .../wwwroot/Character Formatting.docx | Bin 13429 -> 0 bytes .../wwwroot/Footnotes and Endnotes.docx | Bin 37835 -> 0 bytes .../wwwroot/Getting Started.docx | Bin 64362 -> 0 bytes .../wwwroot/Giant Panda.docx | Bin 37468 -> 0 bytes .../wwwroot/Paragraph Formatting.docx | Bin 21396 -> 0 bytes .../Using MySql Server/wwwroot/Styles.docx | Bin 68446 -> 0 bytes .../wwwroot/Table Formatting.docx | Bin 18562 -> 0 bytes .../CollaborativeEditingController.cs | 483 ----------------- .../Controllers/DocumentEditorController.cs | 197 ------- .../Hubs/DocumentEditorHub.cs | 73 --- .../ASP.NET Core/Using PostgreSQL/Program.cs | 45 -- .../Properties/launchSettings.json | 29 - .../Using PostgreSQL/Views/Home/Error.cshtml | 7 - .../Using PostgreSQL/WebApplication1.csproj | 30 -- .../Using PostgreSQL/WebApplication1.sln | 28 - .../appsettings.Development.json | 8 - .../Using PostgreSQL/appsettings.json | 12 - .../wwwroot/Character Formatting.docx | Bin 13429 -> 0 bytes .../wwwroot/Footnotes and Endnotes.docx | Bin 37835 -> 0 bytes .../wwwroot/Getting Started.docx | Bin 64362 -> 0 bytes .../Using PostgreSQL/wwwroot/Giant Panda.docx | Bin 37468 -> 0 bytes .../wwwroot/Paragraph Formatting.docx | Bin 21396 -> 0 bytes .../Using PostgreSQL/wwwroot/Styles.docx | Bin 68446 -> 0 bytes .../wwwroot/Table Formatting.docx | Bin 18562 -> 0 bytes .../.github/workflows/gitleaks.yaml | 38 -- .../.gitignore | 33 -- .../ReadMe.md | 38 -- .../Java web service using PostgreSQL/mvnw | 310 ----------- .../mvnw.cmd | 182 ------- .../Java web service using PostgreSQL/pom.xml | 195 ------- .../CollaborativeEditingController.java | 475 ---------------- .../syncfusion/tomcat/CustomParameter.java | 22 - .../tomcat/CustomRestrictParameter.java | 31 -- .../syncfusion/tomcat/DocumentContent.java | 42 -- .../com/syncfusion/tomcat/FileNameInfo.java | 117 ---- .../com/syncfusion/tomcat/FilesPathInfo.java | 22 - .../syncfusion/tomcat/TomcatApplication.java | 105 ---- .../tomcat/config/WebSocketConfig.java | 22 - .../tomcat/controller/DocumentEditorHub.java | 219 -------- .../tomcat/controller/RedisSubscriber.java | 68 --- .../controller/WebSocketEventListener.java | 25 - .../src/main/resources/application.properties | 27 - .../tomcat/TomcatApplicationTests.java | 13 - 71 files changed, 4758 deletions(-) delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/Controllers/CollaborativeEditingController.cs delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/Controllers/DocumentEditorController.cs delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/Hubs/DocumentEditorHub.cs delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/Program.cs delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/Properties/launchSettings.json delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/Views/Home/Error.cshtml delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/WeatherForecast.cs delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/WebApplication1.csproj delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/WebApplication1.sln delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/appsettings.Development.json delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/appsettings.json delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Character Formatting.docx delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Footnotes and Endnotes.docx delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Getting Started.docx delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Giant Panda.docx delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Paragraph Formatting.docx delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Styles.docx delete mode 100644 Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Table Formatting.docx delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/Controllers/CollaborativeEditingController.cs delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/Controllers/DocumentEditorController.cs delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/Hubs/DocumentEditorHub.cs delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/Program.cs delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/Properties/launchSettings.json delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/Views/Home/Error.cshtml delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/WebApplication1.csproj delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/WebApplication1.sln delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/appsettings.Development.json delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/appsettings.json delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Character Formatting.docx delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Footnotes and Endnotes.docx delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Getting Started.docx delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Giant Panda.docx delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Paragraph Formatting.docx delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Styles.docx delete mode 100644 Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Table Formatting.docx delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/Controllers/CollaborativeEditingController.cs delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/Controllers/DocumentEditorController.cs delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/Hubs/DocumentEditorHub.cs delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/Program.cs delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/Properties/launchSettings.json delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/Views/Home/Error.cshtml delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/WebApplication1.csproj delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/WebApplication1.sln delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/appsettings.Development.json delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/appsettings.json delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Character Formatting.docx delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Footnotes and Endnotes.docx delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Getting Started.docx delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Giant Panda.docx delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Paragraph Formatting.docx delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Styles.docx delete mode 100644 Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Table Formatting.docx delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/.github/workflows/gitleaks.yaml delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/.gitignore delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/ReadMe.md delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/mvnw delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/mvnw.cmd delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/pom.xml delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CollaborativeEditingController.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CustomParameter.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CustomRestrictParameter.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/DocumentContent.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/FileNameInfo.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/FilesPathInfo.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/TomcatApplication.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/config/WebSocketConfig.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/DocumentEditorHub.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/RedisSubscriber.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/WebSocketEventListener.java delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/main/resources/application.properties delete mode 100644 Server side with database/Java/Java web service using PostgreSQL/src/test/java/com/syncfusion/tomcat/TomcatApplicationTests.java diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/Controllers/CollaborativeEditingController.cs b/Server side with database/ASP.NET Core/Using MS SQL Server/Controllers/CollaborativeEditingController.cs deleted file mode 100644 index 3ade8ea..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/Controllers/CollaborativeEditingController.cs +++ /dev/null @@ -1,481 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Syncfusion.EJ2.DocumentEditor; -using Microsoft.AspNetCore.Cors; -using Microsoft.AspNetCore.SignalR; -using WebApplication1.Hubs; -using Microsoft.Data.SqlClient; -using System.Data; -using Microsoft.CodeAnalysis; - -namespace WebApplication1.Controllers -{ - [Route("api/[controller]")] - [ApiController] - public class CollaborativeEditingController : ControllerBase - { - private readonly IWebHostEnvironment _hostingEnvironment; - private readonly IHubContext _hubContext; - private static string connectionString; - private static string fileLocation; - private static byte saveThreshold = 200; - - public CollaborativeEditingController(IWebHostEnvironment hostingEnvironment, IHubContext hubContext, IConfiguration config) - { - _hostingEnvironment = hostingEnvironment; - _hubContext = hubContext; - //Database connection string - connectionString = config.GetConnectionString("DocumentEditorDatabase"); - fileLocation = _hostingEnvironment.WebRootPath; - } - - //Import document from wwwroot folder in web server. - [HttpPost] - [Route("ImportFile")] - [EnableCors("AllowAllOrigins")] - public string ImportFile([FromBody] FileInfo param) - { - DocumentContent content = new DocumentContent(); - WordDocument document = GetSourceDocument(param.fileName); - int lastSyncedVersion = 0; - List actions = CreatedTable(param.roomName, out lastSyncedVersion); - if (actions != null) - { - //Updated pending edit from database to source document. - document.UpdateActions(actions); - } - string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); - content.version = lastSyncedVersion; - content.sfdt = json; - return Newtonsoft.Json.JsonConvert.SerializeObject(content); - } - - [HttpPost] - [Route("UpdateAction")] - [EnableCors("AllowAllOrigins")] - public async Task UpdateAction([FromBody] ActionInfo param) - { - try - { - ActionInfo modifiedAction = AddOperationsToTable(param); - await _hubContext.Clients.Group(param.RoomName).SendAsync("dataReceived", "action", modifiedAction); - return modifiedAction; - } - catch - { - return null; - } - } - - [HttpPost] - [Route("GetActionsFromServer")] - [EnableCors("AllowAllOrigins")] - public string GetActionsFromServer([FromBody] ActionInfo param) - { - string tableName = param.RoomName; - string getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version > " + param.Version; - using (SqlConnection connection = new SqlConnection(connectionString)) - { - try - { - SqlCommand command2 = new SqlCommand(getOperation, connection); - SqlCommand updateCommand = new SqlCommand(getOperation, connection); - connection.Open(); - SqlDataReader reader = updateCommand.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - DataTable oldTable = table; - if (table.Rows.Count > 0) - { - int startVersion = int.Parse(table.Rows[0]["version"].ToString()); - int lowestVersion = GetLowestClientVersion(table); - if (startVersion > lowestVersion) - { - string updatedOperation = "SELECT * FROM \"" + tableName + "\" WHERE version >= " + lowestVersion; - SqlCommand command = new SqlCommand(updatedOperation, connection); - SqlDataReader reader2 = command.ExecuteReader(); - table = new DataTable(); - table.Load(reader2); - } - List actions = GetOperationsQueue(table); - foreach (ActionInfo info in actions) - { - if (!info.IsTransformed) - { - CollaborativeEditingHandler.TransformOperation(info, actions); - } - } - actions = actions.Where(x => x.Version > param.Version).ToList(); - return Newtonsoft.Json.JsonConvert.SerializeObject(actions); - } - } - catch - { - return "{}"; - } - } - return "{}"; - } - - private static WordDocument GetSourceDocument(string fileName) - { - string path = fileLocation + "\\" + fileName; - int index = fileName.LastIndexOf('.'); - string type = index > -1 && index < fileName.Length - 1 ? - fileName.Substring(index) : ".docx"; - Stream stream = System.IO.File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read); - WordDocument document = Syncfusion.EJ2.DocumentEditor.WordDocument.Load(stream, GetFormatType(type)); - stream.Dispose(); - return document; - } - - private List CreatedTable(string roomName, out int lastSyncedVersion) - { - lastSyncedVersion = 0; - string tableName = roomName; - if (!TableExists(tableName)) - { - - string queryString = "CREATE TABLE \"" + tableName + "\" (version int IDENTITY(1,1) PRIMARY KEY, operation nvarchar(max), clientVersion int)"; - using (SqlConnection connection = new SqlConnection(connectionString)) - { - - SqlCommand command = new SqlCommand(queryString, connection); - connection.Open(); - command.ExecuteNonQuery(); - // Create table to track the last saved version. - CreateRecordForVersionInfo(connection, roomName); - - } - } - else - { - - using (SqlConnection connection = new SqlConnection(connectionString)) - { - - connection.Open(); - lastSyncedVersion = GetLastedSyncedVersion(connection, tableName); - string queryString = "SELECT * FROM \"" + tableName + "\" WHERE version > " + lastSyncedVersion; - SqlCommand command = new SqlCommand(queryString, connection); - SqlDataReader reader = command.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - List actions = GetOperationsQueue(table); - return actions; - - } - } - return null; - } - private void CreateRecordForVersionInfo(SqlConnection connection, String roomName) - { - string tableName = "de_version_info"; - - if (!TableExists(tableName)) - { - // If table doesn't exist, create it - string createTableQuery = $"CREATE TABLE \"{tableName}\" (roomName VARCHAR(MAX), lastSavedVersion INTEGER)"; - using (SqlCommand createTableCommand = new SqlCommand(createTableQuery, connection)) - { - createTableCommand.ExecuteNonQuery(); - } - } - - // Insert record into the table - string insertQuery = $"INSERT INTO \"{tableName}\" (roomName, lastSavedVersion) VALUES (@roomName, @lastSavedVersion)"; - using (SqlCommand insertCommand = new SqlCommand(insertQuery, connection)) - { - insertCommand.Parameters.AddWithValue("@roomName", roomName); - // Set initial version to 0 - insertCommand.Parameters.AddWithValue("@lastSavedVersion", 0); - insertCommand.ExecuteNonQuery(); - } - //} - - } - private bool TableExists(string tableName) - { - using (var connection = new SqlConnection(connectionString)) - { - var command = new SqlCommand($"SELECT CASE WHEN OBJECT_ID('{tableName}', 'U') IS NOT NULL THEN 1 ELSE 0 END", connection); - connection.Open(); - var result = (int)command.ExecuteScalar(); - return result == 1; - } - } - - private ActionInfo AddOperationsToTable(ActionInfo action) - { - int clientVersion = action.Version; - string tableName = action.RoomName; - string value = Newtonsoft.Json.JsonConvert.SerializeObject(action); - string query = "INSERT INTO \"" + tableName + "\" (operation, clientVersion) " + "VALUES (@Operation, @ClientVersion); ; SELECT SCOPE_IDENTITY() AS last_id"; - using (SqlConnection connection = new SqlConnection(connectionString)) - { - - SqlCommand command = new SqlCommand(query, connection); - command.Parameters.Add("@Operation", SqlDbType.NVarChar).Value = value; - command.Parameters.Add("@ClientVersion", SqlDbType.NVarChar).Value = action.Version; - connection.Open(); - int updateVersion = int.Parse(command.ExecuteScalar().ToString()); - if (updateVersion - clientVersion == 1) - { - action.Version = updateVersion; - UpdateCurrentActionToDB(tableName, action, connection); - } - else - { - DataTable table = GetOperationsToTransform(tableName, clientVersion + 1, updateVersion, connection); - int startVersion = int.Parse(table.Rows[0]["version"].ToString()); - int lowestVersion = GetLowestClientVersion(table); - if (startVersion > lowestVersion) - { - table = GetOperationsToTransform(tableName, lowestVersion, updateVersion, connection); - } - List actions = GetOperationsQueue(table); - foreach (ActionInfo info in actions) - { - if (!info.IsTransformed) - { - CollaborativeEditingHandler.TransformOperation(info, actions); - } - } - action = actions[actions.Count - 1]; - action.Version = updateVersion; - UpdateCurrentActionToDB(tableName, actions[actions.Count - 1], connection); - } - if (updateVersion % saveThreshold == 0) - { - UpdateOperationsToSourceDocument(tableName, HttpContext.Session.GetString("UserId"), true, updateVersion); - } - - - } - return action; - } - - private void UpdateCurrentActionToDB(string tableName, ActionInfo action, SqlConnection connection) - { - action.IsTransformed = true; - string updateQuery = "UPDATE \"" + tableName + "\" SET operation = @Operation WHERE version = " + action.Version.ToString(); - SqlCommand updateCommand = new SqlCommand(updateQuery, connection); - updateCommand.Parameters.Add("@Operation", SqlDbType.NVarChar).Value = Newtonsoft.Json.JsonConvert.SerializeObject(action); - updateCommand.ExecuteNonQuery(); - } - - private static DataTable GetOperationsToTransform(string tableName, int clientVersion, int currentVersion, SqlConnection connection) - { - string getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version BETWEEN " + clientVersion + " AND " + currentVersion.ToString(); - SqlCommand command = new SqlCommand(getOperation, connection); - SqlDataReader reader = command.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - return table; - } - - private static List GetOperationsQueue(DataTable table) - { - List actions = new List(); - foreach (DataRow row in table.Rows) - { - ActionInfo action = Newtonsoft.Json.JsonConvert.DeserializeObject(row["operation"].ToString()); - action.Version = int.Parse(row["version"].ToString()); - action.ClientVersion = int.Parse(row["clientVersion"].ToString()); - actions.Add(action); - } - return actions; - } - - private static int GetLowestClientVersion(DataTable table) - { - int clientVersion = int.Parse(table.Rows[0]["clientVersion"].ToString()); - foreach (DataRow row in table.Rows) - { - //TODO: Need to optimise version calculation for only untransformed operations - int version = int.Parse(row["clientVersion"].ToString()); - if (version < clientVersion) - { - clientVersion = version; - } - } - return clientVersion; - } - - internal static FormatType GetFormatType(string format) - { - if (string.IsNullOrEmpty(format)) - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - switch (format.ToLower()) - { - case ".dotx": - case ".docx": - case ".docm": - case ".dotm": - return FormatType.Docx; - case ".dot": - case ".doc": - return FormatType.Doc; - case ".rtf": - return FormatType.Rtf; - case ".txt": - return FormatType.Txt; - case ".xml": - return FormatType.WordML; - case ".html": - return FormatType.Html; - default: - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - } - } - - /// - /// Update editing operation to source document. - /// - public static void UpdateOperationsToSourceDocument(string fileName, string userId, bool partialSave, int endVersion) - { - try - { - SqlConnection connection = new SqlConnection(connectionString); - connection.Open(); - string tableName = fileName; - int lastSyncedVersion = GetLastedSyncedVersion(connection, fileName); - string getOperation = ""; - if (partialSave) - { - getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version BETWEEN " + (lastSyncedVersion + 1).ToString() + " AND " + endVersion.ToString(); - //getOperation = "SELECT Top (" + saveThreshold.ToString() + ") * FROM \"" + tableName + "\""; - } - else - { - getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version > " + lastSyncedVersion; - } - SqlCommand command = new SqlCommand(getOperation, connection); - SqlDataReader reader = command.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - if (table.Rows.Count > 0) - { - List actions = GetOperationsQueue(table); - foreach (ActionInfo info in actions) - { - if (!info.IsTransformed) - { - CollaborativeEditingHandler.TransformOperation(info, actions); - } - } - //CollaborativeEditingHandler handler = new CollaborativeEditingHandler(GetDocumentFromDatabase(fileName, GetSelectedDocumentOwner(userId, fileName, connection))); - var currentDirectory = System.IO.Directory.GetCurrentDirectory(); - int index = fileName.LastIndexOf('.'); - string type = index > -1 && index < fileName.Length - 1 ? - fileName.Substring(index) : ".docx"; - Stream stream1 = System.IO.File.Open(currentDirectory + "\\" + fileName, FileMode.Open, FileAccess.ReadWrite); - Syncfusion.EJ2.DocumentEditor.WordDocument document = Syncfusion.EJ2.DocumentEditor.WordDocument.Load(stream1, GetFormatType(type)); - stream1.Close(); - CollaborativeEditingHandler handler = new CollaborativeEditingHandler(document); - for (int i = 0; i < actions.Count; i++) - { - //Console.WriteLine(i); - handler.UpdateAction(actions[i]); - } - MemoryStream stream = new MemoryStream(); - Syncfusion.DocIO.DLS.WordDocument doc = WordDocument.Save(Newtonsoft.Json.JsonConvert.SerializeObject(handler.Document)); - doc.Save(stream, Syncfusion.DocIO.FormatType.Docx); - stream.Position = 0; - byte[] data = stream.ToArray(); - System.IO.File.WriteAllBytes(currentDirectory + "\\output.docx", data); - stream.Close(); - if (!partialSave) - { - endVersion = actions[actions.Count - 1].Version; - } - doc.Close(); - } - if (!partialSave) - { - DeleteLastModifiedVersion(tableName, connection); - DropTable(fileName, connection); - - }else - { - UpdateModifiedVersion(tableName, connection, endVersion); - - } - - } - catch (Exception ex) - { - - } - - } - static void UpdateModifiedVersion(string roomName, SqlConnection connection, int lastSavedVersion) - { - string tableName = "de_version_info"; - string query = "UPDATE [" + tableName + "] SET lastSavedVersion = @lastSavedVersion WHERE roomName = @roomName"; - using (SqlCommand command = new SqlCommand(query, connection)) - { - - command.Parameters.AddWithValue("@lastSavedVersion", lastSavedVersion); - command.Parameters.AddWithValue("@roomName", roomName); - command.ExecuteNonQuery(); - } - } - static void DeleteLastModifiedVersion(string roomName, SqlConnection connection) - { - string tableName = "de_version_info"; - string query = "DELETE FROM [" + tableName + "] WHERE roomName = @roomName"; - - using (SqlCommand command = new SqlCommand(query, connection)) - { - command.Parameters.AddWithValue("@roomName", roomName); - command.ExecuteNonQuery(); - } - } - private static int GetLastedSyncedVersion(SqlConnection connection, string roomName) - { - string tableName = "de_version_info"; - string query = "SELECT lastSavedVersion FROM \"" + tableName + "\" WHERE roomName ='" + roomName + "'"; - var command = new SqlCommand(query, connection); - command.Parameters.Add("@roomName", SqlDbType.NVarChar).Value = roomName; - return int.Parse(command.ExecuteScalar().ToString()); - } - private static void DropTable(string documentId, SqlConnection connection) - { - try - { - //Delete operations record. - string sqlQuery = "drop table \"" + documentId + "\""; - var sqlCommand = new SqlCommand(sqlQuery, connection); - sqlCommand.ExecuteNonQuery(); - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - } - } - - } - - - public class FileInfo - { - public string fileName - { - get; - set; - } - public string roomName - { - get; - set; - } - - } - - public class DocumentContent - { - public int version { get; set; } - - public string sfdt { get; set; } - } -} diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/Controllers/DocumentEditorController.cs b/Server side with database/ASP.NET Core/Using MS SQL Server/Controllers/DocumentEditorController.cs deleted file mode 100644 index 810f729..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/Controllers/DocumentEditorController.cs +++ /dev/null @@ -1,197 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Syncfusion.EJ2.DocumentEditor; -using WFormatType = Syncfusion.DocIO.FormatType; -using Syncfusion.EJ2.SpellChecker; -using Microsoft.AspNetCore.Cors; - -namespace WebApplication1.Controllers -{ - [Route("api/[controller]")] - [ApiController] - public class DocumentEditorController : ControllerBase - { - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("Import")] - public string Import(IFormCollection data) - { - if (data.Files.Count == 0) - return null; - Stream stream1 = new MemoryStream(); - IFormFile file = data.Files[0]; - int index = file.FileName.LastIndexOf('.'); - string type = index > -1 && index < file.FileName.Length - 1 ? - file.FileName.Substring(index) : ".docx"; - file.CopyTo(stream1); - stream1.Position = 0; - - WordDocument document = WordDocument.Load(stream1, GetFormatType(type.ToLower())); - string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); - document.Dispose(); - return json; - } - - public class CustomParams - { - public string fileName - { - get; - set; - } - } - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("SpellCheck")] - public string SpellCheck([FromBody] SpellCheckJsonData spellChecker) - { - try - { - SpellChecker spellCheck = new SpellChecker(); - spellCheck.GetSuggestions(spellChecker.LanguageID, spellChecker.TexttoCheck, spellChecker.CheckSpelling, spellChecker.CheckSuggestion, spellChecker.AddWord); - return Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck); - } - catch - { - return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}"; - } - } - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("SpellCheckByPage")] - public string SpellCheckByPage([FromBody] SpellCheckJsonData spellChecker) - { - try - { - SpellChecker spellCheck = new SpellChecker(); - spellCheck.CheckSpelling(spellChecker.LanguageID, spellChecker.TexttoCheck); - return Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck); - } - catch - { - return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}"; - } - } - - public class SpellCheckJsonData - { - public int LanguageID { get; set; } - public string TexttoCheck { get; set; } - public bool CheckSpelling { get; set; } - public bool CheckSuggestion { get; set; } - public bool AddWord { get; set; } - - } - - public class CustomParameter - { - public string content { get; set; } - public string type { get; set; } - } - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("SystemClipboard")] - public string SystemClipboard([FromBody] CustomParameter param) - { - if (param.content != null && param.content != "") - { - try - { - WordDocument document = WordDocument.LoadString(param.content, GetFormatType(param.type.ToLower())); - string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); - document.Dispose(); - return json; - } - catch (Exception) - { - return ""; - } - } - return ""; - } - - public class CustomRestrictParameter - { - public string passwordBase64 { get; set; } - public string saltBase64 { get; set; } - public int spinCount { get; set; } - } - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("RestrictEditing")] - public string[] RestrictEditing([FromBody] CustomRestrictParameter param) - { - if (param.passwordBase64 == "" && param.passwordBase64 == null) - return null; - return WordDocument.ComputeHash(param.passwordBase64, param.saltBase64, param.spinCount); - } - - internal static FormatType GetFormatType(string format) - { - if (string.IsNullOrEmpty(format)) - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - switch (format.ToLower()) - { - case ".dotx": - case ".docx": - case ".docm": - case ".dotm": - return FormatType.Docx; - case ".dot": - case ".doc": - return FormatType.Doc; - case ".rtf": - return FormatType.Rtf; - case ".txt": - return FormatType.Txt; - case ".xml": - return FormatType.WordML; - case ".html": - return FormatType.Html; - default: - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - } - } - internal static WFormatType GetWFormatType(string format) - { - if (string.IsNullOrEmpty(format)) - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - switch (format.ToLower()) - { - case ".dotx": - return WFormatType.Dotx; - case ".docx": - return WFormatType.Docx; - case ".docm": - return WFormatType.Docm; - case ".dotm": - return WFormatType.Dotm; - case ".dot": - return WFormatType.Dot; - case ".doc": - return WFormatType.Doc; - case ".rtf": - return WFormatType.Rtf; - case ".html": - return WFormatType.Html; - case ".txt": - return WFormatType.Txt; - case ".xml": - return WFormatType.WordML; - case ".odt": - return WFormatType.Odt; - default: - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - } - } - - } -} diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/Hubs/DocumentEditorHub.cs b/Server side with database/ASP.NET Core/Using MS SQL Server/Hubs/DocumentEditorHub.cs deleted file mode 100644 index e8fa68a..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/Hubs/DocumentEditorHub.cs +++ /dev/null @@ -1,76 +0,0 @@ -using Microsoft.AspNetCore.Identity; -using Microsoft.AspNetCore.SignalR; -using Syncfusion.EJ2.DocumentEditor; -using WebApplication1.Controllers; - -namespace WebApplication1.Hubs -{ - public class DocumentEditorHub : Hub - { - - static Dictionary userManager = new Dictionary(); - internal static Dictionary> groupManager = new Dictionary>(); - - public async Task JoinGroup(ActionInfo info) - { - if (!userManager.ContainsKey(Context.ConnectionId)) - { - userManager.Add(Context.ConnectionId, info); - } - info.ConnectionId = Context.ConnectionId; - //Add to SignalR group - await Groups.AddToGroupAsync(Context.ConnectionId, info.RoomName); - if (groupManager.ContainsKey(info.RoomName)) - { - await Clients.Caller.SendAsync("dataReceived", "addUser", groupManager[info.RoomName]); - } - lock (groupManager) - { - if (groupManager.ContainsKey(info.RoomName)) - { - groupManager[info.RoomName].Add(info); - } - else - { - List actions = new List { info }; - groupManager.Add(info.RoomName, actions); - } - } - //Send information about new user joining to others - Clients.GroupExcept(info.RoomName, Context.ConnectionId).SendAsync("dataReceived", "addUser", info); - } - - public override Task OnConnectedAsync() - { - //Send connection id to client side - Clients.Caller.SendAsync("dataReceived", "connectionId", Context.ConnectionId); - return base.OnConnectedAsync(); - } - - public override System.Threading.Tasks.Task OnDisconnectedAsync(Exception? e) - { - string roomName = userManager[Context.ConnectionId].RoomName; - if (groupManager.ContainsKey(roomName)) - { - groupManager[roomName].Remove(userManager[Context.ConnectionId]); - - if (groupManager[roomName].Count == 0) - { - groupManager.Remove(roomName); - string userid = Context.GetHttpContext().Session.GetString("UserId"); - //Handle updating all editing operations for source document - CollaborativeEditingController.UpdateOperationsToSourceDocument(roomName, userid, false, 0); - } - } - - if (userManager.ContainsKey(Context.ConnectionId)) - { - //Send notification about user disconnection to other clients. - Clients.OthersInGroup(roomName).SendAsync("dataReceived", "removeUser", Context.ConnectionId); - Groups.RemoveFromGroupAsync(Context.ConnectionId, roomName); - userManager.Remove(Context.ConnectionId); - } - return base.OnDisconnectedAsync(e); - } - } -} diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/Program.cs b/Server side with database/ASP.NET Core/Using MS SQL Server/Program.cs deleted file mode 100644 index 721e9e1..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/Program.cs +++ /dev/null @@ -1,43 +0,0 @@ -using WebApplication1.Hubs; -using Microsoft.Azure.SignalR; - -var builder = WebApplication.CreateBuilder(args); - -builder.Services.AddControllersWithViews(); - -builder.Services.AddSignalR(); - -builder.Services.AddCors(options => -{ - options.AddPolicy("AllowAllOrigins", builder => - { - builder.AllowAnyOrigin() - .AllowAnyMethod() - .AllowAnyHeader(); - }); -}); - -builder.Services.AddEndpointsApiExplorer(); - -var app = builder.Build(); - -app.UseStaticFiles(); - -app.UseRouting(); - -app.UseCors(); - -app.MapHub("/documenteditorhub"); - -app.MapControllers(); - -app.UseAuthorization(); - -app.UseEndpoints(endpoints => -{ - endpoints.MapControllerRoute( - name: "default", - pattern: "{controller=Home}/{action=LogIn}/{userName?}/{id?}"); -}); - -app.Run(); diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/Properties/launchSettings.json b/Server side with database/ASP.NET Core/Using MS SQL Server/Properties/launchSettings.json deleted file mode 100644 index e4879bd..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/Properties/launchSettings.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/launchsettings.json", - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:38517", - "sslPort": 0 - } - }, - "profiles": { - "WebApplication1": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": true, - "applicationUrl": "http://localhost:5212", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/Views/Home/Error.cshtml b/Server side with database/ASP.NET Core/Using MS SQL Server/Views/Home/Error.cshtml deleted file mode 100644 index f56cacb..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/Views/Home/Error.cshtml +++ /dev/null @@ -1,7 +0,0 @@ -@* - For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 -*@ -@{ -} - -
@ViewBag.errorMessage
\ No newline at end of file diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/WeatherForecast.cs b/Server side with database/ASP.NET Core/Using MS SQL Server/WeatherForecast.cs deleted file mode 100644 index d352e27..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/WeatherForecast.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace WebApplication1 -{ - public class WeatherForecast - { - public DateTime Date { get; set; } - - public int TemperatureC { get; set; } - - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); - - public string? Summary { get; set; } - } -} \ No newline at end of file diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/WebApplication1.csproj b/Server side with database/ASP.NET Core/Using MS SQL Server/WebApplication1.csproj deleted file mode 100644 index 7c61e4a..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/WebApplication1.csproj +++ /dev/null @@ -1,29 +0,0 @@ - - - - net6.0 - enable - enable - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/WebApplication1.sln b/Server side with database/ASP.NET Core/Using MS SQL Server/WebApplication1.sln deleted file mode 100644 index eff9773..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/WebApplication1.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.4.33213.308 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApplication1", "WebApplication1.csproj", "{4356F1ED-F73A-44BC-8FA8-40B267A79C70}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - Release-Xml|Any CPU = Release-Xml|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release|Any CPU.Build.0 = Release|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release-Xml|Any CPU.ActiveCfg = Release|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release-Xml|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {56EAA24C-30CF-403F-9733-BDD27FB18338} - EndGlobalSection -EndGlobal diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/appsettings.Development.json b/Server side with database/ASP.NET Core/Using MS SQL Server/appsettings.Development.json deleted file mode 100644 index 0c208ae..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/appsettings.Development.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - } -} diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/appsettings.json b/Server side with database/ASP.NET Core/Using MS SQL Server/appsettings.json deleted file mode 100644 index 5a68542..0000000 --- a/Server side with database/ASP.NET Core/Using MS SQL Server/appsettings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*", - "ConnectionStrings": { - "DocumentEditorDatabase": "<>" - } -} \ No newline at end of file diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Character Formatting.docx b/Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Character Formatting.docx deleted file mode 100644 index 5371cccc89dec485e45b06a6a202a489c3d945bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13429 zcmeHu1y>!*w)Mt6cyI{r?gR-zg1fuByA#~q-JRgB!QI_0IKf@tK61ZvZtnTsA9%ON z*xjSMYOb!Xy{vl8mJtU7M*~0tpaB2?Az&ka+CmKk0Qdj_0H6Y(LDdDUtsD%k9JCc& zZ4B)->0B%=KIDRfQe*=_f&Krx{U4rzy7&>RZU!WwyM#x?m_|jtgWOUo&@kRaTDe0g zOm|SFm)L=}*A7%rSw)Z-SPLRj=DT%frGCGuE zSY%uA4D0+uY+o%{+S;)s*gzPF>w99yl>!EPoX=S6p#nmjZdRmDPVHzyi&!`wDNcij2p@kfI9L{FNdnCz3+pYN7 zA86D;AK}JucG<(u2f| zucqdHQ^{G&e4~IWi~wol7TQ_CL!^w^#0Gram-0uK;HwnA7->Vz&s_~k#%|&kHeZ8@ zF#*eQy`9)wTuu+oAGf^*G0ofI>tC<5_%?3331B>&@zzWenKzz*y0Ogugg3ai@??1r z1^~RhfdORx%_Q+-up7^SdL{+5I5?n5YTFrF*wfSfw*Rjw{vWo#zdd?+Y?oON1N^5m zzZbu$cG=}F%seT2{mB)~B`9chQ3=$QMYDz17w*MHP|ZW#FC)`4ag%QL>B5ei@tWt@ ziHZoJ?J)BXT0QDdZ7zU>fVKigmwB6Q__V!SqnBY~QOaSzFje%>32exi`{3lU@2I;} zg15UxaHd3*6SMjxwRxGgiVJtiUd-7kjC1p5BI@o?r946%fp{(BSYEJ3eAP+Jw9!%B z>ouCa3P*8GOc7?3H#FE54D_VwF?!{&*yn9iM{aqYMSURwG%z_ZA@olkMj9w;ulu2U zSbS_}gsOGgTh=(~n*3M5!1SN?5u$e!Q2`8BXEXo+GH_Cyt?dlx4XpJYErD_Cw}5q$ zI%1b6j23uTGW=0y*}Z8)L0_6MI##u57+pG6h$@V&4xDjP!ufdH_0hpT={vqZPokNa z7N%|LE9WzTC&%FHy=hW!H>4g)&b1qncQhHOgeRKd;gQ?reo|ioD>5{MDL^m2`*;YI zBu<*W^Yzm9BSLhil#Un#SxoF9+f^kwVZo9DS_nZmcr>Eu4}HPOSg&(gqTF4k%bX@5 z4kUEZ#7k)`VO|pdj0uQC$Y@c@{jS zDm!H{9<^a4S0y|`%Xp-b(!BgA`J-kI{q)#rMWzAD5=~O`bh&*eu@-iYVVz;fBxv%l zHJWWGs9y;dme5hh0TKAQ9J$gG@=R1%NCi>EOnS9u0fGpTN(_DA5DZFwVi20r^Bft8 zSCvN(+&89-ovX9VI@~99Ck_qJ&MahgsbN7b$`W_O-Lb7?dYH@vvSQs7Wn}_PN)ZTw z34?p2U~Hlqc#UH}e8hh?Pw$~)Vs{Z9CY{7K4L%zRsbYVM6Q5-c%&+nur;77m>lzFB zqB_H*jIZKB1yVq)b8oZRlRI4{hA?HV#J&&$NmnLTl-=!^+pprPgTO6ONcssB+y6@m zMM5P}790gMNQt#W1$30SSmkbJY~q)tBS*L`_V9Vty!Y)=KkemF8rwKIKbL99{1lSX zN*eWqW>TU=^?r0sAcDu&OGH-32W{;MNC&))S)p|d@pWtB@0UYp>65XSm$`lFLftU3 zkVrEE_)VM?D&VOrN~os%kiC`2<)&I1*I+Y95-KY9gL~B>9GXS5XR8#z*YI_eP$zDF z#M{HsuzF8X;6DcFjlzsmk0*MJ=kF4d&u~gQpWTc}E^at52GX z8H6AE*o<4s@vGz!CekP)s|Ust>jT)2^_3$v7Tf7RE-@<(WLzCB>KP~U4OCNqIi=%} z4xFho&ZJengxH_(nVIHUss9Eyo&{QTWRiKfv<|#DRl8haWIo(=6u;kcM8V|^XKLeC zu{WMNiMPi;f7Y_M4bhL0eFmqnAURgG2Nhv)_Q(xb)>D42TZ)0dKUqt{djcdu*RpG= z#@s7Ze;zTj8~oQD{1csjRHg z6QXrg5WmT~d^bsh6|X~mRVT+no`lr%soBExa7O{HLwPmbzc>S62C_H4FYUGD)5b(5 zMH7gI_U4E8caM$*BYS~TFmV%Z^?zSOt-5^Nc9v-Z4Z7q=YH5^p<7Oj^^6-ET(|Gr^ z=Nu@ua<`+|W1M-~tYs{Ejh0TthCQN1F@^oYC*3Wr6KQ`OsTkPm>fQiWC?v1VHKMC97bec1os9gB*muphov%A$8supq3p0v zijH$f+#hG3pP{7psET54s3&wLVHvq+=16W>3i*y}{fLpyRy2adlEPl_<91Vwit*yy z@h62&nqE)9L+~W|q;+IQ7#bzyZ=~wBk4D_x#m;7~UjPmRY@S@yM{s>SHpj z3p-bwuGY;yQ{tn>i0)jCVzp8*#SmjAvZwPF`V_XtPQ!*}i@~E7dyS zfVn=zn>d(!UHvh~BW*t7sZh7N5bZfn`;CQOeGQa1B{#gUej5q*+vnvI-Vb83(R%C-x~xe_LWX6=2qESXG(z6vEI=Nr~wGx&Rg2J6)IO+R*PFfLwsLOz?f@X*@ z1Bf^Valz<)Atmw9NrEtarXm@d((ieFCEs;3%Q`h{GH2*s8wmQ(s*>%SRHt(;BB|RO zQKPaBC;+5)@hMT^98o`dcUZ4IrGAAnWj@~%k>O_I$3rw;OWr<@XfnOpWzvM zf5Z~#SBa(*#2n#^GSlAlMrr!NwE8OYb(Frgl(w|6*l%sWBy)X9hU<=vROeB)#Y+!g zOeWDCX!m5Gsn_@-5+9Ci2y@y5N3$CCG0WQtBqIqqvKs6%gd>W}ie&f1qnSpSA-tE9 ztp{dQ5;H2spAK0P{-vvGmPr!8%w0BlUz zj!Ff6fzSE_Go_CxaL6*JxP;5Lx*3cgdB5Kk9Ltc9NI0y9zS@s`#27Xwq=GZBw-b12 zj8}&ZFJh$~=;^7?-ha@_Yn`tIQLx&99OKuYR5_jjuwZvd$9V zBX@BavyUZeRfwr3W>xzAA z6A1(J#E!2NQUm4L<)TQnrd0XVR9cX*$(f$S6eG6&$!dpQPi>0sRrvKBbj`4#MeUfP zL4WBHxyq++`Jp&r`XLOTod|-;zfP>{5ns^Apb%^2KRnLDr+{cUR3avLSql$BQ_o@Cx@g+;c%Rwzf7)Az8r-}~^yz&aZ{YkitMUOZ84O%8kao>C zc{m&DZ^qE7bdo}lv92XDy-JQFU1Bm+d_Px zYCH#1YTMmKyr`cKJ2Yh4s2!GwH&3F17>YltnY=`szUQ}ZPWOT1oVE;Net?LX^71#T zl2EKf3N1L2;b11qwwdlxS~K$<-{E1C`cgJGXD^BLi3umD+nn{CVXDLzoUs#-b+z`> zfJgr0(66zc1SrjY5-5&vA$w-$v?SN#QUO9M-MIy`7&VjH;+5Zbe|)$RS-q1JMzTVh z*555s@Y-FIzjKIT9J5@YSuv-sDB3ag6Qo;}Kxt+O-@IJJSeqO=-S#YSHIxBPcT6ulQg{g~Jl_AzqmrhYHgNIPXaS>PK z?8}b+e)RYQEqLH%nxf%%Mr1q7F~+Ut&GGW4n2N+NQ!X2^c(Q`V$ZG2p4+fdtj_#7= zjfi6o_R2=y%_%)HoQJ)Qrz-)of^??uH9j28*X>6|IS=it7`krgBov;GX)I{%w&bdB z|G@Yhsn(FpFUi;-Ga@W$R-}UTBT+rbXbR7Exv|S=wiHfJQTb?nKFrd|1(B!|aqcKx zET^Qq@_nT59Q6cNzvQ!{-ACpq37f8UuK{}`fJLLwi9t7D~{*~6M!$??<8(f3NF z$M$6bhS2cs(yR&|e}X56Y7gtmfyVW`>mDYjb-2#~>(<)2^=!4gk2r|7~4tZ|LA)YGrKyTL7$6 zUa{I?L-M4b^k%r$=u4y-38@l_$t1xliHo7^$g;hmzEUf^s%F$0thF^K@S)^5W@v`0BLA4d7-R0Dq$ z&x0U8{*!tZz3sVJa@v3i5xM{r97_q5>ZNGhMnq%6jqOH8)!;UxWb@-{dd2`uaAnex zczu1oVMv`r5vPrn-bmS^Mnp*K#Z#@pZIg?{^KgDrp~wVZFuhp_5tn@qHz9{>Pmqok zS~V&LL`Ww`?1uwS@GWXzjsfYjohA#;M;+H;fzZ2)-Y@vmq-??7G|8x-iU+wK7~%() z%j^vzc_=0N=vczf9ofQPTELF&@(KT^C8cYV6{m&amBjYmv$urKxD_n5p zszkc`JdyJz(uDsl;HU5!l_eLBicPQ12z|?(8rr1Wttjo#%0xe=%30UJ>~3QuxPzW3 z?6Zzs#t~Q_H8d~jgv)T4bp13qrsc#VBC-cPU^HTXLIxKx2)2@8nl=BBoU@j^IyYYp zl`^1h7h-l$+FqCqho%d}r&~?n0g3XKZGs&WodMt-yP>w#`3dWE?;K?K(w405{mGt8 zLiF+57Rgi5E}VXwjMYUE(sIc=$S_xytN_V;$e+<$Ou^lAss`v21I95f=u!O_oCdf7 zJ4=_icAW5qBM+QEsDhQkmNd=RMUcS>5CD!!%QOJPO}v*7H{*<4yXt7?0&PL5PJKk?D@YPP^Q%Y=eyMdLJ@ zR;etk`HhryHy~zOUTCt{o$lqK9oaCSfmQ5z<*8w{L_)G;o3*sGaJ$x$;eui*k&A&0 zdmZ+Ey_SB7&7yizPuFh=BR;L&&#CpmASW*403pL-afpaKjB9CdNH~MWsb+Cd?7%h_ zCMuoVJ3UV$DcH2?rW{8uV&@8D`-_`469&5*QT;XnyIQ?GyX zDVRAWj4@oY+s2+y*zUzySd1jMV>1r+rzscxEH3w&tlbHK7K=~IUeu{1?;v?!;03+i zw<36Tm9&8$$I-N}N@w84gxS7^1I~?LNHV<=*L9ax%YFvQuT{mOS1s`{v>CGRx8e2j zwBhB-F&c&bMJPq0L=a{Qz=m&DF3Y5(EWM0V^D#(VZ^u0`#CWx9Qh)iLLDe$hD zWf4-_u}KUu6^wac05QSjA&v2{Ml*ejFnF=rq%aaq&g&AvwQhab1*QeKe?kIa-RZMQUyn+i_j5 zUiCi|D&5RgN2gcJu%tIUvaHy*Ci>E5sM}4*i0an^Td&7Z9LWp{nRDTcHY|DX zO}#jHt1AEO%bdaBH)Zc{$_ravNqo6H&&I4g(XjRmTc3L&{_SA1K*`}=jykn%HZ)Sp zOy~^wgS>jvh!G)9NEG-e>+Y1Z|O8 zS96W3+O^Y?#xPL=1S0I~VphLgACn>pg7n$7i*QX0crsJ%5}vKK+TiH^8gXy(thcw; zfgVltl@6ViGS-AUdwS6wccM6c6@?u4XPy2q#k~XMEXIrr&IuQ6yI~(ms0g89KZk@- z=>EOfwb*JGY-DF`Arev8V~{bWzRzibNbpDg0VyXNEJK5rJpqGHcL{;u1j@FfAu7r& z0;5%r3y_dAoh%H=uL(X~*Yxmasj`kS1;{t?1;~!cz@s`RZ^`4>bnu_Q$GepX3ca}P ze+!8_eOmxEBQh)z>72cZL+D&7?V?4^)AsQRAgH9jb(queqMN{FHWfE za;hL}CA+{61LdUcuayFyKrJ~R{fI9+(KZRT*L^e{b)cD*HlOMOsM?L~E5>S%RfVAd(Glve= zMXG+go_(Ag5-;31VU0qz{nZNcVt4P7s3}HV)95HN2gEC0h!B;jkO$>HiooMmIu+7O zM#$z-u&$mU_#GnFV#$Zap?DH3_$ z3gy$NpyeU+5TwIq;PPgaGC2@XEa4~sT876qs$BbaUgcfd8VfQMlT%sNjqA-KuZb!d zbj&BY*nN{lgvmO0${(fe8?n}Xv$05vJJ+AtPcsp4g;vTQWoA!}e{*|F|4Jj>&y-fF z*Yd9Xs{xM+$WV(+e;LUbW#i&GH2dOtabuFrASQknA!pB%G8qvQBYe0R3|L-l*Y{!; z1_n8hN9`PWzne~pBFJO!Z&EPCsi3nu3OnHrchU}tMUZ*e#*o6S!_>=g}`AHET%1#SXQmutk%3E^*+K#Qf=Cz^IzQwH#&Y-7@V ztK-t9mz1pp)4Dn?+;i?ulJiaH8#~-Ue|R#7oW^s$sSI5tqQ*f9r~c?(dF;E;lLs=cU<8B>`_BBwbdw4G8HQD3131eQ5u>(Qo4s{Es1) za;h%&6f@u(D`1}KD~Mb$Qsw_Owm%@ip;F}e+R*^K<=6Y3P6|>*KHM_H9KjfQt}dUM5a>^ z2u@!D(ywh6e3^)y`(RtgG86eOh5(~d z;(i*Pf$3dBIIIrD#bHaGR>=u~{@JP}2NvEri?mD2D)=CZP-;*&8~rr_8wJ?o@A53= z(()+Op!i&YknUrK3@MR%Bxa4 ze3(C5W~o>!)a=B6Zvnz2{}A)%BmF62h!)t#EcP!E|Ev5zrH~f=>*l}TqD6twcN1A= z#@|rr(_LE=J&iV6`CAW6XA#zfp~pntS0{OT8FfyNMYop(qqK$nk`0W~iEGqJ^G0f+ zT~r;~$>(!!wa!8@sN+QN+c{0AYSStnP4m}=O1!dmxY5j&RX2=eRVDX=B-NG3+i&Uy z(hO0b(%7tfnatA}=g_qsF?`<_J(`9hjNDL^CMuV4YF3p$J27{ZZKyykeAF@hnBC^1 z^kP$(McIENoaSD6&73+LBw&B5?tR}dP4A^&_BoM3m3QE9o3~n@~Z#g1&C$O7&sWTP7)#ykgOl z((*|*x_&(oWmk9^{QR`4JixNn(W(0a0KK{m+-Lfzb-5WmD3#|d`oqdOC#)}#Elsbc zzJuaeav$@EJ2+HTgR1P6Lz)=ErK)n7RvnwC2Bn~bZ`amiXjprs;Hii)%bdK}`iuLX zt@cDmR)TbeQ@`;ZQV=S`s+Gh;wP$+#SxwEtI@buN<^a2cvrgjO$zh~EhsJKHxrE|l zo2RIo#!HLzY^9UCmi?UX$wJL{o15e0 zVr@&wYvq%IhR6B=LOg@cM0-!=PJE=BvbD?w2JtVq+MGE~HyebqZ%f#l`{}U6?&azA zEp8T{XZ6{bUvRI+jw+uQ-u{uu@VwhrP6uoe2iCgK{7NIG6M!lk+OM{5Q#m#JY#ygH<7W$re zbre1hpuD;D6C~Z(u-mgz1H8 zwwpOfzy=8~Kb}lUlWLpFsZAaCiYtLBPRT5gqLS@nWzetgr&Kc4jA@cAt&LG-J4|pC+YA01@vywZH8Y$TP_K3@j>B^5KyAD@#sRbL@{4-jg z4h<$}f^-~`muacDIDo4dAq)C+*-M9uj50A4vpScUs@s0lq@f~r`e->Y{fOk-c9M!5 z^HZ+q6a)*+92&xN5p>SMp}{srjLl{g;q*^OVM7w8H^ZnNrs-wD=nxX6fme9AjNT)Q z$M4>d5FxZg`sq_8`3NLriC;Naz7yIJrVXLe@Ss z>?}rMHr;%t8-h@AO4|${yDRD)uMf?3_=O&C-ycy2JXd`Im)dtcC@Qy z@jiqJkGJQorv+<6cR%~j$LYu48oD?y==5Al0#K`RhA6S;zSg_#z+f7?psHYQfWm8O zN1KoN6wGbn+GF-DS8oV!$#`@P!|j!d09%ZK z1V?0GjUQOpm$9?9v8UI!w)@>Ifi%be7WRP-D?D~Y>i5FF$g{u?Pd#!^nQ{_zL`NY~ z65mfJ;mne>dIL3Ug)i>ulZ9w1Rk&-+Uzqiat}@E~Xfdg=6LL6+C;)wFa>Y~v6MaPK zIp4Vo#gy1#nd+dz_8xYHhFNzbe7?+>Fi3qxXcJW(b_|>!Hw~@cHIE(@&XnQRU=?QC z7nj!^yN4!F);>h3m#_AXI``W!9kPVkE2P6KOh2VJ^ z5#Rlj^*IE;$7fxY@vG&E@Xz8eFVBo#n!MaMWr3d^8@In+p7OHRS{+I^qsXkEUhNhx zQ#2Y;HOZcp8==cnzD77^KsMyM$9T-63Z&rA=dA+lWgxw19_xD*TcVwgQP_w)vo>BjaET9=KhT;fRzY(DN zA^lzbbZu;Y3kv_$KA`FWw{*GRwXco%0#Ww#+l-h3nx$rrQZN{O31vF1dz=bKgJCQB zi#r>F{|Br4I_6`%v2ujtsCk1g@UkCUhmB{5CMLy->b@yIbhM>u?5j$2Q|YGnDSCA$ zS3c}Qw1Mw4l0+~P!{8{p#>IB((hNhYBNxp!%$8`F2oYhL?Ujm&uX4GXOp&qCheGs3 z`77n5-t#k@p<72DcIFNbjca?*N@rek#4oxLqg)nQO-m$*(^mNeOq1%0tr2CR@&H_r zS%rDQ<}uFqe2KW}zuu5qU?clW)bV$ypzw6t9Jf!&ku1}C&oVU~l*aR9AsDZ5S6!fI zBYlhy%AN^{o5k$*YcSY^Rnd;F{c!ZbR}mhBdMdVXwHnXlpLkkMty}O>~JnO?mH5f`x=$q2Rzk?ygC?93ENB%@sDBU)fq9 zI&Qt=Cf?8Zj=Sn_;O^q{BD?_$cYp9&KtO4M+2B8apYg{Z^Vj|#zSfWt|91iZ&L;m0 z3IN0bQ=`9e%YOy_O0)e7S_@>_{0HgwSNOjZx&8tJ0MWqe!2d?;`c=}e`G1x0 zYaaWTgjI?^CHz}f`z!w6>y5ZbU|A#+Q%# zw|1`eh*wf2*#x4o37wwua8u#x_oLZq`;; zTGKYT?MOaoCVs;v{&$}eDJ$qImSYV^XnLN_Ee)O~u8t+`28q8CcnjAO9mfd;Q1*ZC8`9^<@~~s>a2E8w|Q~6nXKNMD{iM~!$DwXG*SRr*qa3d<3+i&)1+>l zO2O$Iv&OHvXQ!c6titxc?k$h(rXM-Jsv~#7eyEozmG!;7p^g?xM?of-S!jg>FSA+7 zLDM}o?8z0FL%DX{*@LdgAybs9;$&g0C>=&913);9&Ye%QIa?%Te zL^@geRzx3#1IOr%VM=5ZR(YD)BPY_{wifY2r1<2Rq`;k>SL;&rA8Rt#w0MRtQ0Gb5 zYK<$Jk!(t22g7&@poPLwZg_C*5Os9cJVI4Hz1#}~!==bkKoWW)8C#vPSBd{8`Y-w6fXlIP_ zWu7oir_WpTCuKp67MXOmFJ+}qaHm6=kkK3!r!q5~d8asvw43k2UgU1+0)qs!y%p+wsovAi) z1mgjd^BY(^gSgY%3u?AnkCFr86x*fWY#&qeVt~{vc7o5fieZM?*hC=S63WjZ@Q0A7 zkl1e$`J4jEd#dOmbb~jH@b=u?@u{KRBT!XI6xS1$eBt0~d*tA0diqW*wm9-?`~Cg> z_@FtuPd(fof+cJW2Lx>I&+T8@=u7`i7{nESnctsQGEc87OZUhE7_{g&yMM>Bn)iV>3KMVDYTf)YR05$VXwcmD`92YN7fJ_`OpQK9DI+MiS!tB^J7PM;9S`X zz}RPvvLi}fTG}2p2|3VyOz65J#)GN!DNL0L;ei&YCJ8ho39j{etJ@0dhWfZK#@b!|=YzOUx%Da3 z5!Ik;FsjN(wL&3j)!_azr`HFU|BYvJbesGdClWB45C5g0aEj^NApK-x%`~~Vgt>Kt zT|-O25tP55k>0=pe*$0SR4~Cn12TQN$gmoq(dGNXEF@Ueo2cHjC<~pS5Ppe3d%$H6f0MZ96L>Lw$ z1QbC6#4R7ShDL0_E>`-62OiT!jDY~3*DN980G%*Ip5{Az*}$@>N2m{(|nZUpuO`T_)r zwH_*6gO9jnR!uakx1lxJhO`Ui$KfBLat)-;sgrU$INu2!4X33qwv3*wPdWmkJT7xz zC_y|Djs%3ub;b*CrK|(Ayb6(=8RlBE6V+n|foCK|#xYdB@0i7agA^21X1OuaZ@oG! z{HGA*7}ptUfGSrwG!V&292pn#?JChOusje}9_pwgz>{9~D2>{#pI}ea0Cs9C`mUxB z-b4l}rV`T;n$w|htjM5n#?cv7Sda-ac^0B|L9Lh6o=0>V0^=cJgEDBRpPj$mds2(q zZ}ioYs;Ta9mR1hhEPIUMn!*6)bkxA-w^(beZ@z+nB!v;@h@%}{ zfv~SH>PkQoqj>+JVq=q#2oit^MkTJXTvR#@ss?c@-O2pOjz6T!m+VhYz7RQp%nx@3 zZqsFtDZ-A(n^zx-S`t>tA|u_PPe-{;3ByZ|4EfeTS|$I9qM>a>R4Rq)05m#?C>KLz z3^PX36rJ#|m^`Whb1VspUNTxij^}R}pjxW|n6RaHeUdvc&Zb)@yN^Cx6DqG^oBS|N zI!3Y4=wKL!fvy&?IVE%) zOZuLN-2tpIf&f*F`)`B8#6DbeXC0ZwnvN#oT>NN;p0fcwPM(IAE{?rjhINyifkM!L zI!>71PHC3<>~fEnNgsYMW`FB5rKJ~w$Bk3@qXcrxUQq%gMZN%InYJ%%V#FHtKpVlR ziui=Dh8o0*;gVm76;}t)tSVN^6ESZMeKiW_Xb9D5_gM`R>|J;VOlxPr3?193Ckl1Q z%}-XygNm@E=jHWSGL@;9zwzyJAzPh}HOqg42SjDde&XY|<+gb45kY!4P57*y%bs)~ zmvQej_Y{2v*w)DGeaxVSkV6a|h0$u|Y+YZ?`_fwI6Ee0W3&|Lzrg@HI9M>U?&h~xY4X_a4C7fQ~?${T(QDfyC^g;rWGCxU!LhdJH1 z&7A8(UwaYfKTVT9I2W^gR^RxjDSH~2TN^6D43_o@c)LqBV@12TvS$+dKGs_}+CRZ8 z9UB0jR8EUNg_0Z1i(NKci-u)iQE)C#UrPhmOEj=43Ohd|Xp)p)H zWCUQzwr(nHUm61?#fcet)NEtXAg*J>*7yZC+0ESRV`ZF5;F&ujhuvg zp@|pZMU6ZL%#*J;9gATZJ5q!1`>wk`(&7Y+grEq2@*68=30^eaVY8WS_*@C&N0*)Y zn}eoQ#7qO+BBFw)uz9Fn&>c7a$`R6Vqo2z zR~`H?0WDC^envs7j*OomQ+!CB4;EGWgu>0_c0(1=*@)`1=LpObUuY2SZ88;-&*{A8C5SScO z7mJGX{K>Pbe_R-1Zi8arJ?@Q}jz?3U^6$;0ZHrO3MWh=vNn06u*5+l-p`<*ALzJM_ zg#UfmEpoe#**8O5d#qJxo z7sNxltg@NHpCxdMqPM6ic=F`2!AWeMU-%53lZkXUsH(Ay@Aqlijusvqi50J6YbrZM zz>=lg#Ato!I&CGX>z1m;#Sjg?j#)}|Q#`-juaJ&Op?_(7-)qxh zwW`QEw^Q5RzP9#icQ0=4Ww-0MmO2rntf>c9MFj$+^&k*tp{ZZAmCUIPB)>{RYGDqL zBG3L>a~dT)Ro_KMcx@1B2p@pJtkoyuyE#sTc6dN`Y}FT`Na431+k=NiHYr&|(!|Yx zj{WbQ6^;IkXm4=lu@B`;kaw(}UK{*3jwW`<2kt2p=BNieiycJ5slOGwU_gIjMP zl{kwQZz9(F&)CSA8WYjrx%3DH-Tx35C1c@&-*5=druE&3`{{<=@ySLdrE!5jfSR-q zD>6IQ#9RZ%z;pY29&^9zjFf63M2*I_!H4N`{z5hs&#-!^gNRdOUPW!BSf7D?DHnXe z>2Vg(7gS1@E5RKA%odkOJXz1Q^QE}Tm!DV1fDL`_ii{WUspi)iC-qPV{qg=&bz~rH zervTL#DSa9nP7ybae(PzFN~ueaoGXft5YrmL-{toizK?^UFgp}9=#-~y z_z(atxBA+!O&0pX3fjc+48gDwRy%RFk!t`vtntYw55I~No5AVIIn3)K^*U7UMj;%I zF}V@f*3*T6SaBnS(dwyNGjF}y+n%k`^R1v@b>pmz3m!ub7PnT<6L0?DVw}nE6GKiF zZSPFaoXEGj_6O`af{a!NE3A1NGi)TKmN4X*0mRnjFdCdg1<+$0-+Bccjn}-6Pshkv z#gE0IzKXN)^SMs(W7y$5>4gmNU*Z(W0J36^r89V-GO4qP<%;Z4)riR_Y zF^n3YT)HZ{HqJ z&tpJEhccl?Wj40%j%;Sle@IIJFp-&H2IF`l32?A8Ke7lTK~v}(_0J9&6^W-)GJ2gF z^%mG!>TS;WW#WVdRBn)xp-u^L)CZHNFqo9y&Pv{*(Fq_sq_CYKP-QkGYui8`Pig1^ zp%bvwmlB9DM_3X1``uZF2uQYdj8tvX>IEMYG;^XXkR!@ji9^Scr8QK9*+<~%D|4|& zf*>Pjz%=q3AM293Y-u%hYtqRifug_`%P?fIEa~9om>uZSkll*%}B=l*>;TSPZ08YY++q#ee=w*wkX5E9k`N|SHiwUPTo4jxH8 z>y;xM6(KB@3bn%SlzYMfHP2}ZS+{D%e#3-%p6)$}(TfWzeQfhwkjQ(O>ZD+ruFpiO zDv8mxlgxXXwdQn1EoO4J5=HA0?*X!`d2u#zfSEWf#s z4>0vW?g|t!QNl_8JsXd;EM{`r6fT1`U*qQ1?B>RMu(xa)0*(6yoMbYc0cNI(H@V;6 zA-zgqxL2>7Jc&S>Dk`R9WFY7Zq!hZ6jv788!3DF@FXF*NX-B z13G8cER`M^0x=|9=3f_&*P!+{1+)S3R=SieXR#et!F?&HuBMV?$0N$}&voz_!QsH! z&=jmQGc`;_V68$aAT7Pimptg=a7*HY@TPph*@){sdBFQDW6!F@QqZ};=?Xk8y+&66 z6FHz7LXZcpA)(=yJDjlYY%j!24}zX3kwVOb3Rz)3C|Xr$NrmrU>tuQZgX6O813e{g zeundV5@@_?9RGwp$!X;)iBdQ(#|c?Mk_uvl>S70d9Z|{f{FQBtIqo6os5yb^vJD_h z+)aRukJB|rh^zX^Mk=!=%L}I>023vro34dIO90wFkG^|E&XZr|iw_k{x1Ewu^=VW| z!3mb2RyN|_I+z_kMk$F@ubi30x<_pH+LKN#Hw)FO*wlZ3Ei?AJB| z{&AUD?nb2y&C>>0n89oySMBLb<+!6EdEth$72Eq~5B+KWTM_7jk37_RGOPi%-pHZy z79%30?EoeUTRkuTPB=Q(?`GSvcdeLD-1_L@nKf4sm9O~3g{L^nX~Ay7Ae;cIVc&ob zX$5w@^gxZJ?ls_d+0!z>!|xNd8qTSJGp(pC>E8DF9r=rYC8~rImQP$74o~B(e&L{#qW(F@`gbEHRH=Kp==(pLwT2Y;h6gYJ zAoj0QBmZ}^wsE#LFm^DvG5wEzJ*_Hfv%!Gc9g){v-QREt{X2j~4B9pTm~xI)^fxjR zJg}tXcuVRTl1G&e;Sz4Uz&?;*GvhEn4`0u${G2NLY!W6ZGO{Cj#>@g6+z>%5qqK0N z!nlFuwwA6k5Vctls7ZM~N*ZhhZiq>V5}sO05LSTz9c4&>bWR!R;nKcj0AT|aoxx=D zugbjf+ z2~vPEJZK9UlMfD-E3zO-TuWUj3A1Y#T`kkrXPLnY?IM!(z^6F~X|SO4!YewN9m^M| zIx#Rp31>QW63H6{0&IKVyc5EMo7$ah;vc$d_G`4!4V9KNLCOhrp`xZ}SX7w*j|tr=@im$Q}4D=qAiE9+C`%_}&*G1bl4s+Mot z&%UiGtnQL7LYULGUsX=!H`r0u6XAX9r3k;pu^R<3Q4IB zG^#`-9(G^ld%h6|Ng?$uv*Tdh!Sqyk8FMv*e(9sKCJ&?-STW6eK;Q?B{O zp+Y2`F@wCE2%p%p3N))?NumUYabPjCyGm3sVTzQ==W?JNEf^D?BHv+Pvt&F2G2N_@ z?N$7AroFF0u8@s#eoa>8i>0L?kHK}cz*=L$DcTeKEk~Pe*E9+usD5aA{6ACv%t8D$ zhXUxZ7-JgK)ypp_=v0a@7XjU3wcC~StjEZ^?hdWSfh%IgikUFfe-_09pKS^?X)gf7 zLe6k?CnmbT6tsaYEd6|X3)}w0XYh4c0$R7MTvch>qy@a;<|wY5E#ZE}Ne6?D9>HGU?)OEI(7GQ^V`zSO>ip2?Eb( zM3CqvAC&Rh4TZ=6)e?U_BQBGIS9ne84Mqgg*ol20=zAa;_gxR+nihkdzqN15CJG6zOI3lOKdF2Gphc0NBEL);!Hv< zwtgAh%4G_G5RBCvON^BVg&L&uFtMQg-&!_)R1OBSXwIZU)w;^(N_uHrAaf^qaagy0eAFtI3UCa-8Rub{iKr>Y9V*>oAu62iGHk5YaKhj zBz#Qnty=__l;{4tfxvV1X2pbls-65{V-}cAks(Km~O_9to`{$&W>1>~A8p`zjwG zsQr|y@bq5(vQ3hxNV;1)s#N-EFGPL+G*LSeX5C2e@YKhNWU;fv<5e2(gl|Wc!e}w# z!|;IgBZZpjCd^cR6)v1PrF%a3FGWj8if^Cp{o-p9a?Z}0G2@YgdA-S&Z(d7Mq_iEH*u%kB_wRsU)n>m` zOFG}_Y)AUI*j_4B4{or>3b04$n`CPjxQKp_r_Bq)ih zc2Pi<*0HQ?MUNNU@Nsb>6=v=LPm`H+W#$!|*0xDdUS@mcq^N zQ#rYKvF)jZ6q+AF`_;42f9uIWQ%lP+qFFX;`z57kpyzG{G^-Q`@4B6-fky7~;H4_( zN;hae#>BAmaLpd#4UCfnZWV$d$MY+a;touOb`!cl4ynUdByi-g6q7Po{GOs6d<>X> zCdFn`aOBuG%#Tn|H^T`tRZ91-3%)NSE0)@7ZooyDR*hz)knn%~mj#xdGlx%mC#F za5bFK^!{K1i^V6L9!1H)k~EBpm|r5rAtq-?@&xzv2fbF;ssxMiydAlCZk1c*APzq& z(5A??5;e8Jhq0?Bt1lC!pK8m))|jE7$VKDKI$3Qps-&W z)?)GO&sO{GV$z!1);8%i)20PjEZv{=Ip2W)$p9A5`=!r627LZm0>uBe117e%PR0(b z|KS9Rlh$ko7!XB$Nhi2D@>(j0(91=u-GujHq7D#YHVmV)LBD%ubjp;#-0s+VMsqHV z>-ng$P;sjP-LR&M6tHb3agg3xA??!SH+vq<6bDQCb}D~1+HMcZ3@4dt%Caf?5owBS z1_XwK6ZE-jvqXQUgILg_MoIM+DD{RuOV0o0laO>rGO{9N*?zmLK+3#=8P_`r)L}&% zs)&3!+#u9zq2u3=EBbb@#p>=LG^$#i8uD?{@}Snt`c~qKu?t=d7h8+IiWhL{?@AiL z<*-(V%9eGxF>9g$O^@W&My){k+}%i*Kmn@lxE~Lc(;!h)2!VZV%|1?xpb$izld0-X zgC9j5c`kj^Iynbh*EfvYH>M9B_tV6m;@ za1sa${Kz+MyRtA9g_o+>j#o8nsn0`o#!atn^QX;{-KHRmifj=e{EXF}% z#Q{Z%Wk?U16^f`V&&-z2K?;=`RI3 zrYE>X9R!Q3pCBn*MMz~wn$FA&sHVXhw|U>#o44bNrHe`PCi=v5n!!Kr(zHqZq+J&R zTygXo7A?id5VIzZ=W^xC$r&nmSSW;|?F&1}I1tAbdxH8wZcrwHGl4LArVepVbDAG)G?1dcrN>fM{VyI^UUW1Xk!TwE*j=D%ssc2Qhohd8e}7rV|WK9WbY zIz6AaaLRmmv@sycDiL13@;jWH*yXyJs2F0uY$H&heNdRNQ6Mb1WXNPe;G2<~X_Nwg zf92cw{C^h~^Zyan|2D#6`ai<@-$z*N|3_H=+X##8{|M{mZ3xwJ@E%1`r>wyCMjr~*Ku2RvF? zH$ABz3^7p(+o@-G{FWO0TB7jZ&4*M3A`3215GsMw%b_!QP`~5^CF~}Dr)_0@k&H#T z7&PO&4~f#;6{V7j5v+j#SAD)Rn=qDAA@0vQ5l87MF^!Y<&OtzZFg59ul#T?;+w%`; zlY$#vY+eBN|q>dYUI!JhF z-N(TE5wPrnOt`+UBDGjPHnL}g>Ft_6N{nK;&l$Sp{8a*E_`9KsKJ&aB(O?iE(@ zBu3Q>Y*6+h)Y%s2{@@SXs(ef8!zUa{ZHaszLiWX+=xu8L#(?MB};2{TRY4DV}7+9gFRgC&0e%*z;x@LgM7z$&^7$>H+4G0Q(UbBuP!6>cS^E zq3~Ffu#tH|mB`kLSY%3FSUpQcPBu;inp#|r0b|~FgF}kQgPKp@SEPU{HP!??wK%WG z5yl%zQ1k-&Gjo;jQ8XOBtlxy|E;_<`ON0jVk4&zAWFGw|nK%Jh|3PL^E%nPN$q0r=#79%C5a;M4JQSdd z!c~)B*xsLoekxZHk{b&WwGF)a*`>5YoMa=dcruUI@>1JyPobjOur>GTZcqYqeaeRw z&pSm+kZb;blX-$=q>R22v(ok7WM0hUjClVSnGXNRlpWMq9g(gfA2;;2lkofxGLiq2 z%$oZ=G7IHWBd2;Sp44U{9dNU&r0Gm}K2h?s5!&l1a2-t z8NHs9@VFyI_fWBnjZ!zMQ@F2YX)k8IV$?NSt3RiW<29D}_%VRoFaW!Aa#X5h;dq}*TtE|I4S~X*D1)7XUIsR-QV9Q-#6Zlx|^Q4oQ^Y7 z?#EN|e#;V|F_PG^9KoZb2>fsM(1flmExSrDA7Xm022tYu0+Y5Wk4;L039T*uZ zFCZcEX)AyO27n2Rjt<j*JX^n8kUYMd-^PDmFm*JyOW#Fk~9K7$#PPiegvB^5h?N zLdQ9r z({qmi2@CCmgZ2vr2P0NOR(f`9YGOt(IVmMsRY@hkGE-AyW1X9e@#X^pJTydHY;@!V z13fiGRfWIWdu?rNgP-Hm!^z9p`{C;OV=ML}_h%0nxX%B_`bV5@!dFX;gX1s9>%TPv zuuoF}DLh>!Bwlg@QV(%fhBixppBQOzTX}4p@YE~v;UTxU$RyPF{oy&k*^lV6F9iDA zze{i5H~T8KA1Kc2&21eeP=sH@xYTgwO+a3(qN%BPj#)SdWB!0+77FoGe?Q|fxq=g{0xyM$G~=&;d4s>&xeV`oQZvIS7hQ&8 zv|i0_CdtzvoVKLb`;U!CK?Q#KQXN$r_xd~#VX1MgyHz&i9a978 zD>E@m<{r81o0-M%TV3;_lij;~Jmu(4`9Rh;lE9U{>a$)8H2qP3FMccWtZT%v1FB>+ za8g7A7`?}=)`PZ>j@>}()HEc1`Fu6hQ-h#bz^fo+Cw>}&DOr_vEt;dFWE|YuC&}gD zO4R_svXAUz4etOiOYi zX4^cl_p{kp5gNY0s=zUs;^Z7e=4ri6DNVg>amIPu$e~NMamtyboXBk-p6#@9q4_&X zHnNmVXKbPh_kNbw=4fb$Pr?^v!3+zP~L(* zzTy@ht0Y}(Ryxx2lD+h?Y(z6{AggfBiF|vB2??joIIsvkCJ7*@4Q;za^l> zVOG(&r%&~9BivZ=8*NPG>I6_aNPifJk~B5@tlV<`_(G0S4hP6ZN4na}3jDL_e4^5_ zDRuQ$VPvQc?{p!tIF(&OiKX>A-N?0wNJk)7;zXd3irAq`%a8IzQ54GsVkm8HFHza| z2UtieEhBO_keQHF?k)>vJyWAYjvVLug?}p0Y$PeyTF?z!iIU{2R9K%DWwAw@9?cq0 zMBNKN=k0jKlf)%c5tOWY2IeK)#tNe?XS=n$+cxbb&e$K7`myAv2Y*{wO~`g$Q(6{G zMZYZuq7F(IZ>-P1PYOy|@^S~ks#h=#Tg(u49GBJ*{Oq+_{8rwGyb64Go{=E4L8g%A z{4n`Jb@9>O)&-P{rU>9KkTR-lhU*D&*ms@@%2+ccG-zYqG=5p1b;;aYn;5C5RSSot zcP%8%7qqtDdm_%00r5e16d!#^@56S!roDW4&cdh8SHyO`NIK5~S7EVC<<1t+?05VC z7Xc{G6tl)N_j4O-!Gd6j4BF@9(V10=C~G5QxL;CMVE92Se1ny;2^8X*wIAJl4(0ls z>BCd>3I6>RwOpP)=on70W4WM{v!NNx_E3lc1WHQBV~fnCE{r}MD&?)&19#(zaW$ig z(`$P2YyI`L<4`%~%$*_xDP>>(B|xQ)<_2-JSJ3>suDBS^A@s^{{W}fK%}L*L?oU^{ z{>#XqMaN3;0sP8~+iD#qSxGTD{{#&?1!`8piC6ogGNxr(zGEAqy~WZU<7M=73>rJq zk@(NmD##SLHBf|+XDp$%hqF0sIrxMvhRq}`OJj43n1~BZuoDw6B{<&-*m8=;NCVeo zZq;NrRlY8lfW#$w$p=M}ld!MDs9G9xqOk0wE>np-wIhb|5sT$(w%NK}&$Q;4R}wBf zs_lMUo?H?oB4eIRCRyP1Jhb}T^gsJdzIua$z?41yGftrRkoa_)c>p-E2_uDPOJ#mFAN!j$!mRe!tv- z9|b>2l*OxE#nY;OyRDY%0>cH(A`4k*CSFU9b@9+VYMYy-N3|a^twP{E#s0uc_(hYH zkF3~4_k!Y9wG-;3m7ES|Fr$#`T#&1qHNQFyu2L^n&Zy))+&lzspFCAQ|EMvj)-8R% z3?R#nhJ@Jp6WoI8c9&kSZ$aT}j`eR6)@YY1tX+PmT-`siclF9C+kwYKL26FceH>P{ zgnC^3G@$73!!1E2hp4nKhbPwaA(aki%L9>^)#bmebu5NP88u=4$+j(?GX(X3tvk`X^2Qc zic@jlMnRmhKJNkFh?w)(+~o~WXh#pNa${A7FDmEs{-tRsejkj^z^_*Q?P6yeWp^S# z6@0}To$sw=zpb_le1vO=X-Y8)cS4PNg}PXDUu+PkTMdG^rxSKvn<4HvdXF`#!o@h1 zlWq*tf#+^CkgT~C&xuUqMnAq|*+bvTtFnA3FLZXTd~4fhavvNJw6}^;a$6R6DV+wm zCE{zxYtVV92eL6y|g6^q%2UbQXPny&W6uN)nGv&+=PF)n~ zyEhA3IE7Q&G|6amYdatPxZ=Au4SB3X{1}y+WKOkm<#Q}mKsuOmH?;^7UJLKHEV>&< z#Ri60_86DiyR~YIn$rosb}G*Tyb)VESDAGQiX%=kFPcY<5 zIcgc5$r{g&Q6hXbnROlfocluM+Ba9@9*f}t6;1uo5{r_4R607gn_eqKBJ|Db=w7#8 z8W=5ad5fAaHr3E}pgFsdW0I9#+4DId6Pa8HCn?mG3&ZGq1ct74WzNODK4O_ zfC#LILooPy!R}Z^*&LZW+@xJJr9+OF6puS4u{5$#^GpwuHi9h4lmmOD`8bCjK1=Zn z1Nq$Km|tqlCM5wFL4hnrjAhK9q}&p@)VzjYRA9x)+V#;tNLGdgH;)%)Zp>L>3fDLt zF@qDbBSzX1(A?69W@NgiO8U6-%I1tOnG6V35;d= z?}*dFrbIgXoUBqUv*Kv!Pxsl2N2k&u@Cv71E7xWhS42rsV)z_IUQ;q}yLGb1|8U+W z+`Nd?UPL$cLaJ|$b?1V;s{HwLB4DOKw=8xi?>wA_WO7XrMag(r9;EDAEnEba&^6Nq zgYXx~eR@b3ySlDbt7Rc+^SiRn+^|r;ehx>>W;qZy_OOL%fgC-B>vA(3jI$Cdy)&kN z&mg1u{IJ3OMA2sP--N!)SK*#oEC60VkIlujUjlaVn#n{U54<`TlQGo@w+n^=jWt@z zbul^~o00!y2NFb?94RvGAhN{b^_AjVYu&$bR1t#{;U>o5$?Llz)~1_g5#I^MPlDHr z2Ex~~sYKsBqzs8-c+v^~3T?HzI+*wbjHs2q#DAFqL)8{$D1z)(y2;1kNg5lqrK}5) z`kSH-{9E$r%6-AD8$;Sdsg7|a(M_?9?=C6H^46<}r?wgd@5UyF5YR;{3qmnoa7KfV zOsIsie*}bzMJSRKwrnQj=fg!okKM;eUxEs2=B>;o3ev=AO?UW^Y70*S09&o#NFQxZque+WD}c3?%4f6okmxfMeYq@}EaXHQH!xlQ8oZIisD= z5&mSM&56S{%|qs5HBqbw7(?`%kF#Ebl-_uE^^e zp02UYsQ>(cEN$;)!ZG%&K`;=S3)PYZ`y9oNcVcMHldRTwP;K~z9UD%{og{pYlmQO7 zO8zm}(~ONix6YNV-u(xhu*i0*SVYPed9-(Jtqz0NBI=j)Wc`8U+;hQ`pd$DHRKhcf zA?2kO(<7$&sBLL~Ud?m?FZSaNr!%#NS3eb%6g~m$Wfw(P2pz^0WRESK_5SXsSyO|1KP=5pM;$RZ=XzK5dFFn#66?WV z+Uc@VM;@1{6cp(~;6sDme-4w+M%lDk23qk{VZMy-!c4boI`Y<7&;usEJri;!ZaMOBA$8Z{K84y%z0g#Tv#RNaz&Z)Vk$bfKOQ_= zDSg@{r+X9~%&g-6xo}65YOa8UFurN59aNU}DLr6IwM10g*JD2kza zjwxImr5e8@zVB7lTj_F)GM8A^9{ERi@bnr?92rF~hR0~E)@l@jRmS_^%!ZUfT<&E9i>uzg3(}T{us^Kzc=H6<4WMfW52a+UcL)CB^!P$@ZW6A2LJ7f z5f>U&q|rYwB7O(My2o;NeYcMdBjZB7G_poPHhou1BbiC7*>PArAQpbZ$c9A%XgXYd zL2U1P>h2!k;q&@pD^}V3j|HatL!zT0<5=3SMfR91{jE9K1Uej3&=p;;PwP&3F}! zq&Pv+iMspMCWW~XcE#PUtT@TU-}}&h1UA zzsbGGB0*1A7N_!XpOYw3ySp^)m(VXf@j3W+Y|VaU9Vw2*WDj8KpI7D@)os?`&u<_7 z=1JK>Kw9N`TNh-5=(#mC+smkYf%F!gXHF8U9zomH!nQM%{SfDx$DQlzUcNdyuMCb= z-GDGn-F%19D`Qu_-Kem>sA|1UbYF*O-f!?2Ix&@puS_1?c@fTT<^wZECVdaV+pxI6 zM^~g4jO-rZf`mNGC*~9%IoJ#kGmu-W;TA22?`jEpTn?H=fPwU0SCD!lgNdOFlt{8BX`DvUpLE9D^8D6WJN13E9NOj#6#go zVgvXQ%EU%m|6rY?3aOFCn&8jadN%e@%{KRp8Q2$wT?1~m>%PhmxB9!CVcT}xK*1M7 zo$`53d*LKr&fvN~oR7(|LhuA~&VA;X;=$#h&HBNHiCIO{^~*b-5UUm`SDLHNM&Z}+ zG>yN{^lf7h_%pDyW@corVlnf^sdvIoET>7TqRy-qHkvJ=GUSy|!P3}u`WdGmi&bbZOdTuZl}WmENIG;tQY~`pe}Dwbd?51W9K+ zjb4?+wZ>^0+{d5INrd)3WUrKy1h+3uBB&UT*edh!{;S)0UN%a@Ul6@d19wZ&Q>?V_ ziY2rlmoBC%3kk{>Riw*3wEXzbUs8oE-sfAJ0zSo+U1!Qs1CPgzZS22}c_>A9C` zAbyRRWm#zL-Mc_JF;;eWrkXJlm!u|tldBj^ys+eViH5(3ULCGW$#*ZiyC|eUjQ?U` zbU?y>Sc`f%gY{!*W8-wIB+)uEGU5!N8s}2VPO5JNCby8osP%&=6Eo}rP|$ze7%d$G z3AvS+0T?N8L?|#2&__|fBAk*SV~U>`U70s68KUrM^lN^^SQ z$6`pI)IXO}s#{sWW8n>$pLQ3ecA2pFcq!R!*ti2y!E+u{YnNm{cPrngelfYC+97RE z8uTIhr54klwzc({_aeXfxDrgB_RKLKcW0^IRnL#THDfV3F%-S(ysNT5+^P;LxFtzt z@K9~GeKl5nu)9?~!B$05DPE?TCfL1XZUvP{M#ZHh}slO>N%YNf~uc!bfw zkc^2IViRwV$VZ&2(ApTT76<3VD_|%h9g_7YRgLGyt4yjhGeNb1TxNIL1Xy3XGqheJ!pU{3vdaF?Qf?6ZaM(l& z-n-LM`>^W%g!8_K*q6Utd%kIYXAM)^7-turT=eHaCQRJF{}`lhVSMerAYD6F?ELHA zgBe|MudxV1bCKPp-7KU4erA-Zo}FWHXukcn z7cJ@{<*v}3mo!1Mlp^YNZn`w6pE5&mKep!p9O;1^VM4rasM*=K{gV0l&BE)dGy5~8 z8P!GkLbA z#hG$1TbuXT@#+VA!W^hWbMqvNWU0-x*{fCfnRZA?X^CeKS~=hq`FV-|^(uwd=!krm znVE&eE_bG!dd`~2nH|UARjaQ+b*DjBcPuk}B)GSy+qq_frbu8koNbKRz&7z)!I$?k ze*t*aHlw2*Qel!RyM>c0W$QZE*KbHHl7F~`s%|xUeS)e90^!OI-wOj7a4~(!lDr z6}A$I7_MZbj3|v0A!Vla0~v92&M5uX8{JAj zUOMy4m_3(v8m8YczJ0Y1RdgK&&kVfurF@aA(zmtW-MSXlhxs(|#h1YKC>b`c1@(u- zW>)D@xt*fGhmvNVr!%}KKbGEw_|EzIB`w!<$K9ztF{R{Xjq$|3rNQ)U@89Xsxy5(} z&2lnoyl$$2_*Gz)SXo8viB@Rr4;jH~q&Wul+9H6BrO20u^JS_0nmdAWx(3dVp8Wx} zojSu3mmFm>(19*^YmaYVJ1hPU9mP&8){O313K@SIO; z5|PIOAd9L-+Vp|vZE21^<&QXCIEh*JtFe-Pjwmxc&-c?AlAQdf23kk*DG~-9WC1MO!`BD*V z;-^!f#ufvC^c?vq;R?aE3Oq)Ou)$QkgcYeG^Wiidazv60t~}E8Qvg|TS8N@aNRe8J zNK@e!2Z?8(ou21ky@HEi5(Jp}Hm52$pP3#+IO6=C`%0=m4~F`Z@0wN?P9^2^C(TE3 z1;q|#pKYx^&e5FSEORJ?FL&E-<9bpi!q#5bV|@j9UmZg@fSW0gUi^eM-r-o$;N^$4m_$vy2ui;)EkwQ z5v#2#A;6`#eaL-c7ZZMJ_sk6wBI|o9V-Zkv^vge0nkH8$XX(;Q9r}(O)o{kn+GdrO zx6`8DV9Y92(TFAoF)|eKkMp62p&NOKYUL@gYHX#pk3EDEs_T?Lnzo<}QAtyx2l3Up z?Wqk%^;Sp?S&e`g>peO}+j*75+3X=^p&kcZr?Fl@(O}bGYCPJu{VjB8M24D_pcH`5 z8w`Z3LzK$<${_x%cV+BZc*%%(>;Sse3TLkJb(9a1DA8G(#SGm){51o+K?QF8)9(EU zZ)sBB7Ycppd-zd5ROz9WXgh2m)w^D}Cl3)c+*}Y5r;UH%kU&$U z8?)i7)q8kk{n4w7mYq$e+xF%$HfmsbY3=(|M?rvJCsQInbX+#x^Lvf(GzA5oMko5c zg>yhNqnF2(#PF-+WZ^IRA_e`efBMTxN^zY&tpRY7Mj~ub=8=M>pV@>~_X`_#WK6gd zDXU@?+zc;EJMVTnzr>sI`)asoh)-l5$+vZ6F)2O0qAL0eNHL(?i**IY-UZ@cqIW+4 z_=HFQ0^C!13KT^GG-6CvKywlhP;s53e~CQOU`J-T`olL|>F@QveZ+&nP-G8X;h~M8 zShyt5Pjr?3ekKVL2)xv202NA<6n~;iQmI>Av~I0qa#NbDEsZGnnBaq|=sBp&c!hl1 z$3*#Ki4$M#%?^H}fZ6&Bb^5(fjo_I#^ke%k5)WbDcs})UEX;T2o*C`?S{o0NcJ*lV z7~Kr;xOpBTt9IIvB>S?=W*6^XxNW??>G+ksz48PNBfC!4Km7{`j?r-A8$v95O?7f) z$b~E?SkC0M7-&R@6E|}KQ;f0`H?W`|a=uJ7P&}7~G>td9P-soh%+%Rk)-Cn)d=r#u zv`x=ifb1&PJ+ffvh^hA$@NyL%VIyg7U|ea!tCmCCtICf3s!-@CovPT>a(vag!85KM zd-3M>gnfC(h<hv;{~<1z)^hS)bl_{+Hk81Mqm=5jdGR8pOI%f?P&UZTj4MPGpFIX6ow0uYaA z0d_A&>JNad%-K>IIq#;l6FYy6Ton;^&jj0jI#=X#Cy^oV&pDP1dkOe%`;8q1>dG^H zUFvK3n|D}AF%kCR?6_2{fu$ zuAO(KgQOxjNax31K{VG(u}$d~p_y;A!Y$-U6@)5(&T^e=CWe^jR}%v0_Lg``%^h2J zro;Q3)kM<04UAer<3~Mup zheos;Ye}W*)if7G%buBSFf5>iD$v^5;#$b6ty|h@=$PH&=D%KwNLA}j8@oDWpU;Nv zR2h+i%c!SWW7Y2NGeWZr65?SmZ<4TJPXlovl9>L5CsRo|k%*pIFWLenBpXMwlg_25 z`v~Eqt*^$Z{)h&&Tdva_*@}s=a2*0;qZ%#1n;E&;mJZfoyuD7zdFJ{m9yhXdTl7|= zn{VxKNIHmI%+?H;%$ba_=y*BFZhKrQY31Nu`6K1QR|y5N8p^3QUMgAwpKf!{jhcJOZv&To9mo}eJa zXHH@wy7(q9VMOCG7=`aIvegWp0&*^Lyt1t{_FG&D#la#NmggTI-uZWY0m3!nC8{Q; zF?a&20QWjyWXaC&nRQO$E&-aq0J+3M?WL9TD0p7sfKbp&E~!R zR)3UFDGA=~>8Mb@=qVU}Phh0tC3jcvXMh6v^ycjr8vPNU)8JtRIhfw0sQUBNRILjv z*VpS4oY*Tj)Mj>ws{F`#R1A+SJ+WWm-HIad<)3=(Ts(f&Gss8C)V`23`bN8~?=)!E z6SF!L3al&@hKHATZSRUJ?*&%yDci$uUe-{GfyRI~4YvQ*lHEfFk=G-az8V*~rQb7R z7btucd^>Ynt?nsoE^D9*L@s5!3H7PueV;NLwD={G@Qx4p^RVZobr>3F`NR>uUVBA; z>lq|c=)3~TtBrEWbH1*j{TaI1cf%SVH|*C@$4JIi`yC~-rkLVPrGR(;C^9s*L;p4k zWt$Z+H$t_qo2w)*^Q~@gUfiag_Of3K$A6d~eVO(4DJ$k_RqrEj2?@UfsM}J4xV!t8 z+#tsVwnXI^wY9Le57oG$1l_IJ*z$kc^!g2mpD50vq8PA#ZwseNGK<&1ViPyn08UYWM2miVFdN}`}3$pp!` zoj&;$gKic-ORhp~|wfRAu{-JxKE+AQ^|CDU-$w+y!rPJ}H#xL%IiXoTc~o|1`b7|Yj89nNz{?K=Ji z5Y@!ja7a#&bj~OnAh>oDH=(l&6&qv&*6lL3(` z6ZB|x&2okLklsXMe3lTlVp9;=ffDo49i)&Hol0iL=-(#Co z#aKD2LzUX7Q2F|5uG~(uUUU`0ho~%?VGy!HRL&SwX-sXYU1SNNqZwGv8!mM=Im4Md z@HZMg?j^JQeq!f#@8xBr;sQkOBF5&oJ(49En^FqrTR-JQ-XFRbaeYYO&y{qszH^SiB=w}r&l+rDo`k;7(fFF?*;~Q|KgDQHTON<>l&q&9(j#t z_4os>V18X$8ZCitwQvCWq3OOL&_(%x%7@Tc&v~M53?@*_KKv!dd7D?m5lvyAPFK%r`x8?0%3P7y&5=zxvei%UD!?iFy$iLCd3zli4w_MDw69Qa)w@e$6m0fEx;Qd5o?=O`?Vw-pTf7; zdPFfe4>`wSZPR_eDS9#2J|Tn(4l@3A2~JXF8OfrUQ4;0xB zxivR=>5N^JL(os!y}q*7EhPUpdBVQ{hIFg4PI1yr#D?l8z+s{~ z)WfEoZ%v)tn-m&;Wk45bceYv29vd?z^|*3jt5cCrb-Mwuy8!z3`+Ev#&qZofe#Gd) z_H`kdpp8jDAHhRp=eS;-|L5$$G4Uwl&OloVdbK12u;r6!4?C0GT2NVA^RyBd{ftH zCqu8kuc>8Jiw?bDc)Q3m^qi(GE!VA@7c@Ulw}_jd@x_2L`jpRF+k$TETW3Ynh<@v0 z=;vsF6zYX1>J5k~DthKQ6cD|ts1LZX3J72^P9-?mK(qw-G^$SDk1QZ|#Pj{UZu&5Kf*r}F!W`YPvIqlbp#zb;YJ z2N)&7P?nr7TYZQ_dhDbMNSWJ|ti>1|agv|)_m)~Ak?WMR6x(mA!@`pASws(M|JZd) zhUaAnLz#Mw^ZbK+4PKm@h;jB;{J#L}_jD}cpMWg!o;?fi+}GL*<;SH!X=TmwkqG)pTv0xr(>ByjkksNHfs;Qp?R@fM?4h%*SX0g&#e4I!tnM$;rVjt?P&5tY;lchyI{BS!8lXZnH{K^$0&Np2@+?6 za|@bNRWKTo01M2PHGy8?P|mL8!v4^;!aCSli<6+=ww9vnpE0UhZaeqr)kkv%m4&gi zE19d3;H#)Tf2-3G;ZrSQ;le6{g(3$Lqz{@=B7w@D2+}8v@f*){b%6tiOVuan7h6R1eDSDm-8^bahZ|(u0rsN|!8RpbuHY*1 zZmoA_lVwPV)^4`+P=B{G)RHN~~ghL@??gSD;YN z!~i_INL#Np3PCzY=yGKwsKW}37d_R%!_qVrC_SkrF%*|@sRMwFH;IB9p544F_X@pd zQsXGXUj51Yx@W~R)&aS^$B&3{thhP_1B^taC{sq{3P>S8I?S(WgtkTD zwyJ(wvRxvh$0A2|*-$8f;k(UbgTU@a3*1~b4O#fZ3E%yOiVIF*p3Cpge*tDN?G)*8 zG(LtICTYf#*+(JCNfBZ`d90Qz8^QnQ+}~TOPaam%Mm0iyp6&9D)z5Y-<1wl)!&e_4 zKjOqLzhV(kE2T%~@zdY`|vZ@}QzZm0NGooxE zaElinbByonmo(h$F(=C$U6^eO+DQ71};Y));fzl4P?5l zvOmiMML(0Y*HavaJfa(6Vp@bbGq>cJ7HI725vE^ks-+h~U5>`E=^8*+wkB4SQ&{O5 zQpO=k(C-t;XS^0kFWr+h#D@bf)Z)Ln=TNk;ZIFL4uXUT-mg)9v;!H@@+AFwKq4hV! zj52M1tDD%%S@GQ^UNm>?P-p$3e1Yee2hG{+@+k}i}+kz|E8b8d!0fFhw=^< zTAJLx%$c(CfEu@k!f=ZlUbGvQX&W%VnfbApYJFcCC<{Lgto@}Z^n5cFbIyp!>w^;~ z@tFhsHw*Y)_&qcJw9|{*A-tV;{_tyYg^s|=FfSC>ZGchxnKz!%1Lw^Tvu}wG3ik4* zSEf zd&0R^(yB~XHm(BB2F2Hm)=`oTnwL+W5K$vnIBHva-Sa#LhGMn@G`+2|rg`*E*sY5?cK@dg%vn=?kwh_E5SKC7`K>g+KRL(oCU%I%)NFe zwNaWrH+aB;F7?yon8UR0VX`7a6H|dM{d!v$<#NrM0Y|aWdhDGZ)dYVGo6m<>B+<{- zRQ2XG=hL(3&2?FkPslx_*$OQ`Bl{K4_6vH@TUzwqM!J@~uspxHop?hAXYx5G{KPo( zJ7dN-zTfc?TgtDvWwY{rndRzGzZ@;FuHVh1KPX2m)v2$f3vKx_vOd;cyIiz?)wfa9 z9`@tH%ItNc%UBzF#iN}c=2=7nH$F~_D{?N#@M&IO-`jSuV62CUWV%=!{Wx6f9yjt$ ziLO8O2@~vrc<#0tR7dUCp|G2@J_g)+ZDor zrE2Z;&{=<%!FbUmXbD&g)17(#BpUu;mI^=;xcT7e`%S@)v%HvVULQ`{6>BOMz_Q-= zXx&;m$6a>ku~fv{IM&s_u)OzI+NYtO3sq>F|FlUBNY$X{Ch8o09PQiw%PIpK3twRM z=oscM66;B?Bg<2gu_kNvLDFyfopr}$+&@Fn~!f}3BC%Wd3Bc$aUXebj39ep>G z+@j4KKiYqDyHh^cdj2w)kv!|pnWJ9jaqzjIk0FKMZN22c&)0FLtvLqDcD2M!fSO?T z5?!8>%%Ua{9W@$&kvdNiHh3PQ#|8#Oxz{nOYmG>i@794o@P;!14M%mbWKB5p8v9?J z{4fz4F_{vvH6*a5OtIWzYfn7XLeY|d(!U)mWVBy9iUtSN${YK7manQSP5U983tHy{ z?zfH@){ZR;acZ0sW4DTEFF(r459#dKWH2nv-K!rF-or%s)4E_CfJ=>XXjx*Ax4n+# zTr>WxQ>7Ux(wU>qP*TnG{674`ScBJ?8Mqdb_y${T=s5U!w7AEY_Uj5@Oz>Yov_Brf zQw}QrbK|f}2iU|*#?C`xdM;_1n5kgqs28n{;mJu~q&7ca)jkQyr(Avc)2}8d?k_;N zZ=;+1Pg6~MfoB{}CF{%0)!$Ig&d&J7(Hx^bsbQG?CP${Cs2tu=;^*Jccd%j$u?=cz z((HYG^3K~kP>q-0Ay1-i%&EbT#RMElB3jMMla0TC1XInSnlyT6x?iIqAxqZ1kTVXZ z-P__)Y5a~OgN_t8<;3*wx=iRA6_-mMtV-z-kTtIq`t_{LJOi(N-qV>p3&!e=wF|*s z+nW*bB3{%qnSuVVP&Dn5q(F7bq@Mz~j=S2VNMhKzZnT z39b3ioVBU2v!_HB#QfAPb7S-v+6~0;qb_JUKkH>8W04$Da4FuCk9c0ogORf)`c?J z$J%CAN-SS%pzp)6XB_S1+fJ;N%(BsN{n>}+l z{*;YmAKGFB&ROH6?3GS*W6n-X-8lJK$}Hq684zR9n3TD| zn!%$N-j0b%bck)Q7X?3>$9S*roh&kI-lzU<o6Ac_cgE}Xfn zDhJ^^{mv4QPQmLblzC*>r|+Z5`kTM#@(i_UeU9@*!Mi)Gt+2if24Mt8_X{)j$fMt@ zE!K~{@OrR~;;8e?>gI(p=03{gyzCU%Y?|qTA2|wEG;qF1=!@Si4@i7G?xY>lYcK2m z7tmm7;gfVm&xo-l$~mgiup^oj>Rup9XhMpxUc;cv9&B+h_$GxV+yNnJCuYpr)|$ti zg0qL5MAK9QOi{98fL;ozBh#F`rNnXiy)JI?(Vlkg!gYx}a# zK9TYsso?lxbx3iGrX|qOLlIoG6u57ESdhV%jEzJH;I!scJq*p*x1RMU6KjUGMja;2 z=caZ2PSM5T+@-Ht-P^rJ6I{&KbWy+)^N-@DMd_X>1>qz7Hn$Henal)rAAexXkgomF zz?7Uyq3*+w>rz?_xl<>13Vv&QQ2K_ZPQU>q5N#k03i4j$=L*w*i`Ur`e9f&jPC;*( zzuSby7bIuCqWydZ`EfBrS6gLSFFgu+VH2dVJRzimOTW~?W*(i{Pg?Sm05gk)Guhd&I01K2mo-s){+5gA3`7id6lnX&Yi zYdTX)!?(Rh+Je*zQfc)kWhCo@6=Pm(0oy&Y2g5E;5HYvni6fR50f&0<+uNUhpC zk-{pIUGGJ(8+w#pr%{Uve_C`;F=J32W$SL%*N`?bX;NR;?DYzhr+W!~O`JA**iroN zTRPFyt>s5jR*WCR+>_MiIm{qzN!oh{(lHdU9;Be?kwN6FV$WC$u8Lye$yaAQ9B|>h zoHC@{P4*r#;N!2?upZKh;r6}RFzakEf7T&u`G&A8`P>!u&W}l8)@uZPz&OeIG>YsXUzSsyk4p{r|=xB1SayC z+4BnTwW;W>y)W=qJY|(GW8pTMIawp_Zz4o}}B{pLBRhCEmn!eJR{X0KeuQx-`7cO|u9{6W1L~1wbD)XHHT@+H{WoeYu_myO&2}>$c zr6J{+h7xIcsPFDQ({ZxHlciL4wl--ZZhbg-M?(gc`tkn7cIk%&aKxFQV{3tUM|=De z^ZnH;M0rTb(Ue%OQ>0p-6ldh-kT~JfK*p$yd1Nt^J6PZ=0X$_R4ZdTBaIJT(>@Q^@%G-o9d9jZvE@ z9B`8KrzfzMA-TgxKfwLsRqyxuUG)_tn!cB^fzEm5#Jv4UMUnwE9x$7CMv3&r*DPPm zdPHl;%lfAVov<`YzG8A+q|5Sc)ZF@}fZI0zn@94$c~|GOzn)X+!cpewWMYv}lom#r z^rz{gEZJZY?nWAn_JQ;T^GSe=Q0l_E!Y2l$;vW7-&wk{RF15lpy>EWXvSc*ul1iP} zGod&S93-n)O1g0$)?s;h^$XMLBKphh2Gt4$tt+)c1cWlu^86-e+5`I>U-=K^xy=hE zbX>jlyoq*iO+b!eQj1|g~x~!3d`(yBO#q##g;Vb{}-VB z^~I?Wr{zNj7WG}cyh2-ih`W4VNb#!_=~42+`CL)=!joWQTjt}D&&VB24j7%O0wTjV z{vQEp8(Dmk%Vp8h`^+(T&B8|thDj~0B+;)u8zTW6(OBFXBolwrGm@K88MH*@P3}P zp&U`PWx(CH@A~3~hM7E9&kjV9fu0*5b-n$KEQ4+y5*jnq4x{j=ExdBa@;5lju;_lZ zAC@9MOW-ST4_&66n9FtznKK~#M{!+Musc+PoD6VllCntz_{JC>ee0~U7(m01QCAQz zZdlhN^sLLUCty_dsr4Crt9EXf9Y<>CQvHjScIP<=ookQBE0WVb3Ms8@BVqM zeOppDM-ng%p1Zgrvoc~0yZ2}Oe$75sF>0QauaFx-gZbhW1Q!jdcy^>@ChEI=BQ6R(o59+YHuz> z3Cs4ccSW)2UhKZwpz`)Cg9ok!Y)f#ba7};wRt~?rp?oUdCw-jQt;-~f$3g(d!)6^={tMZk(Ec;w%DUR4sP8fmBXHY ztxx@y?gn8vJ*&RbyfFgCrPOA+81yS}plucDPZr$0)J$;}O&(noQ(C|vNZBJioDNUD zD3Rm0l$hMe-zaZSb6%=EKWyBT28ZzNs}M{}$F*#+Q|gHJ&#~h+`c|Tcd{W~aj!kFJ zVW>%ZzIwa1?xgjvc})V;40&t$Qa^^R8=ov^=~wOB=s#_KhlpNUJQjfG0OxQ$E0Vte zkVk)N_pN)uiE|MV{#E8W*MshD+@CG5Ju2f-J;w>fy-pV;Tn0sAdoZnQT|(~NQDcAu z>yG~bN`mgutfV{4fMcf6N9$0-EwGm^=L4_q#cvm(tnb+Lj|}S93X)w)Lo|3Bn}7-I zKMdDXZ>T|#$lQ~Vz+~dQ#@A7Wtd=C)u_KqjPzP*&J!^AL))9zQOas)lRrNAX$Fk|V z#BNKrwu4CCVW=wK@D%PXsw&wIV2^)Dp zF5dqD<6b}U2gA#0sLOE?D+Jt*JJ+YZ!l--@SbNtgtIpb-a$8=4RAhsWYMe#Q(VkS7 zuWu1d9w@ffE-mL-B9N;Cnx9;}wZvGr6+y?C>i2;F6>7 zFLPZbr^Fa8BOkrmarbliSCG!YXAPbzn0yiQzAE@)dbU%5bB%wRIYG z>l7n@8OSESa?$mftfo@Z5~q%}>beJr)>|@i!;FGz9E~E*%JOaZm}dELpIU5CJ}4RN+n!B8ZwjMm4!uN-Kep+*cv0t6Rv>zTBU>F}FX` zyJ=1nleB-dGhAJ=^g*Hhr}U2ptIRRW#zvao@N+8qpT#1R=_vYSyR;tP_66U%lLV z*Gn4+;@o%`=CUjx5h!voicL#Yj@}ni+;lkfts;T4zle26#k-9Y-*ak>(qc5KMJXQBGlS)C@ApvmVoR~3n8xmke)NFd~7)Rwal zFiu5Kmes(@oF2HM-r&agV1F7+q;zqpkwF~Q%Sc>GHh^k{oWQ6xsckOFLC@tyu2b0T zw6t*=?yW=8vh>+Q#t${8o-59)qcMAoV@xKT-D!rg5YlQgd8ai;-!v7>4N;NJJkw1k z#c`eK^u-@7MC?@5u(>{S(vF>KHEfD@ zXSIv3tnND;owlDe(w~=uTXy;k(no@yrF6P&g}i*W39Y5_Pz++Y@ww$n zdO{~&w>;WU2u>J^gLp&T&W!LqSDcx*!sK(yNirge7-BRN7^J(ezoNq zhlpm1EEhNfn#aGa>Ly^XP>L_J_jz}5yrq668Zn+1O?MvDZl^nI^lP0Tj z&Wrn`JP%s0KZl_)vWD3C$4cr_GX#fW`Fo04Ez)D=sT+XgA4+kv6t0gypTc)7$dO2> z7sAq`eD1Z}PZ`MwHu23x_7d)ya&oyfl%o0-863nK3{a3*?rylQw?)&YaDZ^D+K8-z z6(j?Wxiz<9xR7lbKyk%pmb#U6bh=(6fe;K3eroArV2BRkk6d)FUe@k7T#&;(>b9@q z2;f3dwze^W(AL*M%xQRwU9`7{22ipCjl+?j!o0&$)*e|O_o6_3k2M~vaV6BoP341D zYNtGd&#iORsNRUEuB=fYa#?;-dXMm_moAy^I?#~woMNp<5ei5d?Nk=Cj#LvU6NXh}nOmJ$nYn4`I%AN`S z>GUO0ry$LOVM?cP{ zbio|(4OOy~NILUZ3kH059cqb8m`q*}4^dP|K6eL?O14ww$g2AaNuHq4#+j{RNCP#u zZOe?-6~D>_Y*|VJ4AU*_cA8*5TKv_rKJQw@(&a``irEJsSD9bpF=84B;))64u(>2J zQ5t-QnvXoxxd0xN+IMPb>q)VTie525q$i4T8Y^5LDy(gnsqRk|QX~7y>W;%~(@(om zN-5}grpe7_Lt-aNerhB%q|~!FA^Wgt3sW;mnsFttEyXnSql!aJNNMRzH0C_hPc(sv z-ksW;j%n2_5YyI}$BKI#R7`VOvW79@pmW})ZfXaquxe#oYqG-s03-M8YDj!TJc9v= zHP2mzEX9s0J9+Y(SA+cP(s&v#balyHoi)a>B#1zKp5rxA9YR?YscubTPSQlBm9l%{ zoo#Rs1Dyax%>A=sha* zKy3h;&n(Np9co?fpaYu5acz++v}wf>6IT`iwDDCm`*~$yfNP|KOOcR#r}C~z$tSsk zlUf`;w-3lb$6l1(I(cm^+h81=1Kd|xsd#Q#hC&+7Zx38Y5dt>I712txdz!{;l;vl= zVS z0hu{&wMzTJLfvu*;*@bT-ie(lrg_#e#y+(o1;9IwdyH1K{+70+Q`C~ zqF0pT%N!``Gv2gqZ{&v00Q7Y~p{!tXa!p7kD+|Y;yg?`FLS#xObEkNimH?aq&P{c; zn(S{LS-xf+>&D`_Xy10?aniLcH4Bp=A&W8MrK2|nwmooMMo^vO=IKy*g&dV`2kTi{ z9fkGg(%ZK12{oatGU?HgyPRgSyH7(qr=u;Kh}l!jKR3*HrSt9ZFvB?FxO1&HnyjzK zBbrGyX53UhF~?r@PEDZMo%*a&0>Jd-bdsoM@x+xmv_xG2ZXRLG64QnlXG_@k^Ibf>zd4qRC5R$xK`l$RoPi?EyU5| zEyDrW{{WtAIXjgb5XM=$bnXRNSV8DL{heq!j2w#0wJVPhkU>F_R$@#c zIU|g5L@tF%UP$UGe9$HNNFu2qxiCSrhFp#fTDP_i%E)T0vxH&k#(k>ArSvG^Z%}$L zCaoe{Iy+d0m5Dl^=Tp350v#IwRVeSG5Xe}76RGs~`c_TfiDB~$YaqcmRvpedR`H29 zI(w~M5(3ASBj)z6F!7G4%QCV)LC+cB{=W69`k|f~WBaVbAoexqTIJNzNwLA;{(kkP z>`YUWB5UJze7DX4`A9T~q%j2Jj%qD70`h`JYW4JHA_%F}-K#4VWCdJz9mO-rA&x${ zse|uK9<rUoYklR-^B>CuF)lK16NRum9ASyW3_TC zrj3TdUT!CIDY3+#T4S{<8jPIR8)RH-b4{s0$f(G{sjv+vwI*p#6vAnR$L5;NNxG1n z3b=~pTbB7vRE58JRxX?6s&JgWbwzun8fw@SGh|XAC1`Gyn?`qOjZU=lQK9CZ#*v)e zn1+~Il$_LMs6uRZX$w<#QVz5Q$7eLS=}HF_RJL4Dn51Efc{LjvO^u9WQJQm7Qm`g4 zjw%-wVDzXQR&1uu2T+um3~kpmM4nt=?#(v(Gc?TVIn6R9bzhw07403CCRP$k6Ssb9 z!M7b$U{nx73mG?kD&N}BVR+2~CW_zX$s7t~p?B~GDJ8rfUexM+DVFM3lE7rp7a*NM zWl@0H9V*?mipe7GJPOad+_!6xao38_Nt~$Jo|O|^$)qW4cDhtHaH5ZwHPXV?!A3D& zQ}+2_P(zYyYfsi?c!pT!yh_*#oYzdke(Bv$b!>wTip;#!?Bj@^mbokKQbQ)t#e13l3A4P>&bD#IB9lVTar+W{xnZ;-fvUWBk`(HzTifA9R(zk z7uXL~7_BU5qONQ~s5}vpjmcf7=~Bt97P3^y+{|9&a&?{Hi}T`CUe-IygiL_ zhW0}kLU;s`pMJE)x{=dqB=ekAavqZXF^-t{#?~-ZjaYsP@?_QkLigEm@qZgqxOiJK>RV*@ja&wVU!}7jy#YrONvMG^tYumrd8#Qpc^#=yC zZCnVzCYDJG@H6zP4GZ38N4;3Ja%2G3ToRn%)~&J^U{q2qGqcebDh+hX2HNH{S7kt? z8t9e2QC@x_K4YGwhcU%7tu>yJ4qCZ6bum&W2MbWKr{Ob-;9rf#IoNupzoG}04I zEyXm4bRj&^O(u-hSXULQ2ISPtc&HntO@!om^4uNRKD8a(;I0K*gHD!4KPjirqE1L5 zO?r}=TbtRNHGqi?^JsanrW1v|Q?x2CduL<#Yk1lm- z-6N2!K;Qst55!(9yVh=5q>+lA*{)=}HztJ?5u}!^e6qC9xsFNqrZ-#+Ke$?j+kjv2a^rjy8%_up=048yaj+HEPv_~u4V1vj%T4n|^X{MO$I!9J*%DDE= z6wFdmj?@SU=AGD6p@_=+M|$XN{4sHJ7X7ECOOjiT);X+EoE|G%QPHNeCvuTlIKyC$ zl+(V#6m{g%;AhsGlj%#Gde8#nij!^^8K~5eQYp_I{&c{e+IE5Rt&AGCHS^8^W+YZ& z7;NUJPnmH*nKt0#G|XV1N)&gej%c|kbZ*N0RoK`*53Nxnp&cq%n+AkLmC>S{V0u-e zGme!_ALRzDESw6XI~JomSEVa_=Q*enP25z`f)6~qW$C_VDWcISI26M58J40ld)A5|o}|07Y5A(*`KcACu-}m*bmpOBQacP)c4{m` zXGL$}$e|plsm_xC7}_g&@#R)T^A(edDodFi4h?FKb6D`|OB*t+aCeqZXCWBrUcz;q zdpy(oAIE1kWA2AYDVbY^RW6z3mV2Z|IC9M~HO&1!^~?3dST0NC_UjCD*<24tD^4ia z8s*->@*~3Oa#)FUIbU*qpZC7s&u4#qpLC@r%i4%}IPX+($e%9D#W@`( z`hSag-gLgvBok)3LxDK3pS{=Rp0;v{X=(S2nR|KXE{8Yaxo+N>qw}TeIw~#u=!ZX* zpAo{>iAhdIF8C_F%B00ns~*P>_G1U*%H|~N-=&x_nOHcnm#kg0>v^R6X~RPA)&q9k z&xH2bUoR557D{~ywQfRi0>oD0t~f0g6eRUQt0HM%%$Y~yjN()6qt%2^eu9i?G)oaz z)j_3Jh4`@!(6wv$6b}p8^D<6f-HFB6hDxlA1QkPJO2v-LOFl0grlrfOES$V0GVI6T zyY}Oi)y&;)BzqW6#kNcEHG3izdYpj^we4;eqgK_rF+U#pGUMD=ZbV^9)|7?s6y) z)d8md7X3lh61RfnBgmhMCt|UT#F!G@TvgKyBAn$vPiGD@=@;eN!-(i{hrH2}Uq(hz zqlvCc70v~r`R+jX6!l{1 z1p4D_7NEe$!y z9`^||P(zMAanO=h%C|P@%(wAWXjka>r%9GQ3NbQf$`O+bb6=BE!maUCEtNS7XEsH5 zK-*SomQkF63M3B3F4SBeXxtOd`v}G|>(mnSB&9`3FfAwsU!QHi8F;ZVJ4PL_G#!US zATs~l4BS1~ix6@I7vLG@=j9)|uD(F6ztS*d?H_+s6gEkBWJ_@<>Gg8|=`PXzg-jJw>l}zO&{tiSXBG=@Y;%!S;{vnC_&W|2eB5M-@ z`DjEXK?P$qF6Jfh2QvI@>a#jnw_ouI?3+`S+%m0?A@)Zg=a6gn)~l*i4zV3{*AWz_gxjl$cj$vDUEyn z(AQ!roe!JUk9K|FK4q>TC)O~$ayE$kDOFQp$He*F{Mo^L;`fmP<=E!SJEryHZGy>7 zsbOJaPHgB|++;>8_?WiE{B;ABv z?#!Ej9YCovk_1eWDQ21?iigt1D6z3fUbD4EgGZlN0yXa0^c;^Ab{&AqABnGH2Rf42 zuRLTvYOtuIlN_Aq#jy5E!siYx#^lVHoOz*SvZVD?PRGXQmY|tjb(^UFSopR1ftZHw zGbCe7x$x+W^t|i|yr1H}co&(~rRj$wCRwKHcIa_q+cNfRT3t)vT+sXJzd*Wo#gy2F zT3{G(U>xGWP@Ihe{6m3r#oaC{&@04s{gi3H$+89fUWx7{luG0HvN?2&Ko}i$IW~uV z6VK5&6|=O=ruD-pw!7zRJbsSm6odrlg<_&BaJLw(m|uqST}nMOW2P|T6*-iwK68;5 z-pAI)_XM6&w3?a4%{NCC4=yTN%-Z@HdMJ-LsHa`^J1I16z<^++(@Jmn&YWD$sMhNG zX&I{HoTVRCSu;NBba3CP!o0+Wk^G~cmaVrs^)-+Cx$PFE`dS z0@ZwzdDLG4dy$uujXBYu-^!evUAc0No^|s0_?HOb&$ogr^+xY;%)JxVcBsaBT?put zy)C964%N;sY#EwLK$(V%Z@L;WYpb`)S z@N4oxYU73-l(Q!(QGg+O((aqf0(fJ~77-AP+crgjanYtMb`0R@8%04NK$R_98F09P zhlEBEzPVb!FxXJdrR@O?@CLliR}JRD-e4~ORcez5TZF+Sz`jXt3B>+?zW)~cBp3&) z3c0xOflYjixDZT(<#}BCuG}WQMWqL(zn^_cep~j2+YL;AKU-XJTlR)+3`~DNyG3bR z_J;lnOn*O{aBy4phL8zNgPlO!u1O!>lKp=f3z!GnTey6+>L$O{K?zX55@kQx90 diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Getting Started.docx b/Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Getting Started.docx deleted file mode 100644 index 4b7ea44f4b67b4b4322f5ff5963163f5c6963cd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64362 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 R8$VJ9-gbbY6qdR1?GMq9;#2?t diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Paragraph Formatting.docx b/Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Paragraph Formatting.docx deleted file mode 100644 index 3f324d30903ea3fea28d929e148de50a442a0d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21396 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 C9PLQ} diff --git a/Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Table Formatting.docx b/Server side with database/ASP.NET Core/Using MS SQL Server/wwwroot/Table Formatting.docx deleted file mode 100644 index e620881d8db2961c244e9ee405d46f4a73a96818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18562 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 diff --git a/Server side with database/ASP.NET Core/Using MySql Server/Controllers/CollaborativeEditingController.cs b/Server side with database/ASP.NET Core/Using MySql Server/Controllers/CollaborativeEditingController.cs deleted file mode 100644 index bdba227..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/Controllers/CollaborativeEditingController.cs +++ /dev/null @@ -1,508 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Syncfusion.EJ2.DocumentEditor; -using Microsoft.AspNetCore.Cors; -using Microsoft.AspNetCore.SignalR; -using WebApplication1.Hubs; -using System.Data; -using Microsoft.CodeAnalysis; -using MySql.Data.MySqlClient; - -namespace WebApplication1.Controllers -{ - [Route("api/[controller]")] - [ApiController] - public class CollaborativeEditingController : ControllerBase - { - private readonly IWebHostEnvironment _hostingEnvironment; - private readonly IHubContext _hubContext; - private static string connectionString; - private static string fileLocation; - private static byte saveThreshold = 200; - - public CollaborativeEditingController(IWebHostEnvironment hostingEnvironment, IHubContext hubContext, IConfiguration config) - { - _hostingEnvironment = hostingEnvironment; - _hubContext = hubContext; - //Database connection string - connectionString = config.GetConnectionString("DocumentEditorDatabase"); - fileLocation = _hostingEnvironment.WebRootPath; - } - - //Import document from wwwroot folder in web server. - [HttpPost] - [Route("ImportFile")] - [EnableCors("AllowAllOrigins")] - public string ImportFile([FromBody] FileInfo param) - { - DocumentContent content = new DocumentContent(); - WordDocument document = GetSourceDocument(param.fileName); - int lastSyncedVersion = 0; - List actions = CreatedTable(param.roomName, out lastSyncedVersion); - if (actions != null) - { - //Updated pending edit from database to source document. - document.UpdateActions(actions); - } - string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); - content.version = lastSyncedVersion; - content.sfdt = json; - return Newtonsoft.Json.JsonConvert.SerializeObject(content); - } - - [HttpPost] - [Route("UpdateAction")] - [EnableCors("AllowAllOrigins")] - public async Task UpdateAction([FromBody] ActionInfo param) - { - try - { - ActionInfo modifiedAction = AddOperationsToTable(param); - await _hubContext.Clients.Group(param.RoomName).SendAsync("dataReceived", "action", modifiedAction); - return modifiedAction; - } - catch - { - return null; - } - } - - [HttpPost] - [Route("GetActionsFromServer")] - [EnableCors("AllowAllOrigins")] - public string GetActionsFromServer([FromBody] ActionInfo param) - { - string tableName = param.RoomName; - string getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version > " + param.Version; - using (MySqlConnection connection = new MySqlConnection(connectionString)) - { - try - { - MySqlCommand command2 = new MySqlCommand(getOperation, connection); - MySqlCommand updateCommand = new MySqlCommand(getOperation, connection); - connection.Open(); - MySqlDataReader reader = updateCommand.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - DataTable oldTable = table; - if (table.Rows.Count > 0) - { - int startVersion = int.Parse(table.Rows[0]["version"].ToString()); - int lowestVersion = GetLowestClientVersion(table); - if (startVersion > lowestVersion) - { - string updatedOperation = "SELECT * FROM \"" + tableName + "\" WHERE version >= " + lowestVersion; - MySqlCommand command = new MySqlCommand(updatedOperation, connection); - MySqlDataReader reader2 = command.ExecuteReader(); - table = new DataTable(); - table.Load(reader2); - } - List actions = GetOperationsQueue(table); - foreach (ActionInfo info in actions) - { - if (!info.IsTransformed) - { - CollaborativeEditingHandler.TransformOperation(info, actions); - } - } - actions = actions.Where(x => x.Version > param.Version).ToList(); - return Newtonsoft.Json.JsonConvert.SerializeObject(actions); - } - } - catch - { - return "{}"; - } - } - return "{}"; - } - - private static WordDocument GetSourceDocument(string fileName) - { - string path = fileLocation + "\\" + fileName; - int index = fileName.LastIndexOf('.'); - string type = index > -1 && index < fileName.Length - 1 ? - fileName.Substring(index) : ".docx"; - Stream stream = System.IO.File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read); - WordDocument document = Syncfusion.EJ2.DocumentEditor.WordDocument.Load(stream, GetFormatType(type)); - stream.Dispose(); - return document; - } - - private List CreatedTable(string roomName, out int lastSyncedVersion) - { - lastSyncedVersion = 0; - string tableName = roomName; - if (!TableExists(tableName)) - { - - string queryString = "CREATE TABLE `" + tableName + "` (" + "`version` INT AUTO_INCREMENT PRIMARY KEY, " + - "`operation` TEXT, " + - "`clientVersion` INT)"; - using (MySqlConnection connection = new MySqlConnection(connectionString)) - { - - MySqlCommand command = new MySqlCommand(queryString, connection); - connection.Open(); - command.ExecuteNonQuery(); - // Create table to track the last saved version. - CreateRecordForVersionInfo(connection, roomName); - - } - } - else - { - - using (MySqlConnection connection = new MySqlConnection(connectionString)) - { - - connection.Open(); - lastSyncedVersion = GetLastedSyncedVersion(connection, tableName); - string queryString = $"SELECT * FROM `{tableName}` WHERE version > @lastSyncedVersion"; - - using (MySqlCommand command = new MySqlCommand(queryString, connection)) - { - command.Parameters.AddWithValue("@lastSyncedVersion", lastSyncedVersion); - - using (MySqlDataReader reader = command.ExecuteReader()) - { - DataTable table = new DataTable(); - table.Load(reader); - - List actions = GetOperationsQueue(table); - return actions; - } - } - - } - } - return null; - } - private void CreateRecordForVersionInfo(MySqlConnection connection, String roomName) - { - string tableName = "de_version_info"; - - if (!TableExists(tableName)) - { - // If table doesn't exist, create it - string createTableQuery = $"CREATE TABLE `{tableName}` (`roomName` VARCHAR(255), `lastSavedVersion` INT);"; - using (MySqlCommand createTableCommand = new MySqlCommand(createTableQuery, connection)) - { - createTableCommand.ExecuteNonQuery(); - } - } - - // Insert record into the table - string insertQuery = $"INSERT INTO `{tableName}` (roomName, lastSavedVersion) VALUES (@roomName, @lastSavedVersion)"; - using (MySqlCommand insertCommand = new MySqlCommand(insertQuery, connection)) - { - insertCommand.Parameters.AddWithValue("@roomName", roomName); - // Set initial version to 0 - insertCommand.Parameters.AddWithValue("@lastSavedVersion", 0); - insertCommand.ExecuteNonQuery(); - } - //} - - } - private bool TableExists(string tableName) - { - using (var connection = new MySqlConnection(connectionString)) - { - var command = new MySqlCommand($"SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = '{tableName}'", connection); - connection.Open(); - var result = (long)command.ExecuteScalar(); - return result == 1; - } - } - - private ActionInfo AddOperationsToTable(ActionInfo action) - { - int clientVersion = action.Version; - string tableName = action.RoomName; - string value = Newtonsoft.Json.JsonConvert.SerializeObject(action); - string query = $"INSERT INTO `{tableName}` (operation, clientVersion) VALUES (@Operation, @ClientVersion); SELECT LAST_INSERT_ID();"; - - using (MySqlConnection connection = new MySqlConnection(connectionString)) - { - MySqlCommand command = new MySqlCommand(query, connection); - command.Parameters.Add("@Operation", MySqlDbType.VarChar).Value = value; - command.Parameters.Add("@ClientVersion", MySqlDbType.Int32).Value = action.Version; - connection.Open(); - int updateVersion = Convert.ToInt32(command.ExecuteScalar()); - if (updateVersion - clientVersion == 1) - { - action.Version = updateVersion; - UpdateCurrentActionToDB(tableName, action, connection); - } - else - { - DataTable table = GetOperationsToTransform(tableName, clientVersion + 1, updateVersion, connection); - int startVersion = int.Parse(table.Rows[0]["version"].ToString()); - int lowestVersion = GetLowestClientVersion(table); - if (startVersion > lowestVersion) - { - table = GetOperationsToTransform(tableName, lowestVersion, updateVersion, connection); - } - List actions = GetOperationsQueue(table); - foreach (ActionInfo info in actions) - { - if (!info.IsTransformed) - { - CollaborativeEditingHandler.TransformOperation(info, actions); - } - } - action = actions[actions.Count - 1]; - action.Version = updateVersion; - UpdateCurrentActionToDB(tableName, actions[actions.Count - 1], connection); - } - if (updateVersion % saveThreshold == 0) - { - UpdateOperationsToSourceDocument(tableName, HttpContext.Session.GetString("UserId"), true, updateVersion); - } - - - } - return action; - } - - private void UpdateCurrentActionToDB(string tableName, ActionInfo action, MySqlConnection connection) - { - action.IsTransformed = true; - string updateQuery = $"UPDATE `{tableName}` SET operation = @Operation WHERE version = @Version"; - using (MySqlCommand updateCommand = new MySqlCommand(updateQuery, connection)) - { - updateCommand.Parameters.Add("@Operation", MySqlDbType.VarChar).Value = Newtonsoft.Json.JsonConvert.SerializeObject(action); - updateCommand.Parameters.Add("@Version", MySqlDbType.Int32).Value = action.Version; - - updateCommand.ExecuteNonQuery(); - } - } - - private static DataTable GetOperationsToTransform(string tableName, int clientVersion, int currentVersion, MySqlConnection connection) - { - string getOperation = $"SELECT * FROM `{tableName}` WHERE version BETWEEN @ClientVersion AND @CurrentVersion"; - - using (MySqlCommand command = new MySqlCommand(getOperation, connection)) - { - command.Parameters.Add("@ClientVersion", MySqlDbType.Int32).Value = clientVersion; - command.Parameters.Add("@CurrentVersion", MySqlDbType.Int32).Value = currentVersion; - - using (MySqlDataReader reader = command.ExecuteReader()) - { - DataTable table = new DataTable(); - table.Load(reader); - return table; - } - } - } - - private static List GetOperationsQueue(DataTable table) - { - List actions = new List(); - foreach (DataRow row in table.Rows) - { - ActionInfo action = Newtonsoft.Json.JsonConvert.DeserializeObject(row["operation"].ToString()); - action.Version = int.Parse(row["version"].ToString()); - action.ClientVersion = int.Parse(row["clientVersion"].ToString()); - actions.Add(action); - } - return actions; - } - - private static int GetLowestClientVersion(DataTable table) - { - int clientVersion = int.Parse(table.Rows[0]["clientVersion"].ToString()); - foreach (DataRow row in table.Rows) - { - //TODO: Need to optimise version calculation for only untransformed operations - int version = int.Parse(row["clientVersion"].ToString()); - if (version < clientVersion) - { - clientVersion = version; - } - } - return clientVersion; - } - - internal static FormatType GetFormatType(string format) - { - if (string.IsNullOrEmpty(format)) - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - switch (format.ToLower()) - { - case ".dotx": - case ".docx": - case ".docm": - case ".dotm": - return FormatType.Docx; - case ".dot": - case ".doc": - return FormatType.Doc; - case ".rtf": - return FormatType.Rtf; - case ".txt": - return FormatType.Txt; - case ".xml": - return FormatType.WordML; - case ".html": - return FormatType.Html; - default: - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - } - } - - ///

- /// Update editing operation to source document. - /// - public static void UpdateOperationsToSourceDocument(string fileName, string userId, bool partialSave, int endVersion) - { - try - { - MySqlConnection connection = new MySqlConnection(connectionString); - connection.Open(); - string tableName = fileName; - int lastSyncedVersion = GetLastedSyncedVersion(connection, fileName); - string getOperation = ""; - if (partialSave) - { - getOperation = "SELECT * FROM `" + tableName + "` WHERE version BETWEEN @StartVersion AND @EndVersion"; - } - else - { - getOperation = "SELECT * FROM `" + tableName + "` WHERE version > @LastSyncedVersion"; - } - MySqlCommand command = new MySqlCommand(getOperation, connection); - MySqlDataReader reader = command.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - if (table.Rows.Count > 0) - { - List actions = GetOperationsQueue(table); - foreach (ActionInfo info in actions) - { - if (!info.IsTransformed) - { - CollaborativeEditingHandler.TransformOperation(info, actions); - } - } - //CollaborativeEditingHandler handler = new CollaborativeEditingHandler(GetDocumentFromDatabase(fileName, GetSelectedDocumentOwner(userId, fileName, connection))); - var currentDirectory = System.IO.Directory.GetCurrentDirectory(); - int index = fileName.LastIndexOf('.'); - string type = index > -1 && index < fileName.Length - 1 ? - fileName.Substring(index) : ".docx"; - Stream stream1 = System.IO.File.Open(currentDirectory + "\\" + fileName, FileMode.Open, FileAccess.ReadWrite); - Syncfusion.EJ2.DocumentEditor.WordDocument document = Syncfusion.EJ2.DocumentEditor.WordDocument.Load(stream1, GetFormatType(type)); - stream1.Close(); - CollaborativeEditingHandler handler = new CollaborativeEditingHandler(document); - for (int i = 0; i < actions.Count; i++) - { - //Console.WriteLine(i); - handler.UpdateAction(actions[i]); - } - MemoryStream stream = new MemoryStream(); - Syncfusion.DocIO.DLS.WordDocument doc = WordDocument.Save(Newtonsoft.Json.JsonConvert.SerializeObject(handler.Document)); - doc.Save(stream, Syncfusion.DocIO.FormatType.Docx); - stream.Position = 0; - byte[] data = stream.ToArray(); - System.IO.File.WriteAllBytes(currentDirectory + "\\output.docx", data); - stream.Close(); - if (!partialSave) - { - endVersion = actions[actions.Count - 1].Version; - } - doc.Close(); - } - if (!partialSave) - { - DeleteLastModifiedVersion(tableName, connection); - DropTable(fileName, connection); - - }else - { - UpdateModifiedVersion(tableName, connection, endVersion); - - } - - } - catch (Exception ex) - { - - } - - } - static void UpdateModifiedVersion(string roomName, MySqlConnection connection, int lastSavedVersion) - { - string tableName = "de_version_info"; - string query = "UPDATE `" + tableName + "` SET lastSavedVersion = @lastSavedVersion WHERE roomName = @roomName"; - - using (MySqlCommand command = new MySqlCommand(query, connection)) - { - command.Parameters.AddWithValue("@lastSavedVersion", lastSavedVersion); - command.Parameters.AddWithValue("@roomName", roomName); - - int rowsAffected = command.ExecuteNonQuery(); - Console.WriteLine($"Rows affected: {rowsAffected}"); - } - } - static void DeleteLastModifiedVersion(string roomName, MySqlConnection connection) - { - string tableName = "de_version_info"; - string query = "DELETE FROM `" + tableName + "` WHERE roomName = @roomName"; - - using (MySqlCommand command = new MySqlCommand(query, connection)) - { - command.Parameters.AddWithValue("@roomName", roomName); - command.ExecuteNonQuery(); - } - } - private static int GetLastedSyncedVersion(MySqlConnection connection, string roomName) - { - string tableName = "de_version_info"; - string query = $"SELECT lastSavedVersion FROM `{tableName}` WHERE roomName = @roomName"; - using (var command = new MySqlCommand(query, connection)) - { - command.Parameters.Add("@roomName", MySqlDbType.VarChar).Value = roomName; - - object result = command.ExecuteScalar(); - return result != null ? Convert.ToInt32(result) : -1; - } - } - private static void DropTable(string documentId, MySqlConnection connection) - { - try - { - //Delete operations record. - string sqlQuery = $"DROP TABLE `{documentId}`"; - MySqlCommand sqlCommand = new MySqlCommand(sqlQuery, connection); - sqlCommand.ExecuteNonQuery(); - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - } - } - - } - - - public class FileInfo - { - public string fileName - { - get; - set; - } - public string roomName - { - get; - set; - } - - } - - public class DocumentContent - { - public int version { get; set; } - - public string sfdt { get; set; } - } -} diff --git a/Server side with database/ASP.NET Core/Using MySql Server/Controllers/DocumentEditorController.cs b/Server side with database/ASP.NET Core/Using MySql Server/Controllers/DocumentEditorController.cs deleted file mode 100644 index 810f729..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/Controllers/DocumentEditorController.cs +++ /dev/null @@ -1,197 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Syncfusion.EJ2.DocumentEditor; -using WFormatType = Syncfusion.DocIO.FormatType; -using Syncfusion.EJ2.SpellChecker; -using Microsoft.AspNetCore.Cors; - -namespace WebApplication1.Controllers -{ - [Route("api/[controller]")] - [ApiController] - public class DocumentEditorController : ControllerBase - { - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("Import")] - public string Import(IFormCollection data) - { - if (data.Files.Count == 0) - return null; - Stream stream1 = new MemoryStream(); - IFormFile file = data.Files[0]; - int index = file.FileName.LastIndexOf('.'); - string type = index > -1 && index < file.FileName.Length - 1 ? - file.FileName.Substring(index) : ".docx"; - file.CopyTo(stream1); - stream1.Position = 0; - - WordDocument document = WordDocument.Load(stream1, GetFormatType(type.ToLower())); - string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); - document.Dispose(); - return json; - } - - public class CustomParams - { - public string fileName - { - get; - set; - } - } - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("SpellCheck")] - public string SpellCheck([FromBody] SpellCheckJsonData spellChecker) - { - try - { - SpellChecker spellCheck = new SpellChecker(); - spellCheck.GetSuggestions(spellChecker.LanguageID, spellChecker.TexttoCheck, spellChecker.CheckSpelling, spellChecker.CheckSuggestion, spellChecker.AddWord); - return Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck); - } - catch - { - return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}"; - } - } - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("SpellCheckByPage")] - public string SpellCheckByPage([FromBody] SpellCheckJsonData spellChecker) - { - try - { - SpellChecker spellCheck = new SpellChecker(); - spellCheck.CheckSpelling(spellChecker.LanguageID, spellChecker.TexttoCheck); - return Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck); - } - catch - { - return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}"; - } - } - - public class SpellCheckJsonData - { - public int LanguageID { get; set; } - public string TexttoCheck { get; set; } - public bool CheckSpelling { get; set; } - public bool CheckSuggestion { get; set; } - public bool AddWord { get; set; } - - } - - public class CustomParameter - { - public string content { get; set; } - public string type { get; set; } - } - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("SystemClipboard")] - public string SystemClipboard([FromBody] CustomParameter param) - { - if (param.content != null && param.content != "") - { - try - { - WordDocument document = WordDocument.LoadString(param.content, GetFormatType(param.type.ToLower())); - string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); - document.Dispose(); - return json; - } - catch (Exception) - { - return ""; - } - } - return ""; - } - - public class CustomRestrictParameter - { - public string passwordBase64 { get; set; } - public string saltBase64 { get; set; } - public int spinCount { get; set; } - } - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("RestrictEditing")] - public string[] RestrictEditing([FromBody] CustomRestrictParameter param) - { - if (param.passwordBase64 == "" && param.passwordBase64 == null) - return null; - return WordDocument.ComputeHash(param.passwordBase64, param.saltBase64, param.spinCount); - } - - internal static FormatType GetFormatType(string format) - { - if (string.IsNullOrEmpty(format)) - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - switch (format.ToLower()) - { - case ".dotx": - case ".docx": - case ".docm": - case ".dotm": - return FormatType.Docx; - case ".dot": - case ".doc": - return FormatType.Doc; - case ".rtf": - return FormatType.Rtf; - case ".txt": - return FormatType.Txt; - case ".xml": - return FormatType.WordML; - case ".html": - return FormatType.Html; - default: - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - } - } - internal static WFormatType GetWFormatType(string format) - { - if (string.IsNullOrEmpty(format)) - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - switch (format.ToLower()) - { - case ".dotx": - return WFormatType.Dotx; - case ".docx": - return WFormatType.Docx; - case ".docm": - return WFormatType.Docm; - case ".dotm": - return WFormatType.Dotm; - case ".dot": - return WFormatType.Dot; - case ".doc": - return WFormatType.Doc; - case ".rtf": - return WFormatType.Rtf; - case ".html": - return WFormatType.Html; - case ".txt": - return WFormatType.Txt; - case ".xml": - return WFormatType.WordML; - case ".odt": - return WFormatType.Odt; - default: - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - } - } - - } -} diff --git a/Server side with database/ASP.NET Core/Using MySql Server/Hubs/DocumentEditorHub.cs b/Server side with database/ASP.NET Core/Using MySql Server/Hubs/DocumentEditorHub.cs deleted file mode 100644 index ac53a66..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/Hubs/DocumentEditorHub.cs +++ /dev/null @@ -1,75 +0,0 @@ -using Microsoft.AspNetCore.SignalR; -using Syncfusion.EJ2.DocumentEditor; -using WebApplication1.Controllers; - -namespace WebApplication1.Hubs -{ - public class DocumentEditorHub : Hub - { - - static Dictionary userManager = new Dictionary(); - internal static Dictionary> groupManager = new Dictionary>(); - - public async Task JoinGroup(ActionInfo info) - { - if (!userManager.ContainsKey(Context.ConnectionId)) - { - userManager.Add(Context.ConnectionId, info); - } - info.ConnectionId = Context.ConnectionId; - //Add to SignalR group - await Groups.AddToGroupAsync(Context.ConnectionId, info.RoomName); - if (groupManager.ContainsKey(info.RoomName)) - { - await Clients.Caller.SendAsync("dataReceived", "addUser", groupManager[info.RoomName]); - } - lock (groupManager) - { - if (groupManager.ContainsKey(info.RoomName)) - { - groupManager[info.RoomName].Add(info); - } - else - { - List actions = new List { info }; - groupManager.Add(info.RoomName, actions); - } - } - //Send information about new user joining to others - Clients.GroupExcept(info.RoomName, Context.ConnectionId).SendAsync("dataReceived", "addUser", info); - } - - public override Task OnConnectedAsync() - { - //Send connection id to client side - Clients.Caller.SendAsync("dataReceived", "connectionId", Context.ConnectionId); - return base.OnConnectedAsync(); - } - - public override System.Threading.Tasks.Task OnDisconnectedAsync(Exception? e) - { - string roomName = userManager[Context.ConnectionId].RoomName; - if (groupManager.ContainsKey(roomName)) - { - groupManager[roomName].Remove(userManager[Context.ConnectionId]); - - if (groupManager[roomName].Count == 0) - { - groupManager.Remove(roomName); - string userid = Context.GetHttpContext().Session.GetString("UserId"); - //Handle updating all editing operations for source document - CollaborativeEditingController.UpdateOperationsToSourceDocument(roomName, userid, false, 0); - } - } - - if (userManager.ContainsKey(Context.ConnectionId)) - { - //Send notification about user disconnection to other clients. - Clients.OthersInGroup(roomName).SendAsync("dataReceived", "removeUser", Context.ConnectionId); - Groups.RemoveFromGroupAsync(Context.ConnectionId, roomName); - userManager.Remove(Context.ConnectionId); - } - return base.OnDisconnectedAsync(e); - } - } -} diff --git a/Server side with database/ASP.NET Core/Using MySql Server/Program.cs b/Server side with database/ASP.NET Core/Using MySql Server/Program.cs deleted file mode 100644 index cb21e89..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/Program.cs +++ /dev/null @@ -1,45 +0,0 @@ -using WebApplication1.Hubs; -using Microsoft.Azure.SignalR; - -var builder = WebApplication.CreateBuilder(args); - -builder.Services.AddControllersWithViews(); - -builder.Services.AddSignalR(); - -builder.Services.AddCors(options => -{ - options.AddPolicy("AllowAllOrigins", builder => - { - builder.AllowAnyOrigin() - .AllowAnyMethod() - .AllowAnyHeader(); - }); -}); - -builder.Services.AddEndpointsApiExplorer(); - -var app = builder.Build(); - -// Configure the HTTP request pipeline. - -app.UseStaticFiles(); - -app.UseRouting(); - -app.UseCors(); - -app.MapHub("/documenteditorhub"); - -app.MapControllers(); - -app.UseAuthorization(); - -app.UseEndpoints(endpoints => -{ - endpoints.MapControllerRoute( - name: "default", - pattern: "{controller=Home}/{action=LogIn}/{userName?}/{id?}"); -}); - -app.Run(); diff --git a/Server side with database/ASP.NET Core/Using MySql Server/Properties/launchSettings.json b/Server side with database/ASP.NET Core/Using MySql Server/Properties/launchSettings.json deleted file mode 100644 index e4879bd..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/Properties/launchSettings.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/launchsettings.json", - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:38517", - "sslPort": 0 - } - }, - "profiles": { - "WebApplication1": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": true, - "applicationUrl": "http://localhost:5212", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/Server side with database/ASP.NET Core/Using MySql Server/Views/Home/Error.cshtml b/Server side with database/ASP.NET Core/Using MySql Server/Views/Home/Error.cshtml deleted file mode 100644 index f56cacb..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/Views/Home/Error.cshtml +++ /dev/null @@ -1,7 +0,0 @@ -@* - For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 -*@ -@{ -} - -
@ViewBag.errorMessage
\ No newline at end of file diff --git a/Server side with database/ASP.NET Core/Using MySql Server/WebApplication1.csproj b/Server side with database/ASP.NET Core/Using MySql Server/WebApplication1.csproj deleted file mode 100644 index 3d20a6d..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/WebApplication1.csproj +++ /dev/null @@ -1,29 +0,0 @@ - - - - net6.0 - enable - enable - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - diff --git a/Server side with database/ASP.NET Core/Using MySql Server/WebApplication1.sln b/Server side with database/ASP.NET Core/Using MySql Server/WebApplication1.sln deleted file mode 100644 index eff9773..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/WebApplication1.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.4.33213.308 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApplication1", "WebApplication1.csproj", "{4356F1ED-F73A-44BC-8FA8-40B267A79C70}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - Release-Xml|Any CPU = Release-Xml|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release|Any CPU.Build.0 = Release|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release-Xml|Any CPU.ActiveCfg = Release|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release-Xml|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {56EAA24C-30CF-403F-9733-BDD27FB18338} - EndGlobalSection -EndGlobal diff --git a/Server side with database/ASP.NET Core/Using MySql Server/appsettings.Development.json b/Server side with database/ASP.NET Core/Using MySql Server/appsettings.Development.json deleted file mode 100644 index 0c208ae..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/appsettings.Development.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - } -} diff --git a/Server side with database/ASP.NET Core/Using MySql Server/appsettings.json b/Server side with database/ASP.NET Core/Using MySql Server/appsettings.json deleted file mode 100644 index 41513ad..0000000 --- a/Server side with database/ASP.NET Core/Using MySql Server/appsettings.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*", - "ConnectionStrings": { - "DocumentEditorDatabase": "<>" - - } -} \ No newline at end of file diff --git a/Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Character Formatting.docx b/Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Character Formatting.docx deleted file mode 100644 index 5371cccc89dec485e45b06a6a202a489c3d945bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13429 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 diff --git a/Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Getting Started.docx b/Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Getting Started.docx deleted file mode 100644 index 4b7ea44f4b67b4b4322f5ff5963163f5c6963cd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64362 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 R8$VJ9-gbbY6qdR1?GMq9;#2?t diff --git a/Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Paragraph Formatting.docx b/Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Paragraph Formatting.docx deleted file mode 100644 index 3f324d30903ea3fea28d929e148de50a442a0d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21396 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
fef{lD;cg@DWti6oH4XieRHMSs8`ehErvZzT!; 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 C9PLQ} diff --git a/Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Table Formatting.docx b/Server side with database/ASP.NET Core/Using MySql Server/wwwroot/Table Formatting.docx deleted file mode 100644 index e620881d8db2961c244e9ee405d46f4a73a96818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18562 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 diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/Controllers/CollaborativeEditingController.cs b/Server side with database/ASP.NET Core/Using PostgreSQL/Controllers/CollaborativeEditingController.cs deleted file mode 100644 index 7dc1f3b..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/Controllers/CollaborativeEditingController.cs +++ /dev/null @@ -1,483 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Syncfusion.EJ2.DocumentEditor; -using Microsoft.AspNetCore.Cors; -using Microsoft.AspNetCore.SignalR; -using WebApplication1.Hubs; -using System.Data; -using Microsoft.CodeAnalysis; -using Npgsql; - -namespace WebApplication1.Controllers -{ - [Route("api/[controller]")] - [ApiController] - public class CollaborativeEditingController : ControllerBase - { - private readonly IWebHostEnvironment _hostingEnvironment; - private readonly IHubContext _hubContext; - private static string connectionString; - private static string fileLocation; - private static byte saveThreshold = 200; - - public CollaborativeEditingController(IWebHostEnvironment hostingEnvironment, IHubContext hubContext, IConfiguration config) - { - _hostingEnvironment = hostingEnvironment; - _hubContext = hubContext; - //Database connection string - connectionString = config.GetConnectionString("DocumentEditorDatabase"); - fileLocation = _hostingEnvironment.WebRootPath; - } - - //Import document from wwwroot folder in web server. - [HttpPost] - [Route("ImportFile")] - [EnableCors("AllowAllOrigins")] - public string ImportFile([FromBody] FileInfo param) - { - DocumentContent content = new DocumentContent(); - WordDocument document = GetSourceDocument(param.fileName); - int lastSyncedVersion = 0; - List actions = CreatedTable(param.roomName, out lastSyncedVersion); - if (actions != null) - { - //Updated pending edit from database to source document. - document.UpdateActions(actions); - } - string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); - content.version = lastSyncedVersion; - content.sfdt = json; - return Newtonsoft.Json.JsonConvert.SerializeObject(content); - } - - [HttpPost] - [Route("UpdateAction")] - [EnableCors("AllowAllOrigins")] - public async Task UpdateAction([FromBody] ActionInfo param) - { - try - { - ActionInfo modifiedAction = AddOperationsToTable(param); - await _hubContext.Clients.Group(param.RoomName).SendAsync("dataReceived", "action", modifiedAction); - return modifiedAction; - } - catch - { - return null; - } - } - - [HttpPost] - [Route("GetActionsFromServer")] - [EnableCors("AllowAllOrigins")] - public string GetActionsFromServer([FromBody] ActionInfo param) - { - string tableName = param.RoomName; - string getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version > " + param.Version; - using (NpgsqlConnection connection = new NpgsqlConnection(connectionString)) - { - try - { - NpgsqlCommand command2 = new NpgsqlCommand(getOperation, connection); - NpgsqlCommand updateCommand = new NpgsqlCommand(getOperation, connection); - connection.Open(); - NpgsqlDataReader reader = updateCommand.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - DataTable oldTable = table; - if (table.Rows.Count > 0) - { - int startVersion = int.Parse(table.Rows[0]["version"].ToString()); - int lowestVersion = GetLowestClientVersion(table); - if (startVersion > lowestVersion) - { - string updatedOperation = "SELECT * FROM \"" + tableName + "\" WHERE version >= " + lowestVersion; - NpgsqlCommand command = new NpgsqlCommand(updatedOperation, connection); - NpgsqlDataReader reader2 = command.ExecuteReader(); - table = new DataTable(); - table.Load(reader2); - } - List actions = GetOperationsQueue(table); - foreach (ActionInfo info in actions) - { - if (!info.IsTransformed) - { - CollaborativeEditingHandler.TransformOperation(info, actions); - } - } - actions = actions.Where(x => x.Version > param.Version).ToList(); - return Newtonsoft.Json.JsonConvert.SerializeObject(actions); - } - } - catch - { - return "{}"; - } - } - return "{}"; - } - - private static WordDocument GetSourceDocument(string fileName) - { - string path = fileLocation + "\\" + fileName; - int index = fileName.LastIndexOf('.'); - string type = index > -1 && index < fileName.Length - 1 ? - fileName.Substring(index) : ".docx"; - Stream stream = System.IO.File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read); - WordDocument document = Syncfusion.EJ2.DocumentEditor.WordDocument.Load(stream, GetFormatType(type)); - stream.Dispose(); - return document; - } - - private List CreatedTable(string roomName, out int lastSyncedVersion) - { - lastSyncedVersion = 0; - string tableName = roomName; - if (!TableExists(tableName)) - { - - string queryString = "CREATE TABLE \"" + roomName - + "\" (version SERIAL PRIMARY KEY, operation TEXT, clientVersion INTEGER)"; - using (NpgsqlConnection connection = new NpgsqlConnection(connectionString)) - { - NpgsqlCommand command = new NpgsqlCommand(queryString, connection); - connection.Open(); - command.ExecuteNonQuery(); - // Create table to track the last saved version. - CreateRecordForVersionInfo(connection, roomName); - } - } - else - { - - using (NpgsqlConnection connection = new NpgsqlConnection(connectionString)) - { - - connection.Open(); - string queryString = "SELECT * FROM \"" + tableName + "\" WHERE version > " + lastSyncedVersion; - NpgsqlCommand command = new NpgsqlCommand(queryString, connection); - connection.Open(); - NpgsqlDataReader reader = command.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - List actions = GetOperationsQueue(table); - return actions; - - } - } - return null; - } - private void CreateRecordForVersionInfo(NpgsqlConnection connection, String roomName) - { - string tableName = "de_version_info"; - - // Check if table exists - if (!TableExists(tableName)) - { - // If table doesn't exist, create it - string createTableQuery = $"CREATE TABLE \"" + tableName + "\" (roomName TEXT, lastSavedVersion INTEGER)"; ; - using (NpgsqlCommand createTableCommand = new NpgsqlCommand(createTableQuery, connection)) - { - createTableCommand.ExecuteNonQuery(); - } - } - - // Insert record into the table - string insertQuery = $"INSERT INTO \"" + tableName + "\" (roomName, lastSavedVersion) VALUES (?, ?)"; - using (NpgsqlCommand insertCommand = new NpgsqlCommand(insertQuery, connection)) - { - insertCommand.Parameters.AddWithValue("@roomName", roomName); - // Set initial version to 0 - insertCommand.Parameters.AddWithValue("@lastSavedVersion", 0); - insertCommand.ExecuteNonQuery(); - } - //} - - } - private bool TableExists(string roomName) - { - using (var connection = new NpgsqlConnection(connectionString)) - { - NpgsqlCommand command = new NpgsqlCommand($"SELECT CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = '" - + roomName + "') THEN 1 ELSE 0 END;", connection); - connection.Open(); - var result = (int)command.ExecuteScalar(); - return result == 1; - } - } - - private ActionInfo AddOperationsToTable(ActionInfo action) - { - int clientVersion = action.Version; - string tableName = action.RoomName; - string value = Newtonsoft.Json.JsonConvert.SerializeObject(action); - string query = $"INSERT INTO \"{tableName}\" (operation, clientVersion) VALUES (@Operation, @ClientVersion) RETURNING version AS last_id;"; - - using (NpgsqlConnection connection = new NpgsqlConnection(connectionString)) - { - - NpgsqlCommand command = new NpgsqlCommand(query, connection); - command.Parameters.AddWithValue("@Operation", value); - command.Parameters.AddWithValue("@ClientVersion", action.Version); - - connection.Open(); - int updateVersion = (int)command.ExecuteScalar(); - if (updateVersion - clientVersion == 1) - { - action.Version = updateVersion; - UpdateCurrentActionToDB(tableName, action, connection); - } - else - { - DataTable table = GetOperationsToTransform(tableName, clientVersion + 1, updateVersion, connection); - int startVersion = int.Parse(table.Rows[0]["version"].ToString()); - int lowestVersion = GetLowestClientVersion(table); - if (startVersion > lowestVersion) - { - table = GetOperationsToTransform(tableName, lowestVersion, updateVersion, connection); - } - List actions = GetOperationsQueue(table); - foreach (ActionInfo info in actions) - { - if (!info.IsTransformed) - { - CollaborativeEditingHandler.TransformOperation(info, actions); - } - } - action = actions[actions.Count - 1]; - action.Version = updateVersion; - UpdateCurrentActionToDB(tableName, actions[actions.Count - 1], connection); - } - if (updateVersion % saveThreshold == 0) - { - UpdateOperationsToSourceDocument(tableName, HttpContext.Session.GetString("UserId"), true, updateVersion); - } - - - } - return action; - } - - private void UpdateCurrentActionToDB(string tableName, ActionInfo action, NpgsqlConnection connection) - { - action.IsTransformed = true; - string updateQuery = "UPDATE \"" + tableName + "\" SET operation = ? WHERE version = " + action.Version.ToString(); - NpgsqlCommand updateCommand = new NpgsqlCommand(updateQuery, connection); - updateCommand.Parameters.AddWithValue("@Operation", Newtonsoft.Json.JsonConvert.SerializeObject(action)); - updateCommand.ExecuteNonQuery(); - } - - private static DataTable GetOperationsToTransform(string tableName, int clientVersion, int currentVersion, NpgsqlConnection connection) - { - string getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version BETWEEN " + clientVersion + " AND " + currentVersion.ToString(); - NpgsqlCommand command = new NpgsqlCommand(getOperation, connection); - NpgsqlDataReader reader = command.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - return table; - } - - private static List GetOperationsQueue(DataTable table) - { - List actions = new List(); - foreach (DataRow row in table.Rows) - { - ActionInfo action = Newtonsoft.Json.JsonConvert.DeserializeObject(row["operation"].ToString()); - action.Version = int.Parse(row["version"].ToString()); - action.ClientVersion = int.Parse(row["clientVersion"].ToString()); - actions.Add(action); - } - return actions; - } - - private static int GetLowestClientVersion(DataTable table) - { - int clientVersion = int.Parse(table.Rows[0]["clientVersion"].ToString()); - foreach (DataRow row in table.Rows) - { - //TODO: Need to optimise version calculation for only untransformed operations - int version = int.Parse(row["clientVersion"].ToString()); - if (version < clientVersion) - { - clientVersion = version; - } - } - return clientVersion; - } - - internal static FormatType GetFormatType(string format) - { - if (string.IsNullOrEmpty(format)) - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - switch (format.ToLower()) - { - case ".dotx": - case ".docx": - case ".docm": - case ".dotm": - return FormatType.Docx; - case ".dot": - case ".doc": - return FormatType.Doc; - case ".rtf": - return FormatType.Rtf; - case ".txt": - return FormatType.Txt; - case ".xml": - return FormatType.WordML; - case ".html": - return FormatType.Html; - default: - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - } - } - - ///

- /// Update editing operation to source document. - /// - public static void UpdateOperationsToSourceDocument(string fileName, string userId, bool partialSave, int endVersion) - { - try - { - NpgsqlConnection connection = new NpgsqlConnection(connectionString); - connection.Open(); - string tableName = fileName; - int lastSyncedVersion = GetLastedSyncedVersion(connection, fileName); - string getOperation = ""; - if (partialSave) - { - getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version BETWEEN " + (lastSyncedVersion + 1).ToString() + " AND " + endVersion.ToString(); - } - else - { - getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version > " + lastSyncedVersion; - } - NpgsqlCommand command = new NpgsqlCommand(getOperation, connection); - NpgsqlDataReader reader = command.ExecuteReader(); - DataTable table = new DataTable(); - table.Load(reader); - if (table.Rows.Count > 0) - { - List actions = GetOperationsQueue(table); - foreach (ActionInfo info in actions) - { - if (!info.IsTransformed) - { - CollaborativeEditingHandler.TransformOperation(info, actions); - } - } - var currentDirectory = System.IO.Directory.GetCurrentDirectory(); - int index = fileName.LastIndexOf('.'); - string type = index > -1 && index < fileName.Length - 1 ? - fileName.Substring(index) : ".docx"; - Stream stream1 = System.IO.File.Open(currentDirectory + "\\" + fileName, FileMode.Open, FileAccess.ReadWrite); - Syncfusion.EJ2.DocumentEditor.WordDocument document = Syncfusion.EJ2.DocumentEditor.WordDocument.Load(stream1, GetFormatType(type)); - stream1.Close(); - CollaborativeEditingHandler handler = new CollaborativeEditingHandler(document); - for (int i = 0; i < actions.Count; i++) - { - //Console.WriteLine(i); - handler.UpdateAction(actions[i]); - } - MemoryStream stream = new MemoryStream(); - Syncfusion.DocIO.DLS.WordDocument doc = WordDocument.Save(Newtonsoft.Json.JsonConvert.SerializeObject(handler.Document)); - doc.Save(stream, Syncfusion.DocIO.FormatType.Docx); - stream.Position = 0; - byte[] data = stream.ToArray(); - System.IO.File.WriteAllBytes(currentDirectory + "\\output.docx", data); - stream.Close(); - if (!partialSave) - { - endVersion = actions[actions.Count - 1].Version; - } - doc.Close(); - } - if (!partialSave) - { - DeleteLastModifiedVersion(tableName, connection); - DropTable(fileName, connection); - - } - else - { - UpdateModifiedVersion(tableName, connection, endVersion); - - } - - } - catch (Exception ex) - { - - } - - } - static void UpdateModifiedVersion(string roomName, NpgsqlConnection connection, int lastSavedVersion) - { - string tableName = "de_version_info"; - string query = "UPDATE \"" + tableName + "\" SET lastSavedVersion = ? where roomName= '" + roomName + "'"; - - using (NpgsqlCommand command = new NpgsqlCommand(query, connection)) - { - command.Parameters.AddWithValue("@lastSavedVersion", lastSavedVersion); - command.Parameters.AddWithValue("@roomName", roomName); - command.ExecuteNonQuery(); - } - } - static void DeleteLastModifiedVersion(string roomName, NpgsqlConnection connection) - { - string tableName = "de_version_info"; - string query = "DELETE FROM \"" + tableName + "\" WHERE roomName= '" + roomName + "'"; - - using (NpgsqlCommand command = new NpgsqlCommand(query, connection)) - { - command.Parameters.AddWithValue("@roomName", roomName); - command.ExecuteNonQuery(); - } - } - private static int GetLastedSyncedVersion(NpgsqlConnection connection, string roomName) - { - string tableName = "de_version_info"; - string query = "SELECT lastSavedVersion FROM \"" + tableName + "\" WHERE roomName ='" + roomName + "'"; - var command = new NpgsqlCommand(query, connection); - command.Parameters.AddWithValue("@Operation", roomName); - return int.Parse(command.ExecuteScalar().ToString()); - } - private static void DropTable(string documentId, NpgsqlConnection connection) - { - try - { - //Delete operations record. - string sqlQuery = "drop table \"" + documentId + "\""; - var sqlCommand = new NpgsqlCommand(sqlQuery, connection); - sqlCommand.ExecuteNonQuery(); - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - } - } - - } - - - public class FileInfo - { - public string fileName - { - get; - set; - } - public string roomName - { - get; - set; - } - - } - - public class DocumentContent - { - public int version { get; set; } - - public string sfdt { get; set; } - } -} diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/Controllers/DocumentEditorController.cs b/Server side with database/ASP.NET Core/Using PostgreSQL/Controllers/DocumentEditorController.cs deleted file mode 100644 index 810f729..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/Controllers/DocumentEditorController.cs +++ /dev/null @@ -1,197 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Syncfusion.EJ2.DocumentEditor; -using WFormatType = Syncfusion.DocIO.FormatType; -using Syncfusion.EJ2.SpellChecker; -using Microsoft.AspNetCore.Cors; - -namespace WebApplication1.Controllers -{ - [Route("api/[controller]")] - [ApiController] - public class DocumentEditorController : ControllerBase - { - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("Import")] - public string Import(IFormCollection data) - { - if (data.Files.Count == 0) - return null; - Stream stream1 = new MemoryStream(); - IFormFile file = data.Files[0]; - int index = file.FileName.LastIndexOf('.'); - string type = index > -1 && index < file.FileName.Length - 1 ? - file.FileName.Substring(index) : ".docx"; - file.CopyTo(stream1); - stream1.Position = 0; - - WordDocument document = WordDocument.Load(stream1, GetFormatType(type.ToLower())); - string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); - document.Dispose(); - return json; - } - - public class CustomParams - { - public string fileName - { - get; - set; - } - } - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("SpellCheck")] - public string SpellCheck([FromBody] SpellCheckJsonData spellChecker) - { - try - { - SpellChecker spellCheck = new SpellChecker(); - spellCheck.GetSuggestions(spellChecker.LanguageID, spellChecker.TexttoCheck, spellChecker.CheckSpelling, spellChecker.CheckSuggestion, spellChecker.AddWord); - return Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck); - } - catch - { - return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}"; - } - } - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("SpellCheckByPage")] - public string SpellCheckByPage([FromBody] SpellCheckJsonData spellChecker) - { - try - { - SpellChecker spellCheck = new SpellChecker(); - spellCheck.CheckSpelling(spellChecker.LanguageID, spellChecker.TexttoCheck); - return Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck); - } - catch - { - return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}"; - } - } - - public class SpellCheckJsonData - { - public int LanguageID { get; set; } - public string TexttoCheck { get; set; } - public bool CheckSpelling { get; set; } - public bool CheckSuggestion { get; set; } - public bool AddWord { get; set; } - - } - - public class CustomParameter - { - public string content { get; set; } - public string type { get; set; } - } - - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("SystemClipboard")] - public string SystemClipboard([FromBody] CustomParameter param) - { - if (param.content != null && param.content != "") - { - try - { - WordDocument document = WordDocument.LoadString(param.content, GetFormatType(param.type.ToLower())); - string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); - document.Dispose(); - return json; - } - catch (Exception) - { - return ""; - } - } - return ""; - } - - public class CustomRestrictParameter - { - public string passwordBase64 { get; set; } - public string saltBase64 { get; set; } - public int spinCount { get; set; } - } - [AcceptVerbs("Post")] - [HttpPost] - [EnableCors("AllowAllOrigins")] - [Route("RestrictEditing")] - public string[] RestrictEditing([FromBody] CustomRestrictParameter param) - { - if (param.passwordBase64 == "" && param.passwordBase64 == null) - return null; - return WordDocument.ComputeHash(param.passwordBase64, param.saltBase64, param.spinCount); - } - - internal static FormatType GetFormatType(string format) - { - if (string.IsNullOrEmpty(format)) - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - switch (format.ToLower()) - { - case ".dotx": - case ".docx": - case ".docm": - case ".dotm": - return FormatType.Docx; - case ".dot": - case ".doc": - return FormatType.Doc; - case ".rtf": - return FormatType.Rtf; - case ".txt": - return FormatType.Txt; - case ".xml": - return FormatType.WordML; - case ".html": - return FormatType.Html; - default: - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - } - } - internal static WFormatType GetWFormatType(string format) - { - if (string.IsNullOrEmpty(format)) - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - switch (format.ToLower()) - { - case ".dotx": - return WFormatType.Dotx; - case ".docx": - return WFormatType.Docx; - case ".docm": - return WFormatType.Docm; - case ".dotm": - return WFormatType.Dotm; - case ".dot": - return WFormatType.Dot; - case ".doc": - return WFormatType.Doc; - case ".rtf": - return WFormatType.Rtf; - case ".html": - return WFormatType.Html; - case ".txt": - return WFormatType.Txt; - case ".xml": - return WFormatType.WordML; - case ".odt": - return WFormatType.Odt; - default: - throw new NotSupportedException("EJ2 DocumentEditor does not support this file format."); - } - } - - } -} diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/Hubs/DocumentEditorHub.cs b/Server side with database/ASP.NET Core/Using PostgreSQL/Hubs/DocumentEditorHub.cs deleted file mode 100644 index 5ea31cc..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/Hubs/DocumentEditorHub.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Microsoft.AspNetCore.SignalR; -using Syncfusion.EJ2.DocumentEditor; - -namespace WebApplication1.Hubs -{ - public class DocumentEditorHub : Hub - { - - static Dictionary userManager = new Dictionary(); - internal static Dictionary> groupManager = new Dictionary>(); - - public async Task JoinGroup(ActionInfo info) - { - if (!userManager.ContainsKey(Context.ConnectionId)) - { - userManager.Add(Context.ConnectionId, info); - } - info.ConnectionId = Context.ConnectionId; - //Add to SignalR group - await Groups.AddToGroupAsync(Context.ConnectionId, info.RoomName); - if (groupManager.ContainsKey(info.RoomName)) - { - await Clients.Caller.SendAsync("dataReceived", "addUser", groupManager[info.RoomName]); - } - lock (groupManager) - { - if (groupManager.ContainsKey(info.RoomName)) - { - groupManager[info.RoomName].Add(info); - } - else - { - List actions = new List { info }; - groupManager.Add(info.RoomName, actions); - } - } - //Send information about new user joining to others - Clients.GroupExcept(info.RoomName, Context.ConnectionId).SendAsync("dataReceived", "addUser", info); - } - - public override Task OnConnectedAsync() - { - //Send connection id to client side - Clients.Caller.SendAsync("dataReceived", "connectionId", Context.ConnectionId); - return base.OnConnectedAsync(); - } - - public override System.Threading.Tasks.Task OnDisconnectedAsync(Exception? e) - { - string roomName = userManager[Context.ConnectionId].RoomName; - if (groupManager.ContainsKey(roomName)) - { - groupManager[roomName].Remove(userManager[Context.ConnectionId]); - - if (groupManager[roomName].Count == 0) - { - groupManager.Remove(roomName); - //Handle updating all editing operations for source document - //CollaborativeEditingController.UpdateOperationsToSourceDocument(roomName, ""); - } - } - - if (userManager.ContainsKey(Context.ConnectionId)) - { - //Send notification about user disconnection to other clients. - Clients.OthersInGroup(roomName).SendAsync("dataReceived", "removeUser", Context.ConnectionId); - Groups.RemoveFromGroupAsync(Context.ConnectionId, roomName); - userManager.Remove(Context.ConnectionId); - } - return base.OnDisconnectedAsync(e); - } - } -} diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/Program.cs b/Server side with database/ASP.NET Core/Using PostgreSQL/Program.cs deleted file mode 100644 index cb21e89..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/Program.cs +++ /dev/null @@ -1,45 +0,0 @@ -using WebApplication1.Hubs; -using Microsoft.Azure.SignalR; - -var builder = WebApplication.CreateBuilder(args); - -builder.Services.AddControllersWithViews(); - -builder.Services.AddSignalR(); - -builder.Services.AddCors(options => -{ - options.AddPolicy("AllowAllOrigins", builder => - { - builder.AllowAnyOrigin() - .AllowAnyMethod() - .AllowAnyHeader(); - }); -}); - -builder.Services.AddEndpointsApiExplorer(); - -var app = builder.Build(); - -// Configure the HTTP request pipeline. - -app.UseStaticFiles(); - -app.UseRouting(); - -app.UseCors(); - -app.MapHub("/documenteditorhub"); - -app.MapControllers(); - -app.UseAuthorization(); - -app.UseEndpoints(endpoints => -{ - endpoints.MapControllerRoute( - name: "default", - pattern: "{controller=Home}/{action=LogIn}/{userName?}/{id?}"); -}); - -app.Run(); diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/Properties/launchSettings.json b/Server side with database/ASP.NET Core/Using PostgreSQL/Properties/launchSettings.json deleted file mode 100644 index e4879bd..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/Properties/launchSettings.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/launchsettings.json", - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:38517", - "sslPort": 0 - } - }, - "profiles": { - "WebApplication1": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": true, - "applicationUrl": "http://localhost:5212", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/Views/Home/Error.cshtml b/Server side with database/ASP.NET Core/Using PostgreSQL/Views/Home/Error.cshtml deleted file mode 100644 index f56cacb..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/Views/Home/Error.cshtml +++ /dev/null @@ -1,7 +0,0 @@ -@* - For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 -*@ -@{ -} - -
@ViewBag.errorMessage
\ No newline at end of file diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/WebApplication1.csproj b/Server side with database/ASP.NET Core/Using PostgreSQL/WebApplication1.csproj deleted file mode 100644 index 196dcd7..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/WebApplication1.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net6.0 - enable - enable - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/WebApplication1.sln b/Server side with database/ASP.NET Core/Using PostgreSQL/WebApplication1.sln deleted file mode 100644 index eff9773..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/WebApplication1.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.4.33213.308 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApplication1", "WebApplication1.csproj", "{4356F1ED-F73A-44BC-8FA8-40B267A79C70}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - Release-Xml|Any CPU = Release-Xml|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release|Any CPU.Build.0 = Release|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release-Xml|Any CPU.ActiveCfg = Release|Any CPU - {4356F1ED-F73A-44BC-8FA8-40B267A79C70}.Release-Xml|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {56EAA24C-30CF-403F-9733-BDD27FB18338} - EndGlobalSection -EndGlobal diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/appsettings.Development.json b/Server side with database/ASP.NET Core/Using PostgreSQL/appsettings.Development.json deleted file mode 100644 index 0c208ae..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/appsettings.Development.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - } -} diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/appsettings.json b/Server side with database/ASP.NET Core/Using PostgreSQL/appsettings.json deleted file mode 100644 index 77d8f46..0000000 --- a/Server side with database/ASP.NET Core/Using PostgreSQL/appsettings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*", - "ConnectionStrings": { - "DocumentEditorDatabase": "<>" - } -} \ No newline at end of file diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Character Formatting.docx b/Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Character Formatting.docx deleted file mode 100644 index 5371cccc89dec485e45b06a6a202a489c3d945bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13429 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 diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Getting Started.docx b/Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Getting Started.docx deleted file mode 100644 index 4b7ea44f4b67b4b4322f5ff5963163f5c6963cd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64362 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 R8$VJ9-gbbY6qdR1?GMq9;#2?t diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Paragraph Formatting.docx b/Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Paragraph Formatting.docx deleted file mode 100644 index 3f324d30903ea3fea28d929e148de50a442a0d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21396 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
fef{lD;cg@DWti6oH4XieRHMSs8`ehErvZzT!; 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 C9PLQ} diff --git a/Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Table Formatting.docx b/Server side with database/ASP.NET Core/Using PostgreSQL/wwwroot/Table Formatting.docx deleted file mode 100644 index e620881d8db2961c244e9ee405d46f4a73a96818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18562 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 diff --git a/Server side with database/Java/Java web service using PostgreSQL/.github/workflows/gitleaks.yaml b/Server side with database/Java/Java web service using PostgreSQL/.github/workflows/gitleaks.yaml deleted file mode 100644 index df4c088..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/.github/workflows/gitleaks.yaml +++ /dev/null @@ -1,38 +0,0 @@ -name: Secret Value found!! -on: - push: - public: -jobs: - scan: - name: gitleaks - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Install the gitleaks - run: wget https://github.com/zricethezav/gitleaks/releases/download/v8.15.2/gitleaks_8.15.2_linux_x64.tar.gz - shell: pwsh - - name: Extract the tar file - run: tar xzvf gitleaks_8.15.2_linux_x64.tar.gz - - name: Generate the report - id: gitleaks - run: $GITHUB_WORKSPACE/gitleaks detect -s $GITHUB_WORKSPACE -f json -r $GITHUB_WORKSPACE/leaksreport.json - shell: bash - continue-on-error: true - - name: Setup NuGet.exe - if: steps.gitleaks.outcome != 'success' - uses: nuget/setup-nuget@v1 - with: - nuget-version: latest - - name: Install the dotnet - if: steps.gitleaks.outcome != 'success' - uses: actions/setup-dotnet@v3 - with: - dotnet-version: '3.1.x' - - name: Install the report tool packages - if: steps.gitleaks.outcome != 'success' - run: | - nuget install "Syncfusion.Email" -source ${{ secrets.NexusFeedLink }} -ExcludeVersion - dir $GITHUB_WORKSPACE/Syncfusion.Email/lib/netcoreapp3.1 - dotnet $GITHUB_WORKSPACE/Syncfusion.Email/lib/netcoreapp3.1/GitleaksReportMail.dll ${{ secrets.CITEAMCREDENTIALS }} "$GITHUB_REF_NAME" ${{ secrets.NETWORKCREDENTIALS }} ${{ secrets.NETWORKKEY }} "$GITHUB_WORKSPACE" ${{ secrets.ORGANIZATIONNAME }} - exit 1 \ No newline at end of file diff --git a/Server side with database/Java/Java web service using PostgreSQL/.gitignore b/Server side with database/Java/Java web service using PostgreSQL/.gitignore deleted file mode 100644 index 549e00a..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/.gitignore +++ /dev/null @@ -1,33 +0,0 @@ -HELP.md -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/**/target/ -!**/src/test/**/target/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ -!**/src/main/**/build/ -!**/src/test/**/build/ - -### VS Code ### -.vscode/ diff --git a/Server side with database/Java/Java web service using PostgreSQL/ReadMe.md b/Server side with database/Java/Java web service using PostgreSQL/ReadMe.md deleted file mode 100644 index 2ae0e98..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/ReadMe.md +++ /dev/null @@ -1,38 +0,0 @@ -# How to host the DocumentEditor service. - -Opening and saving documents from S3 bucket using PostgreSQL. - -## Maven Project - -Please find the list of commands used for running and deploying the spring boot application in Azure. - -Clean the package using - -> mvn clean package - -Run the application locally using - -> mvn spring-boot:run - -Build the package using - -> mvn package - -Above package generation command creates the "tomcat-0.0.1-SNAPSHOT.war" in the below location. - -> target\tomcat-0.0.1-SNAPSHOT.war - -Please create a Azure app service with Java & Tomcat. - -After creating the app service - ->Development Tools -> Advanced Tools -> Go -> Debug console -> CMD - -Once the file manager is opened please navigate to - ->site -> wwwroot -> webapps - -Upload the generated war file "tomcat-0.0.1-SNAPSHOT.war" the application will be hosted under - ->{site-name}/tomcat-0.0.1-SNAPSHOT - diff --git a/Server side with database/Java/Java web service using PostgreSQL/mvnw b/Server side with database/Java/Java web service using PostgreSQL/mvnw deleted file mode 100644 index a16b543..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/mvnw +++ /dev/null @@ -1,310 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi -else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` - fi - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f - fi - - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR -fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/Server side with database/Java/Java web service using PostgreSQL/mvnw.cmd b/Server side with database/Java/Java web service using PostgreSQL/mvnw.cmd deleted file mode 100644 index c8d4337..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/mvnw.cmd +++ /dev/null @@ -1,182 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM https://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% diff --git a/Server side with database/Java/Java web service using PostgreSQL/pom.xml b/Server side with database/Java/Java web service using PostgreSQL/pom.xml deleted file mode 100644 index d9a6350..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/pom.xml +++ /dev/null @@ -1,195 +0,0 @@ - - - 4.0.0 - com.syncfusion - tomcat - 0.0.1-SNAPSHOT - war - tomcat - Demo project for Spring Boot - - - Syncfusion-Java - Syncfusion Java repo - https://jars.syncfusion.com/repository/maven-public/ - - - - org.springframework.boot - spring-boot-starter-parent - 2.3.4.RELEASE - - - - - UTF-8 - UTF-8 - 1.8 - com.syncfusion.tomcat.TomcatApplication - - - - com.syncfusion - syncfusion-javahelper - 25.1.37 - - - com.syncfusion - syncfusion-docio - 25.1.37 - - - com.syncfusion - syncfusion-ej2-spellchecker - 25.1.37 - - - - com.microsoft.sqlserver - mssql-jdbc - 12.4.2.jre8 - - - - software.amazon.awssdk - s3 - 2.24.9 - - - com.syncfusion - syncfusion-ej2-wordprocessor - 25.1.37 - - - redis.clients - jedis - 3.7.0 - - - org.springframework - spring-messaging - - - org.springframework - spring-websocket - - - com.google.code.gson - gson - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-tomcat - provided - - - org.springframework.boot - spring-boot-starter-test - test - - - org.junit.vintage - junit-vintage-engine - - - - - org.springframework.boot - spring-boot-devtools - runtime - true - - - org.springframework.boot - spring-boot-starter-data-jpa - - - org.springframework.boot - spring-boot-starter-security - - - org.postgresql - postgresql - runtime - - - org.springframework.boot - spring-boot-starter-jdbc - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - org.apache.maven.plugins - maven-dependency-plugin - 2.8 - - - - copy-dependencies - compile - - copy-dependencies - - - ${project.build.directory}/${project.build.finalName}/WEB-INF/lib - system - - - - - - - - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - - org.apache.maven.plugins - - - maven-dependency-plugin - - - [2.8,) - - - - copy-dependencies - - - - - - - - - - - - - - - - - diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CollaborativeEditingController.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CollaborativeEditingController.java deleted file mode 100644 index f5688bf..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CollaborativeEditingController.java +++ /dev/null @@ -1,475 +0,0 @@ -package com.syncfusion.tomcat; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - -import javax.sql.DataSource; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.messaging.MessageHeaders; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.gson.Gson; -import com.syncfusion.docio.WordDocument; -import com.syncfusion.ej2.wordprocessor.ActionInfo; -import com.syncfusion.ej2.wordprocessor.CollaborativeEditingHandler; -import com.syncfusion.ej2.wordprocessor.WordProcessorHelper; -import com.syncfusion.javahelper.system.OutSupport; -import com.syncfusion.tomcat.controller.DocumentEditorHub; - -import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; -import software.amazon.awssdk.auth.credentials.AwsCredentials; -import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; -import software.amazon.awssdk.core.ResponseInputStream; -import software.amazon.awssdk.regions.Region; -import software.amazon.awssdk.services.s3.S3Client; -import software.amazon.awssdk.services.s3.model.GetObjectRequest; -import software.amazon.awssdk.services.s3.model.GetObjectResponse; -import software.amazon.awssdk.services.s3.model.PutObjectRequest; - -@RestController -public class CollaborativeEditingController { - private static short saveThreshold = 200; - // SQL - @Value("${spring.datasource.url}") - public String datasourceUrl; - @Value("${spring.datasource.username}") - private String datasourceUsername; - @Value("${spring.datasource.password}") - private String datasourcePassword; - - // Bucket S3 - @Value("${spring.datasource.accesskey}") - private String datasourceAccessKey; - @Value("${spring.datasource.secretkey}") - private String datasourceSecretKey; - @Value("${spring.datasource.bucketname}") - private String datasourceBucketName; - @Value("${spring.datasource.regionname}") - private String datasourceRegionName; - - @Autowired - private DataSource dataSource; - - @CrossOrigin(origins = "*", allowedHeaders = "*") - @PostMapping("/api/collaborativeediting/ImportFile") - public String ImportFile(@RequestBody FilesPathInfo file) throws Exception { - try { - DocumentContent content = new DocumentContent(); - - // Load the document from S3 bucket. - WordProcessorHelper document = getDocumentFromBucketS3(file.getFileName(), datasourceAccessKey, - datasourceSecretKey, datasourceBucketName); - - int lastSyncedVersion = 0; - OutSupport lastSyncedVersion_out = new OutSupport(Integer.class); - // Create table in database to store temporary data for the collaborative - // editing session. - // Room name is a unique identifier of the document for collaborative editing. - // We need to maintain the unique ID to map it with the original document to - // save it in the S3. - - ArrayList actions = createRecordForCollaborativeEditing(file.getRoomName(), - lastSyncedVersion_out); - - if (actions != null && actions.size() > 0) { - // When new user join the collaborative editing session - // Get previous editing operation from DB and update it in document editor. - document.updateActions(actions); - ActionInfo lastAction = actions.get(actions.size() - 1); - lastSyncedVersion = lastAction.getVersion(); - } - String json = WordProcessorHelper.serialize(document); - content.setVersion(lastSyncedVersion); - content.setSfdt(json); - Gson gson = new Gson(); - String data = gson.toJson(content); - return data; - } catch (Exception e) { - e.printStackTrace(); - return "{\"sections\":[{\"blocks\":[{\"inlines\":[{\"text\":" + e.getMessage() + "}]}]}]}"; - } - } - - @CrossOrigin(origins = "*", allowedHeaders = "*") - @PostMapping("/api/collaborativeediting/UpdateAction") - public ActionInfo UpdateAction(@RequestBody ActionInfo param) throws Exception { - String roomName = param.getRoomName(); - ActionInfo transformedAction = addOperationsToTable(param); - HashMap action = new HashMap<>(); - action.put("action", "updateAction"); - DocumentEditorHub.publishToRedis(roomName, transformedAction); - //DocumentEditorHub.broadcastToRoom(roomName, transformedAction, new MessageHeaders(action)); - return transformedAction; - } - - @CrossOrigin(origins = "*", allowedHeaders = "*") - @PostMapping("/api/collaborativeediting/GetActionsFromServer") - public String GetActionsFromServer(@RequestBody ActionInfo param) throws ClassNotFoundException { - String tableName = param.getRoomName(); - String getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version > " + param.getVersion(); - try (Connection connection = dataSource.getConnection()) { - try (PreparedStatement updateCommand = connection.prepareStatement(getOperation)) { - ResultSet reader = updateCommand.executeQuery(); - ArrayList actions; - ArrayList> table = getOperationsFromDatabaseResult(reader); - if (!table.isEmpty()) { - int startVersion = Integer.parseInt(table.get(0).get("version").toString()); - int lowestVersion = getLowestClientVersion(table); - if (startVersion > lowestVersion) { - String updatedOperation = "SELECT * FROM \"" + tableName + "\" WHERE version >= " - + lowestVersion; - try (PreparedStatement command = connection.prepareStatement(updatedOperation)) { - ResultSet reader2 = command.executeQuery(); - table.clear(); - table = getOperationsFromDatabaseResult(reader2); - } - } - actions = getOperationsQueue(table); - for (ActionInfo info : actions) { - if (!info.isTransformed()) { - CollaborativeEditingHandler.transformOperation(info, actions); - } - } - // Assuming getIsTransformed() and Version are properties in ActionInfo - actions.removeIf(x -> x.getVersion() <= param.getVersion()); - return new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(actions); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - return "{}"; - } - - private ActionInfo addOperationsToTable(ActionInfo action) throws Exception { - int clientVersion = action.getVersion(); - String roomName = action.getRoomName(); - String value = new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(action); - String query = "INSERT INTO \"" + roomName + "\" (operation, clientVersion) VALUES (?, ?) RETURNING version;"; - - try (Connection connection = dataSource.getConnection()) { - PreparedStatement preparedStatement = connection.prepareStatement(query); - preparedStatement.setString(1, value); - preparedStatement.setInt(2, action.getVersion()); - try { - ResultSet resultSet = preparedStatement.executeQuery(); - if (resultSet.next()) { - int updateVersion = resultSet.getInt("version"); - if (updateVersion - clientVersion == 1) { - action.setVersion(updateVersion); - updateCurrentActionToDB(roomName, action, connection); - } else { - ArrayList> table = getOperationsToTransform(roomName, clientVersion + 1, - updateVersion, connection); - int startVersion = (int) table.get(0).get("version"); - int lowestVersion = getLowestClientVersion(table); - if (startVersion > lowestVersion) { - table = getOperationsToTransform(roomName, lowestVersion, updateVersion, connection); - } - ArrayList actions = getOperationsQueue(table); - for (ActionInfo info : actions) { - if (!info.isTransformed()) { - CollaborativeEditingHandler.transformOperation(info, actions); - } - } - action = actions.get(actions.size() - 1); - action.setVersion(updateVersion); - updateCurrentActionToDB(roomName, actions.get(actions.size() - 1), connection); - } - if (updateVersion % saveThreshold == 0) { - // Update the operations to table once specified threshold is reached. - updateOperationsToSourceDocument(roomName, true, updateVersion, connection, datasourceAccessKey, - datasourceSecretKey, datasourceBucketName); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - return action; - } - - private int getLowestClientVersion(ArrayList> table) { - int clientVersion = (int) table.get(0).get("clientVersion"); - for (Map row : table) { - int version = Integer.parseInt(row.get("clientVersion").toString()); - if (version < clientVersion) { - clientVersion = version; - } - } - return clientVersion; - } - - private ArrayList> getOperationsToTransform(String tableName, int clientVersion, - int currentVersion, Connection connection) throws ClassNotFoundException { - String getOperation = "SELECT * FROM \"" + tableName + "\" WHERE version BETWEEN ? AND ?"; - try (PreparedStatement command = connection.prepareStatement(getOperation)) { - command.setInt(1, clientVersion); - command.setInt(2, currentVersion); - try (ResultSet resultSet = command.executeQuery()) { - ArrayList> resultList = getOperationsFromDatabaseResult(resultSet); - return resultList; - } - } catch (SQLException e) { - e.printStackTrace(); - return null; - } - } - - private void updateCurrentActionToDB(String tableName, ActionInfo action, Connection connection) { - action.setTransformed(true); - String updateQuery = "UPDATE \"" + tableName + "\" SET operation = ? WHERE version = " + action.getVersion(); - try (PreparedStatement updateStatement = connection.prepareStatement(updateQuery)) { - updateStatement.setString(1, new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(action)); - updateStatement.executeUpdate(); - } catch (SQLException | com.fasterxml.jackson.core.JsonProcessingException e) { - e.printStackTrace(); - } - } - - public static void updateOperationsToSourceDocument(String roomName, boolean partialSave, int endVersion, - Connection connection, String accessKey, String secretKey, String bucketName) throws Exception { - - int lastSyncedVersion = getLastSavedVersion(connection, roomName); - String getOperation = ""; - if (partialSave) { - getOperation = "SELECT * FROM \"" + roomName + "\" WHERE version BETWEEN " + (lastSyncedVersion + 1) - + " AND " + endVersion; - } else { - getOperation = "SELECT * FROM \"" + roomName + "\" WHERE version > " + lastSyncedVersion; - } - - try (PreparedStatement command = connection.prepareStatement(getOperation)) { - ResultSet reader = command.executeQuery(); - ArrayList> table = getOperationsFromDatabaseResult(reader); - ArrayList actions = getOperationsQueue(table); - for (ActionInfo info : actions) { - if (!info.isTransformed()) { - CollaborativeEditingHandler.transformOperation(info, actions); - } - } - reader.close(); - command.close(); - - // room name is unique identifier used for editing the document in collaborative - // editing. - // Please get the actual file name by mapping the room name. - String fileName = ""; - - CollaborativeEditingHandler handler = new CollaborativeEditingHandler( - getDocumentFromBucketS3(fileName, accessKey, secretKey, bucketName)); - for (ActionInfo info : actions) { - handler.updateAction(info); - } - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - WordDocument doc = WordProcessorHelper.save(WordProcessorHelper.serialize(handler.getDocument())); - doc.save(outputStream, com.syncfusion.docio.FormatType.Docx); - byte[] data = outputStream.toByteArray(); - outputStream.close(); - doc.close(); - - // Save the document to S3 bucket - AwsCredentials credentials = AwsBasicCredentials.create(accessKey, secretKey); - StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(credentials); - S3Client s3Client = S3Client.builder().region(Region.US_EAST_1).credentialsProvider(credentialsProvider) - .build(); - PutObjectRequest objectRequest = PutObjectRequest.builder().bucket(bucketName).key(roomName).build(); - s3Client.putObject(objectRequest, software.amazon.awssdk.core.sync.RequestBody.fromBytes(data)); - s3Client.close(); - - if (!partialSave) { - deleteLastModifiedVersion(roomName, connection); - dropTable(roomName, connection); - } else { - updateModifiedVersion(roomName, connection, endVersion); - } - } - - // connection.commit(); - /* - * } catch (Exception e) { e.printStackTrace(); } - */ - } - - private static void updateModifiedVersion(String roomName, Connection connection, int lastSavedVersion) - throws SQLException { - String tableName = "de_version_info"; - String query = "UPDATE \"" + tableName + "\" SET lastSavedVersion = ? where roomName= '" + roomName + "'"; - PreparedStatement preparedStatement = connection.prepareStatement(query); - preparedStatement.setInt(1, lastSavedVersion); - preparedStatement.executeUpdate(); - } - - private static void deleteLastModifiedVersion(String roomName, Connection connection) throws SQLException { - String tableName = "de_version_info"; - String query = "DELETE FROM \"" + tableName + "\" WHERE roomName= '" + roomName + "'"; - PreparedStatement preparedStatement = connection.prepareStatement(query); - preparedStatement.executeUpdate(); - } - - public static void dropTable(String documentId, Connection connection) throws ClassNotFoundException { - try { - // Drop the table - String sqlQuery = "DROP TABLE \"" + documentId + "\""; - try (PreparedStatement sqlCommand = connection.prepareStatement(sqlQuery)) { - sqlCommand.executeUpdate(); - } - } catch (SQLException e) { - e.printStackTrace(); - } - } - - private ArrayList createRecordForCollaborativeEditing(String roomName, - OutSupport lastSyncedVersion) throws SQLException, ClassNotFoundException, IOException { - try (Connection connection = dataSource.getConnection()) { - if (!tableExists(connection, roomName)) { - lastSyncedVersion.setValue(0); - // If record not present, create new table - String queryString = "CREATE TABLE \"" + roomName - + "\" (version SERIAL PRIMARY KEY, operation TEXT, clientVersion INTEGER)"; - PreparedStatement preparedStatement = connection.prepareStatement(queryString); - preparedStatement.executeUpdate(); - // Create table to track the last saved version. - createRecordForVersionInfo(connection, roomName); - } else { - lastSyncedVersion.setValue(getLastSavedVersion(connection, roomName)); - // If record present, get previous editing operation from the db record. - String queryString = "SELECT * FROM \"" + roomName + "\" WHERE version > " - + lastSyncedVersion.getValue(); - try (PreparedStatement updateCommand = connection.prepareStatement(queryString)) { - ResultSet result = updateCommand.executeQuery(); - ArrayList actions = getOperationsQueue(getOperationsFromDatabaseResult(result)); - return actions; - } - } - connection.close(); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - private static int getLastSavedVersion(Connection connection, String roomName) throws SQLException { - String tableName = "de_version_info"; - String query = "SELECT lastSavedVersion FROM \"" + tableName + "\" WHERE roomName ='" + roomName + "'"; - PreparedStatement statement = connection.prepareStatement(query); - ResultSet resultSet = statement.executeQuery(); - int lastSavedVersion = 0; - if (resultSet.next()) { - lastSavedVersion = resultSet.getInt("lastSavedVersion"); - } - resultSet.close(); - statement.close(); - return lastSavedVersion; - } - - private static void createRecordForVersionInfo(Connection connection, String roomName) throws SQLException { - String tableName = "de_version_info"; - try { - if (!tableExists(connection, tableName)) { - // If record not present, create new table - String queryString = "CREATE TABLE \"" + tableName + "\" (roomName TEXT, lastSavedVersion INTEGER)"; - PreparedStatement preparedStatement = connection.prepareStatement(queryString); - preparedStatement.executeUpdate(); - } - String query = "INSERT INTO \"" + tableName + "\" (roomName, lastSavedVersion) VALUES (?, ?)"; - PreparedStatement preparedStatement = connection.prepareStatement(query); - preparedStatement.setString(1, roomName); - // Set initial version to 0; - preparedStatement.setInt(2, 0); - preparedStatement.executeUpdate(); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } - } - - private static boolean tableExists(Connection connection, String roomName) throws ClassNotFoundException { - try { - String query = "SELECT CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = '" - + roomName + "') THEN 1 ELSE 0 END;"; - PreparedStatement statement = connection.prepareStatement(query); - // statement.setString(1, tableName); - ResultSet resultSet = statement.executeQuery(); - if (resultSet.next()) { - int result = resultSet.getInt(1); - return result == 1; - } - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - private static ArrayList> getOperationsFromDatabaseResult(ResultSet reader) - throws SQLException { - ArrayList> table = new ArrayList<>(); - while (reader.next()) { - Map row = new HashMap<>(); - row.put("version", reader.getInt("version")); - row.put("clientVersion", reader.getInt("clientVersion")); - row.put("operation", reader.getString("operation")); // Add other columns as needed - table.add(row); - } - return table; - } - - private static ArrayList getOperationsQueue(ArrayList> table) - throws JsonMappingException, JsonProcessingException { - ArrayList actions = new ArrayList<>(); - for (Map row : table) { - ObjectMapper objectMapper = new ObjectMapper(); - String jsonString = (String) row.get("operation"); - // Deserialize JSON string to ActionInfo object - ActionInfo action = objectMapper.readValue(jsonString, ActionInfo.class); - action.setVersion(Integer.parseInt(row.get("version").toString())); - action.setClientVersion(Integer.parseInt(row.get("clientVersion").toString())); - actions.add(action); - } - return actions; - } - - private static WordProcessorHelper getDocumentFromBucketS3(String documentId, String accessKey, String secretKey, - String bucketName) { - try { - AwsCredentials credentials = AwsBasicCredentials.create(accessKey, secretKey); - StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(credentials); - S3Client s3Client = S3Client.builder().region(Region.US_EAST_1).credentialsProvider(credentialsProvider) - .build(); - ResponseInputStream objectData = s3Client - .getObject(GetObjectRequest.builder().bucket(bucketName).key(documentId).build()); - // Read the object data into a byte array - ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); - byte[] buffer = new byte[1024]; - int bytesRead; - while ((bytesRead = objectData.read(buffer)) != -1) { - byteArrayOutputStream.write(buffer, 0, bytesRead); - } - s3Client.close(); - byte[] data = byteArrayOutputStream.toByteArray(); - // Create an input stream from the byte array - try (InputStream stream = new ByteArrayInputStream(data)) { - return WordProcessorHelper.load(stream, true); - } - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CustomParameter.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CustomParameter.java deleted file mode 100644 index ce5a8e5..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CustomParameter.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.syncfusion.tomcat; - -public class CustomParameter { - public String content; - public String type; - - public String getContent() { - return content; - } - - public String getType() { - return type; - } - - public void setContent(String value) { - content= value; - } - - public void setType(String value) { - type = value; - } -} diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CustomRestrictParameter.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CustomRestrictParameter.java deleted file mode 100644 index 7d2bbf7..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/CustomRestrictParameter.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.syncfusion.tomcat; - -public class CustomRestrictParameter { - public String passwordBase64; - public String saltBase64; - public int spinCount; - - public String getPasswordBase64() { - return passwordBase64; - } - - public String getSaltBase64() { - return saltBase64; - } - - public int getSpinCount() { - return spinCount; - } - - public void setPasswordBase64(String value) { - passwordBase64= value; - } - - public void setSaltBase64(String value) { - saltBase64= value; - } - - public void setSpinCount(int value) { - spinCount= value; - } -} diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/DocumentContent.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/DocumentContent.java deleted file mode 100644 index 6e95c68..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/DocumentContent.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.syncfusion.tomcat; -import java.util.List; - -import com.syncfusion.ej2.wordprocessor.ActionInfo; -public class DocumentContent { - private int version; - private String sfdt; - private List actions; - - // Default constructor - public DocumentContent() { - } - - // Parameterized constructor - - public DocumentContent(int version, String sfdt, List actions) { - this.version = version; this.sfdt = sfdt; this.actions = actions; } - - - // Getter and setter methods - public int getVersion() { - return version; - } - - public void setVersion(int version) { - this.version = version; - } - - public String getSfdt() { - return sfdt; - } - - public void setSfdt(String sfdt) { - this.sfdt = sfdt; - } - - - public List getActions() { return actions; } - - public void setActions(List actions) { this.actions = actions; } - -} diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/FileNameInfo.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/FileNameInfo.java deleted file mode 100644 index b6560b7..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/FileNameInfo.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.syncfusion.tomcat; - -import java.awt.List; -import java.util.ArrayList; - -import com.syncfusion.ej2.wordprocessor.ActionInfo; -import com.syncfusion.tomcat.controller.DocumentEditorHub; - -public class FileNameInfo { - - - private int fileIndex; - private String fileName; - - public FileNameInfo(int index, String fileName) - { - this.setFileIndex(index); - this.setFileName(fileName); - if (DocumentEditorHub.roomList.containsKey(fileName)) { - ArrayList users = DocumentEditorHub.roomList.get(fileName); - for (ActionInfo user : users) { - activeUsers.add(constructInitials(user.getCurrentUser())); - } - } - } - public String constructInitials(String authorName) { - String[] splittedName = authorName.split(" "); - StringBuilder initials = new StringBuilder(); - for (String namePart : splittedName) { - if (namePart.length() > 0 && !namePart.isEmpty()) { - initials.append(namePart.charAt(0)); - } - } - return initials.toString(); - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public int getFileIndex() { - return fileIndex; - } - - public void setFileIndex(int fileIndex) { - this.fileIndex = fileIndex; - } - private String documentName; - private String createdOn; - private String sharedWith; - private String documentID; - private String sharedBy; - private String owner; - private ArrayList activeUsers = new ArrayList<>(); - - public String getDocumentName() { - return documentName; - } - - public void setDocumentName(String documentName) { - this.documentName = documentName; - } - - public String getCreatedOn() { - return createdOn; - } - - public void setCreatedOn(String createdOn) { - this.createdOn = createdOn; - } - - public String getSharedWith() { - return sharedWith; - } - - public void setSharedWith(String sharedWith) { - this.sharedWith = sharedWith; - } - - public String getDocumentID() { - return documentID; - } - - public void setDocumentID(String documentID) { - this.documentID = documentID; - } - - public String getSharedBy() { - return sharedBy; - } - - public void setSharedBy(String sharedBy) { - this.sharedBy = sharedBy; - } - - public String getOwner() { - return owner; - } - - public void setOwner(String owner) { - this.owner = owner; - } - - public ArrayList getActiveUsers() { - return activeUsers; - } - - public void setActiveUsers(ArrayList activeUsers) { - this.activeUsers = activeUsers; - } - - -} \ No newline at end of file diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/FilesPathInfo.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/FilesPathInfo.java deleted file mode 100644 index 0001e5d..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/FilesPathInfo.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.syncfusion.tomcat; - -public class FilesPathInfo { - private String fileName; - private String roomName; - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public String getRoomName() { - return roomName; - } - - public void setRoomName(String roomName) { - this.roomName = roomName; - } -} diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/TomcatApplication.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/TomcatApplication.java deleted file mode 100644 index 15cf9f5..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/TomcatApplication.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.syncfusion.tomcat; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import com.syncfusion.ej2.wordprocessor.WordProcessorHelper; -import com.syncfusion.ej2.wordprocessor.FormatType; - -@SpringBootApplication(exclude = { SecurityAutoConfiguration.class }) -@RestController -public class TomcatApplication extends SpringBootServletInitializer { - @Override - protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(TomcatApplication.class); - } - - public static void main(String[] args) { - SpringApplication.run(TomcatApplication.class, args); - } - - @CrossOrigin - @RequestMapping(value = "/") - public String hello() { - return "Hello From Syncfusion Document Editor Java Service"; - } - - @CrossOrigin - @RequestMapping(value = "/test") - public String test() { - System.out.println("==== in test ===="); - return "{\"sections\":[{\"blocks\":[{\"inlines\":[{\"texdocNamet\":\"Hello World\"}]}]}]}"; - } - - @CrossOrigin - @RequestMapping(value = "/api/wordeditor/Import") - public String uploadFile(@RequestParam("files") MultipartFile file) throws Exception { - try { - return WordProcessorHelper.load(file.getInputStream(), FormatType.Docx); - } catch (Exception e) { - e.printStackTrace(); - return "{\"sections\":[{\"blocks\":[{\"inlines\":[{\"text\":" + e.getMessage() + "}]}]}]}"; - } - } - - @CrossOrigin - @RequestMapping(value = "/api/wordeditor/RestrictEditing") - public String[] restrictEditing(@RequestBody CustomRestrictParameter param) throws Exception { - if (param.passwordBase64 == "" && param.passwordBase64 == null) - return null; - return WordProcessorHelper.computeHash(param.passwordBase64, param.saltBase64, param.spinCount); - } - - @CrossOrigin - @RequestMapping(value = "/api/wordeditor/SystemClipboard") - public String systemClipboard(@RequestBody CustomParameter param) { - if (param.content != null && param.content != "") { - try { - return WordProcessorHelper.loadString(param.content, GetFormatType(param.type.toLowerCase())); - } catch (Exception e) { - return ""; - } - } - return ""; - } - - static FormatType GetFormatType(String format) { - switch (format) { - case ".dotx": - case ".docx": - case ".docm": - case ".dotm": - return FormatType.Docx; - case ".dot": - case ".doc": - return FormatType.Doc; - case ".rtf": - return FormatType.Rtf; - case ".txt": - return FormatType.Txt; - case ".xml": - return FormatType.WordML; - case ".html": - return FormatType.Html; - default: - return FormatType.Docx; - } - } - -} diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/config/WebSocketConfig.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/config/WebSocketConfig.java deleted file mode 100644 index 73c2cdf..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/config/WebSocketConfig.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.syncfusion.tomcat.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.messaging.simp.config.MessageBrokerRegistry; -import org.springframework.web.socket.config.annotation.*; - -@Configuration -@EnableWebSocketMessageBroker -public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { - - @Override - public void registerStompEndpoints(StompEndpointRegistry registry) { - registry.addEndpoint("/ws").setAllowedOrigins("*").withSockJS(); - } - - @Override - public void configureMessageBroker(MessageBrokerRegistry registry) { - registry.setApplicationDestinationPrefixes("/app"); - registry.enableSimpleBroker("/topic"); - } - -} \ No newline at end of file diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/DocumentEditorHub.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/DocumentEditorHub.java deleted file mode 100644 index 9115ab3..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/DocumentEditorHub.java +++ /dev/null @@ -1,219 +0,0 @@ -package com.syncfusion.tomcat.controller; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.util.ArrayList; -import java.util.HashMap; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.event.EventListener; -import org.springframework.messaging.MessageHeaders; -import org.springframework.messaging.handler.annotation.DestinationVariable; -import org.springframework.messaging.handler.annotation.MessageMapping; -import org.springframework.messaging.simp.SimpMessageHeaderAccessor; -import org.springframework.messaging.simp.SimpMessagingTemplate; -import org.springframework.messaging.support.MessageBuilder; -import org.springframework.stereotype.Controller; -import org.springframework.web.socket.messaging.SessionDisconnectEvent; - -import com.syncfusion.ej2.wordprocessor.UserActionInfo; -import com.syncfusion.tomcat.CollaborativeEditingController; - -import redis.clients.jedis.Jedis; -import redis.clients.jedis.exceptions.JedisConnectionException; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.syncfusion.ej2.wordprocessor.ActionInfo; - -@Controller -public class DocumentEditorHub { - public static final HashMap> roomList = new HashMap<>(); - public static SimpMessagingTemplate messagingTemplate; - private static final int MAX_RETRIES = 5; - private static final long RETRY_INTERVAL_MS = 1000; - public DocumentEditorHub(SimpMessagingTemplate messagingTemplate) { - this.messagingTemplate = messagingTemplate; - } - - @Value("${spring.datasource.url}") - public String datasourceUrl; - @Value("${spring.datasource.username}") - private String datasourceUsername; - @Value("${spring.datasource.password}") - private String datasourcePassword; - - // Bucket S3 - @Value("${spring.datasource.accesskey}") - private String datasourceAccessKey; - @Value("${spring.datasource.secretkey}") - private String datasourceSecretKey; - @Value("${spring.datasource.bucketname}") - private String datasourceBucketName; - @Value("${spring.datasource.regionname}") - private String datasourceRegionName; - - @MessageMapping("/join/{documentName}") - public void joinGroup(ActionInfo info, SimpMessageHeaderAccessor headerAccessor, - @DestinationVariable String documentName) throws JsonProcessingException { - // To get the connection Id - String connectionId = headerAccessor.getSessionId(); - info.setConnectionId(connectionId); - String docName = info.getRoomName(); - HashMap additionalHeaders = new HashMap<>(); - additionalHeaders.put("action", "connectionId"); - MessageHeaders headers = new MessageHeaders(additionalHeaders); - // send the conection Id to the client - broadcastToRoom(docName, info, headers); - try (Jedis jedis = jedisPool.getResource()) { - // to maintain the session id with its corresponding ActionInfo details. - jedis.hset("documentMap", connectionId, documentName); - // add the user details to the Redis cache - jedis.sadd(docName, new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(info)); - // Subscribe to the room, so that all users can get the JOIN/LEAVE notification - joinLeaveUsersubscribe(docName); - // publish the user list to the redis - jedis.publish(docName, "JOIN|" + connectionId); - - } catch (JedisConnectionException e) { - System.out.println(e); - } - } - - @EventListener - public void handleWebSocketDisconnectListener(SessionDisconnectEvent event) throws Exception { - String sessionId = event.getSessionId(); - try (Jedis jedis = jedisPool.getResource()) { - //to get the user details of the provided sessionId - String docName = jedis.hget("documentMap", sessionId); - // Publish a message indicating the user's departure from the group - jedis.publish(docName, "LEAVE|" + sessionId); - } catch (JedisConnectionException e) { - System.out.println(e); - } - } - - private void joinLeaveUsersubscribe(String docName) { - new Thread(() -> { - try (Jedis jedis = jedisPool.getResource()) { - jedis.subscribe(new JedisPubSub() { - @Override - public void onMessage(String channel, String message) { - String[] parts = message.split("\\|"); - if (parts.length == 2) { - String eventType = parts[0]; - String sessionId = parts[1]; - notifyUsers(channel, eventType, sessionId); - } - } - }, docName); - } catch (JedisConnectionException e) { - System.out.println(e); - } - }).start(); - } - - public void notifyUsers(String docName, String eventType, String sessionId) { - try (Jedis jedis = jedisPool.getResource()) { - if ("JOIN".equals(eventType)) { - HashMap addUser = new HashMap<>(); - addUser.put("action", "addUser"); - MessageHeaders addUserheaders = new MessageHeaders(addUser); - // get the list of users from Redis - Set userJsonStrings = jedis.smembers(docName); - System.out.println("userJsonStrings to join" + userJsonStrings); - ArrayList actionsList = new ArrayList<>(); - ObjectMapper mapper = new ObjectMapper(); - for (String userJson : userJsonStrings) { - try { - ActionInfo actionInfo = mapper.readValue(userJson, ActionInfo.class); - actionsList.add(actionInfo); - } catch (Exception e) { - System.err.println("Error parsing user information JSON: " + e.getMessage()); - } - } - //Boradcast the user list to all the users connected in that room - broadcastToRoom(docName, actionsList, addUserheaders); - } else if ("LEAVE".equals(eventType)) { - // get the user list from the redis - Set userJsonStrings = jedis.smembers(docName); - System.out.println("userJsonStrings to leave" + userJsonStrings); - if (!userJsonStrings.isEmpty()) { - ObjectMapper mapper = new ObjectMapper(); - for (String userJson : userJsonStrings) { - ActionInfo action = null; - try { - action = mapper.readValue(userJson, ActionInfo.class); - } catch (JsonMappingException e) { - e.printStackTrace(); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - if (action.getConnectionId().equals(sessionId)) { - // Remove the user from the user list - jedis.srem(docName, userJson); - HashMap removeUser = new HashMap<>(); - removeUser.put("action", "removeUser"); - MessageHeaders removeUserheaders = new MessageHeaders(removeUser); - // Broadcast the removal notification to all users in the document - broadcastToRoom(docName, action, removeUserheaders); - // Remove the session ID from the session-document mapping - jedis.hdel("documentMap", sessionId); - break; - } - } - } else { - System.out.println("No users found in the document."); - } - if (userJsonStrings.isEmpty()) { - Connection connection = null; - try { - connection = DriverManager.getConnection(datasourceUrl, datasourceUsername, datasourcePassword); - } catch (SQLException e1) { - e1.printStackTrace(); - } - try { - TomcatApplication.updateOperationsToSourceDocument(docName, - "doc_18d1e2a949604a1f8430710ae19aa354", false, 0, connection); - } catch (Exception e) { - e.printStackTrace(); - } - jedis.del(docName); - } - } - - } catch (JedisConnectionException e) { - System.out.println(e); - } - - } - - public static void broadcastToRoom(String roomName, Object payload, MessageHeaders headers) { - - { - messagingTemplate.convertAndSend("/topic/public/" + roomName, - MessageBuilder.createMessage(payload, headers)); - } - } - public static void publishToRedis(String roomName, Object payload) throws JsonProcessingException { - int retries = 0; - while (retries < MAX_RETRIES) { - try (Jedis jedis = RedisSubscriber.jedisPool.getResource()) { - // try(Jedis jedis = RedisSubscriber.jedisConnection){ - - jedis.publish("collaborativedtiting", - new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(payload)); - System.out.println("Message published to Redis" - + new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(payload)); - break; - } catch (JedisConnectionException e) { - retries++; - System.out.println("Connection failed. Retrying in " + RETRY_INTERVAL_MS + " milliseconds..."); - try { - Thread.sleep(RETRY_INTERVAL_MS); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } - } - } -} \ No newline at end of file diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/RedisSubscriber.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/RedisSubscriber.java deleted file mode 100644 index 7507463..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/RedisSubscriber.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.syncfusion.tomcat.controller; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Set; - -import javax.annotation.PostConstruct; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.messaging.MessageHeaders; -import org.springframework.stereotype.Component; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.syncfusion.ej2.wordprocessor.ActionInfo; - -import redis.clients.jedis.HostAndPort; -import redis.clients.jedis.Jedis; -import redis.clients.jedis.JedisPool; -import redis.clients.jedis.JedisPoolConfig; -import redis.clients.jedis.JedisPubSub; -import redis.clients.jedis.exceptions.JedisConnectionException; - -@Component -public class RedisSubscriber { - public static JedisPool jedisPool; - // Redis Configuration - @Value("${spring.datasource.redishost}") - private String REDIS_HOST; - @Value("${spring.datasource.redisport}") - private int REDIS_PORT; - - - @PostConstruct - public void subscribeToInstanceChannel() { - String channel = "collaborativedtiting"; - new Thread(() -> { - JedisPoolConfig poolConfig = new JedisPoolConfig(); - jedisPool = new JedisPool(poolConfig, REDIS_HOST, REDIS_PORT); - try (Jedis jedis = jedisPool.getResource()) { - jedis.subscribe(new JedisPubSub() { - @Override - public void onMessage(String channel, String message) { - System.out.println("Received message from channel " + channel + ": " + message); - ObjectMapper objectMapper = new ObjectMapper(); - try { - ActionInfo action = objectMapper.readValue(message, ActionInfo.class); - HashMap updateAction = new HashMap<>(); - updateAction.put("action", "updateAction"); - MessageHeaders updateActionheaders = new MessageHeaders(updateAction); - DocumentEditorHub.broadcastToRoom(action.getRoomName(), action, updateActionheaders); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - } - @Override - public void onSubscribe(String channel, int subscribedChannels) { - System.out.println("Subscribed to channel: " + channel); - } - }, channel); - } catch (JedisConnectionException e) { - // Handle the connection exception - System.out.println("Connection failed. Retrying ..."); - } - }).start(); - } -} diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/WebSocketEventListener.java b/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/WebSocketEventListener.java deleted file mode 100644 index 3bfbd8c..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/java/com/syncfusion/tomcat/controller/WebSocketEventListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.syncfusion.tomcat.controller; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.event.EventListener; -import org.springframework.messaging.simp.stomp.StompHeaderAccessor; -import org.springframework.stereotype.Component; -import org.springframework.web.socket.messaging.SessionConnectedEvent; - - -@Component -public class WebSocketEventListener { - - private static final Logger logger = LoggerFactory.getLogger(WebSocketEventListener.class); - - @EventListener - public void handleWebSocketConnectListener(SessionConnectedEvent event) { - logger.info("Received a new web socket connection"); - StompHeaderAccessor headers = StompHeaderAccessor.wrap(event.getMessage()); - String sessionId = headers.getSessionId(); - // messagingTemplate.convertAndSend("/topic/session-id", sessionId); - } - - -} diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/main/resources/application.properties b/Server side with database/Java/Java web service using PostgreSQL/src/main/resources/application.properties deleted file mode 100644 index f4236c4..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/main/resources/application.properties +++ /dev/null @@ -1,27 +0,0 @@ - -server.port=8081 - -#postgres sql configuration -spring.jpa.database=POSTGRESQL -spring.datasource.url="" -spring.datasource.username="" -spring.datasource.password="" - -#S3 configuration -spring.datasource.accesskey= "" -spring.datasource.secretkey= "" -spring.datasource.bucketname= "" -spring.datasource.regionname= "" - -#Redis configuration -spring.datasource.redishost= "" -spring.datasource.redisport= "" - - -#connection pool configuration -spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true -spring.jpa.database-platform=org.hibernate.dialect.H2Dialect -spring.datasource.type = com.zaxxer.hikari.HikariDataSource -spring.datasource.hikari.minimum-idle=10 -spring.datasource.hikari.maximum-pool-size=10 -spring.datasource.hikari.max-lifetime=1200000 \ No newline at end of file diff --git a/Server side with database/Java/Java web service using PostgreSQL/src/test/java/com/syncfusion/tomcat/TomcatApplicationTests.java b/Server side with database/Java/Java web service using PostgreSQL/src/test/java/com/syncfusion/tomcat/TomcatApplicationTests.java deleted file mode 100644 index 19b6fac..0000000 --- a/Server side with database/Java/Java web service using PostgreSQL/src/test/java/com/syncfusion/tomcat/TomcatApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.syncfusion.tomcat; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class TomcatApplicationTests { - - @Test - void contextLoads() { - } - -}