@wppconnect/server 2.0.0 → 2.1.0
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/CHANGELOG.md +4 -0
- package/dist/config/upload.js +1 -1
- package/dist/config.js +8 -2
- package/dist/controller/catalogController.js +296 -29
- package/dist/controller/deviceController.js +875 -30
- package/dist/controller/encryptController.js +14 -2
- package/dist/controller/groupController.js +343 -9
- package/dist/controller/labelsController.js +68 -1
- package/dist/controller/messageController.js +289 -40
- package/dist/controller/miscController.js +221 -0
- package/dist/controller/orderController.js +27 -3
- package/dist/controller/sessionController.js +236 -9
- package/dist/controller/statusController.js +53 -5
- package/dist/index.js +8 -8
- package/dist/mapper/index.js +2 -2
- package/dist/middleware/auth.js +16 -15
- package/dist/middleware/healthCheck.js +15 -1
- package/dist/middleware/statusConnection.js +2 -1
- package/dist/routes/index.js +741 -710
- package/dist/swagger-backup.json +21463 -0
- package/dist/swagger.js +100 -0
- package/dist/swagger.json +4957 -20348
- package/dist/types/express/index.d.js +2 -0
- package/dist/util/chatWootClient.js +49 -45
- package/dist/util/createSessionUtil.js +55 -45
- package/dist/util/db/mongodb/db.js +7 -7
- package/dist/util/functions.js +31 -23
- package/dist/util/getAllTokens.js +1 -1
- package/dist/util/logger.js +22 -22
- package/dist/util/manageSession.js +130 -0
- package/dist/util/sessionUtil.js +5 -3
- package/dist/util/tokenStore/FileTokenStore/FileTokenStore.js +7 -7
- package/dist/util/tokenStore/mongodbTokenStory.js +2 -3
- package/dist/util/tokenStore/redisTokenStory.js +25 -25
- package/docker-compose.yml +7 -7
- package/package.json +40 -33
- package/wppconnect_tokens/wppconnect.json +0 -0
- package/dist/types/Request.js +0 -2
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.backupAllSessions = backupAllSessions;exports.clearSessionData = clearSessionData;exports.restoreAllSessions = restoreAllSessions;exports.setLimit = setLimit;exports.takeScreenshot = takeScreenshot;
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
19
|
+
|
|
20
|
+
var _ = require("..");
|
|
21
|
+
var _config = _interopRequireDefault(require("../config"));
|
|
22
|
+
var _manageSession = require("../util/manageSession");
|
|
23
|
+
var _sessionUtil = require("../util/sessionUtil"); /*
|
|
24
|
+
* Copyright 2023 WPPConnect Team
|
|
25
|
+
*
|
|
26
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
27
|
+
* you may not use this file except in compliance with the License.
|
|
28
|
+
* You may obtain a copy of the License at
|
|
29
|
+
*
|
|
30
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
31
|
+
*
|
|
32
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
33
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
34
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
35
|
+
* See the License for the specific language governing permissions and
|
|
36
|
+
* limitations under the License.
|
|
37
|
+
*/async function backupAllSessions(req, res) {/**
|
|
38
|
+
* #swagger.tags = ["Misc"]
|
|
39
|
+
* #swagger.description = 'Please, open the router in your browser, in swagger this not run'
|
|
40
|
+
* #swagger.produces = ['application/octet-stream']
|
|
41
|
+
* #swagger.consumes = ['application/octet-stream']
|
|
42
|
+
#swagger.autoBody=false
|
|
43
|
+
#swagger.parameters["secretkey"] = {
|
|
44
|
+
required: true,
|
|
45
|
+
schema: 'THISISMYSECURETOKEN'
|
|
46
|
+
}
|
|
47
|
+
#swagger.responses[200] = {
|
|
48
|
+
description: 'A ZIP file contaings your backup. Please, open this link in your browser',
|
|
49
|
+
content: {
|
|
50
|
+
"application/zip": {
|
|
51
|
+
schema: {
|
|
52
|
+
type: 'string',
|
|
53
|
+
format: 'binary',
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
}
|
|
58
|
+
*/const { secretkey } = req.params;if (secretkey !== _config.default.secretKey) {return res.status(400).json({ response: 'error', message: 'The token is incorrect' });}try {res.setHeader('Content-Type', 'application/zip');
|
|
59
|
+
return res.send(await (0, _manageSession.backupSessions)(req));
|
|
60
|
+
} catch (error) {
|
|
61
|
+
return res.status(500).json({
|
|
62
|
+
status: false,
|
|
63
|
+
message: 'Error on backup session',
|
|
64
|
+
error: error
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
async function restoreAllSessions(req, res) {
|
|
70
|
+
/**
|
|
71
|
+
#swagger.tags = ["Misc"]
|
|
72
|
+
#swagger.autoBody=false
|
|
73
|
+
#swagger.parameters["secretkey"] = {
|
|
74
|
+
required: true,
|
|
75
|
+
schema: 'THISISMYSECURETOKEN'
|
|
76
|
+
}
|
|
77
|
+
#swagger.requestBody = {
|
|
78
|
+
required: true,
|
|
79
|
+
content: {
|
|
80
|
+
"multipart/form-data": {
|
|
81
|
+
schema: {
|
|
82
|
+
type: 'object',
|
|
83
|
+
properties: {
|
|
84
|
+
file: {
|
|
85
|
+
type: "string",
|
|
86
|
+
format: "binary"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
required: ['file'],
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
*/
|
|
95
|
+
const { secretkey } = req.params;
|
|
96
|
+
|
|
97
|
+
if (secretkey !== _config.default.secretKey) {
|
|
98
|
+
return res.status(400).json({
|
|
99
|
+
response: 'error',
|
|
100
|
+
message: 'The token is incorrect'
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
try {
|
|
105
|
+
const result = await (0, _manageSession.restoreSessions)(req, req.file);
|
|
106
|
+
return res.status(200).json(result);
|
|
107
|
+
} catch (error) {
|
|
108
|
+
return res.status(500).json({
|
|
109
|
+
status: false,
|
|
110
|
+
message: 'Error on restore session',
|
|
111
|
+
error: error
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
async function takeScreenshot(req, res) {
|
|
117
|
+
/**
|
|
118
|
+
#swagger.tags = ["Misc"]
|
|
119
|
+
#swagger.autoBody=false
|
|
120
|
+
#swagger.security = [{
|
|
121
|
+
"bearerAuth": []
|
|
122
|
+
}]
|
|
123
|
+
#swagger.parameters["session"] = {
|
|
124
|
+
schema: 'NERDWHATS_AMERICA'
|
|
125
|
+
}
|
|
126
|
+
*/
|
|
127
|
+
|
|
128
|
+
try {
|
|
129
|
+
const result = await req.client?.takeScreenshot();
|
|
130
|
+
return res.status(200).json(result);
|
|
131
|
+
} catch (error) {
|
|
132
|
+
return res.status(500).json({
|
|
133
|
+
status: false,
|
|
134
|
+
message: 'Error on take screenshot or not implemented yet',
|
|
135
|
+
error: error
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
async function clearSessionData(req, res) {
|
|
141
|
+
/**
|
|
142
|
+
#swagger.tags = ["Misc"]
|
|
143
|
+
#swagger.autoBody=false
|
|
144
|
+
#swagger.parameters["secretkey"] = {
|
|
145
|
+
required: true,
|
|
146
|
+
schema: 'THISISMYSECURETOKEN'
|
|
147
|
+
}
|
|
148
|
+
#swagger.parameters["session"] = {
|
|
149
|
+
schema: 'NERDWHATS_AMERICA'
|
|
150
|
+
}
|
|
151
|
+
*/
|
|
152
|
+
|
|
153
|
+
try {
|
|
154
|
+
const { secretkey, session } = req.params;
|
|
155
|
+
|
|
156
|
+
if (secretkey !== _config.default.secretKey) {
|
|
157
|
+
return res.status(400).json({
|
|
158
|
+
response: 'error',
|
|
159
|
+
message: 'The token is incorrect'
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
if (req?.client?.page) {
|
|
163
|
+
delete _sessionUtil.clientsArray[req.params.session];
|
|
164
|
+
await req.client.logout();
|
|
165
|
+
}
|
|
166
|
+
const path = _config.default.customUserDataDir + session;
|
|
167
|
+
const pathToken = __dirname + `../../../tokens/${session}.data.json`;
|
|
168
|
+
if (_fs.default.existsSync(path)) {
|
|
169
|
+
await _fs.default.promises.rm(path, {
|
|
170
|
+
recursive: true
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
if (_fs.default.existsSync(pathToken)) {
|
|
174
|
+
await _fs.default.promises.rm(pathToken);
|
|
175
|
+
}
|
|
176
|
+
return res.status(200).json({ success: true });
|
|
177
|
+
} catch (error) {
|
|
178
|
+
_.logger.error(error);
|
|
179
|
+
return res.status(500).json({
|
|
180
|
+
status: false,
|
|
181
|
+
message: 'Error on clear session data',
|
|
182
|
+
error: error
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
async function setLimit(req, res) {
|
|
188
|
+
/**
|
|
189
|
+
#swagger.tags = ["Misc"]
|
|
190
|
+
#swagger.description = 'Change limits of whatsapp web. Types value: maxMediaSize, maxFileSize, maxShare, statusVideoMaxDuration, unlimitedPin;'
|
|
191
|
+
#swagger.autoBody=false
|
|
192
|
+
#swagger.security = [{
|
|
193
|
+
"bearerAuth": []
|
|
194
|
+
}]
|
|
195
|
+
#swagger.parameters["session"] = {
|
|
196
|
+
schema: 'NERDWHATS_AMERICA'
|
|
197
|
+
}
|
|
198
|
+
#swagger.parameters["obj"] = {
|
|
199
|
+
in: 'body',
|
|
200
|
+
schema: {
|
|
201
|
+
$type: 'maxFileSize',
|
|
202
|
+
$value: 104857600
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
*/
|
|
206
|
+
|
|
207
|
+
try {
|
|
208
|
+
const { type, value } = req.body;
|
|
209
|
+
if (!type || !value) throw new Error('Send de type and value');
|
|
210
|
+
|
|
211
|
+
const result = await req.client.setLimit(type, value);
|
|
212
|
+
return res.status(200).json(result);
|
|
213
|
+
} catch (error) {
|
|
214
|
+
return res.status(500).json({
|
|
215
|
+
status: false,
|
|
216
|
+
message: 'Error on set limit',
|
|
217
|
+
error: error
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl8iLCJfY29uZmlnIiwiX21hbmFnZVNlc3Npb24iLCJfc2Vzc2lvblV0aWwiLCJiYWNrdXBBbGxTZXNzaW9ucyIsInJlcSIsInJlcyIsInNlY3JldGtleSIsInBhcmFtcyIsImNvbmZpZyIsInNlY3JldEtleSIsInN0YXR1cyIsImpzb24iLCJyZXNwb25zZSIsIm1lc3NhZ2UiLCJzZXRIZWFkZXIiLCJzZW5kIiwiYmFja3VwU2Vzc2lvbnMiLCJlcnJvciIsInJlc3RvcmVBbGxTZXNzaW9ucyIsInJlc3VsdCIsInJlc3RvcmVTZXNzaW9ucyIsImZpbGUiLCJ0YWtlU2NyZWVuc2hvdCIsImNsaWVudCIsImNsZWFyU2Vzc2lvbkRhdGEiLCJzZXNzaW9uIiwicGFnZSIsImNsaWVudHNBcnJheSIsImxvZ291dCIsInBhdGgiLCJjdXN0b21Vc2VyRGF0YURpciIsInBhdGhUb2tlbiIsIl9fZGlybmFtZSIsImZzIiwiZXhpc3RzU3luYyIsInByb21pc2VzIiwicm0iLCJyZWN1cnNpdmUiLCJzdWNjZXNzIiwibG9nZ2VyIiwic2V0TGltaXQiLCJ0eXBlIiwidmFsdWUiLCJib2R5IiwiRXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9taXNjQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjMgV1BQQ29ubmVjdCBUZWFtXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFJlcXVlc3QsIFJlc3BvbnNlIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLic7XG5pbXBvcnQgY29uZmlnIGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBiYWNrdXBTZXNzaW9ucywgcmVzdG9yZVNlc3Npb25zIH0gZnJvbSAnLi4vdXRpbC9tYW5hZ2VTZXNzaW9uJztcbmltcG9ydCB7IGNsaWVudHNBcnJheSB9IGZyb20gJy4uL3V0aWwvc2Vzc2lvblV0aWwnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYmFja3VwQWxsU2Vzc2lvbnMocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlKSB7XG4gIC8qKlxuICAgICAqICNzd2FnZ2VyLnRhZ3MgPSBbXCJNaXNjXCJdXG4gICAgICogI3N3YWdnZXIuZGVzY3JpcHRpb24gPSAnUGxlYXNlLCBvcGVuIHRoZSByb3V0ZXIgaW4geW91ciBicm93c2VyLCBpbiBzd2FnZ2VyIHRoaXMgbm90IHJ1bidcbiAgICAgKiAjc3dhZ2dlci5wcm9kdWNlcyA9IFsnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJ11cbiAgICAgKiAjc3dhZ2dlci5jb25zdW1lcyA9IFsnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJ11cbiAgICAgICAjc3dhZ2dlci5hdXRvQm9keT1mYWxzZVxuICAgICAgICNzd2FnZ2VyLnBhcmFtZXRlcnNbXCJzZWNyZXRrZXlcIl0gPSB7XG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgc2NoZW1hOiAnVEhJU0lTTVlTRUNVUkVUT0tFTidcbiAgICAgICB9XG4gICAgICAgI3N3YWdnZXIucmVzcG9uc2VzWzIwMF0gPSB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQSBaSVAgZmlsZSBjb250YWluZ3MgeW91ciBiYWNrdXAuIFBsZWFzZSwgb3BlbiB0aGlzIGxpbmsgaW4geW91ciBicm93c2VyJyxcbiAgICAgICAgY29udGVudDoge1xuICAgICAgICAgIFwiYXBwbGljYXRpb24vemlwXCI6IHtcbiAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZm9ybWF0OiAnYmluYXJ5JyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgICovXG4gIGNvbnN0IHsgc2VjcmV0a2V5IH0gPSByZXEucGFyYW1zO1xuXG4gIGlmIChzZWNyZXRrZXkgIT09IGNvbmZpZy5zZWNyZXRLZXkpIHtcbiAgICByZXR1cm4gcmVzLnN0YXR1cyg0MDApLmpzb24oe1xuICAgICAgcmVzcG9uc2U6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnVGhlIHRva2VuIGlzIGluY29ycmVjdCcsXG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi96aXAnKTtcbiAgICByZXR1cm4gcmVzLnNlbmQoYXdhaXQgYmFja3VwU2Vzc2lvbnMocmVxKSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNTAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogZmFsc2UsXG4gICAgICBtZXNzYWdlOiAnRXJyb3Igb24gYmFja3VwIHNlc3Npb24nLFxuICAgICAgZXJyb3I6IGVycm9yLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXN0b3JlQWxsU2Vzc2lvbnMocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlKSB7XG4gIC8qKlxuICAgI3N3YWdnZXIudGFncyA9IFtcIk1pc2NcIl1cbiAgICNzd2FnZ2VyLmF1dG9Cb2R5PWZhbHNlXG4gICAgI3N3YWdnZXIucGFyYW1ldGVyc1tcInNlY3JldGtleVwiXSA9IHtcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBzY2hlbWE6ICdUSElTSVNNWVNFQ1VSRVRPS0VOJ1xuICAgIH1cbiAgICAjc3dhZ2dlci5yZXF1ZXN0Qm9keSA9IHtcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgY29udGVudDoge1xuICAgICAgICBcIm11bHRpcGFydC9mb3JtLWRhdGFcIjoge1xuICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIGZpbGU6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgIGZvcm1hdDogXCJiaW5hcnlcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFsnZmlsZSddLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgKi9cbiAgY29uc3QgeyBzZWNyZXRrZXkgfSA9IHJlcS5wYXJhbXM7XG5cbiAgaWYgKHNlY3JldGtleSAhPT0gY29uZmlnLnNlY3JldEtleSkge1xuICAgIHJldHVybiByZXMuc3RhdHVzKDQwMCkuanNvbih7XG4gICAgICByZXNwb25zZTogJ2Vycm9yJyxcbiAgICAgIG1lc3NhZ2U6ICdUaGUgdG9rZW4gaXMgaW5jb3JyZWN0JyxcbiAgICB9KTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVzdG9yZVNlc3Npb25zKHJlcSwgcmVxLmZpbGUgYXMgYW55KTtcbiAgICByZXR1cm4gcmVzLnN0YXR1cygyMDApLmpzb24ocmVzdWx0KTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6IGZhbHNlLFxuICAgICAgbWVzc2FnZTogJ0Vycm9yIG9uIHJlc3RvcmUgc2Vzc2lvbicsXG4gICAgICBlcnJvcjogZXJyb3IsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRha2VTY3JlZW5zaG90KHJlcTogUmVxdWVzdCwgcmVzOiBSZXNwb25zZSkge1xuICAvKipcbiAgICNzd2FnZ2VyLnRhZ3MgPSBbXCJNaXNjXCJdXG4gICAjc3dhZ2dlci5hdXRvQm9keT1mYWxzZVxuICAgICNzd2FnZ2VyLnNlY3VyaXR5ID0gW3tcbiAgICAgICAgICBcImJlYXJlckF1dGhcIjogW11cbiAgICB9XVxuICAgICNzd2FnZ2VyLnBhcmFtZXRlcnNbXCJzZXNzaW9uXCJdID0ge1xuICAgIHNjaGVtYTogJ05FUkRXSEFUU19BTUVSSUNBJ1xuICAgIH1cbiAgKi9cblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IChyZXEuY2xpZW50IGFzIGFueSk/LnRha2VTY3JlZW5zaG90KCk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHJlc3VsdCk7XG4gIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICByZXR1cm4gcmVzLnN0YXR1cyg1MDApLmpzb24oe1xuICAgICAgc3RhdHVzOiBmYWxzZSxcbiAgICAgIG1lc3NhZ2U6ICdFcnJvciBvbiB0YWtlIHNjcmVlbnNob3Qgb3Igbm90IGltcGxlbWVudGVkIHlldCcsXG4gICAgICBlcnJvcjogZXJyb3IsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNsZWFyU2Vzc2lvbkRhdGEocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlKSB7XG4gIC8qKlxuICAgI3N3YWdnZXIudGFncyA9IFtcIk1pc2NcIl1cbiAgICNzd2FnZ2VyLmF1dG9Cb2R5PWZhbHNlXG4gICAgI3N3YWdnZXIucGFyYW1ldGVyc1tcInNlY3JldGtleVwiXSA9IHtcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBzY2hlbWE6ICdUSElTSVNNWVNFQ1VSRVRPS0VOJ1xuICAgIH1cbiAgICAjc3dhZ2dlci5wYXJhbWV0ZXJzW1wic2Vzc2lvblwiXSA9IHtcbiAgICBzY2hlbWE6ICdORVJEV0hBVFNfQU1FUklDQSdcbiAgICB9XG4gICovXG5cbiAgdHJ5IHtcbiAgICBjb25zdCB7IHNlY3JldGtleSwgc2Vzc2lvbiB9ID0gcmVxLnBhcmFtcztcblxuICAgIGlmIChzZWNyZXRrZXkgIT09IGNvbmZpZy5zZWNyZXRLZXkpIHtcbiAgICAgIHJldHVybiByZXMuc3RhdHVzKDQwMCkuanNvbih7XG4gICAgICAgIHJlc3BvbnNlOiAnZXJyb3InLFxuICAgICAgICBtZXNzYWdlOiAnVGhlIHRva2VuIGlzIGluY29ycmVjdCcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHJlcT8uY2xpZW50Py5wYWdlKSB7XG4gICAgICBkZWxldGUgY2xpZW50c0FycmF5W3JlcS5wYXJhbXMuc2Vzc2lvbl07XG4gICAgICBhd2FpdCByZXEuY2xpZW50LmxvZ291dCgpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gY29uZmlnLmN1c3RvbVVzZXJEYXRhRGlyICsgc2Vzc2lvbjtcbiAgICBjb25zdCBwYXRoVG9rZW4gPSBfX2Rpcm5hbWUgKyBgLi4vLi4vLi4vdG9rZW5zLyR7c2Vzc2lvbn0uZGF0YS5qc29uYDtcbiAgICBpZiAoZnMuZXhpc3RzU3luYyhwYXRoKSkge1xuICAgICAgYXdhaXQgZnMucHJvbWlzZXMucm0ocGF0aCwge1xuICAgICAgICByZWN1cnNpdmU6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMocGF0aFRva2VuKSkge1xuICAgICAgYXdhaXQgZnMucHJvbWlzZXMucm0ocGF0aFRva2VuKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHsgc3VjY2VzczogdHJ1ZSB9KTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNTAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogZmFsc2UsXG4gICAgICBtZXNzYWdlOiAnRXJyb3Igb24gY2xlYXIgc2Vzc2lvbiBkYXRhJyxcbiAgICAgIGVycm9yOiBlcnJvcixcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0TGltaXQocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlKSB7XG4gIC8qKlxuICAgI3N3YWdnZXIudGFncyA9IFtcIk1pc2NcIl1cbiAgICNzd2FnZ2VyLmRlc2NyaXB0aW9uID0gJ0NoYW5nZSBsaW1pdHMgb2Ygd2hhdHNhcHAgd2ViLiBUeXBlcyB2YWx1ZTogbWF4TWVkaWFTaXplLCBtYXhGaWxlU2l6ZSwgbWF4U2hhcmUsIHN0YXR1c1ZpZGVvTWF4RHVyYXRpb24sIHVubGltaXRlZFBpbjsnXG4gICAjc3dhZ2dlci5hdXRvQm9keT1mYWxzZVxuICAgICNzd2FnZ2VyLnNlY3VyaXR5ID0gW3tcbiAgICAgICAgICBcImJlYXJlckF1dGhcIjogW11cbiAgICB9XVxuICAgICNzd2FnZ2VyLnBhcmFtZXRlcnNbXCJzZXNzaW9uXCJdID0ge1xuICAgIHNjaGVtYTogJ05FUkRXSEFUU19BTUVSSUNBJ1xuICAgIH1cbiAgICAgI3N3YWdnZXIucGFyYW1ldGVyc1tcIm9ialwiXSA9IHtcbiAgICAgIGluOiAnYm9keScsXG4gICAgICBzY2hlbWE6IHtcbiAgICAgICAgJHR5cGU6ICdtYXhGaWxlU2l6ZScsXG4gICAgICAgICR2YWx1ZTogMTA0ODU3NjAwXG4gICAgICB9XG4gICAgIH1cbiAgKi9cblxuICB0cnkge1xuICAgIGNvbnN0IHsgdHlwZSwgdmFsdWUgfSA9IHJlcS5ib2R5O1xuICAgIGlmICghdHlwZSB8fCAhdmFsdWUpIHRocm93IG5ldyBFcnJvcignU2VuZCBkZSB0eXBlIGFuZCB2YWx1ZScpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVxLmNsaWVudC5zZXRMaW1pdCh0eXBlLCB2YWx1ZSk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHJlc3VsdCk7XG4gIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICByZXR1cm4gcmVzLnN0YXR1cyg1MDApLmpzb24oe1xuICAgICAgc3RhdHVzOiBmYWxzZSxcbiAgICAgIG1lc3NhZ2U6ICdFcnJvciBvbiBzZXQgbGltaXQnLFxuICAgICAgZXJyb3I6IGVycm9yLFxuICAgIH0pO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJBLElBQUFBLEdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTs7QUFFQSxJQUFBQyxDQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUEsd0JBQW1ELENBdEJuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FVTyxlQUFlSyxpQkFBaUJBLENBQUNDLEdBQVksRUFBRUMsR0FBYSxFQUFFLENBQ25FO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQ0UsTUFBTSxFQUFFQyxTQUFTLENBQUMs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
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
18
|
function returnSucess(
|
|
21
19
|
res,
|
|
22
20
|
session,
|
|
@@ -52,6 +50,16 @@ error)
|
|
|
52
50
|
}
|
|
53
51
|
|
|
54
52
|
async function getBusinessProfilesProducts(req, res) {
|
|
53
|
+
/**
|
|
54
|
+
* #swagger.tags = ["Catalog & Bussiness"]
|
|
55
|
+
#swagger.autoBody=false
|
|
56
|
+
#swagger.security = [{
|
|
57
|
+
"bearerAuth": []
|
|
58
|
+
}]
|
|
59
|
+
#swagger.parameters["session"] = {
|
|
60
|
+
schema: 'NERDWHATS_AMERICA'
|
|
61
|
+
}
|
|
62
|
+
*/
|
|
55
63
|
const session = req.session;
|
|
56
64
|
const { phone } = req.body;
|
|
57
65
|
|
|
@@ -68,6 +76,22 @@ async function getBusinessProfilesProducts(req, res) {
|
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
78
|
async function getOrderbyMsg(req, res) {
|
|
79
|
+
/**
|
|
80
|
+
* #swagger.tags = ["Catalog & Bussiness"]
|
|
81
|
+
#swagger.autoBody=false
|
|
82
|
+
#swagger.security = [{
|
|
83
|
+
"bearerAuth": []
|
|
84
|
+
}]
|
|
85
|
+
#swagger.parameters["session"] = {
|
|
86
|
+
schema: 'NERDWHATS_AMERICA'
|
|
87
|
+
}
|
|
88
|
+
#swagger.parameters["obj"] = {
|
|
89
|
+
in: 'body',
|
|
90
|
+
schema: {
|
|
91
|
+
$messageId: '<message_id>',
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
*/
|
|
71
95
|
const session = req.session;
|
|
72
96
|
const { messageId } = req.body;
|
|
73
97
|
|
|
@@ -79,4 +103,4 @@ async function getOrderbyMsg(req, res) {
|
|
|
79
103
|
returnError(req, res, session, error);
|
|
80
104
|
}
|
|
81
105
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXR1cm5TdWNlc3MiLCJyZXMiLCJzZXNzaW9uIiwicGhvbmUiLCJkYXRhIiwic3RhdHVzIiwianNvbiIsInJlc3BvbnNlIiwibWVzc2FnZSIsImNvbnRhY3QiLCJyZXR1cm5FcnJvciIsInJlcSIsImVycm9yIiwibG9nZ2VyIiwibG9nIiwiZ2V0QnVzaW5lc3NQcm9maWxlc1Byb2R1Y3RzIiwiYm9keSIsInJlc3VsdHMiLCJjb250YXRvIiwicHVzaCIsImNsaWVudCIsImdldE9yZGVyYnlNc2ciLCJtZXNzYWdlSWQiLCJyZXN1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9vcmRlckNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIxIFdQUENvbm5lY3QgVGVhbVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgUmVxdWVzdCwgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJztcblxuZnVuY3Rpb24gcmV0dXJuU3VjZXNzKFxuICByZXM6IFJlc3BvbnNlLFxuICBzZXNzaW9uOiBzdHJpbmcsXG4gIHBob25lOiBzdHJpbmcgfCBudWxsLFxuICBkYXRhPzogYW55XG4pIHtcbiAgcmVzLnN0YXR1cygyMDEpLmpzb24oe1xuICAgIHN0YXR1czogJ1N1Y2Nlc3MnLFxuICAgIHJlc3BvbnNlOiB7XG4gICAgICBtZXNzYWdlOiAnSW5mb3JtYXRpb24gcmV0cmlldmVkIHN1Y2Nlc3NmdWxseS4nLFxuICAgICAgY29udGFjdDogcGhvbmUsXG4gICAgICBzZXNzaW9uOiBzZXNzaW9uLFxuICAgICAgZGF0YTogZGF0YSxcbiAgICB9LFxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmV0dXJuRXJyb3IoXG4gIHJlcTogUmVxdWVzdCxcbiAgcmVzOiBSZXNwb25zZSxcbiAgc2Vzc2lvbjogc3RyaW5nLFxuICBlcnJvcj86IGFueVxuKSB7XG4gIHJlcS5sb2dnZXIuZXJyb3IoZXJyb3IpO1xuICByZXMuc3RhdHVzKDQwMCkuanNvbih7XG4gICAgc3RhdHVzOiAnRXJyb3InLFxuICAgIHJlc3BvbnNlOiB7XG4gICAgICBtZXNzYWdlOiAnRXJyb3IgcmV0cmlldmluZyBpbmZvcm1hdGlvbicsXG4gICAgICBzZXNzaW9uOiBzZXNzaW9uLFxuICAgICAgbG9nOiBlcnJvcixcbiAgICB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJ1c2luZXNzUHJvZmlsZXNQcm9kdWN0cyhyZXE6IFJlcXVlc3QsIHJlczogUmVzcG9uc2UpIHtcbiAgLyoqXG4gICAqICNzd2FnZ2VyLnRhZ3MgPSBbXCJDYXRhbG9nICYgQnVzc2luZXNzXCJdXG4gICAgICNzd2FnZ2VyLmF1dG9Cb2R5PWZhbHNlXG4gICAgICNzd2FnZ2VyLnNlY3VyaXR5ID0gW3tcbiAgICAgICAgICAgIFwiYmVhcmVyQXV0aFwiOiBbXVxuICAgICB9XVxuICAgICAjc3dhZ2dlci5wYXJhbWV0ZXJzW1wic2Vzc2lvblwiXSA9IHtcbiAgICAgIHNjaGVtYTogJ05FUkRXSEFUU19BTUVSSUNBJ1xuICAgICB9XG4gICAqL1xuICBjb25zdCBzZXNzaW9uID0gcmVxLnNlc3Npb247XG4gIGNvbnN0IHsgcGhvbmUgfSA9IHJlcS5ib2R5O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0czogYW55ID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGNvbnRhdG8gb2YgcGhvbmUpIHtcbiAgICAgIHJlc3VsdHMucHVzaChhd2FpdCByZXEuY2xpZW50LmdldEJ1c2luZXNzUHJvZmlsZXNQcm9kdWN0cyhjb250YXRvKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuU3VjZXNzKHJlcywgc2Vzc2lvbiwgcGhvbmUsIHJlc3VsdHMpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybkVycm9yKHJlcSwgcmVzLCBzZXNzaW9uLCBlcnJvcik7XG4gIH1cbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRPcmRlcmJ5TXNnKHJlcTogUmVxdWVzdCwgcmVzOiBSZXNwb25zZSkge1xuICAvKipcbiAgICogI3N3YWdnZXIudGFncyA9IFtcIkNhdGFsb2cgJiBCdXNzaW5lc3NcIl1cbiAgICAgI3N3YWdnZXIuYXV0b0JvZHk9ZmFsc2VcbiAgICAgI3N3YWdnZXIuc2VjdXJpdHkgPSBbe1xuICAgICAgICAgICAgXCJiZWFyZXJBdXRoXCI6IFtdXG4gICAgIH1dXG4gICAgICNzd2FnZ2VyLnBhcmFtZXRlcnNbXCJzZXNzaW9uXCJdID0ge1xuICAgICAgc2NoZW1hOiAnTkVSRFdIQVRTX0FNRVJJQ0EnXG4gICAgIH1cbiAgICAgI3N3YWdnZXIucGFyYW1ldGVyc1tcIm9ialwiXSA9IHtcbiAgICAgIGluOiAnYm9keScsXG4gICAgICBzY2hlbWE6IHtcbiAgICAgICAgJG1lc3NhZ2VJZDogJzxtZXNzYWdlX2lkPicsXG4gICAgICB9XG4gICAgIH1cbiAgICovXG4gIGNvbnN0IHNlc3Npb24gPSByZXEuc2Vzc2lvbjtcbiAgY29uc3QgeyBtZXNzYWdlSWQgfSA9IHJlcS5ib2R5O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVxLmNsaWVudC5nZXRPcmRlcmJ5TXNnKG1lc3NhZ2VJZCk7XG5cbiAgICByZXR1cm5TdWNlc3MocmVzLCBzZXNzaW9uLCBudWxsLCByZXN1bHQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybkVycm9yKHJlcSwgcmVzLCBzZXNzaW9uLCBlcnJvcik7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Im9MQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsU0FBU0EsWUFBWUE7QUFDbkJDLEdBQWE7QUFDYkMsT0FBZTtBQUNmQyxLQUFvQjtBQUNwQkMsSUFBVTtBQUNWO0VBQ0FILEdBQUcsQ0FBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7SUFDbkJELE1BQU0sRUFBRSxTQUFTO0lBQ2pCRSxRQUFRLEVBQUU7TUFDUkMsT0FBTyxFQUFFLHFDQUFxQztNQUM5Q0MsT0FBTyxFQUFFTixLQUFLO01BQ2RELE9BQU8sRUFBRUEsT0FBTztNQUNoQkUsSUFBSSxFQUFFQTtJQUNSO0VBQ0YsQ0FBQyxDQUFDO0FBQ0o7O0FBRUEsU0FBU00sV0FBV0E7QUFDbEJDLEdBQVk7QUFDWlYsR0FBYTtBQUNiQyxPQUFlO0FBQ2ZVLEtBQVc7QUFDWDtFQUNBRCxHQUFHLENBQUNFLE1BQU0sQ0FBQ0QsS0FBSyxDQUFDQSxLQUFLLENBQUM7RUFDdkJYLEdBQUcsQ0FBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7SUFDbkJELE1BQU0sRUFBRSxPQUFPO0lBQ2ZFLFFBQVEsRUFBRTtNQUNSQyxPQUFPLEVBQUUsOEJBQThCO01BQ3ZDTixPQUFPLEVBQUVBLE9BQU87TUFDaEJZLEdBQUcsRUFBRUY7SUFDUDtFQUNGLENBQUMsQ0FBQztBQUNKOztBQUVPLGVBQWVHLDJCQUEyQkEsQ0FBQ0osR0FBWSxFQUFFVixHQUFhLEVBQUU7RUFDN0U7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRSxNQUFNQyxPQUFPLEdBQUdTLEdBQUcsQ0FBQ1QsT0FBTztFQUMzQixNQUFNLEVBQUVDLEtBQUssQ0FBQyxDQUFDLEdBQUdRLEdBQUcsQ0FBQ0ssSUFBSTs7RUFFMUIsSUFBSTtJQUNGLE1BQU1DLE9BQVksR0FBRyxFQUFFOztJQUV2QixLQUFLLE1BQU1DLE9BQU8sSUFBSWYsS0FBSyxFQUFFO01BQzNCYyxPQUFPLENBQUNFLElBQUksQ0FBQyxNQUFNUixHQUFHLENBQUNTLE1BQU0sQ0FBQ0wsMkJBQTJCLENBQUNHLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFOztJQUVBbEIsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsS0FBSyxFQUFFYyxPQUFPLENBQUM7RUFDNUMsQ0FBQyxDQUFDLE9BQU9MLEtBQUssRUFBRTtJQUNkRixXQUFXLENBQUNDLEdBQUcsRUFBRVYsR0FBRyxFQUFFQyxPQUFPLEVBQUVVLEtBQUssQ0FBQztFQUN2QztBQUNGO0FBQ08sZUFBZVMsYUFBYUEsQ0FBQ1YsR0FBWSxFQUFFVixHQUFhLEVBQUU7RUFDL0Q7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRSxNQUFNQyxPQUFPLEdBQUdTLEdBQUcsQ0FBQ1QsT0FBTztFQUMzQixNQUFNLEVBQUVvQixTQUFTLENBQUMsQ0FBQyxHQUFHWCxHQUFHLENBQUNLLElBQUk7O0VBRTlCLElBQUk7SUFDRixNQUFNTyxNQUFNLEdBQUcsTUFBTVosR0FBRyxDQUFDUyxNQUFNLENBQUNDLGFBQWEsQ0FBQ0MsU0FBUyxDQUFDOztJQUV4RHRCLFlBQVksQ0FBQ0MsR0FBRyxFQUFFQyxPQUFPLEVBQUUsSUFBSSxFQUFFcUIsTUFBTSxDQUFDO0VBQzFDLENBQUMsQ0FBQyxPQUFPWCxLQUFLLEVBQUU7SUFDZEYsV0FBVyxDQUFDQyxHQUFHLEVBQUVWLEdBQUcsRUFBRUMsT0FBTyxFQUFFVSxLQUFLLENBQUM7RUFDdkM7QUFDRiJ9
|