edge-impulse-linux 1.18.1 → 1.18.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.
Files changed (155) hide show
  1. package/build/cli/linux/runner.js +19 -20
  2. package/build/cli/linux/runner.js.map +1 -1
  3. package/build/library/classifier/linux-impulse-runner-types.d.ts +16 -9
  4. package/build/library/classifier/linux-impulse-runner.d.ts +5 -1
  5. package/build/library/classifier/linux-impulse-runner.js +114 -30
  6. package/build/library/classifier/linux-impulse-runner.js.map +1 -1
  7. package/build/library/moving-average-filter.d.ts +3 -1
  8. package/build/library/sensors/gstreamer.d.ts +1 -0
  9. package/build/library/sensors/gstreamer.js +15 -16
  10. package/build/library/sensors/gstreamer.js.map +1 -1
  11. package/build/library/sensors/imagesnap.d.ts +1 -0
  12. package/build/library/sensors/imagesnap.js +13 -0
  13. package/build/library/sensors/imagesnap.js.map +1 -1
  14. package/build/sdk/studio/sdk/api/apis.d.ts +3 -1
  15. package/build/sdk/studio/sdk/api/apis.js +3 -1
  16. package/build/sdk/studio/sdk/api/apis.js.map +1 -1
  17. package/build/sdk/studio/sdk/api/impulseApi.d.ts +3 -1
  18. package/build/sdk/studio/sdk/api/impulseApi.js +3 -1
  19. package/build/sdk/studio/sdk/api/impulseApi.js.map +1 -1
  20. package/build/sdk/studio/sdk/api/jobsApi.d.ts +2 -0
  21. package/build/sdk/studio/sdk/api/jobsApi.js +4 -0
  22. package/build/sdk/studio/sdk/api/jobsApi.js.map +1 -1
  23. package/build/sdk/studio/sdk/api/learnApi.d.ts +26 -0
  24. package/build/sdk/studio/sdk/api/learnApi.js +168 -0
  25. package/build/sdk/studio/sdk/api/learnApi.js.map +1 -1
  26. package/build/sdk/studio/sdk/api/organizationJobsApi.d.ts +2 -0
  27. package/build/sdk/studio/sdk/api/organizationJobsApi.js +4 -0
  28. package/build/sdk/studio/sdk/api/organizationJobsApi.js.map +1 -1
  29. package/build/sdk/studio/sdk/api/organizationsApi.d.ts +25 -0
  30. package/build/sdk/studio/sdk/api/organizationsApi.js +162 -0
  31. package/build/sdk/studio/sdk/api/organizationsApi.js.map +1 -1
  32. package/build/sdk/studio/sdk/api/vlmApi.d.ts +87 -0
  33. package/build/sdk/studio/sdk/api/vlmApi.js +330 -0
  34. package/build/sdk/studio/sdk/api/vlmApi.js.map +1 -0
  35. package/build/sdk/studio/sdk/model/createImpulseRequest.d.ts +2 -0
  36. package/build/sdk/studio/sdk/model/createImpulseRequest.js +5 -0
  37. package/build/sdk/studio/sdk/model/createImpulseRequest.js.map +1 -1
  38. package/build/sdk/studio/sdk/model/createMultiProjectDeploymentRequest.d.ts +28 -0
  39. package/build/sdk/studio/sdk/model/createMultiProjectDeploymentRequest.js +34 -0
  40. package/build/sdk/studio/sdk/model/createMultiProjectDeploymentRequest.js.map +1 -0
  41. package/build/sdk/studio/sdk/model/createMultiProjectDeploymentRequestImpulses.d.ts +28 -0
  42. package/build/sdk/studio/sdk/model/createMultiProjectDeploymentRequestImpulses.js +39 -0
  43. package/build/sdk/studio/sdk/model/createMultiProjectDeploymentRequestImpulses.js.map +1 -0
  44. package/build/sdk/studio/sdk/model/createNewEmptyImpulseRequest.d.ts +26 -0
  45. package/build/sdk/studio/sdk/model/createNewEmptyImpulseRequest.js +29 -0
  46. package/build/sdk/studio/sdk/model/createNewEmptyImpulseRequest.js.map +1 -0
  47. package/build/sdk/studio/sdk/model/createWhitelabelRequest.d.ts +12 -0
  48. package/build/sdk/studio/sdk/model/createWhitelabelRequest.js +15 -0
  49. package/build/sdk/studio/sdk/model/createWhitelabelRequest.js.map +1 -1
  50. package/build/sdk/studio/sdk/model/deploymentTarget.d.ts +4 -0
  51. package/build/sdk/studio/sdk/model/deploymentTarget.js +5 -0
  52. package/build/sdk/studio/sdk/model/deploymentTarget.js.map +1 -1
  53. package/build/sdk/studio/sdk/model/deploymentTargetEngine.d.ts +1 -1
  54. package/build/sdk/studio/sdk/model/deploymentTargetEngine.js +1 -1
  55. package/build/sdk/studio/sdk/model/deploymentTargetEngine.js.map +1 -1
  56. package/build/sdk/studio/sdk/model/impulse.d.ts +2 -0
  57. package/build/sdk/studio/sdk/model/impulse.js +5 -0
  58. package/build/sdk/studio/sdk/model/impulse.js.map +1 -1
  59. package/build/sdk/studio/sdk/model/impulseType.d.ts +16 -0
  60. package/build/sdk/studio/sdk/model/impulseType.js +16 -0
  61. package/build/sdk/studio/sdk/model/impulseType.js.map +1 -0
  62. package/build/sdk/studio/sdk/model/learnBlockType.d.ts +1 -1
  63. package/build/sdk/studio/sdk/model/learnBlockType.js +1 -1
  64. package/build/sdk/studio/sdk/model/learnBlockType.js.map +1 -1
  65. package/build/sdk/studio/sdk/model/models.d.ts +25 -0
  66. package/build/sdk/studio/sdk/model/models.js +73 -0
  67. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  68. package/build/sdk/studio/sdk/model/optimizeConfigSearchSpaceTemplate.d.ts +1 -1
  69. package/build/sdk/studio/sdk/model/optimizeConfigSearchSpaceTemplate.js +1 -1
  70. package/build/sdk/studio/sdk/model/optimizeConfigSearchSpaceTemplate.js.map +1 -1
  71. package/build/sdk/studio/sdk/model/permission.d.ts +1 -1
  72. package/build/sdk/studio/sdk/model/permission.js +1 -1
  73. package/build/sdk/studio/sdk/model/permission.js.map +1 -1
  74. package/build/sdk/studio/sdk/model/projectDeploymentTarget.d.ts +4 -0
  75. package/build/sdk/studio/sdk/model/projectDeploymentTarget.js +5 -0
  76. package/build/sdk/studio/sdk/model/projectDeploymentTarget.js.map +1 -1
  77. package/build/sdk/studio/sdk/model/publicProjectTierAvailability.d.ts +1 -1
  78. package/build/sdk/studio/sdk/model/publicProjectTierAvailability.js +1 -1
  79. package/build/sdk/studio/sdk/model/publicProjectTierAvailability.js.map +1 -1
  80. package/build/sdk/studio/sdk/model/updateImpulseRequest.d.ts +2 -0
  81. package/build/sdk/studio/sdk/model/updateImpulseRequest.js +5 -0
  82. package/build/sdk/studio/sdk/model/updateImpulseRequest.js.map +1 -1
  83. package/build/sdk/studio/sdk/model/updateWhitelabelInternalRequest.d.ts +12 -0
  84. package/build/sdk/studio/sdk/model/updateWhitelabelInternalRequest.js +15 -0
  85. package/build/sdk/studio/sdk/model/updateWhitelabelInternalRequest.js.map +1 -1
  86. package/build/sdk/studio/sdk/model/vlmCandidateLabelItem.d.ts +26 -0
  87. package/build/sdk/studio/sdk/model/vlmCandidateLabelItem.js +34 -0
  88. package/build/sdk/studio/sdk/model/vlmCandidateLabelItem.js.map +1 -0
  89. package/build/sdk/studio/sdk/model/vlmCandidateLabelMap.d.ts +27 -0
  90. package/build/sdk/studio/sdk/model/vlmCandidateLabelMap.js +34 -0
  91. package/build/sdk/studio/sdk/model/vlmCandidateLabelMap.js.map +1 -0
  92. package/build/sdk/studio/sdk/model/vlmConfigResponse.d.ts +34 -0
  93. package/build/sdk/studio/sdk/model/vlmConfigResponse.js +39 -0
  94. package/build/sdk/studio/sdk/model/vlmConfigResponse.js.map +1 -0
  95. package/build/sdk/studio/sdk/model/vlmConfigResponseAllOf.d.ts +29 -0
  96. package/build/sdk/studio/sdk/model/vlmConfigResponseAllOf.js +32 -0
  97. package/build/sdk/studio/sdk/model/vlmConfigResponseAllOf.js.map +1 -0
  98. package/build/sdk/studio/sdk/model/vlmConfiguration.d.ts +36 -0
  99. package/build/sdk/studio/sdk/model/vlmConfiguration.js +54 -0
  100. package/build/sdk/studio/sdk/model/vlmConfiguration.js.map +1 -0
  101. package/build/sdk/studio/sdk/model/vlmConfigurationAllOf.d.ts +28 -0
  102. package/build/sdk/studio/sdk/model/vlmConfigurationAllOf.js +29 -0
  103. package/build/sdk/studio/sdk/model/vlmConfigurationAllOf.js.map +1 -0
  104. package/build/sdk/studio/sdk/model/vlmConfigurationBase.d.ts +32 -0
  105. package/build/sdk/studio/sdk/model/vlmConfigurationBase.js +49 -0
  106. package/build/sdk/studio/sdk/model/vlmConfigurationBase.js.map +1 -0
  107. package/build/sdk/studio/sdk/model/vlmGetAllModelsResponse.d.ts +34 -0
  108. package/build/sdk/studio/sdk/model/vlmGetAllModelsResponse.js +39 -0
  109. package/build/sdk/studio/sdk/model/vlmGetAllModelsResponse.js.map +1 -0
  110. package/build/sdk/studio/sdk/model/vlmGetAllModelsResponseAllOf.d.ts +26 -0
  111. package/build/sdk/studio/sdk/model/vlmGetAllModelsResponseAllOf.js +29 -0
  112. package/build/sdk/studio/sdk/model/vlmGetAllModelsResponseAllOf.js.map +1 -0
  113. package/build/sdk/studio/sdk/model/vlmGetInferenceResultsResponse.d.ts +38 -0
  114. package/build/sdk/studio/sdk/model/vlmGetInferenceResultsResponse.js +44 -0
  115. package/build/sdk/studio/sdk/model/vlmGetInferenceResultsResponse.js.map +1 -0
  116. package/build/sdk/studio/sdk/model/vlmInferenceRequest.d.ts +27 -0
  117. package/build/sdk/studio/sdk/model/vlmInferenceRequest.js +34 -0
  118. package/build/sdk/studio/sdk/model/vlmInferenceRequest.js.map +1 -0
  119. package/build/sdk/studio/sdk/model/vlmInferenceResults.d.ts +30 -0
  120. package/build/sdk/studio/sdk/model/vlmInferenceResults.js +34 -0
  121. package/build/sdk/studio/sdk/model/vlmInferenceResults.js.map +1 -0
  122. package/build/sdk/studio/sdk/model/vlmInferenceResultsResults.d.ts +32 -0
  123. package/build/sdk/studio/sdk/model/vlmInferenceResultsResults.js +34 -0
  124. package/build/sdk/studio/sdk/model/vlmInferenceResultsResults.js.map +1 -0
  125. package/build/sdk/studio/sdk/model/vlmMetadata.d.ts +32 -0
  126. package/build/sdk/studio/sdk/model/vlmMetadata.js +39 -0
  127. package/build/sdk/studio/sdk/model/vlmMetadata.js.map +1 -0
  128. package/build/sdk/studio/sdk/model/vlmModel.d.ts +38 -0
  129. package/build/sdk/studio/sdk/model/vlmModel.js +64 -0
  130. package/build/sdk/studio/sdk/model/vlmModel.js.map +1 -0
  131. package/build/sdk/studio/sdk/model/vlmModelType.d.ts +13 -0
  132. package/build/sdk/studio/sdk/model/vlmModelType.js +16 -0
  133. package/build/sdk/studio/sdk/model/vlmModelType.js.map +1 -0
  134. package/build/sdk/studio/sdk/model/vlmPromptComponent.d.ts +32 -0
  135. package/build/sdk/studio/sdk/model/vlmPromptComponent.js +34 -0
  136. package/build/sdk/studio/sdk/model/vlmPromptComponent.js.map +1 -0
  137. package/build/sdk/studio/sdk/model/vlmPromptComponentConfig.d.ts +27 -0
  138. package/build/sdk/studio/sdk/model/vlmPromptComponentConfig.js +34 -0
  139. package/build/sdk/studio/sdk/model/vlmPromptComponentConfig.js.map +1 -0
  140. package/build/sdk/studio/sdk/model/vlmPromptConfigParamItem.d.ts +26 -0
  141. package/build/sdk/studio/sdk/model/vlmPromptConfigParamItem.js +34 -0
  142. package/build/sdk/studio/sdk/model/vlmPromptConfigParamItem.js.map +1 -0
  143. package/build/sdk/studio/sdk/model/vlmPromptConfigParameters.d.ts +27 -0
  144. package/build/sdk/studio/sdk/model/vlmPromptConfigParameters.js +34 -0
  145. package/build/sdk/studio/sdk/model/vlmPromptConfigParameters.js.map +1 -0
  146. package/build/sdk/studio/sdk/model/vlmSetConfigResponse.d.ts +25 -0
  147. package/build/sdk/studio/sdk/model/vlmSetConfigResponse.js +24 -0
  148. package/build/sdk/studio/sdk/model/vlmSetConfigResponse.js.map +1 -0
  149. package/build/sdk/studio/sdk/model/whitelabel.d.ts +12 -0
  150. package/build/sdk/studio/sdk/model/whitelabel.js +15 -0
  151. package/build/sdk/studio/sdk/model/whitelabel.js.map +1 -1
  152. package/build/shared/viewmodels/init.d.ts +2 -0
  153. package/build/shared/viewmodels/init.js +2 -0
  154. package/build/shared/viewmodels/init.js.map +1 -1
  155. package/package.json +1 -1
