@ohif/app 3.12.0-beta.41 → 3.12.0-beta.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/{1447.bundle.e01fc0a6bedb558ddbbd.js → 1447.bundle.3c71e9ea053b7069b73e.js} +2 -2
  2. package/dist/{4113.bundle.35b2bf02f79a9705f3de.js → 4113.bundle.3edfb5a8a5aab9679211.js} +101 -49
  3. package/dist/{7656.bundle.895648e6ae0045998bf9.js → 7656.bundle.3d4e565ee35e891f3b76.js} +15 -8
  4. package/dist/{app.bundle.7f8c13ed1319c8a7049a.js → app.bundle.3ddff05a929e648bc39b.js} +190 -27
  5. package/dist/app.bundle.css +1 -1
  6. package/dist/index.html +1 -1
  7. package/dist/sw.js +1 -1
  8. package/package.json +20 -20
  9. /package/dist/{1459.bundle.bc37d11dc7f2c4122619.js → 1459.bundle.fb8d3e9b86d6db3d2baa.js} +0 -0
  10. /package/dist/{1604.bundle.a2789e3171b7f5cda06f.js → 1604.bundle.4bb34d57bfd5050b9b03.js} +0 -0
  11. /package/dist/{1807.bundle.ffd600f15e0545556f34.js → 1807.bundle.63c05523037c24c627e4.js} +0 -0
  12. /package/dist/{1919.bundle.c2ff3b06a6cfae9aad12.js → 1919.bundle.c1a2b483fdcd10d2e8ee.js} +0 -0
  13. /package/dist/{213.bundle.93c68a8e8a98fed04614.js → 213.bundle.419b1126df29ff894196.js} +0 -0
  14. /package/dist/{2243.bundle.76cfcf962c371942d1d8.js → 2243.bundle.6262071c8202d60d9e8f.js} +0 -0
  15. /package/dist/{2424.bundle.2c5ba1c091efa1977f5b.js → 2424.bundle.b35da11dfb95519a14a8.js} +0 -0
  16. /package/dist/{414.bundle.0b8d3166cc869e4c5ab5.js → 414.bundle.28e014952a93b6e6b58e.js} +0 -0
  17. /package/dist/{5457.bundle.d8bbca1928f328800d43.js → 5457.bundle.4d46dae65f6ff8686af3.js} +0 -0
  18. /package/dist/{5485.bundle.2bc2cffc4d55990d634a.js → 5485.bundle.a6b4e8afb47c331a8dcc.js} +0 -0
  19. /package/dist/{6027.bundle.91791f3f8272c71a3493.js → 6027.bundle.96d1d0a4c04074ff731b.js} +0 -0
  20. /package/dist/{6201.bundle.2c76115f5574dfc700bf.js → 6201.bundle.03852e3e4812fa47c288.js} +0 -0
  21. /package/dist/{6991.bundle.8afb532d189985a8bf69.js → 6991.bundle.4488b5fd30b74768c464.js} +0 -0
  22. /package/dist/{7197.bundle.add4eca11793601af89d.js → 7197.bundle.501245e2a7a876575e2f.js} +0 -0
  23. /package/dist/{7639.bundle.47b22290338b84c820fa.js → 7639.bundle.a6afd7326c87e1c8df70.js} +0 -0
  24. /package/dist/{810.bundle.b781054d2600923bf4c0.js → 810.bundle.9df1fe8a988f0ebcd390.js} +0 -0
  25. /package/dist/{85.bundle.90069f6ed46fcad1fa29.js → 85.bundle.e0e7e67dcf5e01311986.js} +0 -0
  26. /package/dist/{8558.bundle.8065fa8a2be98f7b55a7.js → 8558.bundle.8131ec4e6f5f45f561fc.js} +0 -0
  27. /package/dist/{8815.bundle.9b1ff0a9c38831063b54.js → 8815.bundle.e59565eceae997a0afdf.js} +0 -0
  28. /package/dist/{934.bundle.656c67918146c2882aa4.js → 934.bundle.ffa8ecef7b8d34b0dd66.js} +0 -0
