@winccoa-tools-pack/npm-winccoa-core 0.1.0 → 0.2.1-33c7c0b
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/LICENSE +1 -1
- package/README.md +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/components/WinCCOAComponent.js +53 -16
- package/dist/cjs/types/components/WinCCOAComponent.js.map +1 -1
- package/dist/cjs/types/components/implementations/PmonComponent.js +302 -60
- package/dist/cjs/types/components/implementations/PmonComponent.js.map +1 -1
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/localization/OaLanguage.js +32 -42
- package/dist/cjs/types/localization/OaLanguage.js.map +1 -1
- package/dist/cjs/types/logs/WinCCOAErrorHandler.js +0 -7
- package/dist/cjs/types/logs/WinCCOAErrorHandler.js.map +1 -1
- package/dist/cjs/types/project/ProjEnvProject.js +204 -45
- package/dist/cjs/types/project/ProjEnvProject.js.map +1 -1
- package/dist/cjs/types/project/ProjEnvProjectConfig.js +78 -7
- package/dist/cjs/types/project/ProjEnvProjectConfig.js.map +1 -1
- package/dist/cjs/types/project/ProjEnvProjectRegistry.js +33 -4
- package/dist/cjs/types/project/ProjEnvProjectRegistry.js.map +1 -1
- package/dist/cjs/utils/index.js +3 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/WinCCOAComponent.js +54 -17
- package/dist/esm/types/components/WinCCOAComponent.js.map +1 -1
- package/dist/esm/types/components/implementations/PmonComponent.js +301 -59
- package/dist/esm/types/components/implementations/PmonComponent.js.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/localization/OaLanguage.js +31 -42
- package/dist/esm/types/localization/OaLanguage.js.map +1 -1
- package/dist/esm/types/logs/WinCCOAErrorHandler.js +0 -7
- package/dist/esm/types/logs/WinCCOAErrorHandler.js.map +1 -1
- package/dist/esm/types/project/ProjEnvProject.js +202 -43
- package/dist/esm/types/project/ProjEnvProject.js.map +1 -1
- package/dist/esm/types/project/ProjEnvProjectConfig.js +78 -7
- package/dist/esm/types/project/ProjEnvProjectConfig.js.map +1 -1
- package/dist/esm/types/project/ProjEnvProjectRegistry.js +33 -4
- package/dist/esm/types/project/ProjEnvProjectRegistry.js.map +1 -1
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/types/components/WinCCOAComponent.d.ts +12 -1
- package/dist/types/components/WinCCOAComponent.d.ts.map +1 -1
- package/dist/types/components/implementations/PmonComponent.d.ts +69 -6
- package/dist/types/components/implementations/PmonComponent.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/localization/OaLanguage.d.ts +2 -42
- package/dist/types/localization/OaLanguage.d.ts.map +1 -1
- package/dist/types/logs/WinCCOAErrorHandler.d.ts.map +1 -1
- package/dist/types/project/ProjEnv.d.ts +1 -1
- package/dist/types/project/ProjEnv.d.ts.map +1 -1
- package/dist/types/project/ProjEnvProject.d.ts +47 -10
- package/dist/types/project/ProjEnvProject.d.ts.map +1 -1
- package/dist/types/project/ProjEnvProjectConfig.d.ts +4 -1
- package/dist/types/project/ProjEnvProjectConfig.d.ts.map +1 -1
- package/dist/types/project/ProjEnvProjectRegistry.d.ts +1 -0
- package/dist/types/project/ProjEnvProjectRegistry.d.ts.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +15 -14
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -225,7 +225,7 @@ We're excited to be part of your development journey.
|
|
|
225
225
|
|
|
226
226
|
## Quick Links
|
|
227
227
|
|
|
228
|
-
• [📦
|
|
228
|
+
• [📦 npm package](https://www.npmjs.com/package/@winccoa-tools-pack/npm-winccoa-core)
|
|
229
229
|
• [📚 Documentation](docs/dev/README.md)
|
|
230
230
|
• [🐛 Report Issues](https://github.com/winccoa-tools-pack/npm-winccoa-core/issues)
|
|
231
231
|
|
package/dist/cjs/index.js
CHANGED
|
@@ -20,4 +20,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
// Export all utilities
|
|
22
22
|
__exportStar(require("./utils/index.js"), exports);
|
|
23
|
+
__exportStar(require("./types/index.js"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,uBAAuB;AACvB,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,uBAAuB;AACvB,mDAAiC;AACjC,mDAAiC"}
|
|
@@ -71,6 +71,8 @@ class WinCCOAComponent {
|
|
|
71
71
|
* Accumulated standard error output from the last spawned process.
|
|
72
72
|
*/
|
|
73
73
|
this.stdErr = '';
|
|
74
|
+
/** WinCC OA Version */
|
|
75
|
+
this._version = '';
|
|
74
76
|
}
|
|
75
77
|
/**
|
|
76
78
|
* Returns the executable filename used by the component. Defaults to
|
|
@@ -82,6 +84,20 @@ class WinCCOAComponent {
|
|
|
82
84
|
getExecutableName() {
|
|
83
85
|
return this.getName();
|
|
84
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Sets the WinCC OA version to use for locating the component executable.
|
|
89
|
+
* This may affect the path returned by `getPath()`.
|
|
90
|
+
*
|
|
91
|
+
* @param version - WinCC OA version string (e.g., '3.20')
|
|
92
|
+
* @throws Error when version is empty
|
|
93
|
+
*/
|
|
94
|
+
setVersion(version) {
|
|
95
|
+
console.log(`[${new Date().toISOString()}] Setting WinCC OA version to ${version} for component ${this.getName()}`);
|
|
96
|
+
if (version === undefined || version === '') {
|
|
97
|
+
throw new Error('WinCC OA version must not be empty: ' + this.getName());
|
|
98
|
+
}
|
|
99
|
+
this._version = version;
|
|
100
|
+
}
|
|
85
101
|
/**
|
|
86
102
|
* Attempts to discover the full filesystem path to the component
|
|
87
103
|
* executable by scanning known WinCC OA installation directories.
|
|
@@ -97,22 +113,28 @@ class WinCCOAComponent {
|
|
|
97
113
|
*
|
|
98
114
|
* @param version - Optional WinCC OA version to search in (e.g., '3.20')
|
|
99
115
|
* @returns absolute path to executable or `null`
|
|
116
|
+
* @throws Error when specified version is not found on system
|
|
100
117
|
*/
|
|
101
118
|
getPath(version) {
|
|
102
119
|
const exe = this.getExecutableName();
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
120
|
+
const versionToUse = version ? version : this._version;
|
|
121
|
+
if (!versionToUse) {
|
|
122
|
+
throw new Error('WinCC OA version must be specified to locate component ' + this.getName());
|
|
123
|
+
}
|
|
124
|
+
const base = (0, winccoa_paths_js_1.getWinCCOAInstallationPathByVersion)(versionToUse);
|
|
125
|
+
if (!base) {
|
|
126
|
+
throw new Error('WinCC OA version ' +
|
|
127
|
+
versionToUse +
|
|
128
|
+
' not found on system to locate component ' +
|
|
129
|
+
this.getName());
|
|
130
|
+
}
|
|
131
|
+
const candidate = path.join(base, 'bin', exe);
|
|
132
|
+
if (fs.existsSync(candidate)) {
|
|
133
|
+
return candidate;
|
|
134
|
+
}
|
|
135
|
+
// Windows can have .exe suffix
|
|
136
|
+
if (fs.existsSync(candidate + '.exe')) {
|
|
137
|
+
return candidate + '.exe';
|
|
116
138
|
}
|
|
117
139
|
return null;
|
|
118
140
|
}
|
|
@@ -177,7 +199,7 @@ class WinCCOAComponent {
|
|
|
177
199
|
* @throws Error if executable not found or timeout exceeded
|
|
178
200
|
*/
|
|
179
201
|
async start(args = [], options = {}) {
|
|
180
|
-
const p = this.getPath(
|
|
202
|
+
const p = this.getPath();
|
|
181
203
|
// const histEntry = new CommandHistoryEntry(this.getName(), args);
|
|
182
204
|
this.stdOut = '';
|
|
183
205
|
this.stdErr = '';
|
|
@@ -212,16 +234,30 @@ class WinCCOAComponent {
|
|
|
212
234
|
proc.stdout?.on('data', (d) => {
|
|
213
235
|
const str = d.toString();
|
|
214
236
|
this.stdOut += str;
|
|
215
|
-
console.log(
|
|
237
|
+
// console.log(
|
|
238
|
+
// `[${new Date().toISOString()}]`,
|
|
239
|
+
// cmdId,
|
|
240
|
+
// 'STDOUT:',
|
|
241
|
+
// str,
|
|
242
|
+
// ); /* histEntry.stdOut += str; */
|
|
216
243
|
});
|
|
217
244
|
proc.stderr?.on('data', (d) => {
|
|
218
245
|
const str = d.toString();
|
|
219
246
|
this.stdErr += str;
|
|
220
|
-
console.log(
|
|
247
|
+
// console.log(
|
|
248
|
+
// `[${new Date().toISOString()}]`,
|
|
249
|
+
// cmdId,
|
|
250
|
+
// 'STDERR:',
|
|
251
|
+
// str,
|
|
252
|
+
// ); /* histEntry.stdErr += str; */
|
|
221
253
|
});
|
|
222
254
|
proc.on('close', (code) => {
|
|
223
255
|
if (timeoutHandle)
|
|
224
256
|
clearTimeout(timeoutHandle);
|
|
257
|
+
if (options.checkStdout) {
|
|
258
|
+
options.checkStdout(this.stdOut);
|
|
259
|
+
console.log(`[${new Date().toISOString()}]`, cmdId, 'stderr: ' + this.stdErr);
|
|
260
|
+
}
|
|
225
261
|
resolve(code ?? 0);
|
|
226
262
|
});
|
|
227
263
|
proc.on('error', (err) => {
|
|
@@ -250,6 +286,7 @@ class WinCCOAComponent {
|
|
|
250
286
|
* @throws Error if process fails to spawn or timeout is exceeded
|
|
251
287
|
*/
|
|
252
288
|
async execAndCollectLines(cmdPath, args, timeout) {
|
|
289
|
+
console.log(`[${new Date().toISOString()}] Executing command for component ${this.getName()}:`, cmdPath, args, timeout ? `(timeout: ${timeout}ms)` : '');
|
|
253
290
|
return new Promise((resolve, reject) => {
|
|
254
291
|
const proc = (0, child_process_1.spawn)(cmdPath, args, { shell: false });
|
|
255
292
|
let stdout = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WinCCOAComponent.js","sourceRoot":"","sources":["../../../../src/types/components/WinCCOAComponent.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,uCAAyB;AACzB,iDAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"WinCCOAComponent.js","sourceRoot":"","sources":["../../../../src/types/components/WinCCOAComponent.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,uCAAyB;AACzB,iDAAsC;AACtC,mEAAmF;AACnF,mCAAoC;AAEpC;;;;;;;;;;;;;;EAcE;AAEF,MAAsB,gBAAgB;IAAtC;QACI,qDAAqD;QACrD;;;;WAIG;QACI,WAAM,GAAW,EAAE,CAAC;QAE3B;;WAEG;QACI,WAAM,GAAW,EAAE,CAAC;QAE3B,uBAAuB;QACf,aAAQ,GAAW,EAAE,CAAC;IAuUlC,CAAC;IAxTG;;;;;;OAMG;IACI,iBAAiB;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,OAAe;QAC7B,OAAO,CAAC,GAAG,CACP,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,iCAAiC,OAAO,kBAAkB,IAAI,CAAC,OAAO,EAAE,EAAE,CACzG,CAAC;QAEF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,OAAO,CAAC,OAAgB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEvD,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACX,yDAAyD,GAAG,IAAI,CAAC,OAAO,EAAE,CAC7E,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,sDAAmC,EAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CACX,mBAAmB;gBACf,YAAY;gBACZ,2CAA2C;gBAC3C,IAAI,CAAC,OAAO,EAAE,CACrB,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,+BAA+B;QAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,SAAS,GAAG,MAAM,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,MAAM;QACT,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc;QACvB,MAAM,KAAK,GAAG,MAAO,IAAY,CAAC,mBAAmB,CACjD,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EACpB,CAAC,UAAU,CAAC,EACZ,IAAI,CACP,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACO,kBAAkB,CAAC,MAAc;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,KAAK,CAAC,KAAK,CACd,OAAiB,EAAE,EACnB,UAKI,EAAE;QAEN,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,mEAAmE;QACnE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,MAAM,KAAK,GAAG,IAAA,mBAAU,GAAE,CAAC;QAE3B,OAAO,CAAC,GAAG,CACP,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,EAC/B,KAAK,EACL,oBAAoB,EACpB,IAAI,CAAC,OAAO,EAAE,EACd,WAAW,EACX,IAAI,EACJ,MAAM,EACN,CAAC,EACD,SAAS,EACT,OAAO,CACV,CAAC;QACF,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC;QAEvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,YAAY,GAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC3C,IAAI,aAAa,GAA0B,IAAI,CAAC;YAEhD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnB,sEAAsE;gBACtE,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC7B,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;YAClC,CAAC;YAED,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAE1C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnB,8CAA8C;gBAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,6CAA6C;gBAC7C,OAAO,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACJ,8BAA8B;gBAC9B,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;oBACzC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;wBACZ,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;oBACpE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;gBAED,iDAAiD;gBACjD,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;oBACnB,eAAe;oBACf,uCAAuC;oBACvC,aAAa;oBACb,iBAAiB;oBACjB,WAAW;oBACX,oCAAoC;gBACxC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;oBACnB,eAAe;oBACf,uCAAuC;oBACvC,aAAa;oBACb,iBAAiB;oBACjB,WAAW;oBACX,oCAAoC;gBACxC,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBACtB,IAAI,aAAa;wBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC/C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;wBACtB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjC,OAAO,CAAC,GAAG,CACP,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,EAC/B,KAAK,EACL,UAAU,GAAG,IAAI,CAAC,MAAM,CAC3B,CAAC;oBACN,CAAC;oBACD,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACrB,IAAI,aAAa;wBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC/C,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACO,KAAK,CAAC,mBAAmB,CAC/B,OAAe,EACf,IAAc,EACd,OAAgB;QAEhB,OAAO,CAAC,GAAG,CACP,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,qCAAqC,IAAI,CAAC,OAAO,EAAE,GAAG,EAClF,OAAO,EACP,IAAI,EACJ,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC;QACF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,aAAa,GAA0B,IAAI,CAAC;YAEhD,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACzB,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,OAAO,IAAI,CAAC,CAAC,CAAC;gBACxE,CAAC,EAAE,OAAO,CAAC,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,CAAC;gBACZ,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,aAAa;oBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAE/C,MAAM,KAAK,GAAG,MAAM;qBACf,KAAK,CAAC,OAAO,CAAC;qBACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,IAAI,aAAa;oBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAtVD,4CAsVC"}
|