diff --git a/server.patch b/server.patch
index 35bd28f5929d29a24c89a4e191e125ba5b62f648..54450ecc736b7dee4c6a45a5895da25c83ab9424 100644
--- a/server.patch
+++ b/server.patch
@@ -1,38 +1,23 @@
-From 03a3990e83a94666abb5a27447fa1b67076b0e08 Mon Sep 17 00:00:00 2001
-From: Alexander Hofbauer <alex@derhofbauer.at>
-Date: Fri, 21 May 2021 10:35:05 +0200
-Subject: [PATCH] Patch for license
-
----
- Common/sources/commondefines.js          |  4 ++--
- Common/sources/constants.js              |  2 +-
- Common/sources/license.js                | 16 ++++++++--------
- DocService/sources/DocsCoServer.js       |  4 ++--
- DocService/sources/server.js             |  1 -
- FileConverter/sources/convertermaster.js |  1 -
- Makefile                                 |  2 +-
- 7 files changed, 14 insertions(+), 16 deletions(-)
-
 diff --git a/Common/sources/commondefines.js b/Common/sources/commondefines.js
-index ec6a870..d1f21c2 100644
+index 24d2421..7ec1e6c 100644
 --- a/Common/sources/commondefines.js
 +++ b/Common/sources/commondefines.js
-@@ -1035,8 +1035,8 @@ const c_oAscUnlockRes = {
+@@ -1043,8 +1043,8 @@ const c_oAscUnlockRes = {
    Empty: 2
  };
  
 -const buildVersion = '4.1.2';
 -const buildNumber = 37;
-+const buildVersion = '6.3.2';
-+const buildNumber = 2;
++const buildVersion = '6.4.2';
++const buildNumber = 6;
  
  exports.TaskQueueData = TaskQueueData;
  exports.CMailMergeSendData = CMailMergeSendData;
 diff --git a/Common/sources/constants.js b/Common/sources/constants.js
-index f976ed9..e5b91fd 100644
+index 63d3249..d92bdc6 100644
 --- a/Common/sources/constants.js
 +++ b/Common/sources/constants.js
-@@ -70,7 +70,7 @@ exports.LICENSE_RESULT = {
+@@ -72,7 +72,7 @@ exports.LICENSE_RESULT = {
    ExpiredLimited: 11
  };
  
@@ -42,19 +27,21 @@ index f976ed9..e5b91fd 100644
  
  exports.AVS_OFFICESTUDIO_FILE_UNKNOWN =  0x0000;
 diff --git a/Common/sources/license.js b/Common/sources/license.js
-index ea257bd..5aefbf1 100644
+index c651c60..3852bfb 100644
 --- a/Common/sources/license.js
 +++ b/Common/sources/license.js
-@@ -34,7 +34,7 @@
+@@ -34,27 +34,27 @@
  
  const constants = require('./constants');
  
 -const buildDate = '6/29/2016';
-+const buildDate = '2021-10-27T14:34:00.000Z';
++const buildDate = '2021-11-03T14:34:00.000Z';
  const oBuildDate = new Date(buildDate);
  
  exports.readLicense = function*() {
-@@ -43,18 +43,18 @@ exports.readLicense = function*() {
+ 	const c_LR = constants.LICENSE_RESULT;
+-	return [{
++	return {
  		count: 1,
  		type: c_LR.Success,
  		light: false,
@@ -74,39 +61,78 @@ index ea257bd..5aefbf1 100644
 +		plugins: true,
  		buildDate: oBuildDate,
 -		endDate: null
+-	}, null];
 +		endDate: "2099-01-01T23:59:59.000Z"
- 	};
++	};
  };
  
 -exports.packageType = constants.PACKAGE_TYPE_OS;
 +exports.packageType = constants.PACKAGE_TYPE_I;
 diff --git a/DocService/sources/DocsCoServer.js b/DocService/sources/DocsCoServer.js
-index 0365510..ee25b0c 100644
+index ec5f926..676db57 100644
 --- a/DocService/sources/DocsCoServer.js
 +++ b/DocService/sources/DocsCoServer.js
-@@ -163,7 +163,7 @@ let connections = []; // Активные соединения
+@@ -165,8 +165,7 @@ let connections = []; // Активные соединения
  let lockDocumentsTimerId = {};//to drop connection that can't unlockDocument
  let pubsub;
  let queue;
 -let licenseInfo = {type: constants.LICENSE_RESULT.Error, light: false, branding: false, customization: false, plugins: false};
+-let licenseOriginal = null;
 +let licenseInfo = license.readLicense().next().value;
  let shutdownFlag = false;
  let expDocumentsStep = gc.getCronStep(cfgExpDocumentsCron);
  
-@@ -3094,7 +3094,7 @@ exports.install = function(server, callbackFunction) {
+@@ -3241,9 +3240,8 @@ exports.install = function(server, callbackFunction) {
+     });
    });
  };
