@tak-ps/node-cot 14.50.0 → 14.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/lib/parser/from_geojson.js +12 -6
- package/dist/lib/parser/from_geojson.js.map +1 -1
- package/dist/lib/parser.d.ts +8 -0
- package/dist/lib/parser.js +35 -0
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/utils/2525.d.ts +23 -0
- package/dist/lib/utils/2525.js +43 -2
- package/dist/lib/utils/2525.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/lib/parser/from_geojson.ts +12 -5
- package/lib/parser.ts +53 -0
- package/lib/utils/2525.ts +47 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,17 @@
|
|
|
12
12
|
|
|
13
13
|
### Pending Fixed
|
|
14
14
|
|
|
15
|
+
### v14.52.0 - 2025-08-11
|
|
16
|
+
|
|
17
|
+
- :tada: Add `CoTParser.from_xml_document()` for parsing multi-event XML documents (ie: the TAK Server Mission API CoT endpoint) - each event is parsed & validated individually and returned in `cots`, with unparseable events collected in `invalid` as `{ error, event }` (the raw unmutated xml-js event) so a single poisoned CoT doesn't prevent valid CoTs from being returned
|
|
18
|
+
- :white_check_mark: `from_xml_document` coverage: mixed valid/poisoned documents, ordering, bare `<event>` root, XML declaration, boolean attr normalization, pristine invalid events, Flow-Tag absence & GeoJSON conversion of parsed CoTs
|
|
19
|
+
|
|
20
|
+
### v14.51.0 - 2025-08-05
|
|
21
|
+
|
|
22
|
+
- :bug: The SIDC is now emitted on both the `__milsym` & `__milicon` details - the takkernel `MilSymDetailHandler` registers `__milsym` only, while newer clients read `__milicon` (ATAK-20119), so MIL-STD symbols previously failed to render depending on the receiving client's version
|
|
23
|
+
- :tada: Add `Type2525.cotTypeFromNumericSIDC()` - returns the most specific CoT Type a numeric SIDC can express (`a-f-G-U-C-I` instead of `a-f-G`), preserving the Type derived icon fallback for clients that can't resolve the SIDC. A numeric SIDC on the GeoJSON `type` property now uses it
|
|
24
|
+
- :bug: `Type2525.to2525D()` short codes (types with no Function ID) declared an undefined `12` SIDC Version field, which clients can't map to a symbology provider - they now declare `10` (2525D) like converted codes do
|
|
25
|
+
|
|
15
26
|
### v14.50.0 - 2025-08-01
|
|
16
27
|
|
|
17
28
|
- :bug: MilIcon augmentation no longer clobbers an existing `__milicon` detail with the generic SIDC derived from the CoT type
|
|
@@ -31,7 +31,7 @@ export async function from_geojson(feature, opts = {}) {
|
|
|
31
31
|
id: feature.properties.type
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
feature.properties.type = Type2525.
|
|
34
|
+
feature.properties.type = Type2525.cotTypeFromNumericSIDC(feature.properties.type);
|
|
35
35
|
}
|
|
36
36
|
const cot = {
|
|
37
37
|
event: {
|
|
@@ -150,11 +150,17 @@ export async function from_geojson(feature, opts = {}) {
|
|
|
150
150
|
if (feature.properties.geofence) {
|
|
151
151
|
cot.event.detail.__geofence = { _attributes: { ...feature.properties.geofence } };
|
|
152
152
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
153
|
+
// Clients disagree on which detail carries the SIDC - the takkernel
|
|
154
|
+
// MilSymDetailHandler registers `__milsym` only, while newer clients read
|
|
155
|
+
// `__milicon` (ATAK-20119). Emit both, as TAKX itself does, so the symbol
|
|
156
|
+
// resolves regardless of the receiving client's version
|
|
157
|
+
const milsymId = feature.properties.milsym?.id ?? feature.properties.milicon?.id;
|
|
158
|
+
const miliconId = feature.properties.milicon?.id ?? feature.properties.milsym?.id;
|
|
159
|
+
if (milsymId) {
|
|
160
|
+
cot.event.detail.__milsym = { _attributes: { id: milsymId } };
|
|
161
|
+
}
|
|
162
|
+
if (miliconId) {
|
|
163
|
+
cot.event.detail.__milicon = { _attributes: { id: miliconId } };
|
|
158
164
|
}
|
|
159
165
|
if (feature.properties.sensor) {
|
|
160
166
|
cot.event.detail.sensor = { _attributes: { ...feature.properties.sensor } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from_geojson.js","sourceRoot":"","sources":["../../../lib/parser/from_geojson.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"from_geojson.js","sourceRoot":"","sources":["../../../lib/parser/from_geojson.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAW7C,OAAO,EACH,YAAY,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,aAAa,MAAM,YAAY,CAAC;AACvC,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,cAAc,MAAM,wBAAwB,CAAC;AACpD,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,OAAO,MAAM,mBAAmB,CAAA;AACvC,OAAO,GAAG,MAAM,WAAW,CAAC;AAG5B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,OAAoC,EACpC,OAAmB,EAAE;IAErB,IAAI,CAAC;QACD,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;YACtD,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,qBAAqB,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,uFAAuF;IACvF,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,QAAQ,CAAC,wBAAwB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACxF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,GAAG;gBACzB,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI;aAC9B,CAAC;QACN,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,GAAG,GAA2B;QAChC,KAAK,EAAE;YACH,WAAW,EAAE,IAAI,CAAC,cAAc,CAC5B,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,EAClC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,KAAK,EAC/B,OAAO,CAAC,UAAU,CAAC,IAAI,EACvB,OAAO,CAAC,UAAU,CAAC,KAAK,EACxB,OAAO,CAAC,UAAU,CAAC,KAAK,CAC3B;YACD,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;YACvB,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;SAC7D;KACJ,CAAC;IAEF,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM;QAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;IAE7C,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;IAChF,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAG,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAmC,EAAE,EAAE;YAC/F,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC,CAAA;IACP,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAE5B,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YACnC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAE7G,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5C,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC1C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG;YACzB,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;YAClC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS;SAClD,CAAA;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG;YACzB,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YAC7B,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS;SAClD,CAAA;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG;YACzB,WAAW,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;YAC3C,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS;SAClD,CAAA;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG;YACzB,WAAW,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;YACtC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS;SAClD,CAAA;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG;YACzB,WAAW,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;YAC1C,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS;SAClD,CAAA;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAE/G,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG;YACxB,WAAW,EAAE;gBACT,WAAW,EAAE,iCAAiC,IAAI,CAAC,QAAQ,EAAE,EAAE;aAClE;SACJ,CAAA;IACL,CAAC;IAGD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED,IACI,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;WACrC,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;WACxC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAC5C,CAAC;QACC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACrE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC9E,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC9E,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAC5E,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;IAClF,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACzC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAG,EAAE,CAAA;IAClF,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAG,EAAE,CAAA;IACtF,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;IACtF,CAAC;IAED,oEAAoE;IACpE,0EAA0E;IAC1E,0EAA0E;IAC1E,wDAAwD;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;IACjF,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;IAElF,IAAI,QAAQ,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;IAChF,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,GAAG;YAC/B,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,EAAE;SACvD,CAAC;QAEF,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAA0C,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1J,CAAC;QAED,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAA6C,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/J,CAAC;QAED,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACvB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,gBAAgB,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACrG,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAuC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3I,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAsC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACxI,CAAC;QAED,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACvB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,gBAAgB,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACrG,CAAC;QAED,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,mBAAmB,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC3G,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,GAAG;YAChC,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE;SACxD,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAyC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjJ,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,GAAG;YAC/B,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,EAAE;SACvD,CAAC;QAEF,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC9B,MAAM,WAAW,GAAgH,EAAE,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;gBAC/J,IAAI,KAAK,EAAE,CAAC;oBACR,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAA+C,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACpH,CAAC;gBACD,OAAO,WAAW,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG;YACvB,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE;YAClD,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE;SAC7C,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACxE,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;IACxF,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAEnE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACpC,OAAO,KAAK,CAAC,UAAU,CAAC;YAExB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG;gBACvB,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE;gBACzB,eAAe,EAAE;oBACb,WAAW,EAAE,UAAU;iBAC1B;aACJ,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;QAChF,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,GAAG,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;IACnH,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG;YACvB,WAAW,EAAE;gBACT,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO;gBAC7B,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS;aACrD;SACJ,CAAC;IACN,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;IACtF,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9H,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;YACrB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;SAClH,CAAA;IACL,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAA;IAC/E,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAA;IACrF,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAA;IAC/E,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACvC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAA;IACrG,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC1B,6FAA6F;QAC7F,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI;iBAC5C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEzB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC;YACtC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAA;IACzF,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG;YACvB,WAAW,EAAE;gBACT,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;gBACrC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;gBACrC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;gBACrC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;gBACrC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS;aAClD;SACJ,CAAA;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;YAE3C,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzG,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;gBACpD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YACnH,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzG,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACvG,CAAC;QACL,CAAC;IACL,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAG,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IAEzF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC1D,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEhH,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;YACrB,WAAW,EAAE;gBACT,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACtB,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;aAC1B;SACJ,CAAC;IACN,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAC7E,CAAC;SAAM,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACjH,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAChF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,EAAE,WAAW,EAAE;gBAC3C,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;aAC5C,EAAE,CAAC;QAEJ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC;QACtF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,WAAW,EAAE;gBAC1C,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;aAC5C,EAAE,CAAC;QAEJ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3G,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC7E,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChD,8EAA8E;YAC9E,oFAAoF;YACpF,wEAAwE;YACxE,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/G,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,mEAAmE,CAAC,CAAA;YAC3H,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;YACxE,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAEtH,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YACpE,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAEhH,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;gBACrB,OAAO,EAAE;oBACL,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;iBAChD;gBACD,IAAI,EAAE;oBACF,WAAW,EAAE;wBACT,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,QAAQ;wBACzC,IAAI,EAAE,cAAc;wBACpB,QAAQ,EAAE,KAAK;qBAClB;oBACD,KAAK,EAAE;wBACH,SAAS,EAAE;4BACP,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE;4BACtC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;yBAC5H;wBACD,SAAS,EAAE;4BACP,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE;yBACvC;qBACJ;iBACJ;aACJ,CAAA;QAEL,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvF,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnD,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG;gBAC3B,SAAS,EAAE;oBACP,QAAQ,EAAE,EAAE;iBACf;aACJ,CAAA;YAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvB,WAAW,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE;wBACxB,QAAQ,EAAE,EAAE;wBACZ,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;qBACnC;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnD,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvB,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;iBACpD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;gBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;iBAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAE/F,oCAAoC;YACpC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvB,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;iBACpD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QACvF,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QACnE,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;QAEzD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACjH,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/D,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE/D,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC;YAC1C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,cAAc,CAAC,OAAqB,CAAC,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACjE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACjE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAElC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAA;IACjD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
package/dist/lib/parser.d.ts
CHANGED
|
@@ -9,6 +9,10 @@ import type { CoTOptions } from './cot.js';
|
|
|
9
9
|
export interface SerializerOptions {
|
|
10
10
|
resetFlow: boolean;
|
|
11
11
|
}
|
|
12
|
+
export interface CoTParseError {
|
|
13
|
+
error: string;
|
|
14
|
+
event: unknown;
|
|
15
|
+
}
|
|
12
16
|
/**
|
|
13
17
|
* Convert to and from an XML CoT message
|
|
14
18
|
* @class
|
|
@@ -33,6 +37,10 @@ export declare class CoTParser {
|
|
|
33
37
|
diffFlow: boolean;
|
|
34
38
|
}): Promise<boolean>;
|
|
35
39
|
static from_xml(raw: Buffer | string, opts?: CoTOptions): CoT;
|
|
40
|
+
static from_xml_document(raw: Buffer | string, opts?: CoTOptions): {
|
|
41
|
+
cots: CoT[];
|
|
42
|
+
invalid: CoTParseError[];
|
|
43
|
+
};
|
|
36
44
|
static to_xml(cot: CoT, opts?: SerializerOptions): string;
|
|
37
45
|
/**
|
|
38
46
|
* Return an ATAK Compliant Protobuf
|
package/dist/lib/parser.js
CHANGED
|
@@ -121,6 +121,41 @@ export class CoTParser {
|
|
|
121
121
|
const cot = new CoT(parsed, opts);
|
|
122
122
|
return this.validate(cot);
|
|
123
123
|
}
|
|
124
|
+
static from_xml_document(raw, opts = {}) {
|
|
125
|
+
const str = String(raw);
|
|
126
|
+
let parsed;
|
|
127
|
+
try {
|
|
128
|
+
parsed = xml2js(str, { compact: true });
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
console.error(`Failed to parse CoT XML Document: ${str}`);
|
|
132
|
+
throw err;
|
|
133
|
+
}
|
|
134
|
+
normalizeBooleanAttributeValues(parsed);
|
|
135
|
+
let events = [];
|
|
136
|
+
if (parsed && typeof parsed === 'object') {
|
|
137
|
+
if (parsed.events && parsed.events.event) {
|
|
138
|
+
events = Array.isArray(parsed.events.event) ? parsed.events.event : [parsed.events.event];
|
|
139
|
+
}
|
|
140
|
+
else if (parsed.event) {
|
|
141
|
+
events = Array.isArray(parsed.event) ? parsed.event : [parsed.event];
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const cots = [];
|
|
145
|
+
const invalid = [];
|
|
146
|
+
for (const event of events) {
|
|
147
|
+
try {
|
|
148
|
+
cots.push(this.validate(new CoT({ event: structuredClone(event) }, opts), { flow: false }));
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
invalid.push({
|
|
152
|
+
error: err instanceof Error ? err.message : String(err),
|
|
153
|
+
event
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return { cots, invalid };
|
|
158
|
+
}
|
|
124
159
|
static to_xml(cot, opts) {
|
|
125
160
|
if (opts?.resetFlow) {
|
|
126
161
|
resetFlowTags(cot);
|
package/dist/lib/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../lib/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../lib/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/utils/2525.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Digits 1-2 of a numeric SIDC are the Version field - "10" is 2525D
|
|
3
|
+
*
|
|
4
|
+
* TAK Clients dispatch to a symbology provider based on this field
|
|
5
|
+
* (10 => APP6-D, 11 => 2525D, 13 => 2525E, 15 => 2525E Ch1) and fall back to
|
|
6
|
+
* 2525C - where a numeric SIDC is never a valid symbol - when the version is
|
|
7
|
+
* unknown to them, resulting in no symbol being rendered at all
|
|
8
|
+
*/
|
|
9
|
+
export declare const VERSION_2525D = "10";
|
|
1
10
|
export declare enum Domain {
|
|
2
11
|
ATOM = "a",
|
|
3
12
|
BITS = "b",
|
|
@@ -64,6 +73,20 @@ export default class Type2525 {
|
|
|
64
73
|
* @param sidc - Numeric SIDC to convert
|
|
65
74
|
*/
|
|
66
75
|
static fromNumericSIDC(sidc: string): string;
|
|
76
|
+
/**
|
|
77
|
+
* Given a numeric SIDC (2525D/2525E), return the most specific CoT Atom Type
|
|
78
|
+
* that can be derived from it, falling back to the basic
|
|
79
|
+
* `a-<affiliation>-<battle dimension>` type from {@link fromNumericSIDC}
|
|
80
|
+
* when the symbol has no warfighting (2525B) equivalent
|
|
81
|
+
*
|
|
82
|
+
* Clients that can't resolve the SIDC itself - either because they predate
|
|
83
|
+
* the given 2525 variant or because the detail carrying it was dropped -
|
|
84
|
+
* derive their icon from the CoT Type, so retaining the Function ID is what
|
|
85
|
+
* keeps a meaningful fallback icon on those clients
|
|
86
|
+
*
|
|
87
|
+
* @param sidc - Numeric SIDC to convert
|
|
88
|
+
*/
|
|
89
|
+
static cotTypeFromNumericSIDC(sidc: string): string;
|
|
67
90
|
/**
|
|
68
91
|
* Check a given SIDC to see if it is compatible with conversion to CoT Type
|
|
69
92
|
*
|
package/dist/lib/utils/2525.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import { convertLetterSidc2NumberSidc } from "@orbat-mapper/convert-symbology";
|
|
1
|
+
import { convertLetterSidc2NumberSidc, convertNumberSidc2LetterSidc } from "@orbat-mapper/convert-symbology";
|
|
2
|
+
/**
|
|
3
|
+
* Digits 1-2 of a numeric SIDC are the Version field - "10" is 2525D
|
|
4
|
+
*
|
|
5
|
+
* TAK Clients dispatch to a symbology provider based on this field
|
|
6
|
+
* (10 => APP6-D, 11 => 2525D, 13 => 2525E, 15 => 2525E Ch1) and fall back to
|
|
7
|
+
* 2525C - where a numeric SIDC is never a valid symbol - when the version is
|
|
8
|
+
* unknown to them, resulting in no symbol being rendered at all
|
|
9
|
+
*/
|
|
10
|
+
export const VERSION_2525D = '10';
|
|
2
11
|
export var Domain;
|
|
3
12
|
(function (Domain) {
|
|
4
13
|
Domain["ATOM"] = "a";
|
|
@@ -142,7 +151,7 @@ export default class Type2525 {
|
|
|
142
151
|
const AFF = str_sidc[1].toUpperCase();
|
|
143
152
|
const DIM = str_sidc[2].toUpperCase();
|
|
144
153
|
const STS = str_sidc[3].toUpperCase();
|
|
145
|
-
return
|
|
154
|
+
return VERSION_2525D + SID_MAP[AFF] + DIM_MAP[DIM] + STATUS_MAP[STS] + '0000000000000';
|
|
146
155
|
}
|
|
147
156
|
else {
|
|
148
157
|
const convert = convertLetterSidc2NumberSidc(str_sidc);
|
|
@@ -194,6 +203,38 @@ export default class Type2525 {
|
|
|
194
203
|
const dimension = SYMBOL_SET_DIM_MAP[sidc.substring(4, 6)] || 'G';
|
|
195
204
|
return `a-${affiliation}-${dimension}`;
|
|
196
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Given a numeric SIDC (2525D/2525E), return the most specific CoT Atom Type
|
|
208
|
+
* that can be derived from it, falling back to the basic
|
|
209
|
+
* `a-<affiliation>-<battle dimension>` type from {@link fromNumericSIDC}
|
|
210
|
+
* when the symbol has no warfighting (2525B) equivalent
|
|
211
|
+
*
|
|
212
|
+
* Clients that can't resolve the SIDC itself - either because they predate
|
|
213
|
+
* the given 2525 variant or because the detail carrying it was dropped -
|
|
214
|
+
* derive their icon from the CoT Type, so retaining the Function ID is what
|
|
215
|
+
* keeps a meaningful fallback icon on those clients
|
|
216
|
+
*
|
|
217
|
+
* @param sidc - Numeric SIDC to convert
|
|
218
|
+
*/
|
|
219
|
+
static cotTypeFromNumericSIDC(sidc) {
|
|
220
|
+
const basic = this.fromNumericSIDC(sidc);
|
|
221
|
+
try {
|
|
222
|
+
const convert = convertNumberSidc2LetterSidc(sidc);
|
|
223
|
+
if (convert.success && this.isTypeConvertable(convert.sidc)) {
|
|
224
|
+
const type = this.from2525B(convert.sidc);
|
|
225
|
+
// Only prefer the converted Type when it agrees with the basic Type on
|
|
226
|
+
// affiliation & battle dimension - the 2525B tables can't express every
|
|
227
|
+
// numeric identity (exercise & simulation identities in particular all
|
|
228
|
+
// collapse to Friend when converted back)
|
|
229
|
+
if (type.startsWith(`${basic}-`))
|
|
230
|
+
return type;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
// No 2525B equivalent - fall back to the basic Type
|
|
235
|
+
}
|
|
236
|
+
return basic;
|
|
237
|
+
}
|
|
197
238
|
/**
|
|
198
239
|
* Check a given SIDC to see if it is compatible with conversion to CoT Type
|
|
199
240
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2525.js","sourceRoot":"","sources":["../../../lib/utils/2525.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"2525.js","sourceRoot":"","sources":["../../../lib/utils/2525.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../index.ts","../cli.ts","../test/2525.test.ts","../test/basemaps.test.ts","../test/basic.test.ts","../test/chat.test.ts","../test/cli.test.ts","../test/cot-emergency.test.ts","../test/cot-fileshare.test.ts","../test/cot-itak.test.ts","../test/cot-mma.test.ts","../test/cot-range-and-bearing.test.ts","../test/cot-routes.test.ts","../test/cot-shapes.test.ts","../test/cot-spotted.test.ts","../test/cot-types.test.ts","../test/cot-uas-tool.test.ts","../test/cot-user-draw.test.ts","../test/cot-video.test.ts","../test/cot_is.test.ts","../test/creator.test.ts","../test/diff.test.ts","../test/flow-tags.test.ts","../test/force-delete.ts","../test/from_geojson.test.ts","../test/iconset.test.ts","../test/milicon.test.ts","../test/milsym.test.ts","../test/newlines.test.ts","../test/normalize_geojson.test.ts","../test/package.test.ts","../test/reversal-geojson.test.ts","../test/reversal-proto.test.ts","../test/stream.ts","../test/taskings-mission.test.ts","../test/util.test.ts","../test/validation.test.ts","../lib/cot.ts","../lib/data-package.ts","../lib/parser-normalize.ts","../lib/parser.ts","../lib/sensor.ts","../lib/type.ts","../lib/xml-document.ts","../lib/xml/basemap.ts","../lib/xml/iconset.ts"],"version":"6.0.3"}
|
|
1
|
+
{"root":["../index.ts","../cli.ts","../test/2525.test.ts","../test/basemaps.test.ts","../test/basic.test.ts","../test/chat.test.ts","../test/cli.test.ts","../test/cot-emergency.test.ts","../test/cot-fileshare.test.ts","../test/cot-itak.test.ts","../test/cot-mma.test.ts","../test/cot-range-and-bearing.test.ts","../test/cot-routes.test.ts","../test/cot-shapes.test.ts","../test/cot-spotted.test.ts","../test/cot-types.test.ts","../test/cot-uas-tool.test.ts","../test/cot-user-draw.test.ts","../test/cot-video.test.ts","../test/cot_is.test.ts","../test/creator.test.ts","../test/diff.test.ts","../test/flow-tags.test.ts","../test/force-delete.ts","../test/from_geojson.test.ts","../test/from_xml_document.test.ts","../test/iconset.test.ts","../test/milicon.test.ts","../test/milsym.test.ts","../test/newlines.test.ts","../test/normalize_geojson.test.ts","../test/package.test.ts","../test/reversal-geojson.test.ts","../test/reversal-proto.test.ts","../test/stream.ts","../test/taskings-mission.test.ts","../test/util.test.ts","../test/validation.test.ts","../lib/cot.ts","../lib/data-package.ts","../lib/parser-normalize.ts","../lib/parser.ts","../lib/sensor.ts","../lib/type.ts","../lib/xml-document.ts","../lib/xml/basemap.ts","../lib/xml/iconset.ts"],"version":"6.0.3"}
|
|
@@ -51,7 +51,7 @@ export async function from_geojson(
|
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
feature.properties.type = Type2525.
|
|
54
|
+
feature.properties.type = Type2525.cotTypeFromNumericSIDC(feature.properties.type);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
const cot: Static<typeof JSONCoT> = {
|
|
@@ -195,12 +195,19 @@ export async function from_geojson(
|
|
|
195
195
|
cot.event.detail.__geofence = { _attributes: { ...feature.properties.geofence } };
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
// Clients disagree on which detail carries the SIDC - the takkernel
|
|
199
|
+
// MilSymDetailHandler registers `__milsym` only, while newer clients read
|
|
200
|
+
// `__milicon` (ATAK-20119). Emit both, as TAKX itself does, so the symbol
|
|
201
|
+
// resolves regardless of the receiving client's version
|
|
202
|
+
const milsymId = feature.properties.milsym?.id ?? feature.properties.milicon?.id;
|
|
203
|
+
const miliconId = feature.properties.milicon?.id ?? feature.properties.milsym?.id;
|
|
204
|
+
|
|
205
|
+
if (milsymId) {
|
|
206
|
+
cot.event.detail.__milsym = { _attributes: { id: milsymId } };
|
|
200
207
|
}
|
|
201
208
|
|
|
202
|
-
if (
|
|
203
|
-
cot.event.detail.__milicon = { _attributes: { id:
|
|
209
|
+
if (miliconId) {
|
|
210
|
+
cot.event.detail.__milicon = { _attributes: { id: miliconId } };
|
|
204
211
|
}
|
|
205
212
|
|
|
206
213
|
if (feature.properties.sensor) {
|
package/lib/parser.ts
CHANGED
|
@@ -42,6 +42,11 @@ export interface SerializerOptions {
|
|
|
42
42
|
resetFlow: boolean
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
export interface CoTParseError {
|
|
46
|
+
error: string;
|
|
47
|
+
event: unknown;
|
|
48
|
+
}
|
|
49
|
+
|
|
45
50
|
function resetFlowTags(cot: CoT): void {
|
|
46
51
|
const flowTags = cot.raw.event.detail?.['_flow-tags_'];
|
|
47
52
|
|
|
@@ -180,6 +185,54 @@ export class CoTParser {
|
|
|
180
185
|
return this.validate(cot);
|
|
181
186
|
}
|
|
182
187
|
|
|
188
|
+
static from_xml_document(
|
|
189
|
+
raw: Buffer | string,
|
|
190
|
+
opts: CoTOptions = {}
|
|
191
|
+
): {
|
|
192
|
+
cots: CoT[];
|
|
193
|
+
invalid: CoTParseError[];
|
|
194
|
+
} {
|
|
195
|
+
const str = String(raw);
|
|
196
|
+
|
|
197
|
+
let parsed: any;
|
|
198
|
+
try {
|
|
199
|
+
parsed = xml2js(str, { compact: true }) as Record<string, unknown>;
|
|
200
|
+
} catch (err) {
|
|
201
|
+
console.error(`Failed to parse CoT XML Document: ${str}`);
|
|
202
|
+
throw err;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
normalizeBooleanAttributeValues(parsed);
|
|
206
|
+
|
|
207
|
+
let events: unknown[] = [];
|
|
208
|
+
if (parsed && typeof parsed === 'object') {
|
|
209
|
+
if (parsed.events && parsed.events.event) {
|
|
210
|
+
events = Array.isArray(parsed.events.event) ? parsed.events.event : [parsed.events.event];
|
|
211
|
+
} else if (parsed.event) {
|
|
212
|
+
events = Array.isArray(parsed.event) ? parsed.event : [parsed.event];
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
const cots: CoT[] = [];
|
|
217
|
+
const invalid: CoTParseError[] = [];
|
|
218
|
+
|
|
219
|
+
for (const event of events) {
|
|
220
|
+
try {
|
|
221
|
+
cots.push(this.validate(
|
|
222
|
+
new CoT({ event: structuredClone(event) } as Static<typeof JSONCoT>, opts),
|
|
223
|
+
{ flow: false }
|
|
224
|
+
));
|
|
225
|
+
} catch (err) {
|
|
226
|
+
invalid.push({
|
|
227
|
+
error: err instanceof Error ? err.message : String(err),
|
|
228
|
+
event
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
return { cots, invalid };
|
|
234
|
+
}
|
|
235
|
+
|
|
183
236
|
static to_xml(
|
|
184
237
|
cot: CoT,
|
|
185
238
|
opts?: SerializerOptions
|
package/lib/utils/2525.ts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
import { convertLetterSidc2NumberSidc } from "@orbat-mapper/convert-symbology";
|
|
1
|
+
import { convertLetterSidc2NumberSidc, convertNumberSidc2LetterSidc } from "@orbat-mapper/convert-symbology";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Digits 1-2 of a numeric SIDC are the Version field - "10" is 2525D
|
|
5
|
+
*
|
|
6
|
+
* TAK Clients dispatch to a symbology provider based on this field
|
|
7
|
+
* (10 => APP6-D, 11 => 2525D, 13 => 2525E, 15 => 2525E Ch1) and fall back to
|
|
8
|
+
* 2525C - where a numeric SIDC is never a valid symbol - when the version is
|
|
9
|
+
* unknown to them, resulting in no symbol being rendered at all
|
|
10
|
+
*/
|
|
11
|
+
export const VERSION_2525D = '10';
|
|
2
12
|
|
|
3
13
|
export enum Domain {
|
|
4
14
|
ATOM = 'a',
|
|
@@ -153,7 +163,7 @@ export default class Type2525 {
|
|
|
153
163
|
const DIM = str_sidc[2].toUpperCase()
|
|
154
164
|
const STS = str_sidc[3].toUpperCase()
|
|
155
165
|
|
|
156
|
-
return
|
|
166
|
+
return VERSION_2525D + SID_MAP[AFF] + DIM_MAP[DIM] + STATUS_MAP[STS] + '0000000000000';
|
|
157
167
|
} else {
|
|
158
168
|
const convert = convertLetterSidc2NumberSidc(str_sidc);
|
|
159
169
|
|
|
@@ -216,6 +226,41 @@ export default class Type2525 {
|
|
|
216
226
|
return `a-${affiliation}-${dimension}`;
|
|
217
227
|
}
|
|
218
228
|
|
|
229
|
+
/**
|
|
230
|
+
* Given a numeric SIDC (2525D/2525E), return the most specific CoT Atom Type
|
|
231
|
+
* that can be derived from it, falling back to the basic
|
|
232
|
+
* `a-<affiliation>-<battle dimension>` type from {@link fromNumericSIDC}
|
|
233
|
+
* when the symbol has no warfighting (2525B) equivalent
|
|
234
|
+
*
|
|
235
|
+
* Clients that can't resolve the SIDC itself - either because they predate
|
|
236
|
+
* the given 2525 variant or because the detail carrying it was dropped -
|
|
237
|
+
* derive their icon from the CoT Type, so retaining the Function ID is what
|
|
238
|
+
* keeps a meaningful fallback icon on those clients
|
|
239
|
+
*
|
|
240
|
+
* @param sidc - Numeric SIDC to convert
|
|
241
|
+
*/
|
|
242
|
+
static cotTypeFromNumericSIDC(sidc: string): string {
|
|
243
|
+
const basic = this.fromNumericSIDC(sidc);
|
|
244
|
+
|
|
245
|
+
try {
|
|
246
|
+
const convert = convertNumberSidc2LetterSidc(sidc);
|
|
247
|
+
|
|
248
|
+
if (convert.success && this.isTypeConvertable(convert.sidc)) {
|
|
249
|
+
const type = this.from2525B(convert.sidc);
|
|
250
|
+
|
|
251
|
+
// Only prefer the converted Type when it agrees with the basic Type on
|
|
252
|
+
// affiliation & battle dimension - the 2525B tables can't express every
|
|
253
|
+
// numeric identity (exercise & simulation identities in particular all
|
|
254
|
+
// collapse to Friend when converted back)
|
|
255
|
+
if (type.startsWith(`${basic}-`)) return type;
|
|
256
|
+
}
|
|
257
|
+
} catch {
|
|
258
|
+
// No 2525B equivalent - fall back to the basic Type
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return basic;
|
|
262
|
+
}
|
|
263
|
+
|
|
219
264
|
/**
|
|
220
265
|
* Check a given SIDC to see if it is compatible with conversion to CoT Type
|
|
221
266
|
*
|
package/package.json
CHANGED