@@ -129842,12 +129842,15 @@ var log = __webpack_require__(83887);
129842
129842
  var guid = __webpack_require__(27054);
129843
129843
  // EXTERNAL MODULE: ../../core/src/services/_shared/pubSubServiceInterface.ts
129844
129844
  var pubSubServiceInterface = __webpack_require__(37230);
129845
+ // EXTERNAL MODULE: ../../core/src/services/DicomMetadataStore/DicomMetadataStore.ts + 2 modules
129846
+ var DicomMetadataStore = __webpack_require__(60140);
129845
129847
  ;// ../../core/src/services/MeasurementService/MeasurementService.ts
129846
129848
  var _MeasurementService;
129847
129849
 
129848
129850
 
129849
129851
 
129850
129852
 
129853
+
129851
129854
  /**
129852
129855
  * Measurement source schema
129853
129856
  *
@@ -129929,7 +129932,6 @@ class MeasurementService extends pubSubServiceInterface/* PubSubService */.R {
129929
129932
  super(EVENTS);
129930
129933
  this.VALUE_TYPES = VALUE_TYPES;
129931
129934
  this.measurements = new Map();
129932
- this.unmappedMeasurements = new Map();
129933
129935
  this.isMeasurementDeletedIndividually = void 0;
129934
129936
  this.sources = {};
129935
129937
  this.mappings = {};
@@ -130270,6 +130272,7 @@ class MeasurementService extends pubSubServiceInterface/* PubSubService */.R {
130270
130272
  const sourceMapping = sourceMappings.find(mapping => mapping.annotationType === annotationType);
130271
130273
  if (!sourceMapping) {
130272
130274
  console.log('No source mapping', source.uid, annotationType, source);
130275
+ this.addUnmappedMeasurement(sourceAnnotationDetail, source);
130273
130276
  return;
130274
130277
  }
130275
130278
  const {
@@ -130283,15 +130286,7 @@ class MeasurementService extends pubSubServiceInterface/* PubSubService */.R {
130283
130286
  }
130284
130287
  measurement.source = source;
130285
130288
  } catch (error) {
130286
- // Todo: handle other
130287
- this.unmappedMeasurements.set(sourceAnnotationDetail.uid, {
130288
- ...sourceAnnotationDetail,
130289
- source: {
130290
- name: source.name,
130291
- version: source.version,
130292
- uid: source.uid
130293
- }
130294
- });
130289
+ this.addUnmappedMeasurement(sourceAnnotationDetail, source);
130295
130290
  console.log('Failed to map', error);
130296
130291
  throw new Error(`Failed to map '${sourceInfo}' measurement for annotationType ${annotationType}: ${error.message}`);
130297
130292
  }
@@ -130337,19 +130332,89 @@ class MeasurementService extends pubSubServiceInterface/* PubSubService */.R {
130337
130332
  return newMeasurement.uid;
130338
130333
  }
130339
130334
 
130335
+ /**
130336
+ * Recursively searches for any attribute at any level in the object
130337
+ * @param {any} obj The object to search
130338
+ * @param {string} attributeName The name of the attribute to find
130339
+ * @returns {any} The attribute value if found, undefined otherwise
130340
+ */
130341
+ findAttributeRecursively(obj, attributeName) {
130342
+ if (!obj || typeof obj !== 'object') {
130343
+ return undefined;
130344
+ }
130345
+ if (obj[attributeName]) {
130346
+ return obj[attributeName];
130347
+ }
130348
+ for (const key in obj) {
130349
+ if (obj.hasOwnProperty(key)) {
130350
+ const result = this.findAttributeRecursively(obj[key], attributeName);
130351
+ if (result) {
130352
+ return result;
130353
+ }
130354
+ }
130355
+ }
130356
+ return undefined;
130357
+ }
130358
+
130359
+ /**
130360
+ * Adds an unmapped measurement to the measurement service.
130361
+ *
130362
+ * @param {any} sourceAnnotationDetail The source annotation detail
130363
+ * @param {any} source The source
130364
+ */
130365
+ addUnmappedMeasurement(sourceAnnotationDetail, source) {
130366
+ if (sourceAnnotationDetail.annotation?.invalidated === true) {
130367
+ console.log('Measurement is invalidated, skipping...', sourceAnnotationDetail);
130368
+ return;
130369
+ }
130370
+ if (sourceAnnotationDetail.annotation?.isPreview === true) {
130371
+ console.log('Measurement is preview, skipping...', sourceAnnotationDetail);
130372
+ return;
130373
+ }
130374
+ const metadata = this.findAttributeRecursively(sourceAnnotationDetail, 'metadata');
130375
+ const label = this.findAttributeRecursively(sourceAnnotationDetail, 'label');
130376
+ const referencedImageId = this.findAttributeRecursively(sourceAnnotationDetail, 'referencedImageId');
130377
+ const displaySetInstanceUID = this.findAttributeRecursively(sourceAnnotationDetail, 'displaySetInstanceUID');
130378
+ const measurement = {
130379
+ ...sourceAnnotationDetail,
130380
+ isUnmapped: true,
130381
+ statusTooltip: 'This measurement is not compatible with this application',
130382
+ source: {
130383
+ name: source.name,
130384
+ version: source.version,
130385
+ uid: source.uid
130386
+ }
130387
+ };
130388
+ if (metadata) {
130389
+ measurement.metadata = metadata;
130390
+ }
130391
+ if (label) {
130392
+ measurement.label = label;
130393
+ }
130394
+ if (referencedImageId) {
130395
+ measurement.referencedImageId = referencedImageId;
130396
+ const instance = DicomMetadataStore/* DicomMetadataStore */.H.getInstanceByImageId(referencedImageId);
130397
+ measurement.referenceStudyUID = instance.StudyInstanceUID;
130398
+ measurement.referenceSeriesUID = instance.SeriesInstanceUID;
130399
+ }
130400
+ if (displaySetInstanceUID) {
130401
+ measurement.displaySetInstanceUID = displaySetInstanceUID;
130402
+ }
130403
+ this.measurements.set(sourceAnnotationDetail.uid, measurement);
130404
+ }
130405
+
130340
130406
  /**
130341
130407
  * Removes a measurement and broadcasts the removed event.
130342
130408
  *
130343
130409
  * @param {string} measurementUID The measurement uid
130344
130410
  */
130345
130411
  remove(measurementUID) {
130346
- const measurement = this.measurements.get(measurementUID) || this.unmappedMeasurements.get(measurementUID);
130412
+ const measurement = this.measurements.get(measurementUID);
130347
130413
  if (!measurementUID || !measurement) {
130348
130414
  console.debug(`No uid provided, or unable to find measurement by uid.`);
130349
130415
  return;
130350
130416
  }
130351
130417
  const source = measurement.source;
130352
- this.unmappedMeasurements.delete(measurementUID);
130353
130418
  this.measurements.delete(measurementUID);
130354
130419
  this.isMeasurementDeletedIndividually = true;
130355
130420
  this._broadcastEvent(this.EVENTS.MEASUREMENT_REMOVED, {
@@ -130364,12 +130429,11 @@ class MeasurementService extends pubSubServiceInterface/* PubSubService */.R {
130364
130429
  removeMany(measurementUIDs) {
130365
130430
  const measurements = [];
130366
130431
  for (const measurementUID of measurementUIDs) {
130367
- const measurement = this.measurements.get(measurementUID) || this.unmappedMeasurements.get(measurementUID);
130432
+ const measurement = this.measurements.get(measurementUID);
130368
130433
  if (!measurementUID || !measurement) {
130369
130434
  console.debug(`No uid provided, or unable to find measurement by uid.`);
130370
130435
  continue;
130371
130436
  }
130372
- this.unmappedMeasurements.delete(measurementUID);
130373
130437
  this.measurements.delete(measurementUID);
130374
130438
  measurements.push(measurement);
130375
130439
  }
@@ -130389,9 +130453,7 @@ class MeasurementService extends pubSubServiceInterface/* PubSubService */.R {
130389
130453
  clearMeasurements(filter) {
130390
130454
  // Make a copy of the measurements
130391
130455
  const toClear = this.getMeasurements(filter);
130392
- const unmappedClear = filter ? [...this.unmappedMeasurements.values()].filter(filter) : this.unmappedMeasurements;
130393
- const measurements = [...toClear, ...unmappedClear];
130394
- unmappedClear.forEach(measurement => this.unmappedMeasurements.delete(measurement.uid));
130456
+ const measurements = [...toClear];
130395
130457
  toClear.forEach(measurement => this.measurements.delete(measurement.uid));
130396
130458
  this._broadcastEvent(this.EVENTS.MEASUREMENTS_CLEARED, {
130397
130459
  measurements
@@ -133396,6 +133458,8 @@ function filterMeasurementsBySeriesUID(selectedSeries) {
133396
133458
  }
133397
133459
  return measurement => selectedSeries.includes(measurement.referenceSeriesUID);
133398
133460
  }
133461
+
133462
+ /** A filter that filters for measurements belonging to the study */
133399
133463
  function filterMeasurementsByStudyUID(studyUID) {
133400
133464
  return measurement => measurement.referenceStudyUID == studyUID;
133401
133465
  }
@@ -135336,7 +135400,7 @@ const detectionOptions = {
135336
135400
  }
135337
135401
  });
135338
135402
  ;// ../../i18n/package.json
135339
- const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.12.0-beta.40"}');
135403
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.12.0-beta.42"}');
135340
135404
  ;// ../../i18n/src/utils.js
135341
135405
  const languagesMap = {
135342
135406
  ar: 'Arabic',
@@ -275038,6 +275102,7 @@ LayoutSelector_LayoutSelector.propTypes = {
275038
275102
  * @component
275039
275103
  * @example
275040
275104
  * ```tsx
275105
+ * // Basic usage without status
275041
275106
  * <DataRow
275042
275107
  * number={1}
275043
275108
  * title="My Item"
@@ -275053,6 +275118,29 @@ LayoutSelector_LayoutSelector.propTypes = {
275053
275118
  * onDelete={() => {}}
275054
275119
  * onColor={() => {}}
275055
275120
  * />
275121
+ *
275122
+ * // With warning status using composite pattern
275123
+ * <DataRow
275124
+ * // ... other props
275125
+ * >
275126
+ * <DataRow.Status.Warning tooltip="This structured report is not compatible with this application" />
275127
+ * </DataRow>
275128
+ *
275129
+ * // With success status using composite pattern
275130
+ * <DataRow
275131
+ * // ... other props
275132
+ * >
275133
+ * <DataRow.Status.Success tooltip="Measurement completed successfully" />
275134
+ * </DataRow>
275135
+ *
275136
+ * // Multiple status indicators
275137
+ * <DataRow
275138
+ * // ... other props
275139
+ * >
275140
+ * <DataRow.Status.Warning tooltip="Warning message" />
275141
+ * <DataRow.Status.Info tooltip="Additional info" />
275142
+ * </DataRow>
275143
+ *
275056
275144
  * ```
275057
275145
  */
275058
275146
 
@@ -275075,9 +275163,10 @@ LayoutSelector_LayoutSelector.propTypes = {
275075
275163
  * @property {() => void} onRename - Callback when rename is requested
275076
275164
  * @property {() => void} onDelete - Callback when delete is requested
275077
275165
  * @property {() => void} onColor - Callback when color change is requested
275166
+ * @property {React.ReactNode} children - Optional children, including Status components
275078
275167
  */
275079
275168
 
275080
- const DataRow = ({
275169
+ const DataRowComponent = ({
275081
275170
  number,
275082
275171
  title,
275083
275172
  colorHex,
@@ -275092,12 +275181,16 @@ const DataRow = ({
275092
275181
  isSelected = false,
275093
275182
  isVisible = true,
275094
275183
  disableEditing = false,
275095
- className
275184
+ className,
275185
+ children
275096
275186
  }) => {
275097
275187
  const [isDropdownOpen, setIsDropdownOpen] = (0,react.useState)(false);
275098
275188
  const isTitleLong = title?.length > 25;
275099
275189
  const rowRef = (0,react.useRef)(null);
275100
275190
 
275191
+ // Extract Status components from children
275192
+ const statusComponents = react.Children.toArray(children).filter(child => /*#__PURE__*/react.isValidElement(child) && child.type && child.type.displayName?.startsWith('DataRow.Status'));
275193
+
275101
275194
  // useEffect(() => {
275102
275195
  // if (isSelected && rowRef.current) {
275103
275196
  // setTimeout(() => {
@@ -275213,7 +275306,7 @@ const DataRow = ({
275213
275306
  className: "h-6 w-6"
275214
275307
  })), isLocked && !disableEditing && /*#__PURE__*/react.createElement(Icons.Lock, {
275215
275308
  className: "text-muted-foreground h-6 w-6"
275216
- }), disableEditing && /*#__PURE__*/react.createElement("div", {
275309
+ }), statusComponents, disableEditing && /*#__PURE__*/react.createElement("div", {
275217
275310
  className: "h-6 w-6"
275218
275311
  }), !disableEditing && /*#__PURE__*/react.createElement(DropdownMenu_DropdownMenu, {
275219
275312
  onOpenChange: open => setIsDropdownOpen(open)
@@ -275269,7 +275362,73 @@ const DataRow = ({
275269
275362
  className: "text-muted-foreground ml-auto text-sm"
275270
275363
  }, renderDetails(details.secondary)))));
275271
275364
  };
275272
- /* harmony default export */ const DataRow_DataRow = ((/* unused pure expression or super */ null && (DataRow)));
275365
+ const StatusIndicator = ({
275366
+ tooltip,
275367
+ icon,
275368
+ defaultTooltip
275369
+ }) => /*#__PURE__*/react.createElement(Tooltip_Tooltip, null, /*#__PURE__*/react.createElement(Tooltip_TooltipTrigger, {
275370
+ asChild: true
275371
+ }, /*#__PURE__*/react.createElement("div", {
275372
+ className: "flex h-6 w-6 items-center justify-center"
275373
+ }, icon)), /*#__PURE__*/react.createElement(Tooltip_TooltipContent, {
275374
+ side: "bottom"
275375
+ }, /*#__PURE__*/react.createElement("div", null, tooltip || defaultTooltip)));
275376
+ const Status = ({
275377
+ children
275378
+ }) => {
275379
+ return /*#__PURE__*/react.createElement(react.Fragment, null, children);
275380
+ };
275381
+ const DataRow_StatusWarning = ({
275382
+ tooltip
275383
+ }) => /*#__PURE__*/react.createElement(StatusIndicator, {
275384
+ tooltip: tooltip,
275385
+ icon: /*#__PURE__*/react.createElement(Icons.ByName, {
275386
+ name: "status-alert",
275387
+ className: "h-4 w-4 text-yellow-500"
275388
+ }),
275389
+ defaultTooltip: "Warning"
275390
+ });
275391
+ const DataRow_StatusSuccess = ({
275392
+ tooltip
275393
+ }) => /*#__PURE__*/react.createElement(StatusIndicator, {
275394
+ tooltip: tooltip,
275395
+ icon: /*#__PURE__*/react.createElement(Icons.Checked, {
275396
+ className: "h-4 w-4 text-green-500"
275397
+ }),
275398
+ defaultTooltip: "Success"
275399
+ });
275400
+ const DataRow_StatusError = ({
275401
+ tooltip
275402
+ }) => /*#__PURE__*/react.createElement(StatusIndicator, {
275403
+ tooltip: tooltip,
275404
+ icon: /*#__PURE__*/react.createElement(Icons.ByName, {
275405
+ name: "status-error",
275406
+ className: "h-4 w-4 text-red-500"
275407
+ }),
275408
+ defaultTooltip: "Error"
275409
+ });
275410
+ const StatusInfo = ({
275411
+ tooltip
275412
+ }) => /*#__PURE__*/react.createElement(StatusIndicator, {
275413
+ tooltip: tooltip,
275414
+ icon: /*#__PURE__*/react.createElement(Icons.Info, {
275415
+ className: "h-4 w-4 text-blue-500"
275416
+ }),
275417
+ defaultTooltip: "Info"
275418
+ });
275419
+ Status.displayName = 'DataRow.Status';
275420
+ DataRow_StatusWarning.displayName = 'DataRow.Status.Warning';
275421
+ DataRow_StatusSuccess.displayName = 'DataRow.Status.Success';
275422
+ DataRow_StatusError.displayName = 'DataRow.Status.Error';
275423
+ StatusInfo.displayName = 'DataRow.Status.Info';
275424
+ Status.Warning = DataRow_StatusWarning;
275425
+ Status.Success = DataRow_StatusSuccess;
275426
+ Status.Error = DataRow_StatusError;
275427
+ Status.Info = StatusInfo;
275428
+ const DataRow = DataRowComponent;
275429
+ DataRow.Status = Status;
275430
+ /* harmony default export */ const DataRow_DataRow = (DataRow);
275431
+
275273
275432
  ;// ../../ui-next/src/components/DataRow/index.ts
275274
275433
 
275275
275434
  ;// ../../ui-next/src/lib/createContext.tsx
@@ -275310,8 +275469,10 @@ function createContext(rootComponentName, defaultContext) {
275310
275469
 
275311
275470
 
275312
275471
 
275472
+
275313
275473
  const [MeasurementTableProvider, useMeasurementTableContext] = createContext('MeasurementTable', {
275314
- data: []
275474
+ data: [],
275475
+ isExpanded: true
275315
275476
  });
275316
275477
  const MeasurementTable = ({
275317
275478
  data = [],
@@ -275382,7 +275543,7 @@ const MeasurementTable_Row = ({
275382
275543
  const {
275383
275544
  uid
275384
275545
  } = item;
275385
- return /*#__PURE__*/react.createElement(DataRow, {
275546
+ return /*#__PURE__*/react.createElement(DataRow_DataRow, {
275386
275547
  key: item.uid,
275387
275548
  description: item.label,
275388
275549
  number: index + 1,
@@ -275395,11 +275556,13 @@ const MeasurementTable_Row = ({
275395
275556
  onRename: e => onAction(e, 'renameMeasurement', uid),
275396
275557
  onToggleVisibility: e => onAction(e, 'toggleVisibilityMeasurement', uid),
275397
275558
  onToggleLocked: e => onAction(e, 'toggleLockMeasurement', uid),
275559
+ onColor: e => onAction(e, 'changeMeasurementColor', uid),
275398
275560
  disableEditing: disableEditing,
275399
- isExpanded: isExpanded,
275400
275561
  isVisible: item.isVisible,
275401
275562
  isLocked: item.isLocked
275402
- });
275563
+ }, item.isUnmapped && /*#__PURE__*/react.createElement(DataRow_DataRow.Status.Warning, {
275564
+ tooltip: item.statusTooltip
275565
+ }));
275403
275566
  };
275404
275567
  MeasurementTable.Header = MeasurementTable_Header;
275405
275568
  MeasurementTable.Body = MeasurementTable_Body;
@@ -385942,7 +386105,7 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
385942
386105
  /******/ // This function allow to reference async chunks
385943
386106
  /******/ __webpack_require__.u = (chunkId) => {
385944
386107
  /******/ // return url for filenames based on template
385945
- /******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"90069f6ed46fcad1fa29","147":"30b16832e09898deaf32","213":"93c68a8e8a98fed04614","319":"fc959064ddf2f6978b54","414":"0b8d3166cc869e4c5ab5","572":"1ab7dd310985596b4098","732":"6978ac30a1e36abf06db","810":"b781054d2600923bf4c0","934":"656c67918146c2882aa4","1447":"e01fc0a6bedb558ddbbd","1459":"bc37d11dc7f2c4122619","1604":"a2789e3171b7f5cda06f","1807":"ffd600f15e0545556f34","1919":"c2ff3b06a6cfae9aad12","1927":"8941122be98d6aea153c","2007":"f58dd6d3d25dd22cfefd","2108":"e84aa8d858d8c4f2413e","2243":"76cfcf962c371942d1d8","2345":"839224623fb00f805981","2424":"2c5ba1c091efa1977f5b","2518":"fbbfa351f8e8c446599b","2701":"02c7c6c283a2ee468af6","2974":"ec95e58b346dbe30a362","3054":"b7bb02c6cd9273c422f5","3694":"f176731b761d630f358c","4019":"c5b332003e3cd00868ce","4113":"35b2bf02f79a9705f3de","4202":"45fc4a9b7b3cd639d185","4759":"8686abdd7bcf4aa7d107","5261":"6e1a017f8f1027557f5b","5349":"3c050d34f7395566c41e","5457":"d8bbca1928f328800d43","5485":"2bc2cffc4d55990d634a","5674":"24de237ef15879b25714","5802":"48b958ebd8d250156814","6027":"91791f3f8272c71a3493","6201":"2c76115f5574dfc700bf","6939":"41fbdef87597b5172ec6","6991":"8afb532d189985a8bf69","7159":"122cd4e6d8fd1287d07f","7197":"add4eca11793601af89d","7412":"80f68b38041e891c64a8","7431":"f6ee76ae243ffe1c811a","7639":"47b22290338b84c820fa","7656":"895648e6ae0045998bf9","8094":"5c44190a325ac23e3e5c","8402":"edb924cd47cd168f621c","8558":"8065fa8a2be98f7b55a7","8740":"fa9a98c1ce314e7040f2","8815":"9b1ff0a9c38831063b54","9862":"b2d33e721d8c8e2a014c"}[chunkId] + ".js";
386108
+ /******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"e0e7e67dcf5e01311986","147":"30b16832e09898deaf32","213":"419b1126df29ff894196","319":"fc959064ddf2f6978b54","414":"28e014952a93b6e6b58e","572":"1ab7dd310985596b4098","732":"6978ac30a1e36abf06db","810":"9df1fe8a988f0ebcd390","934":"ffa8ecef7b8d34b0dd66","1447":"3c71e9ea053b7069b73e","1459":"fb8d3e9b86d6db3d2baa","1604":"4bb34d57bfd5050b9b03","1807":"63c05523037c24c627e4","1919":"c1a2b483fdcd10d2e8ee","1927":"8941122be98d6aea153c","2007":"f58dd6d3d25dd22cfefd","2108":"e84aa8d858d8c4f2413e","2243":"6262071c8202d60d9e8f","2345":"839224623fb00f805981","2424":"b35da11dfb95519a14a8","2518":"fbbfa351f8e8c446599b","2701":"02c7c6c283a2ee468af6","2974":"ec95e58b346dbe30a362","3054":"b7bb02c6cd9273c422f5","3694":"f176731b761d630f358c","4019":"c5b332003e3cd00868ce","4113":"3edfb5a8a5aab9679211","4202":"45fc4a9b7b3cd639d185","4759":"8686abdd7bcf4aa7d107","5261":"6e1a017f8f1027557f5b","5349":"3c050d34f7395566c41e","5457":"4d46dae65f6ff8686af3","5485":"a6b4e8afb47c331a8dcc","5674":"24de237ef15879b25714","5802":"48b958ebd8d250156814","6027":"96d1d0a4c04074ff731b","6201":"03852e3e4812fa47c288","6939":"41fbdef87597b5172ec6","6991":"4488b5fd30b74768c464","7159":"122cd4e6d8fd1287d07f","7197":"501245e2a7a876575e2f","7412":"80f68b38041e891c64a8","7431":"f6ee76ae243ffe1c811a","7639":"a6afd7326c87e1c8df70","7656":"3d4e565ee35e891f3b76","8094":"5c44190a325ac23e3e5c","8402":"edb924cd47cd168f621c","8558":"8131ec4e6f5f45f561fc","8740":"fa9a98c1ce314e7040f2","8815":"e59565eceae997a0afdf","9862":"b2d33e721d8c8e2a014c"}[chunkId] + ".js";
385946
386109
  /******/ };
385947
386110
  /******/ })();
385948
386111
  /******/