@@ -885,17 +885,8 @@ async function startCamera(cameraType, inferenceDimensions) {
885
885
  }
886
886
  }
887
887
  else if (ev.result.freeform) {
888
- // print the raw predicted values for this frame
889
- const c = structuredClone(ev.result.freeform).map((x, ix) => {
890
- let ret = '';
891
- if (ev.result.freeform.length > 1) {
892
- ret += `Tensor ${ix}: `;
893
- }
894
- ret += `[ ${x.map(v => v.toFixed(4)).join(', ')} ]`;
895
- return ret;
896
- }).join(';');
897
888
  if (!dontPrintPredictionsArgv) {
898
- console.log('freeformRes', timeMs + 'ms.', c);
889
+ console.log('freeformRes', timeMs + 'ms.', freeformResToString(ev.result.freeform));
899
890
  }
900
891
  totalInferenceCount++;
901
892
  }
@@ -1010,17 +1001,8 @@ async function startCamera(cameraType, inferenceDimensions) {
1010
1001
  ++count;
1011
1002
  }
1012
1003
  if (ev.result.freeform) {
1013
- // print the raw predicted values for this frame
1014
- const c = structuredClone(ev.result.freeform).map((x, ix) => {
1015
- let ret = '';
1016
- if (ev.result.freeform.length > 1) {
1017
- ret += `Tensor ${ix}: `;
1018
- }
1019
- ret += `[ ${x.map(v => v.toFixed(4)).join(', ')} ]`;
1020
- return ret;
1021
- }).join(';');
1022
1004
  if (!dontPrintPredictionsArgv) {
1023
- console.log('freeformRes', timeMs + 'ms.', c);
1005
+ console.log('freeformRes', timeMs + 'ms.', freeformResToString(ev.result.freeform));
1024
1006
  }
1025
1007
  // AWS Integration
1026
1008
  awsResult = structuredClone(ev.result.freeform);
@@ -1158,4 +1140,21 @@ function roundValuesTo4Digits(obj) {
1158
1140
  }
1159
1141
  return newObj;
1160
1142
  }
