@ohif/app 3.7.0-beta.99 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/{202.bundle.96bbb4547a346fe3921f.js → 202.bundle.d3490836f71e001dd30f.js} +746 -19
  2. package/dist/{221.bundle.8d4059312a771ac53a19.js → 221.bundle.a331e2a9a29f9599fd40.js} +70 -14
  3. package/dist/{342.bundle.095cc16d795ac02a7b78.js → 342.bundle.3f9ebc45fdc6d6879adc.js} +40 -22
  4. package/dist/{359.bundle.d32d3e78569b6717a2fb.js → 359.bundle.aa2adce78c3935aa19c1.js} +1 -3
  5. package/dist/{370.bundle.a275a49f7b72669bce3f.js → 370.bundle.31f3d861d96bdd540dc7.js} +4 -4
  6. package/dist/{743.bundle.4bfe6e562ffb2c22708f.js → 743.bundle.489f7df3a089d4d374e1.js} +13 -0
  7. package/dist/{831.bundle.83658f62fcc769043605.js → 757.bundle.ec8301d8e70d2b990f65.js} +368 -1
  8. package/dist/{782.bundle.f6d16bde1ecbb30f1693.js → 788.bundle.b9dabaea41cb029360b1.js} +5 -305
  9. package/dist/{82.bundle.e83d670b0199d1bc717c.js → 82.bundle.ec05d3de5ac5b0c577fe.js} +61 -41
  10. package/dist/{957.bundle.71558794566041f37a92.js → 957.bundle.9ea4506963ef8b2d84ba.js} +44 -41
  11. package/dist/app.bundle.css +1 -1
  12. package/dist/{app.bundle.85c4172c936ff45dd5ae.js → app.bundle.dacb6768b481e9135f71.js} +143 -99
  13. package/dist/index.html +1 -1
  14. package/dist/sw.js +1 -1
  15. package/package.json +19 -18
  16. /package/dist/{12.bundle.c149229c3721197734b9.js → 12.bundle.b965cc54108a0b38a022.js} +0 -0
  17. /package/dist/{181.bundle.169383e9b1a0358b44e8.js → 181.bundle.ceb057236403bcb630ac.js} +0 -0
  18. /package/dist/{19.bundle.d1a02a9b42c17df51f39.js → 19.bundle.d961845411cf4e95d27c.js} +0 -0
  19. /package/dist/{236.bundle.004ffd1d05a9f69d6812.js → 236.bundle.b09ef6a3c16be7ad1d05.js} +0 -0
  20. /package/dist/{281.bundle.2faa52a55643723e80a3.js → 281.bundle.4f7c49673b5861436311.js} +0 -0
  21. /package/dist/{410.bundle.998289ecc010615b6088.js → 410.bundle.12c1bc7cb765ef74d275.js} +0 -0
  22. /package/dist/{506.bundle.f12d11057236d3e4cf05.js → 506.bundle.311783d53e8d64b84280.js} +0 -0
  23. /package/dist/{613.bundle.9d7c11a0ceefc2d954b5.js → 613.bundle.4359bc30c68b8f567140.js} +0 -0
  24. /package/dist/{663.bundle.7c704397c496dd476e11.js → 663.bundle.87300c41b902228496ec.js} +0 -0
  25. /package/dist/{687.bundle.93b66d44a4f83a1921db.js → 687.bundle.a3caefcf2e55897bad75.js} +0 -0
  26. /package/dist/{774.bundle.7528cba56a1407357144.js → 774.bundle.4b2dc46a35012b898e1a.js} +0 -0
  27. /package/dist/{814.bundle.9b3900d3b98f009990f9.js → 814.bundle.a3d1fbc03a4a3ea3f23d.js} +0 -0
  28. /package/dist/{822.bundle.0545d6dbb49515aa04ee.js → 822.bundle.891f2e57b1b7bc2f4cb4.js} +0 -0
  29. /package/dist/{99.bundle.bf2efcee897944d8a14b.js → 99.bundle.d77c8c0a957274c827da.js} +0 -0
@@ -276,7 +276,8 @@ function DataSourceWrapper(props) {
276
276
  const isLocationUpdated = typeof data.location === 'string' || !areLocationsTheSame(data.location, location);
277
277
  const isDataInvalid = !isSamePage || !isLoading && (newOffset !== previousOffset || isLocationUpdated);
278
278
  if (isDataInvalid) {
279
- getData().catch(() => {
279
+ getData().catch(e => {
280
+ console.error(e);
280
281
  // If there is a data source configuration API, then the Worklist will popup the dialog to attempt to configure it
281
282
  // and attempt to resolve this issue.
282
283
  if (dataSource.getConfig().configurationAPI) {
@@ -974,8 +975,8 @@ function WorkList(_ref) {
974
975
  };
975
976
  });
976
977
  const hasStudies = numOfStudies > 0;
977
- const versionNumber = "3.7.0-beta.99";
978
- const commitHash = "c1d5ee7e3f7f4c0c6bed9ae81eba5519741c5155";
978
+ const versionNumber = "3.7.0";
979
+ const commitHash = "5ddf8a16027255d28dc01c1740099cf85bbcf458";
979
980
  const menuOptions = [{
980
981
  title: t('Header:About'),
981
982
  icon: 'info',
@@ -1936,7 +1937,7 @@ async function loadModule(module) {
1936
1937
  return imported.default;
1937
1938
  }
1938
1939
  if (module === "@ohif/extension-measurement-tracking") {
1939
- const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(604), __webpack_require__.e(417), __webpack_require__.e(202), __webpack_require__.e(530), __webpack_require__.e(342), __webpack_require__.e(663), __webpack_require__.e(19)]).then(__webpack_require__.bind(__webpack_require__, 28030));
1940
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(604), __webpack_require__.e(202), __webpack_require__.e(417), __webpack_require__.e(530), __webpack_require__.e(342), __webpack_require__.e(663), __webpack_require__.e(19)]).then(__webpack_require__.bind(__webpack_require__, 28030));
1940
1941
  return imported.default;
1941
1942
  }
1942
1943
  if (module === "@ohif/extension-cornerstone-dicom-sr") {
@@ -1944,7 +1945,7 @@ async function loadModule(module) {
1944
1945
  return imported.default;
1945
1946
  }
1946
1947
  if (module === "@ohif/extension-cornerstone-dicom-seg") {
1947
- const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(604), __webpack_require__.e(417), __webpack_require__.e(202), __webpack_require__.e(831), __webpack_require__.e(342), __webpack_require__.e(221)]).then(__webpack_require__.bind(__webpack_require__, 9943));
1948
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(604), __webpack_require__.e(202), __webpack_require__.e(417), __webpack_require__.e(757), __webpack_require__.e(342), __webpack_require__.e(221)]).then(__webpack_require__.bind(__webpack_require__, 9943));
1948
1949
  return imported.default;
1949
1950
  }
1950
1951
  if (module === "@ohif/extension-dicom-microscopy") {
@@ -1960,7 +1961,7 @@ async function loadModule(module) {
1960
1961
  return imported.default;
1961
1962
  }
1962
1963
  if (module === "@ohif/extension-tmtv") {
1963
- const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(782)]).then(__webpack_require__.bind(__webpack_require__, 43851));
1964
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(202), __webpack_require__.e(788)]).then(__webpack_require__.bind(__webpack_require__, 4483));
1964
1965
  return imported.default;
1965
1966
  }
