gamelet-cli 0.7.10 → 0.7.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/package.json.twig +3 -3
- package/assets/server/static/js/monitor.js +6 -0
- package/assets/server/views/monitor.twig +1 -0
- package/assets/tsconfig.json.twig +1 -1
- package/build/package.json +67 -67
- package/build/src/gamelet/download.js +773 -737
- package/build/src/gamelet/merges.js +181 -179
- package/build/src/gamelet/prepare.js +276 -277
- package/build/src/gamelet/upload.js +280 -279
- package/build/src/index.js +86 -86
- package/build/src/server/Constant.js +9 -9
- package/build/src/server/entities/Client.js +78 -78
- package/build/src/server/entities/ClientOwner.js +67 -67
- package/build/src/server/entities/ClientProject.js +84 -84
- package/build/src/server/entities/Gameroom.js +89 -89
- package/build/src/server/entities/GameroomBase.js +276 -276
- package/build/src/server/entities/Gamezone.js +73 -73
- package/build/src/server/entities/ListFilter.js +193 -193
- package/build/src/server/entities/Monitor.js +94 -81
- package/build/src/server/entities/Player.js +140 -140
- package/build/src/server/managers/ApiManager.js +75 -75
- package/build/src/server/managers/ClientManager.js +64 -64
- package/build/src/server/managers/Database.js +627 -627
- package/build/src/server/managers/GameroomManager.js +392 -392
- package/build/src/server/managers/ManagerBase.js +17 -17
- package/build/src/server/managers/MonitorManager.js +73 -73
- package/build/src/server/managers/PlayerManager.js +108 -108
- package/build/src/server/managers/SocketManager.js +60 -60
- package/build/src/server/managers/UserManager.js +58 -58
- package/build/src/server/messages/Message.js +143 -143
- package/build/src/server/server.js +112 -113
- package/build/src/server/services/ServiceBase.js +25 -25
- package/build/src/server/services/clientService.js +23 -23
- package/build/src/server/services/gameroomService.js +121 -121
- package/build/src/server/services/gltserver.service.js +23 -23
- package/build/src/server/services/playerService.js +32 -32
- package/build/src/server/startServer.js +32 -33
- package/build/src/server/types/BadgeStatus.js +25 -25
- package/build/src/server/types/OrderType.js +38 -38
- package/build/src/server/types/SubmitType.js +24 -24
- package/build/src/server/types/TimeRange.js +26 -26
- package/build/src/server/utils/ArrayUtil.js +126 -126
- package/build/src/server/utils/IntUtil.js +9 -9
- package/build/src/server/utils/ObjectUtil.js +191 -191
- package/build/src/server/utils/StringUtil.js +37 -37
- package/build/src/utils/cli.js +53 -53
- package/build/src/utils/file.js +350 -337
- package/build/src/utils/init.js +57 -42
- package/build/src/utils/log.js +18 -17
- package/build/src/utils/net.js +43 -39
- package/package.json +2 -2
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.apiManager = void 0;
|
|
7
|
-
const ManagerBase_1 = require("./ManagerBase");
|
|
8
|
-
const cors_1 = __importDefault(require("cors"));
|
|
9
|
-
const ClientManager_1 = require("./ClientManager");
|
|
10
|
-
const MaxListClientsLength = 100;
|
|
11
|
-
class ApiManager extends ManagerBase_1.ManagerBase {
|
|
12
|
-
constructor() {
|
|
13
|
-
super('ApiManager');
|
|
14
|
-
}
|
|
15
|
-
initialize(app) {
|
|
16
|
-
/**
|
|
17
|
-
* this is for gltserver to access msgserver states
|
|
18
|
-
*/
|
|
19
|
-
app.get('/clientapi/:method/:clientCode', cors_1.default(), (_req, res) => {
|
|
20
|
-
this.callMethod('clientapi_', _req.params.method, this.parseParams(_req.params.clientCode, _req.query.args))
|
|
21
|
-
.then(json => {
|
|
22
|
-
res.json(json);
|
|
23
|
-
})
|
|
24
|
-
.catch(err => {
|
|
25
|
-
res.sendStatus(500).json(err);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
parseParams(firstParam, paramsString) {
|
|
30
|
-
let params = paramsString && JSON.parse(paramsString);
|
|
31
|
-
if (!Array.isArray(params)) {
|
|
32
|
-
params = [];
|
|
33
|
-
}
|
|
34
|
-
if (firstParam !== null) {
|
|
35
|
-
params.unshift(firstParam);
|
|
36
|
-
}
|
|
37
|
-
return params;
|
|
38
|
-
}
|
|
39
|
-
callMethod(prefix, methodName, params) {
|
|
40
|
-
let method = this[prefix + methodName];
|
|
41
|
-
this.designContract(method && typeof method === 'function', 'This api is not available.');
|
|
42
|
-
return method.apply(this, params);
|
|
43
|
-
}
|
|
44
|
-
clientapi_list_players_count(_clientCode, clientCodes) {
|
|
45
|
-
if (clientCodes.length > MaxListClientsLength) {
|
|
46
|
-
clientCodes = clientCodes.slice(0, MaxListClientsLength);
|
|
47
|
-
}
|
|
48
|
-
let json = {};
|
|
49
|
-
for (let clientCode of clientCodes) {
|
|
50
|
-
let project = ClientManager_1.clientManager.getCachedClientProject(clientCode);
|
|
51
|
-
if (project) {
|
|
52
|
-
json[clientCode] = project.playersCount;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return Promise.resolve(json);
|
|
56
|
-
}
|
|
57
|
-
clientapi_get_players_count(clientCode, version, options) {
|
|
58
|
-
let project = ClientManager_1.clientManager.getCachedClientProject(clientCode);
|
|
59
|
-
return Promise.resolve({
|
|
60
|
-
count: project ? project.getPlayersCount(version, options) : 0
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
clientapi_list_clients(_clientCode, start, length) {
|
|
64
|
-
length = Math.min(length, MaxListClientsLength);
|
|
65
|
-
let projects = ClientManager_1.clientManager.listProjects().slice(start, start + length);
|
|
66
|
-
let clients = {};
|
|
67
|
-
for (let project of projects) {
|
|
68
|
-
clients[project.code] = project.playersCount;
|
|
69
|
-
;
|
|
70
|
-
}
|
|
71
|
-
return Promise.resolve(clients);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.apiManager = new ApiManager();
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.apiManager = void 0;
|
|
7
|
+
const ManagerBase_1 = require("./ManagerBase");
|
|
8
|
+
const cors_1 = __importDefault(require("cors"));
|
|
9
|
+
const ClientManager_1 = require("./ClientManager");
|
|
10
|
+
const MaxListClientsLength = 100;
|
|
11
|
+
class ApiManager extends ManagerBase_1.ManagerBase {
|
|
12
|
+
constructor() {
|
|
13
|
+
super('ApiManager');
|
|
14
|
+
}
|
|
15
|
+
initialize(app) {
|
|
16
|
+
/**
|
|
17
|
+
* this is for gltserver to access msgserver states
|
|
18
|
+
*/
|
|
19
|
+
app.get('/clientapi/:method/:clientCode', (0, cors_1.default)(), (_req, res) => {
|
|
20
|
+
this.callMethod('clientapi_', _req.params.method, this.parseParams(_req.params.clientCode, _req.query.args))
|
|
21
|
+
.then(json => {
|
|
22
|
+
res.json(json);
|
|
23
|
+
})
|
|
24
|
+
.catch(err => {
|
|
25
|
+
res.sendStatus(500).json(err);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
parseParams(firstParam, paramsString) {
|
|
30
|
+
let params = paramsString && JSON.parse(paramsString);
|
|
31
|
+
if (!Array.isArray(params)) {
|
|
32
|
+
params = [];
|
|
33
|
+
}
|
|
34
|
+
if (firstParam !== null) {
|
|
35
|
+
params.unshift(firstParam);
|
|
36
|
+
}
|
|
37
|
+
return params;
|
|
38
|
+
}
|
|
39
|
+
callMethod(prefix, methodName, params) {
|
|
40
|
+
let method = this[prefix + methodName];
|
|
41
|
+
this.designContract(method && typeof method === 'function', 'This api is not available.');
|
|
42
|
+
return method.apply(this, params);
|
|
43
|
+
}
|
|
44
|
+
clientapi_list_players_count(_clientCode, clientCodes) {
|
|
45
|
+
if (clientCodes.length > MaxListClientsLength) {
|
|
46
|
+
clientCodes = clientCodes.slice(0, MaxListClientsLength);
|
|
47
|
+
}
|
|
48
|
+
let json = {};
|
|
49
|
+
for (let clientCode of clientCodes) {
|
|
50
|
+
let project = ClientManager_1.clientManager.getCachedClientProject(clientCode);
|
|
51
|
+
if (project) {
|
|
52
|
+
json[clientCode] = project.playersCount;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return Promise.resolve(json);
|
|
56
|
+
}
|
|
57
|
+
clientapi_get_players_count(clientCode, version, options) {
|
|
58
|
+
let project = ClientManager_1.clientManager.getCachedClientProject(clientCode);
|
|
59
|
+
return Promise.resolve({
|
|
60
|
+
count: project ? project.getPlayersCount(version, options) : 0
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
clientapi_list_clients(_clientCode, start, length) {
|
|
64
|
+
length = Math.min(length, MaxListClientsLength);
|
|
65
|
+
let projects = ClientManager_1.clientManager.listProjects().slice(start, start + length);
|
|
66
|
+
let clients = {};
|
|
67
|
+
for (let project of projects) {
|
|
68
|
+
clients[project.code] = project.playersCount;
|
|
69
|
+
;
|
|
70
|
+
}
|
|
71
|
+
return Promise.resolve(clients);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.apiManager = new ApiManager();
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvQXBpTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQ0FBNEM7QUFFNUMsZ0RBQXdCO0FBQ3hCLG1EQUFnRDtBQUdoRCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUVqQyxNQUFNLFVBQVcsU0FBUSx5QkFBVztJQUVoQztRQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQW9CO1FBRTNCOztXQUVHO1FBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFBLGNBQUksR0FBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFjLENBQUMsQ0FBQztpQkFDakgsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDVCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBRVAsQ0FBQztJQUVPLFdBQVcsQ0FBQyxVQUFlLEVBQUUsWUFBb0I7UUFDckQsSUFBSSxNQUFNLEdBQVUsWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0QsSUFB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
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.clientManager = exports.ClientManager = void 0;
|
|
4
|
-
const ClientOwner_1 = require("./../entities/ClientOwner");
|
|
5
|
-
const ManagerBase_1 = require("./ManagerBase");
|
|
6
|
-
const gltserver_service_1 = require("../services/gltserver.service");
|
|
7
|
-
class ClientManager extends ManagerBase_1.ManagerBase {
|
|
8
|
-
constructor() {
|
|
9
|
-
super('ClientManager');
|
|
10
|
-
this.owners = {};
|
|
11
|
-
this.projects = {};
|
|
12
|
-
}
|
|
13
|
-
initialize() {
|
|
14
|
-
}
|
|
15
|
-
getClientOwner(ownername, createIfNotExist) {
|
|
16
|
-
let owner = this.owners[ownername];
|
|
17
|
-
if (!owner && createIfNotExist) {
|
|
18
|
-
owner = new ClientOwner_1.ClientOwner(ownername);
|
|
19
|
-
this.owners[ownername] = owner;
|
|
20
|
-
}
|
|
21
|
-
return owner;
|
|
22
|
-
}
|
|
23
|
-
getClientProject(clientCode, createIfNotExist) {
|
|
24
|
-
let project = this.projects[clientCode];
|
|
25
|
-
if (!project && createIfNotExist) {
|
|
26
|
-
return gltserver_service_1.serverService.getOwnernameByClient(clientCode)
|
|
27
|
-
.then(ownername => {
|
|
28
|
-
let owner = this.getClientOwner(ownername, true);
|
|
29
|
-
project = owner.getProject(clientCode);
|
|
30
|
-
this.projects[clientCode] = project;
|
|
31
|
-
return project;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
return Promise.resolve(project);
|
|
35
|
-
}
|
|
36
|
-
getCachedClientProject(clientCode) {
|
|
37
|
-
return this.projects[clientCode];
|
|
38
|
-
}
|
|
39
|
-
getClientByToken(token, msgVersion) {
|
|
40
|
-
let params = token.split('|');
|
|
41
|
-
return this.getClient(params[1], msgVersion);
|
|
42
|
-
}
|
|
43
|
-
getClient(clientCode, msgVersion) {
|
|
44
|
-
return this.getClientProject(clientCode, true)
|
|
45
|
-
.then(project => project.getClient(msgVersion));
|
|
46
|
-
}
|
|
47
|
-
listProjects() {
|
|
48
|
-
let list = [];
|
|
49
|
-
for (let key in this.projects) {
|
|
50
|
-
list.push(this.projects[key]);
|
|
51
|
-
}
|
|
52
|
-
return list;
|
|
53
|
-
}
|
|
54
|
-
get playersCount() {
|
|
55
|
-
let count = 0;
|
|
56
|
-
for (let key in this.projects) {
|
|
57
|
-
count += this.projects[key].playersCount;
|
|
58
|
-
}
|
|
59
|
-
return count;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.ClientManager = ClientManager;
|
|
63
|
-
exports.clientManager = new ClientManager();
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clientManager = exports.ClientManager = void 0;
|
|
4
|
+
const ClientOwner_1 = require("./../entities/ClientOwner");
|
|
5
|
+
const ManagerBase_1 = require("./ManagerBase");
|
|
6
|
+
const gltserver_service_1 = require("../services/gltserver.service");
|
|
7
|
+
class ClientManager extends ManagerBase_1.ManagerBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
super('ClientManager');
|
|
10
|
+
this.owners = {};
|
|
11
|
+
this.projects = {};
|
|
12
|
+
}
|
|
13
|
+
initialize() {
|
|
14
|
+
}
|
|
15
|
+
getClientOwner(ownername, createIfNotExist) {
|
|
16
|
+
let owner = this.owners[ownername];
|
|
17
|
+
if (!owner && createIfNotExist) {
|
|
18
|
+
owner = new ClientOwner_1.ClientOwner(ownername);
|
|
19
|
+
this.owners[ownername] = owner;
|
|
20
|
+
}
|
|
21
|
+
return owner;
|
|
22
|
+
}
|
|
23
|
+
getClientProject(clientCode, createIfNotExist) {
|
|
24
|
+
let project = this.projects[clientCode];
|
|
25
|
+
if (!project && createIfNotExist) {
|
|
26
|
+
return gltserver_service_1.serverService.getOwnernameByClient(clientCode)
|
|
27
|
+
.then(ownername => {
|
|
28
|
+
let owner = this.getClientOwner(ownername, true);
|
|
29
|
+
project = owner.getProject(clientCode);
|
|
30
|
+
this.projects[clientCode] = project;
|
|
31
|
+
return project;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return Promise.resolve(project);
|
|
35
|
+
}
|
|
36
|
+
getCachedClientProject(clientCode) {
|
|
37
|
+
return this.projects[clientCode];
|
|
38
|
+
}
|
|
39
|
+
getClientByToken(token, msgVersion) {
|
|
40
|
+
let params = token.split('|');
|
|
41
|
+
return this.getClient(params[1], msgVersion);
|
|
42
|
+
}
|
|
43
|
+
getClient(clientCode, msgVersion) {
|
|
44
|
+
return this.getClientProject(clientCode, true)
|
|
45
|
+
.then(project => project.getClient(msgVersion));
|
|
46
|
+
}
|
|
47
|
+
listProjects() {
|
|
48
|
+
let list = [];
|
|
49
|
+
for (let key in this.projects) {
|
|
50
|
+
list.push(this.projects[key]);
|
|
51
|
+
}
|
|
52
|
+
return list;
|
|
53
|
+
}
|
|
54
|
+
get playersCount() {
|
|
55
|
+
let count = 0;
|
|
56
|
+
for (let key in this.projects) {
|
|
57
|
+
count += this.projects[key].playersCount;
|
|
58
|
+
}
|
|
59
|
+
return count;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.ClientManager = ClientManager;
|
|
63
|
+
exports.clientManager = new ClientManager();
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50TWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvQ2xpZW50TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBd0Q7QUFDeEQsK0NBQTRDO0FBRzVDLHFFQUE4RDtBQUU5RCxNQUFhLGFBQWMsU0FBUSx5QkFBVztJQUsxQztRQUNJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUpuQixXQUFNLEdBQW1DLEVBQUUsQ0FBQztRQUM1QyxhQUFRLEdBQXFDLEVBQUUsQ0FBQztJQUl4RCxDQUFDO0lBRUQsVUFBVTtJQUVWLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBaUIsRUFBRSxnQkFBeUI7UUFDdkQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDN0IsS0FBSyxHQUFHLElBQUkseUJBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsZ0JBQXlCO1FBQzFELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQy9CLE9BQU8saUNBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUM7aUJBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDZCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakQsT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDO2dCQUNwQyxPQUFPLE9BQU8sQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQTtRQUVWLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELHNCQUFzQixDQUFDLFVBQWtCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLFVBQWtCO1FBQzlDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQzthQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksR0FBb0IsRUFBRSxDQUFDO1FBQy9CLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osSUFBSSxLQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUM3QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBbEVELHNDQWtFQztBQUVZLFFBQUEsYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUMifQ==
|