1143
+ function freeformResToString(freeform) {
1144
+ return structuredClone(freeform).map((x, ix) => {
1145
+ let ret = '';
1146
+ if (freeform.length > 1) {
1147
+ ret += `Tensor ${ix}: `;
1148
+ }
1149
+ if (x.length < 503) {
1150
+ ret += `[ ${x.map(v => v.toFixed(4)).join(', ')} ]`;
1151
+ }
1152
+ else {
1153
+ const slice = x.slice(0, 500);
1154
+ const left = x.length - slice.length;
1155
+ ret += `[ ${slice.map(v => v.toFixed(4)).join(', ')}, ... and ${left} others ]`;
1156
+ }
1157
+ return ret;
1158
+ }).join('; ');
1159
+ }
1161
1160
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../cli/linux/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../cli/linux/runner.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,13 @@ export type RunnerHelloResponse = {
90
90
  elements: number;
91
91
  };
92
92
  features_shm_error?: string;
93
+ freeform_output_shm?: {
94
+ index: number;
95
+ name: string;
96
+ size_bytes: number;
97
+ type: 'float32';
98
+ elements: number;
99
+ }[];
93
100
  model_parameters: RunnerHelloResponseModelParameters;
94
101
  project: RunnerHelloResponseProject;
95
102
  inferencing_engine: RunnerHelloResponseInferencingEngine;
