@ohif/app 3.9.1 → 3.9.3
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/{1185.bundle.023fe7179faaa50019d3.js → 1185.bundle.9f4c770baf52abcf3c6d.js} +120 -53
- package/dist/{1266.bundle.e9abd5c45b5236544151.js → 1266.bundle.0097d9c4ba974905a833.js} +8 -3
- package/dist/{1374.bundle.019bbc010eeb66109e8b.js → 1374.bundle.2e1fa65e28731d98969a.js} +2 -2
- package/dist/{1436.bundle.773756cd51b69e887bac.js → 1436.bundle.be39664239aa2bbca527.js} +234 -274
- package/dist/{1927.bundle.49539e3ab5b0aad1399c.js → 1927.bundle.2b2fa0b539d6ac5b0dc3.js} +1 -1
- package/dist/{213.bundle.e663335fb0884edde6d8.js → 213.bundle.c0c23f7fd4b66d78d0fe.js} +2 -2
- package/dist/{5807.bundle.dac5ce36534a71c77723.js → 2343.bundle.f096450c21417279d4cc.js} +270 -1
- package/dist/{2424.bundle.b7da298db43541d3a7c0.js → 2424.bundle.d73e8d67dc2aace299d2.js} +2 -2
- package/dist/{2701.bundle.8c1ff2e0faaa7d2f4716.js → 2701.bundle.c8271fa4986a45fea350.js} +17 -24
- package/dist/{2825.bundle.b04c941a87fd580deb6d.js → 2825.bundle.0612b1b8ab3e8ee01b93.js} +1 -1
- package/dist/{3198.bundle.c82b7424070ffd02faf1.js → 3198.bundle.7a18515cfe4113417251.js} +10 -6
- package/dist/{3200.bundle.a12825fb5aec200d33e2.js → 3200.bundle.e46dca03aa824998973a.js} +18 -10
- package/dist/3326.bundle.d01046d6c2c31654c125.js +265 -0
- package/dist/{149.bundle.ce5596fc563276036744.js → 3900.bundle.0e4e29374e221b260ed1.js} +35 -59
- package/dist/{8295.bundle.4ecb27f9e58526f12bcb.js → 3902.bundle.8ae7b2e27f760af997dd.js} +20 -1
- package/dist/3902.css +2 -0
- package/dist/{4202.bundle.5c8120ed4841da0af211.js → 4202.bundle.497702023d73202f4f39.js} +2 -1
- package/dist/{3121.bundle.d3e7092e305cf6cecdb5.js → 4438.bundle.a945f803d0eeb11d081f.js} +24 -4
- package/dist/{4571.bundle.3b1691730b3c57bf4d35.js → 4571.bundle.a37be49663df2f4a2c8a.js} +99 -89
- package/dist/4759.bundle.1e982897292fc19ecd7c.js +265 -0
- package/dist/{4834.bundle.aad44c2628cdefb7a4dd.js → 4834.bundle.92ba088cc62a6b791000.js} +2 -2
- package/dist/{5139.bundle.367a6827071448e2923d.js → 5139.bundle.70d3be7dd1896f245d7b.js} +3 -3
- package/dist/{5247.bundle.6dc2a50f21821b2ffdf5.js → 5247.bundle.4e8669e41fd28813e643.js} +5 -5
- package/dist/{5252.bundle.5ec502c53a9cc877ed8d.js → 5252.bundle.f2675336275573a288d5.js} +13 -1
- package/dist/{1520.bundle.97dbd9bfa83148e5334d.js → 5630.bundle.44d0ca81d77b7ae5193b.js} +63 -58
- package/dist/{5687.bundle.5731ec23dd9eb43a083e.js → 5687.bundle.50b800a714486557b243.js} +5 -5
- package/dist/{5717.bundle.848e13f256818475f57f.js → 5717.bundle.9218cb67ad1994cd1a99.js} +305 -64
- package/dist/{3970.bundle.31942cc0c12a008e7ba0.js → 5758.bundle.cd1599b81bdb1f735f9d.js} +270 -1
- package/dist/{717.bundle.0f32b7b57347b5141248.js → 7013.bundle.979d3a29f6142e8c1290.js} +264 -4
- package/dist/7013.css +4 -0
- package/dist/{7197.bundle.c28453cdb392072d8bf8.js → 7197.bundle.30f8969751309ab5235c.js} +6 -6
- package/dist/{7955.bundle.6a255705b1ef5906f4a8.js → 7955.bundle.9264a10437f0a67e6057.js} +3 -3
- package/dist/{8008.bundle.5bf7b274246be10e2f05.js → 8008.bundle.6772a210a995b568f8d0.js} +2 -2
- package/dist/{8228.bundle.55ac03d7165248f47d4e.js → 8228.bundle.2c1e61eec1f9f4b3b613.js} +8 -26
- package/dist/{8259.bundle.623c29b26b170a8a085b.js → 8259.bundle.9cf9ef151893ede068bb.js} +2 -2
- package/dist/{8523.bundle.648334132159465cdc41.js → 8523.bundle.c0ec85de98ba380ebeb4.js} +55 -13
- package/dist/{8558.bundle.01d05fd73da5db8e60f9.js → 8558.bundle.9c22f000a404f1006a41.js} +10 -5
- package/dist/{9551.bundle.6c260a9869e14dcc3543.js → 9551.bundle.3507bb1d4353df13bf3a.js} +3 -3
- package/dist/{9611.bundle.767595c93877e5166c03.js → 9611.bundle.9f1aa9041196d77f2b7e.js} +2 -2
- package/dist/{app.bundle.d02143bec2df7fec9964.js → app.bundle.9af5a6d7ff3a778d05b7.js} +278 -150
- package/dist/app.bundle.css +2 -2
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.b79ae514989e86301c71.js → polySeg.bundle.6e85073e3abf2e6e6078.js} +1 -1
- package/dist/serve.json +1 -10
- package/dist/{suv-peak-worker.bundle.31c3b3b957204af93b7e.js → suv-peak-worker.bundle.e2e8e46de3e958a1a3db.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +19 -19
- /package/dist/{1801.css → 3326.css} +0 -0
- /package/dist/{717.css → 4438.css} +0 -0
- /package/dist/{2591.css → 4759.css} +0 -0
- /package/dist/{9862.bundle.7146682e56aa66130ae6.js → 9862.bundle.aa2f8e0010f1be1bc87d.js} +0 -0
|
@@ -934,7 +934,7 @@ class BaseVolumeViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_18__/* ["def
|
|
|
934
934
|
sliceIndex ??= currentIndex;
|
|
935
935
|
const { viewPlaneNormal, focalPoint } = this.getCamera();
|
|
936
936
|
const querySeparator = volumeId.includes('?') ? '&' : '?';
|
|
937
|
-
return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${viewPlaneNormal.join(',')}
|
|
937
|
+
return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${viewPlaneNormal.join(',')}`;
|
|
938
938
|
}
|
|
939
939
|
_addVolumeId(volumeId) {
|
|
940
940
|
this.volumeIds.add(volumeId);
|
|
@@ -16844,6 +16844,12 @@ var cache = __webpack_require__(49038);
|
|
|
16844
16844
|
|
|
16845
16845
|
|
|
16846
16846
|
|
|
16847
|
+
function convertDataType(data, targetDataType) {
|
|
16848
|
+
const Constructor = (0,getBufferConfiguration/* getConstructorFromType */.j)(targetDataType);
|
|
16849
|
+
const convertedData = new Constructor(data.length);
|
|
16850
|
+
convertedData.set(data);
|
|
16851
|
+
return convertedData;
|
|
16852
|
+
}
|
|
16847
16853
|
function vtkStreamingOpenGLTexture(publicAPI, model) {
|
|
16848
16854
|
model.classHierarchy.push('vtkStreamingOpenGLTexture');
|
|
16849
16855
|
model.updatedFrames = [];
|
|
@@ -16894,10 +16900,14 @@ function vtkStreamingOpenGLTexture(publicAPI, model) {
|
|
|
16894
16900
|
if (!image) {
|
|
16895
16901
|
continue;
|
|
16896
16902
|
}
|
|
16897
|
-
|
|
16903
|
+
let data = image.voxelManager.getScalarData();
|
|
16898
16904
|
const gl = model.context;
|
|
16899
|
-
|
|
16900
|
-
|
|
16905
|
+
if (volume.dataType !== data.constructor.name) {
|
|
16906
|
+
data = convertDataType(data, volume.dataType);
|
|
16907
|
+
}
|
|
16908
|
+
const [pixData] = publicAPI.updateArrayDataTypeForGL(volume.dataType, [
|
|
16909
|
+
data,
|
|
16910
|
+
]);
|
|
16901
16911
|
publicAPI.bind();
|
|
16902
16912
|
const zOffset = i;
|
|
16903
16913
|
gl.texSubImage3D(model.target, 0, 0, 0, zOffset, model.width, model.height, 1, model.format, model.openGLDataType, pixData);
|
|
@@ -16931,8 +16941,12 @@ function vtkStreamingOpenGLTexture(publicAPI, model) {
|
|
|
16931
16941
|
constructor = data.constructor;
|
|
16932
16942
|
}
|
|
16933
16943
|
const gl = model.context;
|
|
16934
|
-
|
|
16935
|
-
|
|
16944
|
+
if (volume.dataType !== data.constructor.name) {
|
|
16945
|
+
data = convertDataType(data, volume.dataType);
|
|
16946
|
+
}
|
|
16947
|
+
const [pixData] = publicAPI.updateArrayDataTypeForGL(volume.dataType, [
|
|
16948
|
+
data,
|
|
16949
|
+
]);
|
|
16936
16950
|
publicAPI.bind();
|
|
16937
16951
|
let zOffset = i;
|
|
16938
16952
|
gl.texSubImage3D(model.target, 0, 0, 0, zOffset, model.width, model.height, 1, model.format, model.openGLDataType, pixData);
|
|
@@ -25049,12 +25063,20 @@ const deepMerge = (target = {}, source = {}, optionsArgument = undefined) => {
|
|
|
25049
25063
|
/* harmony import */ var _getScalingParameters__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32173);
|
|
25050
25064
|
/* harmony import */ var _hasFloatScalingParameters__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30169);
|
|
25051
25065
|
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(59693);
|
|
25066
|
+
/* harmony import */ var _cache_cache__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49038);
|
|
25067
|
+
|
|
25052
25068
|
|
|
25053
25069
|
|
|
25054
25070
|
|
|
25055
25071
|
|
|
25056
25072
|
|
|
25057
25073
|
|
|
25074
|
+
const constructorToTypedArray = {
|
|
25075
|
+
Uint8Array: 'Uint8Array',
|
|
25076
|
+
Int16Array: 'Int16Array',
|
|
25077
|
+
Uint16Array: 'Uint16Array',
|
|
25078
|
+
Float32Array: 'Float32Array',
|
|
25079
|
+
};
|
|
25058
25080
|
function generateVolumePropsFromImageIds(imageIds, volumeId) {
|
|
25059
25081
|
const volumeMetadata = (0,_makeVolumeMetadata__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(imageIds);
|
|
25060
25082
|
const { ImageOrientationPatient, PixelSpacing, Columns, Rows } = volumeMetadata;
|
|
@@ -25087,6 +25109,10 @@ function generateVolumePropsFromImageIds(imageIds, volumeId) {
|
|
|
25087
25109
|
function _determineDataType(imageIds, volumeMetadata) {
|
|
25088
25110
|
const { BitsAllocated, PixelRepresentation } = volumeMetadata;
|
|
25089
25111
|
const signed = PixelRepresentation === 1;
|
|
25112
|
+
const cachedDataType = _getDataTypeFromCache(imageIds);
|
|
25113
|
+
if (cachedDataType) {
|
|
25114
|
+
return cachedDataType;
|
|
25115
|
+
}
|
|
25090
25116
|
const [firstIndex, middleIndex, lastIndex] = [
|
|
25091
25117
|
0,
|
|
25092
25118
|
Math.floor(imageIds.length / 2),
|
|
@@ -25121,6 +25147,19 @@ function _determineDataType(imageIds, volumeMetadata) {
|
|
|
25121
25147
|
throw new Error(`Bits allocated of ${BitsAllocated} is not defined to generate scalarData for the volume.`);
|
|
25122
25148
|
}
|
|
25123
25149
|
}
|
|
25150
|
+
function _getDataTypeFromCache(imageIds) {
|
|
25151
|
+
const indices = [0, Math.floor(imageIds.length / 2), imageIds.length - 1];
|
|
25152
|
+
const images = indices.map((i) => _cache_cache__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Ay.getImage(imageIds[i]));
|
|
25153
|
+
if (!images.every(Boolean)) {
|
|
25154
|
+
return null;
|
|
25155
|
+
}
|
|
25156
|
+
const constructorName = images[0].getPixelData().constructor.name;
|
|
25157
|
+
if (images.every((img) => img.getPixelData().constructor.name === constructorName) &&
|
|
25158
|
+
constructorName in constructorToTypedArray) {
|
|
25159
|
+
return constructorToTypedArray[constructorName];
|
|
25160
|
+
}
|
|
25161
|
+
return null;
|
|
25162
|
+
}
|
|
25124
25163
|
|
|
25125
25164
|
|
|
25126
25165
|
|
|
@@ -25768,6 +25807,15 @@ const imageRetrieveMetadataProvider = {
|
|
|
25768
25807
|
add: (key, payload) => {
|
|
25769
25808
|
retrieveConfigurationState.set(key, payload);
|
|
25770
25809
|
},
|
|
25810
|
+
clone: () => {
|
|
25811
|
+
return new Map(retrieveConfigurationState);
|
|
25812
|
+
},
|
|
25813
|
+
restore: (state) => {
|
|
25814
|
+
retrieveConfigurationState.clear();
|
|
25815
|
+
state.forEach((value, key) => {
|
|
25816
|
+
retrieveConfigurationState.set(key, value);
|
|
25817
|
+
});
|
|
25818
|
+
},
|
|
25771
25819
|
get: (type, ...queries) => {
|
|
25772
25820
|
if (type === IMAGE_RETRIEVE_CONFIGURATION) {
|
|
25773
25821
|
return queries
|
|
@@ -26693,7 +26741,10 @@ function calculateViewportsSpatialRegistration(viewport1, viewport2) {
|
|
|
26693
26741
|
|
|
26694
26742
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getViewportImageCornersInWorld.js
|
|
26695
26743
|
function getViewportImageCornersInWorld(viewport) {
|
|
26696
|
-
const { imageData, dimensions } = viewport.getImageData();
|
|
26744
|
+
const { imageData, dimensions } = viewport.getImageData() || {};
|
|
26745
|
+
if (!imageData || !dimensions) {
|
|
26746
|
+
return [];
|
|
26747
|
+
}
|
|
26697
26748
|
const { canvas } = viewport;
|
|
26698
26749
|
const ratio = window.devicePixelRatio;
|
|
26699
26750
|
const topLeftCanvas = [0, 0];
|
|
@@ -30108,6 +30159,10 @@ function getPixelDataTypeFromMinMax(min, max) {
|
|
|
30108
30159
|
}
|
|
30109
30160
|
return pixelDataType || Float32Array;
|
|
30110
30161
|
}
|
|
30162
|
+
function validatePixelDataType(min, max, type) {
|
|
30163
|
+
const pixelDataType = getPixelDataTypeFromMinMax(min, max);
|
|
30164
|
+
return pixelDataType === type;
|
|
30165
|
+
}
|
|
30111
30166
|
|
|
30112
30167
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/imageLoader/convertColorSpace.js
|
|
30113
30168
|
|
|
@@ -31760,7 +31815,7 @@ const workerFn = () => {
|
|
|
31760
31815
|
const instance = new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(1927), __webpack_require__.b), { type: undefined });
|
|
31761
31816
|
return instance;
|
|
31762
31817
|
};
|
|
31763
|
-
function init(options) {
|
|
31818
|
+
function init(options = {}) {
|
|
31764
31819
|
setOptions(options);
|
|
31765
31820
|
imageLoader_registerLoaders();
|
|
31766
31821
|
const workerManager = (0,esm.getWebWorkerManager)();
|
|
@@ -66971,7 +67026,7 @@ function vtkOpenGLTexture(publicAPI, model) {
|
|
|
66971
67026
|
}
|
|
66972
67027
|
return result;
|
|
66973
67028
|
};
|
|
66974
|
-
publicAPI.useHalfFloat = () => model.
|
|
67029
|
+
publicAPI.useHalfFloat = () => model.enableUseHalfFloat && model.canUseHalfFloat;
|
|
66975
67030
|
|
|
66976
67031
|
//----------------------------------------------------------------------------
|
|
66977
67032
|
publicAPI.setInternalFormat = iFormat => {
|
|
@@ -67605,18 +67660,21 @@ function vtkOpenGLTexture(publicAPI, model) {
|
|
|
67605
67660
|
}
|
|
67606
67661
|
function setCanUseHalfFloat(dataType, offset, scale, preferSizeOverAccuracy) {
|
|
67607
67662
|
publicAPI.getOpenGLDataType(dataType);
|
|
67663
|
+
|
|
67664
|
+
// Don't consider halfFloat and convert back to Float when the range of data does not generate an accurate halfFloat
|
|
67665
|
+
// AND it is not preferable to have a smaller texture than an exact texture.
|
|
67666
|
+
const isExactHalfFloat = hasExactHalfFloat(offset, scale) || preferSizeOverAccuracy;
|
|
67608
67667
|
let useHalfFloat = false;
|
|
67609
67668
|
if (model._openGLRenderWindow.getWebgl2()) {
|
|
67610
|
-
|
|
67669
|
+
// If OES_texture_float_linear is not available, and using a half float would still be exact, force half floats
|
|
67670
|
+
// This is because half floats are always texture filterable in webgl2, while full *32F floats are not (unless the extension is present)
|
|
67671
|
+
const forceHalfFloat = model.openGLDataType === model.context.FLOAT && model.context.getExtension('OES_texture_float_linear') === null && isExactHalfFloat;
|
|
67672
|
+
useHalfFloat = forceHalfFloat || model.openGLDataType === model.context.HALF_FLOAT;
|
|
67611
67673
|
} else {
|
|
67612
67674
|
const halfFloatExt = model.context.getExtension('OES_texture_half_float');
|
|
67613
67675
|
useHalfFloat = halfFloatExt && model.openGLDataType === halfFloatExt.HALF_FLOAT_OES;
|
|
67614
67676
|
}
|
|
67615
|
-
|
|
67616
|
-
// Don't consider halfFloat and convert back to Float when the range of data does not generate an accurate halfFloat
|
|
67617
|
-
// AND it is not preferable to have a smaller texture than an exact texture.
|
|
67618
|
-
const isHalfFloat = useHalfFloat && (hasExactHalfFloat(offset, scale) || preferSizeOverAccuracy);
|
|
67619
|
-
model.canUseHalfFloat = isHalfFloat;
|
|
67677
|
+
model.canUseHalfFloat = useHalfFloat && isExactHalfFloat;
|
|
67620
67678
|
}
|
|
67621
67679
|
function processDataArray(dataArray, preferSizeOverAccuracy) {
|
|
67622
67680
|
const numComps = dataArray.getNumberOfComponents();
|
|
@@ -94944,8 +95002,8 @@ var ui_src = __webpack_require__(35647);
|
|
|
94944
95002
|
var ui_next_src = __webpack_require__(35570);
|
|
94945
95003
|
// EXTERNAL MODULE: ./state/index.js + 1 modules
|
|
94946
95004
|
var state = __webpack_require__(45981);
|
|
94947
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
94948
|
-
var core_src = __webpack_require__(
|
|
95005
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
95006
|
+
var core_src = __webpack_require__(80818);
|
|
94949
95007
|
// EXTERNAL MODULE: ../node_modules/react-router/dist/index.js
|
|
94950
95008
|
var react_router_dist = __webpack_require__(67435);
|
|
94951
95009
|
;// CONCATENATED MODULE: ./hooks/useSearchParams.ts
|
|
@@ -95921,8 +95979,8 @@ function WorkList({
|
|
|
95921
95979
|
};
|
|
95922
95980
|
});
|
|
95923
95981
|
const hasStudies = numOfStudies > 0;
|
|
95924
|
-
const versionNumber = "3.9.
|
|
95925
|
-
const commitHash = "
|
|
95982
|
+
const versionNumber = "3.9.3";
|
|
95983
|
+
const commitHash = "5d4f2e2a8e62f8de97d56a4e3f17be6018e9f2eb";
|
|
95926
95984
|
const menuOptions = [{
|
|
95927
95985
|
title: t('Header:About'),
|
|
95928
95986
|
icon: 'info',
|
|
@@ -96708,7 +96766,7 @@ function ViewerViewportGrid(props) {
|
|
|
96708
96766
|
isActive: isActive
|
|
96709
96767
|
}, /*#__PURE__*/react.createElement("div", {
|
|
96710
96768
|
"data-cy": "viewport-pane",
|
|
96711
|
-
className: classnames_default()('flex h-full w-full flex-col', {
|
|
96769
|
+
className: classnames_default()('flex h-full w-full min-w-[5px] flex-col', {
|
|
96712
96770
|
'pointer-events-none': !isActive && (appConfig?.activateViewportBeforeInteraction ?? true)
|
|
96713
96771
|
})
|
|
96714
96772
|
}, /*#__PURE__*/react.createElement(ViewportComponent, {
|
|
@@ -96797,35 +96855,35 @@ modes.push("@ohif/mode-preclinical-4d");
|
|
|
96797
96855
|
async function loadModule(module) {
|
|
96798
96856
|
if (typeof module !== 'string') return module;
|
|
96799
96857
|
if (module === "@ohif/extension-default") {
|
|
96800
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96858
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(5630), __webpack_require__.e(4759)]).then(__webpack_require__.bind(__webpack_require__, 55630));
|
|
96801
96859
|
return imported.default;
|
|
96802
96860
|
}
|
|
96803
96861
|
if (module === "@ohif/extension-cornerstone") {
|
|
96804
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96862
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(3326)]).then(__webpack_require__.bind(__webpack_require__, 11185));
|
|
96805
96863
|
return imported.default;
|
|
96806
96864
|
}
|
|
96807
96865
|
if (module === "@ohif/extension-measurement-tracking") {
|
|
96808
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96866
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(5758), __webpack_require__.e(5261), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(5687), __webpack_require__.e(3200)]).then(__webpack_require__.bind(__webpack_require__, 71903));
|
|
96809
96867
|
return imported.default;
|
|
96810
96868
|
}
|
|
96811
96869
|
if (module === "@ohif/extension-cornerstone-dicom-sr") {
|
|
96812
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96870
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(5758), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(5687), __webpack_require__.e(4182)]).then(__webpack_require__.bind(__webpack_require__, 85687));
|
|
96813
96871
|
return imported.default;
|
|
96814
96872
|
}
|
|
96815
96873
|
if (module === "@ohif/extension-cornerstone-dicom-seg") {
|
|
96816
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96874
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(5758), __webpack_require__.e(5630), __webpack_require__.e(7197)]).then(__webpack_require__.bind(__webpack_require__, 96975));
|
|
96817
96875
|
return imported.default;
|
|
96818
96876
|
}
|
|
96819
96877
|
if (module === "@ohif/extension-cornerstone-dicom-pmap") {
|
|
96820
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96878
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(5758), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(5139)]).then(__webpack_require__.bind(__webpack_require__, 82098));
|
|
96821
96879
|
return imported.default;
|
|
96822
96880
|
}
|
|
96823
96881
|
if (module === "@ohif/extension-cornerstone-dynamic-volume") {
|
|
96824
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96882
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(7013)]).then(__webpack_require__.bind(__webpack_require__, 14696));
|
|
96825
96883
|
return imported.default;
|
|
96826
96884
|
}
|
|
96827
96885
|
if (module === "@ohif/extension-dicom-microscopy") {
|
|
96828
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96886
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(2343), __webpack_require__.e(5630), __webpack_require__.e(5247)]).then(__webpack_require__.bind(__webpack_require__, 22801));
|
|
96829
96887
|
return imported.default;
|
|
96830
96888
|
}
|
|
96831
96889
|
if (module === "@ohif/extension-dicom-pdf") {
|
|
@@ -96837,7 +96895,7 @@ async function loadModule(module) {
|
|
|
96837
96895
|
return imported.default;
|
|
96838
96896
|
}
|
|
96839
96897
|
if (module === "@ohif/extension-tmtv") {
|
|
96840
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96898
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(5758), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(3198)]).then(__webpack_require__.bind(__webpack_require__, 57289));
|
|
96841
96899
|
return imported.default;
|
|
96842
96900
|
}
|
|
96843
96901
|
if (module === "@ohif/extension-test") {
|
|
@@ -96849,7 +96907,7 @@ async function loadModule(module) {
|
|
|
96849
96907
|
return imported.default;
|
|
96850
96908
|
}
|
|
96851
96909
|
if (module === "@ohif/mode-longitudinal") {
|
|
96852
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96910
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(5758), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(5687), __webpack_require__.e(1266)]).then(__webpack_require__.bind(__webpack_require__, 35589));
|
|
96853
96911
|
return imported.default;
|
|
96854
96912
|
}
|
|
96855
96913
|
if (module === "@ohif/mode-segmentation") {
|
|
@@ -97351,9 +97409,9 @@ function ModeRoute({
|
|
|
97351
97409
|
const hangingProtocolIdToUse = hangingProtocolService.getProtocolById(runTimeHangingProtocolId) ? runTimeHangingProtocolId : hangingProtocol;
|
|
97352
97410
|
|
|
97353
97411
|
// Determine the index of the stageId if the hangingProtocolIdToUse is defined
|
|
97354
|
-
const stageIndex = hangingProtocolIdToUse ? hangingProtocolService.getStageIndex(hangingProtocolIdToUse, {
|
|
97412
|
+
const stageIndex = Array.isArray(hangingProtocolIdToUse) ? -1 : hangingProtocolService.getStageIndex(hangingProtocolIdToUse, {
|
|
97355
97413
|
stageId: runTimeStageId || undefined
|
|
97356
|
-
})
|
|
97414
|
+
});
|
|
97357
97415
|
// Ensure that the stage index is never negative
|
|
97358
97416
|
// If stageIndex is negative (e.g., if stage wasn't found), use 0 as the default
|
|
97359
97417
|
const stageIndexToUse = Math.max(0, stageIndex);
|
|
@@ -102096,7 +102154,7 @@ function _getImageOrientationPatient(image) {
|
|
|
102096
102154
|
|
|
102097
102155
|
/***/ }),
|
|
102098
102156
|
|
|
102099
|
-
/***/
|
|
102157
|
+
/***/ 80818:
|
|
102100
102158
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
102101
102159
|
|
|
102102
102160
|
"use strict";
|
|
@@ -105525,8 +105583,8 @@ class ProtocolEngine {
|
|
|
105525
105583
|
return this.matchedProtocols.get(highestScoringProtocolId);
|
|
105526
105584
|
}
|
|
105527
105585
|
}
|
|
105528
|
-
// EXTERNAL MODULE: ../../core/src/utils/index.ts +
|
|
105529
|
-
var utils = __webpack_require__(
|
|
105586
|
+
// EXTERNAL MODULE: ../../core/src/utils/index.ts + 28 modules
|
|
105587
|
+
var utils = __webpack_require__(5971);
|
|
105530
105588
|
;// CONCATENATED MODULE: ../../core/src/services/HangingProtocolService/custom-attribute/isDisplaySetFromUrl.ts
|
|
105531
105589
|
|
|
105532
105590
|
|
|
@@ -107353,7 +107411,7 @@ class CustomizationService extends pubSubServiceInterface/* PubSubService */.R {
|
|
|
107353
107411
|
return customization;
|
|
107354
107412
|
}
|
|
107355
107413
|
const parent = this.getCustomization(customizationType);
|
|
107356
|
-
const result = parent ? Object.assign(
|
|
107414
|
+
const result = parent ? Object.assign({}, parent, customization) : customization;
|
|
107357
107415
|
// Execute an nested type information
|
|
107358
107416
|
return result.transform?.(this) || result;
|
|
107359
107417
|
}
|
|
@@ -108484,7 +108542,7 @@ class StudyPrefetcherService extends pubSubServiceInterface/* PubSubService */.R
|
|
|
108484
108542
|
this._displaySetLoadingStates.clear();
|
|
108485
108543
|
this._imageIdsToDisplaySetsMap.clear();
|
|
108486
108544
|
this._inflightRequests.clear();
|
|
108487
|
-
this.imageLoadPoolManager.clearRequestStack(
|
|
108545
|
+
this.imageLoadPoolManager.clearRequestStack(this.requestType);
|
|
108488
108546
|
this._broadcastEvent(this.EVENTS.SERVICE_STOPPED, {});
|
|
108489
108547
|
}
|
|
108490
108548
|
|
|
@@ -109726,7 +109784,16 @@ function _getPaletteColor(paletteColorLookupTableData, lutDescriptor) {
|
|
|
109726
109784
|
}
|
|
109727
109785
|
// EXTERNAL MODULE: ../../core/src/utils/toNumber.js
|
|
109728
109786
|
var toNumber = __webpack_require__(37827);
|
|
109787
|
+
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
|
|
109788
|
+
var esm = __webpack_require__(3823);
|
|
109789
|
+
;// CONCATENATED MODULE: ../../core/src/utils/dicomSplit.ts
|
|
109790
|
+
function dicomSplit(value) {
|
|
109791
|
+
return Array.isArray(value) && value || typeof value === 'string' && value.split('\\') || value;
|
|
109792
|
+
}
|
|
109729
109793
|
;// CONCATENATED MODULE: ../../core/src/utils/combineFrameInstance.ts
|
|
109794
|
+
|
|
109795
|
+
|
|
109796
|
+
|
|
109730
109797
|
/**
|
|
109731
109798
|
* Combine the Per instance frame data, the shared frame data
|
|
109732
109799
|
* and the root data objects.
|
|
@@ -109741,43 +109808,96 @@ const combineFrameInstance = (frame, instance) => {
|
|
|
109741
109808
|
const {
|
|
109742
109809
|
PerFrameFunctionalGroupsSequence,
|
|
109743
109810
|
SharedFunctionalGroupsSequence,
|
|
109744
|
-
NumberOfFrames
|
|
109811
|
+
NumberOfFrames,
|
|
109812
|
+
ImageType
|
|
109745
109813
|
} = instance;
|
|
109814
|
+
instance.ImageType = dicomSplit(ImageType);
|
|
109746
109815
|
if (PerFrameFunctionalGroupsSequence || NumberOfFrames > 1) {
|
|
109747
109816
|
const frameNumber = Number.parseInt(frame || 1);
|
|
109748
|
-
const shared = (SharedFunctionalGroupsSequence ? Object.values(SharedFunctionalGroupsSequence[0]) : []).filter(it => !!it).map(it => it[0]).filter(it => it !== undefined && typeof it === 'object');
|
|
109749
|
-
const perFrame = (PerFrameFunctionalGroupsSequence ? Object.values(PerFrameFunctionalGroupsSequence[frameNumber - 1]) : []).filter(it => !!it).map(it => it[0]).filter(it => it !== undefined && typeof it === 'object');
|
|
109750
109817
|
|
|
109751
109818
|
// this is to fix NM multiframe datasets with position and orientation
|
|
109752
109819
|
// information inside DetectorInformationSequence
|
|
109753
109820
|
if (!instance.ImageOrientationPatient && instance.DetectorInformationSequence) {
|
|
109754
109821
|
instance.ImageOrientationPatient = instance.DetectorInformationSequence[0].ImageOrientationPatient;
|
|
109755
109822
|
}
|
|
109823
|
+
let ImagePositionPatientToUse = instance.ImagePositionPatient;
|
|
109756
109824
|
if (!instance.ImagePositionPatient && instance.DetectorInformationSequence) {
|
|
109757
|
-
|
|
109825
|
+
let imagePositionPatient = instance.DetectorInformationSequence[0].ImagePositionPatient;
|
|
109826
|
+
let imageOrientationPatient = instance.ImageOrientationPatient;
|
|
109827
|
+
imagePositionPatient = imagePositionPatient.map(it => Number(it));
|
|
109828
|
+
imageOrientationPatient = imageOrientationPatient.map(it => Number(it));
|
|
109829
|
+
const SpacingBetweenSlices = Number(instance.SpacingBetweenSlices);
|
|
109830
|
+
|
|
109831
|
+
// Calculate the position for the current frame
|
|
109832
|
+
if (imageOrientationPatient && SpacingBetweenSlices) {
|
|
109833
|
+
const rowOrientation = esm/* vec3.fromValues */.eR.fromValues(imageOrientationPatient[0], imageOrientationPatient[1], imageOrientationPatient[2]);
|
|
109834
|
+
const colOrientation = esm/* vec3.fromValues */.eR.fromValues(imageOrientationPatient[3], imageOrientationPatient[4], imageOrientationPatient[5]);
|
|
109835
|
+
const normalVector = esm/* vec3.cross */.eR.cross(esm/* vec3.create */.eR.create(), rowOrientation, colOrientation);
|
|
109836
|
+
const position = esm/* vec3.scaleAndAdd */.eR.scaleAndAdd(esm/* vec3.create */.eR.create(), imagePositionPatient, normalVector, SpacingBetweenSlices * (frameNumber - 1));
|
|
109837
|
+
ImagePositionPatientToUse = [position[0], position[1], position[2]];
|
|
109838
|
+
}
|
|
109758
109839
|
}
|
|
109759
|
-
const newInstance = Object.assign(instance, {
|
|
109760
|
-
frameNumber: frameNumber
|
|
109761
|
-
});
|
|
109762
109840
|
|
|
109763
|
-
//
|
|
109764
|
-
|
|
109765
|
-
|
|
109766
|
-
|
|
109841
|
+
// Cache the _parentInstance at the top level as a full copy to prevent
|
|
109842
|
+
// setting values hard.
|
|
109843
|
+
if (!instance._parentInstance) {
|
|
109844
|
+
Object.defineProperty(instance, '_parentInstance', {
|
|
109845
|
+
value: {
|
|
109846
|
+
...instance
|
|
109847
|
+
}
|
|
109767
109848
|
});
|
|
109849
|
+
}
|
|
109850
|
+
const sharedInstance = createCombinedValue(instance._parentInstance, SharedFunctionalGroupsSequence?.[0], '_shared');
|
|
109851
|
+
const newInstance = createCombinedValue(sharedInstance, PerFrameFunctionalGroupsSequence?.[frameNumber - 1], frameNumber);
|
|
109852
|
+
newInstance.ImagePositionPatient = ImagePositionPatientToUse ?? newInstance.ImagePositionPatient ?? [0, 0, frameNumber];
|
|
109853
|
+
Object.defineProperty(newInstance, 'frameNumber', {
|
|
109854
|
+
value: frameNumber,
|
|
109855
|
+
writable: true,
|
|
109856
|
+
enumerable: true,
|
|
109857
|
+
configurable: true
|
|
109768
109858
|
});
|
|
109769
|
-
|
|
109770
|
-
// Todo: we should cache this combined instance somewhere, maybe add it
|
|
109771
|
-
// back to the dicomMetaStore so we don't have to do this again.
|
|
109772
|
-
return {
|
|
109773
|
-
...newInstance,
|
|
109774
|
-
ImagePositionPatient: newInstance.ImagePositionPatient ?? [0, 0, frameNumber]
|
|
109775
|
-
};
|
|
109859
|
+
return newInstance;
|
|
109776
109860
|
} else {
|
|
109777
109861
|
return instance;
|
|
109778
109862
|
}
|
|
109779
109863
|
};
|
|
109864
|
+
|
|
109865
|
+
/**
|
|
109866
|
+
* Creates a combined instance stored in the parent object which
|
|
109867
|
+
* inherits from the parent instance the attributes in the functional groups.
|
|
109868
|
+
* The storage key in the parent is in key
|
|
109869
|
+
*/
|
|
109870
|
+
function createCombinedValue(parent, functionalGroups, key) {
|
|
109871
|
+
if (parent[key]) {
|
|
109872
|
+
return parent[key];
|
|
109873
|
+
}
|
|
109874
|
+
// Exclude any proxying values
|
|
109875
|
+
const newInstance = Object.create(parent);
|
|
109876
|
+
Object.defineProperty(parent, key, {
|
|
109877
|
+
value: newInstance,
|
|
109878
|
+
writable: false,
|
|
109879
|
+
enumerable: false
|
|
109880
|
+
});
|
|
109881
|
+
if (!functionalGroups) {
|
|
109882
|
+
return newInstance;
|
|
109883
|
+
}
|
|
109884
|
+
const shared = functionalGroups ? Object.values(functionalGroups).filter(Boolean).map(it => it[0]).filter(it => typeof it === 'object') : [];
|
|
109885
|
+
|
|
109886
|
+
// merge the shared first then the per frame to override
|
|
109887
|
+
[...shared].forEach(item => {
|
|
109888
|
+
if (item.SOPInstanceUID) {
|
|
109889
|
+
// This sub-item is a previous value information item, so don't merge it
|
|
109890
|
+
return;
|
|
109891
|
+
}
|
|
109892
|
+
Object.entries(item).forEach(([key, value]) => {
|
|
109893
|
+
newInstance[key] = value;
|
|
109894
|
+
});
|
|
109895
|
+
});
|
|
109896
|
+
return newInstance;
|
|
109897
|
+
}
|
|
109780
109898
|
/* harmony default export */ const utils_combineFrameInstance = (combineFrameInstance);
|
|
109899
|
+
// EXTERNAL MODULE: ../../core/src/utils/formatPN.js
|
|
109900
|
+
var formatPN = __webpack_require__(27766);
|
|
109781
109901
|
;// CONCATENATED MODULE: ../../core/src/classes/MetadataProvider.ts
|
|
109782
109902
|
|
|
109783
109903
|
|
|
@@ -109787,23 +109907,25 @@ const combineFrameInstance = (frame, instance) => {
|
|
|
109787
109907
|
|
|
109788
109908
|
|
|
109789
109909
|
|
|
109910
|
+
|
|
109790
109911
|
class MetadataProvider {
|
|
109791
109912
|
constructor() {
|
|
109792
|
-
this.studies = new Map();
|
|
109793
109913
|
this.imageURIToUIDs = new Map();
|
|
109794
|
-
this.imageUIDsByImageId = new Map();
|
|
109795
109914
|
// Can be used to store custom metadata for a specific type.
|
|
109796
109915
|
// For instance, the scaling metadata for PET can be stored here
|
|
109797
109916
|
// as type "scalingModule"
|
|
109798
109917
|
this.customMetadata = new Map();
|
|
109799
109918
|
}
|
|
109800
109919
|
addImageIdToUIDs(imageId, uids) {
|
|
109920
|
+
if (!imageId) {
|
|
109921
|
+
throw new Error('MetadataProvider::Empty imageId');
|
|
109922
|
+
}
|
|
109923
|
+
|
|
109801
109924
|
// This method is a fallback for when you don't have WADO-URI or WADO-RS.
|
|
109802
109925
|
// You can add instances fetched by any method by calling addInstance, and hook an imageId to point at it here.
|
|
109803
109926
|
// An example would be dicom hosted at some random site.
|
|
109804
109927
|
const imageURI = (0,utils/* imageIdToURI */.YF)(imageId);
|
|
109805
109928
|
this.imageURIToUIDs.set(imageURI, uids);
|
|
109806
|
-
this.imageUIDsByImageId.set(imageId, uids);
|
|
109807
109929
|
}
|
|
109808
109930
|
addCustomMetadata(imageId, type, metadata) {
|
|
109809
109931
|
const imageURI = (0,utils/* imageIdToURI */.YF)(imageId);
|
|
@@ -109813,6 +109935,9 @@ class MetadataProvider {
|
|
|
109813
109935
|
this.customMetadata.get(type)[imageURI] = metadata;
|
|
109814
109936
|
}
|
|
109815
109937
|
_getInstance(imageId) {
|
|
109938
|
+
if (!imageId) {
|
|
109939
|
+
throw new Error('MetadataProvider::Empty imageId');
|
|
109940
|
+
}
|
|
109816
109941
|
const uids = this.getUIDsFromImageID(imageId);
|
|
109817
109942
|
if (!uids) {
|
|
109818
109943
|
return;
|
|
@@ -110079,7 +110204,7 @@ class MetadataProvider {
|
|
|
110079
110204
|
} = instance;
|
|
110080
110205
|
let patientName;
|
|
110081
110206
|
if (PatientName) {
|
|
110082
|
-
patientName = PatientName
|
|
110207
|
+
patientName = (0,formatPN/* default */.A)(PatientName);
|
|
110083
110208
|
}
|
|
110084
110209
|
metadata = {
|
|
110085
110210
|
patientName,
|
|
@@ -110184,21 +110309,6 @@ class MetadataProvider {
|
|
|
110184
110309
|
return;
|
|
110185
110310
|
}
|
|
110186
110311
|
getUIDsFromImageID(imageId) {
|
|
110187
|
-
if (!imageId) {
|
|
110188
|
-
throw new Error('MetadataProvider::Empty imageId');
|
|
110189
|
-
}
|
|
110190
|
-
// TODO: adding csiv here is not really correct. Probably need to use
|
|
110191
|
-
// metadataProvider.addImageIdToUIDs(imageId, {
|
|
110192
|
-
// StudyInstanceUID,
|
|
110193
|
-
// SeriesInstanceUID,
|
|
110194
|
-
// SOPInstanceUID,
|
|
110195
|
-
// })
|
|
110196
|
-
// somewhere else
|
|
110197
|
-
|
|
110198
|
-
const cachedUIDs = this.imageUIDsByImageId.get(imageId);
|
|
110199
|
-
if (cachedUIDs) {
|
|
110200
|
-
return cachedUIDs;
|
|
110201
|
-
}
|
|
110202
110312
|
if (imageId.startsWith('wadors:')) {
|
|
110203
110313
|
const strippedImageId = imageId.split('/studies/')[1];
|
|
110204
110314
|
const splitImageId = strippedImageId.split('/');
|
|
@@ -110946,7 +111056,7 @@ function useToolbar({
|
|
|
110946
111056
|
|
|
110947
111057
|
// Effect to handle active viewportId change event
|
|
110948
111058
|
(0,react.useEffect)(() => {
|
|
110949
|
-
const events = [viewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED, viewportGridService.EVENTS.VIEWPORTS_READY];
|
|
111059
|
+
const events = [viewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED, viewportGridService.EVENTS.VIEWPORTS_READY, viewportGridService.EVENTS.LAYOUT_CHANGED];
|
|
110950
111060
|
const subscriptions = events.map(event => {
|
|
110951
111061
|
return viewportGridService.subscribe(event, ({
|
|
110952
111062
|
viewportId
|
|
@@ -111653,6 +111763,38 @@ class PubSubService {
|
|
|
111653
111763
|
|
|
111654
111764
|
/***/ }),
|
|
111655
111765
|
|
|
111766
|
+
/***/ 27766:
|
|
111767
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
111768
|
+
|
|
111769
|
+
"use strict";
|
|
111770
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
111771
|
+
/* harmony export */ A: () => (/* binding */ formatPN)
|
|
111772
|
+
/* harmony export */ });
|
|
111773
|
+
/**
|
|
111774
|
+
* Formats a patient name for display purposes
|
|
111775
|
+
*/
|
|
111776
|
+
function formatPN(name) {
|
|
111777
|
+
if (!name) {
|
|
111778
|
+
return;
|
|
111779
|
+
}
|
|
111780
|
+
let nameToUse = name.Alphabetic ?? name;
|
|
111781
|
+
if (typeof nameToUse === 'object') {
|
|
111782
|
+
nameToUse = '';
|
|
111783
|
+
}
|
|
111784
|
+
|
|
111785
|
+
// Convert the first ^ to a ', '. String.replace() only affects
|
|
111786
|
+
// the first appearance of the character.
|
|
111787
|
+
const commaBetweenFirstAndLast = nameToUse.replace('^', ', ');
|
|
111788
|
+
|
|
111789
|
+
// Replace any remaining '^' characters with spaces
|
|
111790
|
+
const cleaned = commaBetweenFirstAndLast.replace(/\^/g, ' ');
|
|
111791
|
+
|
|
111792
|
+
// Trim any extraneous whitespace
|
|
111793
|
+
return cleaned.trim();
|
|
111794
|
+
}
|
|
111795
|
+
|
|
111796
|
+
/***/ }),
|
|
111797
|
+
|
|
111656
111798
|
/***/ 27054:
|
|
111657
111799
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
111658
111800
|
|
|
@@ -111675,7 +111817,7 @@ const guid = () => {
|
|
|
111675
111817
|
|
|
111676
111818
|
/***/ }),
|
|
111677
111819
|
|
|
111678
|
-
/***/
|
|
111820
|
+
/***/ 5971:
|
|
111679
111821
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
111680
111822
|
|
|
111681
111823
|
"use strict";
|
|
@@ -112295,29 +112437,8 @@ var i18next = __webpack_require__(40680);
|
|
|
112295
112437
|
function formatTime(time, format = 'HH:mm:ss') {
|
|
112296
112438
|
return moment_default()(time, 'HH:mm:ss').format(format);
|
|
112297
112439
|
}
|
|
112298
|
-
|
|
112299
|
-
|
|
112300
|
-
* Formats a patient name for display purposes
|
|
112301
|
-
*/
|
|
112302
|
-
function formatPN(name) {
|
|
112303
|
-
if (!name) {
|
|
112304
|
-
return;
|
|
112305
|
-
}
|
|
112306
|
-
let nameToUse = name.Alphabetic ?? name;
|
|
112307
|
-
if (typeof nameToUse === 'object') {
|
|
112308
|
-
nameToUse = '';
|
|
112309
|
-
}
|
|
112310
|
-
|
|
112311
|
-
// Convert the first ^ to a ', '. String.replace() only affects
|
|
112312
|
-
// the first appearance of the character.
|
|
112313
|
-
const commaBetweenFirstAndLast = nameToUse.replace('^', ', ');
|
|
112314
|
-
|
|
112315
|
-
// Replace any remaining '^' characters with spaces
|
|
112316
|
-
const cleaned = commaBetweenFirstAndLast.replace(/\^/g, ' ');
|
|
112317
|
-
|
|
112318
|
-
// Trim any extraneous whitespace
|
|
112319
|
-
return cleaned.trim();
|
|
112320
|
-
}
|
|
112440
|
+
// EXTERNAL MODULE: ../../core/src/utils/formatPN.js
|
|
112441
|
+
var formatPN = __webpack_require__(27766);
|
|
112321
112442
|
;// CONCATENATED MODULE: ../../core/src/utils/generateAcceptHeader.ts
|
|
112322
112443
|
const generateAcceptHeader = (configAcceptHeader = [], requestTransferSyntaxUID = '*',
|
|
112323
112444
|
//default to accept all transfer syntax
|
|
@@ -113097,6 +113218,7 @@ function roundNumber(value, precision = 2) {
|
|
|
113097
113218
|
var DicomMetadataStore = __webpack_require__(60140);
|
|
113098
113219
|
;// CONCATENATED MODULE: ../../core/src/utils/downloadCSVReport.js
|
|
113099
113220
|
|
|
113221
|
+
|
|
113100
113222
|
function downloadCSVReport(measurementData) {
|
|
113101
113223
|
if (measurementData.length === 0) {
|
|
113102
113224
|
// Prevent download of report with no measurements.
|
|
@@ -113173,7 +113295,7 @@ function _getCommonRowItems(measurement, seriesMetadata) {
|
|
|
113173
113295
|
return {
|
|
113174
113296
|
'Patient ID': firstInstance.PatientID,
|
|
113175
113297
|
// Patient ID
|
|
113176
|
-
'Patient Name': firstInstance.PatientName
|
|
113298
|
+
'Patient Name': (0,formatPN/* default */.A)(firstInstance.PatientName) || '',
|
|
113177
113299
|
// Patient Name
|
|
113178
113300
|
StudyInstanceUID: measurement.referenceStudyUID,
|
|
113179
113301
|
// StudyInstanceUID
|
|
@@ -113425,7 +113547,7 @@ const utils = {
|
|
|
113425
113547
|
writeScript: writeScript,
|
|
113426
113548
|
formatDate: formatDate,
|
|
113427
113549
|
formatTime: formatTime,
|
|
113428
|
-
formatPN: formatPN,
|
|
113550
|
+
formatPN: formatPN/* default */.A,
|
|
113429
113551
|
b64toBlob: utils_b64toBlob,
|
|
113430
113552
|
urlUtil: utils_urlUtil,
|
|
113431
113553
|
imageIdToURI: imageIdToURI,
|
|
@@ -115012,7 +115134,7 @@ const detectionOptions = {
|
|
|
115012
115134
|
}
|
|
115013
115135
|
});
|
|
115014
115136
|
;// CONCATENATED MODULE: ../../i18n/package.json
|
|
115015
|
-
const package_namespaceObject = {"rE":"3.9.
|
|
115137
|
+
const package_namespaceObject = {"rE":"3.9.2"};
|
|
115016
115138
|
;// CONCATENATED MODULE: ../../i18n/src/utils.js
|
|
115017
115139
|
const languagesMap = {
|
|
115018
115140
|
ar: 'Arabic',
|
|
@@ -239571,13 +239693,6 @@ SidePanel.propTypes = {
|
|
|
239571
239693
|
side: prop_types_default().oneOf(['left', 'right']).isRequired,
|
|
239572
239694
|
className: (prop_types_default()).string,
|
|
239573
239695
|
activeTabIndex: (prop_types_default()).number,
|
|
239574
|
-
tabs: prop_types_default().oneOfType([prop_types_default().arrayOf(prop_types_default().shape({
|
|
239575
|
-
iconName: (prop_types_default()).string.isRequired,
|
|
239576
|
-
iconLabel: (prop_types_default()).string.isRequired,
|
|
239577
|
-
name: (prop_types_default()).string.isRequired,
|
|
239578
|
-
label: (prop_types_default()).string.isRequired,
|
|
239579
|
-
content: (prop_types_default()).func // TODO: Should be node, but it keeps complaining?
|
|
239580
|
-
}))]),
|
|
239581
239696
|
onOpen: (prop_types_default()).func,
|
|
239582
239697
|
onClose: (prop_types_default()).func,
|
|
239583
239698
|
onActiveTabIndexChange: (prop_types_default()).func,
|
|
@@ -241700,8 +241815,8 @@ function ToolboxUI(props) {
|
|
|
241700
241815
|
}, render())) : render());
|
|
241701
241816
|
}
|
|
241702
241817
|
|
|
241703
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
241704
|
-
var core_src = __webpack_require__(
|
|
241818
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
241819
|
+
var core_src = __webpack_require__(80818);
|
|
241705
241820
|
;// CONCATENATED MODULE: ../../ui-next/src/components/Toolbox/Toolbox.tsx
|
|
241706
241821
|
function Toolbox_extends() { return Toolbox_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, Toolbox_extends.apply(null, arguments); }
|
|
241707
241822
|
|
|
@@ -242197,9 +242312,7 @@ const DataRow = ({
|
|
|
242197
242312
|
return /*#__PURE__*/react.createElement("div", {
|
|
242198
242313
|
key: cleanText,
|
|
242199
242314
|
className: "whitespace-pre-wrap"
|
|
242200
|
-
}, indentation,
|
|
242201
|
-
className: "font-medium"
|
|
242202
|
-
}, cleanText.split(':')[0], ":"), cleanText.split(':')[1]) : /*#__PURE__*/react.createElement("span", {
|
|
242315
|
+
}, indentation, /*#__PURE__*/react.createElement("span", {
|
|
242203
242316
|
className: "font-medium"
|
|
242204
242317
|
}, cleanText));
|
|
242205
242318
|
};
|
|
@@ -242307,11 +242420,13 @@ const DataRow = ({
|
|
|
242307
242420
|
className: "text-foreground"
|
|
242308
242421
|
}), /*#__PURE__*/react.createElement("span", {
|
|
242309
242422
|
className: "pl-2"
|
|
242310
|
-
}, isLocked ? 'Unlock' : 'Lock')))))), details && details.primary?.length > 0 && /*#__PURE__*/react.createElement("div", {
|
|
242423
|
+
}, isLocked ? 'Unlock' : 'Lock')))))), details && (details.primary?.length > 0 || details.secondary?.length > 0) && /*#__PURE__*/react.createElement("div", {
|
|
242311
242424
|
className: "ml-7 px-2 py-2"
|
|
242312
242425
|
}, /*#__PURE__*/react.createElement("div", {
|
|
242313
|
-
className: "text-secondary-foreground text-base leading-normal"
|
|
242314
|
-
}, renderDetails(details.primary)
|
|
242426
|
+
className: "text-secondary-foreground flex items-center gap-1 text-base leading-normal"
|
|
242427
|
+
}, details.primary?.length > 0 && renderDetails(details.primary), details.secondary?.length > 0 && /*#__PURE__*/react.createElement("div", {
|
|
242428
|
+
className: "text-muted-foreground ml-auto text-sm"
|
|
242429
|
+
}, renderDetails(details.secondary)))));
|
|
242315
242430
|
};
|
|
242316
242431
|
/* harmony default export */ const DataRow_DataRow = (DataRow);
|
|
242317
242432
|
;// CONCATENATED MODULE: ../../ui-next/src/components/DataRow/index.ts
|
|
@@ -242497,7 +242612,7 @@ const SegmentationSegments = ({
|
|
|
242497
242612
|
return null;
|
|
242498
242613
|
}
|
|
242499
242614
|
const segmentCount = Object.keys(representationToUse.segments).length;
|
|
242500
|
-
const height = mode === 'collapsed' ? 'h-[
|
|
242615
|
+
const height = mode === 'collapsed' ? 'h-[900px]' : `h-[${segmentCount * 200}px]`;
|
|
242501
242616
|
return /*#__PURE__*/react.createElement(ScrollArea_ScrollArea, {
|
|
242502
242617
|
className: `ohif-scrollbar invisible-scrollbar bg-bkg-low space-y-px ${height}`,
|
|
242503
242618
|
showArrows: true
|
|
@@ -243248,24 +243363,24 @@ Stack: ${error.stack}
|
|
|
243248
243363
|
}, /*#__PURE__*/react.createElement(Dialog_DialogContent, {
|
|
243249
243364
|
className: "border-input h-[50vh] w-[90vw] border-2 sm:max-w-[900px]"
|
|
243250
243365
|
}, /*#__PURE__*/react.createElement(DialogHeader, null, /*#__PURE__*/react.createElement(Dialog_DialogTitle, {
|
|
243251
|
-
className: "text-xl"
|
|
243252
|
-
}, title), /*#__PURE__*/react.createElement(Dialog_DialogDescription, {
|
|
243253
|
-
className: "text-lg"
|
|
243254
|
-
}, subtitle)), /*#__PURE__*/react.createElement(ScrollArea_ScrollArea, {
|
|
243255
|
-
className: "h-[calc(90vh-120px)]"
|
|
243256
|
-
}, /*#__PURE__*/react.createElement("div", {
|
|
243257
|
-
className: "space-y-4 pr-4 font-mono text-base"
|
|
243366
|
+
className: "text-muted-foreground flex justify-between text-xl"
|
|
243258
243367
|
}, /*#__PURE__*/react.createElement("div", {
|
|
243259
|
-
className: "flex
|
|
243260
|
-
}, /*#__PURE__*/react.createElement("button", {
|
|
243368
|
+
className: "flex items-center"
|
|
243369
|
+
}, title), /*#__PURE__*/react.createElement("button", {
|
|
243261
243370
|
onClick: () => {
|
|
243262
243371
|
copyErrorDetails();
|
|
243263
243372
|
setShowDetails(false);
|
|
243264
243373
|
},
|
|
243265
|
-
className: "text-aqua-pale hover:text-aqua-pale/80 flex items-center gap-2 rounded bg-gray-800 px-4 py-2"
|
|
243374
|
+
className: "text-aqua-pale hover:text-aqua-pale/80 flex items-center gap-2 rounded bg-gray-800 px-4 py-2 font-light"
|
|
243266
243375
|
}, /*#__PURE__*/react.createElement(Icons.Code, {
|
|
243267
243376
|
className: "h-4 w-4"
|
|
243268
|
-
}), t('Copy Details'))), /*#__PURE__*/react.createElement(
|
|
243377
|
+
}), t('Copy Details'))), /*#__PURE__*/react.createElement(Dialog_DialogDescription, {
|
|
243378
|
+
className: "text-lg"
|
|
243379
|
+
}, subtitle)), /*#__PURE__*/react.createElement(ScrollArea_ScrollArea, {
|
|
243380
|
+
className: "h-[100%]"
|
|
243381
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
243382
|
+
className: "space-y-4 pr-4 font-mono text-base"
|
|
243383
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
243269
243384
|
className: "space-y-4"
|
|
243270
243385
|
}, /*#__PURE__*/react.createElement("p", {
|
|
243271
243386
|
className: "text-aqua-pale break-words text-lg"
|
|
@@ -252322,8 +252437,8 @@ ViewportDialogProvider.propTypes = {
|
|
|
252322
252437
|
// EXTERNAL MODULE: ../../../node_modules/lodash.merge/index.js
|
|
252323
252438
|
var lodash_merge = __webpack_require__(2816);
|
|
252324
252439
|
var lodash_merge_default = /*#__PURE__*/__webpack_require__.n(lodash_merge);
|
|
252325
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
252326
|
-
var src = __webpack_require__(
|
|
252440
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
252441
|
+
var src = __webpack_require__(80818);
|
|
252327
252442
|
;// CONCATENATED MODULE: ../../ui/src/utils/viewportLabels.ts
|
|
252328
252443
|
const viewportLabels = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
|
|
252329
252444
|
/* harmony default export */ const utils_viewportLabels = (viewportLabels);
|
|
@@ -265572,7 +265687,7 @@ const SidePanel_SidePanel = ({
|
|
|
265572
265687
|
position: side === 'left' ? 'right' : 'left',
|
|
265573
265688
|
key: index,
|
|
265574
265689
|
content: getToolTipContent(childComponent.label, childComponent.disabled),
|
|
265575
|
-
className: classnames_default()('flex items-center', side === 'left' ? 'justify-end
|
|
265690
|
+
className: classnames_default()('flex items-center', side === 'left' ? 'justify-end' : 'justify-start')
|
|
265576
265691
|
}, /*#__PURE__*/react.createElement("div", {
|
|
265577
265692
|
id: `${childComponent.name}-btn`,
|
|
265578
265693
|
"data-cy": `${childComponent.name}-btn`,
|
|
@@ -265610,7 +265725,7 @@ const SidePanel_SidePanel = ({
|
|
|
265610
265725
|
const getTabGridComponent = () => {
|
|
265611
265726
|
const numCols = getNumGridColumns(tabs.length, gridWidth);
|
|
265612
265727
|
return /*#__PURE__*/react.createElement("div", {
|
|
265613
|
-
className: classnames_default()('flex grow
|
|
265728
|
+
className: classnames_default()('flex grow', side === 'right' ? 'justify-start' : 'justify-end')
|
|
265614
265729
|
}, /*#__PURE__*/react.createElement("div", {
|
|
265615
265730
|
className: classnames_default()('bg-primary-dark text-primary-active flex flex-wrap'),
|
|
265616
265731
|
style: getGridStyle(side, tabs.length, gridWidth, expandedWidth)
|
|
@@ -265649,7 +265764,7 @@ const SidePanel_SidePanel = ({
|
|
|
265649
265764
|
};
|
|
265650
265765
|
const getOneTabComponent = () => {
|
|
265651
265766
|
return /*#__PURE__*/react.createElement("div", {
|
|
265652
|
-
className: classnames_default()('text-primary-active flex
|
|
265767
|
+
className: classnames_default()('text-primary-active flex grow cursor-pointer select-none justify-center self-center text-[13px]'),
|
|
265653
265768
|
style: {
|
|
265654
265769
|
...(side === 'left' ? {
|
|
265655
265770
|
marginLeft: `${closeIconWidth}px`
|
|
@@ -265663,7 +265778,7 @@ const SidePanel_SidePanel = ({
|
|
|
265663
265778
|
};
|
|
265664
265779
|
const getOpenStateComponent = () => {
|
|
265665
265780
|
return /*#__PURE__*/react.createElement("div", {
|
|
265666
|
-
className: "bg-primary-dark flex select-none rounded-t pt-1.5 pb-[2px]
|
|
265781
|
+
className: "bg-primary-dark flex select-none rounded-t pt-1.5 pb-[2px]"
|
|
265667
265782
|
}, getCloseIcon(), tabs.length === 1 ? getOneTabComponent() : getTabGridComponent());
|
|
265668
265783
|
};
|
|
265669
265784
|
return /*#__PURE__*/react.createElement("div", {
|
|
@@ -277239,7 +277354,7 @@ function usePatientInfo(servicesManager) {
|
|
|
277239
277354
|
}
|
|
277240
277355
|
setPatientInfo({
|
|
277241
277356
|
PatientID: instance.PatientID || null,
|
|
277242
|
-
PatientName: instance.PatientName ? formatPN(instance.PatientName
|
|
277357
|
+
PatientName: instance.PatientName ? formatPN(instance.PatientName) : null,
|
|
277243
277358
|
PatientSex: instance.PatientSex || null,
|
|
277244
277359
|
PatientDOB: formatDate(instance.PatientBirthDate) || null
|
|
277245
277360
|
});
|
|
@@ -421567,7 +421682,7 @@ function __disposeResources(env) {
|
|
|
421567
421682
|
/******/ // This function allow to reference async chunks
|
|
421568
421683
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
421569
421684
|
/******/ // return url for filenames based on template
|
|
421570
|
-
/******/ return "" + ({"572":"polySeg","3054":"histogram-worker","3584":"suv-peak-worker"}[chunkId] || chunkId) + ".bundle." + {"
|
|
421685
|
+
/******/ return "" + ({"572":"polySeg","3054":"histogram-worker","3584":"suv-peak-worker"}[chunkId] || chunkId) + ".bundle." + {"213":"c0c23f7fd4b66d78d0fe","572":"6e85073e3abf2e6e6078","1185":"9f4c770baf52abcf3c6d","1266":"0097d9c4ba974905a833","1374":"2e1fa65e28731d98969a","1436":"be39664239aa2bbca527","1927":"2b2fa0b539d6ac5b0dc3","2343":"f096450c21417279d4cc","2424":"d73e8d67dc2aace299d2","2701":"c8271fa4986a45fea350","2825":"0612b1b8ab3e8ee01b93","3054":"f0e060cf2637a2ca94b7","3198":"7a18515cfe4113417251","3200":"e46dca03aa824998973a","3326":"d01046d6c2c31654c125","3334":"0e6ba24024018199ab66","3584":"e2e8e46de3e958a1a3db","3900":"0e4e29374e221b260ed1","3902":"8ae7b2e27f760af997dd","4182":"e372664fc1cc7ed6296e","4202":"497702023d73202f4f39","4438":"a945f803d0eeb11d081f","4759":"1e982897292fc19ecd7c","4834":"92ba088cc62a6b791000","5139":"70d3be7dd1896f245d7b","5247":"4e8669e41fd28813e643","5261":"74682659cce85f3ae592","5630":"44d0ca81d77b7ae5193b","5687":"50b800a714486557b243","5758":"cd1599b81bdb1f735f9d","6939":"9b79da82315a25f37d96","7013":"979d3a29f6142e8c1290","7159":"9f4856182f1eda29c59d","7197":"30f8969751309ab5235c","7955":"9264a10437f0a67e6057","8008":"6772a210a995b568f8d0","8228":"2c1e61eec1f9f4b3b613","8259":"9cf9ef151893ede068bb","8558":"9c22f000a404f1006a41","9551":"3507bb1d4353df13bf3a","9611":"9f1aa9041196d77f2b7e","9862":"aa2f8e0010f1be1bc87d"}[chunkId] + ".js";
|
|
421571
421686
|
/******/ };
|
|
421572
421687
|
/******/ })();
|
|
421573
421688
|
/******/
|
|
@@ -421739,7 +421854,7 @@ function __disposeResources(env) {
|
|
|
421739
421854
|
/******/ };
|
|
421740
421855
|
/******/
|
|
421741
421856
|
/******/ __webpack_require__.f.miniCss = (chunkId, promises) => {
|
|
421742
|
-
/******/ var cssChunks = {"
|
|
421857
|
+
/******/ var cssChunks = {"1266":1,"3198":1,"3200":1,"3326":1,"3902":1,"4182":1,"4438":1,"4759":1,"5139":1,"5247":1,"7013":1,"7159":1,"7197":1,"8228":1,"9611":1};
|
|
421743
421858
|
/******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
|
|
421744
421859
|
/******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
|
|
421745
421860
|
/******/ promises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {
|
|
@@ -421754,7 +421869,7 @@ function __disposeResources(env) {
|
|
|
421754
421869
|
/******/ // no hmr
|
|
421755
421870
|
/******/
|
|
421756
421871
|
/******/ __webpack_require__.F.miniCss = (chunkId) => {
|
|
421757
|
-
/******/ if((!__webpack_require__.o(installedCssChunks, chunkId) || installedCssChunks[chunkId] === undefined) && /^(3(198|200|524)|
|
|
421872
|
+
/******/ if((!__webpack_require__.o(installedCssChunks, chunkId) || installedCssChunks[chunkId] === undefined) && /^(3(198|200|326|524|902)|4(182|438|759)|7(013|159|197)|1266|5139|5247|8228|9611)$/.test(chunkId)) {
|
|
421758
421873
|
/******/ installedCssChunks[chunkId] = null;
|
|
421759
421874
|
/******/ var link = document.createElement('link');
|
|
421760
421875
|
/******/
|
|
@@ -421795,7 +421910,7 @@ function __disposeResources(env) {
|
|
|
421795
421910
|
/******/ if(installedChunkData) {
|
|
421796
421911
|
/******/ promises.push(installedChunkData[2]);
|
|
421797
421912
|
/******/ } else {
|
|
421798
|
-
/******/ if(
|
|
421913
|
+
/******/ if(4182 != chunkId) {
|
|
421799
421914
|
/******/ // setup Promise in chunk cache
|
|
421800
421915
|
/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));
|
|
421801
421916
|
/******/ promises.push(installedChunkData[2] = promise);
|
|
@@ -421826,7 +421941,7 @@ function __disposeResources(env) {
|
|
|
421826
421941
|
/******/ };
|
|
421827
421942
|
/******/
|
|
421828
421943
|
/******/ __webpack_require__.F.j = (chunkId) => {
|
|
421829
|
-
/******/ if((!__webpack_require__.o(installedChunks, chunkId) || installedChunks[chunkId] === undefined) &&
|
|
421944
|
+
/******/ if((!__webpack_require__.o(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && 4182 != chunkId) {
|
|
421830
421945
|
/******/ installedChunks[chunkId] = null;
|
|
421831
421946
|
/******/ var link = document.createElement('link');
|
|
421832
421947
|
/******/
|
|
@@ -421891,17 +422006,10 @@ function __disposeResources(env) {
|
|
|
421891
422006
|
/******/ "213": [
|
|
421892
422007
|
/******/ 6939
|
|
421893
422008
|
/******/ ],
|
|
421894
|
-
/******/ "717": [
|
|
421895
|
-
/******/ 9611
|
|
421896
|
-
/******/ ],
|
|
421897
422009
|
/******/ "1266": [
|
|
421898
422010
|
/******/ 9611,
|
|
421899
422011
|
/******/ 2701
|
|
421900
422012
|
/******/ ],
|
|
421901
|
-
/******/ "1801": [
|
|
421902
|
-
/******/ 9611,
|
|
421903
|
-
/******/ 2701
|
|
421904
|
-
/******/ ],
|
|
421905
422013
|
/******/ "2424": [
|
|
421906
422014
|
/******/ 7159
|
|
421907
422015
|
/******/ ],
|
|
@@ -421913,18 +422021,38 @@ function __disposeResources(env) {
|
|
|
421913
422021
|
/******/ 2701,
|
|
421914
422022
|
/******/ 9862
|
|
421915
422023
|
/******/ ],
|
|
422024
|
+
/******/ "3326": [
|
|
422025
|
+
/******/ 9611
|
|
422026
|
+
/******/ ],
|
|
422027
|
+
/******/ "3902": [
|
|
422028
|
+
/******/ 9611
|
|
422029
|
+
/******/ ],
|
|
421916
422030
|
/******/ "4182": [
|
|
422031
|
+
/******/ 9611,
|
|
422032
|
+
/******/ 2701
|
|
422033
|
+
/******/ ],
|
|
422034
|
+
/******/ "4438": [
|
|
421917
422035
|
/******/ 9611
|
|
421918
422036
|
/******/ ],
|
|
421919
422037
|
/******/ "5139": [
|
|
421920
422038
|
/******/ 9611,
|
|
421921
422039
|
/******/ 4202
|
|
421922
422040
|
/******/ ],
|
|
422041
|
+
/******/ "7013": [
|
|
422042
|
+
/******/ 9611
|
|
422043
|
+
/******/ ],
|
|
421923
422044
|
/******/ "7197": [
|
|
421924
|
-
/******/
|
|
422045
|
+
/******/ 3334,
|
|
422046
|
+
/******/ 1185,
|
|
422047
|
+
/******/ 3902
|
|
421925
422048
|
/******/ ],
|
|
421926
422049
|
/******/ "8558": [
|
|
421927
|
-
/******/
|
|
422050
|
+
/******/ 3900,
|
|
422051
|
+
/******/ 1436,
|
|
422052
|
+
/******/ 3334,
|
|
422053
|
+
/******/ 5630,
|
|
422054
|
+
/******/ 1185,
|
|
422055
|
+
/******/ 4438
|
|
421928
422056
|
/******/ ]
|
|
421929
422057
|
/******/ };
|
|
421930
422058
|
/******/ __webpack_require__.f.prefetch = (chunkId, promises) => (Promise.all(promises).then(() => {
|