1966
1967
  if (module === "@ohif/extension-test") {
@@ -4701,8 +4702,8 @@ function _getCommonRowItems(measurement, seriesMetadata) {
4701
4702
  return {
4702
4703
  'Patient ID': firstInstance.PatientID,
4703
4704
  // Patient ID
4704
- 'Patient Name': firstInstance.PatientName.Alphabetic,
4705
- // PatientName
4705
+ 'Patient Name': firstInstance.PatientName?.Alphabetic || '',
4706
+ // Patient Name
4706
4707
  StudyInstanceUID: measurement.referenceStudyUID,
4707
4708
  // StudyInstanceUID
4708
4709
  SeriesInstanceUID: measurement.referenceSeriesUID,
@@ -8673,7 +8674,7 @@ const detectionOptions = {
8673
8674
  }
8674
8675
  });
8675
8676
  ;// CONCATENATED MODULE: ../../i18n/package.json
8676
- const package_namespaceObject = JSON.parse('{"i8":"3.7.0-beta.98"}');
8677
+ const package_namespaceObject = JSON.parse('{"i8":"3.7.0-beta.110"}');
8677
8678
  ;// CONCATENATED MODULE: ../../i18n/src/utils.js
8678
8679
  const languagesMap = {
8679
8680
  ar: 'Arabic',
@@ -8874,7 +8875,7 @@ const en_US_UserPreferencesModal_namespaceObject = JSON.parse('{"Cancel":"$t(But
8874
8875
  ;// CONCATENATED MODULE: ../../i18n/src/locales/en-US/ViewportDownloadForm.json
8875
8876
  const en_US_ViewportDownloadForm_namespaceObject = JSON.parse('{"emptyFilenameError":"The file name cannot be empty.","fileType":"File Type","filename":"File Name","formTitle":"Please specify the dimensions, filename, and desired type for the output image.","imageHeight":"Image height (px)","imagePreview":"Image Preview","imageWidth":"Image width (px)","keepAspectRatio":"Keep aspect ratio","loadingPreview":"Loading Image Preview...","minHeightError":"The minimum valid height is 100px.","minWidthError":"The minimum valid width is 100px.","showAnnotations":"Show Annotations"}');
8876
8877
  ;// CONCATENATED MODULE: ../../i18n/src/locales/en-US/Messages.json
8877
- const Messages_namespaceObject = JSON.parse('{"1":"No valid instances found in series.","2":"DisplaySet has missing position information.","3":"DisplaySet is not a reconstructable 3D volume.","4":"Multi frame displaySet don\'t have pixel measurement information.","5":"Multi frame displaySet don\'t have orientation information.","6":"Multi frame displaySet don\'t have position information.","7":"DisplaySet has missing frames.","8":"DisplaySet has irregular spacing.","9":"DisplaySet has inconsistent dimensions between frames.","10":"DisplaySet has frames with inconsistent number of components.","11":"DisplaySet has frames with inconsistent orientations.","12":"DisplaySet has inconsistent position information.","13":"Unsupported displaySet."}');
8878
+ const Messages_namespaceObject = JSON.parse('{"1":"No valid instances found in series.","2":"Display set has missing position information.","3":"Display set is not a reconstructable 3D volume.","4":"Multi frame display sets do not have pixel measurement information.","5":"Multi frame display sets do not have orientation information.","6":"Multi frame display sets do not have position information.","7":"Display set has missing frames.","8":"Display set has irregular spacing.","9":"Display set has inconsistent dimensions between frames.","10":"Display set has frames with inconsistent number of components.","11":"Display set has frames with inconsistent orientations.","12":"Display set has inconsistent position information.","13":"Unsupported display set."}');
8878
8879
  ;// CONCATENATED MODULE: ../../i18n/src/locales/en-US/index.js
8879
8880
 
8880
8881
 
@@ -12090,42 +12091,40 @@ var iconToolBrush = function iconToolBrush(props) {
12090
12091
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
12091
12092
  fill: "none",
12092
12093
  fillRule: "evenodd"
12093
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
12094
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12095
+ d: "M3.246 22.329a.432.432 0 0 1 .024-.79c2.056-.833 1.394-3.177 2.004-4.43a3.075 3.075 0 0 1 4.083-1.405c4.592 2.238-.874 9.117-6.11 6.625ZM21.597 3.302a1.194 1.194 0 0 0-1.635.045L9.692 13.589a5.196 5.196 0 0 1 3.129 2.646l8.92-11.298a1.194 1.194 0 0 0-.144-1.635Z",
12094
12096
  stroke: "currentColor",
12097
+ strokeWidth: "1.25",
12095
12098
  strokeLinecap: "round",
12096
- strokeLinejoin: "round",
12097
- strokeWidth: "1.75"
12098
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12099
- d: "M1.16 23.256a.5.5 0 0 1 .027-.915c2.381-.964 1.614-3.678 2.321-5.13a3.56 3.56 0 0 1 4.728-1.626c5.316 2.592-1.012 10.557-7.076 7.67ZM22.408 1.225a1.382 1.382 0 0 0-1.893.052L8.625 13.136a6.017 6.017 0 0 1 3.621 3.064l10.33-13.082a1.382 1.382 0 0 0-.168-1.893Z"
12100
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12101
- d: "M-.625-.125h25v25h-25z"
12099
+ strokeLinejoin: "round"
12100
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12101
+ d: "M0 0h25v25H0z"
12102
12102
  })));
12103
12103
  };
12104
12104
  iconToolBrush.defaultProps = {
12105
- width: "23.749",
12106
- height: "24.749",
12107
- viewBox: "0 0 23.749 24.749",
12105
+ width: "25",
12106
+ height: "25",
12107
+ viewBox: "0 0 25 25",
12108
12108
  xmlns: "http://www.w3.org/2000/svg"
12109
12109
  };
12110
12110
  var iconToolEraser = function iconToolEraser(props) {
12111
12111
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
12112
12112
  fill: "none",
12113
12113
  fillRule: "evenodd"
12114
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
12114
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12115
+ d: "M8.391 20.504a5.08 5.08 0 0 1-3.118-1.291l-1.982-1.984a1.832 1.832 0 0 1 0-2.583L14.404 3.533a1.832 1.832 0 0 1 2.583 0l4.721 4.721c.71.715.71 1.869 0 2.583l-8.373 8.374a5.08 5.08 0 0 1-3.118 1.293H8.391ZM10.217 7.719l7.305 7.305M2 22.328h21",
12115
12116
  stroke: "currentColor",
12117
+ strokeWidth: "1.25",
12116
12118
  strokeLinecap: "round",
12117
- strokeLinejoin: "round",
12118
- strokeWidth: "1.25"
12119
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12120
- d: "M7.625 19.795a5.564 5.564 0 0 1-3.415-1.414l-2.171-2.173a2.006 2.006 0 0 1 0-2.829L14.21 1.21a2.006 2.006 0 0 1 2.829 0l5.171 5.17a2.006 2.006 0 0 1 0 2.83l-9.171 9.17a5.564 5.564 0 0 1-3.414 1.416h-2ZM9.625 5.794l8 8M.625 21.794h23"
12121
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12122
- d: "M-.375-1.375h25v25h-25z"
12119
+ strokeLinejoin: "round"
12120
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12121
+ d: "M0 0h25v25H0z"
12123
12122
  })));
12124
12123
  };
12125
12124
  iconToolEraser.defaultProps = {
12126
- width: "24.25",
12127
- height: "22.418",
12128
- viewBox: "0 0 24.25 22.418",
12125
+ width: "25",
12126
+ height: "25",
12127
+ viewBox: "0 0 25 25",
12129
12128
  xmlns: "http://www.w3.org/2000/svg"
12130
12129
  };