@@ -109,7 +116,7 @@ export type RunnerClassifyContinuousRequest = {
109
116
  elements: number;
110
117
  };
111
118
  };
112
- export type RunnerClassifyResponseSuccess = {
119
+ export type EimRunnerClassifyResponseSuccess = {
113
120
  result: {
114
121
  classification?: {
115
122
  [k: string]: number;
@@ -122,10 +129,6 @@ export type RunnerClassifyResponseSuccess = {
122
129
  width: number;
123
130
  height: number;
124
131
  }[];
125
- /**
126
- * NOTE: This field is _experimental_. It might change when object tracking
127
- * is released publicly.
128
- */
129
132
  object_tracking?: {
130
133
  object_id: number;
131
134
  label: string;
@@ -153,7 +156,7 @@ export type RunnerClassifyResponseSuccess = {
153
156
  newWidth: number;
154
157
  newHeight: number;
155
158
  };
156
- freeform?: number[][];
159
+ freeform?: 'shm' | number[][];
157
160
  };
158
161
  timing: {
159
162
  dsp: number;
@@ -162,9 +165,13 @@ export type RunnerClassifyResponseSuccess = {
162
165
  };
163
166
  info?: string;
164
167
  };
165
- export type RunnerClassifyResponse = ({
166
- success: true;
167
- } & RunnerClassifyResponseSuccess) | RunnerErrorResponse;
168
+ export type RunnerClassifyResponseSuccess = {
169
+ result: Omit<EimRunnerClassifyResponseSuccess['result'], 'freeform'> & {
170
+ freeform?: number[][];
171
+ };
172
+ timing: EimRunnerClassifyResponseSuccess['timing'];
173
+ info: EimRunnerClassifyResponseSuccess['info'];
174
+ };
168
175
  export type RunnerSetThresholdRequest = {
169
176
  set_threshold: {
170
177
  id: number;
@@ -8,11 +8,13 @@ export declare class LinuxImpulseRunner {
8
8
  private _id;
9
9
  private _stopped;
10
10
  private _socket;
11
- private _shm;
11
+ private _inputShm;
12
+ private _freeformOutputShm;
12
13
  private _verbose;
13
14
  private _shmBehavior;
14
15
  private _valgrind;
15
16
  private _stdout;
17
+ private _tempDir;
16
18
  /**
17
19
  * Start a new impulse runner
18
20
  * @param path Path to the runner's executable
@@ -63,4 +65,6 @@ export declare class LinuxImpulseRunner {
63
65
  */
64
66
  private exists;
65
67
  private runTensorRTWarmup;
68
+ private mapClassifyResponseSuccess;
69
+ private cleanupTempDirAsync;
66
70
  }
@@ -45,6 +45,27 @@ class LinuxImpulseRunner {
45
45
  this._valgrind = opts?.valgrind || false;
46
46
  this._verbose = opts?.verbose || false;
47
47
  this._shmBehavior = opts?.shmBehavior || 'auto';
48
+ // Make sure to send a SIGINT to the eim file to clear out shared memory
49
+ process.on('exit', () => {
50
+ if (this._runner && this._runner.pid) {
51
+ try {
52
+ this._runner.kill('SIGINT');
53
+ }
54
+ catch (ex) {
55
+ // noop
56
+ }
57
+ }
58
+ // and the shared memory we mapped in here (sync)
59
+ if (this._tempDir) {
60
+ try {
61
+ fs_1.default.rmSync(this._tempDir, { recursive: true });
62
+ this._tempDir = undefined;
63
+ }
64
+ catch (ex) {
65
+ // noop
66
+ }
67
+ }
68
+ });
48
69
  }
49
70
  /**
50
71
  * Initialize the runner
@@ -69,8 +90,9 @@ class LinuxImpulseRunner {
69
90
  socketPath = this._path;
70
91
  }
71
92
  else {
72
- let tempDir = await fs_1.default.promises.mkdtemp(path_1.default.join(osTmpDir, 'edge-impulse-cli'));
73
- socketPath = path_1.default.join(tempDir, 'runner.sock');
93
+ await this.cleanupTempDirAsync();
94
+ this._tempDir = await fs_1.default.promises.mkdtemp(path_1.default.join(osTmpDir, 'edge-impulse-cli'));
95
+ socketPath = path_1.default.join(this._tempDir, 'runner.sock');
74
96
  // start the .eim file
75
97
  if (this._runner && this._runner.pid) {
76
98
  // kill the runner
@@ -78,7 +100,7 @@ class LinuxImpulseRunner {
78
100
  // TODO: check if the runner still exists
79
101
  }
80
102
  if (this._valgrind) {
81
- const valgrindSuppressionFile = path_1.default.join(tempDir, 'valgrind.supp');
103
+ const valgrindSuppressionFile = path_1.default.join(this._tempDir, 'valgrind.supp');
82
104
  await fs_1.default.promises.writeFile(valgrindSuppressionFile, valgrind_suppression_1.VALGRIND_SUPPRESSION_FILE, 'utf-8');
83
105
  this._runner = (0, child_process_1.spawn)('valgrind', [
84
106
  '--suppressions=' + valgrindSuppressionFile,
@@ -222,11 +244,12 @@ class LinuxImpulseRunner {
222
244
  async stop() {
223
245
  this._stopped = true;
224
246
  if (!this._runner) {
247
+ await this.cleanupTempDirAsync();
225
248
  return Buffer.concat(this._stdout).toString('utf-8');
226
249
  }
227
250
  await new Promise((resolve) => {
228
251
  if (this._runner) {
229
- this._runner.on('close', code => {
252
+ this._runner.on('close', (code) => {
230
253
  resolve();
231
254
  });
232
255
  this._runner.kill('SIGINT');
@@ -240,6 +263,7 @@ class LinuxImpulseRunner {
240
263
  resolve();
241
264
  }
242
265
  });
266
+ await this.cleanupTempDirAsync();
243
267
  return Buffer.concat(this._stdout).toString('utf-8');
244
268
  }
245
269
  /**
@@ -260,8 +284,8 @@ class LinuxImpulseRunner {
260
284
  */
261
285
  async classify(data, timeout) {
262
286
  let resp;
263
- if (this._shm) {
264
- const features = new Float32Array(this._shm.buf, 0, data.length);
287
+ if (this._inputShm) {
288
+ const features = new Float32Array(this._inputShm.buf, 0, data.length);
265
289
  features.set(data);
266
290
  resp = await this.send({
267
291
  classify_shm: {
@@ -275,11 +299,7 @@ class LinuxImpulseRunner {
275
299
  if (!resp.success) {
276
300
  throw new Error(resp.error);
277
301
  }
278
- return {
279
- result: resp.result,
280
- timing: resp.timing,
281
- info: resp.info
282
- };
302
+ return this.mapClassifyResponseSuccess(resp);
283
303
  }
284
304
  /**
285
305
  * Classify data (continuous mode, pass in slice_size data)
@@ -288,8 +308,8 @@ class LinuxImpulseRunner {
288
308
  */
289
309
  async classifyContinuous(data, timeout) {
290
310
  let resp;
291
- if (this._shm) {
292
- const features = new Float32Array(this._shm.buf, 0, data.length);
311
+ if (this._inputShm) {
312
+ const features = new Float32Array(this._inputShm.buf, 0, data.length);
293
313
  features.set(data);
294
314
  resp = await this.send({
295
315
  classify_continuous_shm: {
@@ -305,11 +325,7 @@ class LinuxImpulseRunner {
305
325
  if (!resp.success) {
306
326
  throw new Error(resp.error);
307
327
  }
308
- return {
309
- result: resp.result,
310
- timing: resp.timing,
311
- info: resp.info
312
- };
328
+ return this.mapClassifyResponseSuccess(resp);
313
329
  }
314
330
  async setLearnBlockThreshold(obj) {
315
331
  let resp;
@@ -375,7 +391,8 @@ class LinuxImpulseRunner {
375
391
  sensor = 'positional';
376
392
  break;
377
393
  }
378
- this._shm = undefined;
394
+ this._inputShm = undefined;
395
+ this._freeformOutputShm = undefined;
379
396
  if (!resp.features_shm) {
380
397
  if (this._shmBehavior === 'always') {
381
398
  const errorStr = resp.features_shm_error ? ` (error: "${resp.features_shm_error}")` : ``;
@@ -397,15 +414,35 @@ class LinuxImpulseRunner {
397
414
  }
398
415
  if (libc) {
399
416
  const libcWrapper = new libcwrapper_1.LibcWrapper(libc);
400
- const fd = libcWrapper.shmOpen(resp.features_shm.name, libcwrapper_1.O_RDWR, 0o666);
401
- const buf = libcWrapper.mmapToArrayBuffer(fd, resp.features_shm.size_bytes);
402
- this._shm = {
403
- libc: libcWrapper,
404
- fd: fd,
405
- buf: buf,
406
- };
407
- if (this._verbose) {
408
- console.log(PREFIX, `Initialized shared memory (${resp.features_shm.name})`);
417
+ // input tensor
418
+ {
419
+ const fd = libcWrapper.shmOpen(resp.features_shm.name, libcwrapper_1.O_RDWR, 0o666);
420
+ const buf = libcWrapper.mmapToArrayBuffer(fd, resp.features_shm.size_bytes);
421
+ this._inputShm = {
422
+ libc: libcWrapper,
423
+ fd: fd,
424
+ buf: buf,
425
+ };
426
+ if (this._verbose) {
427
+ console.log(PREFIX, `Initialized shared memory (input features) (${resp.features_shm.name})`);
428
+ }
429
+ }
430
+ if (resp.freeform_output_shm) {
431
+ this._freeformOutputShm = [];
432
+ for (const outputShm of resp.freeform_output_shm || []) {
433
+ const fd = libcWrapper.shmOpen(outputShm.name, libcwrapper_1.O_RDWR, 0o666);
434
+ const buf = libcWrapper.mmapToArrayBuffer(fd, outputShm.size_bytes);
435
+ this._freeformOutputShm.push({
436
+ index: outputShm.index,
437
+ libc: libcWrapper,
438
+ fd: fd,
439
+ buf: buf,
440
+ features: new Float32Array(buf, 0, outputShm.elements),
441
+ });
442
+ if (this._verbose) {
443
+ console.log(PREFIX, `Initialized shared memory (freeform output ${outputShm.index}) (${outputShm.name})`);
444
+ }
445
+ }
409
446
  }
410
447
  }
411
448
  }
@@ -439,7 +476,7 @@ class LinuxImpulseRunner {
439
476
  return new Promise((resolve, reject) => {
440
477
  const defaultTimeout = this._valgrind ?
441
478
  120000 : // valgrind takes its time (esp on x86)
442
- 10000;
479
+ 30000;
443
480
  let timeout = typeof timeoutArg === 'number' ? timeoutArg : defaultTimeout;
444
481
  if (!this._socket) {
445
482
  console.trace('Runner is not initialized (runner.send)');
@@ -464,7 +501,8 @@ class LinuxImpulseRunner {
464
501
  reject(`No response within ${timeout / 1000} seconds:\n\n` +
465
502
  Buffer.concat(this._stdout).toString('utf-8'));
466
503
  }, timeout);
467
- const onExit = (code) => {
504
+ const onExit = async (code) => {
505
+ await this.cleanupTempDirAsync();
468
506
  if (!this._stopped) {
469
507
  reject('Process exited with ' + code);
470
508
  }
@@ -530,6 +568,52 @@ class LinuxImpulseRunner {
530
568
  }
531
569
  }
532
570
  }
571
+ mapClassifyResponseSuccess(resp) {
572
+ // bit hard to get TypeScript to understand that these types are the same in this case...
573
+ if (!resp.result.freeform) {
574
+ const { freeform: _omit, ...result } = resp.result;
575
+ return {
576
+ result: result,
577
+ info: resp.info,
578
+ timing: resp.timing,
579
+ };
580
+ }
581
+ if (Array.isArray(resp.result.freeform)) {
582
+ return {
583
+ result: {
584
+ ...resp.result,
585
+ freeform: resp.result.freeform,
586
+ },
587
+ info: resp.info,
588
+ timing: resp.timing,
589
+ };
590
+ }
591
+ const freeform = [];
592
+ // ... actual mapping in SHM
593
+ for (const shm of this._freeformOutputShm || []) {
594
+ freeform.push(Array.from(shm.features));
595
+ }
596
+ return {
597
+ result: {
598
+ ...resp.result,
599
+ freeform: freeform,
600
+ },
601
+ info: resp.info,
602
+ timing: resp.timing,
603
+ };
604
+ }
605
+ async cleanupTempDirAsync() {
606
+ // unmap shared memory for the socket
607
+ if (this._tempDir) {
608
+ try {
609
+ await fs_1.default.promises.rm(this._tempDir, { recursive: true });
610
+ this._tempDir = undefined;
611
+ }
612
+ catch (ex) {
613
+ // noop
614
+ }
615
+ }
616
+ }
533
617
  }
534
618
  exports.LinuxImpulseRunner = LinuxImpulseRunner;
535
619
  //# sourceMappingURL=linux-impulse-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linux-impulse-runner.js","sourceRoot":"","sources":["../../../library/classifier/linux-impulse-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linux-impulse-runner.js","sourceRoot":"","sources":["../../../library/classifier/linux-impulse-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,iDAAoD;AACpD,4CAAoB;AACpB,+BAAoC;AACpC,gDAAwB;AACxB,4CAAoB;AACpB,gDAAwB;AACxB,8CAAsB;AACtB,+CAAoD;AACpD,kDAA0B;AAC1B,6EAGqE;AACrE,iEAAmE;AAEnE,MAAM,MAAM,GAAG,sBAAsB,CAAC;AAEtC,+DAA6C;AAM7C,MAAa,kBAAkB;IA6B3B;;;OAGG;IACH,YAAY,IAAY,EAAE,IAYzB;QAzCO,cAAS,GAAG,IAAI,mBAAY,EAGhC,CAAC;QACG,QAAG,GAAG,CAAC,CAAC;QACR,aAAQ,GAAG,KAAK,CAAC;QAiBjB,YAAO,GAAa,EAAE,CAAC;QAoB3B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE,WAAW,IAAI,MAAM,CAAC;QAEhD,wEAAwE;QACxE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAClC,IAAI;oBACA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC/B;gBACD,OAAO,EAAE,EAAE;oBACP,OAAO;iBACV;aACJ;YACD,iDAAiD;YACjD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI;oBACA,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;iBAC7B;gBACD,OAAO,EAAE,EAAE;oBACP,OAAO;iBACV;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,SAAkB;QACzB,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAI,QAAQ,GAAG,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE/D,yFAAyF;QACzF,IAAI,QAAQ,GAAG,YAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC/B,QAAQ,GAAG,UAAU,CAAC;SACzB;QAED,IAAI,UAAkB,CAAC;QACvB,IAAI,QAAQ,EAAE;YACV,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;SAC3B;aACI;YACD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEjC,IAAI,CAAC,QAAQ,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACnF,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAErD,sBAAsB;YACtB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAClC,kBAAkB;gBAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,yCAAyC;aAC5C;YACD,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,MAAM,uBAAuB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC1E,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,gDAAyB,EAAE,OAAO,CAAC,CAAC;gBAEzF,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAK,EAAC,UAAU,EAAE;oBAC7B,iBAAiB,GAAG,uBAAuB;oBAC3C,iBAAiB;oBACjB,8BAA8B;oBAC9B,wBAAwB;oBACxB,qBAAqB;oBACrB,oBAAoB;oBACpB,IAAI,CAAC,KAAK;oBACV,UAAU;iBACb,CAAC,CAAC;aACN;iBACI;gBACD,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAK,EAAC,IAAI,CAAC,KAAK,EAAE,CAAE,UAAU,CAAE,CAAC,CAAC;aACpD;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;aACrC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;oBAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC3B;gBACL,CAAC,CAAC,CAAC;aACN;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;oBAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC3B;gBACL,CAAC,CAAC,CAAC;aACN;YAED,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;gBAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,CAAC;YAEF,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aAC5C;YAED,IAAI,QAAmC,CAAC;YAExC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC3B,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,CAAC,EAAE;oBACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAAC,CAAC;iBACvE;gBACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBACtE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;aAC5D;YAED,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;gBACjC,IAAI,GAAG,GAAG,gCAAgC,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;gBACvE,IAAI,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/C,GAAG,IAAI,MAAM;wBACT,8CAA8C;wBAC9C,yHAAyH,CAAC;iBACjI;gBACD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;aACxB;YAED,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;gBACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aAC7C;SACJ;QAED,uBAAuB;QACvB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,OAAO,GAAG,aAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC3B,mCAAmC;YACnC,+CAA+C;YAC/C,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBAC5C,IAAI,IAAI,CAAC,CAAC;gBAEV,IAAI,CAAC,KAAK,GAAG,EAAE;oBACX,UAAU,EAAE,CAAC;iBAChB;qBACI,IAAI,CAAC,KAAK,GAAG,EAAE;oBAChB,YAAY,EAAE,CAAC;oBACf,IAAI,YAAY,KAAK,UAAU,EAAE;wBAC7B,IAAI;4BACA,IAAI,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;yBACxC;wBACD,OAAO,GAAG,EAAE;4BACR,IAAI,EAAE,GAAU,GAAG,CAAC;4BACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;yBAC7D;wBAED,IAAI,GAAG,EAAE,CAAC;wBACV,YAAY,GAAG,CAAC,CAAC;wBACjB,UAAU,GAAG,CAAC,CAAC;qBAClB;iBACJ;qBACI,IAAI,UAAU,KAAK,CAAC,EAAE;oBACvB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;iBAC1C;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEpC,UAAU,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,6BAA6B,GAAG,UAAU,CAAC,CAAC;YACvD,CAAC,EAAE,KAAK,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;YAC/B,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;SAC3D;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,SAA2B;QACrC,IAAI,KAAK,GAAG,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC;QACpD,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;YAC9C,yDAAyD;YACzD,OAAO,IAAI,CAAC;SACf;QAED,IAAI,SAAS,CAAC,eAAe,CAAC,kBAAkB,KAAK,yDAA4B,CAAC,QAAQ,EAAE;YACxF,oDAAoD;YACpD,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACxD;QAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC9B,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,UAAU,CAAC,GAAG,EAAE;oBACZ,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAC/B;gBACL,CAAC,EAAE,IAAI,CAAC,CAAC;aACZ;iBACI;gBACD,OAAO,EAAE,CAAC;aACb;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAChD;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAc,EAAE,OAAgB;QAE3C,IAAI,IAA+B,CAAC;QAEpC,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnB,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAmD;gBACrE,YAAY,EAAE;oBACV,QAAQ,EAAE,IAAI,CAAC,MAAM;iBACxB;aACJ,EAAE,OAAO,CAAC,CAAC;SACf;aACI;YACD,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAmD,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;SACzG;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAc,EAAE,OAAgB;QACrD,IAAI,IAA+B,CAAC;QAEpC,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnB,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAA6D;gBAC/E,uBAAuB,EAAE;oBACrB,QAAQ,EAAE,IAAI,CAAC,MAAM;iBACxB;aACJ,EAAE,OAAO,CAAC,CAAC;SACf;aACI;YACD,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAA6D;gBAC/E,mBAAmB,EAAE,IAAI;aAC5B,EAAE,OAAO,CAAC,CAAC;SACf;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,GAAyB;QAClD,IAAI,IAAgC,CAAC;QACrC,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE;YAC5B,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwD;gBAC1E,aAAa,EAAE;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;iBAC3C;aACJ,CAAC,CAAC;SACN;aACI,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE;YACtC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwD;gBAC1E,aAAa,EAAE;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,SAAS,EAAE,GAAG,CAAC,SAAS;iBAC3B;aACJ,CAAC,CAAC;SACN;aACI,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE;YACrC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwD;gBAC1E,aAAa,EAAE;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;oBACtC,SAAS,EAAE,GAAG,CAAC,SAAS;iBAC3B;aACJ,CAAC,CAAC;SACN;aACI,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACpC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwD;gBAC1E,aAAa,EAAE;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,SAAS,EAAE,GAAG,CAAC,SAAS;iBAC3B;aACJ,CAAC,CAAC;SACN;aACI;YACD,MAAM,IAAI,KAAK,CAAC,+DAAkF,GAAI,CAAC,IAAI,IAAI,CAAC,CAAC;SACpH;IACL,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAA0C,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,IAAI,MAAM,GAAyE,SAAS,CAAC;QAC7F,QAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAClC,KAAK,CAAC,CAAC,CAAC;YACR;gBACI,MAAM,GAAG,SAAS,CAAC;gBAAC,MAAM;YAC9B,KAAK,CAAC;gBACF,MAAM,GAAG,YAAY,CAAC;gBAAC,MAAM;YACjC,KAAK,CAAC;gBACF,MAAM,GAAG,eAAe,CAAC;gBAAC,MAAM;YACpC,KAAK,CAAC;gBACF,MAAM,GAAG,QAAQ,CAAC;gBAAC,MAAM;YAC7B,KAAK,CAAC;gBACF,MAAM,GAAG,YAAY,CAAC;gBAAC,MAAM;SACpC;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzF,MAAM,IAAI,KAAK,CAAC,gCAAgC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,gDAAgD;oBACrH,sDAAsD,QAAQ,EAAE,CAAC,CAAC;aACzE;YAED,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iDAAiD,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACpG;SACJ;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,EAAE;YACvF,IAAI,IAAiC,CAAC;YAEtC,IAAI;gBACA,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;oBAC9B,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACnC;qBACI,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;oBACpC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACnC;gBAED,IAAI,IAAI,EAAE;oBACN,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;oBAE1C,eAAe;oBACf;wBACI,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAM,EAAE,KAAK,CAAC,CAAC;wBACtE,MAAM,GAAG,GAAG,WAAW,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;wBAE5E,IAAI,CAAC,SAAS,GAAG;4BACb,IAAI,EAAE,WAAW;4BACjB,EAAE,EAAE,EAAE;4BACN,GAAG,EAAE,GAAG;yBACX,CAAC;wBAEF,IAAI,IAAI,CAAC,QAAQ,EAAE;4BACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,+CAA+C,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;yBACjG;qBACJ;oBAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;wBAC1B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;wBAC7B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,mBAAmB,IAAI,EAAE,EAAE;4BACpD,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,oBAAM,EAAE,KAAK,CAAC,CAAC;4BAC9D,MAAM,GAAG,GAAG,WAAW,CAAC,iBAAiB,CAAC,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;4BAEpE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;gCACzB,KAAK,EAAE,SAAS,CAAC,KAAK;gCACtB,IAAI,EAAE,WAAW;gCACjB,EAAE,EAAE,EAAE;gCACN,GAAG,EAAE,GAAG;gCACR,QAAQ,EAAE,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC;6BACzD,CAAC,CAAC;4BAEH,IAAI,IAAI,CAAC,QAAQ,EAAE;gCACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,8CAA8C,SAAS,CAAC,KAAK,MAAM,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;6BAC7G;yBACJ;qBACJ;iBACJ;aACJ;YACD,OAAO,GAAG,EAAE;gBACR,MAAM,EAAE,GAAU,GAAG,CAAC;gBACtB,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;oBAChC,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK;wBAC9E,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACpC;gBACD,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,uCAAuC,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK;wBAClF,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACpC;aACJ;SACJ;QAED,IAAI,IAAI,GAAqB;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;YACjE,iBAAiB,EAAE,EAAE,GAAG,IAAI,CAAC,kBAAkB,IAAI,SAAS,EAAC;SAChE,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,gBAAgB,CAAC;SACtD;QACD,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,KAAK,WAAW,EAAE;YAChE,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,IAAI,CAAsB,GAAM,EAAE,UAAmB;QAEzD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAO,CAAC,CAAC,CAAC,uCAAuC;gBACjD,KAAM,CAAC;YAEX,IAAI,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC;YAE3E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YAED,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;YAEvB,MAAM,MAAM,GAAG,CAAC,IAAoB,EAAE,EAAE;gBACpC,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;oBACnB,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;qBACpC;oBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBACtC,OAAO,CAAa,IAAI,CAAC,CAAC;iBAC7B;YACL,CAAC,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC3C,EAAE,EAAE,KAAK;aACZ,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAEhC,UAAU,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,sBAAsB,OAAO,GAAG,IAAI,eAAe;oBACtD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,MAAM,MAAM,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;gBAClC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAEjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAChB,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;iBACzC;YACL,CAAC,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aACnC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,MAAM,CAAC,IAAY;QAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI;YACA,MAAM,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,GAAG,IAAI,CAAC;SACjB;QACD,OAAO,EAAE,EAAE;YACP,UAAU;SACb;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAA0C;QACtE,MAAM,UAAU,GAAG,sBAAsB,CAAC;QAE1C,MAAM,OAAO,GAAG,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC;QACxC,IAAI,UAAsC,CAAC;QAC3C,IAAI;YACA,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,4EAA4E;oBAChG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC5B,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE3B,MAAM,IAAI,CAAC,QAAQ,CAAW,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACrF,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEvC,IAAI,UAAU,EAAE;gBACZ,aAAa,CAAC,UAAU,CAAC,CAAC;aAC7B;YAED,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,4EAA4E;gBAChG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;YAEjC,IAAI,SAAS,GAAG,IAAI,EAAE;gBAClB,oGAAoG;gBACpG,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;oBAClC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,gGAAgG,CAAC,CAAC;oBAC1H,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAE,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,+BAA+B,CAAC,CAAC;oBACxG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,4EAA4E,CAAC,CAAC;oBACtG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;iBAC/B;aACJ;SACJ;QACD,OAAO,GAAG,EAAE;YACR,MAAM,EAAE,GAAU,GAAG,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,iCAAiC;YAClD,MAAM,EAAE,CAAC;SACZ;gBACO;YACJ,IAAI,UAAU,EAAE;gBACZ,aAAa,CAAC,UAAU,CAAC,CAAC;aAC7B;SACJ;IACL,CAAC;IAEO,0BAA0B,CAAC,IAAsC;QACrE,yFAAyF;QACzF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAG;YACxB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YACnD,OAAO;gBACH,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC;SACL;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACrC,OAAO;gBACH,MAAM,EAAE;oBACJ,GAAG,IAAI,CAAC,MAAM;oBACd,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;iBACjC;gBACD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC;SACL;QAED,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,4BAA4B;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE,EAAE;YAC7C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC3C;QAED,OAAO;YACH,MAAM,EAAE;gBACJ,GAAG,IAAI,CAAC,MAAM;gBACd,QAAQ,EAAE,QAAQ;aACrB;YACD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC7B,qCAAqC;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI;gBACA,MAAM,YAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;aAC7B;YACD,OAAO,EAAE,EAAE;gBACP,OAAO;aACV;SACJ;IACL,CAAC;CACJ;AArsBD,gDAqsBC"}