- exports.setLicenseInfo = function(data) {
+-exports.setLicenseInfo = function(data, original ) {
 -  licenseInfo = data;
+-  licenseOriginal = original;
++exports.setLicenseInfo = function(data) {
 +  logger.debug('Not updating license info', data)
  };
  exports.getLicenseInfo = function() {
    return licenseInfo;
+@@ -3383,7 +3381,7 @@ let commandLicense = co.wrap(function*() {
+   const nowUTC = getLicenseNowUtc();
+   let users = yield editorData.getPresenceUniqueUser(nowUTC);
+   return {
+-    license: licenseOriginal || utils.convertLicenseInfoToFileParams(licenseInfo),
++    license: utils.convertLicenseInfoToFileParams(licenseInfo),
+     server: utils.convertLicenseInfoToServerParams(licenseInfo),
+     quota: {users: users}
+   };
 diff --git a/DocService/sources/server.js b/DocService/sources/server.js
-index b623759..29574bd 100644
+index be08f02..7f11f93 100644
 --- a/DocService/sources/server.js
 +++ b/DocService/sources/server.js
-@@ -129,7 +129,6 @@ try {
+@@ -64,7 +64,7 @@ app.set("views", cfgHtmlTemplate);
+ app.set("view engine", "ejs");
+ const server = http.createServer(app);
+ 
+-let licenseInfo, licenseOriginal, updatePluginsTime, userPlugins, pluginsLoaded;
++let licenseInfo, updatePluginsTime, userPlugins, pluginsLoaded;
+ 
+ const updatePlugins = (eventType, filename) => {
+ 	console.log('update Folder: %s ; %s', eventType, filename);
+@@ -76,13 +76,13 @@ const updatePlugins = (eventType, filename) => {
+ 	pluginsLoaded = false;
+ };
+ const readLicense = function*() {
+-	[licenseInfo, licenseOriginal] = yield* license.readLicense();
++	licenseInfo = yield* license.readLicense();
+ };
+ const updateLicense = () => {
+ 	return co(function*() {
+ 		try {
+ 			yield* readLicense();
+-			docsCoServer.setLicenseInfo(licenseInfo, licenseOriginal);
++			docsCoServer.setLicenseInfo(licenseOriginal);
+ 			console.log('End updateLicense');
+ 		} catch (err) {
+ 			logger.error('updateLicense error:\r\n%s', err.stack);
+@@ -135,7 +135,6 @@ try {
  } catch (e) {
  	logger.warn('Failed to subscribe to plugin folder updates. When changing the list of plugins, you must restart the server. https://nodejs.org/docs/latest/api/fs.html#fs_availability');
  }
@@ -115,9 +141,18 @@ index b623759..29574bd 100644
  
  // Если захочется использовать 'development' и 'production',
 diff --git a/FileConverter/sources/convertermaster.js b/FileConverter/sources/convertermaster.js
-index c246bb8..9fe3d41 100644
+index 2c4526f..9fe3d41 100644
 --- a/FileConverter/sources/convertermaster.js
 +++ b/FileConverter/sources/convertermaster.js
+@@ -46,7 +46,7 @@ if (cluster.isMaster) {
+   const cfgMaxProcessCount = config.get('maxprocesscount');
+   var licenseInfo, workersCount = 0;
+   const readLicense = function* () {
+-    [licenseInfo] = yield* license.readLicense();
++    licenseInfo = yield* license.readLicense();
+     workersCount = Math.min(licenseInfo.count, Math.ceil(numCPUs * cfgMaxProcessCount));
+   };
+   const updateWorkers = () => {
 @@ -85,7 +85,6 @@ if (cluster.isMaster) {
  
    updateLicense();
@@ -127,18 +162,15 @@ index c246bb8..9fe3d41 100644
  } else {
    const converter = require('./converter');
 diff --git a/Makefile b/Makefile
-index 40bf93e..1df9c10 100644
+index e8e1308..23f7e2e 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -83,7 +83,7 @@ DEBUG = $(BRANDING_DIR)/debug.js
+@@ -87,7 +87,7 @@ DEBUG = $(BRANDING_DIR)/debug.js
  .PHONY: all clean install uninstall build-date
  
  .NOTPARALLEL:
--all: $(SPELLCHECKER_DICTIONARIES) $(TOOLS) $(SCHEMA) $(CORE_FONTS) $(LICENSE) $(WELCOME) $(INFO) build-date
+-all: $(SPELLCHECKER_DICTIONARIES) $(TOOLS) $(SCHEMA) $(CORE_FONTS) $(DOCUMENT_TEMPLATES) $(LICENSE) $(WELCOME) $(INFO) build-date
 +all: $(SCHEMA) $(LICENSE) $(WELCOME) $(INFO) build-date
  
  build-date: $(GRUNT_FILES)
  	sed "s|\(const buildVersion = \).*|\1'${PRODUCT_VERSION}';|" -i $(COMMON_DEFINES_JS)
--- 
-2.31.1
-