@fleet-frontend/mower-maps 0.2.0-beta.43 → 0.2.0-beta.44
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/dist/index.esm.js +13 -28
- package/dist/index.js +13 -28
- package/dist/render/svgElement/MowGateElement/index.d.ts.map +1 -1
- package/dist/render/svgElement/index.d.ts.map +1 -1
- package/dist/utils/boundaryUtils.d.ts.map +1 -1
- package/dist/utils/math.d.ts +4 -0
- package/dist/utils/math.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -15840,6 +15840,9 @@ function generateBoundaryData(mapData, pathData) {
|
|
|
15840
15840
|
continue;
|
|
15841
15841
|
// 每个sub_map的elements是边界坐标,没有sub_map只有一个boundary数据
|
|
15842
15842
|
const boundaryElement = subMap.elements.find((element) => element.type === ElementTypeEnum.BOUNDARY);
|
|
15843
|
+
// 可能存在sub_map中只存在充电桩,没有子地块的情况
|
|
15844
|
+
if (!boundaryElement)
|
|
15845
|
+
continue;
|
|
15843
15846
|
// 如果当前subMap存在充电桩且充电桩存在tunnel,说明当前subMap中的boundary是初始boundary,这个boundary不为孤立区域
|
|
15844
15847
|
const hasTunnelToChargingPile = subMap.elements.some((element) => element.type === ElementTypeEnum.CHARGING_PILE && element.tunnel);
|
|
15845
15848
|
// 创建基础的 boundary 数据(来自 mapData)
|
|
@@ -24239,7 +24242,7 @@ const PolygonElement = ({ canSelect = false, points, fillColor = 'rgba(0, 0, 0,
|
|
|
24239
24242
|
}
|
|
24240
24243
|
}
|
|
24241
24244
|
},
|
|
24242
|
-
}) }), tooltipIndex === idx && (jsxs("g", { transform: `translate(${coord[0] + 4 * overlayScale * 2}, ${coord[1] - 4 * overlayScale * 2}) scale(${overlayScale * 2})`, onClick: (e) => {
|
|
24245
|
+
}) }), tooltipIndex === idx && coordinates.length > 3 && (jsxs("g", { transform: `translate(${coord[0] + 4 * overlayScale * 2}, ${coord[1] - 4 * overlayScale * 2}) scale(${overlayScale * 2})`, onClick: (e) => {
|
|
24243
24246
|
e.preventDefault();
|
|
24244
24247
|
e.stopPropagation();
|
|
24245
24248
|
if (onVertexDelete &&
|
|
@@ -26231,34 +26234,17 @@ const DoodleElement = ({ data }) => {
|
|
|
26231
26234
|
};
|
|
26232
26235
|
|
|
26233
26236
|
const MowGateElement = ({ data }) => {
|
|
26234
|
-
const
|
|
26235
|
-
|
|
26236
|
-
|
|
26237
|
-
|
|
26238
|
-
|
|
26239
|
-
|
|
26240
|
-
return;
|
|
26241
|
-
const originalWidth = parseFloat(svgEl.getAttribute('width') || '20');
|
|
26242
|
-
const originalHeight = parseFloat(svgEl.getAttribute('height') || '20');
|
|
26243
|
-
const direction = data.direction || 0;
|
|
26244
|
-
const transformGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');
|
|
26245
|
-
const transform = [
|
|
26237
|
+
const rotateDegree = useMemo(() => {
|
|
26238
|
+
const degree = DIRECTION_DEGREE - (data.direction || 0);
|
|
26239
|
+
return degree;
|
|
26240
|
+
}, [data.direction]);
|
|
26241
|
+
const transform = useMemo(() => {
|
|
26242
|
+
return [
|
|
26246
26243
|
`translate(${data.points?.[0][0]}, ${data.points?.[0][1]})`,
|
|
26247
|
-
`rotate(${
|
|
26248
|
-
`translate(${-
|
|
26244
|
+
`rotate(${rotateDegree})`,
|
|
26245
|
+
`translate(${ -11}, ${ -11})`,
|
|
26249
26246
|
].join(' ');
|
|
26250
|
-
|
|
26251
|
-
if (data.style?.opacity !== undefined) {
|
|
26252
|
-
transformGroup.setAttribute('opacity', String(data.style.opacity));
|
|
26253
|
-
}
|
|
26254
|
-
transformGroup.appendChild(svgEl);
|
|
26255
|
-
return transformGroup;
|
|
26256
|
-
}, [svgMarkup, data]);
|
|
26257
|
-
const transform = [
|
|
26258
|
-
`translate(${data.points?.[0][0]}, ${data.points?.[0][1]})`,
|
|
26259
|
-
`rotate(${-((data.direction || 0) * 180) / Math.PI})`,
|
|
26260
|
-
`translate(${ -11}, ${ -11})`,
|
|
26261
|
-
].join(' ');
|
|
26247
|
+
}, [data.points, rotateDegree]);
|
|
26262
26248
|
return (jsx("g", { transform: transform, children: jsxs("svg", { width: "22", height: "22", viewBox: "0 0 43 42", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("rect", { x: "1.5", y: "1.5", width: "39", height: "39", rx: "19.5", fill: "#EBEEF1", stroke: "white", "stroke-width": "3" }), jsx("path", { d: "M28.6641 11.918C30.6523 11.918 32.2637 13.5304 32.2637 15.5186V29.002C32.2637 29.5984 31.7801 30.082 31.1836 30.082H10.8164C10.2201 30.0819 9.73633 29.5983 9.73633 29.002V15.5186C9.73633 13.5303 11.3487 11.918 13.3369 11.918H28.6641Z", fill: "url(#paint0_linear_15603_15792)", stroke: "#676E88", "stroke-width": "1.8" }), jsx("rect", { x: "20.4541", y: "12.8184", width: "1.09091", height: "16.3636", fill: "white", "fill-opacity": "0.3" }), jsx("mask", { id: "path-4-inside-1_15603_15792", fill: "white", children: jsx("rect", { x: "16.0909", y: "16.0918", width: "9.81818", height: "9.81818", rx: "0.9" }) }), jsx("rect", { x: "16.0909", y: "16.0918", width: "9.81818", height: "9.81818", rx: "0.9", stroke: "white", "stroke-width": "2.18182", "stroke-dasharray": "2.7 2.7", mask: "url(#path-4-inside-1_15603_15792)" }), jsx("defs", { children: jsxs("linearGradient", { id: "paint0_linear_15603_15792", x1: "20.0292", y1: "10.6652", x2: "23.7032", y2: "28.6292", gradientUnits: "userSpaceOnUse", children: [jsx("stop", { "stop-color": "#8488A2" }), jsx("stop", { offset: "0.649539", "stop-color": "#585B71" }), jsx("stop", { offset: "0.885026", "stop-color": "#444959" })] }) })] }) }));
|
|
26263
26249
|
};
|
|
26264
26250
|
|
|
@@ -26293,7 +26279,6 @@ const SvgElement = React__default.memo(({ type, data, interactive = false }) =>
|
|
|
26293
26279
|
return jsx(ChannelElement, { data: data });
|
|
26294
26280
|
}
|
|
26295
26281
|
else if (type === 'mowGate') {
|
|
26296
|
-
console.log('mow_gate', data);
|
|
26297
26282
|
return jsx(MowGateElement, { data: data });
|
|
26298
26283
|
}
|
|
26299
26284
|
return null;
|
package/dist/index.js
CHANGED
|
@@ -15860,6 +15860,9 @@ function generateBoundaryData(mapData, pathData) {
|
|
|
15860
15860
|
continue;
|
|
15861
15861
|
// 每个sub_map的elements是边界坐标,没有sub_map只有一个boundary数据
|
|
15862
15862
|
const boundaryElement = subMap.elements.find((element) => element.type === ElementTypeEnum.BOUNDARY);
|
|
15863
|
+
// 可能存在sub_map中只存在充电桩,没有子地块的情况
|
|
15864
|
+
if (!boundaryElement)
|
|
15865
|
+
continue;
|
|
15863
15866
|
// 如果当前subMap存在充电桩且充电桩存在tunnel,说明当前subMap中的boundary是初始boundary,这个boundary不为孤立区域
|
|
15864
15867
|
const hasTunnelToChargingPile = subMap.elements.some((element) => element.type === ElementTypeEnum.CHARGING_PILE && element.tunnel);
|
|
15865
15868
|
// 创建基础的 boundary 数据(来自 mapData)
|
|
@@ -24259,7 +24262,7 @@ const PolygonElement = ({ canSelect = false, points, fillColor = 'rgba(0, 0, 0,
|
|
|
24259
24262
|
}
|
|
24260
24263
|
}
|
|
24261
24264
|
},
|
|
24262
|
-
}) }), tooltipIndex === idx && (jsxRuntime.jsxs("g", { transform: `translate(${coord[0] + 4 * overlayScale * 2}, ${coord[1] - 4 * overlayScale * 2}) scale(${overlayScale * 2})`, onClick: (e) => {
|
|
24265
|
+
}) }), tooltipIndex === idx && coordinates.length > 3 && (jsxRuntime.jsxs("g", { transform: `translate(${coord[0] + 4 * overlayScale * 2}, ${coord[1] - 4 * overlayScale * 2}) scale(${overlayScale * 2})`, onClick: (e) => {
|
|
24263
24266
|
e.preventDefault();
|
|
24264
24267
|
e.stopPropagation();
|
|
24265
24268
|
if (onVertexDelete &&
|
|
@@ -26251,34 +26254,17 @@ const DoodleElement = ({ data }) => {
|
|
|
26251
26254
|
};
|
|
26252
26255
|
|
|
26253
26256
|
const MowGateElement = ({ data }) => {
|
|
26254
|
-
const
|
|
26255
|
-
|
|
26256
|
-
|
|
26257
|
-
|
|
26258
|
-
|
|
26259
|
-
|
|
26260
|
-
return;
|
|
26261
|
-
const originalWidth = parseFloat(svgEl.getAttribute('width') || '20');
|
|
26262
|
-
const originalHeight = parseFloat(svgEl.getAttribute('height') || '20');
|
|
26263
|
-
const direction = data.direction || 0;
|
|
26264
|
-
const transformGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');
|
|
26265
|
-
const transform = [
|
|
26257
|
+
const rotateDegree = React.useMemo(() => {
|
|
26258
|
+
const degree = DIRECTION_DEGREE - (data.direction || 0);
|
|
26259
|
+
return degree;
|
|
26260
|
+
}, [data.direction]);
|
|
26261
|
+
const transform = React.useMemo(() => {
|
|
26262
|
+
return [
|
|
26266
26263
|
`translate(${data.points?.[0][0]}, ${data.points?.[0][1]})`,
|
|
26267
|
-
`rotate(${
|
|
26268
|
-
`translate(${-
|
|
26264
|
+
`rotate(${rotateDegree})`,
|
|
26265
|
+
`translate(${ -11}, ${ -11})`,
|
|
26269
26266
|
].join(' ');
|
|
26270
|
-
|
|
26271
|
-
if (data.style?.opacity !== undefined) {
|
|
26272
|
-
transformGroup.setAttribute('opacity', String(data.style.opacity));
|
|
26273
|
-
}
|
|
26274
|
-
transformGroup.appendChild(svgEl);
|
|
26275
|
-
return transformGroup;
|
|
26276
|
-
}, [svgMarkup, data]);
|
|
26277
|
-
const transform = [
|
|
26278
|
-
`translate(${data.points?.[0][0]}, ${data.points?.[0][1]})`,
|
|
26279
|
-
`rotate(${-((data.direction || 0) * 180) / Math.PI})`,
|
|
26280
|
-
`translate(${ -11}, ${ -11})`,
|
|
26281
|
-
].join(' ');
|
|
26267
|
+
}, [data.points, rotateDegree]);
|
|
26282
26268
|
return (jsxRuntime.jsx("g", { transform: transform, children: jsxRuntime.jsxs("svg", { width: "22", height: "22", viewBox: "0 0 43 42", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxRuntime.jsx("rect", { x: "1.5", y: "1.5", width: "39", height: "39", rx: "19.5", fill: "#EBEEF1", stroke: "white", "stroke-width": "3" }), jsxRuntime.jsx("path", { d: "M28.6641 11.918C30.6523 11.918 32.2637 13.5304 32.2637 15.5186V29.002C32.2637 29.5984 31.7801 30.082 31.1836 30.082H10.8164C10.2201 30.0819 9.73633 29.5983 9.73633 29.002V15.5186C9.73633 13.5303 11.3487 11.918 13.3369 11.918H28.6641Z", fill: "url(#paint0_linear_15603_15792)", stroke: "#676E88", "stroke-width": "1.8" }), jsxRuntime.jsx("rect", { x: "20.4541", y: "12.8184", width: "1.09091", height: "16.3636", fill: "white", "fill-opacity": "0.3" }), jsxRuntime.jsx("mask", { id: "path-4-inside-1_15603_15792", fill: "white", children: jsxRuntime.jsx("rect", { x: "16.0909", y: "16.0918", width: "9.81818", height: "9.81818", rx: "0.9" }) }), jsxRuntime.jsx("rect", { x: "16.0909", y: "16.0918", width: "9.81818", height: "9.81818", rx: "0.9", stroke: "white", "stroke-width": "2.18182", "stroke-dasharray": "2.7 2.7", mask: "url(#path-4-inside-1_15603_15792)" }), jsxRuntime.jsx("defs", { children: jsxRuntime.jsxs("linearGradient", { id: "paint0_linear_15603_15792", x1: "20.0292", y1: "10.6652", x2: "23.7032", y2: "28.6292", gradientUnits: "userSpaceOnUse", children: [jsxRuntime.jsx("stop", { "stop-color": "#8488A2" }), jsxRuntime.jsx("stop", { offset: "0.649539", "stop-color": "#585B71" }), jsxRuntime.jsx("stop", { offset: "0.885026", "stop-color": "#444959" })] }) })] }) }));
|
|
26283
26269
|
};
|
|
26284
26270
|
|
|
@@ -26313,7 +26299,6 @@ const SvgElement = React.memo(({ type, data, interactive = false }) => {
|
|
|
26313
26299
|
return jsxRuntime.jsx(ChannelElement, { data: data });
|
|
26314
26300
|
}
|
|
26315
26301
|
else if (type === 'mowGate') {
|
|
26316
|
-
console.log('mow_gate', data);
|
|
26317
26302
|
return jsxRuntime.jsx(MowGateElement, { data: data });
|
|
26318
26303
|
}
|
|
26319
26304
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/render/svgElement/MowGateElement/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/render/svgElement/MowGateElement/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAI3D,UAAU,YAAY;IACpB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,QAAA,MAAM,cAAc,GAAI,UAAU,YAAY,4CA8E7C,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/render/svgElement/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAGxD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,UAAU,0DAAoD,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/render/svgElement/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAGxD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,UAAU,0DAAoD,eAAe,6CAuCjF,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundaryUtils.d.ts","sourceRoot":"","sources":["../../src/utils/boundaryUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAmC9C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"boundaryUtils.d.ts","sourceRoot":"","sources":["../../src/utils/boundaryUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAmC9C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAiG1F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,GACjB,YAAY,GAAG,IAAI,CAQrB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAGzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAUlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAG3F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAG5F"}
|
package/dist/utils/math.d.ts
CHANGED
package/dist/utils/math.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;;GAKG;AAEH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,UAO1C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,UAE1C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,GAAE,SAA4B,GACjC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;CAAE,CAgExF;AAGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;AAGD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAEtE;AAGD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAEtE;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,WAAU,MAAU,QAE5D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,WAAU,MAAU,QAE5D,CAAC;AAGF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,UAErC;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,UAErC;AAGD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,GAAE,OAAc,EACrB,QAAQ,GAAE,MAAU,mBAcrB;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,GAAE,SAA4B,GACjC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAwC7E;AAGD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,UAEtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,iBAE5C;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,SAAS,EACf,OAAO,GAAE,OAAe,mBAKzB"}
|