12131
12130
  var iconToolScissor = function iconToolScissor(props) {
@@ -12160,36 +12159,68 @@ iconToolScissor.defaultProps = {
12160
12159
  viewBox: "0 0 24.25 20.25",
12161
12160
  xmlns: "http://www.w3.org/2000/svg"
12162
12161
  };
12163
- var iconToolThreshold = function iconToolThreshold(props) {
12162
+ var iconToolShape = function iconToolShape(props) {
12164
12163
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
12165
12164
  fill: "none",
12166
12165
  fillRule: "evenodd"
12167
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
12166
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12167
+ d: "M0 0h25v25H0z"
12168
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
12168
12169
  stroke: "currentColor",
12169
- transform: "translate(.75 .75)",
12170
- strokeWidth: "1.5"
12170
+ strokeWidth: "1.5",
12171
+ x: "3",
12172
+ y: "3",
12173
+ width: "13",
12174
+ height: "13",
12175
+ rx: "1"
12176
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
12177
+ stroke: "currentColor",
12178
+ strokeWidth: "1.5",
12179
+ cx: "16.5",
12180
+ cy: "16.5",
12181
+ r: "6.5"
12182
+ })));
12183
+ };
12184
+ iconToolShape.defaultProps = {
12185
+ width: "25",
12186
+ height: "25",
12187
+ viewBox: "0 0 25 25",
12188
+ xmlns: "http://www.w3.org/2000/svg"
12189
+ };
12190
+ var iconToolThreshold = function iconToolThreshold(props) {
12191
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
12192
+ fill: "none",
12193
+ fillRule: "evenodd"
12171
12194
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12195
+ stroke: "currentColor",
12196
+ strokeWidth: "1.25",
12172
12197
  strokeLinecap: "round",
12173
- d: "M19.5 12.5H23M0 12.5h14"
12198
+ d: "M19.457 16.87H22.5M2.5 16.87h12.174"
12174
12199
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
12175
- cx: "16.5",
12176
- cy: "12.5",
12177
- r: "2.5"
12200
+ stroke: "currentColor",
12201
+ strokeWidth: "1.25",
12202
+ cx: "16.848",
12203
+ cy: "16.87",
12204
+ r: "2.174"
12178
12205
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12206
+ stroke: "currentColor",
12207
+ strokeWidth: "1.25",
12179
12208
  strokeLinecap: "round",
12180
- d: "M10.5 2.5h12M0 2.5h5.5"
12209
+ d: "M11.63 8.174h10.435M2.5 8.174h4.783"
12181
12210
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
12182
- cx: "8",
12183
- cy: "2.5",
12184
- r: "2.5"
12185
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12186
- d: "M-.25-4.25h25v25h-25z"
12211
+ stroke: "currentColor",
12212
+ strokeWidth: "1.25",
12213
+ cx: "9.457",
12214
+ cy: "8.174",
12215
+ r: "2.174"
12216
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
12217
+ d: "M0 0h25v25H0z"
12187
12218
  })));
12188
12219
  };
12189
12220
  iconToolThreshold.defaultProps = {
12190
- width: "24.5",
12191
- height: "16.5",
12192
- viewBox: "0 0 24.5 16.5",
12221
+ width: "25",
12222
+ height: "25",
12223
+ viewBox: "0 0 25 25",
12193
12224
  xmlns: "http://www.w3.org/2000/svg"
12194
12225
  };
12195
12226
  /** Old OHIF */
@@ -12363,6 +12394,7 @@ const ICONS = {
12363
12394
  'icon-tool-brush': iconToolBrush,
12364
12395
  'icon-tool-eraser': iconToolEraser,
12365
12396
  'icon-tool-scissor': iconToolScissor,
12397
+ 'icon-tool-shape': iconToolShape,
12366
12398
  'icon-tool-threshold': iconToolThreshold,
12367
12399
  /** Old OHIF */
12368
12400
  'old-trash': oldTrash,
@@ -33243,9 +33275,14 @@ const Notification_Notification = _ref => {
33243
33275
  onOutsideClick();
33244
33276
  }
33245
33277
  };
33278
+
33279
+ // Both a mouse down and up listeners are desired so as to avoid missing events
33280
+ // from elements that have pointer-events:none (e.g. the active viewport).
33246
33281
  document.addEventListener('mousedown', handleClick);
33282
+ document.addEventListener('mouseup', handleClick);
33247
33283
  return () => {
33248
33284
  document.removeEventListener('mousedown', handleClick);
33285
+ document.removeEventListener('mouseup', handleClick);
33249
33286
  };
33250
33287
  }, [onOutsideClick]);
