@signageos/cli 2.3.1 → 2.3.2
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/README.md +1 -0
- package/dist/Applet/Build/appletBuildCommand.js +28 -72
- package/dist/Applet/Generate/Templates/rspack.config.mjs.template +12 -12
- package/dist/Applet/Generate/appletGenerateCommand.d.ts +23 -62
- package/dist/Applet/Generate/appletGenerateCommand.js +398 -365
- package/dist/Applet/Start/appletStartCommand.js +69 -131
- package/dist/Applet/Test/Upload/appletTestRunCommand.js +89 -177
- package/dist/Applet/Test/Upload/appletTestRunFacade.js +4 -27
- package/dist/Applet/Test/Upload/appletTestUploadCommand.js +98 -223
- package/dist/Applet/Test/Upload/appletTestUploadFacade.js +39 -102
- package/dist/Applet/Test/appletTestCommand.js +6 -36
- package/dist/Applet/Upload/appletUploadCommand.js +199 -305
- package/dist/Applet/Upload/appletUploadCommandHelper.js +103 -138
- package/dist/Applet/Upload/appletUploadFacade.d.ts +2 -2
- package/dist/Applet/Upload/appletUploadFacade.js +172 -263
- package/dist/Applet/Upload/appletUploadFacadeHelper.js +39 -52
- package/dist/Applet/appletCommand.d.ts +22 -62
- package/dist/Applet/appletCommand.js +9 -39
- package/dist/Applet/appletErrors.js +5 -24
- package/dist/Applet/appletFacade.js +106 -141
- package/dist/Applet/appletServerHelper.js +16 -53
- package/dist/Auth/loginCommand.js +96 -137
- package/dist/Cache/tmpCache.js +35 -13
- package/dist/Cli/helper.js +1 -2
- package/dist/Cli/packageVersion.js +82 -123
- package/dist/Command/commandDefinition.js +0 -1
- package/dist/Command/commandProcessor.js +40 -129
- package/dist/Command/globalArgs.js +7 -5
- package/dist/CommandLine/IProgressBar.js +0 -1
- package/dist/CommandLine/progressBarFactory.js +31 -11
- package/dist/CustomScript/Generate/customScriptGenerateCommand.js +17 -56
- package/dist/CustomScript/Generate/customScriptGenerateFacade.js +82 -106
- package/dist/CustomScript/Upload/customScriptUploadCommand.js +44 -120
- package/dist/CustomScript/customScriptCommand.js +6 -36
- package/dist/CustomScript/customScriptFacade.js +175 -294
- package/dist/Device/Connect/connectCommand.js +72 -136
- package/dist/Device/Content/setContentCommand.js +33 -78
- package/dist/Device/PowerAction/powerActionCommand.js +22 -65
- package/dist/Device/deviceCommand.js +7 -37
- package/dist/Device/deviceFacade.js +67 -123
- package/dist/Emulator/IEmulator.js +0 -1
- package/dist/Emulator/createDomain.js +33 -12
- package/dist/Emulator/emulatorFacade.js +74 -131
- package/dist/Emulator/emulatorFactory.js +112 -124
- package/dist/Firmware/Upload/firmwareUploadCommand.js +133 -221
- package/dist/Firmware/Upload/firmwareUploadFacade.js +64 -110
- package/dist/Firmware/Upload/firmwareUploadHelper.js +27 -5
- package/dist/Firmware/firmwareCommand.js +5 -35
- package/dist/Lib/archive.js +45 -60
- package/dist/Lib/childProcess.js +27 -5
- package/dist/Lib/fileSystem.js +62 -82
- package/dist/Lib/git.d.ts +1 -1
- package/dist/Lib/git.js +44 -82
- package/dist/Organization/Get/organizationGetCommand.js +14 -50
- package/dist/Organization/List/organizationListCommand.js +12 -46
- package/dist/Organization/SetDefault/organizationSetDefaultCommand.js +18 -56
- package/dist/Organization/organizationCommand.js +7 -37
- package/dist/Organization/organizationFacade.js +97 -172
- package/dist/RunControl/runControlHelper.js +11 -60
- package/dist/Timer/wait.js +1 -2
- package/dist/Timing/List/timingListCommand.js +20 -62
- package/dist/Timing/timingCommand.js +5 -35
- package/dist/generalCommand.js +1 -2
- package/dist/helper.js +48 -109
- package/dist/index.js +15 -45
- package/dist/parameters.js +17 -40
- package/package.json +16 -18
- package/dist/Applet/Build/appletBuildCommand.js.map +0 -1
- package/dist/Applet/Generate/appletGenerateCommand.js.map +0 -1
- package/dist/Applet/Start/appletStartCommand.js.map +0 -1
- package/dist/Applet/Test/Upload/appletTestRunCommand.js.map +0 -1
- package/dist/Applet/Test/Upload/appletTestRunFacade.js.map +0 -1
- package/dist/Applet/Test/Upload/appletTestUploadCommand.js.map +0 -1
- package/dist/Applet/Test/Upload/appletTestUploadFacade.js.map +0 -1
- package/dist/Applet/Test/appletTestCommand.js.map +0 -1
- package/dist/Applet/Upload/appletUploadCommand.js.map +0 -1
- package/dist/Applet/Upload/appletUploadCommandHelper.js.map +0 -1
- package/dist/Applet/Upload/appletUploadFacade.js.map +0 -1
- package/dist/Applet/Upload/appletUploadFacadeHelper.js.map +0 -1
- package/dist/Applet/appletCommand.js.map +0 -1
- package/dist/Applet/appletErrors.js.map +0 -1
- package/dist/Applet/appletFacade.js.map +0 -1
- package/dist/Applet/appletServerHelper.js.map +0 -1
- package/dist/Auth/loginCommand.js.map +0 -1
- package/dist/Cache/tmpCache.js.map +0 -1
- package/dist/Cli/helper.js.map +0 -1
- package/dist/Cli/packageVersion.js.map +0 -1
- package/dist/Command/commandDefinition.js.map +0 -1
- package/dist/Command/commandProcessor.js.map +0 -1
- package/dist/Command/globalArgs.js.map +0 -1
- package/dist/CommandLine/IProgressBar.js.map +0 -1
- package/dist/CommandLine/progressBarFactory.js.map +0 -1
- package/dist/CustomScript/Generate/customScriptGenerateCommand.js.map +0 -1
- package/dist/CustomScript/Generate/customScriptGenerateFacade.js.map +0 -1
- package/dist/CustomScript/Upload/customScriptUploadCommand.js.map +0 -1
- package/dist/CustomScript/customScriptCommand.js.map +0 -1
- package/dist/CustomScript/customScriptFacade.js.map +0 -1
- package/dist/Device/Connect/connectCommand.js.map +0 -1
- package/dist/Device/Content/setContentCommand.js.map +0 -1
- package/dist/Device/PowerAction/powerActionCommand.js.map +0 -1
- package/dist/Device/deviceCommand.js.map +0 -1
- package/dist/Device/deviceFacade.js.map +0 -1
- package/dist/Emulator/IEmulator.js.map +0 -1
- package/dist/Emulator/createDomain.js.map +0 -1
- package/dist/Emulator/emulatorFacade.js.map +0 -1
- package/dist/Emulator/emulatorFactory.js.map +0 -1
- package/dist/Firmware/Upload/firmwareUploadCommand.js.map +0 -1
- package/dist/Firmware/Upload/firmwareUploadFacade.js.map +0 -1
- package/dist/Firmware/Upload/firmwareUploadHelper.js.map +0 -1
- package/dist/Firmware/firmwareCommand.js.map +0 -1
- package/dist/Lib/archive.js.map +0 -1
- package/dist/Lib/childProcess.js.map +0 -1
- package/dist/Lib/fileSystem.js.map +0 -1
- package/dist/Lib/git.js.map +0 -1
- package/dist/Organization/Get/organizationGetCommand.js.map +0 -1
- package/dist/Organization/List/organizationListCommand.js.map +0 -1
- package/dist/Organization/SetDefault/organizationSetDefaultCommand.js.map +0 -1
- package/dist/Organization/organizationCommand.js.map +0 -1
- package/dist/Organization/organizationFacade.js.map +0 -1
- package/dist/RunControl/runControlHelper.js.map +0 -1
- package/dist/Timer/wait.js.map +0 -1
- package/dist/Timing/List/timingListCommand.js.map +0 -1
- package/dist/Timing/timingCommand.js.map +0 -1
- package/dist/generalCommand.js.map +0 -1
- package/dist/helper.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/parameters.js.map +0 -1
|
@@ -8,77 +8,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
13
|
};
|
|
38
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
15
|
exports.timingList = void 0;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
16
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
17
|
+
const debug_1 = __importDefault(require("debug"));
|
|
18
|
+
const organizationFacade_1 = require("../../Organization/organizationFacade");
|
|
19
|
+
const deviceFacade_1 = require("../../Device/deviceFacade");
|
|
20
|
+
const helper_1 = require("../../helper");
|
|
21
|
+
const commandDefinition_1 = require("../../Command/commandDefinition");
|
|
22
|
+
const Debug = (0, debug_1.default)('@signageos/cli:Timing:list');
|
|
23
|
+
const OPTION_LIST = [organizationFacade_1.NO_DEFAULT_ORGANIZATION_OPTION, organizationFacade_1.ORGANIZATION_UID_OPTION, deviceFacade_1.DEVICE_UID_OPTION];
|
|
48
24
|
exports.timingList = (0, commandDefinition_1.createCommandDefinition)({
|
|
49
25
|
name: 'list',
|
|
50
26
|
description: 'List timings assigned to device',
|
|
51
27
|
optionList: OPTION_LIST,
|
|
52
28
|
commands: [],
|
|
53
|
-
run
|
|
54
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
organizationUid = _a.sent();
|
|
63
|
-
return [4 /*yield*/, (0, organizationFacade_1.getOrganization)(organizationUid)];
|
|
64
|
-
case 2:
|
|
65
|
-
organization = _a.sent();
|
|
66
|
-
return [4 /*yield*/, (0, helper_1.createOrganizationRestApi)(organization)];
|
|
67
|
-
case 3:
|
|
68
|
-
restApi = _a.sent();
|
|
69
|
-
return [4 /*yield*/, (0, deviceFacade_1.getDeviceUid)(restApi, options)];
|
|
70
|
-
case 4:
|
|
71
|
-
deviceUid = _a.sent();
|
|
72
|
-
return [4 /*yield*/, restApi.timing.getList({
|
|
73
|
-
deviceUid: deviceUid,
|
|
74
|
-
})];
|
|
75
|
-
case 5:
|
|
76
|
-
timings = _a.sent();
|
|
77
|
-
console.log(chalk_1.default.yellow(JSON.stringify(timings, undefined, 2)));
|
|
78
|
-
return [2 /*return*/];
|
|
79
|
-
}
|
|
29
|
+
run(options) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
Debug('Timing list');
|
|
32
|
+
const organizationUid = yield (0, organizationFacade_1.getOrganizationUidOrDefaultOrSelect)(options);
|
|
33
|
+
const organization = yield (0, organizationFacade_1.getOrganization)(organizationUid);
|
|
34
|
+
const restApi = yield (0, helper_1.createOrganizationRestApi)(organization);
|
|
35
|
+
const deviceUid = yield (0, deviceFacade_1.getDeviceUid)(restApi, options);
|
|
36
|
+
const timings = yield restApi.timing.getList({
|
|
37
|
+
deviceUid,
|
|
80
38
|
});
|
|
39
|
+
console.log(chalk_1.default.yellow(JSON.stringify(timings, undefined, 2)));
|
|
81
40
|
});
|
|
82
41
|
},
|
|
83
42
|
});
|
|
84
|
-
//# sourceMappingURL=timingListCommand.js.map
|
|
@@ -8,48 +8,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
12
|
exports.timing = void 0;
|
|
40
|
-
|
|
41
|
-
|
|
13
|
+
const commandDefinition_1 = require("../Command/commandDefinition");
|
|
14
|
+
const timingListCommand_1 = require("./List/timingListCommand");
|
|
42
15
|
exports.timing = (0, commandDefinition_1.createCommandDefinition)({
|
|
43
16
|
name: 'timing',
|
|
44
17
|
description: 'Timing management',
|
|
45
18
|
optionList: [],
|
|
46
19
|
commands: [timingListCommand_1.timingList],
|
|
47
|
-
run
|
|
48
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
49
|
-
|
|
50
|
-
throw new Error('Unknown command');
|
|
51
|
-
});
|
|
20
|
+
run() {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
throw new Error('Unknown command');
|
|
52
23
|
});
|
|
53
24
|
},
|
|
54
25
|
});
|
|
55
|
-
//# sourceMappingURL=timingCommand.js.map
|
package/dist/generalCommand.js
CHANGED
|
@@ -20,7 +20,7 @@ exports.COMMAND_OPTION = {
|
|
|
20
20
|
multiple: true,
|
|
21
21
|
defaultOption: true,
|
|
22
22
|
defaultValue: [],
|
|
23
|
-
description:
|
|
23
|
+
description: `(default) Command name`,
|
|
24
24
|
};
|
|
25
25
|
exports.HELP_OPTION = {
|
|
26
26
|
name: 'help',
|
|
@@ -34,4 +34,3 @@ exports.PROFILE_OPTION = {
|
|
|
34
34
|
description: 'signageOS Profile to be used for authentication and other values from ~/.sosrc config file.',
|
|
35
35
|
};
|
|
36
36
|
exports.GENERAL_OPTION_LIST = [exports.COMMAND_OPTION, exports.HELP_OPTION, exports.API_URL_OPTION, exports.VERSION_OPTION, exports.PROFILE_OPTION];
|
|
37
|
-
//# sourceMappingURL=generalCommand.js.map
|
package/dist/helper.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -19,130 +8,81 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
9
|
});
|
|
21
10
|
};
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
13
|
};
|
|
49
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
15
|
exports.deserializeJSON = exports.deleteResource = exports.putResource = exports.postResource = exports.getResource = exports.createUri = exports.createOptions = exports.AUTH_HEADER = exports.createFirmwareVersionRestApi = exports.createOrganizationRestApi = exports.createClientVersions = exports.getApiUrl = exports.loadApiUrl = void 0;
|
|
51
|
-
|
|
52
|
-
|
|
16
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
17
|
+
const querystring_1 = require("querystring");
|
|
53
18
|
// import { RequestInit } from 'node-fetch';
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
19
|
+
const RestApi_1 = __importDefault(require("@signageos/sdk/dist/RestApi/RestApi"));
|
|
20
|
+
const runControlHelper_1 = require("./RunControl/runControlHelper");
|
|
21
|
+
const apiVersions_1 = require("@signageos/sdk/dist/RestApi/apiVersions");
|
|
22
|
+
const parameters_1 = require("./parameters");
|
|
23
|
+
const globalArgs_1 = require("./Command/globalArgs");
|
|
59
24
|
function loadApiUrl() {
|
|
60
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
61
|
-
|
|
62
|
-
return
|
|
63
|
-
switch (_a.label) {
|
|
64
|
-
case 0: return [4 /*yield*/, (0, runControlHelper_1.loadConfig)()];
|
|
65
|
-
case 1:
|
|
66
|
-
config = _a.sent();
|
|
67
|
-
return [2 /*return*/, getApiUrl(config)];
|
|
68
|
-
}
|
|
69
|
-
});
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const config = yield (0, runControlHelper_1.loadConfig)();
|
|
27
|
+
return getApiUrl(config);
|
|
70
28
|
});
|
|
71
29
|
}
|
|
72
30
|
exports.loadApiUrl = loadApiUrl;
|
|
73
31
|
function getApiUrl(config) {
|
|
74
|
-
|
|
32
|
+
const apiUrl = (0, globalArgs_1.getGlobalApiUrl)() || config.apiUrl;
|
|
75
33
|
if (!apiUrl) {
|
|
76
|
-
throw new Error(
|
|
34
|
+
throw new Error(`No API URL is defined. Please use --api-url or set SOS_API_URL environment variable.`);
|
|
77
35
|
}
|
|
78
36
|
return apiUrl;
|
|
79
37
|
}
|
|
80
38
|
exports.getApiUrl = getApiUrl;
|
|
81
39
|
function createClientVersions() {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
_a;
|
|
40
|
+
return {
|
|
41
|
+
['signageOS_CLI']: parameters_1.parameters.version,
|
|
42
|
+
};
|
|
86
43
|
}
|
|
87
44
|
exports.createClientVersions = createClientVersions;
|
|
88
45
|
function createOrganizationRestApi(credentials) {
|
|
89
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
secret: credentials.oauthClientSecret,
|
|
102
|
-
},
|
|
103
|
-
_a.version = apiVersions_1.ApiVersions.V1,
|
|
104
|
-
_a.clientVersions = createClientVersions(),
|
|
105
|
-
_a);
|
|
106
|
-
accountOptions = __assign({}, options);
|
|
107
|
-
return [2 /*return*/, new RestApi_1.default(options, accountOptions)];
|
|
108
|
-
}
|
|
109
|
-
});
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const options = {
|
|
48
|
+
url: yield loadApiUrl(),
|
|
49
|
+
auth: {
|
|
50
|
+
clientId: credentials.oauthClientId,
|
|
51
|
+
secret: credentials.oauthClientSecret,
|
|
52
|
+
},
|
|
53
|
+
version: apiVersions_1.ApiVersions.V1,
|
|
54
|
+
clientVersions: createClientVersions(),
|
|
55
|
+
};
|
|
56
|
+
const accountOptions = Object.assign({}, options);
|
|
57
|
+
return new RestApi_1.default(options, accountOptions);
|
|
110
58
|
});
|
|
111
59
|
}
|
|
112
60
|
exports.createOrganizationRestApi = createOrganizationRestApi;
|
|
113
61
|
function createFirmwareVersionRestApi() {
|
|
114
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
version: apiVersions_1.ApiVersions.V1,
|
|
131
|
-
clientVersions: createClientVersions(),
|
|
132
|
-
};
|
|
133
|
-
accountOptions = __assign({}, options);
|
|
134
|
-
return [2 /*return*/, new RestApi_1.default(options, accountOptions)];
|
|
135
|
-
}
|
|
136
|
-
});
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const config = yield (0, runControlHelper_1.loadConfig)();
|
|
64
|
+
if (!config.identification || !config.apiSecurityToken) {
|
|
65
|
+
throw new Error('Identification or token is missing.');
|
|
66
|
+
}
|
|
67
|
+
const options = {
|
|
68
|
+
url: getApiUrl(config),
|
|
69
|
+
auth: {
|
|
70
|
+
clientId: config.identification,
|
|
71
|
+
secret: config.apiSecurityToken,
|
|
72
|
+
},
|
|
73
|
+
version: apiVersions_1.ApiVersions.V1,
|
|
74
|
+
clientVersions: createClientVersions(),
|
|
75
|
+
};
|
|
76
|
+
const accountOptions = Object.assign({}, options);
|
|
77
|
+
return new RestApi_1.default(options, accountOptions);
|
|
137
78
|
});
|
|
138
79
|
}
|
|
139
80
|
exports.createFirmwareVersionRestApi = createFirmwareVersionRestApi;
|
|
140
81
|
exports.AUTH_HEADER = 'X-Auth';
|
|
141
82
|
function createOptions(method, options, data) {
|
|
142
|
-
var _a;
|
|
143
83
|
return {
|
|
144
|
-
headers:
|
|
145
|
-
method
|
|
84
|
+
headers: Object.assign({ 'Content-Type': 'application/json', [exports.AUTH_HEADER]: options.auth.clientId + ':' + options.auth.secret }, (options.headers || {})),
|
|
85
|
+
method,
|
|
146
86
|
body: typeof data !== 'undefined' ? JSON.stringify(data) : undefined,
|
|
147
87
|
};
|
|
148
88
|
}
|
|
@@ -169,7 +109,7 @@ function deleteResource(options, path) {
|
|
|
169
109
|
exports.deleteResource = deleteResource;
|
|
170
110
|
function deserializeJSON(_key, value) {
|
|
171
111
|
if (typeof value === 'string') {
|
|
172
|
-
|
|
112
|
+
const regexp = /^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d\d\dZ$/.exec(value);
|
|
173
113
|
if (regexp) {
|
|
174
114
|
return new Date(value);
|
|
175
115
|
}
|
|
@@ -177,4 +117,3 @@ function deserializeJSON(_key, value) {
|
|
|
177
117
|
return value;
|
|
178
118
|
}
|
|
179
119
|
exports.deserializeJSON = deserializeJSON;
|
|
180
|
-
//# sourceMappingURL=helper.js.map
|
package/dist/index.js
CHANGED
|
@@ -9,58 +9,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
10
|
});
|
|
11
11
|
};
|
|
12
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
13
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
14
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
15
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
16
|
-
function step(op) {
|
|
17
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
18
|
-
while (_) try {
|
|
19
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
20
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
21
|
-
switch (op[0]) {
|
|
22
|
-
case 0: case 1: t = op; break;
|
|
23
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
24
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
25
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
26
|
-
default:
|
|
27
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
28
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
29
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
30
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
31
|
-
if (t[2]) _.ops.pop();
|
|
32
|
-
_.trys.pop(); continue;
|
|
33
|
-
}
|
|
34
|
-
op = body.call(thisArg, _);
|
|
35
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
36
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
13
|
+
const appletCommand_1 = require("./Applet/appletCommand");
|
|
14
|
+
const loginCommand_1 = require("./Auth/loginCommand");
|
|
15
|
+
const organizationCommand_1 = require("./Organization/organizationCommand");
|
|
16
|
+
const timingCommand_1 = require("./Timing/timingCommand");
|
|
17
|
+
const commandProcessor_1 = require("./Command/commandProcessor");
|
|
18
|
+
const firmwareCommand_1 = require("./Firmware/firmwareCommand");
|
|
19
|
+
const deviceCommand_1 = require("./Device/deviceCommand");
|
|
20
|
+
const generalCommand_1 = require("./generalCommand");
|
|
21
|
+
const commandDefinition_1 = require("./Command/commandDefinition");
|
|
22
|
+
const customScriptCommand_1 = require("./CustomScript/customScriptCommand");
|
|
23
|
+
const index = (0, commandDefinition_1.createCommandDefinition)({
|
|
51
24
|
name: 'sos',
|
|
52
25
|
description: 'signageOS',
|
|
53
26
|
optionList: generalCommand_1.GENERAL_OPTION_LIST,
|
|
54
27
|
commands: [appletCommand_1.applet, loginCommand_1.login, organizationCommand_1.organization, timingCommand_1.timing, firmwareCommand_1.firmware, deviceCommand_1.device, customScriptCommand_1.customScript],
|
|
55
|
-
run
|
|
56
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
57
|
-
|
|
58
|
-
throw new Error('Unknown command');
|
|
59
|
-
});
|
|
28
|
+
run() {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
throw new Error('Unknown command');
|
|
60
31
|
});
|
|
61
32
|
},
|
|
62
33
|
});
|
|
63
|
-
(0, commandProcessor_1.processCommand)(index).catch(
|
|
34
|
+
(0, commandProcessor_1.processCommand)(index).catch((err) => {
|
|
64
35
|
throw new Error('Unknown error:', err);
|
|
65
36
|
});
|
|
66
|
-
//# sourceMappingURL=index.js.map
|
package/dist/parameters.js
CHANGED
|
@@ -1,26 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __values = (this && this.__values) || function(o) {
|
|
3
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
-
if (m) return m.call(o);
|
|
5
|
-
if (o && typeof o.length === "number") return {
|
|
6
|
-
next: function () {
|
|
7
|
-
if (o && i >= o.length) o = void 0;
|
|
8
|
-
return { value: o && o[i++], done: !o };
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
-
};
|
|
13
|
-
var e_1, _a;
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.parameters = void 0;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
4
|
+
const log_1 = require("@signageos/sdk/dist/Console/log");
|
|
5
|
+
const path = require('path');
|
|
6
|
+
const dotenv = require('dotenv');
|
|
7
|
+
const packageConfig = require('../package.json');
|
|
8
|
+
const environment = process.env.NODE_ENV || 'dev';
|
|
9
|
+
const rootPath = path.normalize(__dirname + '/..');
|
|
22
10
|
dotenv.config({ path: path.join(rootPath, '.env') });
|
|
23
|
-
|
|
11
|
+
const configurableEnvVars = [
|
|
24
12
|
'SOS_PROFILE',
|
|
25
13
|
'SOS_API_IDENTIFICATION',
|
|
26
14
|
'SOS_API_SECURITY_TOKEN',
|
|
@@ -29,36 +17,26 @@ var configurableEnvVars = [
|
|
|
29
17
|
'SOS_APPLET_VERSION',
|
|
30
18
|
'SOS_APPLET_NAME',
|
|
31
19
|
];
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (process.env[envVar]) {
|
|
36
|
-
(0, log_1.log)('warning', "Environment variable ".concat(envVar, " found. Will override default values from ~/.sosrc"));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
41
|
-
finally {
|
|
42
|
-
try {
|
|
43
|
-
if (configurableEnvVars_1_1 && !configurableEnvVars_1_1.done && (_a = configurableEnvVars_1.return)) _a.call(configurableEnvVars_1);
|
|
20
|
+
for (const envVar of configurableEnvVars) {
|
|
21
|
+
if (process.env[envVar]) {
|
|
22
|
+
(0, log_1.log)('warning', `Environment variable ${envVar} found. Will override default values from ~/.sosrc`);
|
|
44
23
|
}
|
|
45
|
-
finally { if (e_1) throw e_1.error; }
|
|
46
24
|
}
|
|
47
|
-
|
|
48
|
-
|
|
25
|
+
const apiUrl = process.env.SOS_API_URL;
|
|
26
|
+
const boxHost = process.env.SOS_BOX_HOST;
|
|
49
27
|
if (!apiUrl) {
|
|
50
|
-
throw new Error(
|
|
28
|
+
throw new Error(`Environment variable SOS_API_URL is required`);
|
|
51
29
|
}
|
|
52
30
|
if (!boxHost) {
|
|
53
|
-
throw new Error(
|
|
31
|
+
throw new Error(`Environment variable SOS_BOX_HOST is required`);
|
|
54
32
|
}
|
|
55
33
|
exports.parameters = {
|
|
56
|
-
environment
|
|
34
|
+
environment,
|
|
57
35
|
name: packageConfig.name,
|
|
58
36
|
version: packageConfig.version,
|
|
59
37
|
profile: process.env.SOS_PROFILE,
|
|
60
|
-
apiUrl
|
|
61
|
-
boxHost
|
|
38
|
+
apiUrl,
|
|
39
|
+
boxHost,
|
|
62
40
|
forwardServerUrl: process.env.SOS_FORWARD_SERVER_URL,
|
|
63
41
|
applet: {
|
|
64
42
|
uid: process.env.SOS_APPLET_UID,
|
|
@@ -66,4 +44,3 @@ exports.parameters = {
|
|
|
66
44
|
name: process.env.SOS_APPLET_NAME,
|
|
67
45
|
},
|
|
68
46
|
};
|
|
69
|
-
//# sourceMappingURL=parameters.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signageos/cli",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
".env",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"lint:eslint": "eslint --ext .ts,.tsx,.js,.json ./src/",
|
|
19
19
|
"lint": "npm run lint:eslint",
|
|
20
20
|
"clean": "rm -rf dist/*",
|
|
21
|
-
"clean-build": "npm run clean && npm run build && chmod +x dist/index.js
|
|
21
|
+
"clean-build": "npm run clean && npm run build && chmod +x dist/index.js",
|
|
22
22
|
"test": "env NODE_ENV=test mocha",
|
|
23
23
|
"test:windows": "cross-env NODE_ENV=test mocha",
|
|
24
24
|
"test:coverage": "c8 npm run test",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"check": "npm run depcheck && npx --userconfig ./.npmrc @signageos/lib check-deps && npm run check-circular-deps",
|
|
27
27
|
"check-circular-deps": "npx madge@5 --circular --extensions ts ./src/",
|
|
28
28
|
"depcheck": "depcheck --config .depcheckrc.json",
|
|
29
|
-
"
|
|
29
|
+
"typecheck": "tsc --noEmit",
|
|
30
30
|
"prettier:format": "prettier \"(src|tests|tools)/**/*.+(ts|js)\" --write"
|
|
31
31
|
},
|
|
32
32
|
"license": "MIT",
|
|
@@ -39,48 +39,45 @@
|
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@istanbuljs/nyc-config-typescript": "1.0.2",
|
|
42
|
-
"@signageos/codestyle": "0.
|
|
42
|
+
"@signageos/codestyle": "1.0.0",
|
|
43
43
|
"@types/archiver": "6.0.3",
|
|
44
|
-
"@types/chalk": "2.2.0",
|
|
45
44
|
"@types/child-process-promise": "2.2.1",
|
|
46
45
|
"@types/cli-progress": "3.7.0",
|
|
47
46
|
"@types/command-line-args": "5.0.0",
|
|
48
47
|
"@types/command-line-usage": "5.0.2",
|
|
49
48
|
"@types/cors": "2.8.6",
|
|
50
|
-
"@types/debug": "4.1.
|
|
49
|
+
"@types/debug": "4.1.12",
|
|
51
50
|
"@types/express": "4.17.1",
|
|
52
51
|
"@types/fs-extra": "8.0.0",
|
|
53
|
-
"@types/internal-ip": "4.1.0",
|
|
54
52
|
"@types/mime": "2.0.1",
|
|
55
53
|
"@types/mocha": "5.2.7",
|
|
56
54
|
"@types/node": "12.6.9",
|
|
57
55
|
"@types/node-fetch": "2.5.0",
|
|
58
56
|
"@types/prompts": "2.0.1",
|
|
59
57
|
"@types/semver": "7.1.0",
|
|
60
|
-
"@types/should": "13.0.0",
|
|
61
58
|
"@types/sinon": "7.5.0",
|
|
62
59
|
"@types/unzipper": "0.10.10",
|
|
63
|
-
"@types/
|
|
64
|
-
"@typescript-eslint/eslint-plugin": "8.29.1",
|
|
65
|
-
"@typescript-eslint/parser": "8.29.1",
|
|
60
|
+
"@types/which": "3.0.4",
|
|
66
61
|
"c8": "7.13.0",
|
|
67
62
|
"cross-env": "7.0.3",
|
|
68
63
|
"depcheck": "1.4.3",
|
|
64
|
+
"eslint": "9.24.0",
|
|
65
|
+
"eslint-config-prettier": "10.1.2",
|
|
66
|
+
"eslint-plugin-no-null": "1.0.2",
|
|
67
|
+
"eslint-plugin-prettier": "5.2.6",
|
|
69
68
|
"eslint-plugin-unused-imports": "4.1.4",
|
|
70
|
-
"husky": "9.1.5",
|
|
71
|
-
"lint-staged": "15.2.9",
|
|
72
69
|
"mocha": "8.4.0",
|
|
73
70
|
"rewiremock": "3.13.9",
|
|
74
71
|
"should": "13.2.3",
|
|
75
|
-
"sinon": "
|
|
72
|
+
"sinon": "20.0.0",
|
|
76
73
|
"ts-node": "8.3.0",
|
|
77
74
|
"typescript": "4.8.4",
|
|
78
|
-
"
|
|
79
|
-
"
|
|
75
|
+
"typescript-eslint": "8.30.1",
|
|
76
|
+
"unzipper": "0.12.3"
|
|
80
77
|
},
|
|
81
78
|
"dependencies": {
|
|
82
79
|
"@signageos/file": "0.1.1",
|
|
83
|
-
"@signageos/sdk": "1.27.
|
|
80
|
+
"@signageos/sdk": "1.27.5",
|
|
84
81
|
"archiver": "7.0.1",
|
|
85
82
|
"chalk": "2.4.2",
|
|
86
83
|
"child-process-promise": "2.2.1",
|
|
@@ -88,7 +85,7 @@
|
|
|
88
85
|
"command-line-args": "5.1.1",
|
|
89
86
|
"command-line-usage": "6.0.2",
|
|
90
87
|
"cors": "2.8.5",
|
|
91
|
-
"debug": "4.
|
|
88
|
+
"debug": "4.3.1",
|
|
92
89
|
"dotenv": "8.0.0",
|
|
93
90
|
"express": "4.17.1",
|
|
94
91
|
"fs-extra": "8.1.0",
|
|
@@ -98,6 +95,7 @@
|
|
|
98
95
|
"prompts": "2.1.0",
|
|
99
96
|
"semver": "7.1.3",
|
|
100
97
|
"serve-static": "1.14.1",
|
|
98
|
+
"which": "5.0.0",
|
|
101
99
|
"zod": "3.24.2"
|
|
102
100
|
},
|
|
103
101
|
"publishConfig": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appletBuildCommand.js","sourceRoot":"","sources":["../../../src/Applet/Build/appletBuildCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA0B;AAC1B,qEAA8F;AAC9F,4EAK+C;AAC/C,uCAAyD;AACzD,4CAAwD;AACxD,gDAAoF;AACpF,uDAAsD;AACtD,6BAA+B;AAE/B,IAAM,KAAK,GAAG,KAAK,CAAC,gDAAgD,CAAC,CAAC;AAEzD,QAAA,WAAW,GAAG,CAAC,mDAA8B,EAAE,4CAAuB,EAAE,gCAAiB,CAAU,CAAC;AAEpG,QAAA,WAAW,GAAG,IAAA,2CAAuB,EAAC;IAClD,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,iFAAiF;IAC9F,UAAU,EAAE,mBAAW;IACvB,QAAQ,EAAE,EAAE;IACN,GAAG,YAAC,OAA+C;;;;;;wBAClD,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;wBACf,qBAAM,IAAA,wDAAmC,EAAC,OAAO,CAAC,EAAA;;wBAApE,eAAe,GAAG,SAAkD;wBACrD,qBAAM,IAAA,oCAAe,EAAC,eAAe,CAAC,EAAA;;wBAArD,YAAY,GAAG,SAAsC;wBAC3C,qBAAM,IAAA,kCAAyB,EAAC,YAAY,CAAC,EAAA;;wBAAvD,OAAO,GAAG,SAA6C;wBACvD,GAAG,GAAG,IAAA,wBAAiB,EAAC;4BAC7B,eAAe,EAAE,YAAY,CAAC,GAAG;yBACjC,CAAC,CAAC;wBAEe,qBAAM,IAAA,2BAAY,EAAC,OAAO,EAAE,OAAO,CAAC,EAAA;;wBAAhD,SAAS,GAAG,SAAoC;wBAChC,qBAAM,IAAA,+BAAgB,EAAC,gBAAgB,CAAC,EAAA;;wBAAxD,aAAa,GAAG,SAAwC;wBAEhD,qBAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gCAC1C,SAAS,WAAA;gCACT,aAAa,eAAA;gCACb,UAAU,EAAE,gBAAgB;6BAC5B,CAAC,EAAA;;wBAJI,KAAK,GAAG,SAIZ;wBAEF,IAAA,SAAG,EACF,MAAM,EACN,iBAAU,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,cAAI,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,4CAAiC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAI,CACxI,CAAC;wBACF,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;;;;;KACrC;CACD,CAAC,CAAC"}
|