33251
33288
  const iconsByType = {
@@ -33900,6 +33937,7 @@ function SegmentationDropDownRow(_ref) {
33900
33937
  onToggleSegmentationVisibility,
33901
33938
  onSegmentationEdit,
33902
33939
  onSegmentationDownload,
33940
+ onSegmentationDownloadRTSS,
33903
33941
  storeSegmentation,
33904
33942
  onSegmentationDelete,
33905
33943
  onSegmentationAdd
@@ -33927,6 +33965,7 @@ function SegmentationDropDownRow(_ref) {
33927
33965
  alignment: "left",
33928
33966
  itemsClassName: "text-primary-active",
33929
33967
  showBorders: false,
33968
+ maxCharactersPerLine: 30,
33930
33969
  list: [...(!disableEditing ? [{
33931
33970
  title: 'Add New Segmentation',
33932
33971
  onClick: () => {
@@ -33947,12 +33986,17 @@ function SegmentationDropDownRow(_ref) {
33947
33986
  onClick: () => {
33948
33987
  storeSegmentation(activeSegmentation.id);
33949
33988
  }
33950
- }, {
33951
- title: 'Download',
33989
+ }] : []), ...[{
33990
+ title: 'Download DICOM SEG',
33952
33991
  onClick: () => {
33953
33992
  onSegmentationDownload(activeSegmentation.id);
33954
33993
  }
33955
- }] : [])]
33994
+ }, {
33995
+ title: 'Download DICOM RTSTRUCT',
33996
+ onClick: () => {
33997
+ onSegmentationDownloadRTSS(activeSegmentation.id);
33998
+ }
33999
+ }]]
33956
34000
  }, /*#__PURE__*/react.createElement("div", {
33957
34001
  className: "hover:bg-secondary-dark mx-1 grid h-[28px] w-[28px] cursor-pointer place-items-center rounded-[4px]"
33958
34002
  }, /*#__PURE__*/react.createElement(Icon/* default */.Z, {
@@ -33998,6 +34042,7 @@ SegmentationDropDownRow.propTypes = {
33998
34042
  onToggleSegmentationVisibility: (prop_types_default()).func,
33999
34043
  onSegmentationEdit: (prop_types_default()).func,
34000
34044
  onSegmentationDownload: (prop_types_default()).func,
34045
+ onSegmentationDownloadRTSS: (prop_types_default()).func,
34001
34046
  storeSegmentation: (prop_types_default()).func,
34002
34047
  onSegmentationDelete: (prop_types_default()).func,
34003
34048
  onSegmentationAdd: (prop_types_default()).func
@@ -34194,7 +34239,7 @@ const HoveringIcons = _ref2 => {
34194
34239
  };
34195
34240
  return /*#__PURE__*/react.createElement("div", {
34196
34241
  className: "flex items-center"
34197
- }, !disableEditing && createIcon('row-edit', onEdit), createIcon(isLocked ? 'row-lock' : 'row-unlock', onToggleLocked, isLocked ? 'text-[#3d5871]' : null), createIcon(isVisible ? 'row-shown' : 'row-hidden', onToggleVisibility, !isVisible ? 'text-[#3d5871]' : null));
34242
+ }, !disableEditing && createIcon('row-edit', onEdit), !disableEditing && createIcon(isLocked ? 'row-lock' : 'row-unlock', onToggleLocked, isLocked ? 'text-[#3d5871]' : null), createIcon(isVisible ? 'row-shown' : 'row-hidden', onToggleVisibility, !isVisible ? 'text-[#3d5871]' : null));
34198
34243
  };
34199
34244
  SegmentItem.propTypes = {
34200
34245
  segmentIndex: (prop_types_default()).number.isRequired,
@@ -34241,6 +34286,7 @@ const SegmentationGroupTable = _ref => {
34241
34286
  onSegmentationClick,
34242
34287
  onSegmentationDelete,
34243
34288
  onSegmentationDownload,
34289
+ onSegmentationDownloadRTSS,
34244
34290
  storeSegmentation,
34245
34291
  // segment handlers
34246
34292
  onSegmentClick,
@@ -34307,7 +34353,7 @@ const SegmentationGroupTable = _ref => {
34307
34353
  onSegmentationAdd: onSegmentationAdd
34308
34354
  })) : /*#__PURE__*/react.createElement("div", {
34309
34355
  className: "mt-1 select-none"
34310
- }, !disableEditing && /*#__PURE__*/react.createElement(SegmentationGroupTable_SegmentationDropDownRow, {
34356
+ }, /*#__PURE__*/react.createElement(SegmentationGroupTable_SegmentationDropDownRow, {
34311
34357
  segmentations: segmentations,
34312
34358
  disableEditing: disableEditing,
34313
34359
  activeSegmentation: activeSegmentation,
@@ -34315,6 +34361,7 @@ const SegmentationGroupTable = _ref => {
34315
34361
  onSegmentationDelete: onSegmentationDelete,
34316
34362
  onSegmentationEdit: onSegmentationEdit,
34317
34363
  onSegmentationDownload: onSegmentationDownload,
34364
+ onSegmentationDownloadRTSS: onSegmentationDownloadRTSS,
34318
34365
  storeSegmentation: storeSegmentation,
34319
34366
  onSegmentationAdd: onSegmentationAdd,
34320
34367
  onToggleSegmentationVisibility: onToggleSegmentationVisibility
@@ -34377,6 +34424,7 @@ SegmentationGroupTable.propTypes = {
34377
34424
  onSegmentationClick: (prop_types_default()).func.isRequired,
34378
34425
  onSegmentationDelete: (prop_types_default()).func.isRequired,
34379
34426
  onSegmentationDownload: (prop_types_default()).func.isRequired,
34427
+ onSegmentationDownloadRTSS: (prop_types_default()).func.isRequired,
34380
34428
  storeSegmentation: (prop_types_default()).func.isRequired,
34381
34429
  onSegmentClick: (prop_types_default()).func.isRequired,
34382
34430
  onSegmentAdd: (prop_types_default()).func.isRequired,
@@ -34405,6 +34453,7 @@ SegmentationGroupTable.defaultProps = {
34405
34453
  onSegmentationClick: () => {},
34406
34454
  onSegmentationDelete: () => {},
34407
34455
  onSegmentationDownload: () => {},
34456
+ onSemgnetationDownloadRTSS: () => {},
34408
34457
  storeSegmentation: () => {},
34409
34458
  onSegmentClick: () => {},
34410
34459
  onSegmentAdd: () => {},
@@ -35527,7 +35576,7 @@ const DisplaySetMessageListTooltip = _ref => {
35527
35576
  marginLeft: '12px',
35528
35577
  marginTop: '12px'
35529
35578
  }
35530
- }, "DisplaySet Messages"), /*#__PURE__*/react.createElement("ol", {
35579
+ }, "Display Set Messages"), /*#__PURE__*/react.createElement("ol", {
35531
35580
  style: {
35532
35581
  marginLeft: '12px',
35533
35582
  marginRight: '12px'
@@ -53752,9 +53801,17 @@ class ToolbarService extends pubSubServiceInterface/* PubSubService */.h {
53752
53801
  const {
53753
53802
  groupId,
53754
53803
  itemId,
53755
- interactionType,
53756
- commands
53804
+ commands,
53805
+ type
53757
53806
  } = interaction;
53807
+ let {
53808
+ interactionType
53809
+ } = interaction;
53810
+
53811
+ // if not interaction type, assume the type can be used
53812
+ if (!interactionType) {
53813
+ interactionType = type;
53814
+ }
53758
53815
  switch (interactionType) {
53759
53816
  case 'action':
53760
53817
  {
@@ -53872,6 +53929,9 @@ class ToolbarService extends pubSubServiceInterface/* PubSubService */.h {
53872
53929
  });
53873
53930
  return activeTools;
53874
53931
  }
53932
+ getActivePrimaryTool() {
53933
+ return this.state.primaryToolId;
53934
+ }
53875
53935
 
53876
53936
  /** Sets the toggle state of a button to the isToggled state */
53877
53937
  setToggled(id, isToggled) {
@@ -59550,13 +59610,27 @@ var dcmjs_es = __webpack_require__(67540);
59550
59610
  // EXTERNAL MODULE: ../../core/src/services/_shared/pubSubServiceInterface.ts
59551
59611
  var pubSubServiceInterface = __webpack_require__(81815);
59552
59612
  ;// CONCATENATED MODULE: ../../core/src/services/DicomMetadataStore/createSeriesMetadata.js
59553
- function createSeriesMetadata(instances) {
59554
- const {
59555
- SeriesInstanceUID
59556
- } = instances[0];
59613
+ function createSeriesMetadata(SeriesInstanceUID) {
59614
+ const instances = [];
59615
+ const instancesMap = new Map();
59557
59616
  return {
59558
59617
  SeriesInstanceUID,
59559
- instances
59618
+ instances,
59619
+ addInstance: function (newInstance) {
59620
+ this.addInstances([newInstance]);
59621
+ },
59622
+ addInstances: function (newInstances) {
59623
+ for (let i = 0, len = newInstances.length; i < len; i++) {
59624
+ const instance = newInstances[i];
59625
+ if (!instancesMap.has(instance.SOPInstanceUID)) {
59626
+ instancesMap.set(instance.SOPInstanceUID, instance);
59627
+ instances.push(instance);
59628
+ }
59629
+ }
59630
+ },
59631
+ getInstance: function (SOPInstanceUID) {
59632
+ return instancesMap.get(SOPInstanceUID);
59633
+ }
59560
59634
  };
59561
59635
  }
59562
59636
  /* harmony default export */ const DicomMetadataStore_createSeriesMetadata = (createSeriesMetadata);
@@ -59570,37 +59644,15 @@ function createStudyMetadata(StudyInstanceUID) {
59570
59644
  isLoaded: false,
59571
59645
  series: [],
59572
59646
  /**
59573
- *
59574
59647
  * @param {object} instance
59575
- * @returns {bool} true if series were added; false if series already exist
59576
59648
  */
59577
59649
  addInstanceToSeries: function (instance) {
59578
- const {
59579
- SeriesInstanceUID
59580
- } = instance;
59581
- if (!this.StudyDescription) {
59582
- this.StudyDescription = instance.StudyDescription;
59583
- }
59584
- const existingSeries = this.series.find(s => s.SeriesInstanceUID === SeriesInstanceUID);
59585
- if (existingSeries) {
59586
- existingSeries.instances.push(instance);
59587
- } else {
59588
- const series = DicomMetadataStore_createSeriesMetadata([instance]);
59589
- this.series.push(series);
59590
- const {
59591
- Modality
59592
- } = series;
59593
- if (this.ModalitiesInStudy.indexOf(Modality) === -1) {
59594
- this.ModalitiesInStudy.push(Modality);
59595
- }
59596
- }
59650
+ this.addInstancesToSeries([instance]);
59597
59651
  },
59598
59652
  /**
59599
- *
59600
59653
  * @param {object[]} instances
59601
59654
  * @param {string} instances[].SeriesInstanceUID
59602
59655
  * @param {string} instances[].StudyDescription
59603
- * @returns {bool} true if series were added; false if series already exist
59604
59656
  */
59605
59657
  addInstancesToSeries: function (instances) {
59606
59658
  const {
@@ -59609,28 +59661,20 @@ function createStudyMetadata(StudyInstanceUID) {
59609
59661
  if (!this.StudyDescription) {
59610
59662
  this.StudyDescription = instances[0].StudyDescription;
59611
59663
  }
59612
- const existingSeries = this.series.find(s => s.SeriesInstanceUID === SeriesInstanceUID);
59613
- if (existingSeries) {
59614
- // Only add instances not already present, so generate a map
59615
- // of existing instances and filter the to add by things
59616
- // already present.
59617
- const sopMap = {};
59618
- existingSeries.instances.forEach(it => sopMap[it.SOPInstanceUID] = it);
59619
- const newInstances = instances.filter(it => !sopMap[it.SOPInstanceUID]);
59620
- existingSeries.instances.push(...newInstances);
59621
- } else {
59622
- const series = DicomMetadataStore_createSeriesMetadata(instances);
59664
+ let series = this.series.find(s => s.SeriesInstanceUID === SeriesInstanceUID);
59665
+ if (!series) {
59666
+ series = DicomMetadataStore_createSeriesMetadata(SeriesInstanceUID);
59623
59667
  this.series.push(series);
59624
59668
  }
59669
+ series.addInstances(instances);
59625
59670
  },
59626
59671
  setSeriesMetadata: function (SeriesInstanceUID, seriesMetadata) {
59627
59672
  let existingSeries = this.series.find(s => s.SeriesInstanceUID === SeriesInstanceUID);
59628
59673
  if (existingSeries) {
59629
59674
  existingSeries = Object.assign(existingSeries, seriesMetadata);
59630
59675
  } else {
59631
- this.series.push(Object.assign({
59632
- instances: []
59633
- }, seriesMetadata));
59676
+ const series = DicomMetadataStore_createSeriesMetadata(SeriesInstanceUID);
59677
+ this.series.push(Object.assign(series, seriesMetadata));
59634
59678
  }
59635
59679
  }
59636
59680
  };
@@ -59703,7 +59747,7 @@ function _getInstance(StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID) {
59703
59747
  if (!series) {
59704
59748
  return;
59705
59749
  }
59706
- return series.instances.find(instance => instance.SOPInstanceUID === SOPInstanceUID);
59750
+ return series.getInstance(SOPInstanceUID);
59707
59751
  }
59708
59752
  function _getInstanceByImageId(imageId) {
59709
59753
  for (const study of _model.studies) {
@@ -159399,7 +159443,7 @@ var selectOrdinal = function selectOrdinal() {
159399
159443
  /******/ // This function allow to reference async chunks
159400
159444
  /******/ __webpack_require__.u = (chunkId) => {
159401
159445
  /******/ // return url for filenames based on template
159402
- /******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"c149229c3721197734b9","18":"2c146384eb9466d02ff8","19":"d1a02a9b42c17df51f39","23":"e008ad788170f2ed5569","82":"e83d670b0199d1bc717c","99":"bf2efcee897944d8a14b","125":"253395f320b72180da63","181":"169383e9b1a0358b44e8","202":"96bbb4547a346fe3921f","220":"f7e1c96c94245e70f2be","221":"8d4059312a771ac53a19","236":"004ffd1d05a9f69d6812","250":"8084960e3318cda37317","281":"2faa52a55643723e80a3","342":"095cc16d795ac02a7b78","359":"d32d3e78569b6717a2fb","370":"a275a49f7b72669bce3f","410":"998289ecc010615b6088","417":"af0a207c29b109f84159","451":"9fd36f52ff69594f0669","471":"b3d77b83b1593c09a504","506":"f12d11057236d3e4cf05","530":"a03b6f942ace3e1baa1e","579":"8fc434a0c13d3f662d42","604":"a51f83e64004bca5f497","613":"9d7c11a0ceefc2d954b5","663":"7c704397c496dd476e11","686":"dccef1f36e4bc79bcc48","687":"93b66d44a4f83a1921db","743":"4bfe6e562ffb2c22708f","774":"7528cba56a1407357144","775":"2285e7e0e67878948c0d","782":"f6d16bde1ecbb30f1693","814":"9b3900d3b98f009990f9","822":"0545d6dbb49515aa04ee","831":"83658f62fcc769043605","886":"4b3a7f2079d085fdbcb3","957":"71558794566041f37a92"}[chunkId] + ".js";
159446
+ /******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"b965cc54108a0b38a022","18":"2c146384eb9466d02ff8","19":"d961845411cf4e95d27c","23":"e008ad788170f2ed5569","82":"ec05d3de5ac5b0c577fe","99":"d77c8c0a957274c827da","125":"253395f320b72180da63","181":"ceb057236403bcb630ac","202":"d3490836f71e001dd30f","220":"f7e1c96c94245e70f2be","221":"a331e2a9a29f9599fd40","236":"b09ef6a3c16be7ad1d05","250":"8084960e3318cda37317","281":"4f7c49673b5861436311","342":"3f9ebc45fdc6d6879adc","359":"aa2adce78c3935aa19c1","370":"31f3d861d96bdd540dc7","410":"12c1bc7cb765ef74d275","417":"af0a207c29b109f84159","451":"9fd36f52ff69594f0669","471":"b3d77b83b1593c09a504","506":"311783d53e8d64b84280","530":"a03b6f942ace3e1baa1e","579":"8fc434a0c13d3f662d42","604":"a51f83e64004bca5f497","613":"4359bc30c68b8f567140","663":"87300c41b902228496ec","686":"dccef1f36e4bc79bcc48","687":"a3caefcf2e55897bad75","743":"489f7df3a089d4d374e1","757":"ec8301d8e70d2b990f65","774":"4b2dc46a35012b898e1a","775":"2285e7e0e67878948c0d","788":"b9dabaea41cb029360b1","814":"a3d1fbc03a4a3ea3f23d","822":"891f2e57b1b7bc2f4cb4","886":"4b3a7f2079d085fdbcb3","957":"9ea4506963ef8b2d84ba"}[chunkId] + ".js";
159403
159447
  /******/ };
159404
159448
  /******/ })();
159405
159449
  /******/
package/dist/index.html CHANGED
@@ -1,2 +1,2 @@
1
1
  <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><meta name="mobile-web-app-capable" content="yes"/><meta name="application-name" content="OHIF Viewer"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta name="apple-mobile-web-app-title" content="@ohif/app"/><meta name="msapplication-TileColor" content="#fff"/><meta name="msapplication-TileImage" content="/assets/mstile-144x144.png"/><meta name="msapplication-config" content="/assets/browserconfig.xml"/><script>console.time('scriptToView');
2
- window.PUBLIC_URL = '/';</script><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" href="/assets/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"/><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"/><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"/><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"/><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-320x460.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x920.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x1096.png"/><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-750x1294.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1182x2208.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1242x2148.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-748x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-768x1004.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1496x2048.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1536x2008.png"/><link rel="icon" type="image/png" sizes="228x228" href="/assets/coast-228x228.png"/><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"/><script rel="preload" as="script" src="/app-config.js"></script><script rel="preload" as="script" type="module" src="/init-service-worker.js"></script><title>OHIF Viewer</title><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css?family=Inter:100,300,400,500,700&display=swap" rel="stylesheet" rel="preload" as="style"/><script defer="defer" src="/app.bundle.85c4172c936ff45dd5ae.js"></script><link href="/app.bundle.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
2
+ window.PUBLIC_URL = '/';</script><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" href="/assets/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"/><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"/><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"/><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"/><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-320x460.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x920.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x1096.png"/><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-750x1294.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1182x2208.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1242x2148.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-748x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-768x1004.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1496x2048.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1536x2008.png"/><link rel="icon" type="image/png" sizes="228x228" href="/assets/coast-228x228.png"/><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"/><script rel="preload" as="script" src="/app-config.js"></script><script rel="preload" as="script" type="module" src="/init-service-worker.js"></script><title>OHIF Viewer</title><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css?family=Inter:100,300,400,500,700&display=swap" rel="stylesheet" rel="preload" as="style"/><script defer="defer" src="/app.bundle.dacb6768b481e9135f71.js"></script><link href="/app.bundle.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
package/dist/sw.js CHANGED
@@ -51,7 +51,7 @@ self.addEventListener('message', event => {
51
51
  }
52
52
  }
53
53
  });
54
- workbox.precaching.precacheAndRoute([{'revision':null,'url':'/12.bundle.c149229c3721197734b9.js'},{'revision':null,'url':'/125.bundle.253395f320b72180da63.js'},{'revision':null,'url':'/181.bundle.169383e9b1a0358b44e8.js'},{'revision':'8079c6447e119ba0680e8fab5875745d','url':'/181.css'},{'revision':null,'url':'/19.bundle.d1a02a9b42c17df51f39.js'},{'revision':'51b8ed55f5b8d448837222f03bdd6de8','url':'/19.css'},{'revision':null,'url':'/202.bundle.96bbb4547a346fe3921f.js'},{'revision':null,'url':'/220.bundle.f7e1c96c94245e70f2be.js'},{'revision':null,'url':'/221.bundle.8d4059312a771ac53a19.js'},{'revision':'aa1d1f3e32367e42fe90399144d94577','url':'/221.css'},{'revision':null,'url':'/23.bundle.e008ad788170f2ed5569.js'},{'revision':null,'url':'/236.bundle.004ffd1d05a9f69d6812.js'},{'revision':null,'url':'/250.bundle.8084960e3318cda37317.js'},{'revision':'0afb25509c7f072fbd7eda42c6895dbf','url':'/250.css'},{'revision':null,'url':'/281.bundle.2faa52a55643723e80a3.js'},{'revision':null,'url':'/342.bundle.095cc16d795ac02a7b78.js'},{'revision':null,'url':'/359.bundle.d32d3e78569b6717a2fb.js'},{'revision':'c4ea120c6da08aa75348edfa3e57ece9','url':'/36785fbd89b0e17f6099.wasm'},{'revision':null,'url':'/370.bundle.a275a49f7b72669bce3f.js'},{'revision':null,'url':'/410.bundle.998289ecc010615b6088.js'},{'revision':null,'url':'/417.bundle.af0a207c29b109f84159.js'},{'revision':null,'url':'/451.bundle.9fd36f52ff69594f0669.js'},{'revision':null,'url':'/471.bundle.b3d77b83b1593c09a504.js'},{'revision':'c377e1f5fe4a207d270c3f7a8dd3e3ca','url':'/5004fdc02f329ce53b69.wasm'},{'revision':null,'url':'/506.bundle.f12d11057236d3e4cf05.js'},{'revision':null,'url':'/530.bundle.a03b6f942ace3e1baa1e.js'},{'revision':'51b8ed55f5b8d448837222f03bdd6de8','url':'/579.css'},{'revision':null,'url':'/604.bundle.a51f83e64004bca5f497.js'},{'revision':'62b4ae8445d191d5aab5503ce475724d','url':'/610.min.worker.js'},{'revision':'3c2206525c18cd87dd28082949a4e43e','url':'/610.min.worker.js.map'},{'revision':null,'url':'/613.bundle.9d7c11a0ceefc2d954b5.js'},{'revision':'5800265b6831396572fb5d32c6bd8eef','url':'/62ab5d58a2bea7b5a1dc.wasm'},{'revision':'ce10eced3ce34e663d86569b27f5bffb','url':'/65916ef3def695744bda.wasm'},{'revision':null,'url':'/663.bundle.7c704397c496dd476e11.js'},{'revision':null,'url':'/686.bundle.dccef1f36e4bc79bcc48.js'},{'revision':null,'url':'/687.bundle.93b66d44a4f83a1921db.js'},{'revision':null,'url':'/743.bundle.4bfe6e562ffb2c22708f.js'},{'revision':'cf3e4d4fa8884275461c195421812256','url':'/75788f12450d4c5ed494.wasm'},{'revision':'cc4a3a4da4ac1b863a714f93c66c6ef2','url':'/75a0c2dfe07b824c7d21.wasm'},{'revision':null,'url':'/774.bundle.7528cba56a1407357144.js'},{'revision':null,'url':'/775.bundle.2285e7e0e67878948c0d.js'},{'revision':null,'url':'/782.bundle.f6d16bde1ecbb30f1693.js'},{'revision':null,'url':'/814.bundle.9b3900d3b98f009990f9.js'},{'revision':null,'url':'/82.bundle.e83d670b0199d1bc717c.js'},{'revision':'185e5e0a10fa6ab2fc7b3c38e63d550b','url':'/82.css'},{'revision':null,'url':'/822.bundle.0545d6dbb49515aa04ee.js'},{'revision':null,'url':'/831.bundle.83658f62fcc769043605.js'},{'revision':null,'url':'/886.bundle.4b3a7f2079d085fdbcb3.js'},{'revision':'74c9647440e51f149ad12923d6ead952','url':'/945.min.worker.js'},{'revision':'cdf6f0457d4af2cef04fc41816241bc1','url':'/945.min.worker.js.map'},{'revision':null,'url':'/957.bundle.71558794566041f37a92.js'},{'revision':null,'url':'/99.bundle.bf2efcee897944d8a14b.js'},{'revision':'d1895aa7a4595dc279c382e5a31ef9f4','url':'/_headers'},{'revision':'e3bf0f3e9c34f51ad59836ae8e8eaf43','url':'/_redirects'},{'revision':'41bb4b36a914c2db5c383a627162b3da','url':'/app-config.js'},{'revision':null,'url':'/app.bundle.85c4172c936ff45dd5ae.js'},{'revision':'b087b338ae8c00e6585d8ed93cd9915e','url':'/app.bundle.css'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/android-chrome-144x144.png'},{'revision':'5cde390de8a619ebe55a669d2ac3effd','url':'/assets/android-chrome-192x192.png'},{'revision':'e7466a67e90471de05401e53b8fe20be','url':'/assets/android-chrome-256x256.png'},{'revision':'9bbe9b80156e930d19a4e1725aa9ddae','url':'/assets/android-chrome-36x36.png'},{'revision':'5698b2ac0c82fe06d84521fc5482df04','url':'/assets/android-chrome-384x384.png'},{'revision':'56bef3fceec344d9747f8abe9c0bba27','url':'/assets/android-chrome-48x48.png'},{'revision':'3e8b8a01290992e82c242557417b0596','url':'/assets/android-chrome-512x512.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/android-chrome-72x72.png'},{'revision':'4c3289bc690f8519012686888e08da71','url':'/assets/android-chrome-96x96.png'},{'revision':'cf464289183184df09292f581df0fb4f','url':'/assets/apple-touch-icon-1024x1024.png'},{'revision':'0857c5282c594e4900e8b31e3bade912','url':'/assets/apple-touch-icon-114x114.png'},{'revision':'4208f41a28130a67e9392a9dfcee6011','url':'/assets/apple-touch-icon-120x120.png'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/apple-touch-icon-144x144.png'},{'revision':'977d293982af7e9064ba20806b45cf35','url':'/assets/apple-touch-icon-152x152.png'},{'revision':'6de91b4d2a30600b410758405cb567b4','url':'/assets/apple-touch-icon-167x167.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-180x180.png'},{'revision':'647386c34e75f1213830ea9a38913525','url':'/assets/apple-touch-icon-57x57.png'},{'revision':'0c200fe83953738b330ea431083e7a86','url':'/assets/apple-touch-icon-60x60.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/apple-touch-icon-72x72.png'},{'revision':'c9989a807bb18633f6dcf254b5b56124','url':'/assets/apple-touch-icon-76x76.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-precomposed.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon.png'},{'revision':'05fa74ea9c1c0c3931ba96467999081d','url':'/assets/apple-touch-startup-image-1182x2208.png'},{'revision':'9e2cd03e1e6fd0520eea6846f4278018','url':'/assets/apple-touch-startup-image-1242x2148.png'},{'revision':'5591e3a1822cbc8439b99c1a40d53425','url':'/assets/apple-touch-startup-image-1496x2048.png'},{'revision':'337de578c5ca04bd7d2be19d24d83821','url':'/assets/apple-touch-startup-image-1536x2008.png'},{'revision':'cafb4ab4eafe6ef946bd229a1d88e7de','url':'/assets/apple-touch-startup-image-320x460.png'},{'revision':'d9bb9e558d729eeac5efb8be8d6111cc','url':'/assets/apple-touch-startup-image-640x1096.png'},{'revision':'038b5b02bac8b82444bf9a87602ac216','url':'/assets/apple-touch-startup-image-640x920.png'},{'revision':'2177076eb07b1d64d663d7c03268be00','url':'/assets/apple-touch-startup-image-748x1024.png'},{'revision':'4fc097443815fe92503584c4bd73c630','url':'/assets/apple-touch-startup-image-750x1294.png'},{'revision':'2e29914062dce5c5141ab47eea2fc5d9','url':'/assets/apple-touch-startup-image-768x1004.png'},{'revision':'f692ec286b3a332c17985f4ed38b1076','url':'/assets/browserconfig.xml'},{'revision':'f3d9a3b647853c45b0e132e4acd0cc4a','url':'/assets/coast-228x228.png'},{'revision':'ad6e1def5c66193d649a31474bbfe45d','url':'/assets/favicon-16x16.png'},{'revision':'84d1dcdb6cdfa55e2f46be0c80fa5698','url':'/assets/favicon-32x32.png'},{'revision':'95fb44c4998a46109e49d724c060db24','url':'/assets/favicon.ico'},{'revision':'5df2a5b0cee399ac0bc40af74ba3c2cb','url':'/assets/firefox_app_128x128.png'},{'revision':'11fd9098c4b07c8a07e1d2a1e309e046','url':'/assets/firefox_app_512x512.png'},{'revision':'27cddfc922dca3bfa27b4a00fc2f5e36','url':'/assets/firefox_app_60x60.png'},{'revision':'2017d95fae79dcf34b5a5b52586d4763','url':'/assets/manifest.webapp'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/mstile-144x144.png'},{'revision':'334895225e16a7777e45d81964725a97','url':'/assets/mstile-150x150.png'},{'revision':'e295cca4af6ed0365cf7b014d91b0e9d','url':'/assets/mstile-310x150.png'},{'revision':'cbefa8c42250e5f2443819fe2c69d91e','url':'/assets/mstile-310x310.png'},{'revision':'aa411a69df2b33a1362fa38d1257fa9d','url':'/assets/mstile-70x70.png'},{'revision':'5609af4f69e40e33471aee770ea1d802','url':'/assets/yandex-browser-50x50.png'},{'revision':'dd001f21b3970d5a7f3e245cc10d21df','url':'/assets/yandex-browser-manifest.json'},{'revision':'52b9a07fe0541fe8c313d9788550bf51','url':'/b6b803111e2d06a825bd.wasm'},{'revision':'7edb59d2be7c993050cb31ded36afa31','url':'/c22b37c3488e1d6c3aa4.wasm'},{'revision':'5f5a189af3f93caac4d97cf63347d7df','url':'/cornerstoneDICOMImageLoader.min.js'},{'revision':'346733bc702ee77bf7243351d99974f8','url':'/cornerstoneDICOMImageLoader.min.js.map'},{'revision':null,'url':'/dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js'},{'revision':'9d8c85b42d04bb117a3b583d654fbb08','url':'/dicomMicroscopyViewer.min.js'},{'revision':'450494c199cf8dd8e8c34d5e98bf5334','url':'/dicomMicroscopyViewer.min.js.LICENSE.txt'},{'revision':'4acdd19a35d759ec2669f1ba9490937d','url':'/es6-shim.min.js'},{'revision':'791565db341e8852807303918f5f9939','url':'/google.js'},{'revision':'f48a4f1ed59db9d1acbf8cb1f0bd483b','url':'/index.html'},{'revision':'feee2d4ed9d00c64f0e4d6a46608fecf','url':'/index.worker.e62ecca63f1a2e124230.worker.js'},{'revision':'beaf37c564436e46bbcd825f0330cdbf','url':'/index.worker.e62ecca63f1a2e124230.worker.js.map'},{'revision':'71cec55513e051f0778ad89be760c11a','url':'/index.worker.min.worker.js'},{'revision':'fd1116add443fee52a935df926396e0f','url':'/index.worker.min.worker.js.map'},{'revision':'31c0367ca4160b2c6373e905739c5719','url':'/init-service-worker.js'},{'revision':'74fc9658b62903be2048c1f82a22b4d4','url':'/manifest.json'},{'revision':'3fa71aa0af3e34b4ebd9a71eee0f4bdd','url':'/ohif-logo-light.svg'},{'revision':'7e81da785c63e75650101db6c5d7560e','url':'/ohif-logo.svg'},{'revision':'eadf8bf1d85032a029e2c0df4b8938b0','url':'/oidc-client.min.js'},{'revision':'a1aef5311245f5864315443d12246c37','url':'/polyfill.min.js'},{'revision':'b1e488d9955b62bd2858874df11d5223','url':'/silent-refresh.html'}]);
54
+ workbox.precaching.precacheAndRoute([{'revision':null,'url':'/12.bundle.b965cc54108a0b38a022.js'},{'revision':null,'url':'/125.bundle.253395f320b72180da63.js'},{'revision':null,'url':'/181.bundle.ceb057236403bcb630ac.js'},{'revision':'8079c6447e119ba0680e8fab5875745d','url':'/181.css'},{'revision':null,'url':'/19.bundle.d961845411cf4e95d27c.js'},{'revision':'51b8ed55f5b8d448837222f03bdd6de8','url':'/19.css'},{'revision':null,'url':'/202.bundle.d3490836f71e001dd30f.js'},{'revision':null,'url':'/220.bundle.f7e1c96c94245e70f2be.js'},{'revision':null,'url':'/221.bundle.a331e2a9a29f9599fd40.js'},{'revision':'aa1d1f3e32367e42fe90399144d94577','url':'/221.css'},{'revision':null,'url':'/23.bundle.e008ad788170f2ed5569.js'},{'revision':null,'url':'/236.bundle.b09ef6a3c16be7ad1d05.js'},{'revision':null,'url':'/250.bundle.8084960e3318cda37317.js'},{'revision':'0afb25509c7f072fbd7eda42c6895dbf','url':'/250.css'},{'revision':null,'url':'/281.bundle.4f7c49673b5861436311.js'},{'revision':null,'url':'/342.bundle.3f9ebc45fdc6d6879adc.js'},{'revision':null,'url':'/359.bundle.aa2adce78c3935aa19c1.js'},{'revision':'c4ea120c6da08aa75348edfa3e57ece9','url':'/36785fbd89b0e17f6099.wasm'},{'revision':null,'url':'/370.bundle.31f3d861d96bdd540dc7.js'},{'revision':null,'url':'/410.bundle.12c1bc7cb765ef74d275.js'},{'revision':null,'url':'/417.bundle.af0a207c29b109f84159.js'},{'revision':null,'url':'/451.bundle.9fd36f52ff69594f0669.js'},{'revision':null,'url':'/471.bundle.b3d77b83b1593c09a504.js'},{'revision':'c377e1f5fe4a207d270c3f7a8dd3e3ca','url':'/5004fdc02f329ce53b69.wasm'},{'revision':null,'url':'/506.bundle.311783d53e8d64b84280.js'},{'revision':null,'url':'/530.bundle.a03b6f942ace3e1baa1e.js'},{'revision':'51b8ed55f5b8d448837222f03bdd6de8','url':'/579.css'},{'revision':null,'url':'/604.bundle.a51f83e64004bca5f497.js'},{'revision':'62b4ae8445d191d5aab5503ce475724d','url':'/610.min.worker.js'},{'revision':'3c2206525c18cd87dd28082949a4e43e','url':'/610.min.worker.js.map'},{'revision':null,'url':'/613.bundle.4359bc30c68b8f567140.js'},{'revision':'5800265b6831396572fb5d32c6bd8eef','url':'/62ab5d58a2bea7b5a1dc.wasm'},{'revision':'ce10eced3ce34e663d86569b27f5bffb','url':'/65916ef3def695744bda.wasm'},{'revision':null,'url':'/663.bundle.87300c41b902228496ec.js'},{'revision':null,'url':'/686.bundle.dccef1f36e4bc79bcc48.js'},{'revision':null,'url':'/687.bundle.a3caefcf2e55897bad75.js'},{'revision':null,'url':'/743.bundle.489f7df3a089d4d374e1.js'},{'revision':null,'url':'/757.bundle.ec8301d8e70d2b990f65.js'},{'revision':'cf3e4d4fa8884275461c195421812256','url':'/75788f12450d4c5ed494.wasm'},{'revision':'cc4a3a4da4ac1b863a714f93c66c6ef2','url':'/75a0c2dfe07b824c7d21.wasm'},{'revision':null,'url':'/774.bundle.4b2dc46a35012b898e1a.js'},{'revision':null,'url':'/775.bundle.2285e7e0e67878948c0d.js'},{'revision':null,'url':'/788.bundle.b9dabaea41cb029360b1.js'},{'revision':null,'url':'/814.bundle.a3d1fbc03a4a3ea3f23d.js'},{'revision':null,'url':'/82.bundle.ec05d3de5ac5b0c577fe.js'},{'revision':'185e5e0a10fa6ab2fc7b3c38e63d550b','url':'/82.css'},{'revision':null,'url':'/822.bundle.891f2e57b1b7bc2f4cb4.js'},{'revision':null,'url':'/886.bundle.4b3a7f2079d085fdbcb3.js'},{'revision':'74c9647440e51f149ad12923d6ead952','url':'/945.min.worker.js'},{'revision':'cdf6f0457d4af2cef04fc41816241bc1','url':'/945.min.worker.js.map'},{'revision':null,'url':'/957.bundle.9ea4506963ef8b2d84ba.js'},{'revision':null,'url':'/99.bundle.d77c8c0a957274c827da.js'},{'revision':'d1895aa7a4595dc279c382e5a31ef9f4','url':'/_headers'},{'revision':'e3bf0f3e9c34f51ad59836ae8e8eaf43','url':'/_redirects'},{'revision':'41bb4b36a914c2db5c383a627162b3da','url':'/app-config.js'},{'revision':'b08f6cf2917911325ec815f7575f9eb2','url':'/app.bundle.css'},{'revision':null,'url':'/app.bundle.dacb6768b481e9135f71.js'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/android-chrome-144x144.png'},{'revision':'5cde390de8a619ebe55a669d2ac3effd','url':'/assets/android-chrome-192x192.png'},{'revision':'e7466a67e90471de05401e53b8fe20be','url':'/assets/android-chrome-256x256.png'},{'revision':'9bbe9b80156e930d19a4e1725aa9ddae','url':'/assets/android-chrome-36x36.png'},{'revision':'5698b2ac0c82fe06d84521fc5482df04','url':'/assets/android-chrome-384x384.png'},{'revision':'56bef3fceec344d9747f8abe9c0bba27','url':'/assets/android-chrome-48x48.png'},{'revision':'3e8b8a01290992e82c242557417b0596','url':'/assets/android-chrome-512x512.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/android-chrome-72x72.png'},{'revision':'4c3289bc690f8519012686888e08da71','url':'/assets/android-chrome-96x96.png'},{'revision':'cf464289183184df09292f581df0fb4f','url':'/assets/apple-touch-icon-1024x1024.png'},{'revision':'0857c5282c594e4900e8b31e3bade912','url':'/assets/apple-touch-icon-114x114.png'},{'revision':'4208f41a28130a67e9392a9dfcee6011','url':'/assets/apple-touch-icon-120x120.png'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/apple-touch-icon-144x144.png'},{'revision':'977d293982af7e9064ba20806b45cf35','url':'/assets/apple-touch-icon-152x152.png'},{'revision':'6de91b4d2a30600b410758405cb567b4','url':'/assets/apple-touch-icon-167x167.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-180x180.png'},{'revision':'647386c34e75f1213830ea9a38913525','url':'/assets/apple-touch-icon-57x57.png'},{'revision':'0c200fe83953738b330ea431083e7a86','url':'/assets/apple-touch-icon-60x60.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/apple-touch-icon-72x72.png'},{'revision':'c9989a807bb18633f6dcf254b5b56124','url':'/assets/apple-touch-icon-76x76.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-precomposed.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon.png'},{'revision':'05fa74ea9c1c0c3931ba96467999081d','url':'/assets/apple-touch-startup-image-1182x2208.png'},{'revision':'9e2cd03e1e6fd0520eea6846f4278018','url':'/assets/apple-touch-startup-image-1242x2148.png'},{'revision':'5591e3a1822cbc8439b99c1a40d53425','url':'/assets/apple-touch-startup-image-1496x2048.png'},{'revision':'337de578c5ca04bd7d2be19d24d83821','url':'/assets/apple-touch-startup-image-1536x2008.png'},{'revision':'cafb4ab4eafe6ef946bd229a1d88e7de','url':'/assets/apple-touch-startup-image-320x460.png'},{'revision':'d9bb9e558d729eeac5efb8be8d6111cc','url':'/assets/apple-touch-startup-image-640x1096.png'},{'revision':'038b5b02bac8b82444bf9a87602ac216','url':'/assets/apple-touch-startup-image-640x920.png'},{'revision':'2177076eb07b1d64d663d7c03268be00','url':'/assets/apple-touch-startup-image-748x1024.png'},{'revision':'4fc097443815fe92503584c4bd73c630','url':'/assets/apple-touch-startup-image-750x1294.png'},{'revision':'2e29914062dce5c5141ab47eea2fc5d9','url':'/assets/apple-touch-startup-image-768x1004.png'},{'revision':'f692ec286b3a332c17985f4ed38b1076','url':'/assets/browserconfig.xml'},{'revision':'f3d9a3b647853c45b0e132e4acd0cc4a','url':'/assets/coast-228x228.png'},{'revision':'ad6e1def5c66193d649a31474bbfe45d','url':'/assets/favicon-16x16.png'},{'revision':'84d1dcdb6cdfa55e2f46be0c80fa5698','url':'/assets/favicon-32x32.png'},{'revision':'95fb44c4998a46109e49d724c060db24','url':'/assets/favicon.ico'},{'revision':'5df2a5b0cee399ac0bc40af74ba3c2cb','url':'/assets/firefox_app_128x128.png'},{'revision':'11fd9098c4b07c8a07e1d2a1e309e046','url':'/assets/firefox_app_512x512.png'},{'revision':'27cddfc922dca3bfa27b4a00fc2f5e36','url':'/assets/firefox_app_60x60.png'},{'revision':'2017d95fae79dcf34b5a5b52586d4763','url':'/assets/manifest.webapp'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/mstile-144x144.png'},{'revision':'334895225e16a7777e45d81964725a97','url':'/assets/mstile-150x150.png'},{'revision':'e295cca4af6ed0365cf7b014d91b0e9d','url':'/assets/mstile-310x150.png'},{'revision':'cbefa8c42250e5f2443819fe2c69d91e','url':'/assets/mstile-310x310.png'},{'revision':'aa411a69df2b33a1362fa38d1257fa9d','url':'/assets/mstile-70x70.png'},{'revision':'5609af4f69e40e33471aee770ea1d802','url':'/assets/yandex-browser-50x50.png'},{'revision':'dd001f21b3970d5a7f3e245cc10d21df','url':'/assets/yandex-browser-manifest.json'},{'revision':'52b9a07fe0541fe8c313d9788550bf51','url':'/b6b803111e2d06a825bd.wasm'},{'revision':'7edb59d2be7c993050cb31ded36afa31','url':'/c22b37c3488e1d6c3aa4.wasm'},{'revision':'5f5a189af3f93caac4d97cf63347d7df','url':'/cornerstoneDICOMImageLoader.min.js'},{'revision':'346733bc702ee77bf7243351d99974f8','url':'/cornerstoneDICOMImageLoader.min.js.map'},{'revision':null,'url':'/dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js'},{'revision':'9d8c85b42d04bb117a3b583d654fbb08','url':'/dicomMicroscopyViewer.min.js'},{'revision':'450494c199cf8dd8e8c34d5e98bf5334','url':'/dicomMicroscopyViewer.min.js.LICENSE.txt'},{'revision':'4acdd19a35d759ec2669f1ba9490937d','url':'/es6-shim.min.js'},{'revision':'791565db341e8852807303918f5f9939','url':'/google.js'},{'revision':'cce12a27b8869d44b9a0c7ad67b7792e','url':'/index.html'},{'revision':'feee2d4ed9d00c64f0e4d6a46608fecf','url':'/index.worker.e62ecca63f1a2e124230.worker.js'},{'revision':'beaf37c564436e46bbcd825f0330cdbf','url':'/index.worker.e62ecca63f1a2e124230.worker.js.map'},{'revision':'71cec55513e051f0778ad89be760c11a','url':'/index.worker.min.worker.js'},{'revision':'fd1116add443fee52a935df926396e0f','url':'/index.worker.min.worker.js.map'},{'revision':'31c0367ca4160b2c6373e905739c5719','url':'/init-service-worker.js'},{'revision':'74fc9658b62903be2048c1f82a22b4d4','url':'/manifest.json'},{'revision':'3fa71aa0af3e34b4ebd9a71eee0f4bdd','url':'/ohif-logo-light.svg'},{'revision':'7e81da785c63e75650101db6c5d7560e','url':'/ohif-logo.svg'},{'revision':'eadf8bf1d85032a029e2c0df4b8938b0','url':'/oidc-client.min.js'},{'revision':'a1aef5311245f5864315443d12246c37','url':'/polyfill.min.js'},{'revision':'b1e488d9955b62bd2858874df11d5223','url':'/silent-refresh.html'}]);
55
55
 
56
56
  // TODO: Cache API
57
57
  // https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/cache-api