@ohif/extension-cornerstone 3.13.0-beta.99 → 3.13.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.
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
!function(e,A){"object"==typeof exports&&"object"==typeof module?module.exports=A(require("@ohif/core/src/utils"),require("@cornerstonejs/core"),require("@cornerstonejs/core/loaders"),require("@cornerstonejs/tools/enums"),require("@ohif/extension-default/src/Toolbar/Toolbar"),require("@ohif/core/src/hooks"),require("@ohif/core"),require("@cornerstonejs/core/utilities"),require("@cornerstonejs/polymorphic-segmentation"),require("@cornerstonejs/core/enums/RequestType"),require("@cornerstonejs/core/enums"),require("@cornerstonejs/tools/utilities"),require("@cornerstonejs/tools"),require("@ohif/extension-default"),require("@cornerstonejs/tools/annotation"),require("@cornerstonejs/ai"),require("@cornerstonejs/dicom-image-loader"),require("@cornerstonejs/tools/utilities/contourSegmentation/logicalOperators"),require("dcmjs"),require("@ohif/i18n"),require("@ohif/core/src/services/ToolBarService/ToolbarService"),require("gl-matrix"),require("@ohif/ui-next"),require("@cornerstonejs/tools/segmentation"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@cornerstonejs/labelmap-interpolation"),require("@ohif/core/src")):"function"==typeof define&&define.amd?define(["@ohif/core/src/utils","@cornerstonejs/core","@cornerstonejs/core/loaders","@cornerstonejs/tools/enums","@ohif/extension-default/src/Toolbar/Toolbar","@ohif/core/src/hooks","@ohif/core","@cornerstonejs/core/utilities","@cornerstonejs/polymorphic-segmentation","@cornerstonejs/core/enums/RequestType","@cornerstonejs/core/enums","@cornerstonejs/tools/utilities","@cornerstonejs/tools","@ohif/extension-default","@cornerstonejs/tools/annotation","@cornerstonejs/ai","@cornerstonejs/dicom-image-loader","@cornerstonejs/tools/utilities/contourSegmentation/logicalOperators","dcmjs","@ohif/i18n","@ohif/core/src/services/ToolBarService/ToolbarService","gl-matrix","@ohif/ui-next","@cornerstonejs/tools/segmentation","@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps","@cornerstonejs/labelmap-interpolation","@ohif/core/src"],A):"object"==typeof exports?exports["ohif-extension-cornerstone"]=A(require("@ohif/core/src/utils"),require("@cornerstonejs/core"),require("@cornerstonejs/core/loaders"),require("@cornerstonejs/tools/enums"),require("@ohif/extension-default/src/Toolbar/Toolbar"),require("@ohif/core/src/hooks"),require("@ohif/core"),require("@cornerstonejs/core/utilities"),require("@cornerstonejs/polymorphic-segmentation"),require("@cornerstonejs/core/enums/RequestType"),require("@cornerstonejs/core/enums"),require("@cornerstonejs/tools/utilities"),require("@cornerstonejs/tools"),require("@ohif/extension-default"),require("@cornerstonejs/tools/annotation"),require("@cornerstonejs/ai"),require("@cornerstonejs/dicom-image-loader"),require("@cornerstonejs/tools/utilities/contourSegmentation/logicalOperators"),require("dcmjs"),require("@ohif/i18n"),require("@ohif/core/src/services/ToolBarService/ToolbarService"),require("gl-matrix"),require("@ohif/ui-next"),require("@cornerstonejs/tools/segmentation"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@cornerstonejs/labelmap-interpolation"),require("@ohif/core/src")):e["ohif-extension-cornerstone"]=A(e["@ohif/core/src/utils"],e["@cornerstonejs/core"],e["@cornerstonejs/core/loaders"],e["@cornerstonejs/tools/enums"],e["@ohif/extension-default/src/Toolbar/Toolbar"],e["@ohif/core/src/hooks"],e["@ohif/core"],e["@cornerstonejs/core/utilities"],e["@cornerstonejs/polymorphic-segmentation"],e["@cornerstonejs/core/enums/RequestType"],e["@cornerstonejs/core/enums"],e["@cornerstonejs/tools/utilities"],e["@cornerstonejs/tools"],e["@ohif/extension-default"],e["@cornerstonejs/tools/annotation"],e["@cornerstonejs/ai"],e["@cornerstonejs/dicom-image-loader"],e["@cornerstonejs/tools/utilities/contourSegmentation/logicalOperators"],e.dcmjs,e["@ohif/i18n"],e["@ohif/core/src/services/ToolBarService/ToolbarService"],e["gl-matrix"],e["@ohif/ui-next"],e["@cornerstonejs/tools/segmentation"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"],e["@cornerstonejs/labelmap-interpolation"],e["@ohif/core/src"])}(globalThis,(e,A,t,n,r,o,i,a,s,l,c,u,d,g,p,m,f,h,w,B,y,v,C,E,S,I,U)=>(()=>{var b,F,Q={6309(e,A){"use strict";A.A=function(e,A){if(e&&A){var t=Array.isArray(A)?A:A.split(",");if(0===t.length)return!0;var n=e.name||"",r=(e.type||"").toLowerCase(),o=r.replace(/\/.*$/,"");return t.some(function(e){var A=e.trim().toLowerCase();return"."===A.charAt(0)?n.toLowerCase().endsWith(A):A.endsWith("/*")?o===A.replace(/\/.*$/,""):r===A})}return!0}},7332(e,A,t){"use strict";t.r(A),t.d(A,{default:()=>Y});var n=t(6326),r=t(6557),o=t(1002),i=t(55),a=t(6499),s=t(7598),l=t.n(s),c=t(3117);function u({viewportData:e,viewportId:A,element:t,imageSliceData:o,setImageSliceData:a,scrollbarHeight:s,servicesManager:l}){let{cineService:d,cornerstoneViewportService:g}=l.services;return(0,n.useEffect)(()=>{if(!e)return;let t=g.getCornerstoneViewport(A);if(!(!t||(0,c.Ov)(t)))try{let e=t.getCurrentImageIdIndex(),A=t.getNumberOfSlices();a({imageIndex:e,numberOfSlices:A})}catch(e){console.warn(e)}},[A,e]),(0,n.useEffect)(()=>{if(!e)return;let{viewportType:n}=e,o=n===r.Enums.ViewportType.STACK&&r.Enums.Events.STACK_NEW_IMAGE||n===r.Enums.ViewportType.ORTHOGRAPHIC&&r.Enums.Events.VOLUME_NEW_IMAGE||r.Enums.Events.IMAGE_RENDERED,i=e=>{let t=g.getCornerstoneViewport(A);if(!t||(0,c.Ov)(t))return;let{imageIndex:n,newImageIdIndex:r=n,imageIdIndex:o}=e.detail;a({imageIndex:r??o,numberOfSlices:t.getNumberOfSlices()})};return t.addEventListener(o,i),()=>{t.removeEventListener(o,i)}},[e,t]),n.createElement(i.ImageScrollbar,{onChange:e=>((e,A)=>{let n=g.getCornerstoneViewport(A),{isCineEnabled:o}=d.getState();o&&(d.stopClip(t,{viewportId:A}),d.setCine({id:A,isPlaying:!1})),r.utilities.jumpToSlice(n.element,{imageIndex:e,debounceLoading:!0})})(e,A),max:o.numberOfSlices?o.numberOfSlices-1:0,height:s,value:o.imageIndex||0})}function d(e){let A=e?.detail;return A?.imageId||A?.image?.imageId||A?.cachedImage?.imageId}function g({viewportData:e,viewportId:A,element:t,imageSliceData:o,setImageSliceData:a,servicesManager:s}){let{cineService:l,cornerstoneViewportService:u,customizationService:p,viewedDataService:m}=s.services,f=!1!==p.getCustomization("viewportScrollbar.showLoadedEndpoints"),h=!1!==p.getCustomization("viewportScrollbar.showLoadedFill"),w=!1!==p.getCustomization("viewportScrollbar.showViewedFill"),B=!1!==p.getCustomization("viewportScrollbar.showLoadingPattern"),y=p.getCustomization("viewportScrollbar.viewedDwellMs"),v=p.getCustomization("viewportScrollbar.loadedBatchIntervalMs"),{numberOfSlices:C,imageIndex:E}=o,S=(0,n.useMemo)(()=>(function(e){if(!e?.data?.length)return[];let A=e.data[0],t=A.volume?.imageIds,n=A.imageIds;return t||n||[]})(e),[e]),I=(0,n.useMemo)(()=>{let e=new Map;for(let A=0;A<S.length;A++){let t=S[A];t&&e.set(t,A)}return e},[S]),U=function({viewportData:e,viewportId:A,element:t,cornerstoneViewportService:o}){let[i,a]=(0,n.useState)(!1),s=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!e)return;let n=()=>{let t=o.getCornerstoneViewport(A),n=t?.getImageData?.(),i=t?.getCamera?.()?.viewPlaneNormal;n&&i&&(s.current=[...i]);let l=!(!e||!t||(0,c.Ov)(t))&&(e.viewportType===r.Enums.ViewportType.STACK||e.viewportType===r.Enums.ViewportType.ORTHOGRAPHIC&&!!t.isInAcquisitionPlane?.());a(e=>e===l?e:l)};n();let i=()=>{let e=o.getCornerstoneViewport(A),t=e?.getCamera?.()?.viewPlaneNormal,i=s.current;t&&i&&r.utilities.isEqual(t,i)||n()};return t.addEventListener(r.Enums.Events.CAMERA_MODIFIED,i),()=>{t.removeEventListener(r.Enums.Events.CAMERA_MODIFIED,i)}},[e,A,o,t]),i}({viewportData:e,viewportId:A,element:t,cornerstoneViewportService:u});!function({viewportData:e,viewportId:A,element:t,cornerstoneViewportService:o,setImageSliceData:i}){(0,n.useEffect)(()=>{if(!e)return;let n=o.getCornerstoneViewport(A);if(n&&!(0,c.Ov)(n))try{let e=n.getCurrentImageIdIndex(),A=n.getNumberOfSlices();i({imageIndex:e,numberOfSlices:A})}catch(e){console.warn(e)}let{viewportType:a}=e,s=a===r.Enums.ViewportType.STACK&&r.Enums.Events.STACK_NEW_IMAGE||a===r.Enums.ViewportType.ORTHOGRAPHIC&&r.Enums.Events.VOLUME_NEW_IMAGE||r.Enums.Events.IMAGE_RENDERED,l=e=>{let t=o.getCornerstoneViewport(A);if(!t||(0,c.Ov)(t))return;let n=function(e){let{imageIndex:A,newImageIdIndex:t=A,imageIdIndex:n}=e.detail;return t??n}(e);null==n||i({imageIndex:n,numberOfSlices:t.getNumberOfSlices()})};return t.addEventListener(s,l),()=>{t.removeEventListener(s,l)}},[e,t,A,o,i])}({viewportData:e,viewportId:A,element:t,cornerstoneViewportService:u,setImageSliceData:a});let{bytes:b,version:F,isFull:Q}=function({isFullMode:e,numberOfSlices:A,viewportData:t,imageIds:o,imageIdToIndex:a,loadedBatchIntervalMs:s}){let l=(0,i.useByteArray)(A||0,s),{resetWith:c,setByte:u,clearByte:g}=l;return(0,n.useEffect)(()=>{if(e&&A&&c(e=>{for(let A=0;A<e.length;A++){let t=o[A];t&&r.cache.isLoaded(t)&&(e[A]=1)}}),!e||!t)return;let n=e=>{let A=d(e);if(!A)return;let t=a.get(A);void 0!==t&&u(t)},i=e=>{let A=d(e);if(!A)return;let t=a.get(A);void 0!==t&&g(t)};return r.eventTarget.addEventListener(r.Enums.Events.IMAGE_CACHE_IMAGE_ADDED,n),r.eventTarget.addEventListener(r.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,i),()=>{r.eventTarget.removeEventListener(r.Enums.Events.IMAGE_CACHE_IMAGE_ADDED,n),r.eventTarget.removeEventListener(r.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,i)}},[o,e,A,t,a,c,u,g]),l}({isFullMode:U,numberOfSlices:C,viewportData:e,imageIds:S,imageIdToIndex:I,loadedBatchIntervalMs:"number"==typeof v&&v>=0?v:200}),{bytes:D,version:T}=function({isFullMode:e,numberOfSlices:A,imageIndex:t,imageIds:r,imageIdToIndex:o,viewedDwellMs:a,viewedDataService:s}){let l=(0,i.useByteArray)(A||0),{resetWith:c,setByte:u}=l;return(0,n.useEffect)(()=>{if(e&&A&&c(e=>{for(let A=0;A<e.length;A++){let t=r[A];t&&s?.isDataViewed(t)&&(e[A]=1)}}),!s)return;let t=s.subscribeViewedDataChanges(({viewedDataId:t,viewedDataCleared:n})=>{if(!e||!A)return;if(n)return void c(e=>{e.fill(0)});let r=o.get(t);void 0!==r&&u(r)});return()=>{t.unsubscribe()}},[r,e,A,o,c,u,s]),(0,n.useEffect)(()=>{if(!e||!A)return;let n=e=>{u(e);let A=r[e];A&&s?.markDataViewed(A)};if(0===a)return void n(t||0);let o=window.setTimeout(()=>{n(t||0)},a);return()=>{window.clearTimeout(o)}},[e,A,t,r,u,a,s]),l}({isFullMode:U,numberOfSlices:C,imageIndex:E,imageIds:S,imageIdToIndex:I,viewedDwellMs:"number"==typeof y&&y>=0?y:0,viewedDataService:m}),O=!!U&&!!B&&!Q;return!C||C<=1?null:n.createElement("div",{style:{position:"absolute",right:0,top:0,height:"100%",padding:"8px 5px",zIndex:10}},n.createElement("div",{style:{position:"relative",height:"100%",width:"11px"}},n.createElement(i.SmartScrollbar,{className:"absolute inset-0",value:E||0,total:C,onValueChange:e=>{let n=u.getCornerstoneViewport(A);if(!n||(0,c.Ov)(n))return;let{isCineEnabled:o}=l.getState();o&&(l.stopClip(t,{viewportId:A}),l.setCine({id:A,frameRate:void 0,isPlaying:!1})),r.utilities.jumpToSlice(n.element,{imageIndex:e,debounceLoading:!0})},isLoading:O,enableKeyboardNavigation:!1,"aria-label":"Image navigation scrollbar",indicator:p.getCustomization("viewportScrollbar.indicator")},n.createElement(i.SmartScrollbarTrack,null,U&&h&&n.createElement(i.SmartScrollbarFill,{marked:b,version:F,className:"bg-neutral/25",loadingClassName:"bg-neutral/50"}),U&&w&&n.createElement(i.SmartScrollbarFill,{marked:D,version:T,className:"bg-primary/35",loadingClassName:"bg-primary/35"})),n.createElement(i.SmartScrollbarIndicator,null),U&&f&&n.createElement(i.SmartScrollbarEndpoints,{marked:b,version:F}))))}u.propTypes={viewportData:l().object,viewportId:l().string.isRequired,element:l().instanceOf(Element),scrollbarHeight:l().string,imageSliceData:l().object.isRequired,setImageSliceData:l().func.isRequired,servicesManager:l().object.isRequired},g.propTypes={viewportData:l().object,viewportId:l().string.isRequired,element:l().instanceOf(Element),imageSliceData:l().object.isRequired,setImageSliceData:l().func.isRequired,servicesManager:l().object.isRequired};var p=t(7155),m=t(4713),f=t(4867),h=t.n(f);function w(e,A=0){if(null!==e)return parseFloat(e).toFixed(A)}function B(e,A="HH:mm:ss"){return h()(e,"HH:mm:ss").format(A)}var y=t(9227);let{formatPN:v}=o.utils,C={"ohif.overlayItem":function(e){let{instance:A,customization:t={}}=e,{color:r,attribute:o,title:i,label:a,background:s}=t,l=t.contentF?.(e,t)??A?.[o];return null==l?null:n.createElement("div",{className:"overlay-item flex flex-row",style:{color:r,background:s},title:i},a?n.createElement("span",{className:"mr-1 shrink-0"},a):null,n.createElement("span",{className:"ml-0 shrink-0"},l))},"ohif.overlayItem.windowLevel":function({voi:e,customization:A}){let{windowWidth:t,windowCenter:r}=e,{title:o}=A;return"number"!=typeof r||"number"!=typeof t?null:n.createElement("div",{className:"overlay-item flex flex-row",style:{color:A?.color},title:o},n.createElement("span",{className:"mr-0.5 shrink-0 opacity-[0.70]"},"W:"),n.createElement("span",{className:"mr-2.5 shrink-0"},t.toFixed(0)),n.createElement("span",{className:"mr-0.5 shrink-0 opacity-[0.70]"},"L:"),n.createElement("span",{className:"shrink-0"},r.toFixed(0)))},"ohif.overlayItem.zoomLevel":function({scale:e,customization:A}){return n.createElement("div",{className:"overlay-item flex flex-row",style:{color:A&&A.color||void 0}},n.createElement("span",{className:"mr-0.5 shrink-0 opacity-[0.70]"},"Zoom:"),n.createElement("span",null,e.toFixed(2),"x"))},"ohif.overlayItem.instanceNumber":function({instanceNumber:e,imageSliceData:A,customization:t}){let{imageIndex:r,numberOfSlices:o}=A,{title:i}=t;return n.createElement("div",{className:"overlay-item flex flex-row",style:{color:t&&t.color||void 0},title:i},n.createElement("span",null,null!=e?n.createElement(n.Fragment,null,n.createElement("span",{className:"mr-0.5 shrink-0 opacity-[0.70]"},"I:"),n.createElement("span",null,`${e} (${r+1}/${o})`)):`${r+1}/${o}`))}};function E({element:e,viewportData:A,imageSliceData:t,viewportId:o,servicesManager:a}){let{cornerstoneViewportService:s,customizationService:l,toolGroupService:c,displaySetService:u}=a.services,[d,g]=(0,n.useState)(1),[p,f]=(0,n.useState)(0),{isViewportBackgroundLight:h,windowLevel:I}=(0,y.eH)(o),{imageIndex:U}=t,b=l.getCustomization("viewportOverlay.topLeft"),F=l.getCustomization("viewportOverlay.topRight"),Q=l.getCustomization("viewportOverlay.bottomLeft"),D=l.getCustomization("viewportOverlay.bottomRight"),T=(0,n.useMemo)(()=>A?S(A,o,U,s):null,[A,o,U,s]),O=(0,n.useMemo)(()=>{let e=function(e,A){if(!e?.data?.length)return null;let t=e.data.map(e=>A.getDisplaySetByUID(e.displaySetInstanceUID)).filter(e=>!!e);return t.length?t:null}(A,u);if(!e)return null;let[t]=e,{instances:n,instance:r}=t;return{displaySets:e,displaySet:t,instance:n?.[U],instances:n,referenceInstance:r}},[A,o,T,s]),M=(0,n.useCallback)(e=>{e.detail.annotation.metadata.toolName===m.UltrasoundPleuraBLineTool.toolName&&f(e=>e+1)},[]);(0,n.useEffect)(()=>(r.eventTarget.addEventListener(m.Enums.Events.ANNOTATION_MODIFIED,M),()=>{r.eventTarget.removeEventListener(m.Enums.Events.ANNOTATION_MODIFIED,M)}),[M]),(0,n.useEffect)(()=>{let A=e=>{let{previousCamera:A,camera:t}=e.detail;if(A.parallelScale!==t.parallelScale||A.scale!==t.scale){let e=s.getCornerstoneViewport(o);if(!e)return;g(e.getZoom())}};return e.addEventListener(r.Enums.Events.CAMERA_MODIFIED,A),()=>{e.removeEventListener(r.Enums.Events.CAMERA_MODIFIED,A)}},[o,A,s,e]);let x=(0,n.useCallback)((r,s)=>{let c={...s,element:e,viewportData:A,imageSliceData:t,viewportId:o,servicesManager:a,customization:r,isLight:h,formatters:{formatPN:v,formatDate:i.formatDICOMDate,formatTime:B,formatNumberPrecision:w}};if(!r)return null;let{inheritsFrom:u}=r,d=C[u];if(d)return n.createElement(d,c);{let e=l.transform(r);if("function"==typeof e.contentF)return e.contentF(c)}},[e,A,t,o,a,l,O,I,d,T,p,h]),H=(0,n.useCallback)((e,A)=>{let t={...O,formatters:{formatDate:i.formatDICOMDate},voi:I,scale:d,instanceNumber:T,viewportId:o,toolGroupService:c,isLight:h};return n.createElement(n.Fragment,null,e.map((e,r)=>n.createElement("div",{key:`${A}_${r}`},(!e?.condition||e.condition(t))&&x(e,t)||null)))},[x]);return n.createElement(i.ViewportOverlay,{topLeft:H(b,"topLeftOverlayItem"),topRight:H(F,"topRightOverlayItem"),bottomLeft:H(Q,"bottomLeftOverlayItem"),bottomRight:H(D,"bottomRightOverlayItem"),color:h?"text-neutral-dark":"text-neutral-light",shadowClass:h?"shadow-light":"shadow-dark"})}let S=(e,A,t,n)=>{let o;switch(e.viewportType){case r.Enums.ViewportType.STACK:o=function(e,A){let t=e.data[0].imageIds,n=t[A];if(!n)return;let{instanceNumber:o}=r.metaData.get("generalImageModule",n)||{};if(!(t.length<=1))return parseInt(o)}(e,t);break;case r.Enums.ViewportType.ORTHOGRAPHIC:o=function(e,A,t,n){let o=e.data;if(!o)return;let{volume:i}=o[0];if(!i)return;let{direction:a,imageIds:s}=i,l=t.getCornerstoneViewport(A);if(!l)return;let{viewPlaneNormal:c}=l.getCamera(),u=a.slice(6,9),d=p.vec3.cross(p.vec3.create(),c,u);if(1e-4>p.vec3.length(d)){let e=s[n];if(!e)return{};let{instanceNumber:A}=r.metaData.get("generalImageModule",e)||{};return parseInt(A)}}(e,A,n,t)}return o??null};E.propTypes={viewportData:l().object,imageIndex:l().number,viewportId:l().string};var I=t(5530),U=t.n(I);let{getOrientationStringLPS:b,invertOrientationStringLPS:F}=m.utilities.orientation,Q=function({element:e,viewportData:A,imageSliceData:t,viewportId:o,servicesManager:i,orientationMarkers:a=["top","left"]}){let[s,l]=(0,n.useState)(0),{isViewportBackgroundLight:c}=(0,y.eH)(o),{cornerstoneViewportService:u}=i.services;(0,n.useEffect)(()=>{let A=()=>l(Date.now());return e.addEventListener(r.Enums.Events.CAMERA_MODIFIED,A),()=>{e.removeEventListener(r.Enums.Events.CAMERA_MODIFIED,A)}},[e]);let d=(0,n.useMemo)(()=>{var i,l;let d,g,m;if(!A||0===s)return"";if(!e||!(0,r.getEnabledElement)(e))return console.log(`ViewportOrientationMarkers :: Viewport element not enabled (${o})`),"";if(!u.getViewportInfo(o))return console.log(`ViewportOrientationMarkers :: No viewport (${o})`),"";if("stack"===A.viewportType){let e=t.imageIndex,n=A.data[0].imageIds?.[e];if(!n)return!1;let{isDefaultValueSetForRowCosine:o,isDefaultValueSetForColumnCosine:i}=r.metaData.get("imagePlaneModule",n)||{};if(i||o)return""}let{viewport:f}=(0,r.getEnabledElement)(e),h=f.canvasToWorld([0,0]),w=f.canvasToWorld([1,0]),B=f.canvasToWorld([0,1]),y=p.vec3.sub(p.vec3.create(),w,h),v=p.vec3.sub(p.vec3.create(),B,h);p.vec3.normalize(y,y),p.vec3.normalize(v,v);let C=(i=y,l=v,d=b(i),g=b(l),m=F(d),{top:F(g),left:m,right:d,bottom:g});return a.map((e,A)=>n.createElement("div",{className:U()("overlay-text",`${e}-mid orientation-marker`,c?"text-neutral-dark/70":"text-neutral-light/70",c?"shadow-light":"shadow-dark","text-base","leading-5"),key:`${e}-mid orientation-marker`},n.createElement("div",{className:"orientation-marker-value"},C[e])))},[A,t,s,a,e,c]);return n.createElement("div",{className:"ViewportOrientationMarkers select-none"},d)};function D({viewportData:e,element:A}){let[t,o]=(0,n.useState)(!1),[i,a]=(0,n.useState)(!1),s=(0,n.useRef)(null),l=(0,n.useRef)(null),c=e=>{clearTimeout(s.current),s.current=setTimeout(()=>{o(!0)},50)},u=e=>{clearTimeout(s.current),o(!1)},d=e=>{clearTimeout(s.current),l.current===e.detail.imageId&&(a(e.detail.error),l.current=null)};return((0,n.useEffect)(()=>(A.addEventListener(r.Enums.Events.STACK_VIEWPORT_SCROLL,c),A.addEventListener(r.Enums.Events.IMAGE_LOAD_ERROR,d),A.addEventListener(r.Enums.Events.STACK_NEW_IMAGE,u),()=>{A.removeEventListener(r.Enums.Events.STACK_VIEWPORT_SCROLL,c),A.removeEventListener(r.Enums.Events.STACK_NEW_IMAGE,u),A.removeEventListener(r.Enums.Events.IMAGE_LOAD_ERROR,d)}),[A,e]),i)?n.createElement(n.Fragment,null,n.createElement("div",{className:"absolute top-0 left-0 h-full w-full bg-black opacity-50"},n.createElement("div",{className:"transparent flex h-full w-full items-center justify-center"},n.createElement("p",{className:"text-highlight text-xl font-light"},n.createElement("h4",null,"Error Loading Image"),n.createElement("p",null,"An error has occurred."),n.createElement("p",null,i))))):t?n.createElement("div",{className:"pointer-events-none absolute top-0 left-0 h-full w-full bg-black opacity-50"},n.createElement("div",{className:"transparent flex h-full w-full items-center justify-center"},n.createElement("p",{className:"text-highlight text-xl font-light"},"Loading..."))):null}D.propTypes={error:l().object,element:l().object};let T=function(e){let{viewportId:A,element:t,scrollbarHeight:r,servicesManager:o}=e,{cornerstoneViewportService:i,customizationService:a}=o.services,[s,l]=(0,n.useState)({imageIndex:0,numberOfSlices:0}),[c,d]=(0,n.useState)(null);if((0,n.useEffect)(()=>{let{unsubscribe:e}=i.subscribe(i.EVENTS.VIEWPORT_DATA_CHANGED,e=>{e.viewportId===A&&d(e.viewportData)});return()=>{e()}},[A]),!t)return null;if(c){let e=i.getViewportInfo(A);if(e?.viewportOptions?.customViewportProps?.hideOverlays)return null}let p=a.getCustomization("viewportScrollbar.variant");return n.createElement("div",{className:"noselect"},"legacy"!==p?n.createElement(g,{viewportId:A,viewportData:c,element:t,imageSliceData:s,setImageSliceData:l,servicesManager:o}):n.createElement(u,{viewportId:A,viewportData:c,element:t,imageSliceData:s,setImageSliceData:l,scrollbarHeight:r,servicesManager:o}),n.createElement(E,{imageSliceData:s,viewportData:c,viewportId:A,servicesManager:o,element:t}),n.createElement(D,{viewportData:c,element:t}),n.createElement(Q,{imageSliceData:s,element:t,viewportData:c,servicesManager:o,viewportId:A}))},O=(0,n.createContext)(null),{Provider:M}=O;function x({viewportId:e,cineService:A,newStackFrameRate:t,isPlaying:o,dynamicInfo:i,customizationService:a}){let s=a.getCustomization("cinePlayer"),[l,c]=(0,n.useState)(i);(0,n.useEffect)(()=>{c(i)},[i]),(0,n.useEffect)(()=>{if(!l)return;let e=e=>{let{volumeId:A,dimensionGroupNumber:t,numDimensionGroups:n,splittingTag:r}=e.detail;c({volumeId:A,dimensionGroupNumber:t,numDimensionGroups:n,label:r})};return r.eventTarget.addEventListener(r.Enums.Events.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED,e),()=>{r.eventTarget.removeEventListener(r.Enums.Events.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED,e)}},[l]),(0,n.useEffect)(()=>{if(!l)return;let{volumeId:e,dimensionGroupNumber:A,numDimensionGroups:t,splittingTag:n}=l||{};r.cache.getVolume(e,!0).dimensionGroupNumber=A,c({volumeId:e,dimensionGroupNumber:A,numDimensionGroups:t,label:n})},[]);let u=(0,n.useCallback)(e=>{let{volumeId:A,dimensionGroupNumber:t}=e;r.cache.getVolume(A,!0).dimensionGroupNumber=t},[]);return n.createElement(s,{className:"absolute left-1/2 bottom-3 -translate-x-1/2",frameRate:t,isPlaying:o,onClose:()=>{A.setCine({id:e,isPlaying:!1}),A.setIsCineEnabled(!1),A.setViewportCineClosed(e)},onPlayPauseChange:t=>{A.setCine({id:e,isPlaying:t})},onFrameRateChange:t=>A.setCine({id:e,frameRate:t}),dynamicInfo:l,updateDynamicInfo:u})}l().any,l().any;let H=function({enabledVPElement:e,viewportId:A,servicesManager:t}){let{customizationService:o,displaySetService:a,viewportGridService:s}=t.services,[{isCineEnabled:l,cines:c},u]=(0,i.useCine)(),[d,g]=(0,n.useState)(24),[p,m]=(0,n.useState)(null),[f]=(0,n.useContext)(O),h=(0,n.useRef)(null),w=()=>{if(!c?.[A]||!e)return;let{isPlaying:t=!1,frameRate:n=24}=c[A],r=Math.max(n,1);return t?u.playClip(e,{framesPerSecond:r,viewportId:A}):u.stopClip(e)},B=(0,n.useCallback)(()=>{if(!e||!l)return;let{viewports:t}=s.getState(),{displaySetInstanceUIDs:n}=t.get(A),r=24,o=c[A]?.isPlaying||!1;n.forEach(e=>{let A=a.getDisplaySetByUID(e);if(A.FrameRate&&(r=Math.round(1e3/A.FrameRate),o||=!!f.autoPlayCine),A.isDynamicVolume){let{dynamicVolumeInfo:e}=A,t=e.timePoints.length,n=e.splittingTag,r=e.dimensionGroupNumber||1;m({volumeId:A.displaySetInstanceUID,dimensionGroupNumber:r,numDimensionGroups:t,label:n})}else m(null)}),o&&u.setIsCineEnabled(o),u.setCine({id:A,isPlaying:o,frameRate:r}),g(r)},[a,A,s,c,l,e]);if((0,n.useEffect)(()=>(h.current=!0,B(),()=>{h.current=!1}),[l,B]),(0,n.useEffect)(()=>{l&&w()},[l,w,e]),(0,n.useEffect)(()=>{if(e)return e.addEventListener(r.Enums.Events.VIEWPORT_NEW_IMAGE_SET,B),e.addEventListener(r.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,B),()=>{u.setCine({id:A,isPlaying:!1}),e.removeEventListener(r.Enums.Events.VIEWPORT_NEW_IMAGE_SET,B),e.removeEventListener(r.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,B)}},[e,B,A]),(0,n.useEffect)(()=>{if(c&&c[A]&&e&&h.current)return w(),()=>{u.stopClip(e,{viewportId:A})}},[c,A,u,e,w]),!l)return null;let y=c[A],v=y?.isPlaying||!1;return n.createElement(x,{viewportId:A,cineService:u,newStackFrameRate:d,isPlaying:v,dynamicInfo:p,customizationService:o})};var L=t(2351),N=t(8842);let V=(0,n.memo)(function({viewportId:e}){let{isHovered:A,isActive:t}=(0,y.uY)(e);return A||t?n.createElement(i.IconPresentationProvider,{size:"medium",IconContainer:i.ToolButton,containerProps:{size:"tiny",className:"font-normal text-primary hover:bg-primary/25"}},n.createElement(i.ViewportActionCorners.Container,null,n.createElement(i.ViewportActionCorners.TopLeft,null,n.createElement(L.Toolbar,{buttonSection:"viewportActionMenu.topLeft",viewportId:e,location:N.ButtonLocation.TopLeft})),n.createElement(i.ViewportActionCorners.TopMiddle,null,n.createElement(L.Toolbar,{buttonSection:"viewportActionMenu.topMiddle",viewportId:e,location:N.ButtonLocation.TopMiddle})),n.createElement(i.ViewportActionCorners.TopRight,null,n.createElement(L.Toolbar,{buttonSection:"viewportActionMenu.topRight",viewportId:e,location:N.ButtonLocation.TopRight})),n.createElement(i.ViewportActionCorners.LeftMiddle,null,n.createElement(L.Toolbar,{buttonSection:"viewportActionMenu.leftMiddle",viewportId:e,location:N.ButtonLocation.LeftMiddle})),n.createElement(i.ViewportActionCorners.RightMiddle,null,n.createElement(L.Toolbar,{buttonSection:"viewportActionMenu.rightMiddle",viewportId:e,location:N.ButtonLocation.RightMiddle})),n.createElement(i.ViewportActionCorners.BottomLeft,null,n.createElement(L.Toolbar,{buttonSection:"viewportActionMenu.bottomLeft",viewportId:e,location:N.ButtonLocation.BottomLeft})),n.createElement(i.ViewportActionCorners.BottomMiddle,null,n.createElement(L.Toolbar,{buttonSection:"viewportActionMenu.bottomMiddle",viewportId:e,location:N.ButtonLocation.BottomMiddle})),n.createElement(i.ViewportActionCorners.BottomRight,null,n.createElement(L.Toolbar,{buttonSection:"viewportActionMenu.bottomRight",viewportId:e,location:N.ButtonLocation.BottomRight})))):null});var R=t(3500),_=t(6360),k=t(619),P=t(2140);let G=(0,n.memo)(({servicesManager:e,viewportId:A})=>{let{displaySetService:t,cineService:r,viewportGridService:o,customizationService:i,cornerstoneViewportService:a}=e.services,[s,l]=(0,n.useState)(A),c=(0,n.useCallback)(()=>{if(r.isViewportCineClosed(s))return;let e=o.getDisplaySetsUIDsForViewport(s);if(!e)return;let A=e.map(e=>t.getDisplaySetByUID(e));if(!A.length)return;let n=A.map(e=>e?.Modality),a=A.some(e=>e?.isDynamicVolume),l=i.getCustomization("autoCineModalities");(n.some(e=>l.includes(e))||a)&&!r.getState().isCineEnabled&&r.setIsCineEnabled(!0)},[s,r,o,t,i]);return(0,n.useEffect)(()=>{let e=o.subscribe(o.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED,({viewportId:e})=>l(e));return()=>e.unsubscribe()},[A,o]),(0,n.useEffect)(()=>{let e=a.subscribe(a.EVENTS.VIEWPORT_DATA_CHANGED,()=>{l(o.getActiveViewportId()),c()});return()=>e.unsubscribe()},[A,a,o,c]),(0,n.useEffect)(()=>{c()},[c]),null},function(e,A){return e.viewportId===A.viewportId&&e.servicesManager===A.servicesManager});G.displayName="ActiveViewportBehavior";let K=new Map,j=n.memo(e=>{let{displaySets:A,dataSource:t,viewportOptions:s,displaySetOptions:l,servicesManager:c,onElementEnabled:u,onElementDisabled:d,isJumpToMeasurementDisabled:g=!1,initialImageIndex:p,isHangingProtocolLayout:m}=e,f=s.viewportId;if(!f)throw Error("Viewport ID is required");for(;l.length<A.length;)l.push({});s.viewportType=A.some(e=>e.isDynamicVolume&&e.isReconstructable)?"volume":s.viewportType;let[h,w]=(0,n.useState)("100px"),[B,y]=(0,n.useState)(null),v=(0,n.useRef)(),C=(0,o.useViewportRef)(f),{displaySetService:E,toolbarService:S,toolGroupService:I,syncGroupService:U,cornerstoneViewportService:b,segmentationService:F,cornerstoneCacheService:Q,customizationService:D,measurementService:O}=c.services,[M]=(0,i.useViewportDialog)(),x=(0,n.useCallback)(()=>{w(`${v.current.clientHeight-10}px`)},[v]),L=(0,n.useCallback)(e=>{if(v.current&&e?.length){let{width:A,height:t}=e[0].contentRect,n=K.get(f)||{width:0,height:0},r=n.width!==A||n.height!==t;A>0&&t>0&&r&&(K.set(f,{width:A,height:t}),b.resize(),x())}},[f,v,b,x]);(0,n.useEffect)(()=>{let e=v.current;if(!e)return;let A=new ResizeObserver(L);return A.observe(e),()=>{A.unobserve(e),A.disconnect()}},[L]);let N=(0,n.useCallback)(e=>{let A=e.getRenderingEngineId(),t=e.getSyncGroups();I.removeViewportFromToolGroup(f,A),U.removeViewportFromSyncGroup(f,A,t),F.clearSegmentationRepresentations(f)},[f,F,U,I]),j=(0,n.useCallback)(e=>{if(e.detail.element!==v.current)return;let{viewportId:A,element:t}=e.detail,n=b.getViewportInfo(A);if(!n)return;(0,a.ye)(A,t),y(t);let r=n.getRenderingEngineId(),o=n.getToolGroupId(),i=n.getSyncGroups();I.addViewportToToolGroup(A,r,o),U.addViewportToSyncGroup(A,r,i);let{synchronizersStore:s}=P.U.getState();s?.[A]?.length&&!m&&function(e,A){let{synchronizersStore:t}=P.U.getState(),n=t[e];n&&n.forEach(t=>{if(!t.id)return;let{id:n,sourceViewports:r,targetViewports:o}=t,i=A.getSynchronizer(n);if(!i)return;let a=r.find(A=>A.viewportId===e),s=o.find(A=>A.viewportId===e),l=i.getSourceViewports().find(A=>A.viewportId===e),c=i.getTargetViewports().find(A=>A.viewportId===e);a&&!l&&i.addSource({viewportId:a.viewportId,renderingEngineId:a.renderingEngineId}),s&&!c&&i.addTarget({viewportId:s.viewportId,renderingEngineId:s.renderingEngineId})})}(A,U),u&&"function"==typeof u&&u(e)},[f,u,I]);(0,n.useEffect)(()=>(b.enableViewport(f,v.current),r.eventTarget.addEventListener(r.Enums.Events.ELEMENT_ENABLED,j),x(),()=>{let e=b.getViewportInfo(f);e&&(b.storePresentation({viewportId:f}),N(e),d&&"function"==typeof d&&d(e),b.disableElement(f),C.unregister(),r.eventTarget.removeEventListener(r.Enums.Events.ELEMENT_ENABLED,j))}),[]),(0,n.useEffect)(()=>{let{unsubscribe:e}=E.subscribe(E.EVENTS.DISPLAY_SET_SERIES_METADATA_INVALIDATED,async({displaySetInstanceUID:e,invalidateData:A})=>{if(!A)return;let n=b.getViewportInfo(f);if(n.hasDisplaySet(e)){let A=n.getViewportData(),r=await Q.invalidateViewportData(A,e,t,E);b.updateViewport(f,r,!0)}});return()=>{e()}},[f]),(0,n.useEffect)(()=>{s.viewportType||(s.viewportType="stack"),(async()=>{let e=await Q.createViewportData(A,s,t,p),n=function(e){let{lutPresentationStore:A}=_.I.getState(),{positionPresentationStore:t}=R.q.getState(),{segmentationPresentationStore:n}=k.v.getState(),{presentationIds:r}=e;if(!r)return{positionPresentation:null,lutPresentation:null,segmentationPresentation:null};let{lutPresentationId:o,positionPresentationId:i,segmentationPresentationId:a}=r,s=t[i];return{positionPresentation:s,lutPresentation:A[o],segmentationPresentation:n[a]}}(s);s.needsRerendering&&(s.needsRerendering=!1),b.setViewportData(f,e,s,l,n)})()},[s,A,t]);let Y=D.getCustomization("ui.notificationComponent");return n.createElement(n.Fragment,null,n.createElement("div",{className:"viewport-wrapper"},n.createElement("div",{className:"cornerstone-viewport-element",style:{height:"100%",width:"100%"},onContextMenu:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),"data-viewportid":f,ref:e=>{v.current=e,e&&C.register(e)}}),n.createElement(T,{viewportId:f,toolBarService:S,element:v.current,scrollbarHeight:h,servicesManager:c}),n.createElement(H,{enabledVPElement:B,viewportId:f,servicesManager:c}),n.createElement(G,{viewportId:f,servicesManager:c})),n.createElement("div",{className:"absolute top-[24px] w-full"},M.viewportId===f&&n.createElement(Y,{id:"viewport-notification",message:M.message,type:M.type,actions:M.actions,onSubmit:M.onSubmit,onOutsideClick:M.onOutsideClick,onKeyPress:M.onKeyPress})),n.createElement(V,{viewportId:f}))},function(e,A){if(A.needsRerendering||e.displaySets.length!==A.displaySets.length||e.viewportOptions.orientation!==A.viewportOptions.orientation||e.viewportOptions.toolGroupId!==A.viewportOptions.toolGroupId||A.viewportOptions.viewportType&&e.viewportOptions.viewportType!==A.viewportOptions.viewportType||A.viewportOptions.needsRerendering)return!1;let t=e.displaySets,n=A.displaySets;if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++){let A=t[e],r=n.find(e=>e.displaySetInstanceUID===A.displaySetInstanceUID);if(!r||r.images?.length!==A.images?.length)return!1;if(r.images?.length){for(let e=0;e<r.images.length;e++)if(r.images[e].imageId!==A.images[e].imageId)return!1}}return!0});j.displayName="OHIFCornerstoneViewport";let Y=j},9227(e,A,t){"use strict";t.d(A,{Ne:()=>a.N,uY:()=>i,eH:()=>s.e,Lt:()=>n.L}),t(9692),t(1303),t(8191);var n=t(7233),r=t(6326),o=t(55);function i(e){let[A,t]=(0,r.useState)(!1),[n]=(0,o.useViewportGrid)(),{activeViewportId:i}=n,a=i===e,s=(0,r.useCallback)(()=>{let A,n=document.querySelector(`[data-viewportid="${e}"]`),r=n?.closest(".viewport-wrapper")||n;if(!r)return null;let o=r.getBoundingClientRect(),i=!1,a=()=>{o=r.getBoundingClientRect()},s=e=>{let A,n,r=(A=e.clientX,n=e.clientY,A>=o.left&&A<=o.right&&n>=o.top&&n<=o.bottom);r!==i&&(i=r,t(r))},l=()=>{clearTimeout(A),A=setTimeout(a,10)};return window.addEventListener("resize",l),document.addEventListener("mousemove",s),a(),()=>{window.removeEventListener("resize",l),document.removeEventListener("mousemove",s),clearTimeout(A)}},[e]);return(0,r.useEffect)(()=>s(),[s]),(0,r.useMemo)(()=>({isHovered:A,isActive:a}),[A,a])}var a=t(8228);t(9433);var s=t(154)},9692(e,A,t){"use strict";t.d(A,{c:()=>o});var n=t(55),r=t(7233);function o(){let[e]=(0,n.useViewportGrid)(),A=e?.activeViewportId;return(0,r.L)({viewportId:A})}},9433(e,A,t){"use strict";t.d(A,{R:()=>a});var n=t(6326),r=t(1459),o=t(8228),i=t(3117);function a({viewportId:e}){let{servicesManager:A}=(0,r.useSystem)(),{cornerstoneViewportService:t,trackedMeasurementsService:s,measurementService:l}=A.services,{backgroundDisplaySet:c}=(0,o.N)(e),[u,d]=(0,n.useState)(!1),[g,p]=(0,n.useState)(!1),[m,f]=(0,n.useState)([]),h=(0,n.useCallback)(()=>{if(!l||!c?.SeriesInstanceUID||!u)return void f([]);let e=c.SeriesInstanceUID;f(l.getMeasurements(A=>A.referenceSeriesUID===e).map(e=>e.uid))},[l,c,u]),w=(0,n.useCallback)(()=>{if(!s||!c?.SeriesInstanceUID)return void d(!1);let A=s.getTrackedSeries();if(!A?.length)return void d(!1);let n=t?.getCornerstoneViewport(e),r=c.SeriesInstanceUID;(0,i.rX)(n)&&!n?.getCurrentImageId()?d(!1):d(A.includes(r))},[e,c,t,s]);return(0,n.useEffect)(()=>{h()},[u,h]),(0,n.useEffect)(()=>{if(!s)return;p(s.isTrackingEnabled()),w();let e=[s.subscribe(s.EVENTS.TRACKING_ENABLED,()=>p(!0)),s.subscribe(s.EVENTS.TRACKING_DISABLED,()=>p(!1)),s.subscribe(s.EVENTS.TRACKED_SERIES_CHANGED,()=>w()),s.subscribe(s.EVENTS.SERIES_ADDED,()=>w()),s.subscribe(s.EVENTS.SERIES_REMOVED,()=>w())];return l&&[l.EVENTS.MEASUREMENT_ADDED,l.EVENTS.RAW_MEASUREMENT_ADDED,l.EVENTS.MEASUREMENT_UPDATED,l.EVENTS.MEASUREMENT_REMOVED,l.EVENTS.MEASUREMENTS_CLEARED].forEach(A=>{e.push(l.subscribe(A,()=>h()))}),()=>{e.forEach(e=>e.unsubscribe())}},[s,l,w,h]),{isTracked:u,isLocked:g,seriesInstanceUID:c?.SeriesInstanceUID,trackedMeasurementUIDs:m}}},1303(e,A,t){"use strict";t.d(A,{d:()=>l});var n=t(6326),r=t(2051),o=t.n(r),i=t(1002),a=t(3545),s=t.n(a);function l({measurementFilter:e}={measurementFilter:()=>!0}){let{servicesManager:A}=(0,i.useSystem)(),{measurementService:t,displaySetService:r}=A.services,[a,c]=(0,n.useState)([]);return(0,n.useEffect)(()=>{let A=()=>{let A=t.getMeasurements(e).map(e=>(function(e,A){let{referenceSeriesUID:t}=e,n=A.getDisplaySetsForSeries(t);if(!n[0]?.instances)throw Error('The tracked measurements panel should only be tracking "stack" displaySets.');let{findingSites:r,finding:o,label:i,displayText:a}=e,l=r?.[0],c=i||o?.text||l?.text||s().t("MeasurementTable:empty"),u={primary:[],secondary:a?.secondary||[]};return a&&u.primary.push(...a.primary),r&&r.forEach(e=>{e?.text&&e.text!==c&&u.primary.push(e.text)}),o&&o.text&&o.text!==c&&u.primary.push(o.text),{...e,displayText:u,label:c}})(e,r));c(e=>JSON.stringify(e)!==JSON.stringify(A)?A:e)},n=o()(A,100);A();let i=[t.EVENTS.MEASUREMENT_ADDED,t.EVENTS.RAW_MEASUREMENT_ADDED,t.EVENTS.MEASUREMENT_UPDATED,t.EVENTS.MEASUREMENT_REMOVED,t.EVENTS.MEASUREMENTS_CLEARED].map(e=>t.subscribe(e,n).unsubscribe);return()=>{i.forEach(e=>e()),n.cancel()}},[t,e,r]),a}},8191(e,A,t){"use strict";t.d(A,{j:()=>s});var n=t(6326),r=t(2051),o=t.n(r),i=t(7141),a=t(1002);function s(e){let{subscribeToDataModified:A=!1,debounceTime:t=0}=e||{},{servicesManager:r}=(0,a.useSystem)(),{segmentationService:s,customizationService:l}=r.services,[c,u]=(0,n.useState)([]);return(0,n.useEffect)(()=>{let e=()=>{let e=s.getSegmentations();e?.length?u(e.map(e=>(function(e,A){let{label:t,segments:n}=e,r=A.getCustomization("panelSegmentation.readableText"),o={};return Object.entries(n).forEach(([e,A])=>{let t;o[e]={...A,displayText:(t={primary:[],secondary:[]},A.cachedStats&&(t.primary=function e(A,t=0){let n=[],o=" ".repeat(t);for(let a in A)if(Object.prototype.hasOwnProperty.call(A,a)){let s=A[a],l=r?.[a];if(!l)continue;"object"!=typeof s||null===s||Array.isArray(s)?n.push(`${o}${l}: ${(0,i.roundNumber)(s,2)}`):(n.length>0&&n.push(""),n.push(`${o}${l}`),n.push(...e(s,t+1)))}return n}(A.cachedStats)),t)}}),{...e,label:t,segments:o}})(e,l))):u([])},n=t>0?o()(e,t,{leading:!0,trailing:!0}):e;e();let r=[s.subscribe(s.EVENTS.SEGMENTATION_MODIFIED,n),s.subscribe(s.EVENTS.SEGMENTATION_REMOVED,n)];return A&&r.push(s.subscribe(s.EVENTS.SEGMENTATION_DATA_MODIFIED,n)),()=>{r.forEach(e=>e.unsubscribe()),t>0&&n.cancel()}},[s,l,t,A]),c}},8228(e,A,t){"use strict";t.d(A,{N:()=>c});var n=t(6326),r=t(1002),o=t(55),i=t(6557);let a=["SEG","RTSTRUCT"],s=(e,A)=>e.isOverlayable===A.isOverlayable?0:e.isOverlayable?-1:1,l=(e,A)=>r.utils.isLowPriorityModality(e.Modality)?1:-1;function c(e,A){let{servicesManager:t}=(0,r.useSystem)(),{displaySetService:c,segmentationService:u}=t.services,[d,g]=(0,o.useViewportGrid)(),p=e||d.activeViewportId,{includeBackground:m=!0,includeForeground:f=!0,includeOverlay:h=!0,includePotentialOverlay:w=!0,includePotentialForeground:B=!0,includePotentialBackground:y=!0}=A||{},v=(0,n.useMemo)(()=>y?c.getActiveDisplaySets():[],[c,y]),[C,E]=(0,n.useState)(h?u.getSegmentationRepresentations(p):[]);(0,n.useEffect)(()=>{E(h?u.getSegmentationRepresentations(p):[]);let e=h?[u.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,u.EVENTS.SEGMENTATION_REPRESENTATION_REMOVED].map(e=>u.subscribe(e,()=>{E(u.getSegmentationRepresentations(p))})):[];return()=>{e.forEach(e=>e.unsubscribe())}},[u,p,h]);let S=(0,n.useMemo)(()=>h?C.map(e=>c.getDisplaySetByUID(e.segmentationId)):[],[h,C,c]),I=(0,n.useMemo)(()=>S.map(e=>e.displaySetInstanceUID),[S]),U=m||f||w||B,{viewportDisplaySets:b=[],enhancedDisplaySets:F=[]}=(0,n.useMemo)(()=>U&&function({viewportId:e,services:A}){let{displaySetService:t,viewportGridService:n}=A,r=n.getDisplaySetsUIDsForViewport(e);if(!r?.length)return{viewportDisplaySets:[],enhancedDisplaySets:[]};let o=t.getActiveDisplaySets().filter(e=>!r.includes(e.displaySetInstanceUID)),s=r.map(e=>t.getDisplaySetByUID(e)),l=i.utilities.isValidVolume(s[0].imageIds||[]),c=s[0];return{viewportDisplaySets:s,enhancedDisplaySets:o.map(e=>{if(!c.isReconstructable||e.unsupported||e.FrameOfReferenceUID&&e.FrameOfReferenceUID!==c.FrameOfReferenceUID)return{...e,isOverlayable:!1};if(!a.includes(e.Modality)){if(!l)return{...e,isOverlayable:!1};let A=e.imageIds||e.images?.map(e=>e.imageId);if(!e.isMultiFrame&&A?.length>0&&!i.utilities.isValidVolume(A))return{...e,isOverlayable:!1}}return{...e,isOverlayable:!0}})}}({viewportId:p,services:{displaySetService:c,viewportGridService:g}})||{viewportDisplaySets:[],enhancedDisplaySets:[]},[p,c,g,U]),Q=(0,n.useMemo)(()=>m&&b.length>0?b[0]:void 0,[m,b]),D=(0,n.useMemo)(()=>f&&Q?b.filter(e=>!a.includes(e.Modality)&&e.displaySetInstanceUID!==Q.displaySetInstanceUID):[],[f,b,Q]),T=(0,n.useMemo)(()=>D.map(e=>e.displaySetInstanceUID),[D]),O=(0,n.useMemo)(()=>w?F.filter(e=>a.includes(e.Modality)&&!I.includes(e.displaySetInstanceUID)&&e.isOverlayable).sort(s):[],[w,F,I]),M=(0,n.useMemo)(()=>B?F.filter(e=>!a.includes(e.Modality)&&!T.includes(e.displaySetInstanceUID)&&e.isOverlayable).sort(l):[],[B,F,T]),x=(0,n.useMemo)(()=>y&&Q?v.filter(e=>!a.includes(e.Modality)&&e.displaySetInstanceUID!==Q.displaySetInstanceUID&&!I.includes(e.displaySetInstanceUID)&&!T.includes(e.displaySetInstanceUID)).sort(l):[],[y,v,Q,I,T]),H={allDisplaySets:v||[],viewportDisplaySets:b||[]};return m&&(H.backgroundDisplaySet=Q),f&&(H.foregroundDisplaySets=D),h&&(H.overlayDisplaySets=S),w&&(H.potentialOverlayDisplaySets=O),B&&(H.potentialForegroundDisplaySets=M),y&&(H.potentialBackgroundDisplaySets=x),H}},154(e,A,t){"use strict";t.d(A,{A:()=>g,e:()=>d});var n=t(6326),r=t(1002),o=t(8228),i=t(6557),a=t(2464),s=t(3117),l=t(8842);let c=e=>Math.pow(e,.2),u=e=>Math.pow(e,5);function d(e,A){let{servicesManager:t,commandsManager:d}=(0,r.useSystem)(),{cornerstoneViewportService:g,colorbarService:m,customizationService:f}=t.services,[h,w]=(0,n.useState)(m.hasColorbar(e)),[B,y]=(0,n.useState)(A?.location?(e=>{switch(e){case l.ButtonLocation.LeftMiddle:return"left";case l.ButtonLocation.RightMiddle:return"right";case l.ButtonLocation.BottomMiddle:return"bottom";case l.ButtonLocation.TopMiddle:return"top";default:return"bottom"}})(A.location):"bottom"),[v,C]=(0,n.useState)(),E=n.useRef(),[S,I]=(0,n.useState)(()=>e?g.getCornerstoneViewport(e)??null:null),[U,b]=(0,n.useState)((0,s.Ov)(S)),[F,Q]=(0,n.useState)(),[D,T]=(0,n.useState)(),[O,M]=(0,n.useState)(),[x,H]=(0,n.useState)({min:0,max:255}),{viewportDisplaySets:L}=(0,o.N)(e),{displaySetService:N}=t.services,V=(0,n.useMemo)(()=>A?.displaySetInstanceUID?A.displaySetInstanceUID:L&&L.length>0?L[0].displaySetInstanceUID:void 0,[A?.displaySetInstanceUID,L]),R=e?g.getViewportInfo(e):null,{presets:_,colorbarProperties:k,volumeRenderingPresets:P,volumeRenderingQualityRange:G}=function(e){let A=e.getCustomization("cornerstone.windowLevelPresets"),t=e.getCustomization("cornerstone.colorbar"),{volumeRenderingPresets:n=[],volumeRenderingQualityRange:r={min:0,max:1,step:.1}}=e.getCustomization("cornerstone.3dVolumeRendering")||{};return{presets:A,colorbarProperties:t,volumeRenderingPresets:n,volumeRenderingQualityRange:r}}(f),K=R?.getViewportOptions().background,j=!!K&&i.utilities.isEqual(K,[1,1,1]),Y=(0,n.useMemo)(()=>L?.filter(e=>_?.[e.Modality]).map(e=>({displaySetInstanceUID:e.displaySetInstanceUID,modality:e.Modality,presets:_[e.Modality]}))||[],[L,_]);(0,n.useEffect)(()=>{if(!e)return void I(null);let A=g.getCornerstoneViewport(e);if(I(A??null),A)return;let{unsubscribe:t}=g.subscribe(g.EVENTS.VIEWPORT_DATA_CHANGED,({viewportId:A})=>{if(A!==e)return;let t=g.getCornerstoneViewport(e);t&&I(t)});return()=>{t()}},[e,g]),(0,n.useEffect)(()=>{if(!V)return;let e=N.getDisplaySetByUID(V);if(!e?.imageIds?.length||!S||!(0,s.rX)(S))return;let A=S.getAllVolumeIds().find(e=>e.includes(V));if(!A)return;let t=S.getImageData(A);if(!t)return;let{voxelManager:n}=t.imageData.get("voxelManager"),r=n.getRange();H({min:r[0],max:r[1]})},[V,N,S]);let W=(0,n.useMemo)(()=>{if(!V||0===Y.length)return[];let e=Y.find(e=>e.displaySetInstanceUID===V);return e?e.presets:[]},[Y,V]);(0,n.useEffect)(()=>{if(b((0,s.Ov)(S)),S&&V)try{let e=(0,a.V)(S,V),A=null!=e?S.getProperties(e):S.getProperties();if(!A)return;if(A.voiRange&&(C(A.voiRange),E.current=A.voiRange),A.colormap?.opacity!==void 0){let e=A.colormap.opacity,t=Array.isArray(e)?e.reduce((e,A)=>Math.max(e,A),0):e;Q(t),T(u(t))}A.colormap?.threshold!==void 0&&M(A.colormap.threshold)}catch(e){console.error("Error initializing VOI range:",e)}},[V,S]),(0,n.useEffect)(()=>{if(!e)return;let A=()=>{w(m.hasColorbar(e))};A();let{unsubscribe:t}=m.subscribe(m.EVENTS.STATE_CHANGED,A);return()=>{t()}},[m,e]),(0,n.useEffect)(()=>{if(!V||!S?.element)return;let e=S.element,A=e=>{let{range:A}=e.detail;!A||E.current&&p(E.current,A)||(E.current=A,C(A))},t=e=>{let{colormap:A}=e.detail;A&&(void 0!==A.threshold&&M(A.threshold),void 0!==A.opacity&&(Q(A.opacity),T(u(A.opacity))))};return e.addEventListener(i.Enums.Events.VOI_MODIFIED,A),e.addEventListener(i.Enums.Events.COLORMAP_MODIFIED,t),()=>{e.removeEventListener(i.Enums.Events.VOI_MODIFIED,A),e.removeEventListener(i.Enums.Events.COLORMAP_MODIFIED,t)}},[V,S,u]);let z=(0,n.useCallback)(()=>{if(!V)throw Error("No active display set instance UID is available");if(L?.length===0)throw Error("No display sets are available for this viewport");if(!L?.some(e=>e.displaySetInstanceUID===V))throw Error(`Display set with UID ${V} is not present in the viewport`);return V},[V,L]),J=(0,n.useCallback)(A=>{if(!e)return;let t=z(),{lower:n,upper:r}=i.utilities.windowLevel.toLowHighRange(A.windowWidth,A.windowCenter),o={lower:n,upper:r};E.current&&p(E.current,o)||(E.current=o,C(o),d.run({commandName:"setViewportWindowLevel",commandOptions:{...A,viewportId:e,displaySetInstanceUID:t},context:"CORNERSTONE"}))},[d,e,z]),X=(0,n.useCallback)(A=>{if(e&&(!E.current||!p(E.current,A))){E.current=A,C(A);let t=i.utilities.windowLevel.toWindowLevel(A.lower,A.upper),n=z();d.run({commandName:"setViewportWindowLevel",commandOptions:{...t,viewportId:e,displaySetInstanceUID:n},context:"CORNERSTONE"})}},[e,d,z]),q=(0,n.useCallback)(A=>{if(!e||L?.length===0||!k)return;let{width:t,colorbarTickPosition:n,colorbarInitialColormap:r}=k,o=n||"top";o="left"===B||"right"===B?"left"===B?"right":"left":"top"===B?"bottom":"top";let i={viewportId:e,colormaps:k.colormaps||{},ticks:{position:o},width:t,position:B,activeColormapName:r||"Grayscale",...A};j&&(i.ticks={position:o,style:{font:"13px Inter",color:"#000000",maxNumTicks:8,tickSize:5,tickWidth:1,labelMargin:3}});let a=L.map(e=>e.displaySetInstanceUID);try{d.run("toggleViewportColorbar",{viewportId:e,options:i,displaySetInstanceUIDs:a})}catch(e){console.error("Error toggling colorbar:",e)}},[d,e,k,j,L,B]),$=(0,n.useCallback)(({colormap:A,opacity:t=1,immediate:n=!1})=>{if(!e)return;let r=z();void 0!==t&&Q(t),d.run({commandName:"setViewportColormap",commandOptions:{viewportId:e,colormap:A,displaySetInstanceUID:r,opacity:t,immediate:n},context:"CORNERSTONE"})},[d,z,S,e]),Z=(0,n.useCallback)(e=>{if(!S||!(0,s.rX)(S))return;Q(e),T(u(e));let A=z(),t=S.getAllVolumeIds().find(e=>e.includes(A));if(!t)return;let n={...S.getProperties(t).colormap||{},opacity:e};S.setProperties({colormap:n},t),S.render()},[z,u,S]),ee=(0,n.useCallback)(e=>{Z(c(e))},[c,Z]),eA=(0,n.useCallback)(e=>{if(!S||!(0,s.rX)(S))return;M(e);let A=z(),t=S.getAllVolumeIds().find(e=>e.includes(A));t&&(console.debug("🚀 ~ thresholdValue:",e),S.setProperties({colormap:{threshold:e}},t),S.render())},[z,S]),et=(0,n.useMemo)(()=>{if(!V||!L?.length)return null;try{if(!S)return null;if((0,s.TF)(S)){let{colormap:e}=S.getProperties();if(!e)return k?.colormaps?.find(e=>"Grayscale"===e.Name)||k?.colormaps?.[0];return e}let e=S.getActors(),A=e?.find(e=>e.referencedId?.includes(V));if(!A)return k?.colormaps?.find(e=>"Grayscale"===e.Name)||k?.colormaps?.[0];let{colormap:t}=S.getProperties(A.referencedId);if(!t)return k?.colormaps?.find(e=>"Grayscale"===e.Name)||k?.colormaps?.[0];return t}catch(e){return console.error("Error getting viewport colormap:",e),k?.colormaps?.find(e=>"Grayscale"===e.Name)||k?.colormaps?.[0]}},[V,L,k?.colormaps,S]),en=(0,n.useCallback)(A=>{if(!e)return;let t=z();d.run({commandName:"setVolumesPreset",commandOptions:{preset:A,viewportId:e,displaySetInstanceUID:t}})},[d,e,z]),er=(0,n.useCallback)(A=>{e&&d.run({commandName:"setVolumeRenderingQuality",commandOptions:{quality:A,viewportId:e}})},[d,e]),eo=(0,n.useCallback)(({ambient:A,diffuse:t,specular:n})=>{e&&d.run({commandName:"setVolumeLighting",commandOptions:{ambient:A,diffuse:t,specular:n,viewportId:e}})},[d,e]),ei=(0,n.useCallback)(A=>{e&&d.run({commandName:"setVolumeShading",commandOptions:{enabled:A,viewportId:e}})},[d,e]);return{is3DVolume:U,isViewportBackgroundLight:j,setWindowLevel:J,setVOIRange:X,voiRange:v,windowLevel:v?i.utilities.windowLevel.toWindowLevel(v?.lower,v?.upper):{windowCenter:null,windowWidth:null},hasColorbar:h,toggleColorbar:q,setColormap:$,colormap:et,opacity:F,setOpacity:Z,opacityLinear:D,setOpacityLinear:ee,threshold:O,setThreshold:eA,pixelValueRange:x,setVolumeRenderingPreset:en,setVolumeRenderingQuality:er,setVolumeLighting:eo,setVolumeShading:ei,viewportDisplaySets:L,colorbarProperties:k,colorbarPosition:B,setColorbarPosition:y,windowLevelPresets:W,allWindowLevelPresets:Y,volumeRenderingPresets:P,volumeRenderingQualityRange:G}}let g=d;function p(e,A,t=.001){return!!e&&!!A&&Math.abs(e.lower-A.lower)<t&&Math.abs(e.upper-A.upper)<t}},7233(e,A,t){"use strict";t.d(A,{L:()=>l});var n=t(6326),r=t(2051),o=t.n(r),i=t(7141),a=t(1002);let s=["SM","OT","DOC","ECG"];function l({viewportId:e,subscribeToDataModified:A=!1,debounceTime:t=0}){let{servicesManager:r}=(0,a.useSystem)(),{segmentationService:c,viewportGridService:u,customizationService:d,displaySetService:g}=r.services,[p,m]=(0,n.useState)({segmentationsWithRepresentations:[],disabled:!1});return(0,n.useEffect)(()=>{let n=()=>{let A=u.getDisplaySetsUIDsForViewport(e);if(!A?.length)return;let t=g.getDisplaySetByUID(A[0]);if(!t)return;if(s.includes(t.Modality))return void m(e=>({segmentationsWithRepresentations:[],disabled:!0}));let n=c.getSegmentations();if(!n?.length)return void m(e=>({segmentationsWithRepresentations:[],disabled:!1}));let r=c.getSegmentationRepresentations(e),o=new Map;r.forEach(e=>{o.has(e.segmentationId)||o.set(e.segmentationId,e)}),m({segmentationsWithRepresentations:Array.from(o.values()).map(e=>{let A=function(e,A){let{label:t,segments:n,fallbackLabel:r}=e,o=A.getCustomization("panelSegmentation.readableText"),a={};return Object.entries(n).forEach(([e,A])=>{let t;a[e]={...A,displayText:(t={primary:[],secondary:[]},A.cachedStats&&(t.primary=function e(A,t=0){let n=[],r=" ".repeat(t);for(let a in A)if(Object.prototype.hasOwnProperty.call(A,a)){let s=A[a],l=o?.[a];if(!l)continue;"object"!=typeof s||null===s||Array.isArray(s)?n.push(`${r}${l}: ${(0,i.roundNumber)(s,2)}`):(n.length>0&&n.push(""),n.push(`${r}${l}`),n.push(...e(s,t+1)))}return n}(A.cachedStats)),t)}}),{...e,label:t,fallbackLabel:r,segments:a}}(c.getSegmentation(e.segmentationId),d);return{representation:e,segmentation:A}}),disabled:!1})},r=t>0?o()(n,t,{leading:!0,trailing:!0}):n;n();let a=[c.subscribe(c.EVENTS.SEGMENTATION_MODIFIED,r),c.subscribe(c.EVENTS.SEGMENTATION_REMOVED,r),c.subscribe(c.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,r),u.subscribe(u.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED,r),u.subscribe(u.EVENTS.GRID_STATE_CHANGED,r)];return A&&a.push(c.subscribe(c.EVENTS.SEGMENTATION_DATA_MODIFIED,r)),()=>{a.forEach(e=>e.unsubscribe()),t>0&&r.cancel()}},[c,u,d,g,t,A,e]),p}},6499(e,A,t){"use strict";t.d(A,{cL:()=>i,kJ:()=>o,ye:()=>r});let n={DEFAULT_CONTEXT:"CORNERSTONE",enabledElements:{}},r=(e,A,t)=>{let r=t||n.DEFAULT_CONTEXT;n.enabledElements[e]={element:A,context:r}},o=e=>n.enabledElements[e],i=()=>{n.enabledElements={}}},8144(e,A,t){"use strict";t.d(A,{H:()=>r,g:()=>n});let n="default",r=(e,A,t,n)=>{if(e.push(0),!n)for(let n=0;n<128;n++){e[e.length-1]=n;let r=e.join("&");if(!Array.from(t.values()).find(e=>e.viewportOptions?.presentationIds?.[A]===r))break}}},6360(e,A,t){"use strict";t.d(A,{I:()=>a});var n=t(6739),r=(t(1978),t(8144));let o="lutPresentationId",i=(e,{viewport:A,viewports:t,isUpdatingSameViewport:n})=>{if(e!==o||!A||!A.viewportOptions||!A.displaySetInstanceUIDs?.length)return;let{displaySetOptions:i,displaySetInstanceUIDs:a}=A,s=[(e=>{if(!e||!e.options)return r.g;if(e.options.id)return e.options.id;let A=Object.entries(e.options).map(([e,A])=>`${e}=${A}`);return A.length?A.join("&"):r.g})(i[0])];for(let e of a)s.push(e);return(0,r.H)(s,o,t,n),s.join("&")},a=(0,n.vt)()(e=>({type:o,lutPresentationStore:{},setLutPresentation:(A,t)=>e(e=>({lutPresentationStore:{...e.lutPresentationStore,[A]:t}}),!1,"setLutPresentation"),clearLutPresentationStore:()=>e({lutPresentationStore:{}},!1,"clearLutPresentationStore"),getPresentationId:i}))},3500(e,A,t){"use strict";t.d(A,{q:()=>s});var n=t(6739),r=(t(1978),t(8144));let o="positionPresentationId",i=(e,{viewport:A,viewports:t,isUpdatingSameViewport:n})=>{if(e===o&&A?.viewportOptions&&A.displaySetInstanceUIDs?.length)return a(A,t,n)};function a(e,A,t){let{viewportOptions:n={},displaySetInstanceUIDs:i=[],displaySetOptions:a=[]}=e,{id:s,orientation:l}=n,c=[l||"acquisition"];for(let e of(s&&c.push(s),a?.some(e=>e.options?.blendMode||e.options?.displayPreset)&&c.push("custom"),i))c.push(e);return A&&A.length&&void 0!==t?(0,r.H)(c,o,A,t):c.push(0),c.join("&")}let s=(0,n.vt)()(e=>({type:o,positionPresentationStore:{},setPositionPresentation:(A,t)=>e(e=>({positionPresentationStore:{...e.positionPresentationStore,[A]:t}}),!1,"setPositionPresentation"),clearPositionPresentationStore:()=>e({positionPresentationStore:{}},!1,"clearPositionPresentationStore"),getPresentationId:i,getPositionPresentationId:a}))},619(e,A,t){"use strict";t.d(A,{v:()=>l});var n=t(6739),r=(t(1978),t(6557));let{MPR_CAMERA_VALUES:o}=r.CONSTANTS,i="segmentationPresentationId",a=(e,{viewport:A,viewports:t,isUpdatingSameViewport:n,servicesManager:r})=>{if(e===i)return s({viewport:A,servicesManager:r})},s=({viewport:e,servicesManager:A})=>{if(!e?.viewportOptions||!e.displaySetInstanceUIDs?.length)return;let{displaySetService:t}=A.services,{displaySetInstanceUIDs:n,viewportOptions:i}=e,a=n.filter(e=>{let A=t.getDisplaySetByUID(e);return A&&!A.isOverlayDisplaySet});if(!a.length)return;let s=i.orientation;if(!s){let e=t.getDisplaySetByUID(a[0]),A=e?.images?.[0];s=(e=>{if(!e||6!==e.length)return;let A=e.slice(0,3),t=e.slice(3,6),n=[-t[0],-t[1],-t[2]];return r.utilities.isEqual(A,o.axial.viewRight)&&r.utilities.isEqual(n,o.axial.viewUp)?"axial":r.utilities.isEqual(A,o.sagittal.viewRight)&&r.utilities.isEqual(n,o.sagittal.viewUp)?"sagittal":r.utilities.isEqual(A,o.coronal.viewRight)&&r.utilities.isEqual(n,o.coronal.viewUp)?"coronal":void 0})(A?.ImageOrientationPatient)}let l=[];return l.push(...a),l.join("&")},l=(0,n.vt)()(e=>({type:i,segmentationPresentationStore:{},clearSegmentationPresentationStore:()=>e({segmentationPresentationStore:{}},!1,"clearSegmentationPresentationStore"),addSegmentationPresentationItem:(A,t)=>e(e=>({segmentationPresentationStore:{...e.segmentationPresentationStore,[A]:[...e.segmentationPresentationStore[A]||[],t]}}),!1,"addSegmentationPresentationItem"),setSegmentationPresentation:(A,t)=>e(e=>({segmentationPresentationStore:{...e.segmentationPresentationStore,[A]:t}}),!1,"setSegmentationPresentation"),getPresentationId:a,getSegmentationPresentationId:s}))},2140(e,A,t){"use strict";t.d(A,{U:()=>r});var n=t(6739);t(1978);let r=(0,n.vt)()(e=>({synchronizersStore:{},type:"synchronizersStoreId",setSynchronizers:(A,t)=>{e(e=>({synchronizersStore:{...e.synchronizersStore,[A]:t}}),!1,"setSynchronizers")},clearSynchronizersStore:()=>{e({synchronizersStore:{}},!1,"clearSynchronizersStore")}}))},2464(e,A,t){"use strict";function n(e,A){if("function"!=typeof e.getAllVolumeIds)return;let t=e.getAllVolumeIds()||[];return t.length>0?t.find(e=>e.includes(A))??void 0:void 0}t.d(A,{V:()=>n})},3117(e,A,t){"use strict";t.d(A,{Gj:()=>r,Ov:()=>a,TF:()=>o,rX:()=>s,tO:()=>i});let{ViewportType:n}=t(6557).Enums;function r(e){return e?.requestedType??e?.type}function o(e){return r(e)===n.STACK}function i(e){return r(e)===n.ORTHOGRAPHIC}function a(e){return r(e)===n.VOLUME_3D}function s(e){let A=r(e);return A===n.ORTHOGRAPHIC||A===n.VOLUME_3D}},1752(e,A){"use strict";function t(e){return"object"!=typeof e||"toString"in e?e:Object.prototype.toString.call(e).slice(8,-1)}Object.defineProperty(A,"__esModule",{value:!0});var n="object"==typeof process;function r(e,A){if(!e){if(n)throw Error("Invariant failed");throw Error(A())}}A.invariant=r;var o=Object.prototype.hasOwnProperty,i=Array.prototype.splice,a=Object.prototype.toString;function s(e){return a.call(e).slice(8,-1)}var l=Object.assign||function(e,A){return c(A).forEach(function(t){o.call(A,t)&&(e[t]=A[t])}),e},c="function"==typeof Object.getOwnPropertySymbols?function(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.keys(e)};function u(e){return Array.isArray(e)?l(e.constructor(e.length),e):"Map"===s(e)?new Map(e):"Set"===s(e)?new Set(e):e&&"object"==typeof e?l(Object.create(Object.getPrototypeOf(e)),e):e}var d=function(){function e(){this.commands=l({},g),this.update=this.update.bind(this),this.update.extend=this.extend=this.extend.bind(this),this.update.isEquals=function(e,A){return e===A},this.update.newContext=function(){return new e().update}}return Object.defineProperty(e.prototype,"isEquals",{get:function(){return this.update.isEquals},set:function(e){this.update.isEquals=e},enumerable:!0,configurable:!0}),e.prototype.extend=function(e,A){this.commands[e]=A},e.prototype.update=function(e,A){var t=this,n="function"==typeof A?{$apply:A}:A;Array.isArray(e)&&Array.isArray(n)||r(!Array.isArray(n),function(){return"update(): You provided an invalid spec to update(). The spec may not contain an array except as the value of $set, $push, $unshift, $splice or any custom command allowing an array value."}),r("object"==typeof n&&null!==n,function(){return"update(): You provided an invalid spec to update(). The spec and every included key path must be plain objects containing one of the following commands: "+Object.keys(t.commands).join(", ")+"."});var i=e;return c(n).forEach(function(A){if(o.call(t.commands,A)){var r=e===i;i=t.commands[A](n[A],i,n,e),r&&t.isEquals(i,e)&&(i=e)}else{var a="Map"===s(e)?t.update(e.get(A),n[A]):t.update(e[A],n[A]),l="Map"===s(i)?i.get(A):i[A];t.isEquals(a,l)&&(void 0!==a||o.call(e,A))||(i===e&&(i=u(e)),"Map"===s(i)?i.set(A,a):i[A]=a)}}),i},e}();A.Context=d;var g={$push:function(e,A,t){return m(A,t,"$push"),e.length?A.concat(e):A},$unshift:function(e,A,t){return m(A,t,"$unshift"),e.length?e.concat(A):A},$splice:function(e,A,n,o){var a,s;return a=A,s=n,r(Array.isArray(a),function(){return"Expected $splice target to be an array; got "+t(a)}),h(s.$splice),e.forEach(function(e){h(e),A===o&&e.length&&(A=u(o)),i.apply(A,e)}),A},$set:function(e,A,t){return r(1===Object.keys(t).length,function(){return"Cannot have more than one key in an object with $set"}),e},$toggle:function(e,A){f(e,"$toggle");var t=e.length?u(A):A;return e.forEach(function(e){t[e]=!A[e]}),t},$unset:function(e,A,t,n){return f(e,"$unset"),e.forEach(function(e){Object.hasOwnProperty.call(A,e)&&(A===n&&(A=u(n)),delete A[e])}),A},$add:function(e,A,t,n){return w(A,"$add"),f(e,"$add"),"Map"===s(A)?e.forEach(function(e){var t=e[0],r=e[1];A===n&&A.get(t)!==r&&(A=u(n)),A.set(t,r)}):e.forEach(function(e){A!==n||A.has(e)||(A=u(n)),A.add(e)}),A},$remove:function(e,A,t,n){return w(A,"$remove"),f(e,"$remove"),e.forEach(function(e){A===n&&A.has(e)&&(A=u(n)),A.delete(e)}),A},$merge:function(e,A,n,o){var i,a;return i=A,r((a=e)&&"object"==typeof a,function(){return"update(): $merge expects a spec of type 'object'; got "+t(a)}),r(i&&"object"==typeof i,function(){return"update(): $merge expects a target of type 'object'; got "+t(i)}),c(e).forEach(function(t){e[t]!==A[t]&&(A===o&&(A=u(o)),A[t]=e[t])}),A},$apply:function(e,A){var n;return r("function"==typeof(n=e),function(){return"update(): expected spec of $apply to be a function; got "+t(n)+"."}),e(A)}},p=new d;function m(e,A,n){r(Array.isArray(e),function(){return"update(): expected target of "+t(n)+" to be an array; got "+t(e)+"."}),f(A[n],n)}function f(e,A){r(Array.isArray(e),function(){return"update(): expected spec of "+t(A)+" to be an array; got "+t(e)+". Did you forget to wrap your parameter in an array?"})}function h(e){r(Array.isArray(e),function(){return"update(): expected spec of $splice to be an array of arrays; got "+t(e)+". Did you forget to wrap your parameters in an array?"})}function w(e,A){var n=s(e);r("Map"===n||"Set"===n,function(){return"update(): "+t(A)+" expects a target of type Set or Map; got "+t(n)})}A.isEquals=p.update.isEquals,A.extend=p.extend,A.default=p.update,A.default.default=e.exports=l(A.default,A)},3359(e,A,t){e=t.nmd(e);var n,r="__lodash_hash_undefined__",o="[object Arguments]",i="[object Boolean]",a="[object Date]",s="[object Function]",l="[object GeneratorFunction]",c="[object Map]",u="[object Number]",d="[object Object]",g="[object Promise]",p="[object RegExp]",m="[object Set]",f="[object String]",h="[object Symbol]",w="[object WeakMap]",B="[object ArrayBuffer]",y="[object DataView]",v="[object Float32Array]",C="[object Float64Array]",E="[object Int8Array]",S="[object Int16Array]",I="[object Int32Array]",U="[object Uint8Array]",b="[object Uint8ClampedArray]",F="[object Uint16Array]",Q="[object Uint32Array]",D=/\w*$/,T=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,M={};M[o]=M["[object Array]"]=M[B]=M[y]=M[i]=M[a]=M[v]=M[C]=M[E]=M[S]=M[I]=M[c]=M[u]=M[d]=M[p]=M[m]=M[f]=M[h]=M[U]=M[b]=M[F]=M[Q]=!0,M["[object Error]"]=M[s]=M[w]=!1;var x="object"==typeof t.g&&t.g&&t.g.Object===Object&&t.g,H="object"==typeof self&&self&&self.Object===Object&&self,L=x||H||Function("return this")(),N=A&&!A.nodeType&&A,V=N&&e&&!e.nodeType&&e,R=V&&V.exports===N;function _(e,A){return e.set(A[0],A[1]),e}function k(e,A){return e.add(A),e}function P(e,A,t,n){var r=-1,o=e?e.length:0;for(n&&o&&(t=e[++r]);++r<o;)t=A(t,e[r],r,e);return t}function G(e){var A=!1;if(null!=e&&"function"!=typeof e.toString)try{A=!!(e+"")}catch(e){}return A}function K(e){var A=-1,t=Array(e.size);return e.forEach(function(e,n){t[++A]=[n,e]}),t}function j(e,A){return function(t){return e(A(t))}}function Y(e){var A=-1,t=Array(e.size);return e.forEach(function(e){t[++A]=e}),t}var W=Array.prototype,z=Function.prototype,J=Object.prototype,X=L["__core-js_shared__"],q=(n=/[^.]+$/.exec(X&&X.keys&&X.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",$=z.toString,Z=J.hasOwnProperty,ee=J.toString,eA=RegExp("^"+$.call(Z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),et=R?L.Buffer:void 0,en=L.Symbol,er=L.Uint8Array,eo=j(Object.getPrototypeOf,Object),ei=Object.create,ea=J.propertyIsEnumerable,es=W.splice,el=Object.getOwnPropertySymbols,ec=et?et.isBuffer:void 0,eu=j(Object.keys,Object),ed=ex(L,"DataView"),eg=ex(L,"Map"),ep=ex(L,"Promise"),em=ex(L,"Set"),ef=ex(L,"WeakMap"),eh=ex(Object,"create"),ew=eV(ed),eB=eV(eg),ey=eV(ep),ev=eV(em),eC=eV(ef),eE=en?en.prototype:void 0,eS=eE?eE.valueOf:void 0;function eI(e){var A=-1,t=e?e.length:0;for(this.clear();++A<t;){var n=e[A];this.set(n[0],n[1])}}function eU(e){var A=-1,t=e?e.length:0;for(this.clear();++A<t;){var n=e[A];this.set(n[0],n[1])}}function eb(e){var A=-1,t=e?e.length:0;for(this.clear();++A<t;){var n=e[A];this.set(n[0],n[1])}}function eF(e){this.__data__=new eU(e)}function eQ(e,A,t){var n=e[A];Z.call(e,A)&&eR(n,t)&&(void 0!==t||A in e)||(e[A]=t)}function eD(e,A){for(var t=e.length;t--;)if(eR(e[t][0],A))return t;return -1}function eT(e){var A=new e.constructor(e.byteLength);return new er(A).set(new er(e)),A}function eO(e,A,t,n){t||(t={});for(var r=-1,o=A.length;++r<o;){var i=A[r],a=n?n(t[i],e[i],i,t,e):void 0;eQ(t,i,void 0===a?e[i]:a)}return t}function eM(e,A){var t,n,r=e.__data__;return("string"==(n=typeof(t=A))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==t:null===t)?r["string"==typeof A?"string":"hash"]:r.map}function ex(e,A){var t,n=null==e?void 0:e[A];return!(!eK(n)||(t=n,q&&q in t))&&(eG(n)||G(n)?eA:T).test(eV(n))?n:void 0}eI.prototype.clear=function(){this.__data__=eh?eh(null):{}},eI.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},eI.prototype.get=function(e){var A=this.__data__;if(eh){var t=A[e];return t===r?void 0:t}return Z.call(A,e)?A[e]:void 0},eI.prototype.has=function(e){var A=this.__data__;return eh?void 0!==A[e]:Z.call(A,e)},eI.prototype.set=function(e,A){return this.__data__[e]=eh&&void 0===A?r:A,this},eU.prototype.clear=function(){this.__data__=[]},eU.prototype.delete=function(e){var A=this.__data__,t=eD(A,e);return!(t<0)&&(t==A.length-1?A.pop():es.call(A,t,1),!0)},eU.prototype.get=function(e){var A=this.__data__,t=eD(A,e);return t<0?void 0:A[t][1]},eU.prototype.has=function(e){return eD(this.__data__,e)>-1},eU.prototype.set=function(e,A){var t=this.__data__,n=eD(t,e);return n<0?t.push([e,A]):t[n][1]=A,this},eb.prototype.clear=function(){this.__data__={hash:new eI,map:new(eg||eU),string:new eI}},eb.prototype.delete=function(e){return eM(this,e).delete(e)},eb.prototype.get=function(e){return eM(this,e).get(e)},eb.prototype.has=function(e){return eM(this,e).has(e)},eb.prototype.set=function(e,A){return eM(this,e).set(e,A),this},eF.prototype.clear=function(){this.__data__=new eU},eF.prototype.delete=function(e){return this.__data__.delete(e)},eF.prototype.get=function(e){return this.__data__.get(e)},eF.prototype.has=function(e){return this.__data__.has(e)},eF.prototype.set=function(e,A){var t=this.__data__;if(t instanceof eU){var n=t.__data__;if(!eg||n.length<199)return n.push([e,A]),this;t=this.__data__=new eb(n)}return t.set(e,A),this};var eH=el?j(el,Object):function(){return[]},eL=function(e){return ee.call(e)};function eN(e){var A=e&&e.constructor;return e===("function"==typeof A&&A.prototype||J)}function eV(e){if(null!=e){try{return $.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function eR(e,A){return e===A||e!=e&&A!=A}(ed&&eL(new ed(new ArrayBuffer(1)))!=y||eg&&eL(new eg)!=c||ep&&eL(ep.resolve())!=g||em&&eL(new em)!=m||ef&&eL(new ef)!=w)&&(eL=function(e){var A=ee.call(e),t=A==d?e.constructor:void 0,n=t?eV(t):void 0;if(n)switch(n){case ew:return y;case eB:return c;case ey:return g;case ev:return m;case eC:return w}return A});var e_=Array.isArray;function ek(e){var A;return null!=e&&"number"==typeof(A=e.length)&&A>-1&&A%1==0&&A<=0x1fffffffffffff&&!eG(e)}var eP=ec||function(){return!1};function eG(e){var A=eK(e)?ee.call(e):"";return A==s||A==l}function eK(e){var A=typeof e;return!!e&&("object"==A||"function"==A)}function ej(e){return ek(e)?function(e){var A,t,n,r,i,a=e_(e)||(n=t=A=e)&&"object"==typeof n&&ek(t)&&Z.call(A,"callee")&&(!ea.call(A,"callee")||ee.call(A)==o)?function(e,A){for(var t=-1,n=Array(e);++t<e;)n[t]=A(t);return n}(e.length,String):[],s=a.length,l=!!s;for(var c in e){Z.call(e,c)&&!(l&&("length"==c||(r=c,(i=null==(i=s)?0x1fffffffffffff:i)&&("number"==typeof r||O.test(r))&&r>-1&&r%1==0&&r<i)))&&a.push(c)}return a}(e):function(e){if(!eN(e))return eu(e);var A=[];for(var t in Object(e))Z.call(e,t)&&"constructor"!=t&&A.push(t);return A}(e)}e.exports=function(e){return function e(A,t,n,r,g,w,T){if(r&&(O=w?r(A,g,w,T):r(A)),void 0!==O)return O;if(!eK(A))return A;var O,x=e_(A);if(x){if(L=(H=A).length,N=H.constructor(L),L&&"string"==typeof H[0]&&Z.call(H,"index")&&(N.index=H.index,N.input=H.input),O=N,!t){var H,L,N,V=A,R=O,j=-1,W=V.length;for(R||(R=Array(W));++j<W;)R[j]=V[j];return R}}else{var z,J,X,q,$,ee=eL(A),eA=ee==s||ee==l;if(eP(A)){var et=A,en=t;if(en)return et.slice();var er=new et.constructor(et.length);return et.copy(er),er}if(ee==d||ee==o||eA&&!w){if(G(A))return w?A:{};if(O="function"!=typeof(z=eA?{}:A).constructor||eN(z)?{}:eK(J=eo(z))?ei(J):{},!t){return X=A,q=($=O)&&eO(A,ej(A),$),eO(X,eH(X),q)}}else{if(!M[ee])return w?A:{};O=function(e,A,t,n){var r,o,s,l=e.constructor;switch(A){case B:return eT(e);case i:case a:return new l(+e);case y:return r=n?eT(e.buffer):e.buffer,new e.constructor(r,e.byteOffset,e.byteLength);case v:case C:case E:case S:case I:case U:case b:case F:case Q:return o=n?eT(e.buffer):e.buffer,new e.constructor(o,e.byteOffset,e.length);case c:return P(n?t(K(e),!0):K(e),_,new e.constructor);case u:case f:return new l(e);case p:return(s=new e.constructor(e.source,D.exec(e))).lastIndex=e.lastIndex,s;case m:return P(n?t(Y(e),!0):Y(e),k,new e.constructor);case h:return eS?Object(eS.call(e)):{}}}(A,ee,e,t)}}T||(T=new eF);var ea=T.get(A);if(ea)return ea;if(T.set(A,O),!x)var es=n?function(e){var A;return A=ej(e),e_(e)?A:function(e,A){for(var t=-1,n=A.length,r=e.length;++t<n;)e[r+t]=A[t];return e}(A,eH(e))}(A):ej(A);return!function(e,A){for(var t=-1,n=e?e.length:0;++t<n&&!1!==A(e[t],t,e););}(es||A,function(o,i){es&&(o=A[i=o]),eQ(O,i,e(o,t,n,r,i,A,T))}),O}(e,!0,!0)}},5257(e){e.exports=function(e){for(var A=-1,t=e?e.length:0,n=0,r=[];++A<t;){var o=e[A];o&&(r[n++]=o)}return r}},2051(e,A,t){var n=0/0,r=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,a=/^0o[0-7]+$/i,s=parseInt,l="object"==typeof t.g&&t.g&&t.g.Object===Object&&t.g,c="object"==typeof self&&self&&self.Object===Object&&self,u=l||c||Function("return this")(),d=Object.prototype.toString,g=Math.max,p=Math.min,m=function(){return u.Date.now()};function f(e){var A=typeof e;return!!e&&("object"==A||"function"==A)}function h(e){if("number"==typeof e)return e;if("symbol"==typeof(A=e)||A&&"object"==typeof A&&"[object Symbol]"==d.call(A))return n;if(f(e)){var A,t="function"==typeof e.valueOf?e.valueOf():e;e=f(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var l=i.test(e);return l||a.test(e)?s(e.slice(2),l?2:8):o.test(e)?n:+e}e.exports=function(e,A,t){var n,r,o,i,a,s,l=0,c=!1,u=!1,d=!0;if("function"!=typeof e)throw TypeError("Expected a function");function w(A){var t=n,o=r;return n=r=void 0,l=A,i=e.apply(o,t)}function B(e){var t=e-s,n=e-l;return void 0===s||t>=A||t<0||u&&n>=o}function y(){var e,t,n,r=m();if(B(r))return v(r);a=setTimeout(y,(e=r-s,t=r-l,n=A-e,u?p(n,o-t):n))}function v(e){return(a=void 0,d&&n)?w(e):(n=r=void 0,i)}function C(){var e,t=m(),o=B(t);if(n=arguments,r=this,s=t,o){if(void 0===a)return l=e=s,a=setTimeout(y,A),c?w(e):i;if(u)return a=setTimeout(y,A),w(s)}return void 0===a&&(a=setTimeout(y,A)),i}return A=h(A)||0,f(t)&&(c=!!t.leading,o=(u="maxWait"in t)?g(h(t.maxWait)||0,A):o,d="trailing"in t?!!t.trailing:d),C.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=s=r=a=void 0},C.flush=function(){return void 0===a?i:v(m())},C}},6446(e,A,t){var n="object"==typeof t.g&&t.g&&t.g.Object===Object&&t.g,r="object"==typeof self&&self&&self.Object===Object&&self,o=n||r||Function("return this")(),i=Object.prototype,a=i.hasOwnProperty,s=i.toString,l=o.Symbol,c=i.propertyIsEnumerable,u=l?l.isConcatSpreadable:void 0;function d(e){var A,t,n,r,o,i,l,d,p;return g(e)||!!(r=t=A=e)&&"object"==typeof r&&null!=(n=t)&&"number"==typeof(o=n.length)&&o>-1&&o%1==0&&o<=0x1fffffffffffff&&"[object Function]"!=(d=typeof(l=i=n),p=l&&("object"==d||"function"==d)?s.call(i):"")&&"[object GeneratorFunction]"!=p&&a.call(A,"callee")&&(!c.call(A,"callee")||"[object Arguments]"==s.call(A))||!!(u&&e&&e[u])}var g=Array.isArray;e.exports=function(e){return(e?e.length:0)?function e(A,t,n,r,o){var i=-1,a=A.length;for(n||(n=d),o||(o=[]);++i<a;){var s=A[i];t>0&&n(s)?t>1?e(s,t-1,n,r,o):function(e,A){for(var t=-1,n=A.length,r=e.length;++t<n;)e[r+t]=A[t]}(o,s):r||(o[o.length]=s)}return o}(e,1):[]}},9863(e){var A,t,n=Object.prototype.toString,r=Math.max;e.exports=(A=function(e){if(!(e&&e.length))return[];var A=0;e=function(e,A){for(var t=-1,n=e?e.length:0,r=0,o=[];++t<n;){var i=e[t];A(i,t,e)&&(o[r++]=i)}return o}(e,function(e){var t,o,i,a,s,l,c,u;if((i=t=e)&&"object"==typeof i&&null!=(o=t)&&"number"==typeof(a=o.length)&&a>-1&&a%1==0&&a<=0x1fffffffffffff&&"[object Function]"!=(c=typeof(l=s=o),u=l&&("object"==c||"function"==c)?n.call(s):"")&&"[object GeneratorFunction]"!=u)return A=r(e.length,A),!0});for(var t=A,o=-1,i=Array(t);++o<t;)i[o]=function(A){return function(e,A){for(var t=-1,n=e?e.length:0,r=Array(n);++t<n;)r[t]=A(e[t],t,e);return r}(e,function(e){return null==e?void 0:e[A]})}(o);return i},t=r(void 0===t?A.length-1:t,0),function(){for(var e=arguments,n=-1,o=r(e.length-t,0),i=Array(o);++n<o;)i[n]=e[t+n];n=-1;for(var a=Array(t+1);++n<t;)a[n]=e[n];a[t]=i;switch(a.length){case 0:return A.call(this);case 1:return A.call(this,a[0]);case 2:return A.call(this,a[0],a[1]);case 3:return A.call(this,a[0],a[1],a[2])}return A.apply(this,a)})},4867(e,A,t){e=t.nmd(e),e.exports=function(){"use strict";function A(){return k.apply(null,arguments)}function n(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function r(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function o(e,A){return Object.prototype.hasOwnProperty.call(e,A)}function i(e){var A;if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(A in e)if(o(e,A))return!1;return!0}function a(e){return void 0===e}function s(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function c(e,A){var t,n=[],r=e.length;for(t=0;t<r;++t)n.push(A(e[t],t));return n}function u(e,A){for(var t in A)o(A,t)&&(e[t]=A[t]);return o(A,"toString")&&(e.toString=A.toString),o(A,"valueOf")&&(e.valueOf=A.valueOf),e}function d(e,A,t,n){return Ao(e,A,t,n,!0).utc()}function g(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function p(e){var A=null,t=!1,n=e._d&&!isNaN(e._d.getTime());return(n&&(A=g(e),t=P.call(A.parsedDateParts,function(e){return null!=e}),n=A.overflow<0&&!A.empty&&!A.invalidEra&&!A.invalidMonth&&!A.invalidWeekday&&!A.weekdayMismatch&&!A.nullInput&&!A.invalidFormat&&!A.userInvalidated&&(!A.meridiem||A.meridiem&&t),e._strict&&(n=n&&0===A.charsLeftOver&&0===A.unusedTokens.length&&void 0===A.bigHour)),null!=Object.isFrozen&&Object.isFrozen(e))?n:(e._isValid=n,e._isValid)}function m(e){var A=d(NaN);return null!=e?u(g(A),e):g(A).userInvalidated=!0,A}P=Array.prototype.some?Array.prototype.some:function(e){var A,t=Object(this),n=t.length>>>0;for(A=0;A<n;A++)if(A in t&&e.call(this,t[A],A,t))return!0;return!1};var f,h,w=A.momentProperties=[],B=!1;function y(e,A){var t,n,r,o=w.length;if(a(A._isAMomentObject)||(e._isAMomentObject=A._isAMomentObject),a(A._i)||(e._i=A._i),a(A._f)||(e._f=A._f),a(A._l)||(e._l=A._l),a(A._strict)||(e._strict=A._strict),a(A._tzm)||(e._tzm=A._tzm),a(A._isUTC)||(e._isUTC=A._isUTC),a(A._offset)||(e._offset=A._offset),a(A._pf)||(e._pf=g(A)),a(A._locale)||(e._locale=A._locale),o>0)for(t=0;t<o;t++)a(r=A[n=w[t]])||(e[n]=r);return e}function v(e){y(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===B&&(B=!0,A.updateOffset(this),B=!1)}function C(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function E(e){!1===A.suppressDeprecationWarnings&&"u">typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function S(e,t){var n=!0;return u(function(){if(null!=A.deprecationHandler&&A.deprecationHandler(null,e),n){var r,i,a,s=[],l=arguments.length;for(i=0;i<l;i++){if(r="","object"==typeof arguments[i]){for(a in r+="\n["+i+"] ",arguments[0])o(arguments[0],a)&&(r+=a+": "+arguments[0][a]+", ");r=r.slice(0,-2)}else r=arguments[i];s.push(r)}E(e+"\nArguments: "+Array.prototype.slice.call(s).join("")+"\n"+Error().stack),n=!1}return t.apply(this,arguments)},t)}var I={};function U(e,t){null!=A.deprecationHandler&&A.deprecationHandler(e,t),I[e]||(E(t),I[e]=!0)}function b(e){return"u">typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function F(e,A){var t,n=u({},e);for(t in A)o(A,t)&&(r(e[t])&&r(A[t])?(n[t]={},u(n[t],e[t]),u(n[t],A[t])):null!=A[t]?n[t]=A[t]:delete n[t]);for(t in e)o(e,t)&&!o(A,t)&&r(e[t])&&(n[t]=u({},n[t]));return n}function Q(e){null!=e&&this.set(e)}function D(e,A,t){var n=""+Math.abs(e);return(e>=0?t?"+":"":"-")+Math.pow(10,Math.max(0,A-n.length)).toString().substr(1)+n}A.suppressDeprecationWarnings=!1,A.deprecationHandler=null;var T=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,O=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,M={},x={};function H(e,A,t,n){var r=n;"string"==typeof n&&(r=function(){return this[n]()}),e&&(x[e]=r),A&&(x[A[0]]=function(){return D(r.apply(this,arguments),A[1],A[2])}),t&&(x[t]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function L(e,A){return e.isValid()?(M[A=N(A,e.localeData())]=M[A]||function(e){var A,t,n,r=e.match(T);for(t=0,n=r.length;t<n;t++)x[r[t]]?r[t]=x[r[t]]:r[t]=(A=r[t]).match(/\[[\s\S]/)?A.replace(/^\[|\]$/g,""):A.replace(/\\/g,"");return function(A){var t,o="";for(t=0;t<n;t++)o+=b(r[t])?r[t].call(A,e):r[t];return o}}(A),M[A](e)):e.localeData().invalidDate()}function N(e,A){var t=5;function n(e){return A.longDateFormat(e)||e}for(O.lastIndex=0;t>=0&&O.test(e);)e=e.replace(O,n),O.lastIndex=0,t-=1;return e}var V={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function R(e){return"string"==typeof e?V[e]||V[e.toLowerCase()]:void 0}function _(e){var A,t,n={};for(t in e)o(e,t)&&(A=R(t))&&(n[A]=e[t]);return n}var k,P,G,K={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1},j=Object.keys?Object.keys:function(e){var A,t=[];for(A in e)o(e,A)&&t.push(A);return t},Y=/\d/,W=/\d\d/,z=/\d{3}/,J=/\d{4}/,X=/[+-]?\d{6}/,q=/\d\d?/,$=/\d\d\d\d?/,Z=/\d\d\d\d\d\d?/,ee=/\d{1,3}/,eA=/\d{1,4}/,et=/[+-]?\d{1,6}/,en=/\d+/,er=/[+-]?\d+/,eo=/Z|[+-]\d\d:?\d\d/gi,ei=/Z|[+-]\d\d(?::?\d\d)?/gi,ea=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,es=/^[1-9]\d?/,el=/^([1-9]\d|\d)/;function ec(e,A,t){G[e]=b(A)?A:function(e,n){return e&&t?t:A}}function eu(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ed(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function eg(e){var A=+e,t=0;return 0!==A&&isFinite(A)&&(t=ed(A)),t}G={};var ep={};function em(e,A){var t,n,r=A;for("string"==typeof e&&(e=[e]),s(A)&&(r=function(e,t){t[A]=eg(e)}),n=e.length,t=0;t<n;t++)ep[e[t]]=r}function ef(e,A){em(e,function(e,t,n,r){n._w=n._w||{},A(e,n._w,n,r)})}function eh(e){return e%4==0&&e%100!=0||e%400==0}function ew(e){return eh(e)?366:365}H("Y",0,0,function(){var e=this.year();return e<=9999?D(e,4):"+"+e}),H(0,["YY",2],0,function(){return this.year()%100}),H(0,["YYYY",4],0,"year"),H(0,["YYYYY",5],0,"year"),H(0,["YYYYYY",6,!0],0,"year"),ec("Y",er),ec("YY",q,W),ec("YYYY",eA,J),ec("YYYYY",et,X),ec("YYYYYY",et,X),em(["YYYYY","YYYYYY"],0),em("YYYY",function(e,t){t[0]=2===e.length?A.parseTwoDigitYear(e):eg(e)}),em("YY",function(e,t){t[0]=A.parseTwoDigitYear(e)}),em("Y",function(e,A){A[0]=parseInt(e,10)}),A.parseTwoDigitYear=function(e){return eg(e)+(eg(e)>68?1900:2e3)};var eB=ey("FullYear",!0);function ey(e,t){return function(n){return null!=n?(eC(this,e,n),A.updateOffset(this,t),this):ev(this,e)}}function ev(e,A){if(!e.isValid())return NaN;var t=e._d,n=e._isUTC;switch(A){case"Milliseconds":return n?t.getUTCMilliseconds():t.getMilliseconds();case"Seconds":return n?t.getUTCSeconds():t.getSeconds();case"Minutes":return n?t.getUTCMinutes():t.getMinutes();case"Hours":return n?t.getUTCHours():t.getHours();case"Date":return n?t.getUTCDate():t.getDate();case"Day":return n?t.getUTCDay():t.getDay();case"Month":return n?t.getUTCMonth():t.getMonth();case"FullYear":return n?t.getUTCFullYear():t.getFullYear();default:return NaN}}function eC(e,A,t){var n,r,o,i;if(!(!e.isValid()||isNaN(t))){switch(n=e._d,r=e._isUTC,A){case"Milliseconds":return void(r?n.setUTCMilliseconds(t):n.setMilliseconds(t));case"Seconds":return void(r?n.setUTCSeconds(t):n.setSeconds(t));case"Minutes":return void(r?n.setUTCMinutes(t):n.setMinutes(t));case"Hours":return void(r?n.setUTCHours(t):n.setHours(t));case"Date":return void(r?n.setUTCDate(t):n.setDate(t));case"FullYear":break;default:return}o=e.month(),i=29!==(i=e.date())||1!==o||eh(t)?i:28,r?n.setUTCFullYear(t,o,i):n.setFullYear(t,o,i)}}function eE(e,A){if(isNaN(e)||isNaN(A))return NaN;var t=(A%12+12)%12;return e+=(A-t)/12,1===t?eh(e)?29:28:31-t%7%2}eG=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var A;for(A=0;A<this.length;++A)if(this[A]===e)return A;return -1},H("M",["MM",2],"Mo",function(){return this.month()+1}),H("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),H("MMMM",0,0,function(e){return this.localeData().months(this,e)}),ec("M",q,es),ec("MM",q,W),ec("MMM",function(e,A){return A.monthsShortRegex(e)}),ec("MMMM",function(e,A){return A.monthsRegex(e)}),em(["M","MM"],function(e,A){A[1]=eg(e)-1}),em(["MMM","MMMM"],function(e,A,t,n){var r=t._locale.monthsParse(e,n,t._strict);null!=r?A[1]=r:g(t).invalidMonth=e});var eS="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),eI=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;function eU(e,A,t){var n,r,o,i=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],n=0;n<12;++n)o=d([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(o,"").toLocaleLowerCase();if(t)if("MMM"===A)return -1!==(r=eG.call(this._shortMonthsParse,i))?r:null;else return -1!==(r=eG.call(this._longMonthsParse,i))?r:null;return"MMM"===A?-1!==(r=eG.call(this._shortMonthsParse,i))||-1!==(r=eG.call(this._longMonthsParse,i))?r:null:-1!==(r=eG.call(this._longMonthsParse,i))||-1!==(r=eG.call(this._shortMonthsParse,i))?r:null}function eb(e,A){if(!e.isValid())return e;if("string"==typeof A){if(/^\d+$/.test(A))A=eg(A);else if(!s(A=e.localeData().monthsParse(A)))return e}var t=A,n=e.date();return n=n<29?n:Math.min(n,eE(e.year(),t)),e._isUTC?e._d.setUTCMonth(t,n):e._d.setMonth(t,n),e}function eF(e){return null!=e?(eb(this,e),A.updateOffset(this,!0),this):ev(this,"Month")}function eQ(){function e(e,A){return A.length-e.length}var A,t,n,r,o=[],i=[],a=[];for(A=0;A<12;A++)t=d([2e3,A]),n=eu(this.monthsShort(t,"")),r=eu(this.months(t,"")),o.push(n),i.push(r),a.push(r),a.push(n);o.sort(e),i.sort(e),a.sort(e),this._monthsRegex=RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=RegExp("^("+o.join("|")+")","i")}function eD(e,A,t,n,r,o,i){var a;return e<100&&e>=0?isFinite((a=new Date(e+400,A,t,n,r,o,i)).getFullYear())&&a.setFullYear(e):a=new Date(e,A,t,n,r,o,i),a}function eT(e){var A,t;return e<100&&e>=0?(t=Array.prototype.slice.call(arguments),t[0]=e+400,isFinite((A=new Date(Date.UTC.apply(null,t))).getUTCFullYear())&&A.setUTCFullYear(e)):A=new Date(Date.UTC.apply(null,arguments)),A}function eO(e,A,t){var n=7+A-t;return-((7+eT(e,0,n).getUTCDay()-A)%7)+n-1}function eM(e,A,t,n,r){var o,i,a=1+7*(A-1)+(7+t-n)%7+eO(e,n,r);return a<=0?i=ew(o=e-1)+a:a>ew(e)?(o=e+1,i=a-ew(e)):(o=e,i=a),{year:o,dayOfYear:i}}function ex(e,A,t){var n,r,o=eO(e.year(),A,t),i=Math.floor((e.dayOfYear()-o-1)/7)+1;return i<1?n=i+eH(r=e.year()-1,A,t):i>eH(e.year(),A,t)?(n=i-eH(e.year(),A,t),r=e.year()+1):(r=e.year(),n=i),{week:n,year:r}}function eH(e,A,t){var n=eO(e,A,t),r=eO(e+1,A,t);return(ew(e)-n+r)/7}function eL(e,A){return e.slice(A,7).concat(e.slice(0,A))}H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),ec("w",q,es),ec("ww",q,W),ec("W",q,es),ec("WW",q,W),ef(["w","ww","W","WW"],function(e,A,t,n){A[n.substr(0,1)]=eg(e)}),H("d",0,"do","day"),H("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),H("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),H("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),ec("d",q),ec("e",q),ec("E",q),ec("dd",function(e,A){return A.weekdaysMinRegex(e)}),ec("ddd",function(e,A){return A.weekdaysShortRegex(e)}),ec("dddd",function(e,A){return A.weekdaysRegex(e)}),ef(["dd","ddd","dddd"],function(e,A,t,n){var r=t._locale.weekdaysParse(e,n,t._strict);null!=r?A.d=r:g(t).invalidWeekday=e}),ef(["d","e","E"],function(e,A,t,n){A[n]=eg(e)});var eN="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");function eV(e,A,t){var n,r,o,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)o=d([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(o,"").toLocaleLowerCase();if(t)if("dddd"===A)return -1!==(r=eG.call(this._weekdaysParse,i))?r:null;else if("ddd"===A)return -1!==(r=eG.call(this._shortWeekdaysParse,i))?r:null;else return -1!==(r=eG.call(this._minWeekdaysParse,i))?r:null;return"dddd"===A?-1!==(r=eG.call(this._weekdaysParse,i))||-1!==(r=eG.call(this._shortWeekdaysParse,i))||-1!==(r=eG.call(this._minWeekdaysParse,i))?r:null:"ddd"===A?-1!==(r=eG.call(this._shortWeekdaysParse,i))||-1!==(r=eG.call(this._weekdaysParse,i))||-1!==(r=eG.call(this._minWeekdaysParse,i))?r:null:-1!==(r=eG.call(this._minWeekdaysParse,i))||-1!==(r=eG.call(this._weekdaysParse,i))||-1!==(r=eG.call(this._shortWeekdaysParse,i))?r:null}function eR(){function e(e,A){return A.length-e.length}var A,t,n,r,o,i=[],a=[],s=[],l=[];for(A=0;A<7;A++)t=d([2e3,1]).day(A),n=eu(this.weekdaysMin(t,"")),r=eu(this.weekdaysShort(t,"")),o=eu(this.weekdays(t,"")),i.push(n),a.push(r),s.push(o),l.push(n),l.push(r),l.push(o);i.sort(e),a.sort(e),s.sort(e),l.sort(e),this._weekdaysRegex=RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=RegExp("^("+s.join("|")+")","i"),this._weekdaysShortStrictRegex=RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=RegExp("^("+i.join("|")+")","i")}function e_(){return this.hours()%12||12}function ek(e,A){H(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),A)})}function eP(e,A){return A._meridiemParse}H("H",["HH",2],0,"hour"),H("h",["hh",2],0,e_),H("k",["kk",2],0,function(){return this.hours()||24}),H("hmm",0,0,function(){return""+e_.apply(this)+D(this.minutes(),2)}),H("hmmss",0,0,function(){return""+e_.apply(this)+D(this.minutes(),2)+D(this.seconds(),2)}),H("Hmm",0,0,function(){return""+this.hours()+D(this.minutes(),2)}),H("Hmmss",0,0,function(){return""+this.hours()+D(this.minutes(),2)+D(this.seconds(),2)}),ek("a",!0),ek("A",!1),ec("a",eP),ec("A",eP),ec("H",q,el),ec("h",q,es),ec("k",q,es),ec("HH",q,W),ec("hh",q,W),ec("kk",q,W),ec("hmm",$),ec("hmmss",Z),ec("Hmm",$),ec("Hmmss",Z),em(["H","HH"],3),em(["k","kk"],function(e,A,t){var n=eg(e);A[3]=24===n?0:n}),em(["a","A"],function(e,A,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),em(["h","hh"],function(e,A,t){A[3]=eg(e),g(t).bigHour=!0}),em("hmm",function(e,A,t){var n=e.length-2;A[3]=eg(e.substr(0,n)),A[4]=eg(e.substr(n)),g(t).bigHour=!0}),em("hmmss",function(e,A,t){var n=e.length-4,r=e.length-2;A[3]=eg(e.substr(0,n)),A[4]=eg(e.substr(n,2)),A[5]=eg(e.substr(r)),g(t).bigHour=!0}),em("Hmm",function(e,A,t){var n=e.length-2;A[3]=eg(e.substr(0,n)),A[4]=eg(e.substr(n))}),em("Hmmss",function(e,A,t){var n=e.length-4,r=e.length-2;A[3]=eg(e.substr(0,n)),A[4]=eg(e.substr(n,2)),A[5]=eg(e.substr(r))});var eG,eK,ej=ey("Hours",!0),eY={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:eS,week:{dow:0,doy:6},weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysShort:eN,meridiemParse:/[ap]\.?m?\.?/i},eW={},ez={};function eJ(e){return e?e.toLowerCase().replace("_","-"):e}function eX(A){var n=null;if(void 0===eW[A]&&e&&e.exports&&A&&A.match("^[^/\\\\]*$"))try{n=eK._abbr,t(3118)("./locale/"+A),eq(n)}catch(e){eW[A]=null}return eW[A]}function eq(e,A){var t;return e&&((t=a(A)?eZ(e):e$(e,A))?eK=t:"u">typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),eK._abbr}function e$(e,A){if(null===A)return delete eW[e],null;var t,n=eY;if(A.abbr=e,null!=eW[e])U("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=eW[e]._config;else if(null!=A.parentLocale)if(null!=eW[A.parentLocale])n=eW[A.parentLocale]._config;else{if(null==(t=eX(A.parentLocale)))return ez[A.parentLocale]||(ez[A.parentLocale]=[]),ez[A.parentLocale].push({name:e,config:A}),null;n=t._config}return eW[e]=new Q(F(n,A)),ez[e]&&ez[e].forEach(function(e){e$(e.name,e.config)}),eq(e),eW[e]}function eZ(e){var A;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return eK;if(!n(e)){if(A=eX(e))return A;e=[e]}return function(e){for(var A,t,n,r,o=0;o<e.length;){for(A=(r=eJ(e[o]).split("-")).length,t=(t=eJ(e[o+1]))?t.split("-"):null;A>0;){if(n=eX(r.slice(0,A).join("-")))return n;if(t&&t.length>=A&&function(e,A){var t,n=Math.min(e.length,A.length);for(t=0;t<n;t+=1)if(e[t]!==A[t])return t;return n}(r,t)>=A-1)break;A--}o++}return eK}(e)}function e0(e){var A,t=e._a;return t&&-2===g(e).overflow&&(A=t[1]<0||t[1]>11?1:t[2]<1||t[2]>eE(t[0],t[1])?2:t[3]<0||t[3]>24||24===t[3]&&(0!==t[4]||0!==t[5]||0!==t[6])?3:t[4]<0||t[4]>59?4:t[5]<0||t[5]>59?5:t[6]<0||t[6]>999?6:-1,g(e)._overflowDayOfYear&&(A<0||A>2)&&(A=2),g(e)._overflowWeeks&&-1===A&&(A=7),g(e)._overflowWeekday&&-1===A&&(A=8),g(e).overflow=A),e}var e1=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,e3=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,e4=/Z|[+-]\d\d(?::?\d\d)?/,e2=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],e6=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],e9=/^\/?Date\((-?\d+)/i,e8=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,e5={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function e7(e){var A,t,n,r,o,i,a=e._i,s=e1.exec(a)||e3.exec(a),l=e2.length,c=e6.length;if(s){for(g(e).iso=!0,A=0,t=l;A<t;A++)if(e2[A][1].exec(s[1])){r=e2[A][0],n=!1!==e2[A][2];break}if(null==r){e._isValid=!1;return}if(s[3]){for(A=0,t=c;A<t;A++)if(e6[A][1].exec(s[3])){o=(s[2]||" ")+e6[A][0];break}if(null==o){e._isValid=!1;return}}if(!n&&null!=o){e._isValid=!1;return}if(s[4])if(e4.exec(s[4]))i="Z";else{e._isValid=!1;return}e._f=r+(o||"")+(i||""),An(e)}else e._isValid=!1}function Ae(e){var A,t,n,r,o,i,a,s,l,c,u,d=e8.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(d){if(o=d[4],i=d[3],a=d[2],s=d[5],l=d[6],c=d[7],u=[(A=parseInt(o,10))<=49?2e3+A:A<=999?1900+A:A,eS.indexOf(i),parseInt(a,10),parseInt(s,10),parseInt(l,10)],c&&u.push(parseInt(c,10)),t=d[1],n=u,r=e,t&&eN.indexOf(t)!==new Date(n[0],n[1],n[2]).getDay()&&(g(r).weekdayMismatch=!0,r._isValid=!1,1))return;e._a=u,e._tzm=function(e,A,t){if(e)return e5[e];if(A)return 0;var n=parseInt(t,10),r=n%100;return(n-r)/100*60+r}(d[8],d[9],d[10]),e._d=eT.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),g(e).rfc2822=!0}else e._isValid=!1}function AA(e,A,t){return null!=e?e:null!=A?A:t}function At(e){var t,n,r,o,i,a,s,l,c,u,d,p,m,f,h,w,B=[];if(!e._d){for(d=new Date(A.now()),f=e._useUTC?[d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()]:[d.getFullYear(),d.getMonth(),d.getDate()],e._w&&null==e._a[2]&&null==e._a[1]&&(null!=(n=(t=e)._w).GG||null!=n.W||null!=n.E?(a=1,s=4,r=AA(n.GG,t._a[0],ex(Ai(),1,4).year),o=AA(n.W,1),((i=AA(n.E,1))<1||i>7)&&(c=!0)):(a=t._locale._week.dow,s=t._locale._week.doy,u=ex(Ai(),a,s),r=AA(n.gg,t._a[0],u.year),o=AA(n.w,u.week),null!=n.d?((i=n.d)<0||i>6)&&(c=!0):null!=n.e?(i=n.e+a,(n.e<0||n.e>6)&&(c=!0)):i=a),o<1||o>eH(r,a,s)?g(t)._overflowWeeks=!0:null!=c?g(t)._overflowWeekday=!0:(l=eM(r,o,i,a,s),t._a[0]=l.year,t._dayOfYear=l.dayOfYear)),null!=e._dayOfYear&&(w=AA(e._a[0],f[0]),(e._dayOfYear>ew(w)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),m=eT(w,0,e._dayOfYear),e._a[1]=m.getUTCMonth(),e._a[2]=m.getUTCDate()),p=0;p<3&&null==e._a[p];++p)e._a[p]=B[p]=f[p];for(;p<7;p++)e._a[p]=B[p]=null==e._a[p]?+(2===p):e._a[p];24===e._a[3]&&0===e._a[4]&&0===e._a[5]&&0===e._a[6]&&(e._nextDay=!0,e._a[3]=0),e._d=(e._useUTC?eT:eD).apply(null,B),h=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[3]=24),e._w&&void 0!==e._w.d&&e._w.d!==h&&(g(e).weekdayMismatch=!0)}}function An(e){if(e._f===A.ISO_8601)return void e7(e);if(e._f===A.RFC_2822)return void Ae(e);e._a=[],g(e).empty=!0;var t,n,r,i,a,s,l,c,u,d,p,m=""+e._i,f=m.length,h=0;for(p=(l=N(e._f,e._locale).match(T)||[]).length,a=0;a<p;a++)if(c=l[a],(s=(m.match(!o(G,c)?new RegExp(eu(c.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,A,t,n,r){return A||t||n||r}))):G[c](e._strict,e._locale))||[])[0])&&((u=m.substr(0,m.indexOf(s))).length>0&&g(e).unusedInput.push(u),m=m.slice(m.indexOf(s)+s.length),h+=s.length),x[c])s?g(e).empty=!1:g(e).unusedTokens.push(c),null!=s&&o(ep,c)&&ep[c](s,e._a,e,c);else e._strict&&!s&&g(e).unusedTokens.push(c);g(e).charsLeftOver=f-h,m.length>0&&g(e).unusedInput.push(m),e._a[3]<=12&&!0===g(e).bigHour&&e._a[3]>0&&(g(e).bigHour=void 0),g(e).parsedDateParts=e._a.slice(0),g(e).meridiem=e._meridiem,e._a[3]=(t=e._locale,n=e._a[3],null==(r=e._meridiem)?n:null!=t.meridiemHour?t.meridiemHour(n,r):(null!=t.isPM&&((i=t.isPM(r))&&n<12&&(n+=12),i||12!==n||(n=0)),n)),null!==(d=g(e).era)&&(e._a[0]=e._locale.erasConvertYear(d,e._a[0])),At(e),e0(e)}function Ar(e){var t=e._i,o=e._f;return(e._locale=e._locale||eZ(e._l),null===t||void 0===o&&""===t)?m({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),C(t))?new v(e0(t)):(l(t)?e._d=t:n(o)?!function(e){var A,t,n,r,o,i,a=!1,s=e._f.length;if(0===s){g(e).invalidFormat=!0,e._d=new Date(NaN);return}for(r=0;r<s;r++)o=0,i=!1,A=y({},e),null!=e._useUTC&&(A._useUTC=e._useUTC),A._f=e._f[r],An(A),p(A)&&(i=!0),o+=g(A).charsLeftOver,o+=10*g(A).unusedTokens.length,g(A).score=o,a?o<n&&(n=o,t=A):(null==n||o<n||i)&&(n=o,t=A,i&&(a=!0));u(e,t||A)}(e):o?An(e):function(e){var t=e._i;if(a(t))e._d=new Date(A.now());else if(l(t))e._d=new Date(t.valueOf());else if("string"==typeof t)!function(e){var t=e9.exec(e._i);if(null!==t){e._d=new Date(+t[1]);return}e7(e),!1!==e._isValid||(delete e._isValid,Ae(e),!1===e._isValid&&(delete e._isValid,e._strict?e._isValid=!1:A.createFromInputFallback(e)))}(e);else if(n(t))e._a=c(t.slice(0),function(e){return parseInt(e,10)}),At(e);else if(r(t)){if(!e._d){var o=_(e._i),i=void 0===o.day?o.date:o.day;e._a=c([o.year,o.month,i,o.hour,o.minute,o.second,o.millisecond],function(e){return e&&parseInt(e,10)}),At(e)}}else s(t)?e._d=new Date(t):A.createFromInputFallback(e)}(e),p(e)||(e._d=null),e)}function Ao(e,A,t,o,a){var s,l={};return(!0===A||!1===A)&&(o=A,A=void 0),(!0===t||!1===t)&&(o=t,t=void 0),(r(e)&&i(e)||n(e)&&0===e.length)&&(e=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=a,l._l=t,l._i=e,l._f=A,l._strict=o,(s=new v(e0(Ar(l))))._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function Ai(e,A,t,n){return Ao(e,A,t,n,!1)}A.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),A.ISO_8601=function(){},A.RFC_2822=function(){};var Aa=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Ai.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:m()}),As=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Ai.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:m()});function Al(e,A){var t,r;if(1===A.length&&n(A[0])&&(A=A[0]),!A.length)return Ai();for(t=A[0],r=1;r<A.length;++r)(!A[r].isValid()||A[r][e](t))&&(t=A[r]);return t}var Ac=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Au(e){var A=_(e),t=A.year||0,n=A.quarter||0,r=A.month||0,i=A.week||A.isoWeek||0,a=A.day||0,s=A.hour||0,l=A.minute||0,c=A.second||0,u=A.millisecond||0;this._isValid=function(e){var A,t,n=!1,r=Ac.length;for(A in e)if(o(e,A)&&!(-1!==eG.call(Ac,A)&&(null==e[A]||!isNaN(e[A]))))return!1;for(t=0;t<r;++t)if(e[Ac[t]]){if(n)return!1;parseFloat(e[Ac[t]])!==eg(e[Ac[t]])&&(n=!0)}return!0}(A),this._milliseconds=+u+1e3*c+6e4*l+1e3*s*3600,this._days=+a+7*i,this._months=+r+3*n+12*t,this._data={},this._locale=eZ(),this._bubble()}function Ad(e){return e instanceof Au}function Ag(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ap(e,A){H(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+D(~~(e/60),2)+A+D(~~e%60,2)})}Ap("Z",":"),Ap("ZZ",""),ec("Z",ei),ec("ZZ",ei),em(["Z","ZZ"],function(e,A,t){t._useUTC=!0,t._tzm=Af(ei,e)});var Am=/([\+\-]|\d\d)/gi;function Af(e,A){var t,n,r=(A||"").match(e);return null===r?null:0===(n=+(60*(t=((r[r.length-1]||[])+"").match(Am)||["-",0,0])[1])+eg(t[2]))?0:"+"===t[0]?n:-n}function Ah(e,t){var n,r;return t._isUTC?(n=t.clone(),r=(C(e)||l(e)?e.valueOf():Ai(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+r),A.updateOffset(n,!1),n):Ai(e).local()}function Aw(e){return-Math.round(e._d.getTimezoneOffset())}function AB(){return!!this.isValid()&&this._isUTC&&0===this._offset}A.updateOffset=function(){};var Ay=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Av=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function AC(e,A){var t,n,r,i,a,l,c=e,u=null;return Ad(e)?c={ms:e._milliseconds,d:e._days,M:e._months}:s(e)||!isNaN(+e)?(c={},A?c[A]=+e:c.milliseconds=+e):(u=Ay.exec(e))?(i="-"===u[1]?-1:1,c={y:0,d:eg(u[2])*i,h:eg(u[3])*i,m:eg(u[4])*i,s:eg(u[5])*i,ms:eg(Ag(1e3*u[6]))*i}):(u=Av.exec(e))?(i="-"===u[1]?-1:1,c={y:AE(u[2],i),M:AE(u[3],i),w:AE(u[4],i),d:AE(u[5],i),h:AE(u[6],i),m:AE(u[7],i),s:AE(u[8],i)}):null==c?c={}:"object"==typeof c&&("from"in c||"to"in c)&&(t=Ai(c.from),n=Ai(c.to),l=t.isValid()&&n.isValid()?(n=Ah(n,t),t.isBefore(n)?r=AS(t,n):((r=AS(n,t)).milliseconds=-r.milliseconds,r.months=-r.months),r):{milliseconds:0,months:0},(c={}).ms=l.milliseconds,c.M=l.months),a=new Au(c),Ad(e)&&o(e,"_locale")&&(a._locale=e._locale),Ad(e)&&o(e,"_isValid")&&(a._isValid=e._isValid),a}function AE(e,A){var t=e&&parseFloat(e.replace(",","."));return(isNaN(t)?0:t)*A}function AS(e,A){var t={};return t.months=A.month()-e.month()+(A.year()-e.year())*12,e.clone().add(t.months,"M").isAfter(A)&&--t.months,t.milliseconds=A-e.clone().add(t.months,"M"),t}function AI(e,A){return function(t,n){var r;return null===n||isNaN(+n)||(U(A,"moment()."+A+"(period, number) is deprecated. Please use moment()."+A+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=t,t=n,n=r),AU(this,AC(t,n),e),this}}function AU(e,t,n,r){var o=t._milliseconds,i=Ag(t._days),a=Ag(t._months);e.isValid()&&(r=null==r||r,a&&eb(e,ev(e,"Month")+a*n),i&&eC(e,"Date",ev(e,"Date")+i*n),o&&e._d.setTime(e._d.valueOf()+o*n),r&&A.updateOffset(e,i||a))}AC.fn=Au.prototype,AC.invalid=function(){return AC(NaN)};var Ab=AI(1,"add"),AF=AI(-1,"subtract");function AQ(e){return"string"==typeof e||e instanceof String}function AD(e,A){if(e.date()<A.date())return-AD(A,e);var t,n=(A.year()-e.year())*12+(A.month()-e.month()),r=e.clone().add(n,"months");return t=A-r<0?(A-r)/(r-e.clone().add(n-1,"months")):(A-r)/(e.clone().add(n+1,"months")-r),-(n+t)||0}function AT(e){var A;return void 0===e?this._locale._abbr:(null!=(A=eZ(e))&&(this._locale=A),this)}A.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",A.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var AO=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function AM(){return this._locale}function Ax(e,A,t){return e<100&&e>=0?new Date(e+400,A,t)-126227808e5:new Date(e,A,t).valueOf()}function AH(e,A,t){return e<100&&e>=0?Date.UTC(e+400,A,t)-126227808e5:Date.UTC(e,A,t)}function AL(e,A){return A.erasAbbrRegex(e)}function AN(){var e,A,t,n,r,o=[],i=[],a=[],s=[],l=this.eras();for(e=0,A=l.length;e<A;++e)t=eu(l[e].name),n=eu(l[e].abbr),r=eu(l[e].narrow),i.push(t),o.push(n),a.push(r),s.push(t),s.push(n),s.push(r);this._erasRegex=RegExp("^("+s.join("|")+")","i"),this._erasNameRegex=RegExp("^("+i.join("|")+")","i"),this._erasAbbrRegex=RegExp("^("+o.join("|")+")","i"),this._erasNarrowRegex=RegExp("^("+a.join("|")+")","i")}function AV(e,A){H(0,[e,e.length],0,A)}function AR(e,A,t,n,r){var o;return null==e?ex(this,n,r).year:(A>(o=eH(e,n,r))&&(A=o),A_.call(this,e,A,t,n,r))}function A_(e,A,t,n,r){var o=eM(e,A,t,n,r),i=eT(o.year,0,o.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}H("N",0,0,"eraAbbr"),H("NN",0,0,"eraAbbr"),H("NNN",0,0,"eraAbbr"),H("NNNN",0,0,"eraName"),H("NNNNN",0,0,"eraNarrow"),H("y",["y",1],"yo","eraYear"),H("y",["yy",2],0,"eraYear"),H("y",["yyy",3],0,"eraYear"),H("y",["yyyy",4],0,"eraYear"),ec("N",AL),ec("NN",AL),ec("NNN",AL),ec("NNNN",function(e,A){return A.erasNameRegex(e)}),ec("NNNNN",function(e,A){return A.erasNarrowRegex(e)}),em(["N","NN","NNN","NNNN","NNNNN"],function(e,A,t,n){var r=t._locale.erasParse(e,n,t._strict);r?g(t).era=r:g(t).invalidEra=e}),ec("y",en),ec("yy",en),ec("yyy",en),ec("yyyy",en),ec("yo",function(e,A){return A._eraYearOrdinalRegex||en}),em(["y","yy","yyy","yyyy"],0),em(["yo"],function(e,A,t,n){var r;t._locale._eraYearOrdinalRegex&&(r=e.match(t._locale._eraYearOrdinalRegex)),t._locale.eraYearOrdinalParse?A[0]=t._locale.eraYearOrdinalParse(e,r):A[0]=parseInt(e,10)}),H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),AV("gggg","weekYear"),AV("ggggg","weekYear"),AV("GGGG","isoWeekYear"),AV("GGGGG","isoWeekYear"),ec("G",er),ec("g",er),ec("GG",q,W),ec("gg",q,W),ec("GGGG",eA,J),ec("gggg",eA,J),ec("GGGGG",et,X),ec("ggggg",et,X),ef(["gggg","ggggg","GGGG","GGGGG"],function(e,A,t,n){A[n.substr(0,2)]=eg(e)}),ef(["gg","GG"],function(e,t,n,r){t[r]=A.parseTwoDigitYear(e)}),H("Q",0,"Qo","quarter"),ec("Q",Y),em("Q",function(e,A){A[1]=(eg(e)-1)*3}),H("D",["DD",2],"Do","date"),ec("D",q,es),ec("DD",q,W),ec("Do",function(e,A){return e?A._dayOfMonthOrdinalParse||A._ordinalParse:A._dayOfMonthOrdinalParseLenient}),em(["D","DD"],2),em("Do",function(e,A){A[2]=eg(e.match(q)[0])});var Ak=ey("Date",!0);H("DDD",["DDDD",3],"DDDo","dayOfYear"),ec("DDD",ee),ec("DDDD",z),em(["DDD","DDDD"],function(e,A,t){t._dayOfYear=eg(e)}),H("m",["mm",2],0,"minute"),ec("m",q,el),ec("mm",q,W),em(["m","mm"],4);var AP=ey("Minutes",!1);H("s",["ss",2],0,"second"),ec("s",q,el),ec("ss",q,W),em(["s","ss"],5);var AG=ey("Seconds",!1);for(H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),ec("S",ee,Y),ec("SS",ee,W),ec("SSS",ee,z),f="SSSS";f.length<=9;f+="S")ec(f,en);function AK(e,A){A[6]=eg(("0."+e)*1e3)}for(f="S";f.length<=9;f+="S")em(f,AK);h=ey("Milliseconds",!1),H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var Aj=v.prototype;function AY(e){return e}Aj.add=Ab,Aj.calendar=function(e,t){if(1==arguments.length)if(arguments[0]){var a,c,u,d;if(a=arguments[0],C(a)||l(a)||AQ(a)||s(a)||(u=n(c=a),d=!1,u&&(d=0===c.filter(function(e){return!s(e)&&AQ(c)}).length),u&&d)||function(e){var A,t,n=r(e)&&!i(e),a=!1,s=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],l=s.length;for(A=0;A<l;A+=1)t=s[A],a=a||o(e,t);return n&&a}(a)||null==a)e=arguments[0],t=void 0;else(function(e){var A,t,n=r(e)&&!i(e),a=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(A=0;A<s.length;A+=1)t=s[A],a=a||o(e,t);return n&&a})(arguments[0])&&(t=arguments[0],e=void 0)}else e=void 0,t=void 0;var g=e||Ai(),p=Ah(g,this).startOf("day"),m=A.calendarFormat(this,p)||"sameElse",f=t&&(b(t[m])?t[m].call(this,g):t[m]);return this.format(f||this.localeData().calendar(m,this,Ai(g)))},Aj.clone=function(){return new v(this)},Aj.diff=function(e,A,t){var n,r,o;if(!this.isValid()||!(n=Ah(e,this)).isValid())return NaN;switch(r=(n.utcOffset()-this.utcOffset())*6e4,A=R(A)){case"year":o=AD(this,n)/12;break;case"month":o=AD(this,n);break;case"quarter":o=AD(this,n)/3;break;case"second":o=(this-n)/1e3;break;case"minute":o=(this-n)/6e4;break;case"hour":o=(this-n)/36e5;break;case"day":o=(this-n-r)/864e5;break;case"week":o=(this-n-r)/6048e5;break;default:o=this-n}return t?o:ed(o)},Aj.endOf=function(e){var t,n;if(void 0===(e=R(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?AH:Ax,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-((t+(this._isUTC?0:6e4*this.utcOffset()))%36e5+36e5)%36e5-1;break;case"minute":t=this._d.valueOf(),t+=6e4-(t%6e4+6e4)%6e4-1;break;case"second":t=this._d.valueOf(),t+=1e3-(t%1e3+1e3)%1e3-1}return this._d.setTime(t),A.updateOffset(this,!0),this},Aj.format=function(e){e||(e=this.isUtc()?A.defaultFormatUtc:A.defaultFormat);var t=L(this,e);return this.localeData().postformat(t)},Aj.from=function(e,A){return this.isValid()&&(C(e)&&e.isValid()||Ai(e).isValid())?AC({to:this,from:e}).locale(this.locale()).humanize(!A):this.localeData().invalidDate()},Aj.fromNow=function(e){return this.from(Ai(),e)},Aj.to=function(e,A){return this.isValid()&&(C(e)&&e.isValid()||Ai(e).isValid())?AC({from:this,to:e}).locale(this.locale()).humanize(!A):this.localeData().invalidDate()},Aj.toNow=function(e){return this.to(Ai(),e)},Aj.get=function(e){return b(this[e=R(e)])?this[e]():this},Aj.invalidAt=function(){return g(this).overflow},Aj.isAfter=function(e,A){var t=C(e)?e:Ai(e);return!!(this.isValid()&&t.isValid())&&("millisecond"===(A=R(A)||"millisecond")?this.valueOf()>t.valueOf():t.valueOf()<this.clone().startOf(A).valueOf())},Aj.isBefore=function(e,A){var t=C(e)?e:Ai(e);return!!(this.isValid()&&t.isValid())&&("millisecond"===(A=R(A)||"millisecond")?this.valueOf()<t.valueOf():this.clone().endOf(A).valueOf()<t.valueOf())},Aj.isBetween=function(e,A,t,n){var r=C(e)?e:Ai(e),o=C(A)?A:Ai(A);return!!(this.isValid()&&r.isValid()&&o.isValid())&&("("===(n=n||"()")[0]?this.isAfter(r,t):!this.isBefore(r,t))&&(")"===n[1]?this.isBefore(o,t):!this.isAfter(o,t))},Aj.isSame=function(e,A){var t,n=C(e)?e:Ai(e);return!!(this.isValid()&&n.isValid())&&("millisecond"===(A=R(A)||"millisecond")?this.valueOf()===n.valueOf():(t=n.valueOf(),this.clone().startOf(A).valueOf()<=t&&t<=this.clone().endOf(A).valueOf()))},Aj.isSameOrAfter=function(e,A){return this.isSame(e,A)||this.isAfter(e,A)},Aj.isSameOrBefore=function(e,A){return this.isSame(e,A)||this.isBefore(e,A)},Aj.isValid=function(){return p(this)},Aj.lang=AO,Aj.locale=AT,Aj.localeData=AM,Aj.max=As,Aj.min=Aa,Aj.parsingFlags=function(){return u({},g(this))},Aj.set=function(e,A){if("object"==typeof e){var t,n=function(e){var A,t=[];for(A in e)o(e,A)&&t.push({unit:A,priority:K[A]});return t.sort(function(e,A){return e.priority-A.priority}),t}(e=_(e)),r=n.length;for(t=0;t<r;t++)this[n[t].unit](e[n[t].unit])}else if(b(this[e=R(e)]))return this[e](A);return this},Aj.startOf=function(e){var t,n;if(void 0===(e=R(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?AH:Ax,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=((t+(this._isUTC?0:6e4*this.utcOffset()))%36e5+36e5)%36e5;break;case"minute":t=this._d.valueOf(),t-=(t%6e4+6e4)%6e4;break;case"second":t=this._d.valueOf(),t-=(t%1e3+1e3)%1e3}return this._d.setTime(t),A.updateOffset(this,!0),this},Aj.subtract=AF,Aj.toArray=function(){return[this.year(),this.month(),this.date(),this.hour(),this.minute(),this.second(),this.millisecond()]},Aj.toObject=function(){return{years:this.year(),months:this.month(),date:this.date(),hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()}},Aj.toDate=function(){return new Date(this.valueOf())},Aj.toISOString=function(e){if(!this.isValid())return null;var A=!0!==e,t=A?this.clone().utc():this;if(0>t.year()||t.year()>9999)return L(t,A?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ");if(b(Date.prototype.toISOString))if(A)return this.toDate().toISOString();else return new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",L(t,"Z"));return L(t,A?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Aj.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,A,t,n="moment",r="";return this.isLocal()||(n=0===this.utcOffset()?"moment.utc":"moment.parseZone",r="Z"),e="["+n+'("]',A=0<=this.year()&&9999>=this.year()?"YYYY":"YYYYYY",t=r+'[")]',this.format(e+A+"-MM-DD[T]HH:mm:ss.SSS"+t)},"u">typeof Symbol&&null!=Symbol.for&&(Aj[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),Aj.toJSON=function(){return this.isValid()?this.toISOString():null},Aj.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Aj.unix=function(){return Math.floor(this.valueOf()/1e3)},Aj.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Aj.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Aj.eraName=function(){var e,A,t,n=this.localeData().eras();for(e=0,A=n.length;e<A;++e)if(t=this.clone().startOf("day").valueOf(),n[e].since<=t&&t<=n[e].until||n[e].until<=t&&t<=n[e].since)return n[e].name;return""},Aj.eraNarrow=function(){var e,A,t,n=this.localeData().eras();for(e=0,A=n.length;e<A;++e)if(t=this.clone().startOf("day").valueOf(),n[e].since<=t&&t<=n[e].until||n[e].until<=t&&t<=n[e].since)return n[e].narrow;return""},Aj.eraAbbr=function(){var e,A,t,n=this.localeData().eras();for(e=0,A=n.length;e<A;++e)if(t=this.clone().startOf("day").valueOf(),n[e].since<=t&&t<=n[e].until||n[e].until<=t&&t<=n[e].since)return n[e].abbr;return""},Aj.eraYear=function(){var e,t,n,r,o=this.localeData().eras();for(e=0,t=o.length;e<t;++e)if(n=o[e].since<=o[e].until?1:-1,r=this.clone().startOf("day").valueOf(),o[e].since<=r&&r<=o[e].until||o[e].until<=r&&r<=o[e].since)return(this.year()-A(o[e].since).year())*n+o[e].offset;return this.year()},Aj.year=eB,Aj.isLeapYear=function(){return eh(this.year())},Aj.weekYear=function(e){return AR.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)},Aj.isoWeekYear=function(e){return AR.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},Aj.quarter=Aj.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)},Aj.month=eF,Aj.daysInMonth=function(){return eE(this.year(),this.month())},Aj.week=Aj.weeks=function(e){var A=this.localeData().week(this);return null==e?A:this.add((e-A)*7,"d")},Aj.isoWeek=Aj.isoWeeks=function(e){var A=ex(this,1,4).week;return null==e?A:this.add((e-A)*7,"d")},Aj.weeksInYear=function(){var e=this.localeData()._week;return eH(this.year(),e.dow,e.doy)},Aj.weeksInWeekYear=function(){var e=this.localeData()._week;return eH(this.weekYear(),e.dow,e.doy)},Aj.isoWeeksInYear=function(){return eH(this.year(),1,4)},Aj.isoWeeksInISOWeekYear=function(){return eH(this.isoWeekYear(),1,4)},Aj.date=Ak,Aj.day=Aj.days=function(e){if(!this.isValid())return null!=e?this:NaN;var A,t,n=ev(this,"Day");return null==e?n:(A=e,t=this.localeData(),e="string"!=typeof A?A:isNaN(A)?"number"==typeof(A=t.weekdaysParse(A))?A:null:parseInt(A,10),this.add(e-n,"d"))},Aj.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var A=(this.day()+7-this.localeData()._week.dow)%7;return null==e?A:this.add(e-A,"d")},Aj.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var A,t=(A=this.localeData(),"string"==typeof e?A.weekdaysParse(e)%7||7:isNaN(e)?null:e);return this.day(this.day()%7?t:t-7)},Aj.dayOfYear=function(e){var A=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?A:this.add(e-A,"d")},Aj.hour=Aj.hours=ej,Aj.minute=Aj.minutes=AP,Aj.second=Aj.seconds=AG,Aj.millisecond=Aj.milliseconds=h,Aj.utcOffset=function(e,t,n){var r,o=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?o:Aw(this);if("string"==typeof e){if(null===(e=Af(ei,e)))return this}else 16>Math.abs(e)&&!n&&(e*=60);return!this._isUTC&&t&&(r=Aw(this)),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,"m"),o!==e&&(!t||this._changeInProgress?AU(this,AC(e-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,A.updateOffset(this,!0),this._changeInProgress=null)),this},Aj.utc=function(e){return this.utcOffset(0,e)},Aj.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Aw(this),"m")),this},Aj.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Af(eo,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},Aj.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Ai(e).utcOffset():0,(this.utcOffset()-e)%60==0)},Aj.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Aj.isLocal=function(){return!!this.isValid()&&!this._isUTC},Aj.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Aj.isUtc=AB,Aj.isUTC=AB,Aj.zoneAbbr=function(){return this._isUTC?"UTC":""},Aj.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Aj.dates=S("dates accessor is deprecated. Use date instead.",Ak),Aj.months=S("months accessor is deprecated. Use month instead",eF),Aj.years=S("years accessor is deprecated. Use year instead",eB),Aj.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,A){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,A),this):-this.utcOffset()}),Aj.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!a(this._isDSTShifted))return this._isDSTShifted;var e,A={};return y(A,this),(A=Ar(A))._a?(e=A._isUTC?d(A._a):Ai(A._a),this._isDSTShifted=this.isValid()&&function(e,A){var t,n=Math.min(e.length,A.length),r=Math.abs(e.length-A.length),o=0;for(t=0;t<n;t++)eg(e[t])!==eg(A[t])&&o++;return o+r}(A._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted});var AW=Q.prototype;function Az(e,A,t,n){var r=eZ(),o=d().set(n,A);return r[t](o,e)}function AJ(e,A,t){if(s(e)&&(A=e,e=void 0),e=e||"",null!=A)return Az(e,A,t,"month");var n,r=[];for(n=0;n<12;n++)r[n]=Az(e,n,t,"month");return r}function AX(e,A,t,n){"boolean"==typeof e||(t=A=e,e=!1),s(A)&&(t=A,A=void 0),A=A||"";var r,o=eZ(),i=e?o._week.dow:0,a=[];if(null!=t)return Az(A,(t+i)%7,n,"day");for(r=0;r<7;r++)a[r]=Az(A,(r+i)%7,n,"day");return a}AW.calendar=function(e,A,t){var n=this._calendar[e]||this._calendar.sameElse;return b(n)?n.call(A,t):n},AW.longDateFormat=function(e){var A=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return A||!t?A:(this._longDateFormat[e]=t.match(T).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},AW.invalidDate=function(){return this._invalidDate},AW.ordinal=function(e){return this._ordinal.replace("%d",e)},AW.preparse=AY,AW.postformat=AY,AW.relativeTime=function(e,A,t,n){var r=this._relativeTime[t];return b(r)?r(e,A,t,n):r.replace(/%d/i,e)},AW.pastFuture=function(e,A){var t=this._relativeTime[e>0?"future":"past"];return b(t)?t(A):t.replace(/%s/i,A)},AW.set=function(e){var A,t;for(t in e)o(e,t)&&(b(A=e[t])?this[t]=A:this["_"+t]=A);this._config=e,this._dayOfMonthOrdinalParseLenient=RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},AW.eras=function(e,t){var n,r,o,i=this._eras||eZ("en")._eras;for(n=0,r=i.length;n<r;++n)switch("string"==typeof i[n].since&&(o=A(i[n].since).startOf("day"),i[n].since=o.valueOf()),typeof i[n].until){case"undefined":i[n].until=Infinity;break;case"string":o=A(i[n].until).startOf("day").valueOf(),i[n].until=o.valueOf()}return i},AW.erasParse=function(e,A,t){var n,r,o,i,a,s=this.eras();for(e=e.toUpperCase(),n=0,r=s.length;n<r;++n)if(o=s[n].name.toUpperCase(),i=s[n].abbr.toUpperCase(),a=s[n].narrow.toUpperCase(),t)switch(A){case"N":case"NN":case"NNN":if(i===e)return s[n];break;case"NNNN":if(o===e)return s[n];break;case"NNNNN":if(a===e)return s[n]}else if([o,i,a].indexOf(e)>=0)return s[n]},AW.erasConvertYear=function(e,t){var n=e.since<=e.until?1:-1;return void 0===t?A(e.since).year():A(e.since).year()+(t-e.offset)*n},AW.erasAbbrRegex=function(e){return o(this,"_erasAbbrRegex")||AN.call(this),e?this._erasAbbrRegex:this._erasRegex},AW.erasNameRegex=function(e){return o(this,"_erasNameRegex")||AN.call(this),e?this._erasNameRegex:this._erasRegex},AW.erasNarrowRegex=function(e){return o(this,"_erasNarrowRegex")||AN.call(this),e?this._erasNarrowRegex:this._erasRegex},AW.months=function(e,A){return e?n(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||eI).test(A)?"format":"standalone"][e.month()]:n(this._months)?this._months:this._months.standalone},AW.monthsShort=function(e,A){return e?n(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[eI.test(A)?"format":"standalone"][e.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},AW.monthsParse=function(e,A,t){var n,r,o;if(this._monthsParseExact)return eU.call(this,e,A,t);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;n<12;n++){if(r=d([2e3,n]),t&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),t||this._monthsParse[n]||(o="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[n]=RegExp(o.replace(".",""),"i")),t&&"MMMM"===A&&this._longMonthsParse[n].test(e))return n;if(t&&"MMM"===A&&this._shortMonthsParse[n].test(e))return n;if(!t&&this._monthsParse[n].test(e))return n}},AW.monthsRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||eQ.call(this),e)?this._monthsStrictRegex:this._monthsRegex:(o(this,"_monthsRegex")||(this._monthsRegex=ea),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},AW.monthsShortRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||eQ.call(this),e)?this._monthsShortStrictRegex:this._monthsShortRegex:(o(this,"_monthsShortRegex")||(this._monthsShortRegex=ea),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},AW.week=function(e){return ex(e,this._week.dow,this._week.doy).week},AW.firstDayOfYear=function(){return this._week.doy},AW.firstDayOfWeek=function(){return this._week.dow},AW.weekdays=function(e,A){var t=n(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(A)?"format":"standalone"];return!0===e?eL(t,this._week.dow):e?t[e.day()]:t},AW.weekdaysMin=function(e){return!0===e?eL(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},AW.weekdaysShort=function(e){return!0===e?eL(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},AW.weekdaysParse=function(e,A,t){var n,r,o;if(this._weekdaysParseExact)return eV.call(this,e,A,t);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(r=d([2e3,1]).day(n),t&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[n]=RegExp(o.replace(".",""),"i")),t&&"dddd"===A&&this._fullWeekdaysParse[n].test(e))return n;if(t&&"ddd"===A&&this._shortWeekdaysParse[n].test(e))return n;if(t&&"dd"===A&&this._minWeekdaysParse[n].test(e))return n;else if(!t&&this._weekdaysParse[n].test(e))return n}},AW.weekdaysRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||eR.call(this),e)?this._weekdaysStrictRegex:this._weekdaysRegex:(o(this,"_weekdaysRegex")||(this._weekdaysRegex=ea),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},AW.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||eR.call(this),e)?this._weekdaysShortStrictRegex:this._weekdaysShortRegex:(o(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ea),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},AW.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||eR.call(this),e)?this._weekdaysMinStrictRegex:this._weekdaysMinRegex:(o(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=ea),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},AW.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},AW.meridiem=function(e,A,t){return e>11?t?"pm":"PM":t?"am":"AM"},eq("en",{eras:[{since:"0001-01-01",until:Infinity,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var A=e%10,t=1===eg(e%100/10)?"th":1===A?"st":2===A?"nd":3===A?"rd":"th";return e+t}}),A.lang=S("moment.lang is deprecated. Use moment.locale instead.",eq),A.langData=S("moment.langData is deprecated. Use moment.localeData instead.",eZ);var Aq=Math.abs;function A$(e,A,t,n){var r=AC(A,t);return e._milliseconds+=n*r._milliseconds,e._days+=n*r._days,e._months+=n*r._months,e._bubble()}function AZ(e){return e<0?Math.floor(e):Math.ceil(e)}function A0(e){return 4800*e/146097}function A1(e){return 146097*e/4800}function A3(e){return function(){return this.as(e)}}var A4=A3("ms"),A2=A3("s"),A6=A3("m"),A9=A3("h"),A8=A3("d"),A5=A3("w"),A7=A3("M"),te=A3("Q"),tA=A3("y");function tt(e){return function(){return this.isValid()?this._data[e]:NaN}}var tn=tt("milliseconds"),tr=tt("seconds"),to=tt("minutes"),ti=tt("hours"),ta=tt("days"),ts=tt("months"),tl=tt("years"),tc=Math.round,tu={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function td(e,A,t,n,r){return r.relativeTime(A||1,!!t,e,n)}var tg=Math.abs;function tp(e){return(e>0)-(e<0)||+e}function tm(){if(!this.isValid())return this.localeData().invalidDate();var e,A,t,n,r,o,i,a,s=tg(this._milliseconds)/1e3,l=tg(this._days),c=tg(this._months),u=this.asSeconds();return u?(e=ed(s/60),A=ed(e/60),s%=60,e%=60,t=ed(c/12),c%=12,n=s?s.toFixed(3).replace(/\.?0+$/,""):"",r=u<0?"-":"",o=tp(this._months)!==tp(u)?"-":"",i=tp(this._days)!==tp(u)?"-":"",a=tp(this._milliseconds)!==tp(u)?"-":"",r+"P"+(t?o+t+"Y":"")+(c?o+c+"M":"")+(l?i+l+"D":"")+(A||e||s?"T":"")+(A?a+A+"H":"")+(e?a+e+"M":"")+(s?a+n+"S":"")):"P0D"}var tf=Au.prototype;return tf.isValid=function(){return this._isValid},tf.abs=function(){var e=this._data;return this._milliseconds=Aq(this._milliseconds),this._days=Aq(this._days),this._months=Aq(this._months),e.milliseconds=Aq(e.milliseconds),e.seconds=Aq(e.seconds),e.minutes=Aq(e.minutes),e.hours=Aq(e.hours),e.months=Aq(e.months),e.years=Aq(e.years),this},tf.add=function(e,A){return A$(this,e,A,1)},tf.subtract=function(e,A){return A$(this,e,A,-1)},tf.as=function(e){if(!this.isValid())return NaN;var A,t,n=this._milliseconds;if("month"===(e=R(e))||"quarter"===e||"year"===e)switch(A=this._days+n/864e5,t=this._months+A0(A),e){case"month":return t;case"quarter":return t/3;case"year":return t/12}else switch(A=this._days+Math.round(A1(this._months)),e){case"week":return A/7+n/6048e5;case"day":return A+n/864e5;case"hour":return 24*A+n/36e5;case"minute":return 1440*A+n/6e4;case"second":return 86400*A+n/1e3;case"millisecond":return Math.floor(864e5*A)+n;default:throw Error("Unknown unit "+e)}},tf.asMilliseconds=A4,tf.asSeconds=A2,tf.asMinutes=A6,tf.asHours=A9,tf.asDays=A8,tf.asWeeks=A5,tf.asMonths=A7,tf.asQuarters=te,tf.asYears=tA,tf.valueOf=A4,tf._bubble=function(){var e,A,t,n,r,o=this._milliseconds,i=this._days,a=this._months,s=this._data;return o>=0&&i>=0&&a>=0||o<=0&&i<=0&&a<=0||(o+=864e5*AZ(A1(a)+i),i=0,a=0),s.milliseconds=o%1e3,s.seconds=(e=ed(o/1e3))%60,s.minutes=(A=ed(e/60))%60,s.hours=(t=ed(A/60))%24,i+=ed(t/24),a+=r=ed(A0(i)),i-=AZ(A1(r)),n=ed(a/12),a%=12,s.days=i,s.months=a,s.years=n,this},tf.clone=function(){return AC(this)},tf.get=function(e){return e=R(e),this.isValid()?this[e+"s"]():NaN},tf.milliseconds=tn,tf.seconds=tr,tf.minutes=to,tf.hours=ti,tf.days=ta,tf.weeks=function(){return ed(this.days()/7)},tf.months=ts,tf.years=tl,tf.humanize=function(e,A){if(!this.isValid())return this.localeData().invalidDate();var t,n,r,o,i,a,s,l,c,u,d,g,p,m=!1,f=tu;return"object"==typeof e&&(A=e,e=!1),"boolean"==typeof e&&(m=e),"object"==typeof A&&(f=Object.assign({},tu,A),null!=A.s&&null==A.ss&&(f.ss=A.s-1)),g=this.localeData(),t=!m,n=f,r=AC(this).abs(),o=tc(r.as("s")),i=tc(r.as("m")),a=tc(r.as("h")),s=tc(r.as("d")),l=tc(r.as("M")),c=tc(r.as("w")),u=tc(r.as("y")),d=o<=n.ss&&["s",o]||o<n.s&&["ss",o]||i<=1&&["m"]||i<n.m&&["mm",i]||a<=1&&["h"]||a<n.h&&["hh",a]||s<=1&&["d"]||s<n.d&&["dd",s],null!=n.w&&(d=d||c<=1&&["w"]||c<n.w&&["ww",c]),(d=d||l<=1&&["M"]||l<n.M&&["MM",l]||u<=1&&["y"]||["yy",u])[2]=t,d[3]=+this>0,d[4]=g,p=td.apply(null,d),m&&(p=g.pastFuture(+this,p)),g.postformat(p)},tf.toISOString=tm,tf.toString=tm,tf.toJSON=tm,tf.locale=AT,tf.localeData=AM,tf.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",tm),tf.lang=AO,H("X",0,0,"unix"),H("x",0,0,"valueOf"),ec("x",er),ec("X",/[+-]?\d+(\.\d{1,3})?/),em("X",function(e,A,t){t._d=new Date(1e3*parseFloat(e))}),em("x",function(e,A,t){t._d=new Date(eg(e))}),A.version="2.30.1",k=Ai,A.fn=Aj,A.min=function(){var e=[].slice.call(arguments,0);return Al("isBefore",e)},A.max=function(){var e=[].slice.call(arguments,0);return Al("isAfter",e)},A.now=function(){return Date.now?Date.now():+new Date},A.utc=d,A.unix=function(e){return Ai(1e3*e)},A.months=function(e,A){return AJ(e,A,"months")},A.isDate=l,A.locale=eq,A.invalid=m,A.duration=AC,A.isMoment=C,A.weekdays=function(e,A,t){return AX(e,A,t,"weekdays")},A.parseZone=function(){return Ai.apply(null,arguments).parseZone()},A.localeData=eZ,A.isDuration=Ad,A.monthsShort=function(e,A){return AJ(e,A,"monthsShort")},A.weekdaysMin=function(e,A,t){return AX(e,A,t,"weekdaysMin")},A.defineLocale=e$,A.updateLocale=function(e,A){if(null!=A){var t,n,r=eY;null!=eW[e]&&null!=eW[e].parentLocale?eW[e].set(F(eW[e]._config,A)):(null!=(n=eX(e))&&(r=n._config),A=F(r,A),null==n&&(A.abbr=e),(t=new Q(A)).parentLocale=eW[e],eW[e]=t),eq(e)}else null!=eW[e]&&(null!=eW[e].parentLocale?(eW[e]=eW[e].parentLocale,e===eq()&&eq(e)):null!=eW[e]&&delete eW[e]);return eW[e]},A.locales=function(){return j(eW)},A.weekdaysShort=function(e,A,t){return AX(e,A,t,"weekdaysShort")},A.normalizeUnits=R,A.relativeTimeRounding=function(e){return void 0===e?tc:"function"==typeof e&&(tc=e,!0)},A.relativeTimeThreshold=function(e,A){return void 0!==tu[e]&&(void 0===A?tu[e]:(tu[e]=A,"s"===e&&(tu.ss=A-1),!0))},A.calendarFormat=function(e,A){var t=e.diff(A,"days",!0);return t<-6?"sameElse":t<-1?"lastWeek":t<0?"lastDay":t<1?"sameDay":t<2?"nextDay":t<7?"nextWeek":"sameElse"},A.prototype=Aj,A.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},A}()},3118(e){function A(e){var A=Error("Cannot find module '"+e+"'");throw A.code="MODULE_NOT_FOUND",A}A.keys=()=>[],A.resolve=A,A.id=3118,e.exports=A},856(e,A,t){"use strict";var n=t(7183);function r(){}function o(){}o.resetWarningCache=r,e.exports=function(){function e(e,A,t,r,o,i){if(i!==n){var a=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function A(){return e}e.isRequired=e;var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:A,element:e,elementType:e,instanceOf:A,node:e,objectOf:A,oneOf:A,oneOfType:A,shape:A,exact:A,checkPropTypes:o,resetWarningCache:r};return t.PropTypes=t,t}},7598(e,A,t){e.exports=t(856)()},7183(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},8249(e,A){"use strict";var t=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),g=Symbol.iterator,p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,f={};function h(e,A,t){this.props=e,this.context=A,this.refs=f,this.updater=t||p}function w(){}function B(e,A,t){this.props=e,this.context=A,this.refs=f,this.updater=t||p}h.prototype.isReactComponent={},h.prototype.setState=function(e,A){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,A,"setState")},h.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=h.prototype;var y=B.prototype=new w;y.constructor=B,m(y,h.prototype),y.isPureReactComponent=!0;var v=Array.isArray,C=Object.prototype.hasOwnProperty,E={current:null},S={key:!0,ref:!0,__self:!0,__source:!0};function I(e,A,n){var r,o={},i=null,a=null;if(null!=A)for(r in void 0!==A.ref&&(a=A.ref),void 0!==A.key&&(i=""+A.key),A)C.call(A,r)&&!S.hasOwnProperty(r)&&(o[r]=A[r]);var s=arguments.length-2;if(1===s)o.children=n;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];o.children=l}if(e&&e.defaultProps)for(r in s=e.defaultProps)void 0===o[r]&&(o[r]=s[r]);return{$$typeof:t,type:e,key:i,ref:a,props:o,_owner:E.current}}function U(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}var b=/\/+/g;function F(e,A){var t,n;return"object"==typeof e&&null!==e&&null!=e.key?(t=""+e.key,n={"=":"=0",":":"=2"},"$"+t.replace(/[=:]/g,function(e){return n[e]})):A.toString(36)}function Q(e,A,r){if(null==e)return e;var o=[],i=0;return!function e(A,r,o,i,a){var s,l,c,u=typeof A;("undefined"===u||"boolean"===u)&&(A=null);var d=!1;if(null===A)d=!0;else switch(u){case"string":case"number":d=!0;break;case"object":switch(A.$$typeof){case t:case n:d=!0}}if(d)return a=a(d=A),A=""===i?"."+F(d,0):i,v(a)?(o="",null!=A&&(o=A.replace(b,"$&/")+"/"),e(a,r,o,"",function(e){return e})):null!=a&&(U(a)&&(s=a,l=o+(!a.key||d&&d.key===a.key?"":(""+a.key).replace(b,"$&/")+"/")+A,a={$$typeof:t,type:s.type,key:l,ref:s.ref,props:s.props,_owner:s._owner}),r.push(a)),1;if(d=0,i=""===i?".":i+":",v(A))for(var p=0;p<A.length;p++){var m=i+F(u=A[p],p);d+=e(u,r,o,m,a)}else if("function"==typeof(m=null===(c=A)||"object"!=typeof c?null:"function"==typeof(c=g&&c[g]||c["@@iterator"])?c:null))for(A=m.call(A),p=0;!(u=A.next()).done;)m=i+F(u=u.value,p++),d+=e(u,r,o,m,a);else if("object"===u)throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(r=String(A))?"object with keys {"+Object.keys(A).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.");return d}(e,o,"","",function(e){return A.call(r,e,i++)}),o}function D(e){if(-1===e._status){var A=e._result;(A=A()).then(function(A){(0===e._status||-1===e._status)&&(e._status=1,e._result=A)},function(A){(0===e._status||-1===e._status)&&(e._status=2,e._result=A)}),-1===e._status&&(e._status=0,e._result=A)}if(1===e._status)return e._result.default;throw e._result}var T={current:null},O={transition:null};function M(){throw Error("act(...) is not supported in production builds of React.")}A.Children={map:Q,forEach:function(e,A,t){Q(e,function(){A.apply(this,arguments)},t)},count:function(e){var A=0;return Q(e,function(){A++}),A},toArray:function(e){return Q(e,function(e){return e})||[]},only:function(e){if(!U(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},A.Component=h,A.Fragment=r,A.Profiler=i,A.PureComponent=B,A.StrictMode=o,A.Suspense=c,A.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED={ReactCurrentDispatcher:T,ReactCurrentBatchConfig:O,ReactCurrentOwner:E},A.act=M,A.cloneElement=function(e,A,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=m({},e.props),o=e.key,i=e.ref,a=e._owner;if(null!=A){if(void 0!==A.ref&&(i=A.ref,a=E.current),void 0!==A.key&&(o=""+A.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in A)C.call(A,l)&&!S.hasOwnProperty(l)&&(r[l]=void 0===A[l]&&void 0!==s?s[l]:A[l])}var l=arguments.length-2;if(1===l)r.children=n;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];r.children=s}return{$$typeof:t,type:e.type,key:o,ref:i,props:r,_owner:a}},A.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},A.createElement=I,A.createFactory=function(e){var A=I.bind(null,e);return A.type=e,A},A.createRef=function(){return{current:null}},A.forwardRef=function(e){return{$$typeof:l,render:e}},A.isValidElement=U,A.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:D}},A.memo=function(e,A){return{$$typeof:u,type:e,compare:void 0===A?null:A}},A.startTransition=function(e){var A=O.transition;O.transition={};try{e()}finally{O.transition=A}},A.unstable_act=M,A.useCallback=function(e,A){return T.current.useCallback(e,A)},A.useContext=function(e){return T.current.useContext(e)},A.useDebugValue=function(){},A.useDeferredValue=function(e){return T.current.useDeferredValue(e)},A.useEffect=function(e,A){return T.current.useEffect(e,A)},A.useId=function(){return T.current.useId()},A.useImperativeHandle=function(e,A,t){return T.current.useImperativeHandle(e,A,t)},A.useInsertionEffect=function(e,A){return T.current.useInsertionEffect(e,A)},A.useLayoutEffect=function(e,A){return T.current.useLayoutEffect(e,A)},A.useMemo=function(e,A){return T.current.useMemo(e,A)},A.useReducer=function(e,A,t){return T.current.useReducer(e,A,t)},A.useRef=function(e){return T.current.useRef(e)},A.useState=function(e){return T.current.useState(e)},A.useSyncExternalStore=function(e,A,t){return T.current.useSyncExternalStore(e,A,t)},A.useTransition=function(){return T.current.useTransition()},A.version="18.3.1"},6326(e,A,t){"use strict";e.exports=t(8249)},9741(e){e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},4774(e,A,t){"use strict";var n=t(6326),r="function"==typeof Object.is?Object.is:function(e,A){return e===A&&(0!==e||1/e==1/A)||e!=e&&A!=A},o=n.useState,i=n.useEffect,a=n.useLayoutEffect,s=n.useDebugValue;function l(e){var A=e.getSnapshot;e=e.value;try{var t=A();return!r(e,t)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,A){return A()}:function(e,A){var t=A(),n=o({inst:{value:t,getSnapshot:A}}),r=n[0].inst,c=n[1];return a(function(){r.value=t,r.getSnapshot=A,l(r)&&c({inst:r})},[e,t,A]),i(function(){return l(r)&&c({inst:r}),e(function(){l(r)&&c({inst:r})})},[e]),s(t),t};A.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:c},9449(e,A,t){"use strict";var n=t(6326),r=t(3391),o="function"==typeof Object.is?Object.is:function(e,A){return e===A&&(0!==e||1/e==1/A)||e!=e&&A!=A},i=r.useSyncExternalStore,a=n.useRef,s=n.useEffect,l=n.useMemo,c=n.useDebugValue;A.useSyncExternalStoreWithSelector=function(e,A,t,n,r){var u=a(null);if(null===u.current){var d={hasValue:!1,value:null};u.current=d}else d=u.current;var g=i(e,(u=l(function(){function e(e){if(!s){if(s=!0,i=e,e=n(e),void 0!==r&&d.hasValue){var A=d.value;if(r(A,e))return a=A}return a=e}if(A=a,o(i,e))return A;var t=n(e);return void 0!==r&&r(A,t)?A:(i=e,a=t)}var i,a,s=!1,l=void 0===t?null:t;return[function(){return e(A())},null===l?void 0:function(){return e(l())}]},[A,t,n,r]))[0],u[1]);return s(function(){d.hasValue=!0,d.value=g},[g]),c(g),g}},3391(e,A,t){"use strict";e.exports=t(4774)},4413(e,A,t){"use strict";e.exports=t(9449)},7268(e){"use strict";e.exports=m},6557(e){"use strict";e.exports=A},6336(e){"use strict";e.exports=c},642(e){"use strict";e.exports=l},8082(e){"use strict";e.exports=t},2678(e){"use strict";e.exports=a},2302(e){"use strict";e.exports=f},933(e){"use strict";e.exports=I},6023(e){"use strict";e.exports=s},4713(e){"use strict";e.exports=d},9195(e){"use strict";e.exports=p},6404(e){"use strict";e.exports=n},1748(e){"use strict";e.exports=E},3154(e){"use strict";e.exports=u},6974(e){"use strict";e.exports=h},6285(e){"use strict";e.exports=S},1002(e){"use strict";e.exports=i},1459(e){"use strict";e.exports=U},1016(e){"use strict";e.exports=o},8842(e){"use strict";e.exports=y},7141(A){"use strict";A.exports=e},7438(e){"use strict";e.exports=g},2351(e){"use strict";e.exports=r},3545(e){"use strict";e.exports=B},55(e){"use strict";e.exports=C},2111(e){"use strict";e.exports=w},7155(e){"use strict";e.exports=v},5530(e){!function(){"use strict";var A={}.hasOwnProperty;function t(){for(var e="",r=0;r<arguments.length;r++){var o=arguments[r];o&&(e=n(e,function(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return t.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var r="";for(var o in e)A.call(e,o)&&e[o]&&(r=n(r,o));return r}(o)))}return e}function n(e,A){return A?e?e+" "+A:e+A:e}e.exports?(t.default=t,e.exports=t):"function"==typeof define&&"object"==typeof define.amd&&define.amd?define("classnames",[],function(){return t}):window.classNames=t}()},6739(e,A,t){"use strict";t.d(A,{vt:()=>c});let n=e=>{let A,t=new Set,n=(e,n)=>{let r="function"==typeof e?e(A):e;if(!Object.is(r,A)){let e=A;A=(null!=n?n:"object"!=typeof r||null===r)?r:Object.assign({},A,r),t.forEach(t=>t(A,e))}},r=()=>A,o={setState:n,getState:r,getInitialState:()=>i,subscribe:e=>(t.add(e),()=>t.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),t.clear()}},i=A=e(n,r,o);return o};var r=t(6326),o=t(4413);let{useDebugValue:i}=r,{useSyncExternalStoreWithSelector:a}=o,s=!1,l=e=>{"function"!=typeof e&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let A="function"==typeof e?e?n(e):n:e,t=(e,t)=>(function(e,A=e=>e,t){t&&!s&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),s=!0);let n=a(e.subscribe,e.getState,e.getServerState||e.getInitialState,A,t);return i(n),n})(A,e,t);return Object.assign(t,A),t},c=e=>e?l(e):l},1978(e,A,t){"use strict";t.d(A,{lt:()=>o});let n=new Map,r=e=>{let A=n.get(e);return A?Object.fromEntries(Object.entries(A.stores).map(([e,A])=>[e,A.getState()])):{}},o=(e,A={})=>(t,o,a)=>{let s,{enabled:l,anonymousActionType:c,store:u,...d}=A;try{s=(null==l||l)&&window.__REDUX_DEVTOOLS_EXTENSION__}catch(e){}if(!s)return l&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),e(t,o,a);let{connection:g,...p}=((e,A,t)=>{if(void 0===e)return{type:"untracked",connection:A.connect(t)};let r=n.get(t.name);if(r)return{type:"tracked",store:e,...r};let o={connection:A.connect(t),stores:{}};return n.set(t.name,o),{type:"tracked",store:e,...o}})(u,s,d),m=!0;a.setState=(e,A,n)=>{let i=t(e,A);if(!m)return i;let s=void 0===n?{type:c||"anonymous"}:"string"==typeof n?{type:n}:n;return void 0===u?null==g||g.send(s,o()):null==g||g.send({...s,type:`${u}/${s.type}`},{...r(d.name),[u]:a.getState()}),i};let f=(...e)=>{let A=m;m=!1,t(...e),m=A},h=e(a.setState,o,a);if("untracked"===p.type?null==g||g.init(h):(p.stores[p.store]=a,null==g||g.init(Object.fromEntries(Object.entries(p.stores).map(([e,A])=>[e,e===p.store?h:A.getState()])))),a.dispatchFromDevtools&&"function"==typeof a.dispatch){let e=!1,A=a.dispatch;a.dispatch=(...t)=>{"__setState"!==t[0].type||e||(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),e=!0),A(...t)}}return g.subscribe(e=>{var A;switch(e.type){case"ACTION":if("string"!=typeof e.payload)return void console.error("[zustand devtools middleware] Unsupported action format");return i(e.payload,e=>{if("__setState"===e.type){if(void 0===u)return void f(e.state);1!==Object.keys(e.state).length&&console.error(`
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ohif/core/src/utils"),require("@cornerstonejs/core"),require("@cornerstonejs/core/loaders"),require("@cornerstonejs/tools/enums"),require("@ohif/extension-default/src/Toolbar/Toolbar"),require("@ohif/core/src/hooks"),require("@ohif/core"),require("@cornerstonejs/core/utilities"),require("@cornerstonejs/polymorphic-segmentation"),require("@cornerstonejs/core/enums/RequestType"),require("@cornerstonejs/core/enums"),require("@cornerstonejs/tools/utilities"),require("@cornerstonejs/tools"),require("@ohif/extension-default"),require("@cornerstonejs/tools/annotation"),require("@cornerstonejs/ai"),require("@cornerstonejs/dicom-image-loader"),require("@cornerstonejs/tools/utilities/contourSegmentation/logicalOperators"),require("dcmjs"),require("@ohif/i18n"),require("@cornerstonejs/metadata"),require("@ohif/core/src/services/ToolBarService/ToolbarService"),require("gl-matrix"),require("@ohif/ui-next"),require("@cornerstonejs/tools/segmentation"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@cornerstonejs/labelmap-interpolation"),require("@ohif/core/src")):"function"==typeof define&&define.amd?define(["@ohif/core/src/utils","@cornerstonejs/core","@cornerstonejs/core/loaders","@cornerstonejs/tools/enums","@ohif/extension-default/src/Toolbar/Toolbar","@ohif/core/src/hooks","@ohif/core","@cornerstonejs/core/utilities","@cornerstonejs/polymorphic-segmentation","@cornerstonejs/core/enums/RequestType","@cornerstonejs/core/enums","@cornerstonejs/tools/utilities","@cornerstonejs/tools","@ohif/extension-default","@cornerstonejs/tools/annotation","@cornerstonejs/ai","@cornerstonejs/dicom-image-loader","@cornerstonejs/tools/utilities/contourSegmentation/logicalOperators","dcmjs","@ohif/i18n","@cornerstonejs/metadata","@ohif/core/src/services/ToolBarService/ToolbarService","gl-matrix","@ohif/ui-next","@cornerstonejs/tools/segmentation","@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps","@cornerstonejs/labelmap-interpolation","@ohif/core/src"],t):"object"==typeof exports?exports["ohif-extension-cornerstone"]=t(require("@ohif/core/src/utils"),require("@cornerstonejs/core"),require("@cornerstonejs/core/loaders"),require("@cornerstonejs/tools/enums"),require("@ohif/extension-default/src/Toolbar/Toolbar"),require("@ohif/core/src/hooks"),require("@ohif/core"),require("@cornerstonejs/core/utilities"),require("@cornerstonejs/polymorphic-segmentation"),require("@cornerstonejs/core/enums/RequestType"),require("@cornerstonejs/core/enums"),require("@cornerstonejs/tools/utilities"),require("@cornerstonejs/tools"),require("@ohif/extension-default"),require("@cornerstonejs/tools/annotation"),require("@cornerstonejs/ai"),require("@cornerstonejs/dicom-image-loader"),require("@cornerstonejs/tools/utilities/contourSegmentation/logicalOperators"),require("dcmjs"),require("@ohif/i18n"),require("@cornerstonejs/metadata"),require("@ohif/core/src/services/ToolBarService/ToolbarService"),require("gl-matrix"),require("@ohif/ui-next"),require("@cornerstonejs/tools/segmentation"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@cornerstonejs/labelmap-interpolation"),require("@ohif/core/src")):e["ohif-extension-cornerstone"]=t(e["@ohif/core/src/utils"],e["@cornerstonejs/core"],e["@cornerstonejs/core/loaders"],e["@cornerstonejs/tools/enums"],e["@ohif/extension-default/src/Toolbar/Toolbar"],e["@ohif/core/src/hooks"],e["@ohif/core"],e["@cornerstonejs/core/utilities"],e["@cornerstonejs/polymorphic-segmentation"],e["@cornerstonejs/core/enums/RequestType"],e["@cornerstonejs/core/enums"],e["@cornerstonejs/tools/utilities"],e["@cornerstonejs/tools"],e["@ohif/extension-default"],e["@cornerstonejs/tools/annotation"],e["@cornerstonejs/ai"],e["@cornerstonejs/dicom-image-loader"],e["@cornerstonejs/tools/utilities/contourSegmentation/logicalOperators"],e.dcmjs,e["@ohif/i18n"],e["@cornerstonejs/metadata"],e["@ohif/core/src/services/ToolBarService/ToolbarService"],e["gl-matrix"],e["@ohif/ui-next"],e["@cornerstonejs/tools/segmentation"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"],e["@cornerstonejs/labelmap-interpolation"],e["@ohif/core/src"])}(globalThis,(e,t,A,n,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y,v,C,S,E,I,b,U)=>(()=>{var F,Q,T={6309(e,t){"use strict";t.A=function(e,t){if(e&&t){var A=Array.isArray(t)?t:t.split(",");if(0===A.length)return!0;var n=e.name||"",r=(e.type||"").toLowerCase(),o=r.replace(/\/.*$/,"");return A.some(function(e){var t=e.trim().toLowerCase();return"."===t.charAt(0)?n.toLowerCase().endsWith(t):t.endsWith("/*")?o===t.replace(/\/.*$/,""):r===t})}return!0}},7406(e,t,A){"use strict";A.r(t),A.d(t,{default:()=>Z});var n=A(6326),r=A(6557),o=A(1002),i=A(55),a=A(6499),s=A(7598),l=A.n(s),c=A(3117);function u(e){return Array.isArray(e?.data)?e.data[0]:e?.data}function d(e){let t=u(e);return!!(t&&(t.volume||t.volumeId))}function p(e){return e?.dataShapeType??e?.viewportType}function g(e){let{viewportType:t}=e,A=u(e);return t===r.Enums.ViewportType.STACK&&r.Enums.Events.STACK_NEW_IMAGE||t===r.Enums.ViewportType.ORTHOGRAPHIC&&r.Enums.Events.VOLUME_NEW_IMAGE||d(e)&&r.Enums.Events.VOLUME_NEW_IMAGE||A?.imageIds&&r.Enums.Events.STACK_NEW_IMAGE||r.Enums.Events.IMAGE_RENDERED}function m(e,t){let A=u(e);return!d(e)&&A?.imageIds?.length||t.getNumberOfSlices()}function f({viewportData:e,viewportId:t,element:A,imageSliceData:o,setImageSliceData:a,scrollbarHeight:s,servicesManager:l}){let{cineService:u,cornerstoneViewportService:d}=l.services;return(0,n.useEffect)(()=>{if(!e)return;let A=d.getCornerstoneViewport(t);if(!(!A||(0,c.Ov)(A)))try{let t=A.getCurrentImageIdIndex(),n=m(e,A);a({imageIndex:t,numberOfSlices:n})}catch(e){console.warn(e)}},[t,e]),(0,n.useEffect)(()=>{if(!e)return;let n=g(e),r=e=>{let A=d.getCornerstoneViewport(t);if(!A||(0,c.Ov)(A))return;let{imageIndex:n,newImageIdIndex:r=n,imageIdIndex:o}=e.detail;a({imageIndex:r??o,numberOfSlices:A.getNumberOfSlices()})};return A.addEventListener(n,r),()=>{A.removeEventListener(n,r)}},[e,A]),n.createElement(i.ImageScrollbar,{onChange:e=>((e,t)=>{let n=d.getCornerstoneViewport(t),{isCineEnabled:o}=u.getState();o&&(u.stopClip(A,{viewportId:t}),u.setCine({id:t,isPlaying:!1})),r.utilities.jumpToSlice(n.element,{imageIndex:e,debounceLoading:!0})})(e,t),max:o.numberOfSlices?o.numberOfSlices-1:0,height:s,value:o.imageIndex||0})}f.propTypes={viewportData:l().object,viewportId:l().string.isRequired,element:l().instanceOf(Element),scrollbarHeight:l().string,imageSliceData:l().object.isRequired,setImageSliceData:l().func.isRequired,servicesManager:l().object.isRequired};var h=A(1371);function w(e){let t=e?.detail;return t?.imageId||t?.image?.imageId||t?.cachedImage?.imageId}function B({viewportData:e,viewportId:t,element:A,imageSliceData:o,setImageSliceData:a,servicesManager:s}){let{cineService:l,cornerstoneViewportService:u,customizationService:d,viewedDataService:p}=s.services,f=!1!==d.getCustomization("viewportScrollbar.showLoadedEndpoints"),y=!1!==d.getCustomization("viewportScrollbar.showLoadedFill"),v=!1!==d.getCustomization("viewportScrollbar.showViewedFill"),C=!1!==d.getCustomization("viewportScrollbar.showLoadingPattern"),S=d.getCustomization("viewportScrollbar.viewedDwellMs"),E=d.getCustomization("viewportScrollbar.loadedBatchIntervalMs"),{numberOfSlices:I,imageIndex:b}=o,U=(0,n.useMemo)(()=>(function(e){if(!e?.data?.length)return[];let t=e.data[0],A=t.volume?.imageIds,n=t.imageIds;return A||n||[]})(e),[e]),F=(0,n.useMemo)(()=>{let e=new Map;for(let t=0;t<U.length;t++){let A=U[t];A&&e.set(A,t)}return e},[U]),Q=function({viewportData:e,viewportId:t,element:A,cornerstoneViewportService:o}){let[i,a]=(0,n.useState)(!1),s=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!e)return;let n=()=>{let A=o.getCornerstoneViewport(t),n=A?.getImageData?.(),r=A?.getCamera?.()?.viewPlaneNormal;n&&r&&(s.current=[...r]);let i=function(e,t){if(!e||!t||(0,c.Ov)(t))return!1;let A=(0,h.qU)(t),n=A.getShape();return"stack"===n||"volume"===n&&A.isInAcquisitionPlane()}(e,A);a(e=>e===i?e:i)};n();let i=()=>{let e=o.getCornerstoneViewport(t),A=e?.getCamera?.()?.viewPlaneNormal,i=s.current;A&&i&&r.utilities.isEqual(A,i)||n()};return A.addEventListener(r.Enums.Events.CAMERA_MODIFIED,i),()=>{A.removeEventListener(r.Enums.Events.CAMERA_MODIFIED,i)}},[e,t,o,A]),i}({viewportData:e,viewportId:t,element:A,cornerstoneViewportService:u});!function({viewportData:e,viewportId:t,element:A,cornerstoneViewportService:o,setImageSliceData:i}){(0,n.useEffect)(()=>{if(!e)return;let n={imageIndex:-1,numberOfSlices:-1},a=(e,t)=>{(e!==n.imageIndex||t!==n.numberOfSlices)&&(n.imageIndex=e,n.numberOfSlices=t,i({imageIndex:e,numberOfSlices:t}))},s=()=>{let A=o.getCornerstoneViewport(t);if(!(!A||(0,c.Ov)(A)))try{let t=A.getCurrentImageIdIndex(),n=m(e,A);a(t,n)}catch(e){console.warn(e)}};s();let l=requestAnimationFrame(s),u=g(e),d=e=>{let A=o.getCornerstoneViewport(t);if(!A||(0,c.Ov)(A))return;let n=function(e){let{imageIndex:t,newImageIdIndex:A=t,imageIdIndex:n}=e.detail;return A??n}(e);null==n||a(n,A.getNumberOfSlices())};return A.addEventListener(u,d),A.addEventListener(r.Enums.Events.CAMERA_MODIFIED,s),()=>{cancelAnimationFrame(l),A.removeEventListener(u,d),A.removeEventListener(r.Enums.Events.CAMERA_MODIFIED,s)}},[e,A,t,o,i])}({viewportData:e,viewportId:t,element:A,cornerstoneViewportService:u,setImageSliceData:a});let{bytes:T,version:D,isFull:O}=function({isFullMode:e,numberOfSlices:t,viewportData:A,imageIds:o,imageIdToIndex:a,loadedBatchIntervalMs:s}){let l=(0,i.useByteArray)(t||0,s),{resetWith:c,setByte:u,clearByte:d}=l;return(0,n.useEffect)(()=>{if(e&&t&&c(e=>{for(let t=0;t<e.length;t++){let A=o[t];A&&r.cache.isLoaded(A)&&(e[t]=1)}}),!e||!A)return;let n=e=>{let t=w(e);if(!t)return;let A=a.get(t);void 0!==A&&u(A)},i=e=>{let t=w(e);if(!t)return;let A=a.get(t);void 0!==A&&d(A)};return r.eventTarget.addEventListener(r.Enums.Events.IMAGE_CACHE_IMAGE_ADDED,n),r.eventTarget.addEventListener(r.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,i),()=>{r.eventTarget.removeEventListener(r.Enums.Events.IMAGE_CACHE_IMAGE_ADDED,n),r.eventTarget.removeEventListener(r.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,i)}},[o,e,t,A,a,c,u,d]),l}({isFullMode:Q,numberOfSlices:I,viewportData:e,imageIds:U,imageIdToIndex:F,loadedBatchIntervalMs:"number"==typeof E&&E>=0?E:200}),{bytes:M,version:x}=function({isFullMode:e,numberOfSlices:t,imageIndex:A,imageIds:r,imageIdToIndex:o,viewedDwellMs:a,viewedDataService:s}){let l=(0,i.useByteArray)(t||0),{resetWith:c,setByte:u}=l;return(0,n.useEffect)(()=>{if(e&&t&&c(e=>{for(let t=0;t<e.length;t++){let A=r[t];A&&s?.isDataViewed(A)&&(e[t]=1)}}),!s)return;let A=s.subscribeViewedDataChanges(({viewedDataId:A,viewedDataCleared:n})=>{if(!e||!t)return;if(n)return void c(e=>{e.fill(0)});let r=o.get(A);void 0!==r&&u(r)});return()=>{A.unsubscribe()}},[r,e,t,o,c,u,s]),(0,n.useEffect)(()=>{if(!e||!t)return;let n=e=>{u(e);let t=r[e];t&&s?.markDataViewed(t)};if(0===a)return void n(A||0);let o=window.setTimeout(()=>{n(A||0)},a);return()=>{window.clearTimeout(o)}},[e,t,A,r,u,a,s]),l}({isFullMode:Q,numberOfSlices:I,imageIndex:b,imageIds:U,imageIdToIndex:F,viewedDwellMs:"number"==typeof S&&S>=0?S:0,viewedDataService:p}),L=!!Q&&!!C&&!O;return!I||I<=1?null:n.createElement("div",{style:{position:"absolute",right:0,top:0,height:"100%",padding:"8px 5px",zIndex:10}},n.createElement("div",{style:{position:"relative",height:"100%",width:"11px"}},n.createElement(i.SmartScrollbar,{className:"absolute inset-0",value:b||0,total:I,onValueChange:e=>{let n=u.getCornerstoneViewport(t);if(!n||(0,c.Ov)(n))return;let{isCineEnabled:o}=l.getState();o&&(l.stopClip(A,{viewportId:t}),l.setCine({id:t,frameRate:void 0,isPlaying:!1})),r.utilities.jumpToSlice(n.element,{imageIndex:e,debounceLoading:!0})},isLoading:L,enableKeyboardNavigation:!1,"aria-label":"Image navigation scrollbar",indicator:d.getCustomization("viewportScrollbar.indicator")},n.createElement(i.SmartScrollbarTrack,null,Q&&y&&n.createElement(i.SmartScrollbarFill,{marked:T,version:D,className:"bg-neutral/25",loadingClassName:"bg-neutral/50"}),Q&&v&&n.createElement(i.SmartScrollbarFill,{marked:M,version:x,className:"bg-primary/35",loadingClassName:"bg-primary/35"})),n.createElement(i.SmartScrollbarIndicator,null),Q&&f&&n.createElement(i.SmartScrollbarEndpoints,{marked:T,version:D}))))}B.propTypes={viewportData:l().object,viewportId:l().string.isRequired,element:l().instanceOf(Element),imageSliceData:l().object.isRequired,setImageSliceData:l().func.isRequired,servicesManager:l().object.isRequired};var y=A(7155),v=A(4713),C=A(4867),S=A.n(C);function E(e,t=0){if(null!==e)return parseFloat(e).toFixed(t)}function I(e,t="HH:mm:ss"){return S()(e,"HH:mm:ss").format(t)}var b=A(9227);let{formatPN:U,formatValue:F}=o.utils,Q={"ohif.overlayItem":function(e){let{instance:t,customization:A={}}=e,{color:r,attribute:o,title:i,label:a,background:s}=A,l=F(A.contentF?.(e,A)??t?.[o]);return null===l||""===l?null:n.createElement("div",{className:"overlay-item flex flex-row",style:{color:r,background:s},title:i},a?n.createElement("span",{className:"mr-1 shrink-0"},a):null,n.createElement("span",{className:"ml-0 shrink-0"},l))},"ohif.overlayItem.windowLevel":function({voi:e,customization:t}){let{windowWidth:A,windowCenter:r}=e,{title:o}=t;return"number"!=typeof r||"number"!=typeof A?null:n.createElement("div",{className:"overlay-item flex flex-row",style:{color:t?.color},title:o},n.createElement("span",{className:"mr-0.5 shrink-0 opacity-[0.70]"},"W:"),n.createElement("span",{className:"mr-2.5 shrink-0"},A.toFixed(0)),n.createElement("span",{className:"mr-0.5 shrink-0 opacity-[0.70]"},"L:"),n.createElement("span",{className:"shrink-0"},r.toFixed(0)))},"ohif.overlayItem.zoomLevel":function({scale:e,customization:t}){return n.createElement("div",{className:"overlay-item flex flex-row",style:{color:t&&t.color||void 0}},n.createElement("span",{className:"mr-0.5 shrink-0 opacity-[0.70]"},"Zoom:"),n.createElement("span",null,e.toFixed(2),"x"))},"ohif.overlayItem.instanceNumber":function({instanceNumber:e,imageSliceData:t,customization:A}){let{imageIndex:r,numberOfSlices:o}=t,{title:i}=A;return n.createElement("div",{className:"overlay-item flex flex-row",style:{color:A&&A.color||void 0},title:i},n.createElement("span",null,null!=e?n.createElement(n.Fragment,null,n.createElement("span",{className:"mr-0.5 shrink-0 opacity-[0.70]"},"I:"),n.createElement("span",null,`${e} (${r+1}/${o})`)):`${r+1}/${o}`))}};function T({element:e,viewportData:t,imageSliceData:A,viewportId:o,servicesManager:a}){let{cornerstoneViewportService:s,customizationService:l,toolGroupService:c,displaySetService:u}=a.services,[d,p]=(0,n.useState)(1),[g,m]=(0,n.useState)(0),{isViewportBackgroundLight:f,windowLevel:h}=(0,b.eH)(o),{imageIndex:w}=A,B=l.getCustomization("viewportOverlay.topLeft"),y=l.getCustomization("viewportOverlay.topRight"),C=l.getCustomization("viewportOverlay.bottomLeft"),S=l.getCustomization("viewportOverlay.bottomRight"),F=(0,n.useMemo)(()=>t?D(t,o,w,s):null,[t,o,w,s]),O=(0,n.useMemo)(()=>{let e=function(e,t){if(!e?.data?.length)return null;let A=e.data.map(e=>t.getDisplaySetByUID(e.displaySetInstanceUID)).filter(e=>!!e);return A.length?A:null}(t,u);if(!e)return null;let[A]=e,{instances:n,instance:r}=A;return{displaySets:e,displaySet:A,instance:n?.[w],instances:n,referenceInstance:r}},[t,o,F,s]),M=(0,n.useCallback)(e=>{e.detail.annotation.metadata.toolName===v.UltrasoundPleuraBLineTool.toolName&&m(e=>e+1)},[]);(0,n.useEffect)(()=>(r.eventTarget.addEventListener(v.Enums.Events.ANNOTATION_MODIFIED,M),()=>{r.eventTarget.removeEventListener(v.Enums.Events.ANNOTATION_MODIFIED,M)}),[M]),(0,n.useEffect)(()=>{let t=e=>{let{previousCamera:t,camera:A}=e.detail;if(t.parallelScale!==A.parallelScale||t.scale!==A.scale){let e=s.getCornerstoneViewport(o);if(!e)return;p(e.getZoom())}};return e.addEventListener(r.Enums.Events.CAMERA_MODIFIED,t),()=>{e.removeEventListener(r.Enums.Events.CAMERA_MODIFIED,t)}},[o,t,s,e]);let x=(0,n.useCallback)((r,s)=>{let c={...s,element:e,viewportData:t,imageSliceData:A,viewportId:o,servicesManager:a,customization:r,isLight:f,formatters:{formatPN:U,formatDate:i.formatDICOMDate,formatTime:I,formatNumberPrecision:E}};if(!r)return null;let{inheritsFrom:u}=r,d=Q[u];if(d)return n.createElement(d,c);{let e=l.transform(r);if(e&&"object"==typeof e&&"contentF"in e&&"function"==typeof e.contentF)return e.contentF(c)}},[e,t,A,o,a,l,O,h,d,F,g,f]),L=(0,n.useCallback)((e,t)=>{let A={...O,formatters:{formatDate:i.formatDICOMDate},voi:h,scale:d,instanceNumber:F,viewportId:o,toolGroupService:c,isLight:f};return n.createElement(n.Fragment,null,e.map((e,r)=>n.createElement("div",{key:`${t}_${r}`},(!e?.condition||e.condition(A))&&x(e,A)||null)))},[x]);return n.createElement(i.ViewportOverlay,{topLeft:L(B,"topLeftOverlayItem"),topRight:L(y,"topRightOverlayItem"),bottomLeft:L(C,"bottomLeftOverlayItem"),bottomRight:L(S,"bottomRightOverlayItem"),color:f?"text-neutral-dark":"text-neutral-light",shadowClass:f?"shadow-light":"shadow-dark"})}let D=(e,t,A,n)=>{let o;switch(p(e)){case r.Enums.ViewportType.STACK:o=function(e,t){let A=e.data[0].imageIds,n=A[t];if(!n)return;let{instanceNumber:o}=r.metaData.get("generalImageModule",n)||{};if(!(A.length<=1))return parseInt(o)}(e,A);break;case r.Enums.ViewportType.ORTHOGRAPHIC:o=function(e,t,A,n){let o=e.data;if(!o)return;let{volume:i}=o[0];if(!i)return;let{direction:a,imageIds:s}=i,l=A.getCornerstoneViewport(t);if(!l)return;let c=(0,h.qU)(l).getViewPlaneNormal();if(!c)return;let u=a.slice(6,9),d=y.vec3.cross(y.vec3.create(),c,u);if(1e-4>y.vec3.length(d)){let e=s[n];if(!e)return;let{instanceNumber:t}=r.metaData.get("generalImageModule",e)||{};return parseInt(t)}}(e,t,n,A)}return o??null};T.propTypes={viewportData:l().object,imageIndex:l().number,viewportId:l().string};var O=A(5530),M=A.n(O);let{getOrientationStringLPS:x,invertOrientationStringLPS:L}=v.utilities.orientation,R=function({element:e,viewportData:t,imageSliceData:A,viewportId:o,servicesManager:i,orientationMarkers:a=["top","left"]}){let[s,l]=(0,n.useState)(0),{isViewportBackgroundLight:c}=(0,b.eH)(o),{cornerstoneViewportService:u}=i.services;(0,n.useEffect)(()=>{let t=()=>l(Date.now());return e.addEventListener(r.Enums.Events.CAMERA_MODIFIED,t),()=>{e.removeEventListener(r.Enums.Events.CAMERA_MODIFIED,t)}},[e]);let d=(0,n.useMemo)(()=>{var i,l;let d,g,m;if(!t||0===s)return"";if(!e||!(0,r.getEnabledElement)(e))return console.log(`ViewportOrientationMarkers :: Viewport element not enabled (${o})`),"";if(!u.getViewportInfo(o))return console.log(`ViewportOrientationMarkers :: No viewport (${o})`),"";if(p(t)===r.Enums.ViewportType.STACK){let e=A.imageIndex,n=t.data[0].imageIds?.[e];if(!n)return!1;let{isDefaultValueSetForRowCosine:o,isDefaultValueSetForColumnCosine:i}=r.metaData.get("imagePlaneModule",n)||{};if(i||o)return""}let{viewport:f}=(0,r.getEnabledElement)(e),h=f.canvasToWorld([0,0]),w=f.canvasToWorld([1,0]),B=f.canvasToWorld([0,1]),v=y.vec3.sub(y.vec3.create(),w,h),C=y.vec3.sub(y.vec3.create(),B,h);y.vec3.normalize(v,v),y.vec3.normalize(C,C);let S=(i=v,l=C,d=x(i),g=x(l),m=L(d),{top:L(g),left:m,right:d,bottom:g});return a.map((e,t)=>n.createElement("div",{className:M()("overlay-text",`${e}-mid orientation-marker`,c?"text-neutral-dark/70":"text-neutral-light/70",c?"shadow-light":"shadow-dark","text-base","leading-5"),key:`${e}-mid orientation-marker`},n.createElement("div",{className:"orientation-marker-value"},S[e])))},[t,A,s,a,e,c]);return n.createElement("div",{className:"ViewportOrientationMarkers select-none"},d)};function V({viewportData:e,element:t}){let[A,o]=(0,n.useState)(!1),[i,a]=(0,n.useState)(!1),s=(0,n.useRef)(null),l=(0,n.useRef)(null),c=e=>{clearTimeout(s.current),s.current=setTimeout(()=>{o(!0)},50)},u=e=>{clearTimeout(s.current),o(!1)},d=e=>{clearTimeout(s.current),l.current===e.detail.imageId&&(a(e.detail.error),l.current=null)};return((0,n.useEffect)(()=>(t.addEventListener(r.Enums.Events.STACK_VIEWPORT_SCROLL,c),t.addEventListener(r.Enums.Events.IMAGE_LOAD_ERROR,d),t.addEventListener(r.Enums.Events.STACK_NEW_IMAGE,u),()=>{t.removeEventListener(r.Enums.Events.STACK_VIEWPORT_SCROLL,c),t.removeEventListener(r.Enums.Events.STACK_NEW_IMAGE,u),t.removeEventListener(r.Enums.Events.IMAGE_LOAD_ERROR,d)}),[t,e]),i)?n.createElement(n.Fragment,null,n.createElement("div",{className:"absolute top-0 left-0 h-full w-full bg-black opacity-50"},n.createElement("div",{className:"transparent flex h-full w-full items-center justify-center"},n.createElement("p",{className:"text-highlight text-xl font-light"},n.createElement("h4",null,"Error Loading Image"),n.createElement("p",null,"An error has occurred."),n.createElement("p",null,i))))):A?n.createElement("div",{className:"pointer-events-none absolute top-0 left-0 h-full w-full bg-black opacity-50"},n.createElement("div",{className:"transparent flex h-full w-full items-center justify-center"},n.createElement("p",{className:"text-highlight text-xl font-light"},"Loading..."))):null}V.propTypes={error:l().object,element:l().object};let N=function(e){let{viewportId:t,element:A,scrollbarHeight:r,servicesManager:o}=e,{cornerstoneViewportService:i,customizationService:a}=o.services,[s,l]=(0,n.useState)({imageIndex:0,numberOfSlices:0}),[c,u]=(0,n.useState)(null);if((0,n.useEffect)(()=>{let{unsubscribe:e}=i.subscribe(i.EVENTS.VIEWPORT_DATA_CHANGED,e=>{e.viewportId===t&&u(e.viewportData)});return()=>{e()}},[t]),!A)return null;if(c){let e=i.getViewportInfo(t);if(e?.viewportOptions?.customViewportProps?.hideOverlays)return null}let d=a.getCustomization("viewportScrollbar.variant");return n.createElement("div",{className:"noselect"},"legacy"!==d?n.createElement(B,{viewportId:t,viewportData:c,element:A,imageSliceData:s,setImageSliceData:l,servicesManager:o}):n.createElement(f,{viewportId:t,viewportData:c,element:A,imageSliceData:s,setImageSliceData:l,scrollbarHeight:r,servicesManager:o}),n.createElement(T,{imageSliceData:s,viewportData:c,viewportId:t,servicesManager:o,element:A}),n.createElement(V,{viewportData:c,element:A}),n.createElement(R,{imageSliceData:s,element:A,viewportData:c,servicesManager:o,viewportId:t}))},H=(0,n.createContext)(null),{Provider:_}=H;function k({viewportId:e,cineService:t,newStackFrameRate:A,isPlaying:o,dynamicInfo:i,customizationService:a}){let s=a.getCustomization("cinePlayer"),[l,c]=(0,n.useState)(i);(0,n.useEffect)(()=>{c(i)},[i]),(0,n.useEffect)(()=>{if(!l)return;let e=e=>{let{volumeId:t,dimensionGroupNumber:A,numDimensionGroups:n,splittingTag:r}=e.detail;c({volumeId:t,dimensionGroupNumber:A,numDimensionGroups:n,label:r})};return r.eventTarget.addEventListener(r.Enums.Events.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED,e),()=>{r.eventTarget.removeEventListener(r.Enums.Events.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED,e)}},[l]),(0,n.useEffect)(()=>{if(!l)return;let{volumeId:e,dimensionGroupNumber:t,numDimensionGroups:A,splittingTag:n}=l||{};r.cache.getVolume(e,!0).dimensionGroupNumber=t,c({volumeId:e,dimensionGroupNumber:t,numDimensionGroups:A,label:n})},[]);let u=(0,n.useCallback)(e=>{let{volumeId:t,dimensionGroupNumber:A}=e;r.cache.getVolume(t,!0).dimensionGroupNumber=A},[]);return n.createElement(s,{className:"absolute left-1/2 bottom-3 -translate-x-1/2",frameRate:A,isPlaying:o,onClose:()=>{t.setCine({id:e,isPlaying:!1}),t.setIsCineEnabled(!1),t.setViewportCineClosed(e)},onPlayPauseChange:A=>{t.setCine({id:e,isPlaying:A})},onFrameRateChange:A=>t.setCine({id:e,frameRate:A}),dynamicInfo:l,updateDynamicInfo:u})}l().any,l().any;let P=function({enabledVPElement:e,viewportId:t,servicesManager:A}){let{customizationService:o,displaySetService:a,viewportGridService:s}=A.services,[{isCineEnabled:l,cines:c},u]=(0,i.useCine)(),[d,p]=(0,n.useState)(24),[g,m]=(0,n.useState)(null),[f]=(0,n.useContext)(H),h=(0,n.useRef)(null),w=()=>{if(!c?.[t]||!e)return;let{isPlaying:A=!1,frameRate:n=24}=c[t],r=Math.max(n,1);return A?u.playClip(e,{framesPerSecond:r,viewportId:t}):u.stopClip(e)},B=(0,n.useCallback)(()=>{if(!e||!l)return;let{viewports:A}=s.getState(),{displaySetInstanceUIDs:n}=A.get(t),r=24,o=c[t]?.isPlaying||!1;n.forEach(e=>{let t=a.getDisplaySetByUID(e);if(t.FrameRate&&(r=Math.round(1e3/t.FrameRate),o||=!!f.autoPlayCine),t.isDynamicVolume){let{dynamicVolumeInfo:e}=t,A=e.timePoints.length,n=e.splittingTag,r=e.dimensionGroupNumber||1;m({volumeId:t.displaySetInstanceUID,dimensionGroupNumber:r,numDimensionGroups:A,label:n})}else m(null)}),o&&u.setIsCineEnabled(o),u.setCine({id:t,isPlaying:o,frameRate:r}),p(r)},[a,t,s,c,l,e]);if((0,n.useEffect)(()=>(h.current=!0,B(),()=>{h.current=!1}),[l,B]),(0,n.useEffect)(()=>{l&&w()},[l,w,e]),(0,n.useEffect)(()=>{if(e)return e.addEventListener(r.Enums.Events.VIEWPORT_NEW_IMAGE_SET,B),e.addEventListener(r.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,B),()=>{u.setCine({id:t,isPlaying:!1}),e.removeEventListener(r.Enums.Events.VIEWPORT_NEW_IMAGE_SET,B),e.removeEventListener(r.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,B)}},[e,B,t]),(0,n.useEffect)(()=>{if(c&&c[t]&&e&&h.current)return w(),()=>{u.stopClip(e,{viewportId:t})}},[c,t,u,e,w]),!l)return null;let y=c[t],v=y?.isPlaying||!1;return n.createElement(k,{viewportId:t,cineService:u,newStackFrameRate:d,isPlaying:v,dynamicInfo:g,customizationService:o})};var G=A(2351),K=A(8842);let j=(0,n.memo)(function({viewportId:e}){let{isHovered:t,isActive:A}=(0,b.uY)(e);return t||A?n.createElement(i.IconPresentationProvider,{size:"medium",IconContainer:i.ToolButton,containerProps:{size:"tiny",className:"font-normal text-primary hover:bg-primary/25"}},n.createElement(i.ViewportActionCorners.Container,null,n.createElement(i.ViewportActionCorners.TopLeft,null,n.createElement(G.Toolbar,{buttonSection:"viewportActionMenu.topLeft",viewportId:e,location:K.ButtonLocation.TopLeft})),n.createElement(i.ViewportActionCorners.TopMiddle,null,n.createElement(G.Toolbar,{buttonSection:"viewportActionMenu.topMiddle",viewportId:e,location:K.ButtonLocation.TopMiddle})),n.createElement(i.ViewportActionCorners.TopRight,null,n.createElement(G.Toolbar,{buttonSection:"viewportActionMenu.topRight",viewportId:e,location:K.ButtonLocation.TopRight})),n.createElement(i.ViewportActionCorners.LeftMiddle,null,n.createElement(G.Toolbar,{buttonSection:"viewportActionMenu.leftMiddle",viewportId:e,location:K.ButtonLocation.LeftMiddle})),n.createElement(i.ViewportActionCorners.RightMiddle,null,n.createElement(G.Toolbar,{buttonSection:"viewportActionMenu.rightMiddle",viewportId:e,location:K.ButtonLocation.RightMiddle})),n.createElement(i.ViewportActionCorners.BottomLeft,null,n.createElement(G.Toolbar,{buttonSection:"viewportActionMenu.bottomLeft",viewportId:e,location:K.ButtonLocation.BottomLeft})),n.createElement(i.ViewportActionCorners.BottomMiddle,null,n.createElement(G.Toolbar,{buttonSection:"viewportActionMenu.bottomMiddle",viewportId:e,location:K.ButtonLocation.BottomMiddle})),n.createElement(i.ViewportActionCorners.BottomRight,null,n.createElement(G.Toolbar,{buttonSection:"viewportActionMenu.bottomRight",viewportId:e,location:K.ButtonLocation.BottomRight})))):null});var W=A(3500),Y=A(6360),z=A(619),X=A(2140);let J=(0,n.memo)(({servicesManager:e,viewportId:t})=>{let{displaySetService:A,cineService:r,viewportGridService:o,customizationService:i,cornerstoneViewportService:a}=e.services,[s,l]=(0,n.useState)(t),c=(0,n.useCallback)(()=>{if(r.isViewportCineClosed(s))return;let e=o.getDisplaySetsUIDsForViewport(s);if(!e)return;let t=e.map(e=>A.getDisplaySetByUID(e));if(!t.length)return;let n=t.map(e=>e?.Modality),a=t.some(e=>e?.isDynamicVolume),l=i.getCustomization("autoCineModalities");(n.some(e=>l.includes(e))||a)&&!r.getState().isCineEnabled&&r.setIsCineEnabled(!0)},[s,r,o,A,i]);return(0,n.useEffect)(()=>{let e=o.subscribe(o.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED,({viewportId:e})=>l(e));return()=>e.unsubscribe()},[t,o]),(0,n.useEffect)(()=>{let e=a.subscribe(a.EVENTS.VIEWPORT_DATA_CHANGED,()=>{l(o.getActiveViewportId()),c()});return()=>e.unsubscribe()},[t,a,o,c]),(0,n.useEffect)(()=>{c()},[c]),null},function(e,t){return e.viewportId===t.viewportId&&e.servicesManager===t.servicesManager});J.displayName="ActiveViewportBehavior";let q=new Map,$=n.memo(e=>{let{displaySets:t,dataSource:A,viewportOptions:s,displaySetOptions:l,servicesManager:c,onElementEnabled:u,onElementDisabled:d,isJumpToMeasurementDisabled:p=!1,initialImageIndex:g,isHangingProtocolLayout:m}=e,f=s.viewportId;if(!f)throw Error("Viewport ID is required");for(;l.length<t.length;)l.push({});s.viewportType=t.some(e=>e.isDynamicVolume&&e.isReconstructable)?"volume":s.viewportType;let[h,w]=(0,n.useState)("100px"),[B,y]=(0,n.useState)(null),v=(0,n.useRef)(),C=(0,o.useViewportRef)(f),{displaySetService:S,toolbarService:E,toolGroupService:I,syncGroupService:b,cornerstoneViewportService:U,segmentationService:F,cornerstoneCacheService:Q,customizationService:T,measurementService:D}=c.services,[O]=(0,i.useViewportDialog)(),M=(0,n.useCallback)(()=>{w(`${v.current.clientHeight-10}px`)},[v]),x=(0,n.useCallback)(e=>{if(v.current&&e?.length){let{width:t,height:A}=e[0].contentRect,n=q.get(f)||{width:0,height:0},r=n.width!==t||n.height!==A;t>0&&A>0&&r&&(q.set(f,{width:t,height:A}),U.resize(),M())}},[f,v,U,M]);(0,n.useEffect)(()=>{let e=v.current;if(!e)return;let t=new ResizeObserver(x);return t.observe(e),()=>{t.unobserve(e),t.disconnect()}},[x]);let L=(0,n.useCallback)(e=>{let t=e.getRenderingEngineId(),A=e.getSyncGroups();I.removeViewportFromToolGroup(f,t),b.removeViewportFromSyncGroup(f,t,A),F.clearSegmentationRepresentations(f)},[f,F,b,I]),R=(0,n.useCallback)(e=>{if(e.detail.element!==v.current)return;let{viewportId:t,element:A}=e.detail,n=U.getViewportInfo(t);if(!n)return;(0,a.ye)(t,A),y(A);let r=n.getRenderingEngineId(),o=n.getToolGroupId(),i=n.getSyncGroups();I.addViewportToToolGroup(t,r,o),b.addViewportToSyncGroup(t,r,i);let{synchronizersStore:s}=X.U.getState();s?.[t]?.length&&!m&&function(e,t){let{synchronizersStore:A}=X.U.getState(),n=A[e];n&&n.forEach(A=>{if(!A.id)return;let{id:n,sourceViewports:r,targetViewports:o}=A,i=t.getSynchronizer(n);if(!i)return;let a=r.find(t=>t.viewportId===e),s=o.find(t=>t.viewportId===e),l=i.getSourceViewports().find(t=>t.viewportId===e),c=i.getTargetViewports().find(t=>t.viewportId===e);a&&!l&&i.addSource({viewportId:a.viewportId,renderingEngineId:a.renderingEngineId}),s&&!c&&i.addTarget({viewportId:s.viewportId,renderingEngineId:s.renderingEngineId})})}(t,b),u&&"function"==typeof u&&u(e)},[f,u,I]);(0,n.useEffect)(()=>(U.enableViewport(f,v.current),r.eventTarget.addEventListener(r.Enums.Events.ELEMENT_ENABLED,R),M(),()=>{let e=U.getViewportInfo(f);e&&(U.storePresentation({viewportId:f}),L(e),d&&"function"==typeof d&&d(e),U.disableElement(f),C.unregister(),r.eventTarget.removeEventListener(r.Enums.Events.ELEMENT_ENABLED,R))}),[]),(0,n.useEffect)(()=>{let{unsubscribe:e}=S.subscribe(S.EVENTS.DISPLAY_SET_SERIES_METADATA_INVALIDATED,async({displaySetInstanceUID:e,invalidateData:t})=>{if(!t)return;let n=U.getViewportInfo(f);if(n.hasDisplaySet(e)){let t=n.getViewportData(),r=await Q.invalidateViewportData(t,e,A,S);U.updateViewport(f,r,!0)}});return()=>{e()}},[f]),(0,n.useEffect)(()=>{s.viewportType||(s.viewportType="stack"),(async()=>{let e=await Q.createViewportData(t,s,A,g),n=function(e){let{lutPresentationStore:t}=Y.I.getState(),{positionPresentationStore:A}=W.q.getState(),{segmentationPresentationStore:n}=z.v.getState(),{presentationIds:r}=e;if(!r)return{positionPresentation:null,lutPresentation:null,segmentationPresentation:null};let{lutPresentationId:o,positionPresentationId:i,segmentationPresentationId:a}=r,s=A[i];return{positionPresentation:s,lutPresentation:t[o],segmentationPresentation:n[a]}}(s);s.needsRerendering&&(s.needsRerendering=!1),U.setViewportData(f,e,s,l,n)})()},[s,t,A]);let V=T.getCustomization("ui.notificationComponent");return n.createElement(n.Fragment,null,n.createElement("div",{className:"viewport-wrapper"},n.createElement("div",{className:"cornerstone-viewport-element",style:{height:"100%",width:"100%"},onContextMenu:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),"data-viewportid":f,ref:e=>{v.current=e,e&&C.register(e)}}),n.createElement(N,{viewportId:f,toolBarService:E,element:v.current,scrollbarHeight:h,servicesManager:c}),n.createElement(P,{enabledVPElement:B,viewportId:f,servicesManager:c}),n.createElement(J,{viewportId:f,servicesManager:c})),n.createElement("div",{className:"absolute top-[24px] w-full"},O.viewportId===f&&n.createElement(V,{id:"viewport-notification",message:O.message,type:O.type,actions:O.actions,onSubmit:O.onSubmit,onOutsideClick:O.onOutsideClick,onKeyPress:O.onKeyPress})),n.createElement(j,{viewportId:f}))},function(e,t){if(t.needsRerendering||e.displaySets.length!==t.displaySets.length||e.viewportOptions.orientation!==t.viewportOptions.orientation||e.viewportOptions.toolGroupId!==t.viewportOptions.toolGroupId||t.viewportOptions.viewportType&&e.viewportOptions.viewportType!==t.viewportOptions.viewportType||t.viewportOptions.needsRerendering)return!1;let A=e.displaySets,n=t.displaySets;if(A.length!==n.length)return!1;for(let e=0;e<A.length;e++){let t=A[e],r=n.find(e=>e.displaySetInstanceUID===t.displaySetInstanceUID);if(!r||r.images?.length!==t.images?.length)return!1;if(r.images?.length){for(let e=0;e<r.images.length;e++)if(r.images[e].imageId!==t.images[e].imageId)return!1}}return!0});$.displayName="OHIFCornerstoneViewport";let Z=$},9227(e,t,A){"use strict";A.d(t,{Ne:()=>a.N,uY:()=>i,eH:()=>s.e,Lt:()=>n.L}),A(9692),A(1303),A(8191);var n=A(7233),r=A(6326),o=A(55);function i(e){let[t,A]=(0,r.useState)(!1),[n]=(0,o.useViewportGrid)(),{activeViewportId:i}=n,a=i===e,s=(0,r.useCallback)(()=>{let t,n=document.querySelector(`[data-viewportid="${e}"]`),r=n?.closest(".viewport-wrapper")||n;if(!r)return null;let o=r.getBoundingClientRect(),i=!1,a=()=>{o=r.getBoundingClientRect()},s=e=>{let t,n,r=(t=e.clientX,n=e.clientY,t>=o.left&&t<=o.right&&n>=o.top&&n<=o.bottom);r!==i&&(i=r,A(r))},l=()=>{clearTimeout(t),t=setTimeout(a,10)};return window.addEventListener("resize",l),document.addEventListener("mousemove",s),a(),()=>{window.removeEventListener("resize",l),document.removeEventListener("mousemove",s),clearTimeout(t)}},[e]);return(0,r.useEffect)(()=>s(),[s]),(0,r.useMemo)(()=>({isHovered:t,isActive:a}),[t,a])}var a=A(8228);A(9433);var s=A(154)},9692(e,t,A){"use strict";A.d(t,{c:()=>o});var n=A(55),r=A(7233);function o(){let[e]=(0,n.useViewportGrid)(),t=e?.activeViewportId;return(0,r.L)({viewportId:t})}},9433(e,t,A){"use strict";A.d(t,{R:()=>a});var n=A(6326),r=A(1459),o=A(8228),i=A(3117);function a({viewportId:e}){let{servicesManager:t}=(0,r.useSystem)(),{cornerstoneViewportService:A,trackedMeasurementsService:s,measurementService:l}=t.services,{backgroundDisplaySet:c}=(0,o.N)(e),[u,d]=(0,n.useState)(!1),[p,g]=(0,n.useState)(!1),[m,f]=(0,n.useState)([]),h=(0,n.useCallback)(()=>{if(!l||!c?.SeriesInstanceUID||!u)return void f([]);let e=c.SeriesInstanceUID;f(l.getMeasurements(t=>t.referenceSeriesUID===e).map(e=>e.uid))},[l,c,u]),w=(0,n.useCallback)(()=>{if(!s||!c?.SeriesInstanceUID)return void d(!1);let t=s.getTrackedSeries();if(!t?.length)return void d(!1);let n=A?.getCornerstoneViewport(e),r=c.SeriesInstanceUID;(0,i.rX)(n)&&!n?.getCurrentImageId()?d(!1):d(t.includes(r))},[e,c,A,s]);return(0,n.useEffect)(()=>{h()},[u,h]),(0,n.useEffect)(()=>{if(!s)return;g(s.isTrackingEnabled()),w();let e=[s.subscribe(s.EVENTS.TRACKING_ENABLED,()=>g(!0)),s.subscribe(s.EVENTS.TRACKING_DISABLED,()=>g(!1)),s.subscribe(s.EVENTS.TRACKED_SERIES_CHANGED,()=>w()),s.subscribe(s.EVENTS.SERIES_ADDED,()=>w()),s.subscribe(s.EVENTS.SERIES_REMOVED,()=>w())];return l&&[l.EVENTS.MEASUREMENT_ADDED,l.EVENTS.RAW_MEASUREMENT_ADDED,l.EVENTS.MEASUREMENT_UPDATED,l.EVENTS.MEASUREMENT_REMOVED,l.EVENTS.MEASUREMENTS_CLEARED].forEach(t=>{e.push(l.subscribe(t,()=>h()))}),()=>{e.forEach(e=>e.unsubscribe())}},[s,l,w,h]),{isTracked:u,isLocked:p,seriesInstanceUID:c?.SeriesInstanceUID,trackedMeasurementUIDs:m}}},1303(e,t,A){"use strict";A.d(t,{d:()=>l});var n=A(6326),r=A(2051),o=A.n(r),i=A(1002),a=A(3545),s=A.n(a);function l({measurementFilter:e}={measurementFilter:()=>!0}){let{servicesManager:t}=(0,i.useSystem)(),{measurementService:A,displaySetService:r}=t.services,[a,c]=(0,n.useState)([]);return(0,n.useEffect)(()=>{let t=()=>{let t=A.getMeasurements(e).map(e=>(function(e,t){let{referenceSeriesUID:A}=e,n=t.getDisplaySetsForSeries(A);if(!n[0]?.instances)throw Error('The tracked measurements panel should only be tracking "stack" displaySets.');let{findingSites:r,finding:o,label:i,displayText:a}=e,l=r?.[0],c=i||o?.text||l?.text||s().t("MeasurementTable:empty"),u={primary:[],secondary:a?.secondary||[]};return a&&u.primary.push(...a.primary),r&&r.forEach(e=>{e?.text&&e.text!==c&&u.primary.push(e.text)}),o&&o.text&&o.text!==c&&u.primary.push(o.text),{...e,displayText:u,label:c}})(e,r));c(e=>JSON.stringify(e)!==JSON.stringify(t)?t:e)},n=o()(t,100);t();let i=[A.EVENTS.MEASUREMENT_ADDED,A.EVENTS.RAW_MEASUREMENT_ADDED,A.EVENTS.MEASUREMENT_UPDATED,A.EVENTS.MEASUREMENT_REMOVED,A.EVENTS.MEASUREMENTS_CLEARED].map(e=>A.subscribe(e,n).unsubscribe);return()=>{i.forEach(e=>e()),n.cancel()}},[A,e,r]),a}},8191(e,t,A){"use strict";A.d(t,{j:()=>s});var n=A(6326),r=A(2051),o=A.n(r),i=A(7141),a=A(1002);function s(e){let{subscribeToDataModified:t=!1,debounceTime:A=0}=e||{},{servicesManager:r}=(0,a.useSystem)(),{segmentationService:s,customizationService:l}=r.services,[c,u]=(0,n.useState)([]);return(0,n.useEffect)(()=>{let e=()=>{let e=s.getSegmentations();e?.length?u(e.map(e=>(function(e,t){let{label:A,segments:n}=e,r=t.getCustomization("panelSegmentation.readableText"),o={};return Object.entries(n).forEach(([e,t])=>{let A;o[e]={...t,displayText:(A={primary:[],secondary:[]},t.cachedStats&&(A.primary=function e(t,A=0){let n=[],o=" ".repeat(A);for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let s=t[a],l=r?.[a];if(!l)continue;"object"!=typeof s||null===s||Array.isArray(s)?n.push(`${o}${l}: ${(0,i.roundNumber)(s,2)}`):(n.length>0&&n.push(""),n.push(`${o}${l}`),n.push(...e(s,A+1)))}return n}(t.cachedStats)),A)}}),{...e,label:A,segments:o}})(e,l))):u([])},n=A>0?o()(e,A,{leading:!0,trailing:!0}):e;e();let r=[s.subscribe(s.EVENTS.SEGMENTATION_MODIFIED,n),s.subscribe(s.EVENTS.SEGMENTATION_REMOVED,n)];return t&&r.push(s.subscribe(s.EVENTS.SEGMENTATION_DATA_MODIFIED,n)),()=>{r.forEach(e=>e.unsubscribe()),A>0&&n.cancel()}},[s,l,A,t]),c}},8228(e,t,A){"use strict";A.d(t,{N:()=>c});var n=A(6326),r=A(1002),o=A(55),i=A(6557);let a=["SEG","RTSTRUCT"],s=(e,t)=>e.isOverlayable===t.isOverlayable?0:e.isOverlayable?-1:1,l=(e,t)=>r.utils.isLowPriorityModality(e.Modality)?1:-1;function c(e,t){let{servicesManager:A}=(0,r.useSystem)(),{displaySetService:c,segmentationService:u}=A.services,[d,p]=(0,o.useViewportGrid)(),g=e||d.activeViewportId,{includeBackground:m=!0,includeForeground:f=!0,includeOverlay:h=!0,includePotentialOverlay:w=!0,includePotentialForeground:B=!0,includePotentialBackground:y=!0}=t||{},v=(0,n.useMemo)(()=>y?c.getActiveDisplaySets():[],[c,y]),[C,S]=(0,n.useState)(h?u.getSegmentationRepresentations(g):[]);(0,n.useEffect)(()=>{S(h?u.getSegmentationRepresentations(g):[]);let e=h?[u.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,u.EVENTS.SEGMENTATION_REPRESENTATION_REMOVED].map(e=>u.subscribe(e,()=>{S(u.getSegmentationRepresentations(g))})):[];return()=>{e.forEach(e=>e.unsubscribe())}},[u,g,h]);let E=(0,n.useMemo)(()=>h?C.map(e=>c.getDisplaySetByUID(e.segmentationId)):[],[h,C,c]),I=(0,n.useMemo)(()=>E.map(e=>e.displaySetInstanceUID),[E]),b=m||f||w||B,{viewportDisplaySets:U=[],enhancedDisplaySets:F=[]}=(0,n.useMemo)(()=>b&&function({viewportId:e,services:t}){let{displaySetService:A,viewportGridService:n}=t,r=n.getDisplaySetsUIDsForViewport(e);if(!r?.length)return{viewportDisplaySets:[],enhancedDisplaySets:[]};let o=A.getActiveDisplaySets().filter(e=>!r.includes(e.displaySetInstanceUID)),s=r.map(e=>A.getDisplaySetByUID(e)),l=i.utilities.isValidVolume(s[0].imageIds||[]),c=s[0];return{viewportDisplaySets:s,enhancedDisplaySets:o.map(e=>{if(!c.isReconstructable||e.unsupported||e.FrameOfReferenceUID&&e.FrameOfReferenceUID!==c.FrameOfReferenceUID)return{...e,isOverlayable:!1};if(!a.includes(e.Modality)){if(!l)return{...e,isOverlayable:!1};let t=e.imageIds||e.images?.map(e=>e.imageId);if(!e.isMultiFrame&&t?.length>0&&!i.utilities.isValidVolume(t))return{...e,isOverlayable:!1}}return{...e,isOverlayable:!0}})}}({viewportId:g,services:{displaySetService:c,viewportGridService:p}})||{viewportDisplaySets:[],enhancedDisplaySets:[]},[g,c,p,b]),Q=(0,n.useMemo)(()=>m&&U.length>0?U[0]:void 0,[m,U]),T=(0,n.useMemo)(()=>f&&Q?U.filter(e=>!a.includes(e.Modality)&&e.displaySetInstanceUID!==Q.displaySetInstanceUID):[],[f,U,Q]),D=(0,n.useMemo)(()=>T.map(e=>e.displaySetInstanceUID),[T]),O=(0,n.useMemo)(()=>w?F.filter(e=>a.includes(e.Modality)&&!I.includes(e.displaySetInstanceUID)&&e.isOverlayable).sort(s):[],[w,F,I]),M=(0,n.useMemo)(()=>B?F.filter(e=>!a.includes(e.Modality)&&!D.includes(e.displaySetInstanceUID)&&e.isOverlayable).sort(l):[],[B,F,D]),x=(0,n.useMemo)(()=>y&&Q?v.filter(e=>!a.includes(e.Modality)&&e.displaySetInstanceUID!==Q.displaySetInstanceUID&&!I.includes(e.displaySetInstanceUID)&&!D.includes(e.displaySetInstanceUID)).sort(l):[],[y,v,Q,I,D]),L={allDisplaySets:v||[],viewportDisplaySets:U||[]};return m&&(L.backgroundDisplaySet=Q),f&&(L.foregroundDisplaySets=T),h&&(L.overlayDisplaySets=E),w&&(L.potentialOverlayDisplaySets=O),B&&(L.potentialForegroundDisplaySets=M),y&&(L.potentialBackgroundDisplaySets=x),L}},154(e,t,A){"use strict";A.d(t,{A:()=>d,e:()=>u});var n=A(6326),r=A(1002),o=A(8228),i=A(6557),a=A(3117),s=A(1371),l=A(8842);let c=e=>{if(null!=e)return Array.isArray(e)?e.reduce((e,t)=>Math.max(e,"number"==typeof t?t:t?.opacity??0),0):e};function u(e,t){let{servicesManager:A,commandsManager:u}=(0,r.useSystem)(),{cornerstoneViewportService:d,colorbarService:g,customizationService:m}=A.services,[f,h]=(0,n.useState)(g.hasColorbar(e)),[w,B]=(0,n.useState)(t?.location?(e=>{switch(e){case l.ButtonLocation.LeftMiddle:return"left";case l.ButtonLocation.RightMiddle:return"right";case l.ButtonLocation.BottomMiddle:return"bottom";case l.ButtonLocation.TopMiddle:return"top";default:return"bottom"}})(t.location):"bottom"),[y,v]=(0,n.useState)(),C=n.useRef(),[S,E]=(0,n.useState)(()=>e?d.getCornerstoneViewport(e)??null:null),[I,b]=(0,n.useState)((0,a.Ov)(S)),U=S?(0,s.qU)(S).getOpacityGamma():s.yP,F=(0,n.useCallback)(e=>Math.pow(e,U),[U]),Q=(0,n.useCallback)(e=>Math.pow(e,1/U),[U]),[T,D]=(0,n.useState)(),[O,M]=(0,n.useState)(),[x,L]=(0,n.useState)(),[R,V]=(0,n.useState)({min:0,max:255}),{viewportDisplaySets:N,foregroundDisplaySets:H}=(0,o.N)(e),{displaySetService:_}=A.services,k=(0,n.useMemo)(()=>t?.displaySetInstanceUID?t.displaySetInstanceUID:H&&H.length>0?H[H.length-1].displaySetInstanceUID:N&&N.length>0?N[0].displaySetInstanceUID:void 0,[t?.displaySetInstanceUID,N,H]),P=e?d.getViewportInfo(e):null,{presets:G,colorbarProperties:K,volumeRenderingPresets:j,volumeRenderingQualityRange:W}=function(e){let t=e.getCustomization("cornerstone.windowLevelPresets"),A=e.getCustomization("cornerstone.colorbar"),{volumeRenderingPresets:n=[],volumeRenderingQualityRange:r={min:0,max:1,step:.1}}=e.getCustomization("cornerstone.3dVolumeRendering")||{};return{presets:t,colorbarProperties:A,volumeRenderingPresets:n,volumeRenderingQualityRange:r}}(m),Y=P?.getViewportOptions().background,z=!!Y&&i.utilities.isEqual(Y,[1,1,1]),X=(0,n.useMemo)(()=>N?.filter(e=>G?.[e.Modality]).map(e=>({displaySetInstanceUID:e.displaySetInstanceUID,modality:e.Modality,presets:G[e.Modality]}))||[],[N,G]);(0,n.useEffect)(()=>{if(!e)return void E(null);let t=d.getCornerstoneViewport(e);if(E(t??null),t)return;let{unsubscribe:A}=d.subscribe(d.EVENTS.VIEWPORT_DATA_CHANGED,({viewportId:t})=>{if(t!==e)return;let A=d.getCornerstoneViewport(e);A&&E(A)});return()=>{A()}},[e,d]),(0,n.useEffect)(()=>{if(!k)return;let e=_.getDisplaySetByUID(k);if(!e?.imageIds?.length||!S)return;let t=(0,s.qU)(S).getVoxelManagerForDisplaySet(k);if(!t?.getRange)return;let A=t.getRange();V({min:A[0],max:A[1]})},[k,_,S]);let J=(0,n.useMemo)(()=>{if(!k||0===X.length)return[];let e=X.find(e=>e.displaySetInstanceUID===k);return e?e.presets:[]},[X,k]);(0,n.useEffect)(()=>{if(b((0,a.Ov)(S)),S&&k)try{let e=(0,s.qU)(S),t=e.getDataIdForDisplaySet(k),A=e.getPresentation(t??k);if(!A)return;if(A.voiRange)v(A.voiRange),C.current=A.voiRange;else{let A=e.getDefaultVOIRange(t??k);A&&(v(A),C.current=A)}if(A.colormap?.opacity!==void 0){let e=c(A.colormap.opacity);void 0!==e&&(D(e),M(Q(e)))}A.colormap?.threshold!==void 0&&L(A.colormap.threshold)}catch(e){console.error("Error initializing VOI range:",e)}},[k,S]),(0,n.useEffect)(()=>{if(!e)return;let t=()=>{h(g.hasColorbar(e))};t();let{unsubscribe:A}=g.subscribe(g.EVENTS.STATE_CHANGED,t);return()=>{A()}},[g,e]),(0,n.useEffect)(()=>{if(!k||!S?.element)return;let e=S.element,t=e=>{let{range:t}=e.detail;!t||C.current&&p(C.current,t)||(C.current=t,v(t))},A=e=>{let{colormap:t}=e.detail;if(t&&(void 0!==t.threshold&&L(t.threshold),void 0!==t.opacity)){let e=c(t.opacity);void 0!==e&&(D(e),M(Q(e)))}};return e.addEventListener(i.Enums.Events.VOI_MODIFIED,t),e.addEventListener(i.Enums.Events.COLORMAP_MODIFIED,A),()=>{e.removeEventListener(i.Enums.Events.VOI_MODIFIED,t),e.removeEventListener(i.Enums.Events.COLORMAP_MODIFIED,A)}},[k,S,Q]);let q=(0,n.useCallback)(()=>{if(!k)throw Error("No active display set instance UID is available");if(N?.length===0)throw Error("No display sets are available for this viewport");if(!N?.some(e=>e.displaySetInstanceUID===k))throw Error(`Display set with UID ${k} is not present in the viewport`);return k},[k,N]),$=(0,n.useCallback)(t=>{if(!e)return;let A=q(),{lower:n,upper:r}=i.utilities.windowLevel.toLowHighRange(t.windowWidth,t.windowCenter),o={lower:n,upper:r};C.current&&p(C.current,o)||(C.current=o,v(o),u.run({commandName:"setViewportWindowLevel",commandOptions:{...t,viewportId:e,displaySetInstanceUID:A},context:"CORNERSTONE"}))},[u,e,q]),Z=(0,n.useCallback)(t=>{if(e&&(!C.current||!p(C.current,t))){C.current=t,v(t);let A=i.utilities.windowLevel.toWindowLevel(t.lower,t.upper),n=q();u.run({commandName:"setViewportWindowLevel",commandOptions:{...A,viewportId:e,displaySetInstanceUID:n},context:"CORNERSTONE"})}},[e,u,q]),ee=(0,n.useCallback)(t=>{if(!e||N?.length===0||!K)return;let{width:A,colorbarTickPosition:n,colorbarInitialColormap:r}=K,o=n||"top";o="left"===w||"right"===w?"left"===w?"right":"left":"top"===w?"bottom":"top";let i={viewportId:e,colormaps:K.colormaps||{},ticks:{position:o},width:A,position:w,activeColormapName:r||"Grayscale",...t};z&&(i.ticks={position:o,style:{font:"13px Inter",color:"#000000",maxNumTicks:8,tickSize:5,tickWidth:1,labelMargin:3}});let a=N.map(e=>e.displaySetInstanceUID);try{u.run("toggleViewportColorbar",{viewportId:e,options:i,displaySetInstanceUIDs:a})}catch(e){console.error("Error toggling colorbar:",e)}},[u,e,K,z,N,w]),et=(0,n.useCallback)(({colormap:t,opacity:A=1,immediate:n=!1})=>{if(!e)return;let r=q();void 0!==A&&D(A),u.run({commandName:"setViewportColormap",commandOptions:{viewportId:e,colormap:t,displaySetInstanceUID:r,opacity:A,immediate:n},context:"CORNERSTONE"})},[u,q,S,e]),eA=(0,n.useCallback)(e=>{if(!S)return;D(e),M(Q(e));let t=q();(0,s.qU)(S).setLayerOpacity(t,e)&&S.render()},[q,Q,S]),en=(0,n.useCallback)(e=>{eA(F(e))},[F,eA]),er=(0,n.useCallback)(e=>{if(!S)return;let t=q();L(e),(0,s.qU)(S).setLayerThreshold(t,e)&&S.render()},[q,S]),eo=(0,n.useMemo)(()=>{if(!k||!N?.length)return null;try{if(!S)return null;return(0,s.qU)(S).getColormap(k)||K?.colormaps?.find(e=>"Grayscale"===e.Name)||K?.colormaps?.[0]}catch(e){return console.error("Error getting viewport colormap:",e),K?.colormaps?.find(e=>"Grayscale"===e.Name)||K?.colormaps?.[0]}},[k,N,K?.colormaps,S]),ei=(0,n.useCallback)(t=>{if(!e)return;let A=q();u.run({commandName:"setVolumesPreset",commandOptions:{preset:t,viewportId:e,displaySetInstanceUID:A}})},[u,e,q]),ea=(0,n.useCallback)(t=>{e&&u.run({commandName:"setVolumeRenderingQuality",commandOptions:{quality:t,viewportId:e}})},[u,e]),es=(0,n.useCallback)(({ambient:t,diffuse:A,specular:n})=>{e&&u.run({commandName:"setVolumeLighting",commandOptions:{ambient:t,diffuse:A,specular:n,viewportId:e}})},[u,e]),el=(0,n.useCallback)(t=>{e&&u.run({commandName:"setVolumeShading",commandOptions:{enabled:t,viewportId:e}})},[u,e]);return{is3DVolume:I,isViewportBackgroundLight:z,setWindowLevel:$,setVOIRange:Z,voiRange:y,windowLevel:y?i.utilities.windowLevel.toWindowLevel(y?.lower,y?.upper):{windowCenter:null,windowWidth:null},hasColorbar:f,toggleColorbar:ee,setColormap:et,colormap:eo,opacity:T,setOpacity:eA,opacityLinear:O,setOpacityLinear:en,threshold:x,setThreshold:er,pixelValueRange:R,setVolumeRenderingPreset:ei,setVolumeRenderingQuality:ea,setVolumeLighting:es,setVolumeShading:el,viewportDisplaySets:N,colorbarProperties:K,colorbarPosition:w,setColorbarPosition:B,windowLevelPresets:J,allWindowLevelPresets:X,volumeRenderingPresets:j,volumeRenderingQualityRange:W}}let d=u;function p(e,t,A=.001){return!!e&&!!t&&Math.abs(e.lower-t.lower)<A&&Math.abs(e.upper-t.upper)<A}},7233(e,t,A){"use strict";A.d(t,{L:()=>l});var n=A(6326),r=A(2051),o=A.n(r),i=A(7141),a=A(1002);let s=["SM","OT","DOC","ECG"];function l({viewportId:e,subscribeToDataModified:t=!1,debounceTime:A=0}){let{servicesManager:r}=(0,a.useSystem)(),{segmentationService:c,viewportGridService:u,customizationService:d,displaySetService:p}=r.services,[g,m]=(0,n.useState)({segmentationsWithRepresentations:[],disabled:!1});return(0,n.useEffect)(()=>{let n=()=>{let t=u.getDisplaySetsUIDsForViewport(e);if(!t?.length)return;let A=p.getDisplaySetByUID(t[0]);if(!A)return;if(s.includes(A.Modality))return void m(e=>({segmentationsWithRepresentations:[],disabled:!0}));let n=c.getSegmentations();if(!n?.length)return void m(e=>({segmentationsWithRepresentations:[],disabled:!1}));let r=c.getSegmentationRepresentations(e),o=new Map;r.forEach(e=>{o.has(e.segmentationId)||o.set(e.segmentationId,e)}),m({segmentationsWithRepresentations:Array.from(o.values()).map(e=>{let t=function(e,t){let{label:A,segments:n,fallbackLabel:r}=e,o=t.getCustomization("panelSegmentation.readableText"),a={};return Object.entries(n).forEach(([e,t])=>{let A;a[e]={...t,displayText:(A={primary:[],secondary:[]},t.cachedStats&&(A.primary=function e(t,A=0){let n=[],r=" ".repeat(A);for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let s=t[a],l=o?.[a];if(!l)continue;"object"!=typeof s||null===s||Array.isArray(s)?n.push(`${r}${l}: ${(0,i.roundNumber)(s,2)}`):(n.length>0&&n.push(""),n.push(`${r}${l}`),n.push(...e(s,A+1)))}return n}(t.cachedStats)),A)}}),{...e,label:A,fallbackLabel:r,segments:a}}(c.getSegmentation(e.segmentationId),d);return{representation:e,segmentation:t}}),disabled:!1})},r=A>0?o()(n,A,{leading:!0,trailing:!0}):n;n();let a=[c.subscribe(c.EVENTS.SEGMENTATION_MODIFIED,r),c.subscribe(c.EVENTS.SEGMENTATION_REMOVED,r),c.subscribe(c.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,r),u.subscribe(u.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED,r),u.subscribe(u.EVENTS.GRID_STATE_CHANGED,r)];return t&&a.push(c.subscribe(c.EVENTS.SEGMENTATION_DATA_MODIFIED,r)),()=>{a.forEach(e=>e.unsubscribe()),A>0&&r.cancel()}},[c,u,d,p,A,t,e]),g}},1371(e,t,A){"use strict";A.d(t,{yP:()=>o,qU:()=>l,sH:()=>d,Is:()=>c,rK:()=>u});var n=A(6557),r=A(3117);let o=.2;class i{constructor(e){this.viewport=e}getShape(){switch((0,r.Gj)(this.viewport)){case n.Enums.ViewportType.STACK:return"stack";case n.Enums.ViewportType.ORTHOGRAPHIC:return"volume";case n.Enums.ViewportType.VOLUME_3D:return"volume3d";default:return"unknown"}}isVolumeRendering(){return(0,r.tO)(this.viewport)}canReorientInPlace(){return(0,r.tO)(this.viewport)}isInAcquisitionPlane(){return!!this.viewport.isInAcquisitionPlane?.()}hasContent(){let e=this.viewport.getActors?.();return!!e&&e.length>0}getViewState(){return this.viewport.getCamera?.()??{}}setViewState(e){this.viewport.setCamera?.(e)}getViewPlaneNormal(){return this.viewport.getCamera?.()?.viewPlaneNormal}getFocalPoint(){return this.viewport.getCamera?.()?.focalPoint}getPresentation(e){return(e?this.viewport.getProperties?.(e):this.viewport.getProperties?.())??{}}setPresentation(e,t){this.viewport.setProperties?.(e,t)}getDefaultVOIRange(){}getColormap(e){if((0,r.TF)(this.viewport))return this.viewport.getProperties?.()?.colormap;let t=this.viewport.getActors?.(),A=t?.find(t=>t.referencedId?.includes(e));if(A)return this.viewport.getProperties?.(A.referencedId)?.colormap}setLayerOpacity(e,t){if(!(0,r.rX)(this.viewport))return!1;let A=this.getDataIdForDisplaySet(e);if(!A)return!1;let n=this.viewport.getProperties?.(A)?.colormap??{};return this.viewport.setProperties?.({colormap:{...n,opacity:t}},A),!0}setLayerThreshold(e,t){if(!(0,r.rX)(this.viewport))return!1;let A=this.getDataIdForDisplaySet(e);return!!A&&(this.viewport.setProperties?.({colormap:{threshold:t}},A),!0)}getOpacityGamma(){return o}getDataIdForDisplaySet(e){if("function"!=typeof this.viewport.getAllVolumeIds)return;let t=this.viewport.getAllVolumeIds()||[];return t.length>0?t.find(t=>t.includes(e))??void 0:void 0}getVolumeIds(){return"function"!=typeof this.viewport.getAllVolumeIds?[]:this.viewport.getAllVolumeIds()||[]}getVoxelManagerForDisplaySet(e){if(!(0,r.rX)(this.viewport))return;let t=this.getDataIdForDisplaySet(e);if(!t)return;let A=this.viewport.getImageData?.(t);return A?.imageData?.get("voxelManager")?.voxelManager}async copyDisplayedContentTo(e){let t=this.viewport.getViewReference?.(),A=this.viewport.getProperties?.(),n=this.viewport.getViewPresentation?.();if((0,r.TF)(e)){let t=this.viewport.getCurrentImageId?.();await e.setStack?.([t])}else if((0,r.rX)(e)){let t=this.getVolumeIds();await e.setVolumes?.([{volumeId:t[0]}])}n&&e.setViewPresentation&&e.setViewPresentation(n),e.setProperties?.(A),t&&e.setViewReference&&e.setViewReference(t)}}class a{constructor(e){this.viewport=e}getShape(){if((0,r.Ov)(this.viewport))return"volume3d";let e=this.viewport.getCurrentMode?.();return"stack"===e?"stack":"volume"===e?"volume":"unknown"}isVolumeRendering(){return this.viewport.getCurrentMode?.()==="volume"}canReorientInPlace(){let e=this.viewport.getCurrentMode?.();return"volume"===e||"volume3d"===e}isInAcquisitionPlane(){let e=this.viewport.getViewState?.()?.orientation;return e===n.Enums.OrientationAxis.ACQUISITION||null==e}hasContent(){let e=this.viewport.getCurrentMode?.();return!!e&&"empty"!==e&&"unknown"!==e}getViewState(){return this.viewport.getViewState?.()??{}}setViewState(e){this.viewport.setViewState?.(e)}getViewPlaneNormal(){return this.viewport.getViewReference?.()?.viewPlaneNormal}getFocalPoint(){return this.viewport.getViewReference?.()?.cameraFocalPoint}getPresentation(e){let t=e??this.viewport.getSourceDataId?.(),A=(t?this.viewport.getDisplaySetPresentation?.(t):void 0)??{},n=A.voiRange;if(n&&void 0===A.isComputedVOI){let e=this.viewport.getDefaultVOIRange?.(t);if(e&&((e,t,A=.001)=>Math.abs(e.lower-t.lower)<A&&Math.abs(e.upper-t.upper)<A)(n,e))return{...A,isComputedVOI:!0}}return A}setPresentation(e,t){let A=t??this.viewport.getSourceDataId?.();A?this.viewport.setDisplaySetPresentation?.(A,e):this.viewport.setDisplaySetPresentation?.(e)}getDefaultVOIRange(e){return this.viewport.getDefaultVOIRange?.(e)}getColormap(e){return this.getPresentation(e).colormap}setLayerOpacity(e,t){let A=this.getPresentation(e).colormap??{};return this.setPresentation({colormap:{...A,opacity:t}},e),!0}setLayerThreshold(e,t){let A=this.getPresentation(e).colormap??{};return this.setPresentation({colormap:{...A,threshold:t}},e),!0}getOpacityGamma(){return 1}getDataIdForDisplaySet(e){return e}getVolumeIds(){return[]}getVoxelManagerForDisplaySet(e){let t=n.cache.getVolumes().find(t=>t.volumeId===e||t.volumeId?.endsWith(`:${e}`));return t?.voxelManager}async copyDisplayedContentTo(e){let t=this.viewport.getViewReference?.(),A=this.viewport.getSourceDataId?.();if(A){let{orientation:t}=this.getViewState();await e.setDisplaySets?.({displaySetId:A,options:{orientation:t,role:"source"}});let n=e.getSourceDataId?.()??A;e.setDisplaySetPresentation?.(n,this.getPresentation(A))}t&&e.setViewReference&&e.setViewReference(t),e.setViewState?.(this.getViewState())}}let s=new WeakMap;function l(e){if(!e||"object"!=typeof e)throw Error("getViewportAdapter: a viewport instance is required");let t=s.get(e);return t||(t=n.utilities.isGenericViewport(e)?new a(e):new i(e),s.set(e,t)),t}function c(e){return n.utilities.isGenericViewport(e)}function u(e){return!!e&&l(e).isVolumeRendering()}function d(e){return e?l(e).getFocalPoint():void 0}},6499(e,t,A){"use strict";A.d(t,{cL:()=>i,kJ:()=>o,ye:()=>r});let n={DEFAULT_CONTEXT:"CORNERSTONE",enabledElements:{}},r=(e,t,A)=>{let r=A||n.DEFAULT_CONTEXT;n.enabledElements[e]={element:t,context:r}},o=e=>n.enabledElements[e],i=()=>{n.enabledElements={}}},8144(e,t,A){"use strict";A.d(t,{H:()=>r,g:()=>n});let n="default",r=(e,t,A,n)=>{if(e.push(0),!n)for(let n=0;n<128;n++){e[e.length-1]=n;let r=e.join("&");if(!Array.from(A.values()).find(e=>e.viewportOptions?.presentationIds?.[t]===r))break}}},6360(e,t,A){"use strict";A.d(t,{I:()=>a});var n=A(6739),r=(A(1978),A(8144));let o="lutPresentationId",i=(e,{viewport:t,viewports:A,isUpdatingSameViewport:n})=>{if(e!==o||!t||!t.viewportOptions||!t.displaySetInstanceUIDs?.length)return;let{displaySetOptions:i,displaySetInstanceUIDs:a}=t,s=[(e=>{if(!e||!e.options)return r.g;if(e.options.id)return e.options.id;let t=Object.entries(e.options).map(([e,t])=>`${e}=${t}`);return t.length?t.join("&"):r.g})(i[0])];for(let e of a)s.push(e);return(0,r.H)(s,o,A,n),s.join("&")},a=(0,n.vt)()(e=>({type:o,lutPresentationStore:{},setLutPresentation:(t,A)=>e(e=>({lutPresentationStore:{...e.lutPresentationStore,[t]:A}}),!1,"setLutPresentation"),clearLutPresentationStore:()=>e({lutPresentationStore:{}},!1,"clearLutPresentationStore"),getPresentationId:i}))},3500(e,t,A){"use strict";A.d(t,{q:()=>s});var n=A(6739),r=(A(1978),A(8144));let o="positionPresentationId",i=(e,{viewport:t,viewports:A,isUpdatingSameViewport:n})=>{if(e===o&&t?.viewportOptions&&t.displaySetInstanceUIDs?.length)return a(t,A,n)};function a(e,t,A){let{viewportOptions:n={},displaySetInstanceUIDs:i=[],displaySetOptions:a=[]}=e,{id:s,orientation:l}=n,c=[l||"acquisition"];for(let e of(s&&c.push(s),a?.some(e=>e.options?.blendMode||e.options?.displayPreset)&&c.push("custom"),i))c.push(e);return t&&t.length&&void 0!==A?(0,r.H)(c,o,t,A):c.push(0),c.join("&")}let s=(0,n.vt)()(e=>({type:o,positionPresentationStore:{},setPositionPresentation:(t,A)=>e(e=>({positionPresentationStore:{...e.positionPresentationStore,[t]:A}}),!1,"setPositionPresentation"),clearPositionPresentationStore:()=>e({positionPresentationStore:{}},!1,"clearPositionPresentationStore"),getPresentationId:i,getPositionPresentationId:a}))},619(e,t,A){"use strict";A.d(t,{v:()=>l});var n=A(6739),r=(A(1978),A(6557));let{MPR_CAMERA_VALUES:o}=r.CONSTANTS,i="segmentationPresentationId",a=(e,{viewport:t,viewports:A,isUpdatingSameViewport:n,servicesManager:r})=>{if(e===i)return s({viewport:t,servicesManager:r})},s=({viewport:e,servicesManager:t})=>{if(!e?.viewportOptions||!e.displaySetInstanceUIDs?.length)return;let{displaySetService:A}=t.services,{displaySetInstanceUIDs:n,viewportOptions:i}=e,a=n.filter(e=>{let t=A.getDisplaySetByUID(e);return t&&!t.isOverlayDisplaySet});if(!a.length)return;let s=i.orientation;if(!s){let e=A.getDisplaySetByUID(a[0]),t=e?.images?.[0];s=(e=>{if(!e||6!==e.length)return;let t=e.slice(0,3),A=e.slice(3,6),n=[-A[0],-A[1],-A[2]];return r.utilities.isEqual(t,o.axial.viewRight)&&r.utilities.isEqual(n,o.axial.viewUp)?"axial":r.utilities.isEqual(t,o.sagittal.viewRight)&&r.utilities.isEqual(n,o.sagittal.viewUp)?"sagittal":r.utilities.isEqual(t,o.coronal.viewRight)&&r.utilities.isEqual(n,o.coronal.viewUp)?"coronal":void 0})(t?.ImageOrientationPatient)}let l=[];return l.push(...a),l.join("&")},l=(0,n.vt)()(e=>({type:i,segmentationPresentationStore:{},clearSegmentationPresentationStore:()=>e({segmentationPresentationStore:{}},!1,"clearSegmentationPresentationStore"),addSegmentationPresentationItem:(t,A)=>e(e=>({segmentationPresentationStore:{...e.segmentationPresentationStore,[t]:[...e.segmentationPresentationStore[t]||[],A]}}),!1,"addSegmentationPresentationItem"),setSegmentationPresentation:(t,A)=>e(e=>({segmentationPresentationStore:{...e.segmentationPresentationStore,[t]:A}}),!1,"setSegmentationPresentation"),getPresentationId:a,getSegmentationPresentationId:s}))},2140(e,t,A){"use strict";A.d(t,{U:()=>r});var n=A(6739);A(1978);let r=(0,n.vt)()(e=>({synchronizersStore:{},type:"synchronizersStoreId",setSynchronizers:(t,A)=>{e(e=>({synchronizersStore:{...e.synchronizersStore,[t]:A}}),!1,"setSynchronizers")},clearSynchronizersStore:()=>{e({synchronizersStore:{}},!1,"clearSynchronizersStore")}}))},3117(e,t,A){"use strict";A.d(t,{Gj:()=>r,Ov:()=>a,TF:()=>o,rX:()=>s,tO:()=>i});let{ViewportType:n}=A(6557).Enums;function r(e){return e?.requestedType??e?.type}function o(e){return r(e)===n.STACK}function i(e){return r(e)===n.ORTHOGRAPHIC}function a(e){let t=r(e);return t===n.VOLUME_3D||t===n.VOLUME_3D_NEXT}function s(e){let t=r(e);return t===n.ORTHOGRAPHIC||t===n.VOLUME_3D}},1752(e,t){"use strict";function A(e){return"object"!=typeof e||"toString"in e?e:Object.prototype.toString.call(e).slice(8,-1)}Object.defineProperty(t,"__esModule",{value:!0});var n="object"==typeof process;function r(e,t){if(!e){if(n)throw Error("Invariant failed");throw Error(t())}}t.invariant=r;var o=Object.prototype.hasOwnProperty,i=Array.prototype.splice,a=Object.prototype.toString;function s(e){return a.call(e).slice(8,-1)}var l=Object.assign||function(e,t){return c(t).forEach(function(A){o.call(t,A)&&(e[A]=t[A])}),e},c="function"==typeof Object.getOwnPropertySymbols?function(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.keys(e)};function u(e){return Array.isArray(e)?l(e.constructor(e.length),e):"Map"===s(e)?new Map(e):"Set"===s(e)?new Set(e):e&&"object"==typeof e?l(Object.create(Object.getPrototypeOf(e)),e):e}var d=function(){function e(){this.commands=l({},p),this.update=this.update.bind(this),this.update.extend=this.extend=this.extend.bind(this),this.update.isEquals=function(e,t){return e===t},this.update.newContext=function(){return new e().update}}return Object.defineProperty(e.prototype,"isEquals",{get:function(){return this.update.isEquals},set:function(e){this.update.isEquals=e},enumerable:!0,configurable:!0}),e.prototype.extend=function(e,t){this.commands[e]=t},e.prototype.update=function(e,t){var A=this,n="function"==typeof t?{$apply:t}:t;Array.isArray(e)&&Array.isArray(n)||r(!Array.isArray(n),function(){return"update(): You provided an invalid spec to update(). The spec may not contain an array except as the value of $set, $push, $unshift, $splice or any custom command allowing an array value."}),r("object"==typeof n&&null!==n,function(){return"update(): You provided an invalid spec to update(). The spec and every included key path must be plain objects containing one of the following commands: "+Object.keys(A.commands).join(", ")+"."});var i=e;return c(n).forEach(function(t){if(o.call(A.commands,t)){var r=e===i;i=A.commands[t](n[t],i,n,e),r&&A.isEquals(i,e)&&(i=e)}else{var a="Map"===s(e)?A.update(e.get(t),n[t]):A.update(e[t],n[t]),l="Map"===s(i)?i.get(t):i[t];A.isEquals(a,l)&&(void 0!==a||o.call(e,t))||(i===e&&(i=u(e)),"Map"===s(i)?i.set(t,a):i[t]=a)}}),i},e}();t.Context=d;var p={$push:function(e,t,A){return m(t,A,"$push"),e.length?t.concat(e):t},$unshift:function(e,t,A){return m(t,A,"$unshift"),e.length?e.concat(t):t},$splice:function(e,t,n,o){var a,s;return a=t,s=n,r(Array.isArray(a),function(){return"Expected $splice target to be an array; got "+A(a)}),h(s.$splice),e.forEach(function(e){h(e),t===o&&e.length&&(t=u(o)),i.apply(t,e)}),t},$set:function(e,t,A){return r(1===Object.keys(A).length,function(){return"Cannot have more than one key in an object with $set"}),e},$toggle:function(e,t){f(e,"$toggle");var A=e.length?u(t):t;return e.forEach(function(e){A[e]=!t[e]}),A},$unset:function(e,t,A,n){return f(e,"$unset"),e.forEach(function(e){Object.hasOwnProperty.call(t,e)&&(t===n&&(t=u(n)),delete t[e])}),t},$add:function(e,t,A,n){return w(t,"$add"),f(e,"$add"),"Map"===s(t)?e.forEach(function(e){var A=e[0],r=e[1];t===n&&t.get(A)!==r&&(t=u(n)),t.set(A,r)}):e.forEach(function(e){t!==n||t.has(e)||(t=u(n)),t.add(e)}),t},$remove:function(e,t,A,n){return w(t,"$remove"),f(e,"$remove"),e.forEach(function(e){t===n&&t.has(e)&&(t=u(n)),t.delete(e)}),t},$merge:function(e,t,n,o){var i,a;return i=t,r((a=e)&&"object"==typeof a,function(){return"update(): $merge expects a spec of type 'object'; got "+A(a)}),r(i&&"object"==typeof i,function(){return"update(): $merge expects a target of type 'object'; got "+A(i)}),c(e).forEach(function(A){e[A]!==t[A]&&(t===o&&(t=u(o)),t[A]=e[A])}),t},$apply:function(e,t){var n;return r("function"==typeof(n=e),function(){return"update(): expected spec of $apply to be a function; got "+A(n)+"."}),e(t)}},g=new d;function m(e,t,n){r(Array.isArray(e),function(){return"update(): expected target of "+A(n)+" to be an array; got "+A(e)+"."}),f(t[n],n)}function f(e,t){r(Array.isArray(e),function(){return"update(): expected spec of "+A(t)+" to be an array; got "+A(e)+". Did you forget to wrap your parameter in an array?"})}function h(e){r(Array.isArray(e),function(){return"update(): expected spec of $splice to be an array of arrays; got "+A(e)+". Did you forget to wrap your parameters in an array?"})}function w(e,t){var n=s(e);r("Map"===n||"Set"===n,function(){return"update(): "+A(t)+" expects a target of type Set or Map; got "+A(n)})}t.isEquals=g.update.isEquals,t.extend=g.extend,t.default=g.update,t.default.default=e.exports=l(t.default,t)},3359(e,t,A){e=A.nmd(e);var n,r="__lodash_hash_undefined__",o="[object Arguments]",i="[object Boolean]",a="[object Date]",s="[object Function]",l="[object GeneratorFunction]",c="[object Map]",u="[object Number]",d="[object Object]",p="[object Promise]",g="[object RegExp]",m="[object Set]",f="[object String]",h="[object Symbol]",w="[object WeakMap]",B="[object ArrayBuffer]",y="[object DataView]",v="[object Float32Array]",C="[object Float64Array]",S="[object Int8Array]",E="[object Int16Array]",I="[object Int32Array]",b="[object Uint8Array]",U="[object Uint8ClampedArray]",F="[object Uint16Array]",Q="[object Uint32Array]",T=/\w*$/,D=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,M={};M[o]=M["[object Array]"]=M[B]=M[y]=M[i]=M[a]=M[v]=M[C]=M[S]=M[E]=M[I]=M[c]=M[u]=M[d]=M[g]=M[m]=M[f]=M[h]=M[b]=M[U]=M[F]=M[Q]=!0,M["[object Error]"]=M[s]=M[w]=!1;var x="object"==typeof A.g&&A.g&&A.g.Object===Object&&A.g,L="object"==typeof self&&self&&self.Object===Object&&self,R=x||L||Function("return this")(),V=t&&!t.nodeType&&t,N=V&&e&&!e.nodeType&&e,H=N&&N.exports===V;function _(e,t){return e.set(t[0],t[1]),e}function k(e,t){return e.add(t),e}function P(e,t,A,n){var r=-1,o=e?e.length:0;for(n&&o&&(A=e[++r]);++r<o;)A=t(A,e[r],r,e);return A}function G(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function K(e){var t=-1,A=Array(e.size);return e.forEach(function(e,n){A[++t]=[n,e]}),A}function j(e,t){return function(A){return e(t(A))}}function W(e){var t=-1,A=Array(e.size);return e.forEach(function(e){A[++t]=e}),A}var Y=Array.prototype,z=Function.prototype,X=Object.prototype,J=R["__core-js_shared__"],q=(n=/[^.]+$/.exec(J&&J.keys&&J.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",$=z.toString,Z=X.hasOwnProperty,ee=X.toString,et=RegExp("^"+$.call(Z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),eA=H?R.Buffer:void 0,en=R.Symbol,er=R.Uint8Array,eo=j(Object.getPrototypeOf,Object),ei=Object.create,ea=X.propertyIsEnumerable,es=Y.splice,el=Object.getOwnPropertySymbols,ec=eA?eA.isBuffer:void 0,eu=j(Object.keys,Object),ed=ex(R,"DataView"),ep=ex(R,"Map"),eg=ex(R,"Promise"),em=ex(R,"Set"),ef=ex(R,"WeakMap"),eh=ex(Object,"create"),ew=eN(ed),eB=eN(ep),ey=eN(eg),ev=eN(em),eC=eN(ef),eS=en?en.prototype:void 0,eE=eS?eS.valueOf:void 0;function eI(e){var t=-1,A=e?e.length:0;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}function eb(e){var t=-1,A=e?e.length:0;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}function eU(e){var t=-1,A=e?e.length:0;for(this.clear();++t<A;){var n=e[t];this.set(n[0],n[1])}}function eF(e){this.__data__=new eb(e)}function eQ(e,t,A){var n=e[t];Z.call(e,t)&&eH(n,A)&&(void 0!==A||t in e)||(e[t]=A)}function eT(e,t){for(var A=e.length;A--;)if(eH(e[A][0],t))return A;return -1}function eD(e){var t=new e.constructor(e.byteLength);return new er(t).set(new er(e)),t}function eO(e,t,A,n){A||(A={});for(var r=-1,o=t.length;++r<o;){var i=t[r],a=n?n(A[i],e[i],i,A,e):void 0;eQ(A,i,void 0===a?e[i]:a)}return A}function eM(e,t){var A,n,r=e.__data__;return("string"==(n=typeof(A=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==A:null===A)?r["string"==typeof t?"string":"hash"]:r.map}function ex(e,t){var A,n=null==e?void 0:e[t];return!(!eK(n)||(A=n,q&&q in A))&&(eG(n)||G(n)?et:D).test(eN(n))?n:void 0}eI.prototype.clear=function(){this.__data__=eh?eh(null):{}},eI.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},eI.prototype.get=function(e){var t=this.__data__;if(eh){var A=t[e];return A===r?void 0:A}return Z.call(t,e)?t[e]:void 0},eI.prototype.has=function(e){var t=this.__data__;return eh?void 0!==t[e]:Z.call(t,e)},eI.prototype.set=function(e,t){return this.__data__[e]=eh&&void 0===t?r:t,this},eb.prototype.clear=function(){this.__data__=[]},eb.prototype.delete=function(e){var t=this.__data__,A=eT(t,e);return!(A<0)&&(A==t.length-1?t.pop():es.call(t,A,1),!0)},eb.prototype.get=function(e){var t=this.__data__,A=eT(t,e);return A<0?void 0:t[A][1]},eb.prototype.has=function(e){return eT(this.__data__,e)>-1},eb.prototype.set=function(e,t){var A=this.__data__,n=eT(A,e);return n<0?A.push([e,t]):A[n][1]=t,this},eU.prototype.clear=function(){this.__data__={hash:new eI,map:new(ep||eb),string:new eI}},eU.prototype.delete=function(e){return eM(this,e).delete(e)},eU.prototype.get=function(e){return eM(this,e).get(e)},eU.prototype.has=function(e){return eM(this,e).has(e)},eU.prototype.set=function(e,t){return eM(this,e).set(e,t),this},eF.prototype.clear=function(){this.__data__=new eb},eF.prototype.delete=function(e){return this.__data__.delete(e)},eF.prototype.get=function(e){return this.__data__.get(e)},eF.prototype.has=function(e){return this.__data__.has(e)},eF.prototype.set=function(e,t){var A=this.__data__;if(A instanceof eb){var n=A.__data__;if(!ep||n.length<199)return n.push([e,t]),this;A=this.__data__=new eU(n)}return A.set(e,t),this};var eL=el?j(el,Object):function(){return[]},eR=function(e){return ee.call(e)};function eV(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||X)}function eN(e){if(null!=e){try{return $.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function eH(e,t){return e===t||e!=e&&t!=t}(ed&&eR(new ed(new ArrayBuffer(1)))!=y||ep&&eR(new ep)!=c||eg&&eR(eg.resolve())!=p||em&&eR(new em)!=m||ef&&eR(new ef)!=w)&&(eR=function(e){var t=ee.call(e),A=t==d?e.constructor:void 0,n=A?eN(A):void 0;if(n)switch(n){case ew:return y;case eB:return c;case ey:return p;case ev:return m;case eC:return w}return t});var e_=Array.isArray;function ek(e){var t;return null!=e&&"number"==typeof(t=e.length)&&t>-1&&t%1==0&&t<=0x1fffffffffffff&&!eG(e)}var eP=ec||function(){return!1};function eG(e){var t=eK(e)?ee.call(e):"";return t==s||t==l}function eK(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ej(e){return ek(e)?function(e){var t,A,n,r,i,a=e_(e)||(n=A=t=e)&&"object"==typeof n&&ek(A)&&Z.call(t,"callee")&&(!ea.call(t,"callee")||ee.call(t)==o)?function(e,t){for(var A=-1,n=Array(e);++A<e;)n[A]=t(A);return n}(e.length,String):[],s=a.length,l=!!s;for(var c in e){Z.call(e,c)&&!(l&&("length"==c||(r=c,(i=null==(i=s)?0x1fffffffffffff:i)&&("number"==typeof r||O.test(r))&&r>-1&&r%1==0&&r<i)))&&a.push(c)}return a}(e):function(e){if(!eV(e))return eu(e);var t=[];for(var A in Object(e))Z.call(e,A)&&"constructor"!=A&&t.push(A);return t}(e)}e.exports=function(e){return function e(t,A,n,r,p,w,D){if(r&&(O=w?r(t,p,w,D):r(t)),void 0!==O)return O;if(!eK(t))return t;var O,x=e_(t);if(x){if(R=(L=t).length,V=L.constructor(R),R&&"string"==typeof L[0]&&Z.call(L,"index")&&(V.index=L.index,V.input=L.input),O=V,!A){var L,R,V,N=t,H=O,j=-1,Y=N.length;for(H||(H=Array(Y));++j<Y;)H[j]=N[j];return H}}else{var z,X,J,q,$,ee=eR(t),et=ee==s||ee==l;if(eP(t)){var eA=t,en=A;if(en)return eA.slice();var er=new eA.constructor(eA.length);return eA.copy(er),er}if(ee==d||ee==o||et&&!w){if(G(t))return w?t:{};if(O="function"!=typeof(z=et?{}:t).constructor||eV(z)?{}:eK(X=eo(z))?ei(X):{},!A){return J=t,q=($=O)&&eO(t,ej(t),$),eO(J,eL(J),q)}}else{if(!M[ee])return w?t:{};O=function(e,t,A,n){var r,o,s,l=e.constructor;switch(t){case B:return eD(e);case i:case a:return new l(+e);case y:return r=n?eD(e.buffer):e.buffer,new e.constructor(r,e.byteOffset,e.byteLength);case v:case C:case S:case E:case I:case b:case U:case F:case Q:return o=n?eD(e.buffer):e.buffer,new e.constructor(o,e.byteOffset,e.length);case c:return P(n?A(K(e),!0):K(e),_,new e.constructor);case u:case f:return new l(e);case g:return(s=new e.constructor(e.source,T.exec(e))).lastIndex=e.lastIndex,s;case m:return P(n?A(W(e),!0):W(e),k,new e.constructor);case h:return eE?Object(eE.call(e)):{}}}(t,ee,e,A)}}D||(D=new eF);var ea=D.get(t);if(ea)return ea;if(D.set(t,O),!x)var es=n?function(e){var t;return t=ej(e),e_(e)?t:function(e,t){for(var A=-1,n=t.length,r=e.length;++A<n;)e[r+A]=t[A];return e}(t,eL(e))}(t):ej(t);return!function(e,t){for(var A=-1,n=e?e.length:0;++A<n&&!1!==t(e[A],A,e););}(es||t,function(o,i){es&&(o=t[i=o]),eQ(O,i,e(o,A,n,r,i,t,D))}),O}(e,!0,!0)}},5257(e){e.exports=function(e){for(var t=-1,A=e?e.length:0,n=0,r=[];++t<A;){var o=e[t];o&&(r[n++]=o)}return r}},2051(e,t,A){var n=0/0,r=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,a=/^0o[0-7]+$/i,s=parseInt,l="object"==typeof A.g&&A.g&&A.g.Object===Object&&A.g,c="object"==typeof self&&self&&self.Object===Object&&self,u=l||c||Function("return this")(),d=Object.prototype.toString,p=Math.max,g=Math.min,m=function(){return u.Date.now()};function f(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function h(e){if("number"==typeof e)return e;if("symbol"==typeof(t=e)||t&&"object"==typeof t&&"[object Symbol]"==d.call(t))return n;if(f(e)){var t,A="function"==typeof e.valueOf?e.valueOf():e;e=f(A)?A+"":A}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var l=i.test(e);return l||a.test(e)?s(e.slice(2),l?2:8):o.test(e)?n:+e}e.exports=function(e,t,A){var n,r,o,i,a,s,l=0,c=!1,u=!1,d=!0;if("function"!=typeof e)throw TypeError("Expected a function");function w(t){var A=n,o=r;return n=r=void 0,l=t,i=e.apply(o,A)}function B(e){var A=e-s,n=e-l;return void 0===s||A>=t||A<0||u&&n>=o}function y(){var e,A,n,r=m();if(B(r))return v(r);a=setTimeout(y,(e=r-s,A=r-l,n=t-e,u?g(n,o-A):n))}function v(e){return(a=void 0,d&&n)?w(e):(n=r=void 0,i)}function C(){var e,A=m(),o=B(A);if(n=arguments,r=this,s=A,o){if(void 0===a)return l=e=s,a=setTimeout(y,t),c?w(e):i;if(u)return a=setTimeout(y,t),w(s)}return void 0===a&&(a=setTimeout(y,t)),i}return t=h(t)||0,f(A)&&(c=!!A.leading,o=(u="maxWait"in A)?p(h(A.maxWait)||0,t):o,d="trailing"in A?!!A.trailing:d),C.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=s=r=a=void 0},C.flush=function(){return void 0===a?i:v(m())},C}},6446(e,t,A){var n="object"==typeof A.g&&A.g&&A.g.Object===Object&&A.g,r="object"==typeof self&&self&&self.Object===Object&&self,o=n||r||Function("return this")(),i=Object.prototype,a=i.hasOwnProperty,s=i.toString,l=o.Symbol,c=i.propertyIsEnumerable,u=l?l.isConcatSpreadable:void 0;function d(e){var t,A,n,r,o,i,l,d,g;return p(e)||!!(r=A=t=e)&&"object"==typeof r&&null!=(n=A)&&"number"==typeof(o=n.length)&&o>-1&&o%1==0&&o<=0x1fffffffffffff&&"[object Function]"!=(d=typeof(l=i=n),g=l&&("object"==d||"function"==d)?s.call(i):"")&&"[object GeneratorFunction]"!=g&&a.call(t,"callee")&&(!c.call(t,"callee")||"[object Arguments]"==s.call(t))||!!(u&&e&&e[u])}var p=Array.isArray;e.exports=function(e){return(e?e.length:0)?function e(t,A,n,r,o){var i=-1,a=t.length;for(n||(n=d),o||(o=[]);++i<a;){var s=t[i];A>0&&n(s)?A>1?e(s,A-1,n,r,o):function(e,t){for(var A=-1,n=t.length,r=e.length;++A<n;)e[r+A]=t[A]}(o,s):r||(o[o.length]=s)}return o}(e,1):[]}},9863(e){var t,A,n=Object.prototype.toString,r=Math.max;e.exports=(t=function(e){if(!(e&&e.length))return[];var t=0;e=function(e,t){for(var A=-1,n=e?e.length:0,r=0,o=[];++A<n;){var i=e[A];t(i,A,e)&&(o[r++]=i)}return o}(e,function(e){var A,o,i,a,s,l,c,u;if((i=A=e)&&"object"==typeof i&&null!=(o=A)&&"number"==typeof(a=o.length)&&a>-1&&a%1==0&&a<=0x1fffffffffffff&&"[object Function]"!=(c=typeof(l=s=o),u=l&&("object"==c||"function"==c)?n.call(s):"")&&"[object GeneratorFunction]"!=u)return t=r(e.length,t),!0});for(var A=t,o=-1,i=Array(A);++o<A;)i[o]=function(t){return function(e,t){for(var A=-1,n=e?e.length:0,r=Array(n);++A<n;)r[A]=t(e[A],A,e);return r}(e,function(e){return null==e?void 0:e[t]})}(o);return i},A=r(void 0===A?t.length-1:A,0),function(){for(var e=arguments,n=-1,o=r(e.length-A,0),i=Array(o);++n<o;)i[n]=e[A+n];n=-1;for(var a=Array(A+1);++n<A;)a[n]=e[n];a[A]=i;switch(a.length){case 0:return t.call(this);case 1:return t.call(this,a[0]);case 2:return t.call(this,a[0],a[1]);case 3:return t.call(this,a[0],a[1],a[2])}return t.apply(this,a)})},4867(e,t,A){e=A.nmd(e),e.exports=function(){"use strict";function t(){return k.apply(null,arguments)}function n(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function r(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function o(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function i(e){var t;if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(t in e)if(o(e,t))return!1;return!0}function a(e){return void 0===e}function s(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function c(e,t){var A,n=[],r=e.length;for(A=0;A<r;++A)n.push(t(e[A],A));return n}function u(e,t){for(var A in t)o(t,A)&&(e[A]=t[A]);return o(t,"toString")&&(e.toString=t.toString),o(t,"valueOf")&&(e.valueOf=t.valueOf),e}function d(e,t,A,n){return to(e,t,A,n,!0).utc()}function p(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function g(e){var t=null,A=!1,n=e._d&&!isNaN(e._d.getTime());return(n&&(t=p(e),A=P.call(t.parsedDateParts,function(e){return null!=e}),n=t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&A),e._strict&&(n=n&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour)),null!=Object.isFrozen&&Object.isFrozen(e))?n:(e._isValid=n,e._isValid)}function m(e){var t=d(NaN);return null!=e?u(p(t),e):p(t).userInvalidated=!0,t}P=Array.prototype.some?Array.prototype.some:function(e){var t,A=Object(this),n=A.length>>>0;for(t=0;t<n;t++)if(t in A&&e.call(this,A[t],t,A))return!0;return!1};var f,h,w=t.momentProperties=[],B=!1;function y(e,t){var A,n,r,o=w.length;if(a(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),a(t._i)||(e._i=t._i),a(t._f)||(e._f=t._f),a(t._l)||(e._l=t._l),a(t._strict)||(e._strict=t._strict),a(t._tzm)||(e._tzm=t._tzm),a(t._isUTC)||(e._isUTC=t._isUTC),a(t._offset)||(e._offset=t._offset),a(t._pf)||(e._pf=p(t)),a(t._locale)||(e._locale=t._locale),o>0)for(A=0;A<o;A++)a(r=t[n=w[A]])||(e[n]=r);return e}function v(e){y(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===B&&(B=!0,t.updateOffset(this),B=!1)}function C(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function S(e){!1===t.suppressDeprecationWarnings&&"u">typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function E(e,A){var n=!0;return u(function(){if(null!=t.deprecationHandler&&t.deprecationHandler(null,e),n){var r,i,a,s=[],l=arguments.length;for(i=0;i<l;i++){if(r="","object"==typeof arguments[i]){for(a in r+="\n["+i+"] ",arguments[0])o(arguments[0],a)&&(r+=a+": "+arguments[0][a]+", ");r=r.slice(0,-2)}else r=arguments[i];s.push(r)}S(e+"\nArguments: "+Array.prototype.slice.call(s).join("")+"\n"+Error().stack),n=!1}return A.apply(this,arguments)},A)}var I={};function b(e,A){null!=t.deprecationHandler&&t.deprecationHandler(e,A),I[e]||(S(A),I[e]=!0)}function U(e){return"u">typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function F(e,t){var A,n=u({},e);for(A in t)o(t,A)&&(r(e[A])&&r(t[A])?(n[A]={},u(n[A],e[A]),u(n[A],t[A])):null!=t[A]?n[A]=t[A]:delete n[A]);for(A in e)o(e,A)&&!o(t,A)&&r(e[A])&&(n[A]=u({},n[A]));return n}function Q(e){null!=e&&this.set(e)}function T(e,t,A){var n=""+Math.abs(e);return(e>=0?A?"+":"":"-")+Math.pow(10,Math.max(0,t-n.length)).toString().substr(1)+n}t.suppressDeprecationWarnings=!1,t.deprecationHandler=null;var D=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,O=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,M={},x={};function L(e,t,A,n){var r=n;"string"==typeof n&&(r=function(){return this[n]()}),e&&(x[e]=r),t&&(x[t[0]]=function(){return T(r.apply(this,arguments),t[1],t[2])}),A&&(x[A]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function R(e,t){return e.isValid()?(M[t=V(t,e.localeData())]=M[t]||function(e){var t,A,n,r=e.match(D);for(A=0,n=r.length;A<n;A++)x[r[A]]?r[A]=x[r[A]]:r[A]=(t=r[A]).match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"");return function(t){var A,o="";for(A=0;A<n;A++)o+=U(r[A])?r[A].call(t,e):r[A];return o}}(t),M[t](e)):e.localeData().invalidDate()}function V(e,t){var A=5;function n(e){return t.longDateFormat(e)||e}for(O.lastIndex=0;A>=0&&O.test(e);)e=e.replace(O,n),O.lastIndex=0,A-=1;return e}var N={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function H(e){return"string"==typeof e?N[e]||N[e.toLowerCase()]:void 0}function _(e){var t,A,n={};for(A in e)o(e,A)&&(t=H(A))&&(n[t]=e[A]);return n}var k,P,G,K={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1},j=Object.keys?Object.keys:function(e){var t,A=[];for(t in e)o(e,t)&&A.push(t);return A},W=/\d/,Y=/\d\d/,z=/\d{3}/,X=/\d{4}/,J=/[+-]?\d{6}/,q=/\d\d?/,$=/\d\d\d\d?/,Z=/\d\d\d\d\d\d?/,ee=/\d{1,3}/,et=/\d{1,4}/,eA=/[+-]?\d{1,6}/,en=/\d+/,er=/[+-]?\d+/,eo=/Z|[+-]\d\d:?\d\d/gi,ei=/Z|[+-]\d\d(?::?\d\d)?/gi,ea=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,es=/^[1-9]\d?/,el=/^([1-9]\d|\d)/;function ec(e,t,A){G[e]=U(t)?t:function(e,n){return e&&A?A:t}}function eu(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ed(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function ep(e){var t=+e,A=0;return 0!==t&&isFinite(t)&&(A=ed(t)),A}G={};var eg={};function em(e,t){var A,n,r=t;for("string"==typeof e&&(e=[e]),s(t)&&(r=function(e,A){A[t]=ep(e)}),n=e.length,A=0;A<n;A++)eg[e[A]]=r}function ef(e,t){em(e,function(e,A,n,r){n._w=n._w||{},t(e,n._w,n,r)})}function eh(e){return e%4==0&&e%100!=0||e%400==0}function ew(e){return eh(e)?366:365}L("Y",0,0,function(){var e=this.year();return e<=9999?T(e,4):"+"+e}),L(0,["YY",2],0,function(){return this.year()%100}),L(0,["YYYY",4],0,"year"),L(0,["YYYYY",5],0,"year"),L(0,["YYYYYY",6,!0],0,"year"),ec("Y",er),ec("YY",q,Y),ec("YYYY",et,X),ec("YYYYY",eA,J),ec("YYYYYY",eA,J),em(["YYYYY","YYYYYY"],0),em("YYYY",function(e,A){A[0]=2===e.length?t.parseTwoDigitYear(e):ep(e)}),em("YY",function(e,A){A[0]=t.parseTwoDigitYear(e)}),em("Y",function(e,t){t[0]=parseInt(e,10)}),t.parseTwoDigitYear=function(e){return ep(e)+(ep(e)>68?1900:2e3)};var eB=ey("FullYear",!0);function ey(e,A){return function(n){return null!=n?(eC(this,e,n),t.updateOffset(this,A),this):ev(this,e)}}function ev(e,t){if(!e.isValid())return NaN;var A=e._d,n=e._isUTC;switch(t){case"Milliseconds":return n?A.getUTCMilliseconds():A.getMilliseconds();case"Seconds":return n?A.getUTCSeconds():A.getSeconds();case"Minutes":return n?A.getUTCMinutes():A.getMinutes();case"Hours":return n?A.getUTCHours():A.getHours();case"Date":return n?A.getUTCDate():A.getDate();case"Day":return n?A.getUTCDay():A.getDay();case"Month":return n?A.getUTCMonth():A.getMonth();case"FullYear":return n?A.getUTCFullYear():A.getFullYear();default:return NaN}}function eC(e,t,A){var n,r,o,i;if(!(!e.isValid()||isNaN(A))){switch(n=e._d,r=e._isUTC,t){case"Milliseconds":return void(r?n.setUTCMilliseconds(A):n.setMilliseconds(A));case"Seconds":return void(r?n.setUTCSeconds(A):n.setSeconds(A));case"Minutes":return void(r?n.setUTCMinutes(A):n.setMinutes(A));case"Hours":return void(r?n.setUTCHours(A):n.setHours(A));case"Date":return void(r?n.setUTCDate(A):n.setDate(A));case"FullYear":break;default:return}o=e.month(),i=29!==(i=e.date())||1!==o||eh(A)?i:28,r?n.setUTCFullYear(A,o,i):n.setFullYear(A,o,i)}}function eS(e,t){if(isNaN(e)||isNaN(t))return NaN;var A=(t%12+12)%12;return e+=(t-A)/12,1===A?eh(e)?29:28:31-A%7%2}eG=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return -1},L("M",["MM",2],"Mo",function(){return this.month()+1}),L("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),L("MMMM",0,0,function(e){return this.localeData().months(this,e)}),ec("M",q,es),ec("MM",q,Y),ec("MMM",function(e,t){return t.monthsShortRegex(e)}),ec("MMMM",function(e,t){return t.monthsRegex(e)}),em(["M","MM"],function(e,t){t[1]=ep(e)-1}),em(["MMM","MMMM"],function(e,t,A,n){var r=A._locale.monthsParse(e,n,A._strict);null!=r?t[1]=r:p(A).invalidMonth=e});var eE="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),eI=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;function eb(e,t,A){var n,r,o,i=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],n=0;n<12;++n)o=d([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(o,"").toLocaleLowerCase();if(A)if("MMM"===t)return -1!==(r=eG.call(this._shortMonthsParse,i))?r:null;else return -1!==(r=eG.call(this._longMonthsParse,i))?r:null;return"MMM"===t?-1!==(r=eG.call(this._shortMonthsParse,i))||-1!==(r=eG.call(this._longMonthsParse,i))?r:null:-1!==(r=eG.call(this._longMonthsParse,i))||-1!==(r=eG.call(this._shortMonthsParse,i))?r:null}function eU(e,t){if(!e.isValid())return e;if("string"==typeof t){if(/^\d+$/.test(t))t=ep(t);else if(!s(t=e.localeData().monthsParse(t)))return e}var A=t,n=e.date();return n=n<29?n:Math.min(n,eS(e.year(),A)),e._isUTC?e._d.setUTCMonth(A,n):e._d.setMonth(A,n),e}function eF(e){return null!=e?(eU(this,e),t.updateOffset(this,!0),this):ev(this,"Month")}function eQ(){function e(e,t){return t.length-e.length}var t,A,n,r,o=[],i=[],a=[];for(t=0;t<12;t++)A=d([2e3,t]),n=eu(this.monthsShort(A,"")),r=eu(this.months(A,"")),o.push(n),i.push(r),a.push(r),a.push(n);o.sort(e),i.sort(e),a.sort(e),this._monthsRegex=RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=RegExp("^("+o.join("|")+")","i")}function eT(e,t,A,n,r,o,i){var a;return e<100&&e>=0?isFinite((a=new Date(e+400,t,A,n,r,o,i)).getFullYear())&&a.setFullYear(e):a=new Date(e,t,A,n,r,o,i),a}function eD(e){var t,A;return e<100&&e>=0?(A=Array.prototype.slice.call(arguments),A[0]=e+400,isFinite((t=new Date(Date.UTC.apply(null,A))).getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function eO(e,t,A){var n=7+t-A;return-((7+eD(e,0,n).getUTCDay()-t)%7)+n-1}function eM(e,t,A,n,r){var o,i,a=1+7*(t-1)+(7+A-n)%7+eO(e,n,r);return a<=0?i=ew(o=e-1)+a:a>ew(e)?(o=e+1,i=a-ew(e)):(o=e,i=a),{year:o,dayOfYear:i}}function ex(e,t,A){var n,r,o=eO(e.year(),t,A),i=Math.floor((e.dayOfYear()-o-1)/7)+1;return i<1?n=i+eL(r=e.year()-1,t,A):i>eL(e.year(),t,A)?(n=i-eL(e.year(),t,A),r=e.year()+1):(r=e.year(),n=i),{week:n,year:r}}function eL(e,t,A){var n=eO(e,t,A),r=eO(e+1,t,A);return(ew(e)-n+r)/7}function eR(e,t){return e.slice(t,7).concat(e.slice(0,t))}L("w",["ww",2],"wo","week"),L("W",["WW",2],"Wo","isoWeek"),ec("w",q,es),ec("ww",q,Y),ec("W",q,es),ec("WW",q,Y),ef(["w","ww","W","WW"],function(e,t,A,n){t[n.substr(0,1)]=ep(e)}),L("d",0,"do","day"),L("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),L("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),L("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),L("e",0,0,"weekday"),L("E",0,0,"isoWeekday"),ec("d",q),ec("e",q),ec("E",q),ec("dd",function(e,t){return t.weekdaysMinRegex(e)}),ec("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ec("dddd",function(e,t){return t.weekdaysRegex(e)}),ef(["dd","ddd","dddd"],function(e,t,A,n){var r=A._locale.weekdaysParse(e,n,A._strict);null!=r?t.d=r:p(A).invalidWeekday=e}),ef(["d","e","E"],function(e,t,A,n){t[n]=ep(e)});var eV="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");function eN(e,t,A){var n,r,o,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)o=d([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(o,"").toLocaleLowerCase();if(A)if("dddd"===t)return -1!==(r=eG.call(this._weekdaysParse,i))?r:null;else if("ddd"===t)return -1!==(r=eG.call(this._shortWeekdaysParse,i))?r:null;else return -1!==(r=eG.call(this._minWeekdaysParse,i))?r:null;return"dddd"===t?-1!==(r=eG.call(this._weekdaysParse,i))||-1!==(r=eG.call(this._shortWeekdaysParse,i))||-1!==(r=eG.call(this._minWeekdaysParse,i))?r:null:"ddd"===t?-1!==(r=eG.call(this._shortWeekdaysParse,i))||-1!==(r=eG.call(this._weekdaysParse,i))||-1!==(r=eG.call(this._minWeekdaysParse,i))?r:null:-1!==(r=eG.call(this._minWeekdaysParse,i))||-1!==(r=eG.call(this._weekdaysParse,i))||-1!==(r=eG.call(this._shortWeekdaysParse,i))?r:null}function eH(){function e(e,t){return t.length-e.length}var t,A,n,r,o,i=[],a=[],s=[],l=[];for(t=0;t<7;t++)A=d([2e3,1]).day(t),n=eu(this.weekdaysMin(A,"")),r=eu(this.weekdaysShort(A,"")),o=eu(this.weekdays(A,"")),i.push(n),a.push(r),s.push(o),l.push(n),l.push(r),l.push(o);i.sort(e),a.sort(e),s.sort(e),l.sort(e),this._weekdaysRegex=RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=RegExp("^("+s.join("|")+")","i"),this._weekdaysShortStrictRegex=RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=RegExp("^("+i.join("|")+")","i")}function e_(){return this.hours()%12||12}function ek(e,t){L(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function eP(e,t){return t._meridiemParse}L("H",["HH",2],0,"hour"),L("h",["hh",2],0,e_),L("k",["kk",2],0,function(){return this.hours()||24}),L("hmm",0,0,function(){return""+e_.apply(this)+T(this.minutes(),2)}),L("hmmss",0,0,function(){return""+e_.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),L("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),L("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),ek("a",!0),ek("A",!1),ec("a",eP),ec("A",eP),ec("H",q,el),ec("h",q,es),ec("k",q,es),ec("HH",q,Y),ec("hh",q,Y),ec("kk",q,Y),ec("hmm",$),ec("hmmss",Z),ec("Hmm",$),ec("Hmmss",Z),em(["H","HH"],3),em(["k","kk"],function(e,t,A){var n=ep(e);t[3]=24===n?0:n}),em(["a","A"],function(e,t,A){A._isPm=A._locale.isPM(e),A._meridiem=e}),em(["h","hh"],function(e,t,A){t[3]=ep(e),p(A).bigHour=!0}),em("hmm",function(e,t,A){var n=e.length-2;t[3]=ep(e.substr(0,n)),t[4]=ep(e.substr(n)),p(A).bigHour=!0}),em("hmmss",function(e,t,A){var n=e.length-4,r=e.length-2;t[3]=ep(e.substr(0,n)),t[4]=ep(e.substr(n,2)),t[5]=ep(e.substr(r)),p(A).bigHour=!0}),em("Hmm",function(e,t,A){var n=e.length-2;t[3]=ep(e.substr(0,n)),t[4]=ep(e.substr(n))}),em("Hmmss",function(e,t,A){var n=e.length-4,r=e.length-2;t[3]=ep(e.substr(0,n)),t[4]=ep(e.substr(n,2)),t[5]=ep(e.substr(r))});var eG,eK,ej=ey("Hours",!0),eW={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:eE,week:{dow:0,doy:6},weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysShort:eV,meridiemParse:/[ap]\.?m?\.?/i},eY={},ez={};function eX(e){return e?e.toLowerCase().replace("_","-"):e}function eJ(t){var n=null;if(void 0===eY[t]&&e&&e.exports&&t&&t.match("^[^/\\\\]*$"))try{n=eK._abbr,A(3118)("./locale/"+t),eq(n)}catch(e){eY[t]=null}return eY[t]}function eq(e,t){var A;return e&&((A=a(t)?eZ(e):e$(e,t))?eK=A:"u">typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),eK._abbr}function e$(e,t){if(null===t)return delete eY[e],null;var A,n=eW;if(t.abbr=e,null!=eY[e])b("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=eY[e]._config;else if(null!=t.parentLocale)if(null!=eY[t.parentLocale])n=eY[t.parentLocale]._config;else{if(null==(A=eJ(t.parentLocale)))return ez[t.parentLocale]||(ez[t.parentLocale]=[]),ez[t.parentLocale].push({name:e,config:t}),null;n=A._config}return eY[e]=new Q(F(n,t)),ez[e]&&ez[e].forEach(function(e){e$(e.name,e.config)}),eq(e),eY[e]}function eZ(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return eK;if(!n(e)){if(t=eJ(e))return t;e=[e]}return function(e){for(var t,A,n,r,o=0;o<e.length;){for(t=(r=eX(e[o]).split("-")).length,A=(A=eX(e[o+1]))?A.split("-"):null;t>0;){if(n=eJ(r.slice(0,t).join("-")))return n;if(A&&A.length>=t&&function(e,t){var A,n=Math.min(e.length,t.length);for(A=0;A<n;A+=1)if(e[A]!==t[A])return A;return n}(r,A)>=t-1)break;t--}o++}return eK}(e)}function e0(e){var t,A=e._a;return A&&-2===p(e).overflow&&(t=A[1]<0||A[1]>11?1:A[2]<1||A[2]>eS(A[0],A[1])?2:A[3]<0||A[3]>24||24===A[3]&&(0!==A[4]||0!==A[5]||0!==A[6])?3:A[4]<0||A[4]>59?4:A[5]<0||A[5]>59?5:A[6]<0||A[6]>999?6:-1,p(e)._overflowDayOfYear&&(t<0||t>2)&&(t=2),p(e)._overflowWeeks&&-1===t&&(t=7),p(e)._overflowWeekday&&-1===t&&(t=8),p(e).overflow=t),e}var e1=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,e3=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,e4=/Z|[+-]\d\d(?::?\d\d)?/,e2=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],e6=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],e9=/^\/?Date\((-?\d+)/i,e8=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,e5={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function e7(e){var t,A,n,r,o,i,a=e._i,s=e1.exec(a)||e3.exec(a),l=e2.length,c=e6.length;if(s){for(p(e).iso=!0,t=0,A=l;t<A;t++)if(e2[t][1].exec(s[1])){r=e2[t][0],n=!1!==e2[t][2];break}if(null==r){e._isValid=!1;return}if(s[3]){for(t=0,A=c;t<A;t++)if(e6[t][1].exec(s[3])){o=(s[2]||" ")+e6[t][0];break}if(null==o){e._isValid=!1;return}}if(!n&&null!=o){e._isValid=!1;return}if(s[4])if(e4.exec(s[4]))i="Z";else{e._isValid=!1;return}e._f=r+(o||"")+(i||""),tn(e)}else e._isValid=!1}function te(e){var t,A,n,r,o,i,a,s,l,c,u,d=e8.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(d){if(o=d[4],i=d[3],a=d[2],s=d[5],l=d[6],c=d[7],u=[(t=parseInt(o,10))<=49?2e3+t:t<=999?1900+t:t,eE.indexOf(i),parseInt(a,10),parseInt(s,10),parseInt(l,10)],c&&u.push(parseInt(c,10)),A=d[1],n=u,r=e,A&&eV.indexOf(A)!==new Date(n[0],n[1],n[2]).getDay()&&(p(r).weekdayMismatch=!0,r._isValid=!1,1))return;e._a=u,e._tzm=function(e,t,A){if(e)return e5[e];if(t)return 0;var n=parseInt(A,10),r=n%100;return(n-r)/100*60+r}(d[8],d[9],d[10]),e._d=eD.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),p(e).rfc2822=!0}else e._isValid=!1}function tt(e,t,A){return null!=e?e:null!=t?t:A}function tA(e){var A,n,r,o,i,a,s,l,c,u,d,g,m,f,h,w,B=[];if(!e._d){for(d=new Date(t.now()),f=e._useUTC?[d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()]:[d.getFullYear(),d.getMonth(),d.getDate()],e._w&&null==e._a[2]&&null==e._a[1]&&(null!=(n=(A=e)._w).GG||null!=n.W||null!=n.E?(a=1,s=4,r=tt(n.GG,A._a[0],ex(ti(),1,4).year),o=tt(n.W,1),((i=tt(n.E,1))<1||i>7)&&(c=!0)):(a=A._locale._week.dow,s=A._locale._week.doy,u=ex(ti(),a,s),r=tt(n.gg,A._a[0],u.year),o=tt(n.w,u.week),null!=n.d?((i=n.d)<0||i>6)&&(c=!0):null!=n.e?(i=n.e+a,(n.e<0||n.e>6)&&(c=!0)):i=a),o<1||o>eL(r,a,s)?p(A)._overflowWeeks=!0:null!=c?p(A)._overflowWeekday=!0:(l=eM(r,o,i,a,s),A._a[0]=l.year,A._dayOfYear=l.dayOfYear)),null!=e._dayOfYear&&(w=tt(e._a[0],f[0]),(e._dayOfYear>ew(w)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),m=eD(w,0,e._dayOfYear),e._a[1]=m.getUTCMonth(),e._a[2]=m.getUTCDate()),g=0;g<3&&null==e._a[g];++g)e._a[g]=B[g]=f[g];for(;g<7;g++)e._a[g]=B[g]=null==e._a[g]?+(2===g):e._a[g];24===e._a[3]&&0===e._a[4]&&0===e._a[5]&&0===e._a[6]&&(e._nextDay=!0,e._a[3]=0),e._d=(e._useUTC?eD:eT).apply(null,B),h=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[3]=24),e._w&&void 0!==e._w.d&&e._w.d!==h&&(p(e).weekdayMismatch=!0)}}function tn(e){if(e._f===t.ISO_8601)return void e7(e);if(e._f===t.RFC_2822)return void te(e);e._a=[],p(e).empty=!0;var A,n,r,i,a,s,l,c,u,d,g,m=""+e._i,f=m.length,h=0;for(g=(l=V(e._f,e._locale).match(D)||[]).length,a=0;a<g;a++)if(c=l[a],(s=(m.match(!o(G,c)?new RegExp(eu(c.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,A,n,r){return t||A||n||r}))):G[c](e._strict,e._locale))||[])[0])&&((u=m.substr(0,m.indexOf(s))).length>0&&p(e).unusedInput.push(u),m=m.slice(m.indexOf(s)+s.length),h+=s.length),x[c])s?p(e).empty=!1:p(e).unusedTokens.push(c),null!=s&&o(eg,c)&&eg[c](s,e._a,e,c);else e._strict&&!s&&p(e).unusedTokens.push(c);p(e).charsLeftOver=f-h,m.length>0&&p(e).unusedInput.push(m),e._a[3]<=12&&!0===p(e).bigHour&&e._a[3]>0&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[3]=(A=e._locale,n=e._a[3],null==(r=e._meridiem)?n:null!=A.meridiemHour?A.meridiemHour(n,r):(null!=A.isPM&&((i=A.isPM(r))&&n<12&&(n+=12),i||12!==n||(n=0)),n)),null!==(d=p(e).era)&&(e._a[0]=e._locale.erasConvertYear(d,e._a[0])),tA(e),e0(e)}function tr(e){var A=e._i,o=e._f;return(e._locale=e._locale||eZ(e._l),null===A||void 0===o&&""===A)?m({nullInput:!0}):("string"==typeof A&&(e._i=A=e._locale.preparse(A)),C(A))?new v(e0(A)):(l(A)?e._d=A:n(o)?!function(e){var t,A,n,r,o,i,a=!1,s=e._f.length;if(0===s){p(e).invalidFormat=!0,e._d=new Date(NaN);return}for(r=0;r<s;r++)o=0,i=!1,t=y({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[r],tn(t),g(t)&&(i=!0),o+=p(t).charsLeftOver,o+=10*p(t).unusedTokens.length,p(t).score=o,a?o<n&&(n=o,A=t):(null==n||o<n||i)&&(n=o,A=t,i&&(a=!0));u(e,A||t)}(e):o?tn(e):function(e){var A=e._i;if(a(A))e._d=new Date(t.now());else if(l(A))e._d=new Date(A.valueOf());else if("string"==typeof A)!function(e){var A=e9.exec(e._i);if(null!==A){e._d=new Date(+A[1]);return}e7(e),!1!==e._isValid||(delete e._isValid,te(e),!1===e._isValid&&(delete e._isValid,e._strict?e._isValid=!1:t.createFromInputFallback(e)))}(e);else if(n(A))e._a=c(A.slice(0),function(e){return parseInt(e,10)}),tA(e);else if(r(A)){if(!e._d){var o=_(e._i),i=void 0===o.day?o.date:o.day;e._a=c([o.year,o.month,i,o.hour,o.minute,o.second,o.millisecond],function(e){return e&&parseInt(e,10)}),tA(e)}}else s(A)?e._d=new Date(A):t.createFromInputFallback(e)}(e),g(e)||(e._d=null),e)}function to(e,t,A,o,a){var s,l={};return(!0===t||!1===t)&&(o=t,t=void 0),(!0===A||!1===A)&&(o=A,A=void 0),(r(e)&&i(e)||n(e)&&0===e.length)&&(e=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=a,l._l=A,l._i=e,l._f=t,l._strict=o,(s=new v(e0(tr(l))))._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function ti(e,t,A,n){return to(e,t,A,n,!1)}t.createFromInputFallback=E("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),t.ISO_8601=function(){},t.RFC_2822=function(){};var ta=E("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=ti.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:m()}),ts=E("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=ti.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:m()});function tl(e,t){var A,r;if(1===t.length&&n(t[0])&&(t=t[0]),!t.length)return ti();for(A=t[0],r=1;r<t.length;++r)(!t[r].isValid()||t[r][e](A))&&(A=t[r]);return A}var tc=["year","quarter","month","week","day","hour","minute","second","millisecond"];function tu(e){var t=_(e),A=t.year||0,n=t.quarter||0,r=t.month||0,i=t.week||t.isoWeek||0,a=t.day||0,s=t.hour||0,l=t.minute||0,c=t.second||0,u=t.millisecond||0;this._isValid=function(e){var t,A,n=!1,r=tc.length;for(t in e)if(o(e,t)&&!(-1!==eG.call(tc,t)&&(null==e[t]||!isNaN(e[t]))))return!1;for(A=0;A<r;++A)if(e[tc[A]]){if(n)return!1;parseFloat(e[tc[A]])!==ep(e[tc[A]])&&(n=!0)}return!0}(t),this._milliseconds=+u+1e3*c+6e4*l+1e3*s*3600,this._days=+a+7*i,this._months=+r+3*n+12*A,this._data={},this._locale=eZ(),this._bubble()}function td(e){return e instanceof tu}function tp(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function tg(e,t){L(e,0,0,function(){var e=this.utcOffset(),A="+";return e<0&&(e=-e,A="-"),A+T(~~(e/60),2)+t+T(~~e%60,2)})}tg("Z",":"),tg("ZZ",""),ec("Z",ei),ec("ZZ",ei),em(["Z","ZZ"],function(e,t,A){A._useUTC=!0,A._tzm=tf(ei,e)});var tm=/([\+\-]|\d\d)/gi;function tf(e,t){var A,n,r=(t||"").match(e);return null===r?null:0===(n=+(60*(A=((r[r.length-1]||[])+"").match(tm)||["-",0,0])[1])+ep(A[2]))?0:"+"===A[0]?n:-n}function th(e,A){var n,r;return A._isUTC?(n=A.clone(),r=(C(e)||l(e)?e.valueOf():ti(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+r),t.updateOffset(n,!1),n):ti(e).local()}function tw(e){return-Math.round(e._d.getTimezoneOffset())}function tB(){return!!this.isValid()&&this._isUTC&&0===this._offset}t.updateOffset=function(){};var ty=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,tv=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function tC(e,t){var A,n,r,i,a,l,c=e,u=null;return td(e)?c={ms:e._milliseconds,d:e._days,M:e._months}:s(e)||!isNaN(+e)?(c={},t?c[t]=+e:c.milliseconds=+e):(u=ty.exec(e))?(i="-"===u[1]?-1:1,c={y:0,d:ep(u[2])*i,h:ep(u[3])*i,m:ep(u[4])*i,s:ep(u[5])*i,ms:ep(tp(1e3*u[6]))*i}):(u=tv.exec(e))?(i="-"===u[1]?-1:1,c={y:tS(u[2],i),M:tS(u[3],i),w:tS(u[4],i),d:tS(u[5],i),h:tS(u[6],i),m:tS(u[7],i),s:tS(u[8],i)}):null==c?c={}:"object"==typeof c&&("from"in c||"to"in c)&&(A=ti(c.from),n=ti(c.to),l=A.isValid()&&n.isValid()?(n=th(n,A),A.isBefore(n)?r=tE(A,n):((r=tE(n,A)).milliseconds=-r.milliseconds,r.months=-r.months),r):{milliseconds:0,months:0},(c={}).ms=l.milliseconds,c.M=l.months),a=new tu(c),td(e)&&o(e,"_locale")&&(a._locale=e._locale),td(e)&&o(e,"_isValid")&&(a._isValid=e._isValid),a}function tS(e,t){var A=e&&parseFloat(e.replace(",","."));return(isNaN(A)?0:A)*t}function tE(e,t){var A={};return A.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(A.months,"M").isAfter(t)&&--A.months,A.milliseconds=t-e.clone().add(A.months,"M"),A}function tI(e,t){return function(A,n){var r;return null===n||isNaN(+n)||(b(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=A,A=n,n=r),tb(this,tC(A,n),e),this}}function tb(e,A,n,r){var o=A._milliseconds,i=tp(A._days),a=tp(A._months);e.isValid()&&(r=null==r||r,a&&eU(e,ev(e,"Month")+a*n),i&&eC(e,"Date",ev(e,"Date")+i*n),o&&e._d.setTime(e._d.valueOf()+o*n),r&&t.updateOffset(e,i||a))}tC.fn=tu.prototype,tC.invalid=function(){return tC(NaN)};var tU=tI(1,"add"),tF=tI(-1,"subtract");function tQ(e){return"string"==typeof e||e instanceof String}function tT(e,t){if(e.date()<t.date())return-tT(t,e);var A,n=(t.year()-e.year())*12+(t.month()-e.month()),r=e.clone().add(n,"months");return A=t-r<0?(t-r)/(r-e.clone().add(n-1,"months")):(t-r)/(e.clone().add(n+1,"months")-r),-(n+A)||0}function tD(e){var t;return void 0===e?this._locale._abbr:(null!=(t=eZ(e))&&(this._locale=t),this)}t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var tO=E("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function tM(){return this._locale}function tx(e,t,A){return e<100&&e>=0?new Date(e+400,t,A)-126227808e5:new Date(e,t,A).valueOf()}function tL(e,t,A){return e<100&&e>=0?Date.UTC(e+400,t,A)-126227808e5:Date.UTC(e,t,A)}function tR(e,t){return t.erasAbbrRegex(e)}function tV(){var e,t,A,n,r,o=[],i=[],a=[],s=[],l=this.eras();for(e=0,t=l.length;e<t;++e)A=eu(l[e].name),n=eu(l[e].abbr),r=eu(l[e].narrow),i.push(A),o.push(n),a.push(r),s.push(A),s.push(n),s.push(r);this._erasRegex=RegExp("^("+s.join("|")+")","i"),this._erasNameRegex=RegExp("^("+i.join("|")+")","i"),this._erasAbbrRegex=RegExp("^("+o.join("|")+")","i"),this._erasNarrowRegex=RegExp("^("+a.join("|")+")","i")}function tN(e,t){L(0,[e,e.length],0,t)}function tH(e,t,A,n,r){var o;return null==e?ex(this,n,r).year:(t>(o=eL(e,n,r))&&(t=o),t_.call(this,e,t,A,n,r))}function t_(e,t,A,n,r){var o=eM(e,t,A,n,r),i=eD(o.year,0,o.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}L("N",0,0,"eraAbbr"),L("NN",0,0,"eraAbbr"),L("NNN",0,0,"eraAbbr"),L("NNNN",0,0,"eraName"),L("NNNNN",0,0,"eraNarrow"),L("y",["y",1],"yo","eraYear"),L("y",["yy",2],0,"eraYear"),L("y",["yyy",3],0,"eraYear"),L("y",["yyyy",4],0,"eraYear"),ec("N",tR),ec("NN",tR),ec("NNN",tR),ec("NNNN",function(e,t){return t.erasNameRegex(e)}),ec("NNNNN",function(e,t){return t.erasNarrowRegex(e)}),em(["N","NN","NNN","NNNN","NNNNN"],function(e,t,A,n){var r=A._locale.erasParse(e,n,A._strict);r?p(A).era=r:p(A).invalidEra=e}),ec("y",en),ec("yy",en),ec("yyy",en),ec("yyyy",en),ec("yo",function(e,t){return t._eraYearOrdinalRegex||en}),em(["y","yy","yyy","yyyy"],0),em(["yo"],function(e,t,A,n){var r;A._locale._eraYearOrdinalRegex&&(r=e.match(A._locale._eraYearOrdinalRegex)),A._locale.eraYearOrdinalParse?t[0]=A._locale.eraYearOrdinalParse(e,r):t[0]=parseInt(e,10)}),L(0,["gg",2],0,function(){return this.weekYear()%100}),L(0,["GG",2],0,function(){return this.isoWeekYear()%100}),tN("gggg","weekYear"),tN("ggggg","weekYear"),tN("GGGG","isoWeekYear"),tN("GGGGG","isoWeekYear"),ec("G",er),ec("g",er),ec("GG",q,Y),ec("gg",q,Y),ec("GGGG",et,X),ec("gggg",et,X),ec("GGGGG",eA,J),ec("ggggg",eA,J),ef(["gggg","ggggg","GGGG","GGGGG"],function(e,t,A,n){t[n.substr(0,2)]=ep(e)}),ef(["gg","GG"],function(e,A,n,r){A[r]=t.parseTwoDigitYear(e)}),L("Q",0,"Qo","quarter"),ec("Q",W),em("Q",function(e,t){t[1]=(ep(e)-1)*3}),L("D",["DD",2],"Do","date"),ec("D",q,es),ec("DD",q,Y),ec("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),em(["D","DD"],2),em("Do",function(e,t){t[2]=ep(e.match(q)[0])});var tk=ey("Date",!0);L("DDD",["DDDD",3],"DDDo","dayOfYear"),ec("DDD",ee),ec("DDDD",z),em(["DDD","DDDD"],function(e,t,A){A._dayOfYear=ep(e)}),L("m",["mm",2],0,"minute"),ec("m",q,el),ec("mm",q,Y),em(["m","mm"],4);var tP=ey("Minutes",!1);L("s",["ss",2],0,"second"),ec("s",q,el),ec("ss",q,Y),em(["s","ss"],5);var tG=ey("Seconds",!1);for(L("S",0,0,function(){return~~(this.millisecond()/100)}),L(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),L(0,["SSS",3],0,"millisecond"),L(0,["SSSS",4],0,function(){return 10*this.millisecond()}),L(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),L(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),L(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),L(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),L(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),ec("S",ee,W),ec("SS",ee,Y),ec("SSS",ee,z),f="SSSS";f.length<=9;f+="S")ec(f,en);function tK(e,t){t[6]=ep(("0."+e)*1e3)}for(f="S";f.length<=9;f+="S")em(f,tK);h=ey("Milliseconds",!1),L("z",0,0,"zoneAbbr"),L("zz",0,0,"zoneName");var tj=v.prototype;function tW(e){return e}tj.add=tU,tj.calendar=function(e,A){if(1==arguments.length)if(arguments[0]){var a,c,u,d;if(a=arguments[0],C(a)||l(a)||tQ(a)||s(a)||(u=n(c=a),d=!1,u&&(d=0===c.filter(function(e){return!s(e)&&tQ(c)}).length),u&&d)||function(e){var t,A,n=r(e)&&!i(e),a=!1,s=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],l=s.length;for(t=0;t<l;t+=1)A=s[t],a=a||o(e,A);return n&&a}(a)||null==a)e=arguments[0],A=void 0;else(function(e){var t,A,n=r(e)&&!i(e),a=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(t=0;t<s.length;t+=1)A=s[t],a=a||o(e,A);return n&&a})(arguments[0])&&(A=arguments[0],e=void 0)}else e=void 0,A=void 0;var p=e||ti(),g=th(p,this).startOf("day"),m=t.calendarFormat(this,g)||"sameElse",f=A&&(U(A[m])?A[m].call(this,p):A[m]);return this.format(f||this.localeData().calendar(m,this,ti(p)))},tj.clone=function(){return new v(this)},tj.diff=function(e,t,A){var n,r,o;if(!this.isValid()||!(n=th(e,this)).isValid())return NaN;switch(r=(n.utcOffset()-this.utcOffset())*6e4,t=H(t)){case"year":o=tT(this,n)/12;break;case"month":o=tT(this,n);break;case"quarter":o=tT(this,n)/3;break;case"second":o=(this-n)/1e3;break;case"minute":o=(this-n)/6e4;break;case"hour":o=(this-n)/36e5;break;case"day":o=(this-n-r)/864e5;break;case"week":o=(this-n-r)/6048e5;break;default:o=this-n}return A?o:ed(o)},tj.endOf=function(e){var A,n;if(void 0===(e=H(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?tL:tx,e){case"year":A=n(this.year()+1,0,1)-1;break;case"quarter":A=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":A=n(this.year(),this.month()+1,1)-1;break;case"week":A=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":A=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":A=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":A=this._d.valueOf(),A+=36e5-((A+(this._isUTC?0:6e4*this.utcOffset()))%36e5+36e5)%36e5-1;break;case"minute":A=this._d.valueOf(),A+=6e4-(A%6e4+6e4)%6e4-1;break;case"second":A=this._d.valueOf(),A+=1e3-(A%1e3+1e3)%1e3-1}return this._d.setTime(A),t.updateOffset(this,!0),this},tj.format=function(e){e||(e=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var A=R(this,e);return this.localeData().postformat(A)},tj.from=function(e,t){return this.isValid()&&(C(e)&&e.isValid()||ti(e).isValid())?tC({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},tj.fromNow=function(e){return this.from(ti(),e)},tj.to=function(e,t){return this.isValid()&&(C(e)&&e.isValid()||ti(e).isValid())?tC({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},tj.toNow=function(e){return this.to(ti(),e)},tj.get=function(e){return U(this[e=H(e)])?this[e]():this},tj.invalidAt=function(){return p(this).overflow},tj.isAfter=function(e,t){var A=C(e)?e:ti(e);return!!(this.isValid()&&A.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()>A.valueOf():A.valueOf()<this.clone().startOf(t).valueOf())},tj.isBefore=function(e,t){var A=C(e)?e:ti(e);return!!(this.isValid()&&A.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()<A.valueOf():this.clone().endOf(t).valueOf()<A.valueOf())},tj.isBetween=function(e,t,A,n){var r=C(e)?e:ti(e),o=C(t)?t:ti(t);return!!(this.isValid()&&r.isValid()&&o.isValid())&&("("===(n=n||"()")[0]?this.isAfter(r,A):!this.isBefore(r,A))&&(")"===n[1]?this.isBefore(o,A):!this.isAfter(o,A))},tj.isSame=function(e,t){var A,n=C(e)?e:ti(e);return!!(this.isValid()&&n.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()===n.valueOf():(A=n.valueOf(),this.clone().startOf(t).valueOf()<=A&&A<=this.clone().endOf(t).valueOf()))},tj.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},tj.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},tj.isValid=function(){return g(this)},tj.lang=tO,tj.locale=tD,tj.localeData=tM,tj.max=ts,tj.min=ta,tj.parsingFlags=function(){return u({},p(this))},tj.set=function(e,t){if("object"==typeof e){var A,n=function(e){var t,A=[];for(t in e)o(e,t)&&A.push({unit:t,priority:K[t]});return A.sort(function(e,t){return e.priority-t.priority}),A}(e=_(e)),r=n.length;for(A=0;A<r;A++)this[n[A].unit](e[n[A].unit])}else if(U(this[e=H(e)]))return this[e](t);return this},tj.startOf=function(e){var A,n;if(void 0===(e=H(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?tL:tx,e){case"year":A=n(this.year(),0,1);break;case"quarter":A=n(this.year(),this.month()-this.month()%3,1);break;case"month":A=n(this.year(),this.month(),1);break;case"week":A=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":A=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":A=n(this.year(),this.month(),this.date());break;case"hour":A=this._d.valueOf(),A-=((A+(this._isUTC?0:6e4*this.utcOffset()))%36e5+36e5)%36e5;break;case"minute":A=this._d.valueOf(),A-=(A%6e4+6e4)%6e4;break;case"second":A=this._d.valueOf(),A-=(A%1e3+1e3)%1e3}return this._d.setTime(A),t.updateOffset(this,!0),this},tj.subtract=tF,tj.toArray=function(){return[this.year(),this.month(),this.date(),this.hour(),this.minute(),this.second(),this.millisecond()]},tj.toObject=function(){return{years:this.year(),months:this.month(),date:this.date(),hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()}},tj.toDate=function(){return new Date(this.valueOf())},tj.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,A=t?this.clone().utc():this;if(0>A.year()||A.year()>9999)return R(A,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ");if(U(Date.prototype.toISOString))if(t)return this.toDate().toISOString();else return new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",R(A,"Z"));return R(A,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},tj.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,A,n="moment",r="";return this.isLocal()||(n=0===this.utcOffset()?"moment.utc":"moment.parseZone",r="Z"),e="["+n+'("]',t=0<=this.year()&&9999>=this.year()?"YYYY":"YYYYYY",A=r+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+A)},"u">typeof Symbol&&null!=Symbol.for&&(tj[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),tj.toJSON=function(){return this.isValid()?this.toISOString():null},tj.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},tj.unix=function(){return Math.floor(this.valueOf()/1e3)},tj.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},tj.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},tj.eraName=function(){var e,t,A,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e)if(A=this.clone().startOf("day").valueOf(),n[e].since<=A&&A<=n[e].until||n[e].until<=A&&A<=n[e].since)return n[e].name;return""},tj.eraNarrow=function(){var e,t,A,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e)if(A=this.clone().startOf("day").valueOf(),n[e].since<=A&&A<=n[e].until||n[e].until<=A&&A<=n[e].since)return n[e].narrow;return""},tj.eraAbbr=function(){var e,t,A,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e)if(A=this.clone().startOf("day").valueOf(),n[e].since<=A&&A<=n[e].until||n[e].until<=A&&A<=n[e].since)return n[e].abbr;return""},tj.eraYear=function(){var e,A,n,r,o=this.localeData().eras();for(e=0,A=o.length;e<A;++e)if(n=o[e].since<=o[e].until?1:-1,r=this.clone().startOf("day").valueOf(),o[e].since<=r&&r<=o[e].until||o[e].until<=r&&r<=o[e].since)return(this.year()-t(o[e].since).year())*n+o[e].offset;return this.year()},tj.year=eB,tj.isLeapYear=function(){return eh(this.year())},tj.weekYear=function(e){return tH.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)},tj.isoWeekYear=function(e){return tH.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},tj.quarter=tj.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)},tj.month=eF,tj.daysInMonth=function(){return eS(this.year(),this.month())},tj.week=tj.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add((e-t)*7,"d")},tj.isoWeek=tj.isoWeeks=function(e){var t=ex(this,1,4).week;return null==e?t:this.add((e-t)*7,"d")},tj.weeksInYear=function(){var e=this.localeData()._week;return eL(this.year(),e.dow,e.doy)},tj.weeksInWeekYear=function(){var e=this.localeData()._week;return eL(this.weekYear(),e.dow,e.doy)},tj.isoWeeksInYear=function(){return eL(this.year(),1,4)},tj.isoWeeksInISOWeekYear=function(){return eL(this.isoWeekYear(),1,4)},tj.date=tk,tj.day=tj.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,A,n=ev(this,"Day");return null==e?n:(t=e,A=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=A.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-n,"d"))},tj.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},tj.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var t,A=(t=this.localeData(),"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e);return this.day(this.day()%7?A:A-7)},tj.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},tj.hour=tj.hours=ej,tj.minute=tj.minutes=tP,tj.second=tj.seconds=tG,tj.millisecond=tj.milliseconds=h,tj.utcOffset=function(e,A,n){var r,o=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?o:tw(this);if("string"==typeof e){if(null===(e=tf(ei,e)))return this}else 16>Math.abs(e)&&!n&&(e*=60);return!this._isUTC&&A&&(r=tw(this)),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,"m"),o!==e&&(!A||this._changeInProgress?tb(this,tC(e-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this},tj.utc=function(e){return this.utcOffset(0,e)},tj.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(tw(this),"m")),this},tj.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=tf(eo,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},tj.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?ti(e).utcOffset():0,(this.utcOffset()-e)%60==0)},tj.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},tj.isLocal=function(){return!!this.isValid()&&!this._isUTC},tj.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},tj.isUtc=tB,tj.isUTC=tB,tj.zoneAbbr=function(){return this._isUTC?"UTC":""},tj.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},tj.dates=E("dates accessor is deprecated. Use date instead.",tk),tj.months=E("months accessor is deprecated. Use month instead",eF),tj.years=E("years accessor is deprecated. Use year instead",eB),tj.zone=E("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),tj.isDSTShifted=E("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!a(this._isDSTShifted))return this._isDSTShifted;var e,t={};return y(t,this),(t=tr(t))._a?(e=t._isUTC?d(t._a):ti(t._a),this._isDSTShifted=this.isValid()&&function(e,t){var A,n=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),o=0;for(A=0;A<n;A++)ep(e[A])!==ep(t[A])&&o++;return o+r}(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted});var tY=Q.prototype;function tz(e,t,A,n){var r=eZ(),o=d().set(n,t);return r[A](o,e)}function tX(e,t,A){if(s(e)&&(t=e,e=void 0),e=e||"",null!=t)return tz(e,t,A,"month");var n,r=[];for(n=0;n<12;n++)r[n]=tz(e,n,A,"month");return r}function tJ(e,t,A,n){"boolean"==typeof e||(A=t=e,e=!1),s(t)&&(A=t,t=void 0),t=t||"";var r,o=eZ(),i=e?o._week.dow:0,a=[];if(null!=A)return tz(t,(A+i)%7,n,"day");for(r=0;r<7;r++)a[r]=tz(t,(r+i)%7,n,"day");return a}tY.calendar=function(e,t,A){var n=this._calendar[e]||this._calendar.sameElse;return U(n)?n.call(t,A):n},tY.longDateFormat=function(e){var t=this._longDateFormat[e],A=this._longDateFormat[e.toUpperCase()];return t||!A?t:(this._longDateFormat[e]=A.match(D).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},tY.invalidDate=function(){return this._invalidDate},tY.ordinal=function(e){return this._ordinal.replace("%d",e)},tY.preparse=tW,tY.postformat=tW,tY.relativeTime=function(e,t,A,n){var r=this._relativeTime[A];return U(r)?r(e,t,A,n):r.replace(/%d/i,e)},tY.pastFuture=function(e,t){var A=this._relativeTime[e>0?"future":"past"];return U(A)?A(t):A.replace(/%s/i,t)},tY.set=function(e){var t,A;for(A in e)o(e,A)&&(U(t=e[A])?this[A]=t:this["_"+A]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},tY.eras=function(e,A){var n,r,o,i=this._eras||eZ("en")._eras;for(n=0,r=i.length;n<r;++n)switch("string"==typeof i[n].since&&(o=t(i[n].since).startOf("day"),i[n].since=o.valueOf()),typeof i[n].until){case"undefined":i[n].until=Infinity;break;case"string":o=t(i[n].until).startOf("day").valueOf(),i[n].until=o.valueOf()}return i},tY.erasParse=function(e,t,A){var n,r,o,i,a,s=this.eras();for(e=e.toUpperCase(),n=0,r=s.length;n<r;++n)if(o=s[n].name.toUpperCase(),i=s[n].abbr.toUpperCase(),a=s[n].narrow.toUpperCase(),A)switch(t){case"N":case"NN":case"NNN":if(i===e)return s[n];break;case"NNNN":if(o===e)return s[n];break;case"NNNNN":if(a===e)return s[n]}else if([o,i,a].indexOf(e)>=0)return s[n]},tY.erasConvertYear=function(e,A){var n=e.since<=e.until?1:-1;return void 0===A?t(e.since).year():t(e.since).year()+(A-e.offset)*n},tY.erasAbbrRegex=function(e){return o(this,"_erasAbbrRegex")||tV.call(this),e?this._erasAbbrRegex:this._erasRegex},tY.erasNameRegex=function(e){return o(this,"_erasNameRegex")||tV.call(this),e?this._erasNameRegex:this._erasRegex},tY.erasNarrowRegex=function(e){return o(this,"_erasNarrowRegex")||tV.call(this),e?this._erasNarrowRegex:this._erasRegex},tY.months=function(e,t){return e?n(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||eI).test(t)?"format":"standalone"][e.month()]:n(this._months)?this._months:this._months.standalone},tY.monthsShort=function(e,t){return e?n(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[eI.test(t)?"format":"standalone"][e.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},tY.monthsParse=function(e,t,A){var n,r,o;if(this._monthsParseExact)return eb.call(this,e,t,A);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;n<12;n++){if(r=d([2e3,n]),A&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),A||this._monthsParse[n]||(o="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[n]=RegExp(o.replace(".",""),"i")),A&&"MMMM"===t&&this._longMonthsParse[n].test(e))return n;if(A&&"MMM"===t&&this._shortMonthsParse[n].test(e))return n;if(!A&&this._monthsParse[n].test(e))return n}},tY.monthsRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||eQ.call(this),e)?this._monthsStrictRegex:this._monthsRegex:(o(this,"_monthsRegex")||(this._monthsRegex=ea),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},tY.monthsShortRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||eQ.call(this),e)?this._monthsShortStrictRegex:this._monthsShortRegex:(o(this,"_monthsShortRegex")||(this._monthsShortRegex=ea),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},tY.week=function(e){return ex(e,this._week.dow,this._week.doy).week},tY.firstDayOfYear=function(){return this._week.doy},tY.firstDayOfWeek=function(){return this._week.dow},tY.weekdays=function(e,t){var A=n(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?eR(A,this._week.dow):e?A[e.day()]:A},tY.weekdaysMin=function(e){return!0===e?eR(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},tY.weekdaysShort=function(e){return!0===e?eR(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},tY.weekdaysParse=function(e,t,A){var n,r,o;if(this._weekdaysParseExact)return eN.call(this,e,t,A);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(r=d([2e3,1]).day(n),A&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[n]=RegExp(o.replace(".",""),"i")),A&&"dddd"===t&&this._fullWeekdaysParse[n].test(e))return n;if(A&&"ddd"===t&&this._shortWeekdaysParse[n].test(e))return n;if(A&&"dd"===t&&this._minWeekdaysParse[n].test(e))return n;else if(!A&&this._weekdaysParse[n].test(e))return n}},tY.weekdaysRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||eH.call(this),e)?this._weekdaysStrictRegex:this._weekdaysRegex:(o(this,"_weekdaysRegex")||(this._weekdaysRegex=ea),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},tY.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||eH.call(this),e)?this._weekdaysShortStrictRegex:this._weekdaysShortRegex:(o(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ea),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},tY.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||eH.call(this),e)?this._weekdaysMinStrictRegex:this._weekdaysMinRegex:(o(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=ea),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},tY.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},tY.meridiem=function(e,t,A){return e>11?A?"pm":"PM":A?"am":"AM"},eq("en",{eras:[{since:"0001-01-01",until:Infinity,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,A=1===ep(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+A}}),t.lang=E("moment.lang is deprecated. Use moment.locale instead.",eq),t.langData=E("moment.langData is deprecated. Use moment.localeData instead.",eZ);var tq=Math.abs;function t$(e,t,A,n){var r=tC(t,A);return e._milliseconds+=n*r._milliseconds,e._days+=n*r._days,e._months+=n*r._months,e._bubble()}function tZ(e){return e<0?Math.floor(e):Math.ceil(e)}function t0(e){return 4800*e/146097}function t1(e){return 146097*e/4800}function t3(e){return function(){return this.as(e)}}var t4=t3("ms"),t2=t3("s"),t6=t3("m"),t9=t3("h"),t8=t3("d"),t5=t3("w"),t7=t3("M"),Ae=t3("Q"),At=t3("y");function AA(e){return function(){return this.isValid()?this._data[e]:NaN}}var An=AA("milliseconds"),Ar=AA("seconds"),Ao=AA("minutes"),Ai=AA("hours"),Aa=AA("days"),As=AA("months"),Al=AA("years"),Ac=Math.round,Au={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Ad(e,t,A,n,r){return r.relativeTime(t||1,!!A,e,n)}var Ap=Math.abs;function Ag(e){return(e>0)-(e<0)||+e}function Am(){if(!this.isValid())return this.localeData().invalidDate();var e,t,A,n,r,o,i,a,s=Ap(this._milliseconds)/1e3,l=Ap(this._days),c=Ap(this._months),u=this.asSeconds();return u?(e=ed(s/60),t=ed(e/60),s%=60,e%=60,A=ed(c/12),c%=12,n=s?s.toFixed(3).replace(/\.?0+$/,""):"",r=u<0?"-":"",o=Ag(this._months)!==Ag(u)?"-":"",i=Ag(this._days)!==Ag(u)?"-":"",a=Ag(this._milliseconds)!==Ag(u)?"-":"",r+"P"+(A?o+A+"Y":"")+(c?o+c+"M":"")+(l?i+l+"D":"")+(t||e||s?"T":"")+(t?a+t+"H":"")+(e?a+e+"M":"")+(s?a+n+"S":"")):"P0D"}var Af=tu.prototype;return Af.isValid=function(){return this._isValid},Af.abs=function(){var e=this._data;return this._milliseconds=tq(this._milliseconds),this._days=tq(this._days),this._months=tq(this._months),e.milliseconds=tq(e.milliseconds),e.seconds=tq(e.seconds),e.minutes=tq(e.minutes),e.hours=tq(e.hours),e.months=tq(e.months),e.years=tq(e.years),this},Af.add=function(e,t){return t$(this,e,t,1)},Af.subtract=function(e,t){return t$(this,e,t,-1)},Af.as=function(e){if(!this.isValid())return NaN;var t,A,n=this._milliseconds;if("month"===(e=H(e))||"quarter"===e||"year"===e)switch(t=this._days+n/864e5,A=this._months+t0(t),e){case"month":return A;case"quarter":return A/3;case"year":return A/12}else switch(t=this._days+Math.round(t1(this._months)),e){case"week":return t/7+n/6048e5;case"day":return t+n/864e5;case"hour":return 24*t+n/36e5;case"minute":return 1440*t+n/6e4;case"second":return 86400*t+n/1e3;case"millisecond":return Math.floor(864e5*t)+n;default:throw Error("Unknown unit "+e)}},Af.asMilliseconds=t4,Af.asSeconds=t2,Af.asMinutes=t6,Af.asHours=t9,Af.asDays=t8,Af.asWeeks=t5,Af.asMonths=t7,Af.asQuarters=Ae,Af.asYears=At,Af.valueOf=t4,Af._bubble=function(){var e,t,A,n,r,o=this._milliseconds,i=this._days,a=this._months,s=this._data;return o>=0&&i>=0&&a>=0||o<=0&&i<=0&&a<=0||(o+=864e5*tZ(t1(a)+i),i=0,a=0),s.milliseconds=o%1e3,s.seconds=(e=ed(o/1e3))%60,s.minutes=(t=ed(e/60))%60,s.hours=(A=ed(t/60))%24,i+=ed(A/24),a+=r=ed(t0(i)),i-=tZ(t1(r)),n=ed(a/12),a%=12,s.days=i,s.months=a,s.years=n,this},Af.clone=function(){return tC(this)},Af.get=function(e){return e=H(e),this.isValid()?this[e+"s"]():NaN},Af.milliseconds=An,Af.seconds=Ar,Af.minutes=Ao,Af.hours=Ai,Af.days=Aa,Af.weeks=function(){return ed(this.days()/7)},Af.months=As,Af.years=Al,Af.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var A,n,r,o,i,a,s,l,c,u,d,p,g,m=!1,f=Au;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(m=e),"object"==typeof t&&(f=Object.assign({},Au,t),null!=t.s&&null==t.ss&&(f.ss=t.s-1)),p=this.localeData(),A=!m,n=f,r=tC(this).abs(),o=Ac(r.as("s")),i=Ac(r.as("m")),a=Ac(r.as("h")),s=Ac(r.as("d")),l=Ac(r.as("M")),c=Ac(r.as("w")),u=Ac(r.as("y")),d=o<=n.ss&&["s",o]||o<n.s&&["ss",o]||i<=1&&["m"]||i<n.m&&["mm",i]||a<=1&&["h"]||a<n.h&&["hh",a]||s<=1&&["d"]||s<n.d&&["dd",s],null!=n.w&&(d=d||c<=1&&["w"]||c<n.w&&["ww",c]),(d=d||l<=1&&["M"]||l<n.M&&["MM",l]||u<=1&&["y"]||["yy",u])[2]=A,d[3]=+this>0,d[4]=p,g=Ad.apply(null,d),m&&(g=p.pastFuture(+this,g)),p.postformat(g)},Af.toISOString=Am,Af.toString=Am,Af.toJSON=Am,Af.locale=tD,Af.localeData=tM,Af.toIsoString=E("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Am),Af.lang=tO,L("X",0,0,"unix"),L("x",0,0,"valueOf"),ec("x",er),ec("X",/[+-]?\d+(\.\d{1,3})?/),em("X",function(e,t,A){A._d=new Date(1e3*parseFloat(e))}),em("x",function(e,t,A){A._d=new Date(ep(e))}),t.version="2.30.1",k=ti,t.fn=tj,t.min=function(){var e=[].slice.call(arguments,0);return tl("isBefore",e)},t.max=function(){var e=[].slice.call(arguments,0);return tl("isAfter",e)},t.now=function(){return Date.now?Date.now():+new Date},t.utc=d,t.unix=function(e){return ti(1e3*e)},t.months=function(e,t){return tX(e,t,"months")},t.isDate=l,t.locale=eq,t.invalid=m,t.duration=tC,t.isMoment=C,t.weekdays=function(e,t,A){return tJ(e,t,A,"weekdays")},t.parseZone=function(){return ti.apply(null,arguments).parseZone()},t.localeData=eZ,t.isDuration=td,t.monthsShort=function(e,t){return tX(e,t,"monthsShort")},t.weekdaysMin=function(e,t,A){return tJ(e,t,A,"weekdaysMin")},t.defineLocale=e$,t.updateLocale=function(e,t){if(null!=t){var A,n,r=eW;null!=eY[e]&&null!=eY[e].parentLocale?eY[e].set(F(eY[e]._config,t)):(null!=(n=eJ(e))&&(r=n._config),t=F(r,t),null==n&&(t.abbr=e),(A=new Q(t)).parentLocale=eY[e],eY[e]=A),eq(e)}else null!=eY[e]&&(null!=eY[e].parentLocale?(eY[e]=eY[e].parentLocale,e===eq()&&eq(e)):null!=eY[e]&&delete eY[e]);return eY[e]},t.locales=function(){return j(eY)},t.weekdaysShort=function(e,t,A){return tJ(e,t,A,"weekdaysShort")},t.normalizeUnits=H,t.relativeTimeRounding=function(e){return void 0===e?Ac:"function"==typeof e&&(Ac=e,!0)},t.relativeTimeThreshold=function(e,t){return void 0!==Au[e]&&(void 0===t?Au[e]:(Au[e]=t,"s"===e&&(Au.ss=t-1),!0))},t.calendarFormat=function(e,t){var A=e.diff(t,"days",!0);return A<-6?"sameElse":A<-1?"lastWeek":A<0?"lastDay":A<1?"sameDay":A<2?"nextDay":A<7?"nextWeek":"sameElse"},t.prototype=tj,t.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},t}()},3118(e){function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=3118,e.exports=t},856(e,t,A){"use strict";var n=A(7183);function r(){}function o(){}o.resetWarningCache=r,e.exports=function(){function e(e,t,A,r,o,i){if(i!==n){var a=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var A={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:r};return A.PropTypes=A,A}},7598(e,t,A){e.exports=A(856)()},7183(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},8249(e,t){"use strict";var A=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),p=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,f={};function h(e,t,A){this.props=e,this.context=t,this.refs=f,this.updater=A||g}function w(){}function B(e,t,A){this.props=e,this.context=t,this.refs=f,this.updater=A||g}h.prototype.isReactComponent={},h.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},h.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=h.prototype;var y=B.prototype=new w;y.constructor=B,m(y,h.prototype),y.isPureReactComponent=!0;var v=Array.isArray,C=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function I(e,t,n){var r,o={},i=null,a=null;if(null!=t)for(r in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(i=""+t.key),t)C.call(t,r)&&!E.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(1===s)o.children=n;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];o.children=l}if(e&&e.defaultProps)for(r in s=e.defaultProps)void 0===o[r]&&(o[r]=s[r]);return{$$typeof:A,type:e,key:i,ref:a,props:o,_owner:S.current}}function b(e){return"object"==typeof e&&null!==e&&e.$$typeof===A}var U=/\/+/g;function F(e,t){var A,n;return"object"==typeof e&&null!==e&&null!=e.key?(A=""+e.key,n={"=":"=0",":":"=2"},"$"+A.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function Q(e,t,r){if(null==e)return e;var o=[],i=0;return!function e(t,r,o,i,a){var s,l,c,u=typeof t;("undefined"===u||"boolean"===u)&&(t=null);var d=!1;if(null===t)d=!0;else switch(u){case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case A:case n:d=!0}}if(d)return a=a(d=t),t=""===i?"."+F(d,0):i,v(a)?(o="",null!=t&&(o=t.replace(U,"$&/")+"/"),e(a,r,o,"",function(e){return e})):null!=a&&(b(a)&&(s=a,l=o+(!a.key||d&&d.key===a.key?"":(""+a.key).replace(U,"$&/")+"/")+t,a={$$typeof:A,type:s.type,key:l,ref:s.ref,props:s.props,_owner:s._owner}),r.push(a)),1;if(d=0,i=""===i?".":i+":",v(t))for(var g=0;g<t.length;g++){var m=i+F(u=t[g],g);d+=e(u,r,o,m,a)}else if("function"==typeof(m=null===(c=t)||"object"!=typeof c?null:"function"==typeof(c=p&&c[p]||c["@@iterator"])?c:null))for(t=m.call(t),g=0;!(u=t.next()).done;)m=i+F(u=u.value,g++),d+=e(u,r,o,m,a);else if("object"===u)throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(r=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.");return d}(e,o,"","",function(e){return t.call(r,e,i++)}),o}function T(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var D={current:null},O={transition:null};function M(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:Q,forEach:function(e,t,A){Q(e,function(){t.apply(this,arguments)},A)},count:function(e){var t=0;return Q(e,function(){t++}),t},toArray:function(e){return Q(e,function(e){return e})||[]},only:function(e){if(!b(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=h,t.Fragment=r,t.Profiler=i,t.PureComponent=B,t.StrictMode=o,t.Suspense=c,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED={ReactCurrentDispatcher:D,ReactCurrentBatchConfig:O,ReactCurrentOwner:S},t.act=M,t.cloneElement=function(e,t,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=m({},e.props),o=e.key,i=e.ref,a=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,a=S.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)C.call(t,l)&&!E.hasOwnProperty(l)&&(r[l]=void 0===t[l]&&void 0!==s?s[l]:t[l])}var l=arguments.length-2;if(1===l)r.children=n;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];r.children=s}return{$$typeof:A,type:e.type,key:o,ref:i,props:r,_owner:a}},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},t.createElement=I,t.createFactory=function(e){var t=I.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=b,t.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:T}},t.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=O.transition;O.transition={};try{e()}finally{O.transition=t}},t.unstable_act=M,t.useCallback=function(e,t){return D.current.useCallback(e,t)},t.useContext=function(e){return D.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return D.current.useDeferredValue(e)},t.useEffect=function(e,t){return D.current.useEffect(e,t)},t.useId=function(){return D.current.useId()},t.useImperativeHandle=function(e,t,A){return D.current.useImperativeHandle(e,t,A)},t.useInsertionEffect=function(e,t){return D.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return D.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return D.current.useMemo(e,t)},t.useReducer=function(e,t,A){return D.current.useReducer(e,t,A)},t.useRef=function(e){return D.current.useRef(e)},t.useState=function(e){return D.current.useState(e)},t.useSyncExternalStore=function(e,t,A){return D.current.useSyncExternalStore(e,t,A)},t.useTransition=function(){return D.current.useTransition()},t.version="18.3.1"},6326(e,t,A){"use strict";e.exports=A(8249)},9741(e){e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},4774(e,t,A){"use strict";var n=A(6326),r="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useState,i=n.useEffect,a=n.useLayoutEffect,s=n.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var A=t();return!r(e,A)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var A=t(),n=o({inst:{value:A,getSnapshot:t}}),r=n[0].inst,c=n[1];return a(function(){r.value=A,r.getSnapshot=t,l(r)&&c({inst:r})},[e,A,t]),i(function(){return l(r)&&c({inst:r}),e(function(){l(r)&&c({inst:r})})},[e]),s(A),A};t.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:c},9449(e,t,A){"use strict";var n=A(6326),r=A(3391),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=r.useSyncExternalStore,a=n.useRef,s=n.useEffect,l=n.useMemo,c=n.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,A,n,r){var u=a(null);if(null===u.current){var d={hasValue:!1,value:null};u.current=d}else d=u.current;var p=i(e,(u=l(function(){function e(e){if(!s){if(s=!0,i=e,e=n(e),void 0!==r&&d.hasValue){var t=d.value;if(r(t,e))return a=t}return a=e}if(t=a,o(i,e))return t;var A=n(e);return void 0!==r&&r(t,A)?t:(i=e,a=A)}var i,a,s=!1,l=void 0===A?null:A;return[function(){return e(t())},null===l?void 0:function(){return e(l())}]},[t,A,n,r]))[0],u[1]);return s(function(){d.hasValue=!0,d.value=p},[p]),c(p),p}},3391(e,t,A){"use strict";e.exports=A(4774)},4413(e,t,A){"use strict";e.exports=A(9449)},7268(e){"use strict";e.exports=m},6557(e){"use strict";e.exports=t},6336(e){"use strict";e.exports=c},642(e){"use strict";e.exports=l},8082(e){"use strict";e.exports=A},2678(e){"use strict";e.exports=a},2302(e){"use strict";e.exports=f},933(e){"use strict";e.exports=b},1223(e){"use strict";e.exports=y},6023(e){"use strict";e.exports=s},4713(e){"use strict";e.exports=d},9195(e){"use strict";e.exports=g},6404(e){"use strict";e.exports=n},1748(e){"use strict";e.exports=E},3154(e){"use strict";e.exports=u},6974(e){"use strict";e.exports=h},6285(e){"use strict";e.exports=I},1002(e){"use strict";e.exports=i},1459(e){"use strict";e.exports=U},1016(e){"use strict";e.exports=o},8842(e){"use strict";e.exports=v},7141(t){"use strict";t.exports=e},7438(e){"use strict";e.exports=p},2351(e){"use strict";e.exports=r},3545(e){"use strict";e.exports=B},55(e){"use strict";e.exports=S},2111(e){"use strict";e.exports=w},7155(e){"use strict";e.exports=C},5530(e){!function(){"use strict";var t={}.hasOwnProperty;function A(){for(var e="",r=0;r<arguments.length;r++){var o=arguments[r];o&&(e=n(e,function(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return A.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var r="";for(var o in e)t.call(e,o)&&e[o]&&(r=n(r,o));return r}(o)))}return e}function n(e,t){return t?e?e+" "+t:e+t:e}e.exports?(A.default=A,e.exports=A):"function"==typeof define&&"object"==typeof define.amd&&define.amd?define("classnames",[],function(){return A}):window.classNames=A}()},6739(e,t,A){"use strict";A.d(t,{vt:()=>c});let n=e=>{let t,A=new Set,n=(e,n)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=n?n:"object"!=typeof r||null===r)?r:Object.assign({},t,r),A.forEach(A=>A(t,e))}},r=()=>t,o={setState:n,getState:r,getInitialState:()=>i,subscribe:e=>(A.add(e),()=>A.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),A.clear()}},i=t=e(n,r,o);return o};var r=A(6326),o=A(4413);let{useDebugValue:i}=r,{useSyncExternalStoreWithSelector:a}=o,s=!1,l=e=>{"function"!=typeof e&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t="function"==typeof e?e?n(e):n:e,A=(e,A)=>(function(e,t=e=>e,A){A&&!s&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),s=!0);let n=a(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,A);return i(n),n})(t,e,A);return Object.assign(A,t),A},c=e=>e?l(e):l},1978(e,t,A){"use strict";A.d(t,{lt:()=>o});let n=new Map,r=e=>{let t=n.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([e,t])=>[e,t.getState()])):{}},o=(e,t={})=>(A,o,a)=>{let s,{enabled:l,anonymousActionType:c,store:u,...d}=t;try{s=(null==l||l)&&window.__REDUX_DEVTOOLS_EXTENSION__}catch(e){}if(!s)return l&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),e(A,o,a);let{connection:p,...g}=((e,t,A)=>{if(void 0===e)return{type:"untracked",connection:t.connect(A)};let r=n.get(A.name);if(r)return{type:"tracked",store:e,...r};let o={connection:t.connect(A),stores:{}};return n.set(A.name,o),{type:"tracked",store:e,...o}})(u,s,d),m=!0;a.setState=(e,t,n)=>{let i=A(e,t);if(!m)return i;let s=void 0===n?{type:c||"anonymous"}:"string"==typeof n?{type:n}:n;return void 0===u?null==p||p.send(s,o()):null==p||p.send({...s,type:`${u}/${s.type}`},{...r(d.name),[u]:a.getState()}),i};let f=(...e)=>{let t=m;m=!1,A(...e),m=t},h=e(a.setState,o,a);if("untracked"===g.type?null==p||p.init(h):(g.stores[g.store]=a,null==p||p.init(Object.fromEntries(Object.entries(g.stores).map(([e,t])=>[e,e===g.store?h:t.getState()])))),a.dispatchFromDevtools&&"function"==typeof a.dispatch){let e=!1,t=a.dispatch;a.dispatch=(...A)=>{"__setState"!==A[0].type||e||(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),e=!0),t(...A)}}return p.subscribe(e=>{var t;switch(e.type){case"ACTION":if("string"!=typeof e.payload)return void console.error("[zustand devtools middleware] Unsupported action format");return i(e.payload,e=>{if("__setState"===e.type){if(void 0===u)return void f(e.state);1!==Object.keys(e.state).length&&console.error(`
|
|
2
2
|
[zustand devtools middleware] Unsupported __setState action format.
|
|
3
3
|
When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
|
|
4
4
|
and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
|
|
5
|
-
`);let A=e.state[u];return void(null==A||JSON.stringify(a.getState())!==JSON.stringify(A)&&f(A))}a.dispatchFromDevtools&&"function"==typeof a.dispatch&&a.dispatch(e)});case"DISPATCH":switch(e.payload.type){case"RESET":if(f(h),void 0===u)return null==g?void 0:g.init(a.getState());return null==g?void 0:g.init(r(d.name));case"COMMIT":if(void 0===u){null==g||g.init(a.getState());break}return null==g?void 0:g.init(r(d.name));case"ROLLBACK":return i(e.state,e=>{if(void 0===u){f(e),null==g||g.init(a.getState());return}f(e[u]),null==g||g.init(r(d.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return i(e.state,e=>{void 0===u?f(e):JSON.stringify(a.getState())!==JSON.stringify(e[u])&&f(e[u])});case"IMPORT_STATE":{let{nextLiftedState:t}=e.payload,n=null==(A=t.computedStates.slice(-1)[0])?void 0:A.state;if(!n)return;void 0===u?f(n):f(n[u]),null==g||g.send(null,t);break}case"PAUSE_RECORDING":return m=!m}return}}),h},i=(e,A)=>{let t;try{t=JSON.parse(e)}catch(e){console.error("[zustand devtools middleware] Could not parse the received json",e)}void 0!==t&&A(t)}}},D={};function T(e){var A=D[e];if(void 0!==A)return A.exports;var t=D[e]={exports:{}};return Q[e].call(t.exports,t,t.exports,T),t.exports}T.n=e=>{var A=e&&e.__esModule?()=>e.default:()=>e;return T.d(A,{a:A}),A},T.d=(e,A)=>{for(var t in A)T.o(A,t)&&!T.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},T.u=e=>"dist/"+e+".ohif-extension-cornerstone.umd.js",T.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),T.o=(e,A)=>Object.prototype.hasOwnProperty.call(e,A),T.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},T.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),b=[],T.O=(e,A,t,n)=>{if(A){n=n||0;for(var r=b.length;r>0&&b[r-1][2]>n;r--)b[r]=b[r-1];b[r]=[A,t,n];return}for(var o=1/0,r=0;r<b.length;r++){for(var[A,t,n]=b[r],i=!0,a=0;a<A.length;a++)(!1&n||o>=n)&&Object.keys(T.O).every(e=>T.O[e](A[a]))?A.splice(a--,1):(i=!1,n<o&&(o=n));if(i){b.splice(r--,1);var s=t();void 0!==s&&(e=s)}}return e},T.F={},T.E=e=>{Object.keys(T.F).map(A=>{T.F[A](e)})},T.p="/",T.b=document.baseURI||self.location.href,F={509:0},T.F.j=e=>{if(!T.o(F,e)||void 0===F[e]){F[e]=null;var A=document.createElement("link");T.nc&&A.setAttribute("nonce",T.nc),A.rel="prefetch",A.as="script",A.href=T.p+T.u(e),document.head.appendChild(A)}},T.O.j=e=>0===F[e],T.O(0,[509],()=>{[509].map(T.E)},5);var O={};return(()=>{"use strict";T.r(O),T.d(O,{AccordionGroup:()=>dy,CloneChildren:()=>dw,Colorbar:()=>cm,Colormap:()=>cp,CornerstoneViewportDownloadForm:()=>sW,DYNAMIC_VOLUME_LOADER_SCHEME:()=>ur,DicomUpload:()=>tS,Enums:()=>V,ImageOverlayViewerTool:()=>ea,MeasumentsMenu:()=>dX,MeasurementOrAdditionalFindingSets:()=>dQ,MeasurementsOrAdditionalFindings:()=>dT,OHIFCornerstoneViewport:()=>d5,PanelMeasurement:()=>dR,PanelSegmentation:()=>dn,PlanarFreehandROI:()=>eI,RectangleROI:()=>eU,SeriesMeasurementTrigger:()=>d4,SeriesMeasurements:()=>d2,StudyMeasurements:()=>dV,StudyMeasurementsActions:()=>dx,StudySummaryFromMetadata:()=>dM,Types:()=>D,VOLUME_LOADER_SCHEME:()=>un,VolumeLighting:()=>cv,VolumeRenderingOptions:()=>cE,VolumeRenderingPresets:()=>cw,VolumeRenderingQuality:()=>cB,VolumeShade:()=>cC,VolumeShift:()=>cy,WindowLevel:()=>cf,WindowLevelActionMenu:()=>cS,WindowLevelActionMenuContent:()=>cI,WindowLevelActionMenuWrapper:()=>cb,default:()=>gA,dicomLoaderService:()=>uX,findNearbyToolData:()=>e3,getActiveViewportEnabledElement:()=>$,getEnabledElement:()=>X.kJ,getSOPInstanceAttributes:()=>eu,groupByDisplaySet:()=>d3,groupByNamedSets:()=>dD,groupByStudy:()=>dN,measurementMappingUtils:()=>Q,setEnabledElement:()=>X.ye,toolNames:()=>es,useActiveViewportSegmentationRepresentations:()=>u7.c,useLutPresentationStore:()=>At.I,useMeasurementTracking:()=>cR.R,useMeasurements:()=>de.d,usePositionPresentationStore:()=>An.q,useSegmentationPresentationStore:()=>Ar.v,useSegmentations:()=>d_.j,useSelectedSegmentationsForViewportStore:()=>tN,useSynchronizersStore:()=>tH.U,utils:()=>dj});var e,A,t,n,r,o,i,a,s,l,c,u,d,g,p,m,f,h,w,B,y,v,C,E,S,I,U,b,F={};T.r(F),T.d(F,{rM:()=>L,yK:()=>N,Ay:()=>V});var Q={};T.r(Q),T.d(Q,{getDisplayUnit:()=>eh,getFirstAnnotationSelected:()=>ef,getHandlesFromPoints:()=>eg,getSOPInstanceAttributes:()=>eu,isAnnotationSelected:()=>ep,setAnnotationSelected:()=>em});var D={};T.r(D);var M=T(6326),x=T(6557),H=T(4713);let L="Cornerstone3DTools",N="0.1",V={CORNERSTONE_3D_TOOLS_SOURCE_NAME:L,CORNERSTONE_3D_TOOLS_SOURCE_VERSION:N};var R=T(1002),_=T.n(R),k=T(8082),P=T(642),G=T.n(P),K=T(2302),j=T.n(K);let{registerVolumeLoader:Y}=x.volumeLoader;var W=T(7268),z=T(6023),J=T(7438),X=T(6499);function q(e){let{element:A}=(0,X.kJ)(e)||{};return(0,x.getEnabledElement)(A)}function $(e){let{activeViewportId:A}=e.getState();return q(A)}let{calibrateImageSpacing:Z}=H.utilities;class ee extends H.LengthTool{constructor(...e){super(...e),this._renderingViewport=void 0,this._lengthToolRenderAnnotation=this.renderAnnotation,this.renderAnnotation=(e,A)=>{let{viewport:t}=e;return this._renderingViewport=t,this._lengthToolRenderAnnotation(e,A)}}_getTextLines(e,A){var t,n;let r,o,[i,a]=e.handles.points.map(e=>this._renderingViewport.worldToCanvas(e)),s=Math.round(100*(t=i,n=a,r=t[0]-n[0],Math.sqrt(r*r+(o=t[1]-n[1])*o)))/100;return[`${s}px`]}}ee.toolName="CalibrationLine";var eA=T(7141);let et=new Map,en=(e,A)=>{et.get(e)!==A&&et.set(e,A)},er=(e,A)=>{if(!Array.isArray(A)&&"overlayPlaneModule"===e)return et.get(A)};x.metaData.addProvider(er,1e4);var eo=T(3117);class ei extends H.AnnotationDisplayTool{constructor(e={},A={supportedInteractionTypes:[],configuration:{fillColor:[255,127,127,255]}}){super(e,A),this.onSetToolDisabled=()=>{},this.renderAnnotation=(e,A)=>{let{viewport:t}=e,n=this.getReferencedImageId(t);if(!n)return;let r=x.metaData.get("overlayPlaneModule",n),o=r?.overlays;if(o?.length)return o.forEach(e=>{e.x||=0,e.y||=0}),ei.addOverlayPlaneModule(n,r),this._getCachedStat(n,r,this.configuration.fillColor).then(t=>{t.overlays.forEach(t=>{this._renderOverlay(e,A,t)})}),!0}}getReferencedImageId(e){if(!(0,eo.tO)(e))return this.getTargetId(e).split("imageId:")[1]}_renderOverlay(e,A,t){let{viewport:n}=e,r=this.getReferencedImageId(n);if(!r)return;let{_id:o,columns:i,rows:a,x:s,y:l}=t,c=x.utilities.imageToWorldCoords(r,[s-1,l-1]),u=n.worldToCanvas(c),d=x.utilities.imageToWorldCoords(r,[i,a]),g=n.worldToCanvas(d),p=`image-overlay-${o}`,m=A.getSvgNode(p),f={"data-id":p,width:g[0]-u[0],height:g[1]-u[1],x:u[0],y:u[1],href:t.dataUrl};if(isNaN(f.x)||isNaN(f.y)||isNaN(f.width)||isNaN(f.height))return console.warn("Invalid rendering attribute for image overlay",f["data-id"]),!1;if(m)H.drawing.setAttributesIfNecessary(f,m),A.setNodeTouched(p);else{let e=document.createElementNS("http://www.w3.org/2000/svg","image");H.drawing.setNewAttributesIfValid(f,e),A.appendNode(e,p)}return!0}async _getCachedStat(e,A,t){if(0===A.overlays.filter(e=>e.pixelData&&!e.dataUrl).length)return A;let n=await Promise.all(A.overlays.filter(e=>e.pixelData).map(async(e,A)=>{let n=null;if(e.pixelData.Value)n=e.pixelData.Value;else if(e.pixelData instanceof Array)n=e.pixelData[0];else if(e.pixelData.retrieveBulkData)n=await e.pixelData.retrieveBulkData();else if(e.pixelData.InlineBinary){let A=(0,eA.b64toBlob)(e.pixelData.InlineBinary);n=await A.arrayBuffer()}if(!n)return;let r=this._renderOverlayToDataUrl({width:e.columns,height:e.rows},e.color||t,n);return{...e,_id:(0,eA.guid)(),dataUrl:r,color:t}}));return A.overlays=n,A}_isSameColor(e,A){return e&&A&&e[0]===A[0]&&e[1]===A[1]&&e[2]===A[2]&&e[3]===A[3]}_renderOverlayToDataUrl({width:e,height:A},t,n){let r=new DataView(n),o=e*A,i=document.createElement("canvas");i.width=e,i.height=A;let a=i.getContext("2d");a.clearRect(0,0,e,A),a.globalCompositeOperation="copy";let s=a.getImageData(0,0,e,A),l=s.data;for(let e=0,A=0,n=0;e<o;e++)r.getUint8(n)&1<<A&&(l[4*e]=t[0],l[4*e+1]=t[1],l[4*e+2]=t[2],l[4*e+3]=t[3]),A>=7?(A=0,n++):A++;return a.putImageData(s,0,0),i.toDataURL()}}ei.toolName="ImageOverlayViewer",ei.addOverlayPlaneModule=en;let ea=ei,es={Pan:H.PanTool.toolName,ArrowAnnotate:H.ArrowAnnotateTool.toolName,WindowLevel:H.WindowLevelTool.toolName,StackScroll:H.StackScrollTool.toolName,Zoom:H.ZoomTool.toolName,VolumeRotate:H.VolumeRotateTool.toolName,MipJumpToClick:H.MIPJumpToClickTool.toolName,Length:H.LengthTool.toolName,DragProbe:H.DragProbeTool.toolName,Probe:H.ProbeTool.toolName,RectangleROI:H.RectangleROITool.toolName,RectangleROIThreshold:H.RectangleROIThresholdTool.toolName,EllipticalROI:H.EllipticalROITool.toolName,CircleROI:H.CircleROITool.toolName,Bidirectional:H.BidirectionalTool.toolName,Angle:H.AngleTool.toolName,CobbAngle:H.CobbAngleTool.toolName,Magnify:H.MagnifyTool.toolName,Crosshairs:H.CrosshairsTool.toolName,Brush:H.BrushTool.toolName,PaintFill:H.PaintFillTool.toolName,ReferenceLines:H.ReferenceLinesTool.toolName,CalibrationLine:ee.toolName,TrackballRotateTool:H.TrackballRotateTool.toolName,CircleScissors:H.CircleScissorsTool.toolName,RectangleScissors:H.RectangleScissorsTool.toolName,SphereScissors:H.SphereScissorsTool.toolName,ImageOverlayViewer:ea.toolName,AdvancedMagnify:H.AdvancedMagnifyTool.toolName,UltrasoundDirectional:H.UltrasoundDirectionalTool.toolName,UltrasoundAnnotation:H.UltrasoundPleuraBLineTool.toolName,SplineROI:H.SplineROITool.toolName,LivewireContour:H.LivewireContourTool.toolName,PlanarFreehandROI:H.PlanarFreehandROITool.toolName,OrientationMarker:H.OrientationMarkerTool.toolName,WindowLevelRegion:H.WindowLevelRegionTool.toolName,PlanarFreehandContourSegmentation:H.PlanarFreehandContourSegmentationTool.toolName,SegmentBidirectional:H.SegmentBidirectionalTool.toolName,SegmentSelect:H.SegmentSelectTool.toolName,SegmentLabel:H.SegmentLabelTool.toolName,LabelmapSlicePropagation:W.LabelmapSlicePropagationTool.toolName,MarkerLabelmap:W.MarkerLabelmapTool.toolName,RegionSegmentPlus:H.RegionSegmentPlusTool.toolName,LivewireContourSegmentation:H.LivewireContourSegmentationTool.toolName,SculptorTool:H.SculptorTool.toolName,SplineContourSegmentation:H.SplineContourSegmentationTool.toolName,LabelMapEditWithContourTool:H.LabelMapEditWithContourTool.toolName},el=["Length","EllipticalROI","CircleROI","Bidirectional","ArrowAnnotate","Angle","CobbAngle","Probe","RectangleROI","PlanarFreehandROI","SplineROI","LivewireContour","UltrasoundDirectionalTool","UltrasoundPleuraBLineTool","SegmentBidirectional"];var ec=T(9195);function eu(e,A,t){if(e){var n;let A;return n=e,{SOPInstanceUID:(A=x.metaData.get("instance",n)).SOPInstanceUID,SeriesInstanceUID:A.SeriesInstanceUID,StudyInstanceUID:A.StudyInstanceUID,frameNumber:A.frameNumber||1}}let{metadata:r}=t,{StudyInstanceUID:o,SeriesInstanceUID:i}=function({metadata:e,displaySetService:A}){let{volumeId:t}=e;if(t){let n=A.getDisplaySetsBy(e=>t.includes(e.uid))[0];if(n)return n;console.warn("Unable to find volumeId",t),e.volumeId=null}if(!e.FrameOfReferenceUID)throw Error("No volumeId and no FrameOfReferenceUID provided. Could not find matching displaySet.");let n=Array.from(A.getDisplaySetCache().values()).find(A=>A.instance?.FrameOfReferenceUID===e.FrameOfReferenceUID);if(!n)throw Error("Could not find matching displaySet for the provided FrameOfReferenceUID.");return n}({metadata:r,displaySetService:A});return{SOPInstanceUID:void 0,SeriesInstanceUID:i,StudyInstanceUID:o}}let ed=e=>{};function eg(e){if(e.longAxis&&e.shortAxis){let A={};return A.start=e.longAxis[0],A.end=e.longAxis[1],A.perpendicularStart=e.longAxis[0],A.perpendicularEnd=e.longAxis[1],A}return e.map((e,A)=>A%10==0?{start:e}:{end:e}).reduce((e,A)=>Object.assign(e,{...A}),{})}function ep(e){return H.annotation.selection.isAnnotationSelected(e)}function em(e,A){ep(e)!==A&&H.annotation.selection.setAnnotationSelected(e,A)}function ef(e){let[A]=H.annotation.selection.getAnnotationsSelected()||[];if(A)return H.annotation.state.getAnnotation(A)}let eh=e=>null==e?"":e,ew=e=>{},eB=(e,A,t)=>{if(Array.isArray(e)&&e.length>0){let n=e.map(e=>R.utils.roundNumber(e,2));return`${t.charAt(0).toUpperCase()+t.slice(1)}: ${n.join(", ")} ${eh(A)}`}let n=R.utils.roundNumber(e,2);return`${t.charAt(0).toUpperCase()+t.slice(1)}: ${n} ${eh(A)}`},ey=e=>{},ev=e=>{},eC=e=>{},eE=e=>{},eS=e=>{},eI={toAnnotation:e=>{},toMeasurement:(e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.debug("PlanarFreehandROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:f,frameNumber:h,StudyInstanceUID:w}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let B=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:a}=e[0],s=A.instances.find(e=>e.SOPInstanceUID===o);s&&(t=s.InstanceNumber);let l=t?` I: ${t}`:"",c=A.isMultiFrame?` F: ${i}`:"",u=R.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${eh(a)}`),e.forEach(e=>{let{unit:A,max:t,SeriesNumber:r}=e,o=eB(t,A,"max");n.primary.push(o),n.secondary.push(`S: ${r}${l}${c}`)}),n}(function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!r)return;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=eu(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{mean:u,stdDev:d,max:g,area:p,Modality:m,areaUnit:f,modalityUnit:h}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,Modality:m,unit:h,mean:u,stdDev:d,max:g,area:p,areaUnit:f})}),i}(i,A),o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:s.contour.polyline,textBox:s.handles.textBox,metadata:a,frameNumber:h,referenceSeriesUID:f,referenceStudyUID:w,referencedImageId:g,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:B,data:s.cachedStats,type:n(d),getReport:()=>(function(e,A){let{PlanarFreehandROI:t}=A.getCustomization("cornerstone.measurements"),{report:n}=t,r=[],o=[];r.push("AnnotationType"),o.push("Cornerstone:PlanarFreehandROI");let{metadata:i,data:a}=e,s=a.cachedStats[`imageId:${i.referencedImageId}`];return n.forEach(({displayName:e,value:A})=>{r.push(e),s[A]?o.push(s[A]):o.push("not available")}),i.FrameOfReferenceUID&&(r.push("FrameOfReferenceUID"),o.push(i.FrameOfReferenceUID)),a.contour.polyline&&(r.push("points"),o.push(a.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:r,values:o}})(i,r),isLocked:c,isVisible:u}}},eU={toAnnotation:e=>{},toMeasurement:(e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Rectangle ROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return[];let i=[],a=new Set;return Object.keys(r).forEach(n=>{let s=r[n],{SOPInstanceUID:l,SeriesInstanceUID:c,frameNumber:u}=eu(o,A,e),{SeriesNumber:d}=A.getDisplaySetsForSeries(c)[0],{mean:g,stdDev:p,max:m,area:f,Modality:h,modalityUnit:w,areaUnit:B}=s;h&&a.has(h)||(h&&a.add(h),i.push({SeriesInstanceUID:c,SOPInstanceUID:l,SeriesNumber:d,frameNumber:u,Modality:h,unit:w,mean:g,stdDev:p,metadata:t,max:m,area:f,areaUnit:B}))}),i}(i,A),v=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:a}=e[0],s=A.instances.find(e=>e.SOPInstanceUID===o);s&&(t=s.InstanceNumber);let l=t?` I: ${t}`:"",c=A.isMultiFrame?` F: ${i}`:"",u=R.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${eh(a)}`),e.forEach(e=>{let{unit:A,max:t,SeriesNumber:r}=e;if(Number.isFinite(t)){let e=eB(t,A,"max");n.primary.push(e)}n.secondary.push(`S: ${r}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,textBox:B,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:g,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=y,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:RectangleROI"),e.forEach(e=>{let{mean:A,stdDev:t,max:o,area:i,unit:a,areaUnit:s}=e;A&&a&&o&&i&&(n.push("Maximum","Mean","Std Dev","Pixel Unit","Area","Unit"),r.push(o,A,t,a,i,s))}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}}},eb=e=>{},eF=e=>{},eQ=e=>{},eD=e=>{},eT=e=>{},eO=e=>{};var eM=T(3154);let{rM:ex,yK:eH}=F,{removeAnnotation:eL}=H.annotation.state,eN=H.Enums.Events,{DefaultHistoryMemo:eV}=x.utilities.HistoryMemo,eR=function(e){let{cineService:A}=e.services;A.setServiceImplementation({getSyncedViewports:A=>(function(e,A){let{viewportGridService:t,cornerstoneViewportService:n}=e.services,{viewports:r}=t.getState(),o=r.get(A);if(o?.viewportOptions?.viewportType!=="volume")return[];let i=n.getCornerstoneViewport(A),a=i?function(e){if(!e?.getAllVolumeIds)return null;let A=e.getAllVolumeIds().map(e=>x.cache.getVolume(e));return A.find(e=>e.isDynamicVolume())??A[0]}(i):null;if(!a?.isDynamicVolume())return[];let{volumeId:s}=a;return Array.from(r.values()).filter(({viewportId:e})=>{let t=n.getCornerstoneViewport(e);return e!==A&&t?.hasVolumeId?.(s)}).map(({viewportId:e})=>({viewportId:e}))})(e,A),playClip:(e,A)=>H.utilities.cine.playClip(e,A),stopClip:(e,A)=>H.utilities.cine.stopClip(e,A)})},e_=function(e){let{studyPrefetcherService:A}=e.services;A.requestType=x.Enums.RequestType.Prefetch,A.imageLoadPoolManager=x.imageLoadPoolManager,A.imageLoader=x.imageLoader,A.cache={isImageCached:e=>!!x.cache.getImageLoadObject(e)},A.imageLoadEventsManager={addEventListeners:(e,A)=>(x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOADED,e),x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_FAILED,A),[{unsubscribe:()=>x.eventTarget.removeEventListener(x.EVENTS.IMAGE_LOADED,e)},{unsubscribe:()=>x.eventTarget.removeEventListener(x.EVENTS.IMAGE_LOAD_FAILED,A)}])}};var ek=T(9863),eP=T.n(ek),eG=T(5257),eK=T.n(eG),ej=T(6446),eY=T.n(ej);let eW=new Map,ez=new Map;function eJ({data:{viewportId:e,volumeInputArray:A},displaySetsMatchDetails:t,viewportMatchDetails:n}){for(let t of(ez.set(e,A),A)){let{volumeId:e}=t,A=x.cache.getVolume(e);if(!A)return;if(!eW.has(e)){let{metadata:t}=A;eW.set(e,t.SeriesInstanceUID)}}let r=new Set;ez.forEach((e,A)=>{e.forEach(e=>{let{volumeId:A}=e;r.add(A)})});let o=new Set;if(n.forEach(e=>{let{displaySetsInfo:A}=e;A.forEach(({displaySetInstanceUID:e})=>{o.add(e)})}),r.size!==o.size)return;let i=Array.from(eW.keys()).slice().map(e=>x.cache.getVolume(e)),a=[];i.forEach(e=>{let A=e.getImageLoadRequests?.()??[];if(!A.length||!A[0]||!A[0].imageId)return;let t=(function(e){if(0===e.length)return[];if(1===e.length)return[{imageId:e[0],imageIdIndex:0}];let A=e.length-1,t=Math.floor(e.length/2),n=t,r=t,o=[{imageId:e[t],imageIdIndex:t}],i={currentPositionDownToMinimum:!1,currentPositionUpToMaximum:!1};for(0===t?i.currentPositionDownToMinimum=!0:t===A&&(i.currentPositionUpToMaximum=!0);!i.currentPositionDownToMinimum||!i.currentPositionUpToMaximum;)i.currentPositionDownToMinimum||(o.push({imageId:e[--n],imageIdIndex:n}),0===n&&(i.currentPositionDownToMinimum=!0)),i.currentPositionUpToMaximum||(o.push({imageId:e[++r],imageIdIndex:r}),r===A&&(i.currentPositionUpToMaximum=!0));return o})(A.map(e=>e.imageId)).map(({imageId:e})=>A.find(A=>A.imageId===e));a.push(t)});let s=eK()(eY()(eP()(...a))),l=[];s.forEach(e=>{let{imageId:A}=e;a.forEach(e=>{let t=e.find(e=>e.imageId===A);t&&l.push(t)})});let c=x.Enums.RequestType.Prefetch;l.forEach(({callLoadImage:e,additionalDetails:A,imageId:t,imageIdIndex:n,options:r})=>{let o=e.bind(null,t,n,r);x.imageLoadPoolManager.addRequest(o,c,A,0)}),eW.clear();let u=new Map(ez);return ez.clear(),u}let eX=new Map,eq=new Map;function e$({data:{viewportId:e,volumeInputArray:A},displaySetsMatchDetails:t}){for(let t of(eq.set(e,A),A)){let{volumeId:e}=t,A=x.cache.getVolume(e);if(!A)return void console.log("interleaveNthLoader::No volume, can't load it");if(!eX.has(e)){let{metadata:t}=A;eX.set(e,t.SeriesInstanceUID)}}let n=function(e){if(!e||!e.length)return[];if(1===e.length)return e[0];let A=[...e],t=[];for(let e=0;A.length>0;e++)for(let n=0;n<A.length;n++){let r=A[n];if(e>=r.length){A.splice(n,1),n--;continue}t.push(r[e])}return t}(Array.from(eX.keys()).slice().map(e=>x.cache.getVolume(e)).map(e=>e.getImageLoadRequests?.()??[]).filter(e=>e?.[0]?.imageId).map(e=>(function(e){let A=[[],[],[],[],[]],t=e.length/2-3,n=t+6;for(let r=0;r<e.length;r++)r<2||r>e.length-4||r>t&&r<n?A[0].push(e[r]):r%7==2?A[1].push(e[r]):r%7==5?A[2].push(e[r]):A[r%2+3].push(e[r]);return[...A[0],...A[1],...A[2],...A[3],...A[4]]})(e))),r=x.Enums.RequestType.Prefetch;n.forEach(({callLoadImage:e,additionalDetails:A,imageId:t,imageIdIndex:n,options:o})=>{let i=e.bind(null,t,n,o);x.imageLoadPoolManager.addRequest(i,r,A,0)}),eX.clear();let o=new Map(eq);return eq.clear(),o}let eZ=new Map,e0=new Map;function e1({data:{viewportId:e,volumeInputArray:A},displaySetsMatchDetails:t,viewportMatchDetails:n}){for(let t of(e0.set(e,A),A)){let{volumeId:e}=t,A=x.cache.getVolume(e);if(!A)return;if(!eZ.has(e)){let{metadata:t}=A;eZ.set(e,t.SeriesInstanceUID)}}let r=new Set;e0.forEach((e,A)=>{e.forEach(e=>{let{volumeId:A}=e;r.add(A)})});let o=new Set;if(n.forEach(e=>{let{displaySetsInfo:A}=e;A.forEach(({displaySetInstanceUID:e})=>{o.add(e)})}),r.size!==o.size)return;let i=Array.from(eZ.keys()).slice().map(e=>x.cache.getVolume(e)),a=[];i.forEach(e=>{let A=e.getImageLoadRequests?.()??[];A?.[0]?.imageId&&a.push(A.reverse())});let s=eK()(eY()(eP()(...a))),l=[];s.forEach(e=>{let{imageId:A}=e;a.forEach(e=>{let t=e.find(e=>e.imageId===A);t&&l.push(t)})});let c=x.Enums.RequestType.Prefetch;l.forEach(({callLoadImage:e,additionalDetails:A,imageId:t,imageIdIndex:n,options:r})=>{let o=e.bind(null,t,n,r);x.imageLoadPoolManager.addRequest(o,c,A,0)}),eZ.clear();let u=new Map(e0);return e0.clear(),u}let e3=(e,A)=>{if(!A?.detail)return;let{element:t,currentPoints:n}=A.detail;return e.runCommand("getNearbyAnnotation",{element:t,canvasCoordinates:n?.canvas},"CORNERSTONE")},e4=H.Enums.Events,e2=function({cornerstoneViewportService:e,customizationService:A,commandsManager:t}){let n=e=>{let n,r;((e,n)=>{let r=A.getCustomization("cornerstoneViewportClickCommands")[e];if(!r)return;let o=null;r.some(e=>e.commandOptions?.requireNearbyToolData)&&(o=e3(t,n));let i={nearbyToolData:o,event:n};t.run(r,i)})((n=e.detail.event.which,r=[],e.detail.event.altKey&&r.push("alt"),e.detail.event.ctrlKey&&r.push("ctrl"),e.detail.event.shiftKey&&r.push("shift"),r.push("button"),r.push(n),r.join("")),e)};x.eventTarget.addEventListener(x.EVENTS.ELEMENT_ENABLED,(function(A){let{viewportId:t,element:r}=A.detail;e.getViewportInfo(t)&&((0,X.ye)(t,r),r.addEventListener(e4.MOUSE_CLICK,n))}).bind(null)),x.eventTarget.addEventListener(x.EVENTS.ELEMENT_DISABLED,(function(e){let{element:A}=e.detail;A.removeEventListener(e4.MOUSE_CLICK,n)}).bind(null))},e6=H.Enums.Events,e9=function({customizationService:e,commandsManager:A}){let t=t=>{let n;if(e3(A,t))return;let r=(n=[],t.detail.event.altKey&&n.push("alt"),t.detail.event.ctrlKey&&n.push("ctrl"),t.detail.event.shiftKey&&n.push("shift"),n.push("doubleClick"),n.join("")),o=e.getCustomization("cornerstoneViewportClickCommands")[r];o&&A.run(o)};x.eventTarget.addEventListener(x.EVENTS.ELEMENT_ENABLED,(function(e){let{element:A}=e.detail;A.addEventListener(e6.MOUSE_DOUBLE_CLICK,t)}).bind(null)),x.eventTarget.addEventListener(x.EVENTS.ELEMENT_DISABLED,(function(e){let{element:A}=e.detail;A.removeEventListener(e6.MOUSE_DOUBLE_CLICK,t)}).bind(null))},e8=[],e5={viewportsWaiting:0};function e7(e){if("preRender"===e.detail.viewportStatus)return;let{TimingEnum:A}=R.Enums;R.log.timeEnd(A.DISPLAY_SETS_TO_FIRST_IMAGE),R.log.timeEnd(A.STUDY_TO_FIRST_IMAGE),R.log.timeEnd(A.SCRIPT_TO_VIEW),e5.viewportsWaiting-=1,e.detail.element.removeEventListener(x.EVENTS.IMAGE_RENDERED,e7),e5.viewportsWaiting||R.log.timeEnd(A.DISPLAY_SETS_TO_ALL_IMAGES)}let Ae=[{ColorSpace:"RGB",Name:"Grayscale",NanColor:[1,0,0],RGBPoints:[0,0,0,0,1,1,1,1],description:"Grayscale"},{ColorSpace:"RGB",Name:"X Ray",NanColor:[1,0,0],RGBPoints:[0,1,1,1,1,0,0,0],description:"X Ray"},{ColorSpace:"RGB",Name:"Isodose",NanColor:[1,0,0],RGBPoints:[0,0,1,0,.1,.5,1,0,.2,1,1,0,.3,1,.66,0,.4,1,.33,0,.5,1,0,0],description:"Isodose"},{ColorSpace:"RGB",Name:"hsv",RGBPoints:[-1,1,0,0,-.666666,1,0,1,-.333333,0,0,1,0,0,1,1,.33333,0,1,0,.66666,1,1,0,1,1,0,0],description:"HSV"},{ColorSpace:"RGB",Name:"hot_iron",RGBPoints:[0,.0039215686,.0039215686,.0156862745,.00392156862745098,.0039215686,.0039215686,.0156862745,.00784313725490196,.0039215686,.0039215686,.031372549,.011764705882352941,.0039215686,.0039215686,.0470588235,.01568627450980392,.0039215686,.0039215686,.062745098,.0196078431372549,.0039215686,.0039215686,.0784313725,.023529411764705882,.0039215686,.0039215686,.0941176471,.027450980392156862,.0039215686,.0039215686,.1098039216,.03137254901960784,.0039215686,.0039215686,.1254901961,.03529411764705882,.0039215686,.0039215686,.1411764706,.0392156862745098,.0039215686,.0039215686,.1568627451,.043137254901960784,.0039215686,.0039215686,.1725490196,.047058823529411764,.0039215686,.0039215686,.1882352941,.050980392156862744,.0039215686,.0039215686,.2039215686,.054901960784313725,.0039215686,.0039215686,.2196078431,.05882352941176471,.0039215686,.0039215686,.2352941176,.06274509803921569,.0039215686,.0039215686,.2509803922,.06666666666666667,.0039215686,.0039215686,.262745098,.07058823529411765,.0039215686,.0039215686,.2784313725,.07450980392156863,.0039215686,.0039215686,.2941176471,.0784313725490196,.0039215686,.0039215686,.3098039216,.08235294117647059,.0039215686,.0039215686,.3254901961,.08627450980392157,.0039215686,.0039215686,.3411764706,.09019607843137255,.0039215686,.0039215686,.3568627451,.09411764705882353,.0039215686,.0039215686,.3725490196,.09803921568627451,.0039215686,.0039215686,.3882352941,.10196078431372549,.0039215686,.0039215686,.4039215686,.10588235294117647,.0039215686,.0039215686,.4196078431,.10980392156862745,.0039215686,.0039215686,.4352941176,.11372549019607843,.0039215686,.0039215686,.4509803922,.11764705882352942,.0039215686,.0039215686,.4666666667,.12156862745098039,.0039215686,.0039215686,.4823529412,.12549019607843137,.0039215686,.0039215686,.4980392157,.12941176470588237,.0039215686,.0039215686,.5137254902,.13333333333333333,.0039215686,.0039215686,.5294117647,.13725490196078433,.0039215686,.0039215686,.5450980392,.1411764705882353,.0039215686,.0039215686,.5607843137,.1450980392156863,.0039215686,.0039215686,.5764705882,.14901960784313725,.0039215686,.0039215686,.5921568627,.15294117647058825,.0039215686,.0039215686,.6078431373,.1568627450980392,.0039215686,.0039215686,.6235294118,.1607843137254902,.0039215686,.0039215686,.6392156863,.16470588235294117,.0039215686,.0039215686,.6549019608,.16862745098039217,.0039215686,.0039215686,.6705882353,.17254901960784313,.0039215686,.0039215686,.6862745098,.17647058823529413,.0039215686,.0039215686,.7019607843,.1803921568627451,.0039215686,.0039215686,.7176470588,.1843137254901961,.0039215686,.0039215686,.7333333333,.18823529411764706,.0039215686,.0039215686,.7490196078,.19215686274509805,.0039215686,.0039215686,.7607843137,.19607843137254902,.0039215686,.0039215686,.7764705882,.2,.0039215686,.0039215686,.7921568627,.20392156862745098,.0039215686,.0039215686,.8078431373,.20784313725490197,.0039215686,.0039215686,.8235294118,.21176470588235294,.0039215686,.0039215686,.8392156863,.21568627450980393,.0039215686,.0039215686,.8549019608,.2196078431372549,.0039215686,.0039215686,.8705882353,.2235294117647059,.0039215686,.0039215686,.8862745098,.22745098039215686,.0039215686,.0039215686,.9019607843,.23137254901960785,.0039215686,.0039215686,.9176470588,.23529411764705885,.0039215686,.0039215686,.9333333333,.23921568627450984,.0039215686,.0039215686,.9490196078,.24313725490196078,.0039215686,.0039215686,.9647058824,.24705882352941178,.0039215686,.0039215686,.9803921569,.25098039215686274,.0039215686,.0039215686,.9960784314,.2549019607843137,.0039215686,.0039215686,.9960784314,.25882352941176473,.0156862745,.0039215686,.9803921569,.2627450980392157,.031372549,.0039215686,.9647058824,.26666666666666666,.0470588235,.0039215686,.9490196078,.27058823529411763,.062745098,.0039215686,.9333333333,.27450980392156865,.0784313725,.0039215686,.9176470588,.2784313725490196,.0941176471,.0039215686,.9019607843,.2823529411764706,.1098039216,.0039215686,.8862745098,.28627450980392155,.1254901961,.0039215686,.8705882353,.2901960784313726,.1411764706,.0039215686,.8549019608,.29411764705882354,.1568627451,.0039215686,.8392156863,.2980392156862745,.1725490196,.0039215686,.8235294118,.30196078431372547,.1882352941,.0039215686,.8078431373,.3058823529411765,.2039215686,.0039215686,.7921568627,.30980392156862746,.2196078431,.0039215686,.7764705882,.3137254901960784,.2352941176,.0039215686,.7607843137,.3176470588235294,.2509803922,.0039215686,.7490196078,.3215686274509804,.262745098,.0039215686,.7333333333,.3254901960784314,.2784313725,.0039215686,.7176470588,.32941176470588235,.2941176471,.0039215686,.7019607843,.3333333333333333,.3098039216,.0039215686,.6862745098,.33725490196078434,.3254901961,.0039215686,.6705882353,.3411764705882353,.3411764706,.0039215686,.6549019608,.34509803921568627,.3568627451,.0039215686,.6392156863,.34901960784313724,.3725490196,.0039215686,.6235294118,.35294117647058826,.3882352941,.0039215686,.6078431373,.3568627450980392,.4039215686,.0039215686,.5921568627,.3607843137254902,.4196078431,.0039215686,.5764705882,.36470588235294116,.4352941176,.0039215686,.5607843137,.3686274509803922,.4509803922,.0039215686,.5450980392,.37254901960784315,.4666666667,.0039215686,.5294117647,.3764705882352941,.4823529412,.0039215686,.5137254902,.3803921568627451,.4980392157,.0039215686,.4980392157,.3843137254901961,.5137254902,.0039215686,.4823529412,.38823529411764707,.5294117647,.0039215686,.4666666667,.39215686274509803,.5450980392,.0039215686,.4509803922,.396078431372549,.5607843137,.0039215686,.4352941176,.4,.5764705882,.0039215686,.4196078431,.403921568627451,.5921568627,.0039215686,.4039215686,.40784313725490196,.6078431373,.0039215686,.3882352941,.4117647058823529,.6235294118,.0039215686,.3725490196,.41568627450980394,.6392156863,.0039215686,.3568627451,.4196078431372549,.6549019608,.0039215686,.3411764706,.4235294117647059,.6705882353,.0039215686,.3254901961,.42745098039215684,.6862745098,.0039215686,.3098039216,.43137254901960786,.7019607843,.0039215686,.2941176471,.43529411764705883,.7176470588,.0039215686,.2784313725,.4392156862745098,.7333333333,.0039215686,.262745098,.44313725490196076,.7490196078,.0039215686,.2509803922,.4470588235294118,.7607843137,.0039215686,.2352941176,.45098039215686275,.7764705882,.0039215686,.2196078431,.4549019607843137,.7921568627,.0039215686,.2039215686,.4588235294117647,.8078431373,.0039215686,.1882352941,.4627450980392157,.8235294118,.0039215686,.1725490196,.4666666666666667,.8392156863,.0039215686,.1568627451,.4705882352941177,.8549019608,.0039215686,.1411764706,.4745098039215686,.8705882353,.0039215686,.1254901961,.4784313725490197,.8862745098,.0039215686,.1098039216,.48235294117647065,.9019607843,.0039215686,.0941176471,.48627450980392156,.9176470588,.0039215686,.0784313725,.49019607843137253,.9333333333,.0039215686,.062745098,.49411764705882355,.9490196078,.0039215686,.0470588235,.4980392156862745,.9647058824,.0039215686,.031372549,.5019607843137255,.9803921569,.0039215686,.0156862745,.5058823529411764,.9960784314,.0039215686,.0039215686,.5098039215686274,.9960784314,.0156862745,.0039215686,.5137254901960784,.9960784314,.031372549,.0039215686,.5176470588235295,.9960784314,.0470588235,.0039215686,.5215686274509804,.9960784314,.062745098,.0039215686,.5254901960784314,.9960784314,.0784313725,.0039215686,.5294117647058824,.9960784314,.0941176471,.0039215686,.5333333333333333,.9960784314,.1098039216,.0039215686,.5372549019607843,.9960784314,.1254901961,.0039215686,.5411764705882353,.9960784314,.1411764706,.0039215686,.5450980392156862,.9960784314,.1568627451,.0039215686,.5490196078431373,.9960784314,.1725490196,.0039215686,.5529411764705883,.9960784314,.1882352941,.0039215686,.5568627450980392,.9960784314,.2039215686,.0039215686,.5607843137254902,.9960784314,.2196078431,.0039215686,.5647058823529412,.9960784314,.2352941176,.0039215686,.5686274509803921,.9960784314,.2509803922,.0039215686,.5725490196078431,.9960784314,.262745098,.0039215686,.5764705882352941,.9960784314,.2784313725,.0039215686,.5803921568627451,.9960784314,.2941176471,.0039215686,.5843137254901961,.9960784314,.3098039216,.0039215686,.5882352941176471,.9960784314,.3254901961,.0039215686,.592156862745098,.9960784314,.3411764706,.0039215686,.596078431372549,.9960784314,.3568627451,.0039215686,.6,.9960784314,.3725490196,.0039215686,.6039215686274509,.9960784314,.3882352941,.0039215686,.6078431372549019,.9960784314,.4039215686,.0039215686,.611764705882353,.9960784314,.4196078431,.0039215686,.615686274509804,.9960784314,.4352941176,.0039215686,.6196078431372549,.9960784314,.4509803922,.0039215686,.6235294117647059,.9960784314,.4666666667,.0039215686,.6274509803921569,.9960784314,.4823529412,.0039215686,.6313725490196078,.9960784314,.4980392157,.0039215686,.6352941176470588,.9960784314,.5137254902,.0039215686,.6392156862745098,.9960784314,.5294117647,.0039215686,.6431372549019608,.9960784314,.5450980392,.0039215686,.6470588235294118,.9960784314,.5607843137,.0039215686,.6509803921568628,.9960784314,.5764705882,.0039215686,.6549019607843137,.9960784314,.5921568627,.0039215686,.6588235294117647,.9960784314,.6078431373,.0039215686,.6627450980392157,.9960784314,.6235294118,.0039215686,.6666666666666666,.9960784314,.6392156863,.0039215686,.6705882352941176,.9960784314,.6549019608,.0039215686,.6745098039215687,.9960784314,.6705882353,.0039215686,.6784313725490196,.9960784314,.6862745098,.0039215686,.6823529411764706,.9960784314,.7019607843,.0039215686,.6862745098039216,.9960784314,.7176470588,.0039215686,.6901960784313725,.9960784314,.7333333333,.0039215686,.6941176470588235,.9960784314,.7490196078,.0039215686,.6980392156862745,.9960784314,.7607843137,.0039215686,.7019607843137254,.9960784314,.7764705882,.0039215686,.7058823529411765,.9960784314,.7921568627,.0039215686,.7098039215686275,.9960784314,.8078431373,.0039215686,.7137254901960784,.9960784314,.8235294118,.0039215686,.7176470588235294,.9960784314,.8392156863,.0039215686,.7215686274509804,.9960784314,.8549019608,.0039215686,.7254901960784313,.9960784314,.8705882353,.0039215686,.7294117647058823,.9960784314,.8862745098,.0039215686,.7333333333333333,.9960784314,.9019607843,.0039215686,.7372549019607844,.9960784314,.9176470588,.0039215686,.7411764705882353,.9960784314,.9333333333,.0039215686,.7450980392156863,.9960784314,.9490196078,.0039215686,.7490196078431373,.9960784314,.9647058824,.0039215686,.7529411764705882,.9960784314,.9803921569,.0039215686,.7568627450980392,.9960784314,.9960784314,.0039215686,.7607843137254902,.9960784314,.9960784314,.0196078431,.7647058823529411,.9960784314,.9960784314,.0352941176,.7686274509803922,.9960784314,.9960784314,.0509803922,.7725490196078432,.9960784314,.9960784314,.0666666667,.7764705882352941,.9960784314,.9960784314,.0823529412,.7803921568627451,.9960784314,.9960784314,.0980392157,.7843137254901961,.9960784314,.9960784314,.1137254902,.788235294117647,.9960784314,.9960784314,.1294117647,.792156862745098,.9960784314,.9960784314,.1450980392,.796078431372549,.9960784314,.9960784314,.1607843137,.8,.9960784314,.9960784314,.1764705882,.803921568627451,.9960784314,.9960784314,.1921568627,.807843137254902,.9960784314,.9960784314,.2078431373,.8117647058823529,.9960784314,.9960784314,.2235294118,.8156862745098039,.9960784314,.9960784314,.2392156863,.8196078431372549,.9960784314,.9960784314,.2509803922,.8235294117647058,.9960784314,.9960784314,.2666666667,.8274509803921568,.9960784314,.9960784314,.2823529412,.8313725490196079,.9960784314,.9960784314,.2980392157,.8352941176470589,.9960784314,.9960784314,.3137254902,.8392156862745098,.9960784314,.9960784314,.3333333333,.8431372549019608,.9960784314,.9960784314,.3490196078,.8470588235294118,.9960784314,.9960784314,.3647058824,.8509803921568627,.9960784314,.9960784314,.3803921569,.8549019607843137,.9960784314,.9960784314,.3960784314,.8588235294117647,.9960784314,.9960784314,.4117647059,.8627450980392157,.9960784314,.9960784314,.4274509804,.8666666666666667,.9960784314,.9960784314,.4431372549,.8705882352941177,.9960784314,.9960784314,.4588235294,.8745098039215686,.9960784314,.9960784314,.4745098039,.8784313725490196,.9960784314,.9960784314,.4901960784,.8823529411764706,.9960784314,.9960784314,.5058823529,.8862745098039215,.9960784314,.9960784314,.5215686275,.8901960784313725,.9960784314,.9960784314,.537254902,.8941176470588236,.9960784314,.9960784314,.5529411765,.8980392156862745,.9960784314,.9960784314,.568627451,.9019607843137255,.9960784314,.9960784314,.5843137255,.9058823529411765,.9960784314,.9960784314,.6,.9098039215686274,.9960784314,.9960784314,.6156862745,.9137254901960784,.9960784314,.9960784314,.631372549,.9176470588235294,.9960784314,.9960784314,.6470588235,.9215686274509803,.9960784314,.9960784314,.6666666667,.9254901960784314,.9960784314,.9960784314,.6823529412,.9294117647058824,.9960784314,.9960784314,.6980392157,.9333333333333333,.9960784314,.9960784314,.7137254902,.9372549019607843,.9960784314,.9960784314,.7294117647,.9411764705882354,.9960784314,.9960784314,.7450980392,.9450980392156864,.9960784314,.9960784314,.7568627451,.9490196078431372,.9960784314,.9960784314,.7725490196,.9529411764705882,.9960784314,.9960784314,.7882352941,.9568627450980394,.9960784314,.9960784314,.8039215686,.9607843137254903,.9960784314,.9960784314,.8196078431,.9647058823529413,.9960784314,.9960784314,.8352941176,.9686274509803922,.9960784314,.9960784314,.8509803922,.9725490196078431,.9960784314,.9960784314,.8666666667,.9764705882352941,.9960784314,.9960784314,.8823529412,.9803921568627451,.9960784314,.9960784314,.8980392157,.984313725490196,.9960784314,.9960784314,.9137254902,.9882352941176471,.9960784314,.9960784314,.9294117647,.9921568627450981,.9960784314,.9960784314,.9450980392,.996078431372549,.9960784314,.9960784314,.9607843137,1,.9960784314,.9960784314,.9607843137],description:"Hot Iron"},{ColorSpace:"RGB",Name:"red_hot",RGBPoints:[0,0,0,0,.00392156862745098,0,0,0,.00784313725490196,0,0,0,.011764705882352941,0,0,0,.01568627450980392,.0039215686,.0039215686,.0039215686,.0196078431372549,.0039215686,.0039215686,.0039215686,.023529411764705882,.0039215686,.0039215686,.0039215686,.027450980392156862,.0039215686,.0039215686,.0039215686,.03137254901960784,.0039215686,.0039215686,.0039215686,.03529411764705882,.0156862745,0,0,.0392156862745098,.0274509804,0,0,.043137254901960784,.0392156863,0,0,.047058823529411764,.0509803922,0,0,.050980392156862744,.062745098,0,0,.054901960784313725,.0784313725,0,0,.05882352941176471,.0901960784,0,0,.06274509803921569,.1058823529,0,0,.06666666666666667,.1176470588,0,0,.07058823529411765,.1294117647,0,0,.07450980392156863,.1411764706,0,0,.0784313725490196,.1529411765,0,0,.08235294117647059,.1647058824,0,0,.08627450980392157,.1764705882,0,0,.09019607843137255,.1882352941,0,0,.09411764705882353,.2039215686,0,0,.09803921568627451,.2156862745,0,0,.10196078431372549,.2274509804,0,0,.10588235294117647,.2392156863,0,0,.10980392156862745,.2549019608,0,0,.11372549019607843,.2666666667,0,0,.11764705882352942,.2784313725,0,0,.12156862745098039,.2901960784,0,0,.12549019607843137,.3058823529,0,0,.12941176470588237,.3176470588,0,0,.13333333333333333,.3294117647,0,0,.13725490196078433,.3411764706,0,0,.1411764705882353,.3529411765,0,0,.1450980392156863,.3647058824,0,0,.14901960784313725,.3764705882,0,0,.15294117647058825,.3882352941,0,0,.1568627450980392,.4039215686,0,0,.1607843137254902,.4156862745,0,0,.16470588235294117,.431372549,0,0,.16862745098039217,.4431372549,0,0,.17254901960784313,.4588235294,0,0,.17647058823529413,.4705882353,0,0,.1803921568627451,.4823529412,0,0,.1843137254901961,.4941176471,0,0,.18823529411764706,.5098039216,0,0,.19215686274509805,.5215686275,0,0,.19607843137254902,.5333333333,0,0,.2,.5450980392,0,0,.20392156862745098,.5568627451,0,0,.20784313725490197,.568627451,0,0,.21176470588235294,.5803921569,0,0,.21568627450980393,.5921568627,0,0,.2196078431372549,.6078431373,0,0,.2235294117647059,.6196078431,0,0,.22745098039215686,.631372549,0,0,.23137254901960785,.6431372549,0,0,.23529411764705885,.6588235294,0,0,.23921568627450984,.6705882353,0,0,.24313725490196078,.6823529412,0,0,.24705882352941178,.6941176471,0,0,.25098039215686274,.7098039216,0,0,.2549019607843137,.7215686275,0,0,.25882352941176473,.7333333333,0,0,.2627450980392157,.7450980392,0,0,.26666666666666666,.7568627451,0,0,.27058823529411763,.768627451,0,0,.27450980392156865,.7843137255,0,0,.2784313725490196,.7960784314,0,0,.2823529411764706,.8117647059,0,0,.28627450980392155,.8235294118,0,0,.2901960784313726,.8352941176,0,0,.29411764705882354,.8470588235,0,0,.2980392156862745,.862745098,0,0,.30196078431372547,.8745098039,0,0,.3058823529411765,.8862745098,0,0,.30980392156862746,.8980392157,0,0,.3137254901960784,.9137254902,0,0,.3176470588235294,.9254901961,0,0,.3215686274509804,.937254902,0,0,.3254901960784314,.9490196078,0,0,.32941176470588235,.9607843137,0,0,.3333333333333333,.968627451,0,0,.33725490196078434,.9803921569,.0039215686,0,.3411764705882353,.9882352941,.0078431373,0,.34509803921568627,1,.0117647059,0,.34901960784313724,1,.0235294118,0,.35294117647058826,1,.0352941176,0,.3568627450980392,1,.0470588235,0,.3607843137254902,1,.062745098,0,.36470588235294116,1,.0745098039,0,.3686274509803922,1,.0862745098,0,.37254901960784315,1,.0980392157,0,.3764705882352941,1,.1137254902,0,.3803921568627451,1,.1254901961,0,.3843137254901961,1,.137254902,0,.38823529411764707,1,.1490196078,0,.39215686274509803,1,.1647058824,0,.396078431372549,1,.1764705882,0,.4,1,.1882352941,0,.403921568627451,1,.2,0,.40784313725490196,1,.2156862745,0,.4117647058823529,1,.2274509804,0,.41568627450980394,1,.2392156863,0,.4196078431372549,1,.2509803922,0,.4235294117647059,1,.2666666667,0,.42745098039215684,1,.2784313725,0,.43137254901960786,1,.2901960784,0,.43529411764705883,1,.3019607843,0,.4392156862745098,1,.3176470588,0,.44313725490196076,1,.3294117647,0,.4470588235294118,1,.3411764706,0,.45098039215686275,1,.3529411765,0,.4549019607843137,1,.368627451,0,.4588235294117647,1,.3803921569,0,.4627450980392157,1,.3921568627,0,.4666666666666667,1,.4039215686,0,.4705882352941177,1,.4156862745,0,.4745098039215686,1,.4274509804,0,.4784313725490197,1,.4392156863,0,.48235294117647065,1,.4509803922,0,.48627450980392156,1,.4666666667,0,.49019607843137253,1,.4784313725,0,.49411764705882355,1,.4941176471,0,.4980392156862745,1,.5058823529,0,.5019607843137255,1,.5215686275,0,.5058823529411764,1,.5333333333,0,.5098039215686274,1,.5450980392,0,.5137254901960784,1,.5568627451,0,.5176470588235295,1,.568627451,0,.5215686274509804,1,.5803921569,0,.5254901960784314,1,.5921568627,0,.5294117647058824,1,.6039215686,0,.5333333333333333,1,.6196078431,0,.5372549019607843,1,.631372549,0,.5411764705882353,1,.6431372549,0,.5450980392156862,1,.6549019608,0,.5490196078431373,1,.6705882353,0,.5529411764705883,1,.6823529412,0,.5568627450980392,1,.6941176471,0,.5607843137254902,1,.7058823529,0,.5647058823529412,1,.7215686275,0,.5686274509803921,1,.7333333333,0,.5725490196078431,1,.7450980392,0,.5764705882352941,1,.7568627451,0,.5803921568627451,1,.7725490196,0,.5843137254901961,1,.7843137255,0,.5882352941176471,1,.7960784314,0,.592156862745098,1,.8078431373,0,.596078431372549,1,.8196078431,0,.6,1,.831372549,0,.6039215686274509,1,.8470588235,0,.6078431372549019,1,.8588235294,0,.611764705882353,1,.8745098039,0,.615686274509804,1,.8862745098,0,.6196078431372549,1,.8980392157,0,.6235294117647059,1,.9098039216,0,.6274509803921569,1,.9254901961,0,.6313725490196078,1,.937254902,0,.6352941176470588,1,.9490196078,0,.6392156862745098,1,.9607843137,0,.6431372549019608,1,.9764705882,0,.6470588235294118,1,.9803921569,.0039215686,.6509803921568628,1,.9882352941,.0117647059,.6549019607843137,1,.9921568627,.0156862745,.6588235294117647,1,1,.0235294118,.6627450980392157,1,1,.0352941176,.6666666666666666,1,1,.0470588235,.6705882352941176,1,1,.0588235294,.6745098039215687,1,1,.0745098039,.6784313725490196,1,1,.0862745098,.6823529411764706,1,1,.0980392157,.6862745098039216,1,1,.1098039216,.6901960784313725,1,1,.1254901961,.6941176470588235,1,1,.137254902,.6980392156862745,1,1,.1490196078,.7019607843137254,1,1,.1607843137,.7058823529411765,1,1,.1764705882,.7098039215686275,1,1,.1882352941,.7137254901960784,1,1,.2,.7176470588235294,1,1,.2117647059,.7215686274509804,1,1,.2274509804,.7254901960784313,1,1,.2392156863,.7294117647058823,1,1,.2509803922,.7333333333333333,1,1,.262745098,.7372549019607844,1,1,.2784313725,.7411764705882353,1,1,.2901960784,.7450980392156863,1,1,.3019607843,.7490196078431373,1,1,.3137254902,.7529411764705882,1,1,.3294117647,.7568627450980392,1,1,.3411764706,.7607843137254902,1,1,.3529411765,.7647058823529411,1,1,.3647058824,.7686274509803922,1,1,.3803921569,.7725490196078432,1,1,.3921568627,.7764705882352941,1,1,.4039215686,.7803921568627451,1,1,.4156862745,.7843137254901961,1,1,.431372549,.788235294117647,1,1,.4431372549,.792156862745098,1,1,.4549019608,.796078431372549,1,1,.4666666667,.8,1,1,.4784313725,.803921568627451,1,1,.4901960784,.807843137254902,1,1,.5019607843,.8117647058823529,1,1,.5137254902,.8156862745098039,1,1,.5294117647,.8196078431372549,1,1,.5411764706,.8235294117647058,1,1,.5568627451,.8274509803921568,1,1,.568627451,.8313725490196079,1,1,.5843137255,.8352941176470589,1,1,.5960784314,.8392156862745098,1,1,.6078431373,.8431372549019608,1,1,.6196078431,.8470588235294118,1,1,.631372549,.8509803921568627,1,1,.6431372549,.8549019607843137,1,1,.6549019608,.8588235294117647,1,1,.6666666667,.8627450980392157,1,1,.6823529412,.8666666666666667,1,1,.6941176471,.8705882352941177,1,1,.7058823529,.8745098039215686,1,1,.7176470588,.8784313725490196,1,1,.7333333333,.8823529411764706,1,1,.7450980392,.8862745098039215,1,1,.7568627451,.8901960784313725,1,1,.768627451,.8941176470588236,1,1,.7843137255,.8980392156862745,1,1,.7960784314,.9019607843137255,1,1,.8078431373,.9058823529411765,1,1,.8196078431,.9098039215686274,1,1,.8352941176,.9137254901960784,1,1,.8470588235,.9176470588235294,1,1,.8588235294,.9215686274509803,1,1,.8705882353,.9254901960784314,1,1,.8823529412,.9294117647058824,1,1,.8941176471,.9333333333333333,1,1,.9098039216,.9372549019607843,1,1,.9215686275,.9411764705882354,1,1,.937254902,.9450980392156864,1,1,.9490196078,.9490196078431372,1,1,.9607843137,.9529411764705882,1,1,.9725490196,.9568627450980394,1,1,.9882352941,.9607843137254903,1,1,.9882352941,.9647058823529413,1,1,.9921568627,.9686274509803922,1,1,.9960784314,.9725490196078431,1,1,1,.9764705882352941,1,1,1,.9803921568627451,1,1,1,.984313725490196,1,1,1,.9882352941176471,1,1,1,.9921568627450981,1,1,1,.996078431372549,1,1,1,1,1,1,1],description:"Red Hot"},{ColorSpace:"RGB",Name:"s_pet",RGBPoints:[0,.0156862745,.0039215686,.0156862745,.00392156862745098,.0156862745,.0039215686,.0156862745,.00784313725490196,.0274509804,.0039215686,.031372549,.011764705882352941,.0352941176,.0039215686,.0509803922,.01568627450980392,.0392156863,.0039215686,.0666666667,.0196078431372549,.0509803922,.0039215686,.0823529412,.023529411764705882,.062745098,.0039215686,.0980392157,.027450980392156862,.0705882353,.0039215686,.1176470588,.03137254901960784,.0745098039,.0039215686,.1333333333,.03529411764705882,.0862745098,.0039215686,.1490196078,.0392156862745098,.0980392157,.0039215686,.1647058824,.043137254901960784,.1058823529,.0039215686,.1843137255,.047058823529411764,.1098039216,.0039215686,.2,.050980392156862744,.1215686275,.0039215686,.2156862745,.054901960784313725,.1333333333,.0039215686,.231372549,.05882352941176471,.137254902,.0039215686,.2509803922,.06274509803921569,.1490196078,.0039215686,.262745098,.06666666666666667,.1607843137,.0039215686,.2784313725,.07058823529411765,.168627451,.0039215686,.2941176471,.07450980392156863,.1725490196,.0039215686,.3137254902,.0784313725490196,.1843137255,.0039215686,.3294117647,.08235294117647059,.1960784314,.0039215686,.3450980392,.08627450980392157,.2039215686,.0039215686,.3607843137,.09019607843137255,.2078431373,.0039215686,.3803921569,.09411764705882353,.2196078431,.0039215686,.3960784314,.09803921568627451,.231372549,.0039215686,.4117647059,.10196078431372549,.2392156863,.0039215686,.4274509804,.10588235294117647,.2431372549,.0039215686,.4470588235,.10980392156862745,.2509803922,.0039215686,.462745098,.11372549019607843,.262745098,.0039215686,.4784313725,.11764705882352942,.2666666667,.0039215686,.4980392157,.12156862745098039,.2666666667,.0039215686,.4980392157,.12549019607843137,.262745098,.0039215686,.5137254902,.12941176470588237,.2509803922,.0039215686,.5294117647,.13333333333333333,.2431372549,.0039215686,.5450980392,.13725490196078433,.2392156863,.0039215686,.5607843137,.1411764705882353,.231372549,.0039215686,.5764705882,.1450980392156863,.2196078431,.0039215686,.5921568627,.14901960784313725,.2078431373,.0039215686,.6078431373,.15294117647058825,.2039215686,.0039215686,.6235294118,.1568627450980392,.1960784314,.0039215686,.6392156863,.1607843137254902,.1843137255,.0039215686,.6549019608,.16470588235294117,.1725490196,.0039215686,.6705882353,.16862745098039217,.168627451,.0039215686,.6862745098,.17254901960784313,.1607843137,.0039215686,.7019607843,.17647058823529413,.1490196078,.0039215686,.7176470588,.1803921568627451,.137254902,.0039215686,.7333333333,.1843137254901961,.1333333333,.0039215686,.7490196078,.18823529411764706,.1215686275,.0039215686,.7607843137,.19215686274509805,.1098039216,.0039215686,.7764705882,.19607843137254902,.1058823529,.0039215686,.7921568627,.2,.0980392157,.0039215686,.8078431373,.20392156862745098,.0862745098,.0039215686,.8235294118,.20784313725490197,.0745098039,.0039215686,.8392156863,.21176470588235294,.0705882353,.0039215686,.8549019608,.21568627450980393,.062745098,.0039215686,.8705882353,.2196078431372549,.0509803922,.0039215686,.8862745098,.2235294117647059,.0392156863,.0039215686,.9019607843,.22745098039215686,.0352941176,.0039215686,.9176470588,.23137254901960785,.0274509804,.0039215686,.9333333333,.23529411764705885,.0156862745,.0039215686,.9490196078,.23921568627450984,.0078431373,.0039215686,.9647058824,.24313725490196078,.0039215686,.0039215686,.9960784314,.24705882352941178,.0039215686,.0039215686,.9960784314,.25098039215686274,.0039215686,.0196078431,.9647058824,.2549019607843137,.0039215686,.0392156863,.9490196078,.25882352941176473,.0039215686,.0549019608,.9333333333,.2627450980392157,.0039215686,.0745098039,.9176470588,.26666666666666666,.0039215686,.0901960784,.9019607843,.27058823529411763,.0039215686,.1098039216,.8862745098,.27450980392156865,.0039215686,.1254901961,.8705882353,.2784313725490196,.0039215686,.1450980392,.8549019608,.2823529411764706,.0039215686,.1607843137,.8392156863,.28627450980392155,.0039215686,.1803921569,.8235294118,.2901960784313726,.0039215686,.1960784314,.8078431373,.29411764705882354,.0039215686,.2156862745,.7921568627,.2980392156862745,.0039215686,.231372549,.7764705882,.30196078431372547,.0039215686,.2509803922,.7607843137,.3058823529411765,.0039215686,.262745098,.7490196078,.30980392156862746,.0039215686,.2823529412,.7333333333,.3137254901960784,.0039215686,.2980392157,.7176470588,.3176470588235294,.0039215686,.3176470588,.7019607843,.3215686274509804,.0039215686,.3333333333,.6862745098,.3254901960784314,.0039215686,.3529411765,.6705882353,.32941176470588235,.0039215686,.368627451,.6549019608,.3333333333333333,.0039215686,.3882352941,.6392156863,.33725490196078434,.0039215686,.4039215686,.6235294118,.3411764705882353,.0039215686,.4235294118,.6078431373,.34509803921568627,.0039215686,.4392156863,.5921568627,.34901960784313724,.0039215686,.4588235294,.5764705882,.35294117647058826,.0039215686,.4745098039,.5607843137,.3568627450980392,.0039215686,.4941176471,.5450980392,.3607843137254902,.0039215686,.5098039216,.5294117647,.36470588235294116,.0039215686,.5294117647,.5137254902,.3686274509803922,.0039215686,.5450980392,.4980392157,.37254901960784315,.0039215686,.5647058824,.4784313725,.3764705882352941,.0039215686,.5803921569,.462745098,.3803921568627451,.0039215686,.6,.4470588235,.3843137254901961,.0039215686,.6156862745,.4274509804,.38823529411764707,.0039215686,.6352941176,.4117647059,.39215686274509803,.0039215686,.6509803922,.3960784314,.396078431372549,.0039215686,.6705882353,.3803921569,.4,.0039215686,.6862745098,.3607843137,.403921568627451,.0039215686,.7058823529,.3450980392,.40784313725490196,.0039215686,.7215686275,.3294117647,.4117647058823529,.0039215686,.7411764706,.3137254902,.41568627450980394,.0039215686,.7529411765,.2941176471,.4196078431372549,.0039215686,.7960784314,.2784313725,.4235294117647059,.0039215686,.7960784314,.262745098,.42745098039215684,.0392156863,.8039215686,.2509803922,.43137254901960786,.0745098039,.8117647059,.231372549,.43529411764705883,.1098039216,.8196078431,.2156862745,.4392156862745098,.1450980392,.8274509804,.2,.44313725490196076,.1803921569,.8352941176,.1843137255,.4470588235294118,.2156862745,.8431372549,.1647058824,.45098039215686275,.2509803922,.8509803922,.1490196078,.4549019607843137,.2823529412,.8588235294,.1333333333,.4588235294117647,.3176470588,.8666666667,.1176470588,.4627450980392157,.3529411765,.8745098039,.0980392157,.4666666666666667,.3882352941,.8823529412,.0823529412,.4705882352941177,.4235294118,.8901960784,.0666666667,.4745098039215686,.4588235294,.8980392157,.0509803922,.4784313725490197,.4941176471,.9058823529,.0431372549,.48235294117647065,.5294117647,.9137254902,.031372549,.48627450980392156,.5647058824,.9215686275,.0196078431,.49019607843137253,.6,.9294117647,.0078431373,.49411764705882355,.6352941176,.937254902,.0039215686,.4980392156862745,.6705882353,.9450980392,.0039215686,.5019607843137255,.7058823529,.9490196078,.0039215686,.5058823529411764,.7411764706,.9568627451,.0039215686,.5098039215686274,.7725490196,.9607843137,.0039215686,.5137254901960784,.8078431373,.968627451,.0039215686,.5176470588235295,.8431372549,.9725490196,.0039215686,.5215686274509804,.8784313725,.9803921569,.0039215686,.5254901960784314,.9137254902,.9843137255,.0039215686,.5294117647058824,.9490196078,.9921568627,.0039215686,.5333333333333333,.9960784314,.9960784314,.0039215686,.5372549019607843,.9960784314,.9960784314,.0039215686,.5411764705882353,.9960784314,.9921568627,.0039215686,.5450980392156862,.9960784314,.9843137255,.0039215686,.5490196078431373,.9960784314,.9764705882,.0039215686,.5529411764705883,.9960784314,.968627451,.0039215686,.5568627450980392,.9960784314,.9607843137,.0039215686,.5607843137254902,.9960784314,.9529411765,.0039215686,.5647058823529412,.9960784314,.9450980392,.0039215686,.5686274509803921,.9960784314,.937254902,.0039215686,.5725490196078431,.9960784314,.9294117647,.0039215686,.5764705882352941,.9960784314,.9215686275,.0039215686,.5803921568627451,.9960784314,.9137254902,.0039215686,.5843137254901961,.9960784314,.9058823529,.0039215686,.5882352941176471,.9960784314,.8980392157,.0039215686,.592156862745098,.9960784314,.8901960784,.0039215686,.596078431372549,.9960784314,.8823529412,.0039215686,.6,.9960784314,.8745098039,.0039215686,.6039215686274509,.9960784314,.8666666667,.0039215686,.6078431372549019,.9960784314,.8588235294,.0039215686,.611764705882353,.9960784314,.8509803922,.0039215686,.615686274509804,.9960784314,.8431372549,.0039215686,.6196078431372549,.9960784314,.8352941176,.0039215686,.6235294117647059,.9960784314,.8274509804,.0039215686,.6274509803921569,.9960784314,.8196078431,.0039215686,.6313725490196078,.9960784314,.8117647059,.0039215686,.6352941176470588,.9960784314,.8039215686,.0039215686,.6392156862745098,.9960784314,.7960784314,.0039215686,.6431372549019608,.9960784314,.7882352941,.0039215686,.6470588235294118,.9960784314,.7803921569,.0039215686,.6509803921568628,.9960784314,.7725490196,.0039215686,.6549019607843137,.9960784314,.7647058824,.0039215686,.6588235294117647,.9960784314,.7568627451,.0039215686,.6627450980392157,.9960784314,.7490196078,.0039215686,.6666666666666666,.9960784314,.7450980392,.0039215686,.6705882352941176,.9960784314,.737254902,.0039215686,.6745098039215687,.9960784314,.7294117647,.0039215686,.6784313725490196,.9960784314,.7215686275,.0039215686,.6823529411764706,.9960784314,.7137254902,.0039215686,.6862745098039216,.9960784314,.7058823529,.0039215686,.6901960784313725,.9960784314,.6980392157,.0039215686,.6941176470588235,.9960784314,.6901960784,.0039215686,.6980392156862745,.9960784314,.6823529412,.0039215686,.7019607843137254,.9960784314,.6745098039,.0039215686,.7058823529411765,.9960784314,.6666666667,.0039215686,.7098039215686275,.9960784314,.6588235294,.0039215686,.7137254901960784,.9960784314,.6509803922,.0039215686,.7176470588235294,.9960784314,.6431372549,.0039215686,.7215686274509804,.9960784314,.6352941176,.0039215686,.7254901960784313,.9960784314,.6274509804,.0039215686,.7294117647058823,.9960784314,.6196078431,.0039215686,.7333333333333333,.9960784314,.6117647059,.0039215686,.7372549019607844,.9960784314,.6039215686,.0039215686,.7411764705882353,.9960784314,.5960784314,.0039215686,.7450980392156863,.9960784314,.5882352941,.0039215686,.7490196078431373,.9960784314,.5803921569,.0039215686,.7529411764705882,.9960784314,.5725490196,.0039215686,.7568627450980392,.9960784314,.5647058824,.0039215686,.7607843137254902,.9960784314,.5568627451,.0039215686,.7647058823529411,.9960784314,.5490196078,.0039215686,.7686274509803922,.9960784314,.5411764706,.0039215686,.7725490196078432,.9960784314,.5333333333,.0039215686,.7764705882352941,.9960784314,.5254901961,.0039215686,.7803921568627451,.9960784314,.5176470588,.0039215686,.7843137254901961,.9960784314,.5098039216,.0039215686,.788235294117647,.9960784314,.5019607843,.0039215686,.792156862745098,.9960784314,.4941176471,.0039215686,.796078431372549,.9960784314,.4862745098,.0039215686,.8,.9960784314,.4784313725,.0039215686,.803921568627451,.9960784314,.4705882353,.0039215686,.807843137254902,.9960784314,.462745098,.0039215686,.8117647058823529,.9960784314,.4549019608,.0039215686,.8156862745098039,.9960784314,.4470588235,.0039215686,.8196078431372549,.9960784314,.4392156863,.0039215686,.8235294117647058,.9960784314,.431372549,.0039215686,.8274509803921568,.9960784314,.4235294118,.0039215686,.8313725490196079,.9960784314,.4156862745,.0039215686,.8352941176470589,.9960784314,.4078431373,.0039215686,.8392156862745098,.9960784314,.4,.0039215686,.8431372549019608,.9960784314,.3921568627,.0039215686,.8470588235294118,.9960784314,.3843137255,.0039215686,.8509803921568627,.9960784314,.3764705882,.0039215686,.8549019607843137,.9960784314,.368627451,.0039215686,.8588235294117647,.9960784314,.3607843137,.0039215686,.8627450980392157,.9960784314,.3529411765,.0039215686,.8666666666666667,.9960784314,.3450980392,.0039215686,.8705882352941177,.9960784314,.337254902,.0039215686,.8745098039215686,.9960784314,.3294117647,.0039215686,.8784313725490196,.9960784314,.3215686275,.0039215686,.8823529411764706,.9960784314,.3137254902,.0039215686,.8862745098039215,.9960784314,.3058823529,.0039215686,.8901960784313725,.9960784314,.2980392157,.0039215686,.8941176470588236,.9960784314,.2901960784,.0039215686,.8980392156862745,.9960784314,.2823529412,.0039215686,.9019607843137255,.9960784314,.2705882353,.0039215686,.9058823529411765,.9960784314,.2588235294,.0039215686,.9098039215686274,.9960784314,.2509803922,.0039215686,.9137254901960784,.9960784314,.2431372549,.0039215686,.9176470588235294,.9960784314,.231372549,.0039215686,.9215686274509803,.9960784314,.2196078431,.0039215686,.9254901960784314,.9960784314,.2117647059,.0039215686,.9294117647058824,.9960784314,.2,.0039215686,.9333333333333333,.9960784314,.1882352941,.0039215686,.9372549019607843,.9960784314,.1764705882,.0039215686,.9411764705882354,.9960784314,.168627451,.0039215686,.9450980392156864,.9960784314,.1568627451,.0039215686,.9490196078431372,.9960784314,.1450980392,.0039215686,.9529411764705882,.9960784314,.1333333333,.0039215686,.9568627450980394,.9960784314,.1254901961,.0039215686,.9607843137254903,.9960784314,.1137254902,.0039215686,.9647058823529413,.9960784314,.1019607843,.0039215686,.9686274509803922,.9960784314,.0901960784,.0039215686,.9725490196078431,.9960784314,.0823529412,.0039215686,.9764705882352941,.9960784314,.0705882353,.0039215686,.9803921568627451,.9960784314,.0588235294,.0039215686,.984313725490196,.9960784314,.0470588235,.0039215686,.9882352941176471,.9960784314,.0392156863,.0039215686,.9921568627450981,.9960784314,.0274509804,.0039215686,.996078431372549,.9960784314,.0156862745,.0039215686,1,.9960784314,.0156862745,.0039215686],description:"S PET"},{ColorSpace:"RGB",Name:"perfusion",RGBPoints:[0,0,0,0,.00392156862745098,.0078431373,.0235294118,.0235294118,.00784313725490196,.0078431373,.031372549,.0470588235,.011764705882352941,.0078431373,.0392156863,.062745098,.01568627450980392,.0078431373,.0470588235,.0862745098,.0196078431372549,.0078431373,.0549019608,.1019607843,.023529411764705882,.0078431373,.0549019608,.1254901961,.027450980392156862,.0078431373,.062745098,.1411764706,.03137254901960784,.0078431373,.0705882353,.1647058824,.03529411764705882,.0078431373,.0784313725,.1803921569,.0392156862745098,.0078431373,.0862745098,.2039215686,.043137254901960784,.0078431373,.0862745098,.2196078431,.047058823529411764,.0078431373,.0941176471,.2431372549,.050980392156862744,.0078431373,.1019607843,.2666666667,.054901960784313725,.0078431373,.1098039216,.2823529412,.05882352941176471,.0078431373,.1176470588,.3058823529,.06274509803921569,.0078431373,.1176470588,.3215686275,.06666666666666667,.0078431373,.1254901961,.3450980392,.07058823529411765,.0078431373,.1333333333,.3607843137,.07450980392156863,.0078431373,.1411764706,.3843137255,.0784313725490196,.0078431373,.1490196078,.4,.08235294117647059,.0078431373,.1490196078,.4235294118,.08627450980392157,.0078431373,.1568627451,.4392156863,.09019607843137255,.0078431373,.1647058824,.462745098,.09411764705882353,.0078431373,.1725490196,.4784313725,.09803921568627451,.0078431373,.1803921569,.5019607843,.10196078431372549,.0078431373,.1803921569,.5254901961,.10588235294117647,.0078431373,.1882352941,.5411764706,.10980392156862745,.0078431373,.1960784314,.5647058824,.11372549019607843,.0078431373,.2039215686,.5803921569,.11764705882352942,.0078431373,.2117647059,.6039215686,.12156862745098039,.0078431373,.2117647059,.6196078431,.12549019607843137,.0078431373,.2196078431,.6431372549,.12941176470588237,.0078431373,.2274509804,.6588235294,.13333333333333333,.0078431373,.2352941176,.6823529412,.13725490196078433,.0078431373,.2431372549,.6980392157,.1411764705882353,.0078431373,.2431372549,.7215686275,.1450980392156863,.0078431373,.2509803922,.737254902,.14901960784313725,.0078431373,.2588235294,.7607843137,.15294117647058825,.0078431373,.2666666667,.7843137255,.1568627450980392,.0078431373,.2745098039,.8,.1607843137254902,.0078431373,.2745098039,.8235294118,.16470588235294117,.0078431373,.2823529412,.8392156863,.16862745098039217,.0078431373,.2901960784,.862745098,.17254901960784313,.0078431373,.2980392157,.8784313725,.17647058823529413,.0078431373,.3058823529,.9019607843,.1803921568627451,.0078431373,.3058823529,.9176470588,.1843137254901961,.0078431373,.2980392157,.9411764706,.18823529411764706,.0078431373,.3058823529,.9568627451,.19215686274509805,.0078431373,.2980392157,.9803921569,.19607843137254902,.0078431373,.2980392157,.9882352941,.2,.0078431373,.2901960784,.9803921569,.20392156862745098,.0078431373,.2901960784,.9647058824,.20784313725490197,.0078431373,.2823529412,.9568627451,.21176470588235294,.0078431373,.2823529412,.9411764706,.21568627450980393,.0078431373,.2745098039,.9333333333,.2196078431372549,.0078431373,.2666666667,.9176470588,.2235294117647059,.0078431373,.2666666667,.9098039216,.22745098039215686,.0078431373,.2588235294,.9019607843,.23137254901960785,.0078431373,.2588235294,.8862745098,.23529411764705885,.0078431373,.2509803922,.8784313725,.23921568627450984,.0078431373,.2509803922,.862745098,.24313725490196078,.0078431373,.2431372549,.8549019608,.24705882352941178,.0078431373,.2352941176,.8392156863,.25098039215686274,.0078431373,.2352941176,.831372549,.2549019607843137,.0078431373,.2274509804,.8235294118,.25882352941176473,.0078431373,.2274509804,.8078431373,.2627450980392157,.0078431373,.2196078431,.8,.26666666666666666,.0078431373,.2196078431,.7843137255,.27058823529411763,.0078431373,.2117647059,.7764705882,.27450980392156865,.0078431373,.2039215686,.7607843137,.2784313725490196,.0078431373,.2039215686,.7529411765,.2823529411764706,.0078431373,.1960784314,.7450980392,.28627450980392155,.0078431373,.1960784314,.7294117647,.2901960784313726,.0078431373,.1882352941,.7215686275,.29411764705882354,.0078431373,.1882352941,.7058823529,.2980392156862745,.0078431373,.1803921569,.6980392157,.30196078431372547,.0078431373,.1803921569,.6823529412,.3058823529411765,.0078431373,.1725490196,.6745098039,.30980392156862746,.0078431373,.1647058824,.6666666667,.3137254901960784,.0078431373,.1647058824,.6509803922,.3176470588235294,.0078431373,.1568627451,.6431372549,.3215686274509804,.0078431373,.1568627451,.6274509804,.3254901960784314,.0078431373,.1490196078,.6196078431,.32941176470588235,.0078431373,.1490196078,.6039215686,.3333333333333333,.0078431373,.1411764706,.5960784314,.33725490196078434,.0078431373,.1333333333,.5882352941,.3411764705882353,.0078431373,.1333333333,.5725490196,.34509803921568627,.0078431373,.1254901961,.5647058824,.34901960784313724,.0078431373,.1254901961,.5490196078,.35294117647058826,.0078431373,.1176470588,.5411764706,.3568627450980392,.0078431373,.1176470588,.5254901961,.3607843137254902,.0078431373,.1098039216,.5176470588,.36470588235294116,.0078431373,.1019607843,.5098039216,.3686274509803922,.0078431373,.1019607843,.4941176471,.37254901960784315,.0078431373,.0941176471,.4862745098,.3764705882352941,.0078431373,.0941176471,.4705882353,.3803921568627451,.0078431373,.0862745098,.462745098,.3843137254901961,.0078431373,.0862745098,.4470588235,.38823529411764707,.0078431373,.0784313725,.4392156863,.39215686274509803,.0078431373,.0705882353,.431372549,.396078431372549,.0078431373,.0705882353,.4156862745,.4,.0078431373,.062745098,.4078431373,.403921568627451,.0078431373,.062745098,.3921568627,.40784313725490196,.0078431373,.0549019608,.3843137255,.4117647058823529,.0078431373,.0549019608,.368627451,.41568627450980394,.0078431373,.0470588235,.3607843137,.4196078431372549,.0078431373,.0470588235,.3529411765,.4235294117647059,.0078431373,.0392156863,.337254902,.42745098039215684,.0078431373,.031372549,.3294117647,.43137254901960786,.0078431373,.031372549,.3137254902,.43529411764705883,.0078431373,.0235294118,.3058823529,.4392156862745098,.0078431373,.0235294118,.2901960784,.44313725490196076,.0078431373,.0156862745,.2823529412,.4470588235294118,.0078431373,.0156862745,.2745098039,.45098039215686275,.0078431373,.0078431373,.2588235294,.4549019607843137,.0235294118,.0078431373,.2509803922,.4588235294117647,.0078431373,.0078431373,.2352941176,.4627450980392157,.0078431373,.0078431373,.2274509804,.4666666666666667,.0078431373,.0078431373,.2117647059,.4705882352941177,.0078431373,.0078431373,.2039215686,.4745098039215686,.0078431373,.0078431373,.1960784314,.4784313725490197,.0078431373,.0078431373,.1803921569,.48235294117647065,.0078431373,.0078431373,.1725490196,.48627450980392156,.0078431373,.0078431373,.1568627451,.49019607843137253,.0078431373,.0078431373,.1490196078,.49411764705882355,.0078431373,.0078431373,.1333333333,.4980392156862745,.0078431373,.0078431373,.1254901961,.5019607843137255,.0078431373,.0078431373,.1176470588,.5058823529411764,.0078431373,.0078431373,.1019607843,.5098039215686274,.0078431373,.0078431373,.0941176471,.5137254901960784,.0078431373,.0078431373,.0784313725,.5176470588235295,.0078431373,.0078431373,.0705882353,.5215686274509804,.0078431373,.0078431373,.0549019608,.5254901960784314,.0078431373,.0078431373,.0470588235,.5294117647058824,.0235294118,.0078431373,.0392156863,.5333333333333333,.031372549,.0078431373,.0235294118,.5372549019607843,.0392156863,.0078431373,.0156862745,.5411764705882353,.0549019608,.0078431373,0,.5450980392156862,.062745098,.0078431373,0,.5490196078431373,.0705882353,.0078431373,0,.5529411764705883,.0862745098,.0078431373,0,.5568627450980392,.0941176471,.0078431373,0,.5607843137254902,.1019607843,.0078431373,0,.5647058823529412,.1098039216,.0078431373,0,.5686274509803921,.1254901961,.0078431373,0,.5725490196078431,.1333333333,.0078431373,0,.5764705882352941,.1411764706,.0078431373,0,.5803921568627451,.1568627451,.0078431373,0,.5843137254901961,.1647058824,.0078431373,0,.5882352941176471,.1725490196,.0078431373,0,.592156862745098,.1882352941,.0078431373,0,.596078431372549,.1960784314,.0078431373,0,.6,.2039215686,.0078431373,0,.6039215686274509,.2117647059,.0078431373,0,.6078431372549019,.2274509804,.0078431373,0,.611764705882353,.2352941176,.0078431373,0,.615686274509804,.2431372549,.0078431373,0,.6196078431372549,.2588235294,.0078431373,0,.6235294117647059,.2666666667,.0078431373,0,.6274509803921569,.2745098039,0,0,.6313725490196078,.2901960784,.0156862745,0,.6352941176470588,.2980392157,.0235294118,0,.6392156862745098,.3058823529,.0392156863,0,.6431372549019608,.3137254902,.0470588235,0,.6470588235294118,.3294117647,.0549019608,0,.6509803921568628,.337254902,.0705882353,0,.6549019607843137,.3450980392,.0784313725,0,.6588235294117647,.3607843137,.0862745098,0,.6627450980392157,.368627451,.1019607843,0,.6666666666666666,.3764705882,.1098039216,0,.6705882352941176,.3843137255,.1176470588,0,.6745098039215687,.4,.1333333333,0,.6784313725490196,.4078431373,.1411764706,0,.6823529411764706,.4156862745,.1490196078,0,.6862745098039216,.431372549,.1647058824,0,.6901960784313725,.4392156863,.1725490196,0,.6941176470588235,.4470588235,.1803921569,0,.6980392156862745,.462745098,.1960784314,0,.7019607843137254,.4705882353,.2039215686,0,.7058823529411765,.4784313725,.2117647059,0,.7098039215686275,.4862745098,.2274509804,0,.7137254901960784,.5019607843,.2352941176,0,.7176470588235294,.5098039216,.2431372549,0,.7215686274509804,.5176470588,.2588235294,0,.7254901960784313,.5333333333,.2666666667,0,.7294117647058823,.5411764706,.2745098039,0,.7333333333333333,.5490196078,.2901960784,0,.7372549019607844,.5647058824,.2980392157,0,.7411764705882353,.5725490196,.3058823529,0,.7450980392156863,.5803921569,.3215686275,0,.7490196078431373,.5882352941,.3294117647,0,.7529411764705882,.6039215686,.337254902,0,.7568627450980392,.6117647059,.3529411765,0,.7607843137254902,.6196078431,.3607843137,0,.7647058823529411,.6352941176,.368627451,0,.7686274509803922,.6431372549,.3843137255,0,.7725490196078432,.6509803922,.3921568627,0,.7764705882352941,.6588235294,.4,0,.7803921568627451,.6745098039,.4156862745,0,.7843137254901961,.6823529412,.4235294118,0,.788235294117647,.6901960784,.431372549,0,.792156862745098,.7058823529,.4470588235,0,.796078431372549,.7137254902,.4549019608,0,.8,.7215686275,.462745098,0,.803921568627451,.737254902,.4784313725,0,.807843137254902,.7450980392,.4862745098,0,.8117647058823529,.7529411765,.4941176471,0,.8156862745098039,.7607843137,.5098039216,0,.8196078431372549,.7764705882,.5176470588,0,.8235294117647058,.7843137255,.5254901961,0,.8274509803921568,.7921568627,.5411764706,0,.8313725490196079,.8078431373,.5490196078,0,.8352941176470589,.8156862745,.5568627451,0,.8392156862745098,.8235294118,.5725490196,0,.8431372549019608,.8392156863,.5803921569,0,.8470588235294118,.8470588235,.5882352941,0,.8509803921568627,.8549019608,.6039215686,0,.8549019607843137,.862745098,.6117647059,0,.8588235294117647,.8784313725,.6196078431,0,.8627450980392157,.8862745098,.6352941176,0,.8666666666666667,.8941176471,.6431372549,0,.8705882352941177,.9098039216,.6509803922,0,.8745098039215686,.9176470588,.6666666667,0,.8784313725490196,.9254901961,.6745098039,0,.8823529411764706,.9411764706,.6823529412,0,.8862745098039215,.9490196078,.6980392157,0,.8901960784313725,.9568627451,.7058823529,0,.8941176470588236,.9647058824,.7137254902,0,.8980392156862745,.9803921569,.7294117647,0,.9019607843137255,.9882352941,.737254902,0,.9058823529411765,.9960784314,.7450980392,0,.9098039215686274,.9960784314,.7607843137,0,.9137254901960784,.9960784314,.768627451,0,.9176470588235294,.9960784314,.7764705882,0,.9215686274509803,.9960784314,.7921568627,0,.9254901960784314,.9960784314,.8,0,.9294117647058824,.9960784314,.8078431373,0,.9333333333333333,.9960784314,.8235294118,0,.9372549019607843,.9960784314,.831372549,0,.9411764705882354,.9960784314,.8392156863,0,.9450980392156864,.9960784314,.8549019608,0,.9490196078431372,.9960784314,.862745098,.0549019608,.9529411764705882,.9960784314,.8705882353,.1098039216,.9568627450980394,.9960784314,.8862745098,.1647058824,.9607843137254903,.9960784314,.8941176471,.2196078431,.9647058823529413,.9960784314,.9019607843,.2666666667,.9686274509803922,.9960784314,.9176470588,.3215686275,.9725490196078431,.9960784314,.9254901961,.3764705882,.9764705882352941,.9960784314,.9333333333,.431372549,.9803921568627451,.9960784314,.9490196078,.4862745098,.984313725490196,.9960784314,.9568627451,.5333333333,.9882352941176471,.9960784314,.9647058824,.5882352941,.9921568627450981,.9960784314,.9803921569,.6431372549,.996078431372549,.9960784314,.9882352941,.6980392157,1,.9960784314,.9960784314,.7450980392],description:"Perfusion"},{ColorSpace:"RGB",Name:"rainbow_2",RGBPoints:[0,0,0,0,.00392156862745098,.0156862745,0,.0117647059,.00784313725490196,.0352941176,0,.0274509804,.011764705882352941,.0509803922,0,.0392156863,.01568627450980392,.0705882353,0,.0549019608,.0196078431372549,.0862745098,0,.0745098039,.023529411764705882,.1058823529,0,.0901960784,.027450980392156862,.1215686275,0,.1098039216,.03137254901960784,.1411764706,0,.1254901961,.03529411764705882,.1568627451,0,.1490196078,.0392156862745098,.1764705882,0,.168627451,.043137254901960784,.1960784314,0,.1882352941,.047058823529411764,.2117647059,0,.2078431373,.050980392156862744,.2274509804,0,.231372549,.054901960784313725,.2392156863,0,.2470588235,.05882352941176471,.2509803922,0,.2666666667,.06274509803921569,.2666666667,0,.2823529412,.06666666666666667,.2705882353,0,.3019607843,.07058823529411765,.2823529412,0,.3176470588,.07450980392156863,.2901960784,0,.337254902,.0784313725490196,.3019607843,0,.3568627451,.08235294117647059,.3098039216,0,.3725490196,.08627450980392157,.3137254902,0,.3921568627,.09019607843137255,.3215686275,0,.4078431373,.09411764705882353,.3254901961,0,.4274509804,.09803921568627451,.3333333333,0,.4431372549,.10196078431372549,.3294117647,0,.462745098,.10588235294117647,.337254902,0,.4784313725,.10980392156862745,.3411764706,0,.4980392157,.11372549019607843,.3450980392,0,.5176470588,.11764705882352942,.337254902,0,.5333333333,.12156862745098039,.3411764706,0,.5529411765,.12549019607843137,.3411764706,0,.568627451,.12941176470588237,.3411764706,0,.5882352941,.13333333333333333,.3333333333,0,.6039215686,.13725490196078433,.3294117647,0,.6235294118,.1411764705882353,.3294117647,0,.6392156863,.1450980392156863,.3294117647,0,.6588235294,.14901960784313725,.3254901961,0,.6784313725,.15294117647058825,.3098039216,0,.6941176471,.1568627450980392,.3058823529,0,.7137254902,.1607843137254902,.3019607843,0,.7294117647,.16470588235294117,.2980392157,0,.7490196078,.16862745098039217,.2784313725,0,.7647058824,.17254901960784313,.2745098039,0,.7843137255,.17647058823529413,.2666666667,0,.8,.1803921568627451,.2588235294,0,.8196078431,.1843137254901961,.2352941176,0,.8392156863,.18823529411764706,.2274509804,0,.8549019608,.19215686274509805,.2156862745,0,.8745098039,.19607843137254902,.2078431373,0,.8901960784,.2,.1803921569,0,.9098039216,.20392156862745098,.168627451,0,.9254901961,.20784313725490197,.1568627451,0,.9450980392,.21176470588235294,.1411764706,0,.9607843137,.21568627450980393,.1294117647,0,.9803921569,.2196078431372549,.0980392157,0,1,.2235294117647059,.0823529412,0,1,.22745098039215686,.062745098,0,1,.23137254901960785,.0470588235,0,1,.23529411764705885,.0156862745,0,1,.23921568627450984,0,0,1,.24313725490196078,0,.0156862745,1,.24705882352941178,0,.031372549,1,.25098039215686274,0,.062745098,1,.2549019607843137,0,.0823529412,1,.25882352941176473,0,.0980392157,1,.2627450980392157,0,.1137254902,1,.26666666666666666,0,.1490196078,1,.27058823529411763,0,.1647058824,1,.27450980392156865,0,.1803921569,1,.2784313725490196,0,.2,1,.2823529411764706,0,.2156862745,1,.28627450980392155,0,.2470588235,1,.2901960784313726,0,.262745098,1,.29411764705882354,0,.2823529412,1,.2980392156862745,0,.2980392157,1,.30196078431372547,0,.3294117647,1,.3058823529411765,0,.3490196078,1,.30980392156862746,0,.3647058824,1,.3137254901960784,0,.3803921569,1,.3176470588235294,0,.4156862745,1,.3215686274509804,0,.431372549,1,.3254901960784314,0,.4470588235,1,.32941176470588235,0,.4666666667,1,.3333333333333333,0,.4980392157,1,.33725490196078434,0,.5137254902,1,.3411764705882353,0,.5294117647,1,.34509803921568627,0,.5490196078,1,.34901960784313724,0,.5647058824,1,.35294117647058826,0,.5960784314,1,.3568627450980392,0,.6156862745,1,.3607843137254902,0,.631372549,1,.36470588235294116,0,.6470588235,1,.3686274509803922,0,.6823529412,1,.37254901960784315,0,.6980392157,1,.3764705882352941,0,.7137254902,1,.3803921568627451,0,.7333333333,1,.3843137254901961,0,.7647058824,1,.38823529411764707,0,.7803921569,1,.39215686274509803,0,.7960784314,1,.396078431372549,0,.8156862745,1,.4,0,.8470588235,1,.403921568627451,0,.862745098,1,.40784313725490196,0,.8823529412,1,.4117647058823529,0,.8980392157,1,.41568627450980394,0,.9137254902,1,.4196078431372549,0,.9490196078,1,.4235294117647059,0,.9647058824,1,.42745098039215684,0,.9803921569,1,.43137254901960786,0,1,1,.43529411764705883,0,1,.9647058824,.4392156862745098,0,1,.9490196078,.44313725490196076,0,1,.9333333333,.4470588235294118,0,1,.9137254902,.45098039215686275,0,1,.8823529412,.4549019607843137,0,1,.862745098,.4588235294117647,0,1,.8470588235,.4627450980392157,0,1,.831372549,.4666666666666667,0,1,.7960784314,.4705882352941177,0,1,.7803921569,.4745098039215686,0,1,.7647058824,.4784313725490197,0,1,.7490196078,.48235294117647065,0,1,.7333333333,.48627450980392156,0,1,.6980392157,.49019607843137253,0,1,.6823529412,.49411764705882355,0,1,.6666666667,.4980392156862745,0,1,.6470588235,.5019607843137255,0,1,.6156862745,.5058823529411764,0,1,.5960784314,.5098039215686274,0,1,.5803921569,.5137254901960784,0,1,.5647058824,.5176470588235295,0,1,.5294117647,.5215686274509804,0,1,.5137254902,.5254901960784314,0,1,.4980392157,.5294117647058824,0,1,.4823529412,.5333333333333333,0,1,.4470588235,.5372549019607843,0,1,.431372549,.5411764705882353,0,1,.4156862745,.5450980392156862,0,1,.4,.5490196078431373,0,1,.3803921569,.5529411764705883,0,1,.3490196078,.5568627450980392,0,1,.3294117647,.5607843137254902,0,1,.3137254902,.5647058823529412,0,1,.2980392157,.5686274509803921,0,1,.262745098,.5725490196078431,0,1,.2470588235,.5764705882352941,0,1,.231372549,.5803921568627451,0,1,.2156862745,.5843137254901961,0,1,.1803921569,.5882352941176471,0,1,.1647058824,.592156862745098,0,1,.1490196078,.596078431372549,0,1,.1333333333,.6,0,1,.0980392157,.6039215686274509,0,1,.0823529412,.6078431372549019,0,1,.062745098,.611764705882353,0,1,.0470588235,.615686274509804,0,1,.031372549,.6196078431372549,0,1,0,.6235294117647059,.0156862745,1,0,.6274509803921569,.031372549,1,0,.6313725490196078,.0470588235,1,0,.6352941176470588,.0823529412,1,0,.6392156862745098,.0980392157,1,0,.6431372549019608,.1137254902,1,0,.6470588235294118,.1294117647,1,0,.6509803921568628,.1647058824,1,0,.6549019607843137,.1803921569,1,0,.6588235294117647,.2,1,0,.6627450980392157,.2156862745,1,0,.6666666666666666,.2470588235,1,0,.6705882352941176,.262745098,1,0,.6745098039215687,.2823529412,1,0,.6784313725490196,.2980392157,1,0,.6823529411764706,.3137254902,1,0,.6862745098039216,.3490196078,1,0,.6901960784313725,.3647058824,1,0,.6941176470588235,.3803921569,1,0,.6980392156862745,.3960784314,1,0,.7019607843137254,.431372549,1,0,.7058823529411765,.4470588235,1,0,.7098039215686275,.4666666667,1,0,.7137254901960784,.4823529412,1,0,.7176470588235294,.5137254902,1,0,.7215686274509804,.5294117647,1,0,.7254901960784313,.5490196078,1,0,.7294117647058823,.5647058824,1,0,.7333333333333333,.6,1,0,.7372549019607844,.6156862745,1,0,.7411764705882353,.631372549,1,0,.7450980392156863,.6470588235,1,0,.7490196078431373,.662745098,1,0,.7529411764705882,.6980392157,1,0,.7568627450980392,.7137254902,1,0,.7607843137254902,.7333333333,1,0,.7647058823529411,.7490196078,1,0,.7686274509803922,.7803921569,1,0,.7725490196078432,.7960784314,1,0,.7764705882352941,.8156862745,1,0,.7803921568627451,.831372549,1,0,.7843137254901961,.8666666667,1,0,.788235294117647,.8823529412,1,0,.792156862745098,.8980392157,1,0,.796078431372549,.9137254902,1,0,.8,.9490196078,1,0,.803921568627451,.9647058824,1,0,.807843137254902,.9803921569,1,0,.8117647058823529,1,1,0,.8156862745098039,1,.9803921569,0,.8196078431372549,1,.9490196078,0,.8235294117647058,1,.9333333333,0,.8274509803921568,1,.9137254902,0,.8313725490196079,1,.8980392157,0,.8352941176470589,1,.8666666667,0,.8392156862745098,1,.8470588235,0,.8431372549019608,1,.831372549,0,.8470588235294118,1,.8156862745,0,.8509803921568627,1,.7803921569,0,.8549019607843137,1,.7647058824,0,.8588235294117647,1,.7490196078,0,.8627450980392157,1,.7333333333,0,.8666666666666667,1,.6980392157,0,.8705882352941177,1,.6823529412,0,.8745098039215686,1,.6666666667,0,.8784313725490196,1,.6470588235,0,.8823529411764706,1,.631372549,0,.8862745098039215,1,.6,0,.8901960784313725,1,.5803921569,0,.8941176470588236,1,.5647058824,0,.8980392156862745,1,.5490196078,0,.9019607843137255,1,.5137254902,0,.9058823529411765,1,.4980392157,0,.9098039215686274,1,.4823529412,0,.9137254901960784,1,.4666666667,0,.9176470588235294,1,.431372549,0,.9215686274509803,1,.4156862745,0,.9254901960784314,1,.4,0,.9294117647058824,1,.3803921569,0,.9333333333333333,1,.3490196078,0,.9372549019607843,1,.3333333333,0,.9411764705882354,1,.3137254902,0,.9450980392156864,1,.2980392157,0,.9490196078431372,1,.2823529412,0,.9529411764705882,1,.2470588235,0,.9568627450980394,1,.231372549,0,.9607843137254903,1,.2156862745,0,.9647058823529413,1,.2,0,.9686274509803922,1,.1647058824,0,.9725490196078431,1,.1490196078,0,.9764705882352941,1,.1333333333,0,.9803921568627451,1,.1137254902,0,.984313725490196,1,.0823529412,0,.9882352941176471,1,.0666666667,0,.9921568627450981,1,.0470588235,0,.996078431372549,1,.031372549,0,1,1,0,0],description:"Rainbow"},{ColorSpace:"RGB",Name:"suv",RGBPoints:[0,1,1,1,.00392156862745098,1,1,1,.00784313725490196,1,1,1,.011764705882352941,1,1,1,.01568627450980392,1,1,1,.0196078431372549,1,1,1,.023529411764705882,1,1,1,.027450980392156862,1,1,1,.03137254901960784,1,1,1,.03529411764705882,1,1,1,.0392156862745098,1,1,1,.043137254901960784,1,1,1,.047058823529411764,1,1,1,.050980392156862744,1,1,1,.054901960784313725,1,1,1,.05882352941176471,1,1,1,.06274509803921569,1,1,1,.06666666666666667,1,1,1,.07058823529411765,1,1,1,.07450980392156863,1,1,1,.0784313725490196,1,1,1,.08235294117647059,1,1,1,.08627450980392157,1,1,1,.09019607843137255,1,1,1,.09411764705882353,1,1,1,.09803921568627451,1,1,1,.10196078431372549,.737254902,.737254902,.737254902,.10588235294117647,.737254902,.737254902,.737254902,.10980392156862745,.737254902,.737254902,.737254902,.11372549019607843,.737254902,.737254902,.737254902,.11764705882352942,.737254902,.737254902,.737254902,.12156862745098039,.737254902,.737254902,.737254902,.12549019607843137,.737254902,.737254902,.737254902,.12941176470588237,.737254902,.737254902,.737254902,.13333333333333333,.737254902,.737254902,.737254902,.13725490196078433,.737254902,.737254902,.737254902,.1411764705882353,.737254902,.737254902,.737254902,.1450980392156863,.737254902,.737254902,.737254902,.14901960784313725,.737254902,.737254902,.737254902,.15294117647058825,.737254902,.737254902,.737254902,.1568627450980392,.737254902,.737254902,.737254902,.1607843137254902,.737254902,.737254902,.737254902,.16470588235294117,.737254902,.737254902,.737254902,.16862745098039217,.737254902,.737254902,.737254902,.17254901960784313,.737254902,.737254902,.737254902,.17647058823529413,.737254902,.737254902,.737254902,.1803921568627451,.737254902,.737254902,.737254902,.1843137254901961,.737254902,.737254902,.737254902,.18823529411764706,.737254902,.737254902,.737254902,.19215686274509805,.737254902,.737254902,.737254902,.19607843137254902,.737254902,.737254902,.737254902,.2,.737254902,.737254902,.737254902,.20392156862745098,.431372549,0,.568627451,.20784313725490197,.431372549,0,.568627451,.21176470588235294,.431372549,0,.568627451,.21568627450980393,.431372549,0,.568627451,.2196078431372549,.431372549,0,.568627451,.2235294117647059,.431372549,0,.568627451,.22745098039215686,.431372549,0,.568627451,.23137254901960785,.431372549,0,.568627451,.23529411764705885,.431372549,0,.568627451,.23921568627450984,.431372549,0,.568627451,.24313725490196078,.431372549,0,.568627451,.24705882352941178,.431372549,0,.568627451,.25098039215686274,.431372549,0,.568627451,.2549019607843137,.431372549,0,.568627451,.25882352941176473,.431372549,0,.568627451,.2627450980392157,.431372549,0,.568627451,.26666666666666666,.431372549,0,.568627451,.27058823529411763,.431372549,0,.568627451,.27450980392156865,.431372549,0,.568627451,.2784313725490196,.431372549,0,.568627451,.2823529411764706,.431372549,0,.568627451,.28627450980392155,.431372549,0,.568627451,.2901960784313726,.431372549,0,.568627451,.29411764705882354,.431372549,0,.568627451,.2980392156862745,.431372549,0,.568627451,.30196078431372547,.431372549,0,.568627451,.3058823529411765,.2509803922,.3333333333,.6509803922,.30980392156862746,.2509803922,.3333333333,.6509803922,.3137254901960784,.2509803922,.3333333333,.6509803922,.3176470588235294,.2509803922,.3333333333,.6509803922,.3215686274509804,.2509803922,.3333333333,.6509803922,.3254901960784314,.2509803922,.3333333333,.6509803922,.32941176470588235,.2509803922,.3333333333,.6509803922,.3333333333333333,.2509803922,.3333333333,.6509803922,.33725490196078434,.2509803922,.3333333333,.6509803922,.3411764705882353,.2509803922,.3333333333,.6509803922,.34509803921568627,.2509803922,.3333333333,.6509803922,.34901960784313724,.2509803922,.3333333333,.6509803922,.35294117647058826,.2509803922,.3333333333,.6509803922,.3568627450980392,.2509803922,.3333333333,.6509803922,.3607843137254902,.2509803922,.3333333333,.6509803922,.36470588235294116,.2509803922,.3333333333,.6509803922,.3686274509803922,.2509803922,.3333333333,.6509803922,.37254901960784315,.2509803922,.3333333333,.6509803922,.3764705882352941,.2509803922,.3333333333,.6509803922,.3803921568627451,.2509803922,.3333333333,.6509803922,.3843137254901961,.2509803922,.3333333333,.6509803922,.38823529411764707,.2509803922,.3333333333,.6509803922,.39215686274509803,.2509803922,.3333333333,.6509803922,.396078431372549,.2509803922,.3333333333,.6509803922,.4,.2509803922,.3333333333,.6509803922,.403921568627451,.2509803922,.3333333333,.6509803922,.40784313725490196,0,.8,1,.4117647058823529,0,.8,1,.41568627450980394,0,.8,1,.4196078431372549,0,.8,1,.4235294117647059,0,.8,1,.42745098039215684,0,.8,1,.43137254901960786,0,.8,1,.43529411764705883,0,.8,1,.4392156862745098,0,.8,1,.44313725490196076,0,.8,1,.4470588235294118,0,.8,1,.45098039215686275,0,.8,1,.4549019607843137,0,.8,1,.4588235294117647,0,.8,1,.4627450980392157,0,.8,1,.4666666666666667,0,.8,1,.4705882352941177,0,.8,1,.4745098039215686,0,.8,1,.4784313725490197,0,.8,1,.48235294117647065,0,.8,1,.48627450980392156,0,.8,1,.49019607843137253,0,.8,1,.49411764705882355,0,.8,1,.4980392156862745,0,.8,1,.5019607843137255,0,.8,1,.5058823529411764,0,.6666666667,.5333333333,.5098039215686274,0,.6666666667,.5333333333,.5137254901960784,0,.6666666667,.5333333333,.5176470588235295,0,.6666666667,.5333333333,.5215686274509804,0,.6666666667,.5333333333,.5254901960784314,0,.6666666667,.5333333333,.5294117647058824,0,.6666666667,.5333333333,.5333333333333333,0,.6666666667,.5333333333,.5372549019607843,0,.6666666667,.5333333333,.5411764705882353,0,.6666666667,.5333333333,.5450980392156862,0,.6666666667,.5333333333,.5490196078431373,0,.6666666667,.5333333333,.5529411764705883,0,.6666666667,.5333333333,.5568627450980392,0,.6666666667,.5333333333,.5607843137254902,0,.6666666667,.5333333333,.5647058823529412,0,.6666666667,.5333333333,.5686274509803921,0,.6666666667,.5333333333,.5725490196078431,0,.6666666667,.5333333333,.5764705882352941,0,.6666666667,.5333333333,.5803921568627451,0,.6666666667,.5333333333,.5843137254901961,0,.6666666667,.5333333333,.5882352941176471,0,.6666666667,.5333333333,.592156862745098,0,.6666666667,.5333333333,.596078431372549,0,.6666666667,.5333333333,.6,0,.6666666667,.5333333333,.6039215686274509,0,.6666666667,.5333333333,.6078431372549019,.4,1,.4,.611764705882353,.4,1,.4,.615686274509804,.4,1,.4,.6196078431372549,.4,1,.4,.6235294117647059,.4,1,.4,.6274509803921569,.4,1,.4,.6313725490196078,.4,1,.4,.6352941176470588,.4,1,.4,.6392156862745098,.4,1,.4,.6431372549019608,.4,1,.4,.6470588235294118,.4,1,.4,.6509803921568628,.4,1,.4,.6549019607843137,.4,1,.4,.6588235294117647,.4,1,.4,.6627450980392157,.4,1,.4,.6666666666666666,.4,1,.4,.6705882352941176,.4,1,.4,.6745098039215687,.4,1,.4,.6784313725490196,.4,1,.4,.6823529411764706,.4,1,.4,.6862745098039216,.4,1,.4,.6901960784313725,.4,1,.4,.6941176470588235,.4,1,.4,.6980392156862745,.4,1,.4,.7019607843137254,.4,1,.4,.7058823529411765,1,.9490196078,0,.7098039215686275,1,.9490196078,0,.7137254901960784,1,.9490196078,0,.7176470588235294,1,.9490196078,0,.7215686274509804,1,.9490196078,0,.7254901960784313,1,.9490196078,0,.7294117647058823,1,.9490196078,0,.7333333333333333,1,.9490196078,0,.7372549019607844,1,.9490196078,0,.7411764705882353,1,.9490196078,0,.7450980392156863,1,.9490196078,0,.7490196078431373,1,.9490196078,0,.7529411764705882,1,.9490196078,0,.7568627450980392,1,.9490196078,0,.7607843137254902,1,.9490196078,0,.7647058823529411,1,.9490196078,0,.7686274509803922,1,.9490196078,0,.7725490196078432,1,.9490196078,0,.7764705882352941,1,.9490196078,0,.7803921568627451,1,.9490196078,0,.7843137254901961,1,.9490196078,0,.788235294117647,1,.9490196078,0,.792156862745098,1,.9490196078,0,.796078431372549,1,.9490196078,0,.8,1,.9490196078,0,.803921568627451,1,.9490196078,0,.807843137254902,.9490196078,.6509803922,.2509803922,.8117647058823529,.9490196078,.6509803922,.2509803922,.8156862745098039,.9490196078,.6509803922,.2509803922,.8196078431372549,.9490196078,.6509803922,.2509803922,.8235294117647058,.9490196078,.6509803922,.2509803922,.8274509803921568,.9490196078,.6509803922,.2509803922,.8313725490196079,.9490196078,.6509803922,.2509803922,.8352941176470589,.9490196078,.6509803922,.2509803922,.8392156862745098,.9490196078,.6509803922,.2509803922,.8431372549019608,.9490196078,.6509803922,.2509803922,.8470588235294118,.9490196078,.6509803922,.2509803922,.8509803921568627,.9490196078,.6509803922,.2509803922,.8549019607843137,.9490196078,.6509803922,.2509803922,.8588235294117647,.9490196078,.6509803922,.2509803922,.8627450980392157,.9490196078,.6509803922,.2509803922,.8666666666666667,.9490196078,.6509803922,.2509803922,.8705882352941177,.9490196078,.6509803922,.2509803922,.8745098039215686,.9490196078,.6509803922,.2509803922,.8784313725490196,.9490196078,.6509803922,.2509803922,.8823529411764706,.9490196078,.6509803922,.2509803922,.8862745098039215,.9490196078,.6509803922,.2509803922,.8901960784313725,.9490196078,.6509803922,.2509803922,.8941176470588236,.9490196078,.6509803922,.2509803922,.8980392156862745,.9490196078,.6509803922,.2509803922,.9019607843137255,.9490196078,.6509803922,.2509803922,.9058823529411765,.9490196078,.6509803922,.2509803922,.9098039215686274,1,0,0,.9137254901960784,1,0,0,.9176470588235294,1,0,0,.9215686274509803,1,0,0,.9254901960784314,1,0,0,.9294117647058824,1,0,0,.9333333333333333,1,0,0,.9372549019607843,1,0,0,.9411764705882354,1,0,0,.9450980392156864,1,0,0,.9490196078431372,1,0,0,.9529411764705882,1,0,0,.9568627450980394,1,0,0,.9607843137254903,1,0,0,.9647058823529413,1,0,0,.9686274509803922,1,0,0,.9725490196078431,1,0,0,.9764705882352941,1,0,0,.9803921568627451,1,0,0,.984313725490196,1,0,0,.9882352941176471,1,0,0,.9921568627450981,1,0,0,.996078431372549,1,0,0,1,1,0,0],description:"SUV"},{ColorSpace:"RGB",Name:"ge_256",RGBPoints:[0,.0039215686,.0078431373,.0078431373,.00392156862745098,.0039215686,.0078431373,.0078431373,.00784313725490196,.0039215686,.0078431373,.0117647059,.011764705882352941,.0039215686,.0117647059,.0156862745,.01568627450980392,.0039215686,.0117647059,.0196078431,.0196078431372549,.0039215686,.0156862745,.0235294118,.023529411764705882,.0039215686,.0156862745,.0274509804,.027450980392156862,.0039215686,.0196078431,.031372549,.03137254901960784,.0039215686,.0196078431,.0352941176,.03529411764705882,.0039215686,.0235294118,.0392156863,.0392156862745098,.0039215686,.0235294118,.0431372549,.043137254901960784,.0039215686,.0274509804,.0470588235,.047058823529411764,.0039215686,.0274509804,.0509803922,.050980392156862744,.0039215686,.031372549,.0549019608,.054901960784313725,.0039215686,.031372549,.0588235294,.05882352941176471,.0039215686,.0352941176,.062745098,.06274509803921569,.0039215686,.0352941176,.0666666667,.06666666666666667,.0039215686,.0392156863,.0705882353,.07058823529411765,.0039215686,.0392156863,.0745098039,.07450980392156863,.0039215686,.0431372549,.0784313725,.0784313725490196,.0039215686,.0431372549,.0823529412,.08235294117647059,.0039215686,.0470588235,.0862745098,.08627450980392157,.0039215686,.0470588235,.0901960784,.09019607843137255,.0039215686,.0509803922,.0941176471,.09411764705882353,.0039215686,.0509803922,.0980392157,.09803921568627451,.0039215686,.0549019608,.1019607843,.10196078431372549,.0039215686,.0549019608,.1058823529,.10588235294117647,.0039215686,.0588235294,.1098039216,.10980392156862745,.0039215686,.0588235294,.1137254902,.11372549019607843,.0039215686,.062745098,.1176470588,.11764705882352942,.0039215686,.062745098,.1215686275,.12156862745098039,.0039215686,.0666666667,.1254901961,.12549019607843137,.0039215686,.0666666667,.1294117647,.12941176470588237,.0039215686,.0705882353,.1333333333,.13333333333333333,.0039215686,.0705882353,.137254902,.13725490196078433,.0039215686,.0745098039,.1411764706,.1411764705882353,.0039215686,.0745098039,.1450980392,.1450980392156863,.0039215686,.0784313725,.1490196078,.14901960784313725,.0039215686,.0784313725,.1529411765,.15294117647058825,.0039215686,.0823529412,.1568627451,.1568627450980392,.0039215686,.0823529412,.1607843137,.1607843137254902,.0039215686,.0862745098,.1647058824,.16470588235294117,.0039215686,.0862745098,.168627451,.16862745098039217,.0039215686,.0901960784,.1725490196,.17254901960784313,.0039215686,.0901960784,.1764705882,.17647058823529413,.0039215686,.0941176471,.1803921569,.1803921568627451,.0039215686,.0941176471,.1843137255,.1843137254901961,.0039215686,.0980392157,.1882352941,.18823529411764706,.0039215686,.0980392157,.1921568627,.19215686274509805,.0039215686,.1019607843,.1960784314,.19607843137254902,.0039215686,.1019607843,.2,.2,.0039215686,.1058823529,.2039215686,.20392156862745098,.0039215686,.1058823529,.2078431373,.20784313725490197,.0039215686,.1098039216,.2117647059,.21176470588235294,.0039215686,.1098039216,.2156862745,.21568627450980393,.0039215686,.1137254902,.2196078431,.2196078431372549,.0039215686,.1137254902,.2235294118,.2235294117647059,.0039215686,.1176470588,.2274509804,.22745098039215686,.0039215686,.1176470588,.231372549,.23137254901960785,.0039215686,.1215686275,.2352941176,.23529411764705885,.0039215686,.1215686275,.2392156863,.23921568627450984,.0039215686,.1254901961,.2431372549,.24313725490196078,.0039215686,.1254901961,.2470588235,.24705882352941178,.0039215686,.1294117647,.2509803922,.25098039215686274,.0039215686,.1294117647,.2509803922,.2549019607843137,.0078431373,.1254901961,.2549019608,.25882352941176473,.0156862745,.1254901961,.2588235294,.2627450980392157,.0235294118,.1215686275,.262745098,.26666666666666666,.031372549,.1215686275,.2666666667,.27058823529411763,.0392156863,.1176470588,.2705882353,.27450980392156865,.0470588235,.1176470588,.2745098039,.2784313725490196,.0549019608,.1137254902,.2784313725,.2823529411764706,.062745098,.1137254902,.2823529412,.28627450980392155,.0705882353,.1098039216,.2862745098,.2901960784313726,.0784313725,.1098039216,.2901960784,.29411764705882354,.0862745098,.1058823529,.2941176471,.2980392156862745,.0941176471,.1058823529,.2980392157,.30196078431372547,.1019607843,.1019607843,.3019607843,.3058823529411765,.1098039216,.1019607843,.3058823529,.30980392156862746,.1176470588,.0980392157,.3098039216,.3137254901960784,.1254901961,.0980392157,.3137254902,.3176470588235294,.1333333333,.0941176471,.3176470588,.3215686274509804,.1411764706,.0941176471,.3215686275,.3254901960784314,.1490196078,.0901960784,.3254901961,.32941176470588235,.1568627451,.0901960784,.3294117647,.3333333333333333,.1647058824,.0862745098,.3333333333,.33725490196078434,.1725490196,.0862745098,.337254902,.3411764705882353,.1803921569,.0823529412,.3411764706,.34509803921568627,.1882352941,.0823529412,.3450980392,.34901960784313724,.1960784314,.0784313725,.3490196078,.35294117647058826,.2039215686,.0784313725,.3529411765,.3568627450980392,.2117647059,.0745098039,.3568627451,.3607843137254902,.2196078431,.0745098039,.3607843137,.36470588235294116,.2274509804,.0705882353,.3647058824,.3686274509803922,.2352941176,.0705882353,.368627451,.37254901960784315,.2431372549,.0666666667,.3725490196,.3764705882352941,.2509803922,.0666666667,.3764705882,.3803921568627451,.2549019608,.062745098,.3803921569,.3843137254901961,.262745098,.062745098,.3843137255,.38823529411764707,.2705882353,.0588235294,.3882352941,.39215686274509803,.2784313725,.0588235294,.3921568627,.396078431372549,.2862745098,.0549019608,.3960784314,.4,.2941176471,.0549019608,.4,.403921568627451,.3019607843,.0509803922,.4039215686,.40784313725490196,.3098039216,.0509803922,.4078431373,.4117647058823529,.3176470588,.0470588235,.4117647059,.41568627450980394,.3254901961,.0470588235,.4156862745,.4196078431372549,.3333333333,.0431372549,.4196078431,.4235294117647059,.3411764706,.0431372549,.4235294118,.42745098039215684,.3490196078,.0392156863,.4274509804,.43137254901960786,.3568627451,.0392156863,.431372549,.43529411764705883,.3647058824,.0352941176,.4352941176,.4392156862745098,.3725490196,.0352941176,.4392156863,.44313725490196076,.3803921569,.031372549,.4431372549,.4470588235294118,.3882352941,.031372549,.4470588235,.45098039215686275,.3960784314,.0274509804,.4509803922,.4549019607843137,.4039215686,.0274509804,.4549019608,.4588235294117647,.4117647059,.0235294118,.4588235294,.4627450980392157,.4196078431,.0235294118,.462745098,.4666666666666667,.4274509804,.0196078431,.4666666667,.4705882352941177,.4352941176,.0196078431,.4705882353,.4745098039215686,.4431372549,.0156862745,.4745098039,.4784313725490197,.4509803922,.0156862745,.4784313725,.48235294117647065,.4588235294,.0117647059,.4823529412,.48627450980392156,.4666666667,.0117647059,.4862745098,.49019607843137253,.4745098039,.0078431373,.4901960784,.49411764705882355,.4823529412,.0078431373,.4941176471,.4980392156862745,.4901960784,.0039215686,.4980392157,.5019607843137255,.4980392157,.0117647059,.4980392157,.5058823529411764,.5058823529,.0156862745,.4901960784,.5098039215686274,.5137254902,.0235294118,.4823529412,.5137254901960784,.5215686275,.0274509804,.4745098039,.5176470588235295,.5294117647,.0352941176,.4666666667,.5215686274509804,.537254902,.0392156863,.4588235294,.5254901960784314,.5450980392,.0470588235,.4509803922,.5294117647058824,.5529411765,.0509803922,.4431372549,.5333333333333333,.5607843137,.0588235294,.4352941176,.5372549019607843,.568627451,.062745098,.4274509804,.5411764705882353,.5764705882,.0705882353,.4196078431,.5450980392156862,.5843137255,.0745098039,.4117647059,.5490196078431373,.5921568627,.0823529412,.4039215686,.5529411764705883,.6,.0862745098,.3960784314,.5568627450980392,.6078431373,.0941176471,.3882352941,.5607843137254902,.6156862745,.0980392157,.3803921569,.5647058823529412,.6235294118,.1058823529,.3725490196,.5686274509803921,.631372549,.1098039216,.3647058824,.5725490196078431,.6392156863,.1176470588,.3568627451,.5764705882352941,.6470588235,.1215686275,.3490196078,.5803921568627451,.6549019608,.1294117647,.3411764706,.5843137254901961,.662745098,.1333333333,.3333333333,.5882352941176471,.6705882353,.1411764706,.3254901961,.592156862745098,.6784313725,.1450980392,.3176470588,.596078431372549,.6862745098,.1529411765,.3098039216,.6,.6941176471,.1568627451,.3019607843,.6039215686274509,.7019607843,.1647058824,.2941176471,.6078431372549019,.7098039216,.168627451,.2862745098,.611764705882353,.7176470588,.1764705882,.2784313725,.615686274509804,.7254901961,.1803921569,.2705882353,.6196078431372549,.7333333333,.1882352941,.262745098,.6235294117647059,.7411764706,.1921568627,.2549019608,.6274509803921569,.7490196078,.2,.2509803922,.6313725490196078,.7529411765,.2039215686,.2431372549,.6352941176470588,.7607843137,.2117647059,.2352941176,.6392156862745098,.768627451,.2156862745,.2274509804,.6431372549019608,.7764705882,.2235294118,.2196078431,.6470588235294118,.7843137255,.2274509804,.2117647059,.6509803921568628,.7921568627,.2352941176,.2039215686,.6549019607843137,.8,.2392156863,.1960784314,.6588235294117647,.8078431373,.2470588235,.1882352941,.6627450980392157,.8156862745,.2509803922,.1803921569,.6666666666666666,.8235294118,.2549019608,.1725490196,.6705882352941176,.831372549,.2588235294,.1647058824,.6745098039215687,.8392156863,.2666666667,.1568627451,.6784313725490196,.8470588235,.2705882353,.1490196078,.6823529411764706,.8549019608,.2784313725,.1411764706,.6862745098039216,.862745098,.2823529412,.1333333333,.6901960784313725,.8705882353,.2901960784,.1254901961,.6941176470588235,.8784313725,.2941176471,.1176470588,.6980392156862745,.8862745098,.3019607843,.1098039216,.7019607843137254,.8941176471,.3058823529,.1019607843,.7058823529411765,.9019607843,.3137254902,.0941176471,.7098039215686275,.9098039216,.3176470588,.0862745098,.7137254901960784,.9176470588,.3254901961,.0784313725,.7176470588235294,.9254901961,.3294117647,.0705882353,.7215686274509804,.9333333333,.337254902,.062745098,.7254901960784313,.9411764706,.3411764706,.0549019608,.7294117647058823,.9490196078,.3490196078,.0470588235,.7333333333333333,.9568627451,.3529411765,.0392156863,.7372549019607844,.9647058824,.3607843137,.031372549,.7411764705882353,.9725490196,.3647058824,.0235294118,.7450980392156863,.9803921569,.3725490196,.0156862745,.7490196078431373,.9882352941,.3725490196,.0039215686,.7529411764705882,.9960784314,.3843137255,.0156862745,.7568627450980392,.9960784314,.3921568627,.031372549,.7607843137254902,.9960784314,.4039215686,.0470588235,.7647058823529411,.9960784314,.4117647059,.062745098,.7686274509803922,.9960784314,.4235294118,.0784313725,.7725490196078432,.9960784314,.431372549,.0941176471,.7764705882352941,.9960784314,.4431372549,.1098039216,.7803921568627451,.9960784314,.4509803922,.1254901961,.7843137254901961,.9960784314,.462745098,.1411764706,.788235294117647,.9960784314,.4705882353,.1568627451,.792156862745098,.9960784314,.4823529412,.1725490196,.796078431372549,.9960784314,.4901960784,.1882352941,.8,.9960784314,.5019607843,.2039215686,.803921568627451,.9960784314,.5098039216,.2196078431,.807843137254902,.9960784314,.5215686275,.2352941176,.8117647058823529,.9960784314,.5294117647,.2509803922,.8156862745098039,.9960784314,.5411764706,.262745098,.8196078431372549,.9960784314,.5490196078,.2784313725,.8235294117647058,.9960784314,.5607843137,.2941176471,.8274509803921568,.9960784314,.568627451,.3098039216,.8313725490196079,.9960784314,.5803921569,.3254901961,.8352941176470589,.9960784314,.5882352941,.3411764706,.8392156862745098,.9960784314,.6,.3568627451,.8431372549019608,.9960784314,.6078431373,.3725490196,.8470588235294118,.9960784314,.6196078431,.3882352941,.8509803921568627,.9960784314,.6274509804,.4039215686,.8549019607843137,.9960784314,.6392156863,.4196078431,.8588235294117647,.9960784314,.6470588235,.4352941176,.8627450980392157,.9960784314,.6588235294,.4509803922,.8666666666666667,.9960784314,.6666666667,.4666666667,.8705882352941177,.9960784314,.6784313725,.4823529412,.8745098039215686,.9960784314,.6862745098,.4980392157,.8784313725490196,.9960784314,.6980392157,.5137254902,.8823529411764706,.9960784314,.7058823529,.5294117647,.8862745098039215,.9960784314,.7176470588,.5450980392,.8901960784313725,.9960784314,.7254901961,.5607843137,.8941176470588236,.9960784314,.737254902,.5764705882,.8980392156862745,.9960784314,.7450980392,.5921568627,.9019607843137255,.9960784314,.7529411765,.6078431373,.9058823529411765,.9960784314,.7607843137,.6235294118,.9098039215686274,.9960784314,.7725490196,.6392156863,.9137254901960784,.9960784314,.7803921569,.6549019608,.9176470588235294,.9960784314,.7921568627,.6705882353,.9215686274509803,.9960784314,.8,.6862745098,.9254901960784314,.9960784314,.8117647059,.7019607843,.9294117647058824,.9960784314,.8196078431,.7176470588,.9333333333333333,.9960784314,.831372549,.7333333333,.9372549019607843,.9960784314,.8392156863,.7490196078,.9411764705882354,.9960784314,.8509803922,.7607843137,.9450980392156864,.9960784314,.8588235294,.7764705882,.9490196078431372,.9960784314,.8705882353,.7921568627,.9529411764705882,.9960784314,.8784313725,.8078431373,.9568627450980394,.9960784314,.8901960784,.8235294118,.9607843137254903,.9960784314,.8980392157,.8392156863,.9647058823529413,.9960784314,.9098039216,.8549019608,.9686274509803922,.9960784314,.9176470588,.8705882353,.9725490196078431,.9960784314,.9294117647,.8862745098,.9764705882352941,.9960784314,.937254902,.9019607843,.9803921568627451,.9960784314,.9490196078,.9176470588,.984313725490196,.9960784314,.9568627451,.9333333333,.9882352941176471,.9960784314,.968627451,.9490196078,.9921568627450981,.9960784314,.9764705882,.9647058824,.996078431372549,.9960784314,.9882352941,.9803921569,1,.9960784314,.9882352941,.9803921569],description:"GE 256"},{ColorSpace:"RGB",Name:"ge",RGBPoints:[0,.0078431373,.0078431373,.0078431373,.00392156862745098,.0078431373,.0078431373,.0078431373,.00784313725490196,.0078431373,.0078431373,.0078431373,.011764705882352941,.0078431373,.0078431373,.0078431373,.01568627450980392,.0078431373,.0078431373,.0078431373,.0196078431372549,.0078431373,.0078431373,.0078431373,.023529411764705882,.0078431373,.0078431373,.0078431373,.027450980392156862,.0078431373,.0078431373,.0078431373,.03137254901960784,.0078431373,.0078431373,.0078431373,.03529411764705882,.0078431373,.0078431373,.0078431373,.0392156862745098,.0078431373,.0078431373,.0078431373,.043137254901960784,.0078431373,.0078431373,.0078431373,.047058823529411764,.0078431373,.0078431373,.0078431373,.050980392156862744,.0078431373,.0078431373,.0078431373,.054901960784313725,.0078431373,.0078431373,.0078431373,.05882352941176471,.0117647059,.0078431373,.0078431373,.06274509803921569,.0078431373,.0156862745,.0156862745,.06666666666666667,.0078431373,.0235294118,.0235294118,.07058823529411765,.0078431373,.031372549,.031372549,.07450980392156863,.0078431373,.0392156863,.0392156863,.0784313725490196,.0078431373,.0470588235,.0470588235,.08235294117647059,.0078431373,.0549019608,.0549019608,.08627450980392157,.0078431373,.062745098,.062745098,.09019607843137255,.0078431373,.0705882353,.0705882353,.09411764705882353,.0078431373,.0784313725,.0784313725,.09803921568627451,.0078431373,.0901960784,.0862745098,.10196078431372549,.0078431373,.0980392157,.0941176471,.10588235294117647,.0078431373,.1058823529,.1019607843,.10980392156862745,.0078431373,.1137254902,.1098039216,.11372549019607843,.0078431373,.1215686275,.1176470588,.11764705882352942,.0078431373,.1294117647,.1254901961,.12156862745098039,.0078431373,.137254902,.1333333333,.12549019607843137,.0078431373,.1450980392,.1411764706,.12941176470588237,.0078431373,.1529411765,.1490196078,.13333333333333333,.0078431373,.1647058824,.1568627451,.13725490196078433,.0078431373,.1725490196,.1647058824,.1411764705882353,.0078431373,.1803921569,.1725490196,.1450980392156863,.0078431373,.1882352941,.1803921569,.14901960784313725,.0078431373,.1960784314,.1882352941,.15294117647058825,.0078431373,.2039215686,.1960784314,.1568627450980392,.0078431373,.2117647059,.2039215686,.1607843137254902,.0078431373,.2196078431,.2117647059,.16470588235294117,.0078431373,.2274509804,.2196078431,.16862745098039217,.0078431373,.2352941176,.2274509804,.17254901960784313,.0078431373,.2470588235,.2352941176,.17647058823529413,.0078431373,.2509803922,.2431372549,.1803921568627451,.0078431373,.2549019608,.2509803922,.1843137254901961,.0078431373,.262745098,.2509803922,.18823529411764706,.0078431373,.2705882353,.2588235294,.19215686274509805,.0078431373,.2784313725,.2666666667,.19607843137254902,.0078431373,.2862745098,.2745098039,.2,.0078431373,.2941176471,.2823529412,.20392156862745098,.0078431373,.3019607843,.2901960784,.20784313725490197,.0078431373,.3137254902,.2980392157,.21176470588235294,.0078431373,.3215686275,.3058823529,.21568627450980393,.0078431373,.3294117647,.3137254902,.2196078431372549,.0078431373,.337254902,.3215686275,.2235294117647059,.0078431373,.3450980392,.3294117647,.22745098039215686,.0078431373,.3529411765,.337254902,.23137254901960785,.0078431373,.3607843137,.3450980392,.23529411764705885,.0078431373,.368627451,.3529411765,.23921568627450984,.0078431373,.3764705882,.3607843137,.24313725490196078,.0078431373,.3843137255,.368627451,.24705882352941178,.0078431373,.3960784314,.3764705882,.25098039215686274,.0078431373,.4039215686,.3843137255,.2549019607843137,.0078431373,.4117647059,.3921568627,.25882352941176473,.0078431373,.4196078431,.4,.2627450980392157,.0078431373,.4274509804,.4078431373,.26666666666666666,.0078431373,.4352941176,.4156862745,.27058823529411763,.0078431373,.4431372549,.4235294118,.27450980392156865,.0078431373,.4509803922,.431372549,.2784313725490196,.0078431373,.4588235294,.4392156863,.2823529411764706,.0078431373,.4705882353,.4470588235,.28627450980392155,.0078431373,.4784313725,.4549019608,.2901960784313726,.0078431373,.4862745098,.462745098,.29411764705882354,.0078431373,.4941176471,.4705882353,.2980392156862745,.0078431373,.5019607843,.4784313725,.30196078431372547,.0117647059,.5098039216,.4862745098,.3058823529411765,.0196078431,.5019607843,.4941176471,.30980392156862746,.0274509804,.4941176471,.5058823529,.3137254901960784,.0352941176,.4862745098,.5137254902,.3176470588235294,.0431372549,.4784313725,.5215686275,.3215686274509804,.0509803922,.4705882353,.5294117647,.3254901960784314,.0588235294,.462745098,.537254902,.32941176470588235,.0666666667,.4549019608,.5450980392,.3333333333333333,.0745098039,.4470588235,.5529411765,.33725490196078434,.0823529412,.4392156863,.5607843137,.3411764705882353,.0901960784,.431372549,.568627451,.34509803921568627,.0980392157,.4235294118,.5764705882,.34901960784313724,.1058823529,.4156862745,.5843137255,.35294117647058826,.1137254902,.4078431373,.5921568627,.3568627450980392,.1215686275,.4,.6,.3607843137254902,.1294117647,.3921568627,.6078431373,.36470588235294116,.137254902,.3843137255,.6156862745,.3686274509803922,.1450980392,.3764705882,.6235294118,.37254901960784315,.1529411765,.368627451,.631372549,.3764705882352941,.1607843137,.3607843137,.6392156863,.3803921568627451,.168627451,.3529411765,.6470588235,.3843137254901961,.1764705882,.3450980392,.6549019608,.38823529411764707,.1843137255,.337254902,.662745098,.39215686274509803,.1921568627,.3294117647,.6705882353,.396078431372549,.2,.3215686275,.6784313725,.4,.2078431373,.3137254902,.6862745098,.403921568627451,.2156862745,.3058823529,.6941176471,.40784313725490196,.2235294118,.2980392157,.7019607843,.4117647058823529,.231372549,.2901960784,.7098039216,.41568627450980394,.2392156863,.2823529412,.7176470588,.4196078431372549,.2470588235,.2745098039,.7254901961,.4235294117647059,.2509803922,.2666666667,.7333333333,.42745098039215684,.2509803922,.2588235294,.7411764706,.43137254901960786,.2588235294,.2509803922,.7490196078,.43529411764705883,.2666666667,.2509803922,.7490196078,.4392156862745098,.2745098039,.2431372549,.7568627451,.44313725490196076,.2823529412,.2352941176,.7647058824,.4470588235294118,.2901960784,.2274509804,.7725490196,.45098039215686275,.2980392157,.2196078431,.7803921569,.4549019607843137,.3058823529,.2117647059,.7882352941,.4588235294117647,.3137254902,.2039215686,.7960784314,.4627450980392157,.3215686275,.1960784314,.8039215686,.4666666666666667,.3294117647,.1882352941,.8117647059,.4705882352941177,.337254902,.1803921569,.8196078431,.4745098039215686,.3450980392,.1725490196,.8274509804,.4784313725490197,.3529411765,.1647058824,.8352941176,.48235294117647065,.3607843137,.1568627451,.8431372549,.48627450980392156,.368627451,.1490196078,.8509803922,.49019607843137253,.3764705882,.1411764706,.8588235294,.49411764705882355,.3843137255,.1333333333,.8666666667,.4980392156862745,.3921568627,.1254901961,.8745098039,.5019607843137255,.4,.1176470588,.8823529412,.5058823529411764,.4078431373,.1098039216,.8901960784,.5098039215686274,.4156862745,.1019607843,.8980392157,.5137254901960784,.4235294118,.0941176471,.9058823529,.5176470588235295,.431372549,.0862745098,.9137254902,.5215686274509804,.4392156863,.0784313725,.9215686275,.5254901960784314,.4470588235,.0705882353,.9294117647,.5294117647058824,.4549019608,.062745098,.937254902,.5333333333333333,.462745098,.0549019608,.9450980392,.5372549019607843,.4705882353,.0470588235,.9529411765,.5411764705882353,.4784313725,.0392156863,.9607843137,.5450980392156862,.4862745098,.031372549,.968627451,.5490196078431373,.4941176471,.0235294118,.9764705882,.5529411764705883,.4980392157,.0156862745,.9843137255,.5568627450980392,.5058823529,.0078431373,.9921568627,.5607843137254902,.5137254902,.0156862745,.9803921569,.5647058823529412,.5215686275,.0235294118,.9647058824,.5686274509803921,.5294117647,.0352941176,.9490196078,.5725490196078431,.537254902,.0431372549,.9333333333,.5764705882352941,.5450980392,.0509803922,.9176470588,.5803921568627451,.5529411765,.062745098,.9019607843,.5843137254901961,.5607843137,.0705882353,.8862745098,.5882352941176471,.568627451,.0784313725,.8705882353,.592156862745098,.5764705882,.0901960784,.8549019608,.596078431372549,.5843137255,.0980392157,.8392156863,.6,.5921568627,.1098039216,.8235294118,.6039215686274509,.6,.1176470588,.8078431373,.6078431372549019,.6078431373,.1254901961,.7921568627,.611764705882353,.6156862745,.137254902,.7764705882,.615686274509804,.6235294118,.1450980392,.7607843137,.6196078431372549,.631372549,.1529411765,.7490196078,.6235294117647059,.6392156863,.1647058824,.737254902,.6274509803921569,.6470588235,.1725490196,.7215686275,.6313725490196078,.6549019608,.1843137255,.7058823529,.6352941176470588,.662745098,.1921568627,.6901960784,.6392156862745098,.6705882353,.2,.6745098039,.6431372549019608,.6784313725,.2117647059,.6588235294,.6470588235294118,.6862745098,.2196078431,.6431372549,.6509803921568628,.6941176471,.2274509804,.6274509804,.6549019607843137,.7019607843,.2392156863,.6117647059,.6588235294117647,.7098039216,.2470588235,.5960784314,.6627450980392157,.7176470588,.2509803922,.5803921569,.6666666666666666,.7254901961,.2588235294,.5647058824,.6705882352941176,.7333333333,.2666666667,.5490196078,.6745098039215687,.7411764706,.2784313725,.5333333333,.6784313725490196,.7490196078,.2862745098,.5176470588,.6823529411764706,.7490196078,.2941176471,.5019607843,.6862745098039216,.7529411765,.3058823529,.4862745098,.6901960784313725,.7607843137,.3137254902,.4705882353,.6941176470588235,.768627451,.3215686275,.4549019608,.6980392156862745,.7764705882,.3333333333,.4392156863,.7019607843137254,.7843137255,.3411764706,.4235294118,.7058823529411765,.7921568627,.3529411765,.4078431373,.7098039215686275,.8,.3607843137,.3921568627,.7137254901960784,.8078431373,.368627451,.3764705882,.7176470588235294,.8156862745,.3803921569,.3607843137,.7215686274509804,.8235294118,.3882352941,.3450980392,.7254901960784313,.831372549,.3960784314,.3294117647,.7294117647058823,.8392156863,.4078431373,.3137254902,.7333333333333333,.8470588235,.4156862745,.2980392157,.7372549019607844,.8549019608,.4274509804,.2823529412,.7411764705882353,.862745098,.4352941176,.2666666667,.7450980392156863,.8705882353,.4431372549,.2509803922,.7490196078431373,.8784313725,.4549019608,.2431372549,.7529411764705882,.8862745098,.462745098,.2274509804,.7568627450980392,.8941176471,.4705882353,.2117647059,.7607843137254902,.9019607843,.4823529412,.1960784314,.7647058823529411,.9098039216,.4901960784,.1803921569,.7686274509803922,.9176470588,.4980392157,.1647058824,.7725490196078432,.9254901961,.5098039216,.1490196078,.7764705882352941,.9333333333,.5176470588,.1333333333,.7803921568627451,.9411764706,.5294117647,.1176470588,.7843137254901961,.9490196078,.537254902,.1019607843,.788235294117647,.9568627451,.5450980392,.0862745098,.792156862745098,.9647058824,.5568627451,.0705882353,.796078431372549,.9725490196,.5647058824,.0549019608,.8,.9803921569,.5725490196,.0392156863,.803921568627451,.9882352941,.5843137255,.0235294118,.807843137254902,.9921568627,.5921568627,.0078431373,.8117647058823529,.9921568627,.6039215686,.0274509804,.8156862745098039,.9921568627,.6117647059,.0509803922,.8196078431372549,.9921568627,.6196078431,.0745098039,.8235294117647058,.9921568627,.631372549,.0980392157,.8274509803921568,.9921568627,.6392156863,.1215686275,.8313725490196079,.9921568627,.6470588235,.1411764706,.8352941176470589,.9921568627,.6588235294,.1647058824,.8392156862745098,.9921568627,.6666666667,.1882352941,.8431372549019608,.9921568627,.6784313725,.2117647059,.8470588235294118,.9921568627,.6862745098,.2352941176,.8509803921568627,.9921568627,.6941176471,.2509803922,.8549019607843137,.9921568627,.7058823529,.2705882353,.8588235294117647,.9921568627,.7137254902,.2941176471,.8627450980392157,.9921568627,.7215686275,.3176470588,.8666666666666667,.9921568627,.7333333333,.3411764706,.8705882352941177,.9921568627,.7411764706,.3647058824,.8745098039215686,.9921568627,.7490196078,.3843137255,.8784313725490196,.9921568627,.7529411765,.4078431373,.8823529411764706,.9921568627,.7607843137,.431372549,.8862745098039215,.9921568627,.7725490196,.4549019608,.8901960784313725,.9921568627,.7803921569,.4784313725,.8941176470588236,.9921568627,.7882352941,.4980392157,.8980392156862745,.9921568627,.8,.5215686275,.9019607843137255,.9921568627,.8078431373,.5450980392,.9058823529411765,.9921568627,.8156862745,.568627451,.9098039215686274,.9921568627,.8274509804,.5921568627,.9137254901960784,.9921568627,.8352941176,.6156862745,.9176470588235294,.9921568627,.8470588235,.6352941176,.9215686274509803,.9921568627,.8549019608,.6588235294,.9254901960784314,.9921568627,.862745098,.6823529412,.9294117647058824,.9921568627,.8745098039,.7058823529,.9333333333333333,.9921568627,.8823529412,.7294117647,.9372549019607843,.9921568627,.8901960784,.7490196078,.9411764705882354,.9921568627,.9019607843,.7647058824,.9450980392156864,.9921568627,.9098039216,.7882352941,.9490196078431372,.9921568627,.9215686275,.8117647059,.9529411764705882,.9921568627,.9294117647,.8352941176,.9568627450980394,.9921568627,.937254902,.8588235294,.9607843137254903,.9921568627,.9490196078,.8784313725,.9647058823529413,.9921568627,.9568627451,.9019607843,.9686274509803922,.9921568627,.9647058824,.9254901961,.9725490196078431,.9921568627,.9764705882,.9490196078,.9764705882352941,.9921568627,.9843137255,.9725490196,.9803921568627451,.9921568627,.9921568627,.9921568627,.984313725490196,.9921568627,.9921568627,.9921568627,.9882352941176471,.9921568627,.9921568627,.9921568627,.9921568627450981,.9921568627,.9921568627,.9921568627,.996078431372549,.9921568627,.9921568627,.9921568627,1,.9921568627,.9921568627,.9921568627],description:"GE"},{ColorSpace:"RGB",Name:"siemens",RGBPoints:[0,.0078431373,.0039215686,.1254901961,.00392156862745098,.0078431373,.0039215686,.1254901961,.00784313725490196,.0078431373,.0039215686,.1882352941,.011764705882352941,.0117647059,.0039215686,.2509803922,.01568627450980392,.0117647059,.0039215686,.3098039216,.0196078431372549,.0156862745,.0039215686,.3725490196,.023529411764705882,.0156862745,.0039215686,.3725490196,.027450980392156862,.0156862745,.0039215686,.3725490196,.03137254901960784,.0156862745,.0039215686,.3725490196,.03529411764705882,.0156862745,.0039215686,.3725490196,.0392156862745098,.0156862745,.0039215686,.3725490196,.043137254901960784,.0156862745,.0039215686,.3725490196,.047058823529411764,.0156862745,.0039215686,.3725490196,.050980392156862744,.0156862745,.0039215686,.3725490196,.054901960784313725,.0156862745,.0039215686,.3725490196,.05882352941176471,.0156862745,.0039215686,.3725490196,.06274509803921569,.0156862745,.0039215686,.3882352941,.06666666666666667,.0156862745,.0039215686,.4078431373,.07058823529411765,.0156862745,.0039215686,.4235294118,.07450980392156863,.0156862745,.0039215686,.4431372549,.0784313725490196,.0156862745,.0039215686,.462745098,.08235294117647059,.0156862745,.0039215686,.4784313725,.08627450980392157,.0156862745,.0039215686,.4980392157,.09019607843137255,.0196078431,.0039215686,.5137254902,.09411764705882353,.0196078431,.0039215686,.5333333333,.09803921568627451,.0196078431,.0039215686,.5529411765,.10196078431372549,.0196078431,.0039215686,.568627451,.10588235294117647,.0196078431,.0039215686,.5882352941,.10980392156862745,.0196078431,.0039215686,.6039215686,.11372549019607843,.0196078431,.0039215686,.6235294118,.11764705882352942,.0196078431,.0039215686,.6431372549,.12156862745098039,.0235294118,.0039215686,.6588235294,.12549019607843137,.0235294118,.0039215686,.6784313725,.12941176470588237,.0235294118,.0039215686,.6980392157,.13333333333333333,.0235294118,.0039215686,.7137254902,.13725490196078433,.0235294118,.0039215686,.7333333333,.1411764705882353,.0235294118,.0039215686,.7490196078,.1450980392156863,.0235294118,.0039215686,.7647058824,.14901960784313725,.0235294118,.0039215686,.7843137255,.15294117647058825,.0274509804,.0039215686,.8,.1568627450980392,.0274509804,.0039215686,.8196078431,.1607843137254902,.0274509804,.0039215686,.8352941176,.16470588235294117,.0274509804,.0039215686,.8549019608,.16862745098039217,.0274509804,.0039215686,.8745098039,.17254901960784313,.0274509804,.0039215686,.8901960784,.17647058823529413,.0274509804,.0039215686,.9098039216,.1803921568627451,.031372549,.0039215686,.9294117647,.1843137254901961,.031372549,.0039215686,.9254901961,.18823529411764706,.0509803922,.0039215686,.9098039216,.19215686274509805,.0705882353,.0039215686,.8901960784,.19607843137254902,.0901960784,.0039215686,.8705882353,.2,.1137254902,.0039215686,.8509803922,.20392156862745098,.1333333333,.0039215686,.831372549,.20784313725490197,.1529411765,.0039215686,.8117647059,.21176470588235294,.1725490196,.0039215686,.7921568627,.21568627450980393,.1960784314,.0039215686,.7725490196,.2196078431372549,.2156862745,.0039215686,.7529411765,.2235294117647059,.2352941176,.0039215686,.737254902,.22745098039215686,.2509803922,.0039215686,.7176470588,.23137254901960785,.2745098039,.0039215686,.6980392157,.23529411764705885,.2941176471,.0039215686,.6784313725,.23921568627450984,.3137254902,.0039215686,.6588235294,.24313725490196078,.3333333333,.0039215686,.6392156863,.24705882352941178,.3568627451,.0039215686,.6196078431,.25098039215686274,.3764705882,.0039215686,.6,.2549019607843137,.3960784314,.0039215686,.5803921569,.25882352941176473,.4156862745,.0039215686,.5607843137,.2627450980392157,.4392156863,.0039215686,.5411764706,.26666666666666666,.4588235294,.0039215686,.5215686275,.27058823529411763,.4784313725,.0039215686,.5019607843,.27450980392156865,.4980392157,.0039215686,.4823529412,.2784313725490196,.5215686275,.0039215686,.4666666667,.2823529411764706,.5411764706,.0039215686,.4470588235,.28627450980392155,.5607843137,.0039215686,.4274509804,.2901960784313726,.5803921569,.0039215686,.4078431373,.29411764705882354,.6039215686,.0039215686,.3882352941,.2980392156862745,.6235294118,.0039215686,.368627451,.30196078431372547,.6431372549,.0039215686,.3490196078,.3058823529411765,.662745098,.0039215686,.3294117647,.30980392156862746,.6862745098,.0039215686,.3098039216,.3137254901960784,.7058823529,.0039215686,.2901960784,.3176470588235294,.7254901961,.0039215686,.2705882353,.3215686274509804,.7450980392,.0039215686,.2509803922,.3254901960784314,.7647058824,.0039215686,.2352941176,.32941176470588235,.7843137255,.0039215686,.2156862745,.3333333333333333,.8039215686,.0039215686,.1960784314,.33725490196078434,.8235294118,.0039215686,.1764705882,.3411764705882353,.8470588235,.0039215686,.1568627451,.34509803921568627,.8666666667,.0039215686,.137254902,.34901960784313724,.8862745098,.0039215686,.1176470588,.35294117647058826,.9058823529,.0039215686,.0980392157,.3568627450980392,.9294117647,.0039215686,.0784313725,.3607843137254902,.9490196078,.0039215686,.0588235294,.36470588235294116,.968627451,.0039215686,.0392156863,.3686274509803922,.9921568627,.0039215686,.0235294118,.37254901960784315,.9529411765,.0039215686,.0588235294,.3764705882352941,.9529411765,.0078431373,.0549019608,.3803921568627451,.9529411765,.0156862745,.0549019608,.3843137254901961,.9529411765,.0235294118,.0549019608,.38823529411764707,.9529411765,.031372549,.0549019608,.39215686274509803,.9529411765,.0352941176,.0549019608,.396078431372549,.9529411765,.0431372549,.0549019608,.4,.9529411765,.0509803922,.0549019608,.403921568627451,.9529411765,.0588235294,.0549019608,.40784313725490196,.9529411765,.062745098,.0549019608,.4117647058823529,.9529411765,.0705882353,.0549019608,.41568627450980394,.9529411765,.0784313725,.0509803922,.4196078431372549,.9529411765,.0862745098,.0509803922,.4235294117647059,.9568627451,.0941176471,.0509803922,.42745098039215684,.9568627451,.0980392157,.0509803922,.43137254901960786,.9568627451,.1058823529,.0509803922,.43529411764705883,.9568627451,.1137254902,.0509803922,.4392156862745098,.9568627451,.1215686275,.0509803922,.44313725490196076,.9568627451,.1254901961,.0509803922,.4470588235294118,.9568627451,.1333333333,.0509803922,.45098039215686275,.9568627451,.1411764706,.0509803922,.4549019607843137,.9568627451,.1490196078,.0470588235,.4588235294117647,.9568627451,.1568627451,.0470588235,.4627450980392157,.9568627451,.1607843137,.0470588235,.4666666666666667,.9568627451,.168627451,.0470588235,.4705882352941177,.9607843137,.1764705882,.0470588235,.4745098039215686,.9607843137,.1843137255,.0470588235,.4784313725490197,.9607843137,.1882352941,.0470588235,.48235294117647065,.9607843137,.1960784314,.0470588235,.48627450980392156,.9607843137,.2039215686,.0470588235,.49019607843137253,.9607843137,.2117647059,.0470588235,.49411764705882355,.9607843137,.2196078431,.0431372549,.4980392156862745,.9607843137,.2235294118,.0431372549,.5019607843137255,.9607843137,.231372549,.0431372549,.5058823529411764,.9607843137,.2392156863,.0431372549,.5098039215686274,.9607843137,.2470588235,.0431372549,.5137254901960784,.9607843137,.2509803922,.0431372549,.5176470588235295,.9647058824,.2549019608,.0431372549,.5215686274509804,.9647058824,.262745098,.0431372549,.5254901960784314,.9647058824,.2705882353,.0431372549,.5294117647058824,.9647058824,.2745098039,.0431372549,.5333333333333333,.9647058824,.2823529412,.0392156863,.5372549019607843,.9647058824,.2901960784,.0392156863,.5411764705882353,.9647058824,.2980392157,.0392156863,.5450980392156862,.9647058824,.3058823529,.0392156863,.5490196078431373,.9647058824,.3098039216,.0392156863,.5529411764705883,.9647058824,.3176470588,.0392156863,.5568627450980392,.9647058824,.3254901961,.0392156863,.5607843137254902,.9647058824,.3333333333,.0392156863,.5647058823529412,.9647058824,.337254902,.0392156863,.5686274509803921,.968627451,.3450980392,.0392156863,.5725490196078431,.968627451,.3529411765,.0352941176,.5764705882352941,.968627451,.3607843137,.0352941176,.5803921568627451,.968627451,.368627451,.0352941176,.5843137254901961,.968627451,.3725490196,.0352941176,.5882352941176471,.968627451,.3803921569,.0352941176,.592156862745098,.968627451,.3882352941,.0352941176,.596078431372549,.968627451,.3960784314,.0352941176,.6,.968627451,.4,.0352941176,.6039215686274509,.968627451,.4078431373,.0352941176,.6078431372549019,.968627451,.4156862745,.0352941176,.611764705882353,.968627451,.4235294118,.031372549,.615686274509804,.9725490196,.431372549,.031372549,.6196078431372549,.9725490196,.4352941176,.031372549,.6235294117647059,.9725490196,.4431372549,.031372549,.6274509803921569,.9725490196,.4509803922,.031372549,.6313725490196078,.9725490196,.4588235294,.031372549,.6352941176470588,.9725490196,.462745098,.031372549,.6392156862745098,.9725490196,.4705882353,.031372549,.6431372549019608,.9725490196,.4784313725,.031372549,.6470588235294118,.9725490196,.4862745098,.031372549,.6509803921568628,.9725490196,.4941176471,.0274509804,.6549019607843137,.9725490196,.4980392157,.0274509804,.6588235294117647,.9725490196,.5058823529,.0274509804,.6627450980392157,.9764705882,.5137254902,.0274509804,.6666666666666666,.9764705882,.5215686275,.0274509804,.6705882352941176,.9764705882,.5254901961,.0274509804,.6745098039215687,.9764705882,.5333333333,.0274509804,.6784313725490196,.9764705882,.5411764706,.0274509804,.6823529411764706,.9764705882,.5490196078,.0274509804,.6862745098039216,.9764705882,.5529411765,.0274509804,.6901960784313725,.9764705882,.5607843137,.0235294118,.6941176470588235,.9764705882,.568627451,.0235294118,.6980392156862745,.9764705882,.5764705882,.0235294118,.7019607843137254,.9764705882,.5843137255,.0235294118,.7058823529411765,.9764705882,.5882352941,.0235294118,.7098039215686275,.9764705882,.5960784314,.0235294118,.7137254901960784,.9803921569,.6039215686,.0235294118,.7176470588235294,.9803921569,.6117647059,.0235294118,.7215686274509804,.9803921569,.6156862745,.0235294118,.7254901960784313,.9803921569,.6235294118,.0235294118,.7294117647058823,.9803921569,.631372549,.0196078431,.7333333333333333,.9803921569,.6392156863,.0196078431,.7372549019607844,.9803921569,.6470588235,.0196078431,.7411764705882353,.9803921569,.6509803922,.0196078431,.7450980392156863,.9803921569,.6588235294,.0196078431,.7490196078431373,.9803921569,.6666666667,.0196078431,.7529411764705882,.9803921569,.6745098039,.0196078431,.7568627450980392,.9803921569,.6784313725,.0196078431,.7607843137254902,.9843137255,.6862745098,.0196078431,.7647058823529411,.9843137255,.6941176471,.0196078431,.7686274509803922,.9843137255,.7019607843,.0156862745,.7725490196078432,.9843137255,.7098039216,.0156862745,.7764705882352941,.9843137255,.7137254902,.0156862745,.7803921568627451,.9843137255,.7215686275,.0156862745,.7843137254901961,.9843137255,.7294117647,.0156862745,.788235294117647,.9843137255,.737254902,.0156862745,.792156862745098,.9843137255,.7411764706,.0156862745,.796078431372549,.9843137255,.7490196078,.0156862745,.8,.9843137255,.7529411765,.0156862745,.803921568627451,.9843137255,.7607843137,.0156862745,.807843137254902,.9882352941,.768627451,.0156862745,.8117647058823529,.9882352941,.768627451,.0156862745,.8156862745098039,.9843137255,.7843137255,.0117647059,.8196078431372549,.9843137255,.8,.0117647059,.8235294117647058,.9843137255,.8156862745,.0117647059,.8274509803921568,.9803921569,.831372549,.0117647059,.8313725490196079,.9803921569,.8431372549,.0117647059,.8352941176470589,.9803921569,.8588235294,.0078431373,.8392156862745098,.9803921569,.8745098039,.0078431373,.8431372549019608,.9764705882,.8901960784,.0078431373,.8470588235294118,.9764705882,.9058823529,.0078431373,.8509803921568627,.9764705882,.9176470588,.0078431373,.8549019607843137,.9764705882,.9333333333,.0039215686,.8588235294117647,.9725490196,.9490196078,.0039215686,.8627450980392157,.9725490196,.9647058824,.0039215686,.8666666666666667,.9725490196,.9803921569,.0039215686,.8705882352941177,.9725490196,.9960784314,.0039215686,.8745098039215686,.9725490196,.9960784314,.0039215686,.8784313725490196,.9725490196,.9960784314,.0352941176,.8823529411764706,.9725490196,.9960784314,.0666666667,.8862745098039215,.9725490196,.9960784314,.0980392157,.8901960784313725,.9725490196,.9960784314,.1294117647,.8941176470588236,.9725490196,.9960784314,.1647058824,.8980392156862745,.9764705882,.9960784314,.1960784314,.9019607843137255,.9764705882,.9960784314,.2274509804,.9058823529411765,.9764705882,.9960784314,.2549019608,.9098039215686274,.9764705882,.9960784314,.2901960784,.9137254901960784,.9764705882,.9960784314,.3215686275,.9176470588235294,.9803921569,.9960784314,.3529411765,.9215686274509803,.9803921569,.9960784314,.3843137255,.9254901960784314,.9803921569,.9960784314,.4156862745,.9294117647058824,.9803921569,.9960784314,.4509803922,.9333333333333333,.9803921569,.9960784314,.4823529412,.9372549019607843,.9843137255,.9960784314,.5137254902,.9411764705882354,.9843137255,.9960784314,.5450980392,.9450980392156864,.9843137255,.9960784314,.5803921569,.9490196078431372,.9843137255,.9960784314,.6117647059,.9529411764705882,.9843137255,.9960784314,.6431372549,.9568627450980394,.9882352941,.9960784314,.6745098039,.9607843137254903,.9882352941,.9960784314,.7058823529,.9647058823529413,.9882352941,.9960784314,.7411764706,.9686274509803922,.9882352941,.9960784314,.768627451,.9725490196078431,.9882352941,.9960784314,.8,.9764705882352941,.9921568627,.9960784314,.831372549,.9803921568627451,.9921568627,.9960784314,.8666666667,.984313725490196,.9921568627,.9960784314,.8980392157,.9882352941176471,.9921568627,.9960784314,.9294117647,.9921568627450981,.9921568627,.9960784314,.9607843137,.996078431372549,.9960784314,.9960784314,.9607843137,1,.9960784314,.9960784314,.9607843137],description:"Siemens"}];var AA=T(6404),At=T(6360),An=T(3500),Ar=T(619),Ao=T(2678);let{registerColormap:Ai}=x.utilities.colormap;async function Aa({servicesManager:e,commandsManager:A,extensionManager:t,appConfig:n}){var r;let o,i;window.PUBLIC_LIB_URL||="./${component}/",await (0,x.init)({peerImport:n.peerImport}),x.setUseCPURendering(!!n.useCPURendering),x.setConfiguration({...x.getConfiguration(),rendering:{...x.getConfiguration().rendering,strictZSpacingForVolumeViewport:n.strictZSpacingForVolumeViewport,useGenericViewport:!!n.useGenericViewport}});let{maxCacheSize:a}=n;a&&x.cache.setMaxCacheSize(a),H.CrosshairsTool.isAnnotation=!1,W.LabelmapSlicePropagationTool.isAnnotation=!1,W.MarkerLabelmapTool.isAnnotation=!1,H.ReferenceLinesTool.isAnnotation=!1,H.AdvancedMagnifyTool.isAnnotation=!1,H.PlanarFreehandContourSegmentationTool.isAnnotation=!1,(0,H.init)({addons:{polySeg:z},computeWorker:{autoTerminateOnIdle:{enabled:!1}}}),(0,H.addTool)(H.PanTool),(0,H.addTool)(H.SegmentBidirectionalTool),(0,H.addTool)(H.WindowLevelTool),(0,H.addTool)(H.StackScrollTool),(0,H.addTool)(H.VolumeRotateTool),(0,H.addTool)(H.ZoomTool),(0,H.addTool)(H.ProbeTool),(0,H.addTool)(H.MIPJumpToClickTool),(0,H.addTool)(H.LengthTool),(0,H.addTool)(H.RectangleROITool),(0,H.addTool)(H.RectangleROIThresholdTool),(0,H.addTool)(H.EllipticalROITool),(0,H.addTool)(H.CircleROITool),(0,H.addTool)(H.BidirectionalTool),(0,H.addTool)(H.ArrowAnnotateTool),(0,H.addTool)(H.DragProbeTool),(0,H.addTool)(H.AngleTool),(0,H.addTool)(H.CobbAngleTool),(0,H.addTool)(H.MagnifyTool),(0,H.addTool)(H.CrosshairsTool),(0,H.addTool)(H.RectangleScissorsTool),(0,H.addTool)(H.SphereScissorsTool),(0,H.addTool)(H.CircleScissorsTool),(0,H.addTool)(H.BrushTool),(0,H.addTool)(H.PaintFillTool),(0,H.addTool)(H.ReferenceLinesTool),(0,H.addTool)(ee),(0,H.addTool)(H.TrackballRotateTool),(0,H.addTool)(ea),(0,H.addTool)(H.AdvancedMagnifyTool),(0,H.addTool)(H.UltrasoundDirectionalTool),(0,H.addTool)(H.UltrasoundPleuraBLineTool),(0,H.addTool)(H.PlanarFreehandROITool),(0,H.addTool)(H.SplineROITool),(0,H.addTool)(H.LivewireContourTool),(0,H.addTool)(H.OrientationMarkerTool),(0,H.addTool)(H.WindowLevelRegionTool),(0,H.addTool)(H.PlanarFreehandContourSegmentationTool),(0,H.addTool)(H.SegmentSelectTool),(0,H.addTool)(H.SegmentLabelTool),(0,H.addTool)(W.LabelmapSlicePropagationTool),(0,H.addTool)(W.MarkerLabelmapTool),(0,H.addTool)(H.RegionSegmentPlusTool),(0,H.addTool)(H.LivewireContourSegmentationTool),(0,H.addTool)(H.SculptorTool),(0,H.addTool)(H.SplineContourSegmentationTool),(0,H.addTool)(H.LabelMapEditWithContourTool),o=H.annotation.config.style.getDefaultToolStyles(),H.annotation.config.style.setDefaultToolStyles({global:{...o.global,textBoxFontSize:"15px",lineWidth:"1.5"}}),x.Settings.getRuntimeSettings().set("useCursors",!!n.useCursors);let{userAuthenticationService:s,customizationService:l,uiModalService:c,uiNotificationService:u,cornerstoneViewportService:d,hangingProtocolService:g,viewportGridService:p,segmentationService:m,measurementService:f,colorbarService:h,displaySetService:w,toolbarService:B}=e.services;B.registerEventForToolbarUpdate(h,[h.EVENTS.STATE_CHANGED]),B.registerEventForToolbarUpdate(m,[m.EVENTS.SEGMENTATION_MODIFIED,m.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,m.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED]),window.services=e.services,window.extensionManager=t,window.commandsManager=A,n.showCPUFallbackMessage&&x.getShouldUseCPURendering()&&function(e,A){let{unsubscribe:t}=A.subscribe(A.EVENTS.PROTOCOL_CHANGED,()=>{(A=>{if(100===A)return e.show({content:Al,title:"OHIF Fell Back to CPU Rendering"}),!0})(100)&&t()})}(c,g);let{getPresentationId:y}=At.I.getState(),{getPresentationId:v}=Ar.v.getState(),{getPresentationId:C}=An.q.getState();p.addPresentationIdProvider("positionPresentationId",C),p.addPresentationIdProvider("lutPresentationId",y),p.addPresentationIdProvider("segmentationPresentationId",v),m.setStyle({type:AA.SegmentationRepresentations.Contour},{fillAlpha:.5,fillAlphaInactive:.4,renderFill:!1,renderFillInactive:!1});let E=_().classes.MetadataProvider;x.volumeLoader.registerVolumeLoader("cornerstoneStreamingImageVolume",k.cornerstoneStreamingImageVolumeLoader),x.volumeLoader.registerVolumeLoader("cornerstoneStreamingDynamicImageVolume",k.cornerstoneStreamingDynamicImageVolumeLoader),Object.entries({interleaveCenter:eJ,interleaveTopToBottom:e1,nth:e$}).forEach(([e,A])=>{g.registerImageLoadStrategy(e,As(A))}),x.imageLoadPoolManager.maxNumRequests={[G().Interaction]:n?.maxNumRequests?.interaction||10,[G().Thumbnail]:n?.maxNumRequests?.thumbnail||5,[G().Prefetch]:n?.maxNumRequests?.prefetch||5,[G().Compute]:n?.maxNumRequests?.compute||10},Y("cornerstoneStreamingImageVolume",k.cornerstoneStreamingImageVolumeLoader),Y("cornerstoneStreamingDynamicImageVolume",k.cornerstoneStreamingDynamicImageVolumeLoader),j().init({maxWebWorkers:Math.min(Math.max(navigator.hardwareConcurrency-1,1),n.maxNumberOfWebWorkers),beforeSend:function(e){let A=t.getActiveDataSource()?.[0].getConfig()??{},n=s.getAuthorizationHeader(),r={Accept:R.utils.generateAcceptHeader(A.acceptHeader,A.requestTransferSyntaxUID,A.omitQuotationForMultipartRequest)};return n&&Object.assign(r,n),r},errorInterceptor:e=>{R.errorHandler.getHTTPErrorHandler(e)}}),x.metaData.addProvider(x.utilities.genericMetadataProvider.get,9998),x.metaData.addProvider(x.utilities.calibratedPixelSpacingMetadataProvider.get.bind(x.utilities.calibratedPixelSpacingMetadataProvider)),x.metaData.addProvider(E.get.bind(E),9999),this.measurementServiceSource=(({commandsManager:e,servicesManager:A,extensionManager:t})=>{let{measurementService:n,displaySetService:r,cornerstoneViewportService:o,customizationService:i}=A.services,a=((e,A,t,n)=>{let r,{Length:o,Bidirectional:i,EllipticalROI:a,CircleROI:s,ArrowAnnotate:l,Angle:c,CobbAngle:u,RectangleROI:d,PlanarFreehandROI:g,SplineROI:p,LivewireContour:m,Probe:f,UltrasoundDirectional:h,UltrasoundPleuraBLine:w,SegmentBidirectional:B}=(r=e=>{let{POLYLINE:A,ELLIPSE:t,CIRCLE:n,RECTANGLE:r,BIDIRECTIONAL:o,POINT:i,ANGLE:a}=R.MeasurementService.VALUE_TYPES;return({Length:A,EllipticalROI:t,CircleROI:n,RectangleROI:r,PlanarFreehandROI:A,Bidirectional:o,ArrowAnnotate:i,CobbAngle:a,Angle:a,SplineROI:A,LivewireContour:A,Probe:i,UltrasoundDirectional:A,SegmentBidirectional:o})[e]},{Length:{toAnnotation:ed,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=eu(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{length:u,unit:d="mm"}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:d,length:u})}),i}(i,A),v=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,SeriesNumber:o,SOPInstanceUID:i,frameNumber:a,unit:s}=e[0],l=A.instances.find(e=>e.SOPInstanceUID===i);l&&(t=l.InstanceNumber);let c=t?` I: ${t}`:"",u=A.isMultiFrame?` F: ${a}`:"";if(null==r)return n;let d=R.utils.roundNumber(r,2);return n.primary.push(`${d} ${s}`),n.secondary.push(`S: ${o}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:g,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=y,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Length"),e.forEach(e=>{let{length:A,unit:t}=e;n.push("Length"),r.push(A),n.push("Unit"),r.push(t)}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},Bidirectional:{toAnnotation:ew,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r={}}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=eu(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{length:u,width:d,unit:g}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:g,length:u,width:d})}),i}(i,A),v=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,width:o,unit:i,SeriesNumber:a,SOPInstanceUID:s,frameNumber:l}=e[0],c=R.utils.roundNumber(r,2),u=R.utils.roundNumber(o,2),d=A.instances.find(e=>e.SOPInstanceUID===s);d&&(t=d.InstanceNumber);let g=t?` I: ${t}`:"",p=A.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${eh(i)}`),n.primary.push(`W: ${u} ${eh(i)}`),n.secondary.push(`S: ${a}${g}${p}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:g,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=y,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Bidirectional"),e.forEach(e=>{let{length:A,width:t,unit:o}=e;n.push("Length","Width","Unit"),r.push(A,t,o)}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},SegmentBidirectional:{toAnnotation:eT,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.debug("SegmentBidirectional tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=eu(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{length:u,width:d,unit:g}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:g,length:u,width:d})}),i}(i,A),v=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,width:o,unit:i,SeriesNumber:a,SOPInstanceUID:s,frameNumber:l}=e[0],c=R.utils.roundNumber(r,2),u=R.utils.roundNumber(o,2),d=A.instances.find(e=>e.SOPInstanceUID===s);d&&(t=d.InstanceNumber);let g=t?` I: ${t}`:"",p=A.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${eh(i)}`),n.primary.push(`W: ${u} ${eh(i)}`),n.secondary.push(`S: ${a}${g}${p}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:g,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=y,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:SegmentBidirectional"),e.forEach(e=>{let{length:A,width:t,unit:o}=e;n.push("Length","Width","Unit"),r.push(A,t,o)}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},EllipticalROI:{toAnnotation:ey,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return[];let i=[],a=new Set;return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:s,SeriesInstanceUID:l,frameNumber:c}=eu(o,A,e),{SeriesNumber:u}=A.getDisplaySetsForSeries(l)[0],{mean:d,stdDev:g,max:p,area:m,Modality:f,areaUnit:h,modalityUnit:w}=n;f&&a.has(f)||(f&&a.add(f),i.push({SeriesInstanceUID:l,SOPInstanceUID:s,SeriesNumber:u,frameNumber:c,Modality:f,unit:w,areaUnit:h,mean:d,stdDev:g,max:p,area:m}))}),i}(i,A),v=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:a}=e[0],s=A.instances.find(e=>e.SOPInstanceUID===o);s&&(t=s.InstanceNumber);let l=t?` I: ${t}`:"",c=A.isMultiFrame?` F: ${i}`:"",u=R.utils.roundNumber(r,2);return n.primary.push(`${u} ${eh(a)}`),e.forEach(e=>{let{unit:A,max:t,SeriesNumber:r}=e,o=eB(t,A,"max");n.primary.push(o),n.secondary.push(`S: ${r}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,textBox:B,metadata:a,isLocked:c,isVisible:u,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:g,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=y,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:EllipticalROI"),e.forEach(e=>{let{mean:A,stdDev:t,max:o,area:i,unit:a,areaUnit:s}=e;A&&a&&o&&i&&(n.push(`max (${a})`,`mean (${a})`,`std (${a})`,"Area","Unit"),r.push(o,A,t,i,s))}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.ELLIPSE}]},CircleROI:{toAnnotation:ev,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r={}}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return[];let i=[],a=new Set;return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:s,SeriesInstanceUID:l,frameNumber:c}=eu(o,A,e),{SeriesNumber:u}=A.getDisplaySetsForSeries(l)[0],{mean:d,stdDev:g,max:p,area:m,Modality:f,areaUnit:h,modalityUnit:w,perimeter:B,radiusUnit:y}=n;f&&a.has(f)||(a.add(f),i.push({SeriesInstanceUID:l,SOPInstanceUID:s,SeriesNumber:u,frameNumber:c,Modality:f,unit:w,mean:d,stdDev:g,max:p,area:m,areaUnit:h,perimeter:B,radiusUnit:y}))}),i}(i,A),v=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:a}=e[0],s=A.instances.find(e=>e.SOPInstanceUID===o);s&&(t=s.InstanceNumber);let l=t?` I: ${t}`:"",c=A.isMultiFrame?` F: ${i}`:"";if(!isNaN(r)){let e=R.utils.roundNumber(r||0,2);n.primary.push(`${e} ${eh(a)}`)}return e.forEach(e=>{let{unit:A,perimeter:t,radiusUnit:r,max:o,SeriesNumber:i}=e;if(isNaN(o)){if(t&&!isNaN(t)){let e=eB(t,r,"perimeter");n.primary.push(e)}}else{let e=eB(o,A,"max");n.primary.push(e)}n.secondary.push(`S: ${i}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:g,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=y,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:CircleROI"),e.forEach(e=>{let{mean:A,stdDev:t,max:o,area:i,unit:a,areaUnit:s}=e;A&&a&&o&&i&&(n.push(`max (${a})`,`mean (${a})`,`std (${a})`,"Area","Unit"),r.push(o,A,t,i,s))}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.CIRCLE}]},RectangleROI:{toAnnotation:eU.toAnnotation,toMeasurement:e=>eU.toMeasurement(e,A,t,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE}]},PlanarFreehandROI:{toAnnotation:eI.toAnnotation,toMeasurement:e=>eI.toMeasurement(e,A,t,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE}]},SplineROI:{toAnnotation:eb,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("SplineROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:f,frameNumber:h,StudyInstanceUID:w}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let B=function(e,A){let t={primary:[],secondary:[]};if(!e||!e.length)return t;let{area:n,SOPInstanceUID:r,frameNumber:o,areaUnit:i}=e[0],a=A.instances.find(e=>e.SOPInstanceUID===r);a&&a.InstanceNumber,A.isMultiFrame;let s=R.utils.roundNumber(n||0,2);return t.primary.push(`${s} ${eh(i)}`),t}(function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=eu(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{mean:u,stdDev:d,max:g,area:p,Modality:m,areaUnit:f,modalityUnit:h}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,Modality:m,unit:h,mean:u,stdDev:d,max:g,area:p,areaUnit:f})}),i}(i,A),o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:s.contour.polyline,textBox:s.handles.textBox,metadata:a,frameNumber:h,referenceSeriesUID:f,referenceStudyUID:w,referencedImageId:g,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:B,data:s.cachedStats,type:n(d),getReport:()=>(function(e,A){let{SplineROI:t}=A.getCustomization("cornerstone.measurements"),{report:n}=t,r=[],o=[];r.push("AnnotationType"),o.push("Cornerstone:SplineROI");let{metadata:i,data:a}=e,s=a.cachedStats[`imageId:${i.referencedImageId}`];return n.forEach(({displayName:e,value:A})=>{r.push(e),s[A]?o.push(s[A]):o.push("not available")}),i.FrameOfReferenceUID&&(r.push("FrameOfReferenceUID"),o.push(i.FrameOfReferenceUID)),a.contour.polyline&&(r.push("points"),o.push(a.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:r,values:o}})(i,r),isLocked:c,isVisible:u}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE}]},LivewireContour:{toAnnotation:eF,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Livewire tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:f,frameNumber:h,StudyInstanceUID:w}=eu(g,A,i);return o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f),{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:s.contour.polyline,textBox:s.handles.textBox,metadata:a,frameNumber:h,referenceSeriesUID:f,referencedImageId:g,referenceStudyUID:w,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,isLocked:c,isVisible:u,displayText:function(e,A,t){let n,{metadata:r,data:o}=e,i={primary:[],secondary:[]};if(!o.cachedStats||!o.cachedStats[`imageId:${r.referencedImageId}`])return i;let{area:a,areaUnit:s}=o.cachedStats[`imageId:${r.referencedImageId}`],{SOPInstanceUID:l,frameNumber:c}=eu(r.referencedImageId,t,e),u=A.instances.find(e=>e.SOPInstanceUID===l);u&&(n=u.InstanceNumber);let d=n?` I: ${n}`:"",g=A.isMultiFrame?` F: ${c}`:"",{SeriesNumber:p}=A,m=null;if(void 0!==p&&(m=`S: ${p}${d}${g}`),a){let e=R.utils.roundNumber(a||0,2);i.primary.push(`${e} ${eh(s)}`)}return m&&i.secondary.push(m),i}(i,o,A),data:s.cachedStats,type:n(d),getReport:()=>(function(e){let A=[],t=[];A.push("AnnotationType"),t.push("Cornerstone:Livewire");let{metadata:n,data:r}=e;return n.FrameOfReferenceUID&&(A.push("FrameOfReferenceUID"),t.push(n.FrameOfReferenceUID)),r.contour.polyline&&(A.push("points"),t.push(r.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:A,values:t}})(i)}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE}]},ArrowAnnotate:{toAnnotation:eC,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,A){let{metadata:t,data:n}=e,{text:r}=n,{referencedImageId:o}=t,i=[],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=eu(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0];return i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,text:r}),i}(i,A),v=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{SeriesNumber:r,SOPInstanceUID:o,frameNumber:i,text:a}=e[0],s=A.instances.find(e=>e.SOPInstanceUID===o);s&&(t=s.InstanceNumber);let l=t?` I: ${t}`:"",c=A.isMultiFrame?` F: ${i}`:"";return a&&n.primary.push(a),n.secondary.push(`S: ${r}${l}${c}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:g,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=y,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:ArrowAnnote"),e.forEach(e=>{let{text:A}=e;n.push("Text"),r.push(A)}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,A,0,r,0),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POINT,points:1}]},Probe:{toAnnotation:eQ,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Probe tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w}=s.handles,B=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=eu(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{value:u,modalityUnit:d}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:d||"",value:u})}),i}(i,A),y=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{value:r,unit:o,SeriesNumber:i,SOPInstanceUID:a,frameNumber:s}=e[0],l=A.instances.find(e=>e.SOPInstanceUID===a);l&&(t=l.InstanceNumber);let c=t?` I: ${t}`:"",u=A.isMultiFrame?` F: ${s}`:"";if(void 0!==r){let e=R.utils.roundNumber(r,2);n.primary.push(`${e} ${eh(o)}`),n.secondary.push(`S: ${i}${c}${u}`)}return n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,metadata:a,isLocked:c,isVisible:u,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:g,frameNumber:B?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:y,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=B,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Probe"),e.forEach(e=>{let{value:A,unit:t}=e;n.push(`Probe (${t})`),r.push(A)}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POINT,points:1}]},CobbAngle:{toAnnotation:eE,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Cobb Angle tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!r||!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=eu(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{angle:u}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:"°",angle:u})}),i}(i,A),v=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{angle:r,unit:o,SeriesNumber:i,SOPInstanceUID:a,frameNumber:s}=e[0],l=A.instances.find(e=>e.SOPInstanceUID===a);l&&(t=l.InstanceNumber);let c=t?` I: ${t}`:"",u=A.isMultiFrame?` F: ${s}`:"";if(void 0===r)return n;let d=R.utils.roundNumber(r,2);return n.primary.push(`${d} ${eh(o)}`),n.secondary.push(`S: ${i}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:g,frameNumber:y?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=y,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:CobbAngle"),e.forEach(e=>{let{angle:A,unit:t}=e;n.push(`Angle (${t})`),r.push(A)}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.ANGLE}]},Angle:{toAnnotation:eS,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g,A,i);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(t=>{let n=r[t],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=eu(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{angle:u}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:"°",angle:u})}),i}(i,A),v=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{angle:r,unit:o,SeriesNumber:i,SOPInstanceUID:a,frameNumber:s}=e[0],l=A.instances.find(e=>e.SOPInstanceUID===a);l&&(t=l.InstanceNumber);let c=t?` I: ${t}`:"",u=A.isMultiFrame?` F: ${s}`:"";if(void 0===r)return n;let d=R.utils.roundNumber(r,2);return n.primary.push(`${d} ${eh(o)}`),n.secondary.push(`S: ${i}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,frameNumber:y?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=y,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Angle"),e.forEach(e=>{let{angle:A,unit:t}=e;n.push(`Angle (${t})`),r.push(A)}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},referencedImageId:g}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.ANGLE}]},UltrasoundDirectional:{toAnnotation:eD,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f);let{points:w}=s.handles,B=function(e,A){let{metadata:t,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=t;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(e=>{let t=r[e];if(!o)throw Error("Non-acquisition plane measurement mapping not supported");let{SOPInstanceUID:n,SeriesInstanceUID:a,frameNumber:s}=eu(o),{SeriesNumber:l}=A.getDisplaySetForSOPInstanceUID(n,a,s),{xValues:c,yValues:u,units:d,isUnitless:g,isHorizontal:p}=t;i.push({SeriesInstanceUID:a,SOPInstanceUID:n,SeriesNumber:l,frameNumber:s,xValues:c,yValues:u,units:d,isUnitless:g,isHorizontal:p})}),i}(i,A),y=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{xValues:r,yValues:o,units:i,isUnitless:a,SeriesNumber:s,SOPInstanceUID:l,frameNumber:c}=e[0],u=A.instances.find(e=>e.SOPInstanceUID===l);u&&(t=u.InstanceNumber);let d=t?` I: ${t}`:"",g=A.isMultiFrame?` F: ${c}`:"",p=`S: ${s}${d}${g}`;if(void 0===r||void 0===o)return n;if(a)n.primary.push(`${R.utils.roundNumber(r[0],2)} ${i[0]}`);else{let e=Math.abs(r[1]-r[0]),A=Math.abs(o[1]-o[0]);n.primary.push(`${R.utils.roundNumber(e)} ${i[0]}`),n.primary.push(`${R.utils.roundNumber(A)} ${i[1]}`)}return n.secondary.push(p),n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,frameNumber:B?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:y,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=B,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:UltrasoundDirectional"),e.forEach(e=>{let{xValues:A,yValues:t,units:o,isUnitless:i}=e;if(i)n.push("Length"+o[0]),r.push(R.utils.roundNumber(A[0],2));else{let e=Math.abs(A[1]-A[0]),i=Math.abs(t[1]-t[0]);n.push("Time"+o[0]),r.push(R.utils.roundNumber(e,2)),n.push("Length"+o[1]),r.push(R.utils.roundNumber(i,2))}}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},UltrasoundPleuraBLine:{toAnnotation:eO,toMeasurement:e=>((e,A,t,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=ec.locking.isAnnotationLocked(l),u=ec.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("UltrasoundPleuraBLine tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:g,FrameOfReferenceUID:p}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(g);o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.getDisplaySetsForSeries(f);let{points:w}=s.handles,B=function(e,A){let{metadata:t}=e,{annotationType:n}=e.data,{referencedImageId:r}=t,o=[];if(!r)throw Error("Non-acquisition plane measurement mapping not supported");let{SOPInstanceUID:i,SeriesInstanceUID:a,frameNumber:s}=eu(r),{SeriesNumber:l}=A.getDisplaySetForSOPInstanceUID(i,a,s);return o.push({SeriesInstanceUID:a,SOPInstanceUID:i,SeriesNumber:l,frameNumber:s,annotationType:n}),o}(i,A),y=function(e,A){let t,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{annotationType:r,SeriesNumber:o,SOPInstanceUID:i,frameNumber:a}=e[0],s=A.instances.find(e=>e.SOPInstanceUID===i);s&&(t=s.InstanceNumber);let l=t?` I: ${t}`:"",c=A.isMultiFrame?` F: ${a}`:"",u=`S: ${o}${l}${c}`;return n.primary.push(`Annotation : ${r}`),n.secondary.push(u),n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:p,points:w,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,frameNumber:B?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:y,data:s.cachedStats,type:n(d),getReport:()=>{var e,A,t;let n,r;return e=B,A=w,t=p,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:UltrasoundPleuraBLine"),e.forEach(e=>{let{annotationType:A}=e;n.push("AnnotationType"),r.push(A)}),t&&(n.push("FrameOfReferenceUID"),r.push(t)),A&&(n.push("points"),r.push(A.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]}}),y=e.createSource(ex,eH);return e.addMapping(y,"Length",o.matchingCriteria,o.toAnnotation,o.toMeasurement),e.addMapping(y,"Crosshairs",o.matchingCriteria,()=>null,()=>null),e.addMapping(y,"Bidirectional",i.matchingCriteria,i.toAnnotation,i.toMeasurement),e.addMapping(y,"EllipticalROI",a.matchingCriteria,a.toAnnotation,a.toMeasurement),e.addMapping(y,"CircleROI",s.matchingCriteria,s.toAnnotation,s.toMeasurement),e.addMapping(y,"ArrowAnnotate",l.matchingCriteria,l.toAnnotation,l.toMeasurement),e.addMapping(y,"CobbAngle",u.matchingCriteria,u.toAnnotation,u.toMeasurement),e.addMapping(y,"Angle",c.matchingCriteria,c.toAnnotation,c.toMeasurement),e.addMapping(y,"RectangleROI",d.matchingCriteria,d.toAnnotation,d.toMeasurement),e.addMapping(y,"PlanarFreehandROI",g.matchingCriteria,g.toAnnotation,g.toMeasurement),e.addMapping(y,"SplineROI",p.matchingCriteria,p.toAnnotation,p.toMeasurement),e.addMapping(y,"CalibrationLine",o.matchingCriteria,o.toAnnotation,o.toMeasurement),e.addMapping(y,"LivewireContour",m.matchingCriteria,m.toAnnotation,m.toMeasurement),e.addMapping(y,"Probe",f.matchingCriteria,f.toAnnotation,f.toMeasurement),e.addMapping(y,"UltrasoundDirectionalTool",h.matchingCriteria,h.toAnnotation,h.toMeasurement),e.addMapping(y,"UltrasoundPleuraBLineTool",w.matchingCriteria,w.toAnnotation,w.toMeasurement),e.addMapping(y,"SegmentBidirectional",B.matchingCriteria,B.toAnnotation,B.toMeasurement),y})(n,r,o,i);(({servicesManager:e,commandsManager:A,extensionManager:t})=>{let{measurementService:n,cornerstoneViewportService:r,viewportGridService:o}=e.services,{MEASUREMENT_REMOVED:i,MEASUREMENTS_CLEARED:a,MEASUREMENT_UPDATED:s,RAW_MEASUREMENT_ADDED:l}=n.EVENTS;n.subscribe(a,({measurements:e,trackingContext:t})=>{if(Object.keys(e).length){for(let t of(A.run("startRecordingForAnnotationGroup"),Object.values(e))){let{uid:e,source:n}=t;if(n.name!==ex)continue;let r=H.annotation.state.getAnnotation(e);eL(e),A.run("triggerCreateAnnotationMemo",{annotation:r,FrameOfReferenceUID:r.metadata.FrameOfReferenceUID,options:{deleting:!0}})}t&&eV.push({id:x.utilities.uuidv4(),operationType:"trackingState",restoreMemo(e){!0===e?A.run("restoreTrackedSeries",t):!1===e&&A.run("clearTrackedSeries")}}),A.run("endRecordingForAnnotationGroup"),r.getRenderingEngine().render()}}),n.subscribe(s,({source:e,measurement:A,notYetUpdatedAtSource:t})=>{if(!e||e.name!==ex||!1===t)return;let{uid:n,label:i,isLocked:a,isVisible:s}=A,l=H.annotation.state.getAnnotation(n),{data:c,metadata:u}=l;if(!c)return;if(c.label!==i){let e=$(o)?.viewport.element;(0,eM.setAnnotationLabel)(l,e,i)}H.annotation.locking.setAnnotationLocked(n,a),H.annotation.visibility.setAnnotationVisibility(n,s);let d=r.getRenderingEngine().getViewports().map(e=>e.id);(0,eM.triggerAnnotationRenderForViewportIds)(d)}),n.subscribe(l,({source:e,measurement:t,data:n,dataSource:r})=>{let o;if(e.name!==ex)return;let{referenceSeriesUID:i,referenceStudyUID:a,SOPInstanceUID:s,metadata:l}=t,c=R.DicomMetadataStore.getInstance(a,i,s),u=1;t?.metadata?.referencedImageId?(o=t.metadata.referencedImageId,u=eu(t.metadata.referencedImageId).frameNumber):c&&(o=r.getImageIdsForInstance({instance:c}));let d=H.annotation.state.getAnnotationManager(),g={annotationUID:t.uid,predecessorImageId:t?.predecessorImageId,highlighted:!1,isLocked:!1,invalidated:!0,metadata:{...l,toolName:t.toolName,FrameOfReferenceUID:t.FrameOfReferenceUID,referencedImageId:o},data:{...n.annotation.data||{},text:n.annotation.data.text,handles:{...n.annotation.data.handles},cachedStats:{...n.annotation.data.cachedStats},label:n.annotation.data.label,frameNumber:u}};d.addAnnotation(g),A.run("triggerCreateAnnotationMemo",{annotation:g,FrameOfReferenceUID:g.metadata.FrameOfReferenceUID,options:{newAnnotation:!0}})}),n.subscribe(i,({source:e,measurement:t})=>{if(e?.name&&e.name!==ex)return;let n=$(o)?.viewport?.element;n&&(0,H.cancelActiveManipulations)(n);let i=H.annotation.state.getAnnotation(t);eL(t),i&&A.run("triggerCreateAnnotationMemo",{annotation:i,FrameOfReferenceUID:i.metadata.FrameOfReferenceUID,options:{deleting:!0}}),r.getRenderingEngine().render()})})({servicesManager:A,commandsManager:e,extensionManager:t});let{annotationToMeasurement:s,remove:l}=a;function c(e){try{let t=e.detail,{annotation:{metadata:n,annotationUID:r}}=t,{toolName:i}=n;e.type===g&&i===es.CalibrationLine?(function(e,A){var t,n;let r,o,i,{uiDialogService:a,viewportGridService:s}=e.services,{annotation:{metadata:l,data:c}}=A.detail,{referencedImageId:u}=l,{viewport:d}=$(s),g=Math.round(100*(t=c.handles.points[0],n=c.handles.points[1],r=t[0]-n[0],o=t[1]-n[1],i=t[2]-n[2],Math.sqrt(r*r+o*o+i*i)))/100;return new Promise((e,A)=>{a?(0,J.callInputDialog)({uiDialogService:a,title:"Calibration",placeholder:"Actual Physical distance (mm)",defaultValue:`${g}`}).then(A=>{var t;t=Number.parseFloat(A),Z(u,d.getRenderingEngine(),{type:"User",scale:1/(t/g)}),e(!0)}):A("UIDialogService is not initiated")})})(A,e).then(()=>{console.log("Calibration applied.")},()=>!0).finally(()=>{eL(r),u(e),o.resize()}):(t.uid=r,s(i,t))}catch(e){console.warn("Failed to add measurement:",e)}}function u(e){try{let A=e.detail,{annotation:{annotationUID:t}}=A;n.getMeasurement(t)&&l(t,A)}catch(e){console.warn("Failed to remove measurement:",e)}}let d=eN.ANNOTATION_ADDED,g=eN.ANNOTATION_COMPLETED,p=eN.ANNOTATION_MODIFIED,m=eN.ANNOTATION_REMOVED,f=eN.ANNOTATION_SELECTION_CHANGE;return x.eventTarget.addEventListener(d,c),x.eventTarget.addEventListener(g,c),x.eventTarget.addEventListener(p,function(e){try{let A=e.detail,{annotation:{metadata:t,annotationUID:r}}=A;if(!n.getMeasurement(r))return;let{toolName:o}=t;A.uid=r,s(o,A,!0)}catch(e){console.warn("Failed to update measurement:",e)}}),x.eventTarget.addEventListener(m,u),x.eventTarget.addEventListener(f,function(e){try{let{added:A,removed:t}=e.detail;t&&t.forEach(e=>n.setMeasurementSelected(e,!1)),A&&A.forEach(e=>n.setMeasurementSelected(e,!0))}catch(e){console.warn("Failed to select/unselect measurements:",e)}}),a})({servicesManager:e,commandsManager:A,extensionManager:t}),eR(e),e_(e),f.subscribe(f.EVENTS.JUMP_TO_MEASUREMENT,e=>{let{measurement:t}=e,{uid:n}=t;A.runCommand("jumpToMeasurementViewport",{measurement:t,annotationUID:n,evt:e})}),g.subscribe(g.EVENTS.CUSTOM_IMAGE_LOAD_PERFORMED,e=>{let{lutPresentationStore:A}=At.I.getState(),{segmentationPresentationStore:t}=Ar.v.getState(),{positionPresentationStore:n}=An.q.getState();for(let r of e.entries()){let[e,o]=r,i=d.getCornerstoneViewport(e),{presentationIds:a}=d.getViewportInfo(e).getViewportOptions(),s={positionPresentation:n[a?.positionPresentationId],lutPresentation:A[a?.lutPresentationId],segmentationPresentation:t[a?.segmentationPresentationId]};d.setVolumesForViewport(i,o,s)}}),e2({cornerstoneViewportService:d,customizationService:l,commandsManager:A}),e9({customizationService:l,commandsManager:A});let S=({detail:e})=>{R.errorHandler.getHTTPErrorHandler()(e.error)};x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_FAILED,S),x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_ERROR,S),x.eventTarget.addEventListener(x.EVENTS.ELEMENT_ENABLED,(function(e){let{element:t}=e.detail,{viewport:n}=(0,x.getEnabledElement)(t);if(!function({element:e}){if(!e8.length){let{TimingEnum:e}=R.Enums;e8.push(e.DISPLAY_SETS_TO_ALL_IMAGES,e.DISPLAY_SETS_TO_FIRST_IMAGE,e.STUDY_TO_FIRST_IMAGE)}e8.find(e=>R.log.timingKeys[e])&&(e5.viewportsWaiting+=1,e.addEventListener(x.EVENTS.IMAGE_RENDERED,e7))}({element:t}),t.addEventListener(x.EVENTS.CAMERA_RESET,e=>{let{element:t}=e.detail,n=(0,x.getEnabledElement)(t);if(!n)return;let{viewportId:r}=n;A.runCommand("resetCrosshairs",{viewportId:r})}),n.type!==x.Enums.ViewportType.ORTHOGRAPHIC)return}).bind(null)),Ae.forEach(Ai),x.eventTarget.addEventListenerDebounced(x.EVENTS.ERROR_EVENT,({detail:e})=>{let A=`cornerstone-error-${e.type}-${e.message.substring(0,50)}`;u.show({title:e.type,message:e.message,type:"error",id:A,allowDuplicates:!1,deduplicationInterval:3e4})},100),r=e.services.uiNotificationService,i=new Map,x.eventTarget.addEventListener(x.EVENTS.WEB_WORKER_PROGRESS,({detail:e})=>{let A,t=!1;try{let{progress:n,type:o,id:a}=e;if(o===H.Enums.WorkerTypes.COMPUTE_STATISTICS)return;if(A=`worker-task-${o.toLowerCase().replace(/\s+/g,"-")}`,0===n)if(i.has(A))console.debug(`Already tracking a "${o}" task, skipping duplicate notification`);else{let e=new Promise((e,t)=>{try{i.set(A,{resolve:e,reject:t,originalId:a,type:o})}catch(e){throw console.error(`Error setting active worker task for type "${o}":`,e),t(e),e}});try{r.show({id:A,title:`${o}`,message:"Computing...",autoClose:!1,allowDuplicates:!1,deduplicationInterval:6e4,promise:e,promiseMessages:{loading:"Computing...",success:"Completed successfully",error:"Web Worker failed"}})}catch(e){throw console.error(`Error showing web worker notification for type "${o}":`,e),t=!0,e}}else if(100===n){let e=i.get(A);if(e){let{resolve:A}=e;A({progress:n,type:o}),t=!0,console.debug(`Worker task "${o}" completed successfully`)}}}catch(A){console.error(`Error in web worker progress handler for type "${e?.type}":`,A),t=!0}finally{if(t&&A)try{i.delete(A)}catch(A){console.error(`Error cleaning up active worker task for type "${e?.type}":`,A)}}})}window.cornerstone=x,window.cornerstoneTools=H;let As=e=>A=>{let t=Ao.imageRetrieveMetadataProvider.clone();Ao.imageRetrieveMetadataProvider.clear();try{return e(A)}finally{setTimeout(()=>{Ao.imageRetrieveMetadataProvider.restore(t)},10)}};function Al(){return M.createElement("div",null,M.createElement("p",null,"Your computer does not have enough GPU power to support the default GPU rendering mode. OHIF has switched to CPU rendering mode. Please note that CPU rendering does not support all features such as Volume Rendering, Multiplanar Reconstruction, and Segmentation Overlays."))}let Ac={"viewportOverlay.topLeft":[{id:"StudyDate",inheritsFrom:"ohif.overlayItem",label:"",title:"Study date",condition:({referenceInstance:e})=>e?.StudyDate,contentF:({referenceInstance:e,formatters:{formatDate:A}})=>A(e.StudyDate)},{id:"SeriesDescription",inheritsFrom:"ohif.overlayItem",label:"",title:"Series description",condition:({referenceInstance:e})=>e&&e.SeriesDescription,contentF:({referenceInstance:e})=>e.SeriesDescription}],"viewportOverlay.topRight":[],"viewportOverlay.bottomLeft":[{id:"WindowLevel",inheritsFrom:"ohif.overlayItem.windowLevel",title:"Window Level"},{id:"ZoomLevel",inheritsFrom:"ohif.overlayItem.zoomLevel",condition:e=>"Zoom"===e.toolGroupService.getActiveToolForViewport(e.viewportId)}],"viewportOverlay.bottomRight":[{id:"InstanceNumber",inheritsFrom:"ohif.overlayItem.instanceNumber",title:"Instance Number"}]};var Au=T(55);function Ad(e){return(Ad="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ag(e){var A=function(e,A){if("object"!=Ad(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,A||"default");if("object"!=Ad(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===A?String:Number)(e)}(e,"string");return"symbol"==Ad(A)?A:A+""}T(9741),Object.create(null);var Ap=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Am={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Af=function(e){return Am[e]},Ah={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(Ap,Af)}},Aw=(0,M.createContext)(),AB=function(){var e;function A(){if(!(this instanceof A))throw TypeError("Cannot call a class as a function");this.usedNamespaces={}}return e=[{key:"addUsedNamespaces",value:function(e){var A=this;e.forEach(function(e){A.usedNamespaces[e]||(A.usedNamespaces[e]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}],function(e,A){for(var t=0;t<A.length;t++){var n=A[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ag(n.key),n)}}(A.prototype,e),Object.defineProperty(A,"prototype",{writable:!1}),A}();function Ay(e,A){(null==A||A>e.length)&&(A=e.length);for(var t=0,n=Array(A);t<A;t++)n[t]=e[t];return n}function Av(){if(console&&console.warn){for(var e,A=arguments.length,t=Array(A),n=0;n<A;n++)t[n]=arguments[n];"string"==typeof t[0]&&(t[0]="react-i18next:: ".concat(t[0])),(e=console).warn.apply(e,t)}}var AC={};function AE(){for(var e=arguments.length,A=Array(e),t=0;t<e;t++)A[t]=arguments[t];"string"==typeof A[0]&&AC[A[0]]||("string"==typeof A[0]&&(AC[A[0]]=new Date),Av.apply(void 0,A))}var AS=function(e,A){return function(){e.isInitialized?A():e.on("initialized",function t(){setTimeout(function(){e.off("initialized",t)},0),A()})}};function AI(e,A,t){e.loadNamespaces(A,AS(e,t))}function AU(e,A,t,n){"string"==typeof t&&(t=[t]),t.forEach(function(A){0>e.options.ns.indexOf(A)&&e.options.ns.push(A)}),e.loadLanguages(A,AS(e,n))}function Ab(e,A){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);A&&(n=n.filter(function(A){return Object.getOwnPropertyDescriptor(e,A).enumerable})),t.push.apply(t,n)}return t}function AF(e){for(var A=1;A<arguments.length;A++){var t=null!=arguments[A]?arguments[A]:{};A%2?Ab(Object(t),!0).forEach(function(A){var n,r;n=A,r=t[A],(n=Ag(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ab(Object(t)).forEach(function(A){Object.defineProperty(e,A,Object.getOwnPropertyDescriptor(t,A))})}return e}var AQ=function(e,A){var t=(0,M.useRef)();return(0,M.useEffect)(function(){t.current=A?t.current:e},[e,A]),t.current};function AD(e){var A,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.i18n,r=(0,M.useContext)(Aw)||{},o=r.i18n,i=r.defaultNS,a=n||o||C;if(a&&!a.reportNamespaces&&(a.reportNamespaces=new AB),!a){AE("You will need to pass in an i18next instance by using initReactI18next");var s=function(e,A){return"string"==typeof A?A:A&&"object"===Ad(A)&&"string"==typeof A.defaultValue?A.defaultValue:Array.isArray(e)?e[e.length-1]:e},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}a.options.react&&void 0!==a.options.react.wait&&AE("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var c=AF(AF(AF({},Ah),a.options.react),t),u=c.useSuspense,d=c.keyPrefix,g=e||i||a.options&&a.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(g);var p=(a.isInitialized||a.initializedStoreOnce)&&g.every(function(e){return function(e,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return A.languages&&A.languages.length?void 0===A.options.ignoreJSONStructure?function(e,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=A.languages[0],r=!!A.options&&A.options.fallbackLng,o=A.languages[A.languages.length-1];if("cimode"===n.toLowerCase())return!0;var i=function(e,t){var n=A.services.backendConnector.state["".concat(e,"|").concat(t)];return -1===n||2===n};return(!(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1)||!A.services.backendConnector.backend||!A.isLanguageChangingTo||!!i(A.isLanguageChangingTo,e))&&!!(A.hasResourceBundle(n,e)||!A.services.backendConnector.backend||A.options.resources&&!A.options.partialBundledLanguages||i(n,e)&&(!r||i(o,e)))}(e,A,t):A.hasLoadedNamespace(e,{lng:t.lng,precheck:function(A,n){if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&A.services.backendConnector.backend&&A.isLanguageChangingTo&&!n(A.isLanguageChangingTo,e))return!1}}):(AE("i18n.languages were undefined or empty",A.languages),!0)}(e,a,c)});function m(){return a.getFixedT(t.lng||null,"fallback"===c.nsMode?g:g[0],d)}var f=function(e){if(Array.isArray(e))return e}(A=(0,M.useState)(m))||function(e){var A=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=A){var t,n,r,o,i=[],a=!0,s=!1;try{r=(A=A.call(e)).next,!1;for(;!(a=(t=r.call(A)).done)&&(i.push(t.value),2!==i.length);a=!0);}catch(e){s=!0,n=e}finally{try{if(!a&&null!=A.return&&(o=A.return(),Object(o)!==o))return}finally{if(s)throw n}}return i}}(A)||function(e){if(e){if("string"==typeof e)return Ay(e,2);var A=({}).toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(e):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?Ay(e,2):void 0}}(A)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),h=f[0],w=f[1],B=g.join();t.lng&&(B="".concat(t.lng).concat(B));var y=AQ(B),v=(0,M.useRef)(!0);(0,M.useEffect)(function(){var e=c.bindI18n,A=c.bindI18nStore;function n(){v.current&&w(m)}return v.current=!0,p||u||(t.lng?AU(a,t.lng,g,function(){v.current&&w(m)}):AI(a,g,function(){v.current&&w(m)})),p&&y&&y!==B&&v.current&&w(m),e&&a&&a.on(e,n),A&&a&&a.store.on(A,n),function(){v.current=!1,e&&a&&e.split(" ").forEach(function(e){return a.off(e,n)}),A&&a&&A.split(" ").forEach(function(e){return a.store.off(e,n)})}},[a,B]);var E=(0,M.useRef)(!0);(0,M.useEffect)(function(){v.current&&!E.current&&w(m),E.current=!1},[a,d]);var S=[h,a,p];if(S.t=h,S.i18n=a,S.ready=p,p||!p&&!u)return S;throw new Promise(function(e){t.lng?AU(a,t.lng,g,function(){return e()}):AI(a,g,function(){return e()})})}var AT=T(1459);let AO=({segmentationId:e,segmentationRepresentationType:A,allowExport:t,actions:n})=>{let{t:r}=AD("SegmentationPanel");return M.createElement(Au.DropdownMenuSub,null,M.createElement(Au.DropdownMenuSubTrigger,{className:"pl-1"},M.createElement(Au.Icons.Export,{className:"text-foreground"}),M.createElement("span",{className:"pl-2"},r("Export"))),M.createElement(Au.DropdownMenuPortal,null,M.createElement(Au.DropdownMenuSubContent,null,A===AA.SegmentationRepresentations.Labelmap&&M.createElement(Au.DropdownMenuItem,{onClick:A=>{A.preventDefault(),n.downloadCSVSegmentationReport(e)},disabled:!t},r("CSV Report")),A===AA.SegmentationRepresentations.Labelmap&&M.createElement(Au.DropdownMenuItem,{onClick:A=>{A.preventDefault(),n.storeSegmentation(e,"SEG")},disabled:!t},r("DICOM SEG")),M.createElement(Au.DropdownMenuItem,{onClick:A=>{A.preventDefault(),n.storeSegmentation(e,"RTSTRUCT")},disabled:!t},r("DICOM RTSS")))))},AM=()=>{let e,A,{commandsManager:t}=(0,AT.useSystem)(),{t:n}=AD("SegmentationPanel"),{onSegmentationAdd:r,onSegmentationRemoveFromViewport:o,onSegmentationEdit:i,onSegmentationDelete:a,exportOptions:s,activeSegmentation:l,activeSegmentationId:c,segmentationRepresentationTypes:u,disableEditing:d}=(0,Au.useSegmentationTableContext)("CustomDropdownMenu"),g=!1;try{A=(e=(0,Au.useSegmentationExpanded)().segmentation).segmentationId}catch(t){e=l,A=c}if(!e||!A)return null;if(s){let e=s.find(e=>e.segmentationId===A);g=e?.isExportable||!1}return M.createElement(Au.DropdownMenuContent,{align:"start"},!d&&M.createElement(Au.DropdownMenuItem,{onClick:()=>r({segmentationId:A,segmentationRepresentationType:u?.[0]})},M.createElement(Au.Icons.Add,{className:"text-foreground"}),M.createElement("span",{className:"pl-2"},n("Create New Segmentation"))),M.createElement(Au.DropdownMenuSeparator,null),M.createElement(Au.DropdownMenuLabel,null,n("Manage Current Segmentation")),M.createElement(Au.DropdownMenuItem,{onClick:()=>o(A)},M.createElement(Au.Icons.Series,{className:"text-foreground"}),M.createElement("span",{className:"pl-2"},n("Remove from Viewport"))),M.createElement(Au.DropdownMenuItem,{onClick:()=>i(A)},M.createElement(Au.Icons.Rename,{className:"text-foreground"}),M.createElement("span",{className:"pl-2"},n("Rename"))),M.createElement(AO,{segmentationId:A,segmentationRepresentationType:u?.[0],allowExport:g,actions:{storeSegmentation:async(e,A="SEG")=>{t.run({commandName:"storeSegmentation",commandOptions:{segmentationId:e,modality:A},context:"CORNERSTONE"})},downloadCSVSegmentationReport:e=>{t.run("downloadCSVSegmentationReport",{segmentationId:e})}}}),M.createElement(Au.DropdownMenuSeparator,null),M.createElement(Au.DropdownMenuItem,{onClick:()=>a(A)},M.createElement(Au.Icons.Delete,{className:"text-red-600"}),M.createElement("span",{className:"pl-2 text-red-600"},n("Delete"))))},Ax=({segmentationId:e,segmentIndex:A})=>{let{servicesManager:t,commandsManager:n}=(0,AT.useSystem)(),{segmentationService:r}=t.services,{t:o}=AD("SegmentationPanel"),i=r.getSegmentation(e).segments[A].cachedStats.namedStats;if(!i)return null;let a=i.bidirectional;if(!a)return M.createElement("div",{className:"-mt-2 space-y-2"},M.createElement("div",{className:"flex"},M.createElement(Au.Tooltip,null,M.createElement(Au.TooltipTrigger,{asChild:!0},M.createElement(Au.Button,{variant:"ghost",size:"sm",className:"text-primary flex items-center gap-2",onClick:()=>{n.run("runSegmentBidirectional",{segmentationId:e,segmentIndex:A})}},M.createElement(Au.Icons.ToolBidirectionalSegment,{className:"h-5 w-5"}),M.createElement("span",null,o("Compute Largest Bidirectional")))),M.createElement(Au.TooltipContent,{side:"bottom"},o("Add bidirectional measurement")))),M.createElement(Au.Separator,{className:"bg-input"}));let{value:s,unit:l}=a,c=s.maxMajor,u=s.maxMinor,d=Math.max(c,u),g=Math.min(c,u),p=H.annotation.visibility.isAnnotationVisible(a.annotationUID);return M.createElement("div",{className:"-mt-2 space-y-2"},M.createElement("div",{className:"flex items-center justify-between"},M.createElement("div",{className:"text-foreground"},M.createElement("div",null,"L: ",(0,eA.roundNumber)(d)," ",l),M.createElement("div",null,"W: ",(0,eA.roundNumber)(g)," ",l)),M.createElement("div",{className:"flex gap-2"},M.createElement(Au.Tooltip,null,M.createElement(Au.TooltipTrigger,{asChild:!0},M.createElement(Au.Button,{size:"icon",variant:"ghost",className:"h-6 w-6 transition-opacity",onClick:t=>{t.stopPropagation(),H.annotation.visibility.setAnnotationVisibility(a.annotationUID,!p),r.addOrUpdateSegmentation({segmentationId:e,segmentIndex:A})}},p?M.createElement(Au.Icons.Hide,{className:"h-6 w-6"}):M.createElement(Au.Icons.Show,{className:"h-6 w-6"}))),M.createElement(Au.TooltipContent,{side:"bottom"},o("Toggle visibility"))),M.createElement(Au.Tooltip,null,M.createElement(Au.TooltipTrigger,{asChild:!0},M.createElement(Au.Button,{variant:"ghost",size:"icon",onClick:()=>{a.annotationUID&&n.run("jumpToMeasurement",{uid:a.annotationUID})}},M.createElement(Au.Icons.JumpToSlice,null))),M.createElement(Au.TooltipContent,{side:"bottom"},o("Jump to measurement"))))),M.createElement(Au.Separator,{className:"bg-input"}))};function AH(){let{commandsManager:e}=(0,R.useSystem)(),{t:A}=AD("SegmentationPanel"),[t,n]=(0,M.useState)(!1),[r,o]=(0,M.useState)(!1),[i,a]=(0,M.useState)(!1),[s,l]=(0,M.useState)(!1);return M.createElement("div",{className:"bg-muted flex flex-col gap-2 border-b border-b-[2px] border-background px-2 py-3"},M.createElement("div",{className:"flex items-center gap-2"},M.createElement(Au.Switch,{checked:t,onCheckedChange:A=>{n(A),e.run("toggleSegmentPreviewEdit",{toggle:A})}}),M.createElement("span",{className:"text-foreground text-base"},A("Preview edits before creating"))),M.createElement("div",{className:"flex items-center gap-2"},M.createElement(Au.Switch,{checked:s,onCheckedChange:A=>{l(A),e.run("toggleUseCenterSegmentIndex",{toggle:A})}}),M.createElement("span",{className:"text-foreground text-base"},A("Use center as segment index"))),M.createElement("div",{className:"flex items-center gap-2"},M.createElement(Au.Switch,{checked:i,onCheckedChange:A=>{a(A),e.run("toggleSegmentSelect",{toggle:A})}}),M.createElement("span",{className:"text-foreground text-base"},A("Hover on segment border to activate"))),M.createElement("div",{className:"flex items-center gap-2"},M.createElement(Au.Switch,{checked:r,onCheckedChange:A=>{o(A),e.run("toggleSegmentLabel",{enabled:A})}}),M.createElement("span",{className:"text-foreground text-base"},A("Show segment name on hover"))))}let AL={"layoutSelector.advancedPresetGenerator":({servicesManager:e})=>(({servicesManager:e})=>{let{hangingProtocolService:A,viewportGridService:t,displaySetService:n}=e.services,r=Array.from(A.protocols.values()),o=t.getActiveViewportId();if(!o)return[];let i=t.getDisplaySetsUIDsForViewport(o);if(!i)return[];let a=i.map(e=>{let A=n.getDisplaySetByUID(e),t=A?.measurements?.[0]?.displaySetInstanceUID;return"SR"===A.Modality&&t?n.getDisplaySetByUID(t):A});return r.map(e=>{if(!e.isPreset)return null;let t=!e.displaySetSelectors||0===Object.values(e.displaySetSelectors).length||A.areRequiredSelectorsValid(Object.values(e.displaySetSelectors),a[0]);return{icon:e.icon,title:e.name,commandOptions:{protocolId:e.id},disabled:!t}}).filter(e=>null!==e)})({servicesManager:e}),"layoutSelector.commonPresets":[{icon:"layout-common-1x1",commandOptions:{numRows:1,numCols:1}},{icon:"layout-common-1x2",commandOptions:{numRows:1,numCols:2}},{icon:"layout-common-2x2",commandOptions:{numRows:2,numCols:2}},{icon:"layout-common-2x3",commandOptions:{numRows:2,numCols:3}}]},AN={"cornerstone.overlayViewportTools":{active:[{toolName:es.WindowLevel,bindings:[{mouseButton:H.Enums.MouseBindings.Primary}]},{toolName:es.Pan,bindings:[{mouseButton:H.Enums.MouseBindings.Auxiliary}]},{toolName:es.Zoom,bindings:[{mouseButton:H.Enums.MouseBindings.Secondary},{numTouchPoints:2}]},{toolName:es.StackScroll,bindings:[{mouseButton:H.Enums.MouseBindings.Wheel},{numTouchPoints:3}]}],enabled:[{toolName:es.PlanarFreehandContourSegmentation,configuration:{displayOnePointAsCrosshairs:!0}}]}},AV={cornerstoneViewportClickCommands:{doubleClick:["toggleOneUp"],button1:["closeContextMenu"],button3:[{commandName:"showCornerstoneContextMenu",commandOptions:{requireNearbyToolData:!0,menuId:"measurementsContextMenu"}}]}},AR={"cornerstone.measurements":{Angle:{displayText:[],report:[]},CobbAngle:{displayText:[],report:[]},ArrowAnnotate:{displayText:[],report:[]},RectangleROi:{displayText:[],report:[]},CircleROI:{displayText:[],report:[]},EllipticalROI:{displayText:[],report:[]},Bidirectional:{displayText:[],report:[]},Length:{displayText:[],report:[]},LivewireContour:{displayText:[],report:[]},SplineROI:{displayText:[{displayName:"Areas",value:"area",type:"value"},{value:"areaUnits",for:["area"],type:"unit"}],report:[{displayName:"Area",value:"area",type:"value"},{displayName:"Unit",value:"areaUnits",type:"value"}]},PlanarFreehandROI:{displayTextOpen:[{displayName:"Length",value:"length",type:"value"}],displayText:[{displayName:"Mean",value:"mean",type:"value"},{displayName:"Max",value:"max",type:"value"},{displayName:"Area",value:"area",type:"value"},{value:"pixelValueUnits",for:["mean","max"],type:"unit"},{value:"areaUnits",for:["area"],type:"unit"}],report:[{displayName:"Mean",value:"mean",type:"value"},{displayName:"Max",value:"max",type:"value"},{displayName:"Area",value:"area",type:"value"},{displayName:"Unit",value:"unit",type:"value"}]}}},{VIEWPORT_PRESETS:A_}=x.CONSTANTS,Ak={"cornerstone.3dVolumeRendering":{volumeRenderingPresets:A_,volumeRenderingQualityRange:{min:1,max:4,step:1}}},AP="bottom",AG={bottom:{position:"top",style:{labelOffset:5,labelMargin:13}},right:{position:"left",style:{labelMargin:5}},left:{position:"right",style:{labelMargin:5}},top:{position:"bottom",style:{labelMargin:5}}},AK={"cornerstone.colorbar":{colorbarTickPosition:"bottom"===(e=AP)?"top":"top"===e?"bottom":"left"===e?"right":"right"===e?"left":AG[e]?.position||"top",colormaps:Ae,colorbarContainerPosition:AP,colorbarInitialColormap:"Grayscale",positionStyles:{left:{width:"15px"},right:{width:"15px"},bottom:{height:"15px"}},positionTickStyles:AG,containerStyles:{cursor:"initial"},tickStyles:{font:"12px Arial",color:"#fff",maxNumTicks:6,tickSize:5,tickWidth:1}}},Aj={"cornerstone.modalityOverlayDefaultColorMaps":{defaultSettings:{PT:{colormap:"hsv",opacity:.5},RTDOSE:{colormap:"Isodose",opacity:.5}}}},AY={"cornerstone.windowLevelPresets":{CT:[{id:"ct-soft-tissue",description:"Soft tissue",window:"400",level:"40"},{id:"ct-lung",description:"Lung",window:"1500",level:"-600"},{id:"ct-liver",description:"Liver",window:"150",level:"90"},{id:"ct-bone",description:"Bone",window:"2500",level:"480"},{id:"ct-brain",description:"Brain",window:"80",level:"40"}],PT:[{id:"pt-default",description:"Default",window:"5",level:"2.5"},{id:"pt-suv-3",description:"SUV",window:"0",level:"3"},{id:"pt-suv-5",description:"SUV",window:"0",level:"5"},{id:"pt-suv-7",description:"SUV",window:"0",level:"7"},{id:"pt-suv-8",description:"SUV",window:"0",level:"8"},{id:"pt-suv-10",description:"SUV",window:"0",level:"10"},{id:"pt-suv-15",description:"SUV",window:"0",level:"15"}]}};var AW=T(7598),Az=T.n(AW);function AJ(e,A,t,n){return new(t||(t=Promise))(function(r,o){function i(e){try{s(n.next(e))}catch(e){o(e)}}function a(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var A;e.done?r(e.value):((A=e.value)instanceof t?A:new t(function(e){e(A)})).then(i,a)}s((n=n.apply(e,A||[])).next())})}function AX(e,A){var t,n,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(o=0)),o;)try{if(t=1,n&&(r=2&l[0]?n.return:l[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,l[1])).done)return r;switch(n=0,r&&(l=[2&l[0],r.value]),l[0]){case 0:case 1:r=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,n=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(r=(r=o.trys).length>0&&r[r.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]<r[3])){o.label=l[1];break}if(6===l[0]&&o.label<r[1]){o.label=r[1],r=l;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(l);break}r[2]&&o.ops.pop(),o.trys.pop();continue}l=A.call(e,o)}catch(e){l=[6,e],n=0}finally{t=r=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var Aq=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function A$(e,A){var t=function(e){var A=e.name;if(A&&-1!==A.lastIndexOf(".")&&!e.type){var t=A.split(".").pop().toLowerCase(),n=Aq.get(t);n&&Object.defineProperty(e,"type",{value:n,writable:!1,configurable:!1,enumerable:!0})}return e}(e);if("string"!=typeof t.path){var n=e.webkitRelativePath;Object.defineProperty(t,"path",{value:"string"==typeof A?A:"string"==typeof n&&n.length>0?n:e.name,writable:!1,configurable:!1,enumerable:!0})}return t}var AZ=[".DS_Store","Thumbs.db"];function A0(e){return AJ(this,void 0,void 0,function(){return AX(this,function(A){var t;return[2,e.dataTransfer&&e.dataTransfer?function(e,A){return AJ(this,void 0,void 0,function(){var t;return AX(this,function(n){switch(n.label){case 0:if(!e.items)return[3,2];if(t=A3(e.items).filter(function(e){return"file"===e.kind}),"drop"!==A)return[2,t];return[4,Promise.all(t.map(A4))];case 1:return[2,A1(function e(A){return A.reduce(function(A,t){return function(){for(var e=[],A=0;A<arguments.length;A++)e=e.concat(function(e,A){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,r,o=t.call(e),i=[];try{for(;(void 0===A||A-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(r)throw r.error}}return i}(arguments[A]));return e}(A,Array.isArray(t)?e(t):[t])},[])}(n.sent()))];case 2:return[2,A1(A3(e.files).map(function(e){return A$(e)}))]}})})}(e.dataTransfer,e.type):(null!==(t=e).target&&t.target.files?A3(t.target.files):[]).map(function(e){return A$(e)})]})})}function A1(e){return e.filter(function(e){return -1===AZ.indexOf(e.name)})}function A3(e){for(var A=[],t=0;t<e.length;t++){var n=e[t];A.push(n)}return A}function A4(e){if("function"!=typeof e.webkitGetAsEntry)return A2(e);var A=e.webkitGetAsEntry();return A&&A.isDirectory?A9(A):A2(e)}function A2(e){var A=e.getAsFile();return A?Promise.resolve(A$(A)):Promise.reject(e+" is not a File")}function A6(e){return AJ(this,void 0,void 0,function(){return AX(this,function(A){return[2,e.isDirectory?A9(e):function(e){return AJ(this,void 0,void 0,function(){return AX(this,function(A){return[2,new Promise(function(A,t){e.file(function(t){A(A$(t,e.fullPath))},function(e){t(e)})})]})})}(e)]})})}function A9(e){var A=e.createReader();return new Promise(function(e,t){var n=[];!function r(){var o=this;A.readEntries(function(A){return AJ(o,void 0,void 0,function(){var o;return AX(this,function(i){switch(i.label){case 0:if(A.length)return[3,5];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,Promise.all(n)];case 2:return e(i.sent()),[3,4];case 3:return t(i.sent()),[3,4];case 4:return[3,6];case 5:o=Promise.all(A.map(A6)),n.push(o),r(),i.label=6;case 6:return[2]}})})},function(e){t(e)})}()})}var A8=T(6309);function A5(e,A){return"application/x-moz-file"===e.type||(0,A8.A)(e,A)}function A7(e,A,t){if(te(e.size)){if(te(A)&&te(t))return e.size>=A&&e.size<=t;else if(te(A))return e.size>=A;else if(te(t))return e.size<=t}return!0}function te(e){return null!=e}function tA(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function tt(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(e){return"Files"===e||"application/x-moz-file"===e}):!!e.target&&!!e.target.files}function tn(e){e.preventDefault()}function tr(){for(var e=arguments.length,A=Array(e),t=0;t<e;t++)A[t]=arguments[t];return function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return A.some(function(A){return!tA(e)&&A&&A.apply(void 0,[e].concat(n)),tA(e)})}}function to(e){return function(e){if(Array.isArray(e)){for(var A=0,t=Array(e.length);A<e.length;A++)t[A]=e[A];return t}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance")}()}function ti(e,A){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);A&&(n=n.filter(function(A){return Object.getOwnPropertyDescriptor(e,A).enumerable})),t.push.apply(t,n)}return t}function ta(e){for(var A=1;A<arguments.length;A++){var t=null!=arguments[A]?arguments[A]:{};A%2?ti(t,!0).forEach(function(A){ts(e,A,t[A])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ti(t).forEach(function(A){Object.defineProperty(e,A,Object.getOwnPropertyDescriptor(t,A))})}return e}function ts(e,A,t){return A in e?Object.defineProperty(e,A,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[A]=t,e}function tl(e,A){if(null==e)return{};var t,n,r=function(e,A){if(null==e)return{};var t,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],A.indexOf(t)>=0||(r[t]=e[t]);return r}(e,A);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],!(A.indexOf(t)>=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var tc=(0,M.forwardRef)(function(e,A){var t=e.children,n=function(){var e,A,t,n,r,o,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=i.accept,s=i.disabled,l=void 0!==s&&s,c=i.getFilesFromEvent,u=void 0===c?A0:c,d=i.maxSize,g=void 0===d?1/0:d,p=i.minSize,m=void 0===p?0:p,f=i.multiple,h=void 0===f||f,w=i.onDragEnter,B=i.onDragLeave,y=i.onDragOver,v=i.onDrop,C=i.onDropAccepted,E=i.onDropRejected,S=i.onFileDialogCancel,I=i.preventDropOnDocument,U=void 0===I||I,b=i.noClick,F=void 0!==b&&b,Q=i.noKeyboard,D=void 0!==Q&&Q,T=i.noDrag,O=void 0!==T&&T,x=i.noDragEventsBubbling,H=void 0!==x&&x,L=(0,M.useRef)(null),N=(0,M.useRef)(null),V=function(e){if(Array.isArray(e))return e}(e=(0,M.useReducer)(td,tu))||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var A=[],t=!0,n=!1,r=void 0;try{for(var o,i=e[Symbol.iterator]();!(t=(o=i.next()).done)&&(A.push(o.value),2!==A.length);t=!0);}catch(e){n=!0,r=e}finally{try{t||null==i.return||i.return()}finally{if(n)throw r}}return A}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance")}(),R=V[0],_=V[1],k=R.isFocused,P=R.isFileDialogActive,G=R.draggedFiles,K=(0,M.useCallback)(function(){N.current&&(_({type:"openDialog"}),N.current.value=null,N.current.click())},[_]),j=function(){P&&setTimeout(function(){N.current&&(N.current.files.length||(_({type:"closeDialog"}),"function"==typeof S&&S()))},300)};(0,M.useEffect)(function(){return window.addEventListener("focus",j,!1),function(){window.removeEventListener("focus",j,!1)}},[N,P,S]);var Y=(0,M.useCallback)(function(e){L.current&&L.current.isEqualNode(e.target)&&(32===e.keyCode||13===e.keyCode)&&(e.preventDefault(),K())},[L,N]),W=(0,M.useCallback)(function(){_({type:"focus"})},[]),z=(0,M.useCallback)(function(){_({type:"blur"})},[]),J=(0,M.useCallback)(function(){F||(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return -1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/")}()?setTimeout(K,0):K())},[N,F]),X=(0,M.useRef)([]),q=function(e){L.current&&L.current.contains(e.target)||(e.preventDefault(),X.current=[])};(0,M.useEffect)(function(){return U&&(document.addEventListener("dragover",tn,!1),document.addEventListener("drop",q,!1)),function(){U&&(document.removeEventListener("dragover",tn),document.removeEventListener("drop",q))}},[L,U]);var $=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),-1===X.current.indexOf(e.target)&&(X.current=[].concat(to(X.current),[e.target])),tt(e)&&Promise.resolve(u(e)).then(function(A){(!tA(e)||H)&&(_({draggedFiles:A,isDragActive:!0,type:"setDraggedFiles"}),w&&w(e))})},[u,w,H]),Z=(0,M.useCallback)(function(e){if(e.preventDefault(),e.persist(),eo(e),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}return tt(e)&&y&&y(e),!1},[y,H]),ee=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e);var A=X.current.filter(function(A){return A!==e.target&&L.current&&L.current.contains(A)});X.current=A,!(A.length>0)&&(_({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),tt(e)&&B&&B(e))},[L,B,H]),eA=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),X.current=[],tt(e)&&Promise.resolve(u(e)).then(function(A){if(!tA(e)||H){var t=[],n=[];A.forEach(function(e){A5(e,a)&&A7(e,m,g)?t.push(e):n.push(e)}),!h&&t.length>1&&n.push.apply(n,to(t.splice(0))),_({acceptedFiles:t,rejectedFiles:n,type:"setFiles"}),v&&v(t,n,e),n.length>0&&E&&E(n,e),t.length>0&&C&&C(t,e)}}),_({type:"reset"})},[h,a,m,g,u,v,C,E,H]),et=function(e){return l?null:e},en=function(e){return D?null:et(e)},er=function(e){return O?null:et(e)},eo=function(e){H&&e.stopPropagation()},ei=(0,M.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=e.refKey,t=e.onKeyDown,n=e.onFocus,r=e.onBlur,o=e.onClick,i=e.onDragEnter,a=e.onDragOver,s=e.onDragLeave,c=e.onDrop,u=tl(e,["refKey","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"]);return ta(ts({onKeyDown:en(tr(t,Y)),onFocus:en(tr(n,W)),onBlur:en(tr(r,z)),onClick:et(tr(o,J)),onDragEnter:er(tr(i,$)),onDragOver:er(tr(a,Z)),onDragLeave:er(tr(s,ee)),onDrop:er(tr(c,eA))},void 0===A?"ref":A,L),l||D?{}:{tabIndex:0},{},u)}},[L,Y,W,z,J,$,Z,ee,eA,D,O,l]),ea=(0,M.useCallback)(function(e){e.stopPropagation()},[]),es=(0,M.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=e.refKey,t=e.onChange,n=e.onClick,r=tl(e,["refKey","onChange","onClick"]);return ta({},ts({accept:a,multiple:h,type:"file",style:{display:"none"},onChange:et(tr(t,eA)),onClick:et(tr(n,ea)),autoComplete:"off",tabIndex:-1},void 0===A?"ref":A,N),{},r)}},[N,a,h,eA,l]),el=G.length,ec=el>0&&(t=(A={files:G,accept:a,minSize:m,maxSize:g,multiple:h}).files,n=A.accept,r=A.minSize,o=A.maxSize,(!!A.multiple||!(t.length>1))&&t.every(function(e){return A5(e,n)&&A7(e,r,o)}));return ta({},R,{isDragAccept:ec,isDragReject:el>0&&!ec,isFocused:k&&!l,getRootProps:ei,getInputProps:es,rootRef:L,inputRef:N,open:et(K)})}(tl(e,["children"])),r=n.open,o=tl(n,["open"]);return(0,M.useImperativeHandle)(A,function(){return{open:r}},[r]),M.createElement(M.Fragment,null,t(ta({},o,{open:r})))});tc.displayName="Dropzone",tc.propTypes={children:Az().func,accept:Az().oneOfType([Az().string,Az().arrayOf(Az().string)]),multiple:Az().bool,preventDropOnDocument:Az().bool,noClick:Az().bool,noKeyboard:Az().bool,noDrag:Az().bool,noDragEventsBubbling:Az().bool,minSize:Az().number,maxSize:Az().number,disabled:Az().bool,getFilesFromEvent:Az().func,onFileDialogCancel:Az().func,onDragEnter:Az().func,onDragLeave:Az().func,onDragOver:Az().func,onDrop:Az().func,onDropAccepted:Az().func,onDropRejected:Az().func};var tu={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]};function td(e,A){switch(A.type){case"focus":return ta({},e,{isFocused:!0});case"blur":return ta({},e,{isFocused:!1});case"openDialog":return ta({},e,{isFileDialogActive:!0});case"closeDialog":return ta({},e,{isFileDialogActive:!1});case"setDraggedFiles":var t=A.isDragActive;return ta({},e,{draggedFiles:A.draggedFiles,isDragActive:t});case"setFiles":return ta({},e,{acceptedFiles:A.acceptedFiles,rejectedFiles:A.rejectedFiles});case"reset":return ta({},e,{isFileDialogActive:!1,isDragActive:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]});default:return e}}var tg=T(5530),tp=T.n(tg);let tm={PROGRESS:"event:DicomFileUploader:progress"},tf=((A={})[A.NotStarted=0]="NotStarted",A[A.InProgress=1]="InProgress",A[A.Success=2]="Success",A[A.Failed=3]="Failed",A[A.Cancelled=4]="Cancelled",A);class th{constructor(e,A){this.message=void 0,this.status=void 0,this.message=A,this.status=e}}class tw extends R.PubSubService{constructor(e,A){super(tm),this._file=void 0,this._fileId=void 0,this._dataSource=void 0,this._loadPromise=void 0,this._abortController=new AbortController,this._status=tf.NotStarted,this._percentComplete=0,this._file=e,this._fileId=j().wadouri.fileManager.add(e),this._dataSource=A}getFileId(){return this._fileId}getFileName(){return this._file.name}getFileSize(){return this._file.size}cancel(){this._abortController.abort()}getStatus(){return this._status}getPercentComplete(){return this._percentComplete}async load(){return this._loadPromise||(this._loadPromise=new Promise((e,A)=>{let t={progress:e=>{e.lengthComputable&&(this._status=tf.InProgress,this._percentComplete=Math.round(100*e.loaded/e.total),this._broadcastEvent(tm.PROGRESS,{fileId:this._fileId,percentComplete:this._percentComplete}))},timeout:()=>{this._reject(A,new th(tf.Failed,"The request timed out."))},abort:()=>{this._reject(A,new th(tf.Cancelled,"Cancelled"))},error:()=>{this._reject(A,new th(tf.Failed,"The request failed."))}};j().wadouri.loadFileRequest(this._fileId).then(n=>{if(this._abortController.signal.aborted)return void this._reject(A,new th(tf.Cancelled,"Cancelled"));if(!this._checkDicomFile(n))return void this._reject(A,new th(tf.Failed,"Not a valid DICOM file."));let r=new XMLHttpRequest;return this._addRequestCallbacks(r,t),this._dataSource.store.dicom(n,r).then(()=>{this._status=tf.Success,e()}).catch(e=>{this._reject(A,e)})}).catch(e=>{this._reject(A,e)})})),this._loadPromise}_isRejected(){return this._status===tf.Failed||this._status===tf.Cancelled}_reject(e,A){if(!this._isRejected()){if(A instanceof th){this._status=A.status,e(A);return}if(this._status=tf.Failed,A.message)return void e(new th(tf.Failed,A.message));e(new th(tf.Failed,A))}}_addRequestCallbacks(e,A){let t=()=>e.abort();for(let[n,r]of(this._abortController.signal.addEventListener("abort",t),Object.entries(A)))e.upload.addEventListener(n,r);let n=()=>{for(let[n,r]of(this._abortController.signal.removeEventListener("abort",t),Object.entries(A)))e.upload.removeEventListener(n,r);e.removeEventListener("loadend",n)};e.addEventListener("loadend",n)}_checkDicomFile(e){if(e.length<=132)return!1;let A=new Uint8Array(e.slice(128,132));return Array.from("DICM").every((e,t)=>e.charCodeAt(0)===A[t])}}let tB=(0,M.memo)(({dicomFileUploader:e})=>{let[A,t]=(0,M.useState)(e.getPercentComplete()),[n,r]=(0,M.useState)(""),[o,i]=(0,M.useState)(e.getStatus()),a=(0,M.useCallback)(()=>o===tf.Failed||o===tf.Cancelled||o===tf.Success,[o]);(0,M.useEffect)(()=>{let A=e.subscribe(tm.PROGRESS,e=>{t(e.percentComplete)});return e.load().catch(e=>{i(e.status),r(e.message??"")}).finally(()=>i(e.getStatus())),()=>A.unsubscribe()},[]);let s=(0,M.useCallback)(()=>{e.cancel()},[]);return M.createElement("div",{className:"min-h-14 border-input flex w-full items-center overflow-hidden border-b p-2.5 text-lg"},M.createElement("div",{className:"self-top flex w-0 shrink grow flex-col gap-1"},M.createElement("div",{className:"flex gap-4"},M.createElement("div",{className:"flex w-6 shrink-0 items-center justify-center"},(()=>{switch(e.getStatus()){case tf.Success:return M.createElement(Au.Icons.ByName,{name:"status-tracked",className:"text-highlight"});case tf.InProgress:return M.createElement(Au.Icons.ByName,{name:"icon-transferring"});case tf.Failed:return M.createElement(Au.Icons.ByName,{name:"icon-alert-small"});case tf.Cancelled:return M.createElement(Au.Icons.ByName,{name:"icon-alert-outline"});default:return M.createElement(M.Fragment,null)}})()),M.createElement("div",{className:"text-foreground overflow-hidden text-ellipsis whitespace-nowrap"},e.getFileName())),n&&M.createElement("div",{className:"pl-10"},n)),M.createElement("div",{className:"flex w-24 items-center"},!a()&&M.createElement(M.Fragment,null,e.getStatus()===tf.InProgress&&M.createElement("div",{className:"w-10 text-right"},A,"%"),M.createElement("div",{className:"ml-auto flex cursor-pointer"},M.createElement(Au.Icons.Close,{className:"text-primary self-center",onClick:s})))))});tB.propTypes={dicomFileUploader:Az().instanceOf(tw).isRequired};let ty="text-ellipsis whitespace-nowrap overflow-hidden";function tv({dicomFileUploaderArr:e,onComplete:A}){let{servicesManager:t}=(0,R.useSystem)(),n=t.services.customizationService.getCustomization("ui.progressLoadingBar"),[r]=(0,M.useState)(e.reduce((e,A)=>e+A.getFileSize(),0)),o=(0,M.useRef)(0),i=(0,M.useRef)(0),[a,s]=(0,M.useState)(null),[l,c]=(0,M.useState)(0),[u,d]=(0,M.useState)(0),[g,p]=(0,M.useState)(0),[m,f]=(0,M.useState)(!1),h=(0,M.useRef)();(0,M.useEffect)(()=>{let e,A=0,t=Date.now(),n=()=>{let a=o.current-A,s=Date.now();i.current=a/(s-t),A=o.current,t=s,r-o.current>0&&(e=i.current>=75?setTimeout(n,15e3):setTimeout(n,3e4))};return e=setTimeout(n,15e3),()=>{clearTimeout(e)}},[]),(0,M.useEffect)(()=>{let A=null,t=e.map(e=>{let t=0,n=n=>{let a=t;if(t=Math.round(n/100*e.getFileSize()),o.current=Math.min(r,o.current-a+t),c(o.current/r*100),0!==i.current){let e=Math.round((r-o.current)/i.current);if(null===A)return void s(A=e);if(e<6e4){let t=Math.ceil(e/1e3)-Math.ceil(A/1e3);(t<0||t>2)&&s(A=e);return}if(e<36e5){let t=Math.ceil(e/6e4)-Math.ceil(A/6e4);(t<0||t>2)&&s(A=e);return}s(A=e)}};return e.load().catch(e=>{e.status===tf.Failed&&p(e=>e+1)}).finally(()=>{n(100),d(e=>e+1)}),e.subscribe(tm.PROGRESS,e=>{n(e.percentComplete)})});return()=>{t.forEach(e=>e.unsubscribe())}},[]);let w=(0,M.useCallback)(async()=>{for(let A of e)new Promise((e,t)=>{setTimeout(()=>{A.cancel(),e()},0)})},[]),B=(0,M.useCallback)(()=>{if(null==a)return"";if(a<6e4){let e=Math.ceil(a/1e3);return`${e} ${1===e?"second":"seconds"}`}if(a<36e5){let e=Math.ceil(a/6e4);return`${e} ${1===e?"minute":"minutes"}`}let e=Math.ceil(a/36e5);return`${e} ${1===e?"hour":"hours"}`},[a]),y=(0,M.useCallback)(()=>Math.min(100,Math.round(l)),[l]),v=(0,M.useCallback)(()=>1>y()&&(h?.current?.offsetWidth??0)*(l/100)<1,[y,l]),C=(0,M.useCallback)(()=>{let A=u.toString().length+e.length.toString().length;return{width:`${A+3}ch`}},[u]),E=()=>M.createElement("div",{className:"ml-auto flex w-6 justify-center"},g>0&&M.createElement("div",{onClick:()=>f(e=>!e)},M.createElement(Au.Icons.ByName,{className:"cursor-pointer",name:"icon-status-alert"})));return M.createElement("div",{className:"flex grow flex-col"},M.createElement("div",{className:"bg-muted text-foreground flex h-14 items-center px-1 pb-4 text-lg"},u===e.length?M.createElement(M.Fragment,null,M.createElement("span",{className:ty},`${e.length} ${e.length>1?"files":"file"} completed.`),M.createElement(Au.Button,{disabled:!1,className:"ml-auto",onClick:A},"Close")):M.createElement(M.Fragment,null,M.createElement("div",{className:"flex flex-wrap"},M.createElement("span",{style:C(),className:tp()(ty,"text-right")},`${u} of ${e.length}`," "),M.createElement("span",{className:ty}," files completed."),M.createElement("br",null),M.createElement("span",null,a?`Less than ${B()} remaining. `:"")),M.createElement("span",{className:"text-primary hover:text-highlight active:text-muted-foreground ml-auto cursor-pointer whitespace-nowrap",onClick:w},"Cancel All Uploads"))),M.createElement("div",{className:"flex grow flex-col overflow-hidden bg-background text-lg"},M.createElement("div",{className:"ohif-scrollbar border-input overflow-y-scroll border-b px-2"},M.createElement("div",{className:"min-h-14 flex w-full items-center p-2.5"},u===e.length?M.createElement(M.Fragment,null,M.createElement("div",{className:"text-highlight text-xl"},g>0?`Completed with ${g} ${g>1?"errors":"error"}!`:"Completed!"),E()):M.createElement(M.Fragment,null,M.createElement("div",{ref:h,className:"flex-grow"},M.createElement(n,{progress:v()?void 0:Math.min(100,l)})),M.createElement("div",{className:"ml-1 flex w-24 items-center"},M.createElement("div",{className:"text-foreground w-10 text-right"},`${y()}%`),E())))),M.createElement("div",{className:"ohif-scrollbar h-1 grow overflow-y-scroll px-2"},e.filter(e=>!m||e.getStatus()===tf.Failed).map(e=>M.createElement(tB,{key:e.getFileId(),dicomFileUploader:e})))))}function tC(){return(tC=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function tE({dataSource:e,onComplete:A,onStarted:t}){let n="min-h-[375px] flex flex-col bg-background select-none rounded-lg overflow-hidden",[r,o]=(0,M.useState)([]),i=(0,M.useCallback)(async A=>{t(),o(A.map(A=>new tw(A,e)))},[]);return M.createElement(M.Fragment,null,r.length?M.createElement("div",{className:tp()("h-[calc(100vh-300px)]",n)},M.createElement(tv,{dicomFileUploaderArr:Array.from(r),onComplete:A})):M.createElement("div",{className:tp()("h-[480px]",n)},M.createElement(tc,{onDrop:e=>{i(e)},noClick:!0},({getRootProps:e})=>M.createElement("div",tC({},e(),{className:"m-5 flex h-full flex-col items-center justify-center rounded-2xl border",style:{borderColor:"hsl(var(--muted-foreground) / 0.25)"}}),M.createElement("div",{className:"flex gap-2"},M.createElement(tc,{onDrop:i,noDrag:!0},({getRootProps:e,getInputProps:A})=>M.createElement("div",e(),M.createElement(Au.Button,{variant:"default",size:"lg",disabled:!1,onClick:()=>{}},"Add files",M.createElement("input",tC({},A(),{style:{display:"none"}}))))),M.createElement(tc,{onDrop:i,noDrag:!0},({getRootProps:e,getInputProps:A})=>M.createElement("div",e(),M.createElement(Au.Button,{variant:"secondary",size:"lg",disabled:!1,onClick:()=>{}},"Add folder",M.createElement("input",tC({},A(),{webkitdirectory:"true",mozdirectory:"true",style:{display:"none"}})))))),M.createElement("div",{className:"text-foreground pt-6 text-base"},"or drag images or folders here"),M.createElement("div",{className:"text-muted-foreground pt-1 text-base"},"(DICOM files supported)")))))}tv.propTypes={dicomFileUploaderArr:Az().arrayOf(Az().instanceOf(tw)).isRequired,onComplete:Az().func.isRequired},tE.propTypes={dataSource:Az().object.isRequired,onComplete:Az().func.isRequired,onStarted:Az().func.isRequired};let tS=tE,tI=Object.assign(tS,{containerClassName:"max-w-3xl"}),tU={cinePlayer:Au.CinePlayer,autoCineModalities:["OT","US"],"panelMeasurement.disableEditing":!1,onBeforeSRAddMeasurement:({measurement:e,StudyInstanceUID:A,SeriesInstanceUID:t})=>e,onBeforeDicomStore:({dicomDict:e,measurementData:A,naturalizedReport:t})=>e,dicomUploadComponent:tI,codingValues:{}},tb="image",tF={"ohif.captureViewportModal":function({onClose:e,defaultSize:A,fileTypeOptions:t,viewportId:n,showAnnotations:r,onAnnotationsChange:o,dimensions:i,warningState:a,onDimensionsChange:s,onEnableViewport:l,onDisableViewport:c,onDownload:u,onCopyToClipboard:d}){let[g,p]=(0,M.useState)(null),[m,f]=(0,M.useState)(!0),[h,w]=(0,M.useState)(tb),[B,y]=(0,M.useState)("jpg"),{t:v}=AD("CaptureViewportModal");return(0,M.useEffect)(()=>{if(g)return l(g),()=>{c()}},[c,l,g]),M.createElement(Au.ImageModal,null,M.createElement(Au.ImageModal.Body,null,M.createElement(Au.ImageModal.ImageVisual,null,M.createElement("div",{style:{height:i.height,width:i.width,position:"relative"},"data-viewport-uid":n,ref:p},a.enabled&&m&&M.createElement("div",{className:"text-foreground absolute left-1/2 bottom-[5px] z-[1000] -translate-x-1/2 whitespace-nowrap rounded bg-background p-3 text-xs font-bold",style:{fontSize:"12px"}},a.value))),M.createElement(Au.ImageModal.ImageOptions,null,M.createElement("div",{className:"flex items-end space-x-2"},M.createElement(Au.ImageModal.Filename,{value:h,onChange:e=>w(e.target.value)},v("File name")),M.createElement(Au.ImageModal.Filetype,{selected:B,onSelect:y,options:t})),M.createElement(Au.ImageModal.ImageSize,{width:i.width.toString(),height:i.height.toString(),widthLabel:v("Width"),heightLabel:v("Height"),widthPlaceholder:v("Width"),heightPlaceholder:v("Height"),onWidthChange:e=>{s({...i,width:parseInt(e.target.value)||A})},onHeightChange:e=>{s({...i,height:parseInt(e.target.value)||A})},maxWidth:"10000",maxHeight:"10000"},v("Image size in pixels")),M.createElement(Au.ImageModal.SwitchOption,{defaultChecked:r,checked:r,onCheckedChange:o},v("Include annotations")),a.enabled&&M.createElement(Au.ImageModal.SwitchOption,{defaultChecked:m,checked:m,onCheckedChange:f},v("Include warning message")),M.createElement(Au.FooterAction,{className:"mt-2"},M.createElement(Au.FooterAction.Right,null,M.createElement(Au.FooterAction.Secondary,{onClick:e},v("Common:Cancel")),M.createElement(Au.FooterAction.Secondary,{onClick:async()=>{try{await d(),Au.toast.success(v("Image copied to clipboard")),e()}catch(e){Au.toast.error(v("Failed to copy image to clipboard")),console.error("Failed to copy to clipboard:",e)}}},v("Copy to Clipboard")),M.createElement(Au.FooterAction.Primary,{onClick:()=>{u(h||tb,B),e()}},v("Save Image")))))))}},tQ={"viewportDownload.warningMessage":{enabled:!0,value:"Not For Diagnostic Use"}};var tD=T(6974),tT=T(933),tO=T(7155);function tM(e,A){let{viewports:t}=e.getState();return(t=(t=[...t.values()]).filter(e=>e.displaySetInstanceUIDs&&e.displaySetInstanceUIDs.length)).filter(e=>{let{displaySetInstanceUIDs:t}=e;for(let e of t){let t=A.getDisplaySetByUID(e);if(t&&t.isReconstructable)return!0;return!1}})}let tx=e=>`VOI_SYNC_${e}`;var tH=T(2140),tL=T(6739);T(1978);let tN=(0,tL.vt)()(e=>({selectedSegmentationsForViewport:{},type:"selectedSegmentationsForViewportId",setSelectedSegmentationsForViewport:(A,t)=>e(e=>({selectedSegmentationsForViewport:{...e.selectedSegmentationsForViewport,[A]:t}}),!1,"setSelectedSegmentationsForViewport"),clearSelectedSegmentationsForViewportStore:()=>e({selectedSegmentationsForViewport:{}},!1,"clearSelectedSegmentationsForViewportStore")}));var tV=function(e,A){return(tV=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,A){e.__proto__=A}||function(e,A){for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t])})(e,A)};function tR(e,A){if("function"!=typeof A&&null!==A)throw TypeError("Class extends value "+String(A)+" is not a constructor or null");function t(){this.constructor=e}tV(e,A),e.prototype=null===A?Object.create(A):(t.prototype=A.prototype,new t)}var t_=function(){return(t_=Object.assign||function(e){for(var A,t=1,n=arguments.length;t<n;t++)for(var r in A=arguments[t])Object.prototype.hasOwnProperty.call(A,r)&&(e[r]=A[r]);return e}).apply(this,arguments)};function tk(e,A,t,n){return new(t||(t=Promise))(function(r,o){function i(e){try{s(n.next(e))}catch(e){o(e)}}function a(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var A;e.done?r(e.value):((A=e.value)instanceof t?A:new t(function(e){e(A)})).then(i,a)}s((n=n.apply(e,A||[])).next())})}function tP(e,A){var t,n,r,o,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){var s=[o,a];if(t)throw TypeError("Generator is already executing.");for(;i;)try{if(t=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(r=(r=i.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){i.label=s[1];break}if(6===s[0]&&i.label<r[1]){i.label=r[1],r=s;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(s);break}r[2]&&i.ops.pop(),i.trys.pop();continue}s=A.call(e,i)}catch(e){s=[6,e],n=0}finally{t=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}function tG(e,A,t){if(t||2==arguments.length)for(var n,r=0,o=A.length;r<o;r++)!n&&r in A||(n||(n=Array.prototype.slice.call(A,0,r)),n[r]=A[r]);return e.concat(n||A)}for(var tK=function(){function e(e,A,t,n){this.left=e,this.top=A,this.width=t,this.height=n}return e.prototype.add=function(A,t,n,r){return new e(this.left+A,this.top+t,this.width+n,this.height+r)},e.fromClientRect=function(A,t){return new e(t.left+A.windowBounds.left,t.top+A.windowBounds.top,t.width,t.height)},e.fromDOMRectList=function(A,t){var n=Array.from(t).find(function(e){return 0!==e.width});return n?new e(n.left+A.windowBounds.left,n.top+A.windowBounds.top,n.width,n.height):e.EMPTY},e.EMPTY=new e(0,0,0,0),e}(),tj=function(e,A){return tK.fromClientRect(e,A.getBoundingClientRect())},tY=function(e){var A=e.body,t=e.documentElement;if(!A||!t)throw Error("Unable to get document size");return new tK(0,0,Math.max(Math.max(A.scrollWidth,t.scrollWidth),Math.max(A.offsetWidth,t.offsetWidth),Math.max(A.clientWidth,t.clientWidth)),Math.max(Math.max(A.scrollHeight,t.scrollHeight),Math.max(A.offsetHeight,t.offsetHeight),Math.max(A.clientHeight,t.clientHeight)))},tW=function(e){for(var A=[],t=0,n=e.length;t<n;){var r=e.charCodeAt(t++);if(r>=55296&&r<=56319&&t<n){var o=e.charCodeAt(t++);(64512&o)==56320?A.push(((1023&r)<<10)+(1023&o)+65536):(A.push(r),t--)}else A.push(r)}return A},tz=function(){for(var e=[],A=0;A<arguments.length;A++)e[A]=arguments[A];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var t=e.length;if(!t)return"";for(var n=[],r=-1,o="";++r<t;){var i=e[r];i<=65535?n.push(i):(i-=65536,n.push((i>>10)+55296,i%1024+56320)),(r+1===t||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},tJ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tX="u"<typeof Uint8Array?[]:new Uint8Array(256),tq=0;tq<tJ.length;tq++)tX[tJ.charCodeAt(tq)]=tq;for(var t$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tZ="u"<typeof Uint8Array?[]:new Uint8Array(256),t0=0;t0<t$.length;t0++)tZ[t$.charCodeAt(t0)]=t0;for(var t1=2112,t3=function(e,A,t){return e.slice?e.slice(A,t):new Uint16Array(Array.prototype.slice.call(e,A,t))},t4=function(){function e(e,A,t,n,r,o){this.initialValue=e,this.errorValue=A,this.highStart=t,this.highValueIndex=n,this.index=r,this.data=o}return e.prototype.get=function(e){var A;if(e>=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e<this.highStart)return A=t1-32+(e>>11),A=this.index[A]+(e>>5&63),A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),t2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t6="u"<typeof Uint8Array?[]:new Uint8Array(256),t9=0;t9<t2.length;t9++)t6[t2.charCodeAt(t9)]=t9;var t8=[9001,65288],t5=(n=Array.isArray(t=function(e){var A,t,n,r,o,i=.75*e.length,a=e.length,s=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var l="u">typeof ArrayBuffer&&"u">typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):Array(i),c=Array.isArray(l)?l:new Uint8Array(l);for(A=0;A<a;A+=4)t=tZ[e.charCodeAt(A)],n=tZ[e.charCodeAt(A+1)],r=tZ[e.charCodeAt(A+2)],o=tZ[e.charCodeAt(A+3)],c[s++]=t<<2|n>>4,c[s++]=(15&n)<<4|r>>2,c[s++]=(3&r)<<6|63&o;return l}("KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="))?function(e){for(var A=e.length,t=[],n=0;n<A;n+=4)t.push(e[n+3]<<24|e[n+2]<<16|e[n+1]<<8|e[n]);return t}(t):new Uint32Array(t),o=t3(r=Array.isArray(t)?function(e){for(var A=e.length,t=[],n=0;n<A;n+=2)t.push(e[n+1]<<8|e[n]);return t}(t):new Uint16Array(t),12,n[4]/2),a=2===n[5]?t3(r,(24+n[4])/2):(i=Math.ceil((24+n[4])/4),n.slice?n.slice(i,void 0):new Uint32Array(Array.prototype.slice.call(n,i,void 0))),new t4(n[0],n[1],n[2],n[3],o,a)),t7=[30,36],ne=[1,2,3,5],nA=[10,8],nt=[27,26],nn=ne.concat(nA),nr=[38,39,40,34,35],no=[15,13],ni=function(e,A){void 0===A&&(A="strict");var t=[],n=[],r=[];return e.forEach(function(e,o){var i=t5.get(e);if(i>50?(r.push(!0),i-=50):r.push(!1),-1!==["normal","auto","loose"].indexOf(A)&&-1!==[8208,8211,12316,12448].indexOf(e))return n.push(o),t.push(16);if(4===i||11===i){if(0===o)return n.push(o),t.push(30);var a=t[o-1];return -1===nn.indexOf(a)?(n.push(n[o-1]),t.push(a)):(n.push(o),t.push(30))}if(n.push(o),31===i)return t.push("strict"===A?21:37);if(42===i||29===i)return t.push(30);if(43===i)if(e>=131072&&e<=196605||e>=196608&&e<=262141)return t.push(37);else return t.push(30);t.push(i)}),[n,t,r]},na=function(e,A,t,n){var r=n[t];if(Array.isArray(e)?-1!==e.indexOf(r):e===r)for(var o=t;o<=n.length;){var i=n[++o];if(i===A)return!0;if(10!==i)break}if(10===r)for(var o=t;o>0;){var a=n[--o];if(Array.isArray(e)?-1!==e.indexOf(a):e===a)for(var s=t;s<=n.length;){var i=n[++s];if(i===A)return!0;if(10!==i)break}if(10!==a)break}return!1},ns=function(e,A){for(var t=e;t>=0;){var n=A[t];if(10!==n)return n;t--}return 0},nl=function(e,A,t,n,r){if(0===t[n])return"×";var o=n-1;if(Array.isArray(r)&&!0===r[o])return"×";var i=o-1,a=o+1,s=A[o],l=i>=0?A[i]:0,c=A[a];if(2===s&&3===c)return"×";if(-1!==ne.indexOf(s))return"!";if(-1!==ne.indexOf(c)||-1!==nA.indexOf(c))return"×";if(8===ns(o,A))return"÷";if(11===t5.get(e[o])||(32===s||33===s)&&11===t5.get(e[a])||7===s||7===c||9===s||-1===[10,13,15].indexOf(s)&&9===c||-1!==[17,18,19,24,28].indexOf(c)||22===ns(o,A)||na(23,22,o,A)||na([17,18],21,o,A)||na(12,12,o,A))return"×";if(10===s)return"÷";if(23===s||23===c)return"×";if(16===c||16===s)return"÷";if(-1!==[13,15,21].indexOf(c)||14===s||36===l&&-1!==no.indexOf(s)||28===s&&36===c||20===c||-1!==t7.indexOf(c)&&25===s||-1!==t7.indexOf(s)&&25===c||27===s&&-1!==[37,32,33].indexOf(c)||-1!==[37,32,33].indexOf(s)&&26===c||-1!==t7.indexOf(s)&&-1!==nt.indexOf(c)||-1!==nt.indexOf(s)&&-1!==t7.indexOf(c)||-1!==[27,26].indexOf(s)&&(25===c||-1!==[22,15].indexOf(c)&&25===A[a+1])||-1!==[22,15].indexOf(s)&&25===c||25===s&&-1!==[25,28,24].indexOf(c))return"×";if(-1!==[25,28,24,17,18].indexOf(c))for(var u=o;u>=0;){var d=A[u];if(25===d)return"×";if(-1!==[28,24].indexOf(d))u--;else break}if(-1!==[27,26].indexOf(c))for(var u=-1!==[17,18].indexOf(s)?i:o;u>=0;){var d=A[u];if(25===d)return"×";if(-1!==[28,24].indexOf(d))u--;else break}if(38===s&&-1!==[38,39,34,35].indexOf(c)||-1!==[39,34].indexOf(s)&&-1!==[39,40].indexOf(c)||-1!==[40,35].indexOf(s)&&40===c||-1!==nr.indexOf(s)&&-1!==[20,26].indexOf(c)||-1!==nr.indexOf(c)&&27===s||-1!==t7.indexOf(s)&&-1!==t7.indexOf(c)||24===s&&-1!==t7.indexOf(c)||-1!==t7.concat(25).indexOf(s)&&22===c&&-1===t8.indexOf(e[a])||-1!==t7.concat(25).indexOf(c)&&18===s)return"×";if(41===s&&41===c){for(var g=t[o],p=1;g>0;)if(41===A[--g])p++;else break;if(p%2!=0)return"×"}return 32===s&&33===c?"×":"÷"},nc=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=ni(e,A.lineBreak),n=t[0],r=t[1],o=t[2];return("break-all"===A.wordBreak||"break-word"===A.wordBreak)&&(r=r.map(function(e){return -1!==[25,30,42].indexOf(e)?37:e})),[n,r,"keep-all"===A.wordBreak?o.map(function(A,t){return A&&e[t]>=19968&&e[t]<=40959}):void 0]},nu=function(){function e(e,A,t,n){this.codePoints=e,this.required="!"===A,this.start=t,this.end=n}return e.prototype.slice=function(){return tz.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),nd=function(e,A){var t=tW(e),n=nc(t,A),r=n[0],o=n[1],i=n[2],a=t.length,s=0,l=0;return{next:function(){if(l>=a)return{done:!0,value:null};for(var e="×";l<a&&"×"===(e=nl(t,o,r,++l,i)););if("×"!==e||l===a){var A=new nu(t,e,s,l);return s=l,{value:A,done:!1}}return{done:!0,value:null}}}},ng=function(e){return e>=48&&e<=57},np=function(e){return ng(e)||e>=65&&e<=70||e>=97&&e<=102},nm=function(e){return e>=97&&e<=122||e>=65&&e<=90},nf=function(e){return 10===e||9===e||32===e},nh=function(e){return nm(e)||e>=128||95===e},nw=function(e){return nh(e)||ng(e)||45===e},nB=function(e,A){return 92===e&&10!==A},ny=function(e,A,t){return 45===e?nh(A)||nB(A,t):!!(nh(e)||92===e&&nB(e,A))||!1},nv=function(e,A,t){return 43===e||45===e?!!ng(A)||46===A&&ng(t):46===e?ng(A):ng(e)},nC=function(e){var A=0,t=1;(43===e[0]||45===e[A])&&(45===e[A]&&(t=-1),A++);for(var n=[];ng(e[A]);)n.push(e[A++]);var r=n.length?parseInt(tz.apply(void 0,n),10):0;46===e[A]&&A++;for(var o=[];ng(e[A]);)o.push(e[A++]);var i=o.length,a=i?parseInt(tz.apply(void 0,o),10):0;(69===e[A]||101===e[A])&&A++;var s=1;(43===e[A]||45===e[A])&&(45===e[A]&&(s=-1),A++);for(var l=[];ng(e[A]);)l.push(e[A++]);return t*(r+a*Math.pow(10,-i))*Math.pow(10,s*(l.length?parseInt(tz.apply(void 0,l),10):0))},nE={type:2},nS={type:3},nI={type:4},nU={type:13},nb={type:8},nF={type:21},nQ={type:9},nD={type:10},nT={type:11},nO={type:12},nM={type:14},nx={type:23},nH={type:1},nL={type:25},nN={type:24},nV={type:26},nR={type:27},n_={type:28},nk={type:29},nP={type:31},nG={type:32},nK=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(tW(e))},e.prototype.read=function(){for(var e=[],A=this.consumeToken();A!==nG;)e.push(A),A=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var A=this.peekCodePoint(0),t=this.peekCodePoint(1),n=this.peekCodePoint(2);if(nw(A)||nB(t,n)){var r=ny(A,t,n)?2:1,o=this.consumeName();return{type:5,value:o,flags:r}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),nU;break;case 39:return this.consumeStringToken(39);case 40:return nE;case 41:return nS;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),nM;break;case 43:case 46:if(nv(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return nI;case 45:var i=this.peekCodePoint(0),a=this.peekCodePoint(1);if(nv(e,i,a))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(ny(e,i,a))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===i&&62===a)return this.consumeCodePoint(),this.consumeCodePoint(),nN;break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var s=this.consumeCodePoint();if(42===s&&47===(s=this.consumeCodePoint())||-1===s)return this.consumeToken()}break;case 58:return nV;case 59:return nR;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),nL;break;case 64:if(ny(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var o=this.consumeName();return{type:7,value:o}}break;case 91:return n_;case 92:if(nB(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return nk;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),nb;break;case 123:return nT;case 125:return nO;case 117:case 85:var l=this.peekCodePoint(0),c=this.peekCodePoint(1);return 43===l&&(np(c)||63===c)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),nQ;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),nF;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),nD;break;case -1:return nG}return nf(e)?(this.consumeWhiteSpace(),nP):ng(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):nh(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:tz(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],A=this.consumeCodePoint();np(A)&&e.length<6;)e.push(A),A=this.consumeCodePoint();for(var t=!1;63===A&&e.length<6;)e.push(A),A=this.consumeCodePoint(),t=!0;if(t){var n=parseInt(tz.apply(void 0,e.map(function(e){return 63===e?48:e})),16),r=parseInt(tz.apply(void 0,e.map(function(e){return 63===e?70:e})),16);return{type:30,start:n,end:r}}var o=parseInt(tz.apply(void 0,e),16);if(!(45===this.peekCodePoint(0)&&np(this.peekCodePoint(1))))return{type:30,start:o,end:o};this.consumeCodePoint(),A=this.consumeCodePoint();for(var i=[];np(A)&&i.length<6;)i.push(A),A=this.consumeCodePoint();var r=parseInt(tz.apply(void 0,i),16);return{type:30,start:o,end:r}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var A=this.peekCodePoint(0);if(39===A||34===A){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),nx)}for(;;){var n,r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:tz.apply(void 0,e)};if(nf(r)){if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))return this.consumeCodePoint(),{type:22,value:tz.apply(void 0,e)};return this.consumeBadUrlRemnants(),nx}if(34===r||39===r||40===r||(n=r)>=0&&n<=8||11===n||n>=14&&n<=31||127===n)return this.consumeBadUrlRemnants(),nx;if(92===r)if(!nB(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),nx;else e.push(this.consumeEscapedCodePoint());else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;nf(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;nB(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var A="";e>0;){var t=Math.min(5e4,e);A+=tz.apply(void 0,this._value.splice(0,t)),e-=t}return this._value.shift(),A},e.prototype.consumeStringToken=function(e){for(var A="",t=0;;){var n=this._value[t];if(-1===n||void 0===n||n===e)return{type:0,value:A+=this.consumeStringSlice(t)};if(10===n)return this._value.splice(0,t),nH;if(92===n){var r=this._value[t+1];-1!==r&&void 0!==r&&(10===r?(A+=this.consumeStringSlice(t),t=-1,this._value.shift()):nB(n,r)&&(A+=this.consumeStringSlice(t),A+=tz(this.consumeEscapedCodePoint()),t=-1))}t++}},e.prototype.consumeNumber=function(){var e=[],A=4,t=this.peekCodePoint(0);for((43===t||45===t)&&e.push(this.consumeCodePoint());ng(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(46===t&&ng(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ng(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0),n=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((69===t||101===t)&&((43===n||45===n)&&ng(r)||ng(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ng(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[nC(e),A]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),A=e[0],t=e[1],n=this.peekCodePoint(0);return ny(n,this.peekCodePoint(1),this.peekCodePoint(2))?{type:15,number:A,flags:t,unit:this.consumeName()}:37===n?(this.consumeCodePoint(),{type:16,number:A,flags:t}):{type:17,number:A,flags:t}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(np(e)){for(var A=tz(e);np(this.peekCodePoint(0))&&A.length<6;)A+=tz(this.consumeCodePoint());nf(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(A,16);return 0===t||t>=55296&&t<=57343||t>1114111?65533:t}return -1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var A=this.consumeCodePoint();if(nw(A))e+=tz(A);else{if(!nB(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),e;e+=tz(this.consumeEscapedCodePoint())}}},e}(),nj=function(){function e(e){this._tokens=e}return e.create=function(A){var t=new nK;return t.write(A),new e(t.read())},e.parseValue=function(A){return e.create(A).parseComponentValue()},e.parseValues=function(A){return e.create(A).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var A=this.consumeComponentValue();do e=this.consumeToken();while(31===e.type)if(32===e.type)return A;throw SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var A=this.consumeComponentValue();if(32===A.type)return e;e.push(A),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var A={type:e,values:[]},t=this.consumeToken();;){if(32===t.type||n0(t,e))return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue()),t=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var A={name:e.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?nG:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),nY=function(e){return 15===e.type},nW=function(e){return 17===e.type},nz=function(e){return 20===e.type},nJ=function(e){return 0===e.type},nX=function(e,A){return nz(e)&&e.value===A},nq=function(e){return 31!==e.type},n$=function(e){return 31!==e.type&&4!==e.type},nZ=function(e){var A=[],t=[];return e.forEach(function(e){if(4===e.type){if(0===t.length)throw Error("Error parsing function args, zero tokens for arg");A.push(t),t=[];return}31!==e.type&&t.push(e)}),t.length&&A.push(t),A},n0=function(e,A){return 11===A&&12===e.type||28===A&&29===e.type||2===A&&3===e.type},n1=function(e){return 17===e.type||15===e.type},n3=function(e){return 16===e.type||n1(e)},n4=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},n2={type:17,number:0,flags:4},n6={type:16,number:50,flags:4},n9={type:16,number:100,flags:4},n8=function(e,A,t){var n=e[0],r=e[1];return[n5(n,A),n5(void 0!==r?r:n,t)]},n5=function(e,A){if(16===e.type)return e.number/100*A;if(nY(e))switch(e.unit){case"rem":case"em":return 16*e.number}return e.number},n7="grad",re="turn",rA=function(e,A){if(15===A.type)switch(A.unit){case"deg":return Math.PI*A.number/180;case n7:return Math.PI/200*A.number;case"rad":return A.number;case re:return 2*Math.PI*A.number}throw Error("Unsupported angle type")},rt=function(e){return 15===e.type&&("deg"===e.unit||e.unit===n7||"rad"===e.unit||e.unit===re)},rn=function(e){switch(e.filter(nz).map(function(e){return e.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[n2,n2];case"to top":case"bottom":return rr(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[n2,n9];case"to right":case"left":return rr(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[n9,n9];case"to bottom":case"top":return rr(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[n9,n2];case"to left":case"right":return rr(270)}return 0},rr=function(e){return Math.PI*e/180},ro=function(e,A){if(18===A.type){var t=rg[A.name];if(void 0===t)throw Error('Attempting to parse an unsupported color function "'+A.name+'"');return t(e,A.values)}if(5===A.type){if(3===A.value.length){var n=A.value.substring(0,1),r=A.value.substring(1,2),o=A.value.substring(2,3);return rs(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===A.value.length){var n=A.value.substring(0,1),r=A.value.substring(1,2),o=A.value.substring(2,3),i=A.value.substring(3,4);return rs(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(i+i,16)/255)}if(6===A.value.length){var n=A.value.substring(0,2),r=A.value.substring(2,4),o=A.value.substring(4,6);return rs(parseInt(n,16),parseInt(r,16),parseInt(o,16),1)}if(8===A.value.length){var n=A.value.substring(0,2),r=A.value.substring(2,4),o=A.value.substring(4,6),i=A.value.substring(6,8);return rs(parseInt(n,16),parseInt(r,16),parseInt(o,16),parseInt(i,16)/255)}}if(20===A.type){var a=rm[A.value.toUpperCase()];if(void 0!==a)return a}return rm.TRANSPARENT},ri=function(e){return(255&e)==0},ra=function(e){var A=255&e,t=255&e>>8,n=255&e>>16,r=255&e>>24;return A<255?"rgba("+r+","+n+","+t+","+A/255+")":"rgb("+r+","+n+","+t+")"},rs=function(e,A,t,n){return(e<<24|A<<16|t<<8|(0|Math.round(255*n)))>>>0},rl=function(e,A){if(17===e.type)return e.number;if(16===e.type){var t=3===A?1:255;return 3===A?e.number/100*t:Math.round(e.number/100*t)}return 0},rc=function(e,A){var t=A.filter(n$);if(3===t.length){var n=t.map(rl),r=n[0],o=n[1],i=n[2];return rs(r,o,i,1)}if(4===t.length){var a=t.map(rl),r=a[0],o=a[1],i=a[2];return rs(r,o,i,a[3])}return 0};function ru(e,A,t){return(t<0&&(t+=1),t>=1&&(t-=1),t<1/6)?(A-e)*t*6+e:t<.5?A:t<2/3?(A-e)*6*(2/3-t)+e:e}var rd=function(e,A){var t=A.filter(n$),n=t[0],r=t[1],o=t[2],i=t[3],a=(17===n.type?rr(n.number):rA(e,n))/(2*Math.PI),s=n3(r)?r.number/100:0,l=n3(o)?o.number/100:0,c=void 0!==i&&n3(i)?n5(i,1):1;if(0===s)return rs(255*l,255*l,255*l,1);var u=l<=.5?l*(s+1):l+s-l*s,d=2*l-u;return rs(255*ru(d,u,a+1/3),255*ru(d,u,a),255*ru(d,u,a-1/3),c)},rg={hsl:rd,hsla:rd,rgb:rc,rgba:rc},rp=function(e,A){return ro(e,nj.create(A).parseComponentValue())},rm={ALICEBLUE:0xf0f8ffff,ANTIQUEWHITE:0xfaebd7ff,AQUA:0xffffff,AQUAMARINE:0x7fffd4ff,AZURE:0xf0ffffff,BEIGE:0xf5f5dcff,BISQUE:0xffe4c4ff,BLACK:255,BLANCHEDALMOND:0xffebcdff,BLUE:65535,BLUEVIOLET:0x8a2be2ff,BROWN:0xa52a2aff,BURLYWOOD:0xdeb887ff,CADETBLUE:0x5f9ea0ff,CHARTREUSE:0x7fff00ff,CHOCOLATE:0xd2691eff,CORAL:0xff7f50ff,CORNFLOWERBLUE:0x6495edff,CORNSILK:0xfff8dcff,CRIMSON:0xdc143cff,CYAN:0xffffff,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:0xb886bbff,DARKGRAY:0xa9a9a9ff,DARKGREEN:6553855,DARKGREY:0xa9a9a9ff,DARKKHAKI:0xbdb76bff,DARKMAGENTA:0x8b008bff,DARKOLIVEGREEN:0x556b2fff,DARKORANGE:0xff8c00ff,DARKORCHID:0x9932ccff,DARKRED:0x8b0000ff,DARKSALMON:0xe9967aff,DARKSEAGREEN:0x8fbc8fff,DARKSLATEBLUE:0x483d8bff,DARKSLATEGRAY:0x2f4f4fff,DARKSLATEGREY:0x2f4f4fff,DARKTURQUOISE:0xced1ff,DARKVIOLET:0x9400d3ff,DEEPPINK:0xff1493ff,DEEPSKYBLUE:0xbfffff,DIMGRAY:0x696969ff,DIMGREY:0x696969ff,DODGERBLUE:0x1e90ffff,FIREBRICK:0xb22222ff,FLORALWHITE:0xfffaf0ff,FORESTGREEN:0x228b22ff,FUCHSIA:0xff00ffff,GAINSBORO:0xdcdcdcff,GHOSTWHITE:0xf8f8ffff,GOLD:0xffd700ff,GOLDENROD:0xdaa520ff,GRAY:0x808080ff,GREEN:8388863,GREENYELLOW:0xadff2fff,GREY:0x808080ff,HONEYDEW:0xf0fff0ff,HOTPINK:0xff69b4ff,INDIANRED:0xcd5c5cff,INDIGO:0x4b0082ff,IVORY:0xfffff0ff,KHAKI:0xf0e68cff,LAVENDER:0xe6e6faff,LAVENDERBLUSH:0xfff0f5ff,LAWNGREEN:0x7cfc00ff,LEMONCHIFFON:0xfffacdff,LIGHTBLUE:0xadd8e6ff,LIGHTCORAL:0xf08080ff,LIGHTCYAN:0xe0ffffff,LIGHTGOLDENRODYELLOW:0xfafad2ff,LIGHTGRAY:0xd3d3d3ff,LIGHTGREEN:0x90ee90ff,LIGHTGREY:0xd3d3d3ff,LIGHTPINK:0xffb6c1ff,LIGHTSALMON:0xffa07aff,LIGHTSEAGREEN:0x20b2aaff,LIGHTSKYBLUE:0x87cefaff,LIGHTSLATEGRAY:0x778899ff,LIGHTSLATEGREY:0x778899ff,LIGHTSTEELBLUE:0xb0c4deff,LIGHTYELLOW:0xffffe0ff,LIME:0xff00ff,LIMEGREEN:0x32cd32ff,LINEN:0xfaf0e6ff,MAGENTA:0xff00ffff,MAROON:0x800000ff,MEDIUMAQUAMARINE:0x66cdaaff,MEDIUMBLUE:52735,MEDIUMORCHID:0xba55d3ff,MEDIUMPURPLE:0x9370dbff,MEDIUMSEAGREEN:0x3cb371ff,MEDIUMSLATEBLUE:0x7b68eeff,MEDIUMSPRINGGREEN:0xfa9aff,MEDIUMTURQUOISE:0x48d1ccff,MEDIUMVIOLETRED:0xc71585ff,MIDNIGHTBLUE:0x191970ff,MINTCREAM:0xf5fffaff,MISTYROSE:0xffe4e1ff,MOCCASIN:0xffe4b5ff,NAVAJOWHITE:0xffdeadff,NAVY:33023,OLDLACE:0xfdf5e6ff,OLIVE:0x808000ff,OLIVEDRAB:0x6b8e23ff,ORANGE:0xffa500ff,ORANGERED:0xff4500ff,ORCHID:0xda70d6ff,PALEGOLDENROD:0xeee8aaff,PALEGREEN:0x98fb98ff,PALETURQUOISE:0xafeeeeff,PALEVIOLETRED:0xdb7093ff,PAPAYAWHIP:0xffefd5ff,PEACHPUFF:0xffdab9ff,PERU:0xcd853fff,PINK:0xffc0cbff,PLUM:0xdda0ddff,POWDERBLUE:0xb0e0e6ff,PURPLE:0x800080ff,REBECCAPURPLE:0x663399ff,RED:0xff0000ff,ROSYBROWN:0xbc8f8fff,ROYALBLUE:0x4169e1ff,SADDLEBROWN:0x8b4513ff,SALMON:0xfa8072ff,SANDYBROWN:0xf4a460ff,SEAGREEN:0x2e8b57ff,SEASHELL:0xfff5eeff,SIENNA:0xa0522dff,SILVER:0xc0c0c0ff,SKYBLUE:0x87ceebff,SLATEBLUE:0x6a5acdff,SLATEGRAY:0x708090ff,SLATEGREY:0x708090ff,SNOW:0xfffafaff,SPRINGGREEN:0xff7fff,STEELBLUE:0x4682b4ff,TAN:0xd2b48cff,TEAL:8421631,THISTLE:0xd8bfd8ff,TOMATO:0xff6347ff,TRANSPARENT:0,TURQUOISE:0x40e0d0ff,VIOLET:0xee82eeff,WHEAT:0xf5deb3ff,WHITE:0xffffffff,WHITESMOKE:0xf5f5f5ff,YELLOW:0xffff00ff,YELLOWGREEN:0x9acd32ff},rf={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(e){if(nz(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},rh={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},rw=function(e,A){var t=ro(e,A[0]),n=A[1];return n&&n3(n)?{color:t,stop:n}:{color:t,stop:null}},rB=function(e,A){var t=e[0],n=e[e.length-1];null===t.stop&&(t.stop=n2),null===n.stop&&(n.stop=n9);for(var r=[],o=0,i=0;i<e.length;i++){var a=e[i].stop;if(null!==a){var s=n5(a,A);s>o?r.push(s):r.push(o),o=s}else r.push(null)}for(var l=null,i=0;i<r.length;i++){var c=r[i];if(null===c)null===l&&(l=i);else if(null!==l){for(var u=i-l,d=(c-r[l-1])/(u+1),g=1;g<=u;g++)r[l+g-1]=d*g;l=null}}return e.map(function(e,t){return{color:e.color,stop:Math.max(Math.min(1,r[t]/A),0)}})},ry=function(e,A,t){var n=A/2,r=t/2,o=n5(e[0],A)-n;return(Math.atan2(r-n5(e[1],t),o)+2*Math.PI)%(2*Math.PI)},rv=function(e,A,t){var n="number"==typeof e?e:ry(e,A,t),r=Math.abs(A*Math.sin(n))+Math.abs(t*Math.cos(n)),o=A/2,i=t/2,a=r/2,s=Math.sin(n-Math.PI/2)*a,l=Math.cos(n-Math.PI/2)*a;return[r,o-l,o+l,i-s,i+s]},rC=function(e,A){return Math.sqrt(e*e+A*A)},rE=function(e,A,t,n,r){return[[0,0],[0,A],[e,0],[e,A]].reduce(function(e,A){var o=rC(t-A[0],n-A[1]);return(r?o<e.optimumDistance:o>e.optimumDistance)?{optimumCorner:A,optimumDistance:o}:e},{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},rS=function(e,A,t,n,r){var o=0,i=0;switch(e.size){case 0:0===e.shape?o=i=Math.min(Math.abs(A),Math.abs(A-n),Math.abs(t),Math.abs(t-r)):1===e.shape&&(o=Math.min(Math.abs(A),Math.abs(A-n)),i=Math.min(Math.abs(t),Math.abs(t-r)));break;case 2:if(0===e.shape)o=i=Math.min(rC(A,t),rC(A,t-r),rC(A-n,t),rC(A-n,t-r));else if(1===e.shape){var a=Math.min(Math.abs(t),Math.abs(t-r))/Math.min(Math.abs(A),Math.abs(A-n)),s=rE(n,r,A,t,!0),l=s[0],c=s[1];o=rC(l-A,(c-t)/a),i=a*o}break;case 1:0===e.shape?o=i=Math.max(Math.abs(A),Math.abs(A-n),Math.abs(t),Math.abs(t-r)):1===e.shape&&(o=Math.max(Math.abs(A),Math.abs(A-n)),i=Math.max(Math.abs(t),Math.abs(t-r)));break;case 3:if(0===e.shape)o=i=Math.max(rC(A,t),rC(A,t-r),rC(A-n,t),rC(A-n,t-r));else if(1===e.shape){var a=Math.max(Math.abs(t),Math.abs(t-r))/Math.max(Math.abs(A),Math.abs(A-n)),u=rE(n,r,A,t,!1),l=u[0],c=u[1];o=rC(l-A,(c-t)/a),i=a*o}}return Array.isArray(e.size)&&(o=n5(e.size[0],n),i=2===e.size.length?n5(e.size[1],r):o),[o,i]},rI=function(e,A){var t=rr(180),n=[];return nZ(A).forEach(function(A,r){if(0===r){var o=A[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value)){t=rn(A);return}if(rt(o)){t=(rA(e,o)+rr(270))%rr(360);return}}var i=rw(e,A);n.push(i)}),{angle:t,stops:n,type:1}},rU="closest-side",rb="farthest-side",rF="closest-corner",rQ="farthest-corner",rD="circle",rT="ellipse",rO="cover",rM="contain",rx=function(e,A){var t=0,n=3,r=[],o=[];return nZ(A).forEach(function(A,i){var a=!0;if(0===i?a=A.reduce(function(e,A){if(nz(A))switch(A.value){case"center":return o.push(n6),!1;case"top":case"left":return o.push(n2),!1;case"right":case"bottom":return o.push(n9),!1}else if(n3(A)||n1(A))return o.push(A),!1;return e},a):1===i&&(a=A.reduce(function(e,A){if(nz(A))switch(A.value){case rD:return t=0,!1;case rT:return t=1,!1;case rM:case rU:return n=0,!1;case rb:return n=1,!1;case rF:return n=2,!1;case rO:case rQ:return n=3,!1}else if(n1(A)||n3(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e},a)),a){var s=rw(e,A);r.push(s)}}),{size:n,shape:t,stops:r,position:o,type:2}},rH=function(e,A){if(22===A.type){var t={url:A.value,type:0};return e.cache.addImage(A.value),t}if(18===A.type){var n=rL[A.name];if(void 0===n)throw Error('Attempting to parse an unsupported image function "'+A.name+'"');return n(e,A.values)}throw Error("Unsupported image type "+A.type)},rL={"linear-gradient":function(e,A){var t=rr(180),n=[];return nZ(A).forEach(function(A,r){if(0===r){var o=A[0];if(20===o.type&&"to"===o.value){t=rn(A);return}if(rt(o)){t=rA(e,o);return}}var i=rw(e,A);n.push(i)}),{angle:t,stops:n,type:1}},"-moz-linear-gradient":rI,"-ms-linear-gradient":rI,"-o-linear-gradient":rI,"-webkit-linear-gradient":rI,"radial-gradient":function(e,A){var t=0,n=3,r=[],o=[];return nZ(A).forEach(function(A,i){var a=!0;if(0===i){var s=!1;a=A.reduce(function(e,A){if(s)if(nz(A))switch(A.value){case"center":o.push(n6);break;case"top":case"left":o.push(n2);break;case"right":case"bottom":o.push(n9)}else(n3(A)||n1(A))&&o.push(A);else if(nz(A))switch(A.value){case rD:return t=0,!1;case rT:return t=1,!1;case"at":return s=!0,!1;case rU:return n=0,!1;case rO:case rb:return n=1,!1;case rM:case rF:return n=2,!1;case rQ:return n=3,!1}else if(n1(A)||n3(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e},a)}if(a){var l=rw(e,A);r.push(l)}}),{size:n,shape:t,stops:r,position:o,type:2}},"-moz-radial-gradient":rx,"-ms-radial-gradient":rx,"-o-radial-gradient":rx,"-webkit-radial-gradient":rx,"-webkit-gradient":function(e,A){var t=rr(180),n=[],r=1;return nZ(A).forEach(function(A,t){var o=A[0];if(0===t){if(nz(o)&&"linear"===o.value){r=1;return}else if(nz(o)&&"radial"===o.value){r=2;return}}if(18===o.type){if("from"===o.name){var i=ro(e,o.values[0]);n.push({stop:n2,color:i})}else if("to"===o.name){var i=ro(e,o.values[0]);n.push({stop:n9,color:i})}else if("color-stop"===o.name){var a=o.values.filter(n$);if(2===a.length){var i=ro(e,a[1]),s=a[0];nW(s)&&n.push({stop:{type:16,number:100*s.number,flags:s.flags},color:i})}}}}),1===r?{angle:(t+rr(180))%rr(360),stops:n,type:r}:{size:3,shape:0,stops:n,position:[],type:r}}},rN={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(0===A.length)return[];var t=A[0];return 20===t.type&&"none"===t.value?[]:A.filter(function(e){var A;return n$(e)&&(20!==(A=e).type||"none"!==A.value)&&(18!==A.type||!!rL[A.name])}).map(function(A){return rH(e,A)})}},rV={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(e){if(nz(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},rR={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return nZ(A).map(function(e){return e.filter(n3)}).map(n4)}},r_={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return nZ(A).map(function(e){return e.filter(nz).map(function(e){return e.value}).join(" ")}).map(rk)}},rk=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};(s=E||(E={})).AUTO="auto",s.CONTAIN="contain",s.COVER="cover";var rP={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return nZ(A).map(function(e){return e.filter(rG)})}},rG=function(e){return nz(e)||n3(e)},rK=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},rj=rK("top"),rY=rK("right"),rW=rK("bottom"),rz=rK("left"),rJ=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,A){return n4(A.filter(n3))}}},rX=rJ("top-left"),rq=rJ("top-right"),r$=rJ("bottom-right"),rZ=rJ("bottom-left"),r0=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,A){switch(A){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},r1=r0("top"),r3=r0("right"),r4=r0("bottom"),r2=r0("left"),r6=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return nY(A)?A.number:0}}},r9=r6("top"),r8=r6("right"),r5=r6("bottom"),r7=r6("left"),oe={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},oA={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){return+("rtl"===A)}},ot={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(nz).reduce(function(e,A){return e|on(A.value)},0)}},on=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 0x1000000;case"inline-block":return 0x2000000;case"inline-list-item":return 0x4000000;case"inline-table":return 0x8000000;case"inline-flex":return 0x10000000;case"inline-grid":return 0x20000000}return 0},or={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},oo={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,A){return 20===A.type&&"normal"===A.value?0:17===A.type||15===A.type?A.number:0}};(l=S||(S={})).NORMAL="normal",l.STRICT="strict";var oi={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"strict"===A?S.STRICT:S.NORMAL}},oa={name:"line-height",initialValue:"normal",prefix:!1,type:4},os=function(e,A){return nz(e)&&"normal"===e.value?1.2*A:17===e.type?A*e.number:n3(e)?n5(e,A):A},ol={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return 20===A.type&&"none"===A.value?null:rH(e,A)}},oc={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){return+("inside"!==A)}},ou={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return -1}}},od=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},og=od("top"),op=od("right"),om=od("bottom"),of=od("left"),oh={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(nz).map(function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},ow={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"break-word"===A?"break-word":"normal"}},oB=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},oy=oB("top"),ov=oB("right"),oC=oB("bottom"),oE=oB("left"),oS={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,A){switch(A){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},oI={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,A){switch(A){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},oU={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&nX(A[0],"none")?[]:nZ(A).map(function(A){for(var t={color:rm.TRANSPARENT,offsetX:n2,offsetY:n2,blur:n2},n=0,r=0;r<A.length;r++){var o=A[r];n1(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:t.blur=o,n++):t.color=ro(e,o)}return t})}},ob={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},oF={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(e,A){if(20===A.type&&"none"===A.value)return null;if(18===A.type){var t=oQ[A.name];if(void 0===t)throw Error('Attempting to parse an unsupported transform function "'+A.name+'"');return t(A.values)}return null}},oQ={matrix:function(e){var A=e.filter(function(e){return 17===e.type}).map(function(e){return e.number});return 6===A.length?A:null},matrix3d:function(e){var A=e.filter(function(e){return 17===e.type}).map(function(e){return e.number}),t=A[0],n=A[1];A[2],A[3];var r=A[4],o=A[5];A[6],A[7],A[8],A[9],A[10],A[11];var i=A[12],a=A[13];return A[14],A[15],16===A.length?[t,n,r,o,i,a]:null}},oD={type:16,number:50,flags:4},oT=[oD,oD],oO={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(e,A){var t=A.filter(n3);return 2!==t.length?oT:[t[0],t[1]]}},oM={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"hidden":return 1;case"collapse":return 2;default:return 0}}};(c=I||(I={})).NORMAL="normal",c.BREAK_ALL="break-all",c.KEEP_ALL="keep-all";for(var ox={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"break-all":return I.BREAK_ALL;case"keep-all":return I.KEEP_ALL;default:return I.NORMAL}}},oH={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(e,A){if(20===A.type)return{auto:!0,order:0};if(nW(A))return{auto:!1,order:A.number};throw Error("Invalid z-index number parsed")}},oL=function(e,A){if(15===A.type)switch(A.unit.toLowerCase()){case"s":return 1e3*A.number;case"ms":return A.number}throw Error("Unsupported time type")},oN={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(e,A){return nW(A)?A.number:1}},oV={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},oR={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(e,A){return A.filter(nz).map(function(e){switch(e.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(e){return 0!==e})}},o_={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(e,A){var t=[],n=[];return A.forEach(function(e){switch(e.type){case 20:case 0:t.push(e.value);break;case 17:t.push(e.number.toString());break;case 4:n.push(t.join(" ")),t.length=0}}),t.length&&n.push(t.join(" ")),n.map(function(e){return -1===e.indexOf(" ")?e:"'"+e+"'"})}},ok={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},oP={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(e,A){return nW(A)?A.number:nz(A)&&"bold"===A.value?700:400}},oG={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return A.filter(nz).map(function(e){return e.value})}},oK={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"oblique":return"oblique";case"italic":return"italic";default:return"normal"}}},oj=function(e,A){return(e&A)!=0},oY={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(0===A.length)return[];var t=A[0];return 20===t.type&&"none"===t.value?[]:A}},oW={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(e,A){if(0===A.length)return null;var t=A[0];if(20===t.type&&"none"===t.value)return null;for(var n=[],r=A.filter(nq),o=0;o<r.length;o++){var i=r[o],a=r[o+1];if(20===i.type){var s=a&&nW(a)?a.number:1;n.push({counter:i.value,increment:s})}}return n}},oz={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(e,A){if(0===A.length)return[];for(var t=[],n=A.filter(nq),r=0;r<n.length;r++){var o=n[r],i=n[r+1];if(nz(o)&&"none"!==o.value){var a=i&&nW(i)?i.number:0;t.push({counter:o.value,reset:a})}}return t}},oJ={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(e,A){return A.filter(nY).map(function(A){return oL(e,A)})}},oX={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(e,A){if(0===A.length)return null;var t=A[0];if(20===t.type&&"none"===t.value)return null;var n=[],r=A.filter(nJ);if(r.length%2!=0)return null;for(var o=0;o<r.length;o+=2){var i=r[o].value,a=r[o+1].value;n.push({open:i,close:a})}return n}},oq=function(e,A,t){if(!e)return"";var n=e[Math.min(A,e.length-1)];return n?t?n.open:n.close:""},o$={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&nX(A[0],"none")?[]:nZ(A).map(function(A){for(var t={color:255,offsetX:n2,offsetY:n2,blur:n2,spread:n2,inset:!1},n=0,r=0;r<A.length;r++){var o=A[r];nX(o,"inset")?t.inset=!0:n1(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:2===n?t.blur=o:t.spread=o,n++):t.color=ro(e,o)}return t})}},oZ={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(e,A){var t=[];return A.filter(nz).forEach(function(e){switch(e.value){case"stroke":t.push(1);break;case"fill":t.push(0);break;case"markers":t.push(2)}}),[0,1,2].forEach(function(e){-1===t.indexOf(e)&&t.push(e)}),t}},o0={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},o1={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return nY(A)?A.number:0}},o3=function(){function e(e,A){this.animationDuration=o6(e,oJ,A.animationDuration),this.backgroundClip=o6(e,rf,A.backgroundClip),this.backgroundColor=o6(e,rh,A.backgroundColor),this.backgroundImage=o6(e,rN,A.backgroundImage),this.backgroundOrigin=o6(e,rV,A.backgroundOrigin),this.backgroundPosition=o6(e,rR,A.backgroundPosition),this.backgroundRepeat=o6(e,r_,A.backgroundRepeat),this.backgroundSize=o6(e,rP,A.backgroundSize),this.borderTopColor=o6(e,rj,A.borderTopColor),this.borderRightColor=o6(e,rY,A.borderRightColor),this.borderBottomColor=o6(e,rW,A.borderBottomColor),this.borderLeftColor=o6(e,rz,A.borderLeftColor),this.borderTopLeftRadius=o6(e,rX,A.borderTopLeftRadius),this.borderTopRightRadius=o6(e,rq,A.borderTopRightRadius),this.borderBottomRightRadius=o6(e,r$,A.borderBottomRightRadius),this.borderBottomLeftRadius=o6(e,rZ,A.borderBottomLeftRadius),this.borderTopStyle=o6(e,r1,A.borderTopStyle),this.borderRightStyle=o6(e,r3,A.borderRightStyle),this.borderBottomStyle=o6(e,r4,A.borderBottomStyle),this.borderLeftStyle=o6(e,r2,A.borderLeftStyle),this.borderTopWidth=o6(e,r9,A.borderTopWidth),this.borderRightWidth=o6(e,r8,A.borderRightWidth),this.borderBottomWidth=o6(e,r5,A.borderBottomWidth),this.borderLeftWidth=o6(e,r7,A.borderLeftWidth),this.boxShadow=o6(e,o$,A.boxShadow),this.color=o6(e,oe,A.color),this.direction=o6(e,oA,A.direction),this.display=o6(e,ot,A.display),this.float=o6(e,or,A.cssFloat),this.fontFamily=o6(e,o_,A.fontFamily),this.fontSize=o6(e,ok,A.fontSize),this.fontStyle=o6(e,oK,A.fontStyle),this.fontVariant=o6(e,oG,A.fontVariant),this.fontWeight=o6(e,oP,A.fontWeight),this.letterSpacing=o6(e,oo,A.letterSpacing),this.lineBreak=o6(e,oi,A.lineBreak),this.lineHeight=o6(e,oa,A.lineHeight),this.listStyleImage=o6(e,ol,A.listStyleImage),this.listStylePosition=o6(e,oc,A.listStylePosition),this.listStyleType=o6(e,ou,A.listStyleType),this.marginTop=o6(e,og,A.marginTop),this.marginRight=o6(e,op,A.marginRight),this.marginBottom=o6(e,om,A.marginBottom),this.marginLeft=o6(e,of,A.marginLeft),this.opacity=o6(e,oN,A.opacity);var t,n,r=o6(e,oh,A.overflow);this.overflowX=r[0],this.overflowY=r[+(r.length>1)],this.overflowWrap=o6(e,ow,A.overflowWrap),this.paddingTop=o6(e,oy,A.paddingTop),this.paddingRight=o6(e,ov,A.paddingRight),this.paddingBottom=o6(e,oC,A.paddingBottom),this.paddingLeft=o6(e,oE,A.paddingLeft),this.paintOrder=o6(e,oZ,A.paintOrder),this.position=o6(e,oI,A.position),this.textAlign=o6(e,oS,A.textAlign),this.textDecorationColor=o6(e,oV,null!=(t=A.textDecorationColor)?t:A.color),this.textDecorationLine=o6(e,oR,null!=(n=A.textDecorationLine)?n:A.textDecoration),this.textShadow=o6(e,oU,A.textShadow),this.textTransform=o6(e,ob,A.textTransform),this.transform=o6(e,oF,A.transform),this.transformOrigin=o6(e,oO,A.transformOrigin),this.visibility=o6(e,oM,A.visibility),this.webkitTextStrokeColor=o6(e,o0,A.webkitTextStrokeColor),this.webkitTextStrokeWidth=o6(e,o1,A.webkitTextStrokeWidth),this.wordBreak=o6(e,ox,A.wordBreak),this.zIndex=o6(e,oH,A.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return ri(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return oj(this.display,4)||oj(this.display,0x2000000)||oj(this.display,0x10000000)||oj(this.display,0x20000000)||oj(this.display,0x4000000)||oj(this.display,0x8000000)},e}(),o4=function(e,A){this.content=o6(e,oY,A.content),this.quotes=o6(e,oX,A.quotes)},o2=function(e,A){this.counterIncrement=o6(e,oW,A.counterIncrement),this.counterReset=o6(e,oz,A.counterReset)},o6=function(e,A,t){var n=new nK,r=null!=t?t.toString():A.initialValue;n.write(r);var o=new nj(n.read());switch(A.type){case 2:var i=o.parseComponentValue();return A.parse(e,nz(i)?i.value:A.initialValue);case 0:return A.parse(e,o.parseComponentValue());case 1:return A.parse(e,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(A.format){case"angle":return rA(e,o.parseComponentValue());case"color":return ro(e,o.parseComponentValue());case"image":return rH(e,o.parseComponentValue());case"length":var a=o.parseComponentValue();return n1(a)?a:n2;case"length-percentage":var s=o.parseComponentValue();return n3(s)?s:n2;case"time":return oL(e,o.parseComponentValue())}}},o9=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},o8=function(e,A){var t=o9(e);return 1===t||A===t},o5=function(e,A){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,o8(A,3),this.styles=new o3(e,window.getComputedStyle(A,null)),ar(A)&&(this.styles.animationDuration.some(function(e){return e>0})&&(A.style.animationDuration="0s"),null!==this.styles.transform&&(A.style.transform="none")),this.bounds=tj(this.context,A),o8(A,4)&&(this.flags|=16)},o7="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ie="u"<typeof Uint8Array?[]:new Uint8Array(256),iA=0;iA<o7.length;iA++)ie[o7.charCodeAt(iA)]=iA;for(var it=2112,ir=function(e,A,t){return e.slice?e.slice(A,t):new Uint16Array(Array.prototype.slice.call(e,A,t))},io=function(){function e(e,A,t,n,r,o){this.initialValue=e,this.errorValue=A,this.highStart=t,this.highValueIndex=n,this.index=r,this.data=o}return e.prototype.get=function(e){var A;if(e>=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e<this.highStart)return A=it-32+(e>>11),A=this.index[A]+(e>>5&63),A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),ii="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ia="u"<typeof Uint8Array?[]:new Uint8Array(256),is=0;is<ii.length;is++)ia[ii.charCodeAt(is)]=is;var il=function(e){for(var A=[],t=0,n=e.length;t<n;){var r=e.charCodeAt(t++);if(r>=55296&&r<=56319&&t<n){var o=e.charCodeAt(t++);(64512&o)==56320?A.push(((1023&r)<<10)+(1023&o)+65536):(A.push(r),t--)}else A.push(r)}return A},ic=function(){for(var e=[],A=0;A<arguments.length;A++)e[A]=arguments[A];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var t=e.length;if(!t)return"";for(var n=[],r=-1,o="";++r<t;){var i=e[r];i<=65535?n.push(i):(i-=65536,n.push((i>>10)+55296,i%1024+56320)),(r+1===t||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},iu=(d=Array.isArray(u=function(e){var A,t,n,r,o,i=.75*e.length,a=e.length,s=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var l="u">typeof ArrayBuffer&&"u">typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):Array(i),c=Array.isArray(l)?l:new Uint8Array(l);for(A=0;A<a;A+=4)t=ie[e.charCodeAt(A)],n=ie[e.charCodeAt(A+1)],r=ie[e.charCodeAt(A+2)],o=ie[e.charCodeAt(A+3)],c[s++]=t<<2|n>>4,c[s++]=(15&n)<<4|r>>2,c[s++]=(3&r)<<6|63&o;return l}("AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA="))?function(e){for(var A=e.length,t=[],n=0;n<A;n+=4)t.push(e[n+3]<<24|e[n+2]<<16|e[n+1]<<8|e[n]);return t}(u):new Uint32Array(u),p=ir(g=Array.isArray(u)?function(e){for(var A=e.length,t=[],n=0;n<A;n+=2)t.push(e[n+1]<<8|e[n]);return t}(u):new Uint16Array(u),12,d[4]/2),f=2===d[5]?ir(g,(24+d[4])/2):(m=Math.ceil((24+d[4])/4),d.slice?d.slice(m,void 0):new Uint32Array(Array.prototype.slice.call(d,m,void 0))),new io(d[0],d[1],d[2],d[3],p,f)),id=function(e){return iu.get(e)},ig=function(e,A,t){var n=t-2,r=A[n],o=A[t-1],i=A[t];if(2===o&&3===i)return"×";if(2===o||3===o||4===o||2===i||3===i||4===i)return"÷";if(8===o&&-1!==[8,9,11,12].indexOf(i)||(11===o||9===o)&&(9===i||10===i)||(12===o||10===o)&&10===i||13===i||5===i||7===i||1===o)return"×";if(13===o&&14===i){for(;5===r;)r=A[--n];if(14===r)return"×"}if(15===o&&15===i){for(var a=0;15===r;)a++,r=A[--n];if(a%2==0)return"×"}return"÷"},ip=function(e){var A=il(e),t=A.length,n=0,r=0,o=A.map(id);return{next:function(){if(n>=t)return{done:!0,value:null};for(var e="×";n<t&&"×"===(e=ig(A,o,++n)););if("×"!==e||n===t){var i=ic.apply(null,A.slice(r,n));return r=n,{value:i,done:!1}}return{done:!0,value:null}}}},im=function(e){for(var A,t=ip(e),n=[];!(A=t.next()).done;)A.value&&n.push(A.value.slice());return n},ih=function(e){if(e.createRange){var A=e.createRange();if(A.getBoundingClientRect){var t=e.createElement("boundtest");t.style.height="123px",t.style.display="block",e.body.appendChild(t),A.selectNode(t);var n=Math.round(A.getBoundingClientRect().height);if(e.body.removeChild(t),123===n)return!0}}return!1},iw=function(e){var A=e.createElement("boundtest");A.style.width="50px",A.style.display="block",A.style.fontSize="12px",A.style.letterSpacing="0px",A.style.wordSpacing="0px",e.body.appendChild(A);var t=e.createRange();A.innerHTML="function"==typeof"".repeat?"👨".repeat(10):"";var n=A.firstChild,r=tW(n.data).map(function(e){return tz(e)}),o=0,i={},a=r.every(function(e,A){t.setStart(n,o),t.setEnd(n,o+e.length);var r=t.getBoundingClientRect();o+=e.length;var a=r.x>i.x||r.y>i.y;return i=r,0===A||a});return e.body.removeChild(A),a},iB=function(e){var A=new Image,t=e.createElement("canvas"),n=t.getContext("2d");if(!n)return!1;A.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{n.drawImage(A,0,0),t.toDataURL()}catch(e){return!1}return!0},iy=function(e){return 0===e[0]&&255===e[1]&&0===e[2]&&255===e[3]},iv=function(e){var A=e.createElement("canvas");A.width=100,A.height=100;var t=A.getContext("2d");if(!t)return Promise.reject(!1);t.fillStyle="rgb(0, 255, 0)",t.fillRect(0,0,100,100);var n=new Image,r=A.toDataURL();n.src=r;var o=iC(100,100,0,0,n);return t.fillStyle="red",t.fillRect(0,0,100,100),iE(o).then(function(A){t.drawImage(A,0,0);var n=t.getImageData(0,0,100,100).data;t.fillStyle="red",t.fillRect(0,0,100,100);var o=e.createElement("div");return o.style.backgroundImage="url("+r+")",o.style.height="100px",iy(n)?iE(iC(100,100,0,0,o)):Promise.reject(!1)}).then(function(e){return t.drawImage(e,0,0),iy(t.getImageData(0,0,100,100).data)}).catch(function(){return!1})},iC=function(e,A,t,n,r){var o="http://www.w3.org/2000/svg",i=document.createElementNS(o,"svg"),a=document.createElementNS(o,"foreignObject");return i.setAttributeNS(null,"width",e.toString()),i.setAttributeNS(null,"height",A.toString()),a.setAttributeNS(null,"width","100%"),a.setAttributeNS(null,"height","100%"),a.setAttributeNS(null,"x",t.toString()),a.setAttributeNS(null,"y",n.toString()),a.setAttributeNS(null,"externalResourcesRequired","true"),i.appendChild(a),a.appendChild(r),i},iE=function(e){return new Promise(function(A,t){var n=new Image;n.onload=function(){return A(n)},n.onerror=t,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},iS={get SUPPORT_RANGE_BOUNDS(){var iI=ih(document);return Object.defineProperty(iS,"SUPPORT_RANGE_BOUNDS",{value:iI}),iI},get SUPPORT_WORD_BREAKING(){var iU=iS.SUPPORT_RANGE_BOUNDS&&iw(document);return Object.defineProperty(iS,"SUPPORT_WORD_BREAKING",{value:iU}),iU},get SUPPORT_SVG_DRAWING(){var ib=iB(document);return Object.defineProperty(iS,"SUPPORT_SVG_DRAWING",{value:ib}),ib},get SUPPORT_FOREIGNOBJECT_DRAWING(){var iF="function"==typeof Array.from&&"function"==typeof window.fetch?iv(document):Promise.resolve(!1);return Object.defineProperty(iS,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:iF}),iF},get SUPPORT_CORS_IMAGES(){var iQ=void 0!==new Image().crossOrigin;return Object.defineProperty(iS,"SUPPORT_CORS_IMAGES",{value:iQ}),iQ},get SUPPORT_RESPONSE_TYPE(){var iD="string"==typeof new XMLHttpRequest().responseType;return Object.defineProperty(iS,"SUPPORT_RESPONSE_TYPE",{value:iD}),iD},get SUPPORT_CORS_XHR(){var iT="withCredentials"in new XMLHttpRequest;return Object.defineProperty(iS,"SUPPORT_CORS_XHR",{value:iT}),iT},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var iO=!!("u">typeof Intl&&Intl.Segmenter);return Object.defineProperty(iS,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:iO}),iO}},iM=function(e,A){this.text=e,this.bounds=A},ix=function(e,A,t,n){var r=iV(A,t),o=[],i=0;return r.forEach(function(A){if(t.textDecorationLine.length||A.trim().length>0)if(iS.SUPPORT_RANGE_BOUNDS){var r=iL(n,i,A.length).getClientRects();if(r.length>1){var a=iN(A),s=0;a.forEach(function(A){o.push(new iM(A,tK.fromDOMRectList(e,iL(n,s+i,A.length).getClientRects()))),s+=A.length})}else o.push(new iM(A,tK.fromDOMRectList(e,r)))}else{var l=n.splitText(A.length);o.push(new iM(A,iH(e,n))),n=l}else iS.SUPPORT_RANGE_BOUNDS||(n=n.splitText(A.length));i+=A.length}),o},iH=function(e,A){var t=A.ownerDocument;if(t){var n=t.createElement("html2canvaswrapper");n.appendChild(A.cloneNode(!0));var r=A.parentNode;if(r){r.replaceChild(n,A);var o=tj(e,n);return n.firstChild&&r.replaceChild(n.firstChild,n),o}}return tK.EMPTY},iL=function(e,A,t){var n=e.ownerDocument;if(!n)throw Error("Node has no owner document");var r=n.createRange();return r.setStart(e,A),r.setEnd(e,A+t),r},iN=function(e){return iS.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e)).map(function(e){return e.segment}):im(e)},iV=function(e,A){return 0!==A.letterSpacing?iN(e):iS.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"word"}).segment(e)).map(function(e){return e.segment}):i_(e,A)},iR=[32,160,4961,65792,65793,4153,4241],i_=function(e,A){for(var t,n=nd(e,{lineBreak:A.lineBreak,wordBreak:"break-word"===A.overflowWrap?"break-word":A.wordBreak}),r=[];!(t=n.next()).done;)!function(){if(t.value){var e=tW(t.value.slice()),A="";e.forEach(function(e){-1===iR.indexOf(e)?A+=tz(e):(A.length&&r.push(A),r.push(tz(e)),A="")}),A.length&&r.push(A)}}();return r},ik=function(e,A,t){this.text=iP(A.data,t.textTransform),this.textBounds=ix(e,this.text,t,A)},iP=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace(iG,iK);case 2:return e.toUpperCase();default:return e}},iG=/(^|\s|:|-|\(|\))([a-z])/g,iK=function(e,A,t){return e.length>0?A+t.toUpperCase():e},ij=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.src=t.currentSrc||t.src,n.intrinsicWidth=t.naturalWidth,n.intrinsicHeight=t.naturalHeight,n.context.cache.addImage(n.src),n}return tR(A,e),A}(o5),iY=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.canvas=t,n.intrinsicWidth=t.width,n.intrinsicHeight=t.height,n}return tR(A,e),A}(o5),iW=function(e){function A(A,t){var n=e.call(this,A,t)||this,r=new XMLSerializer,o=tj(A,t);return t.setAttribute("width",o.width+"px"),t.setAttribute("height",o.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(t)),n.intrinsicWidth=t.width.baseVal.value,n.intrinsicHeight=t.height.baseVal.value,n.context.cache.addImage(n.svg),n}return tR(A,e),A}(o5),iz=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.value=t.value,n}return tR(A,e),A}(o5),iJ=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.start=t.start,n.reversed="boolean"==typeof t.reversed&&!0===t.reversed,n}return tR(A,e),A}(o5),iX=[{type:15,flags:0,unit:"px",number:3}],iq=[{type:16,flags:0,number:50}],i$=function(e){var A=e.type===i1?Array(e.value.length+1).join("•"):e.value;return 0===A.length?e.placeholder||"":A},iZ="checkbox",i0="radio",i1="password",i3=function(e){function A(A,t){var n,r=e.call(this,A,t)||this;switch(r.type=t.type.toLowerCase(),r.checked=t.checked,r.value=i$(t),(r.type===iZ||r.type===i0)&&(r.styles.backgroundColor=0xdededeff,r.styles.borderTopColor=r.styles.borderRightColor=r.styles.borderBottomColor=r.styles.borderLeftColor=0xa5a5a5ff,r.styles.borderTopWidth=r.styles.borderRightWidth=r.styles.borderBottomWidth=r.styles.borderLeftWidth=1,r.styles.borderTopStyle=r.styles.borderRightStyle=r.styles.borderBottomStyle=r.styles.borderLeftStyle=1,r.styles.backgroundClip=[0],r.styles.backgroundOrigin=[0],r.bounds=(n=r.bounds).width>n.height?new tK(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width<n.height?new tK(n.left,n.top+(n.height-n.width)/2,n.width,n.width):n),r.type){case iZ:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=iX;break;case i0:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=iq}return r}return tR(A,e),A}(o5),i4=function(e){function A(A,t){var n=e.call(this,A,t)||this,r=t.options[t.selectedIndex||0];return n.value=r&&r.text||"",n}return tR(A,e),A}(o5),i2=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.value=t.value,n}return tR(A,e),A}(o5),i6=function(e){function A(A,t){var n=e.call(this,A,t)||this;n.src=t.src,n.width=parseInt(t.width,10)||0,n.height=parseInt(t.height,10)||0,n.backgroundColor=n.styles.backgroundColor;try{if(t.contentWindow&&t.contentWindow.document&&t.contentWindow.document.documentElement){n.tree=i7(A,t.contentWindow.document.documentElement);var r=t.contentWindow.document.documentElement?rp(A,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):rm.TRANSPARENT,o=t.contentWindow.document.body?rp(A,getComputedStyle(t.contentWindow.document.body).backgroundColor):rm.TRANSPARENT;n.backgroundColor=ri(r)?ri(o)?n.styles.backgroundColor:o:r}}catch(e){}return n}return tR(A,e),A}(o5),i9=["OL","UL","MENU"],i8=function(e,A,t,n){for(var r=A.firstChild,o=void 0;r;r=o)if(o=r.nextSibling,at(r)&&r.data.trim().length>0)t.textNodes.push(new ik(e,r,t.styles));else if(an(r))if(aw(r)&&r.assignedNodes)r.assignedNodes().forEach(function(A){return i8(e,A,t,n)});else{var i=i5(e,r);i.styles.isVisible()&&(ae(r,i,n)?i.flags|=4:aA(i.styles)&&(i.flags|=2),-1!==i9.indexOf(r.tagName)&&(i.flags|=8),t.elements.push(i),r.slot,r.shadowRoot?i8(e,r.shadowRoot,i,n):af(r)||al(r)||ah(r)||i8(e,r,i,n))}},i5=function(e,A){return ag(A)?new ij(e,A):au(A)?new iY(e,A):al(A)?new iW(e,A):ai(A)?new iz(e,A):aa(A)?new iJ(e,A):as(A)?new i3(e,A):ah(A)?new i4(e,A):af(A)?new i2(e,A):ap(A)?new i6(e,A):new o5(e,A)},i7=function(e,A){var t=i5(e,A);return t.flags|=4,i8(e,A,t,t),t},ae=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||ac(e)&&t.styles.isTransparent()},aA=function(e){return e.isPositioned()||e.isFloating()},at=function(e){return e.nodeType===Node.TEXT_NODE},an=function(e){return e.nodeType===Node.ELEMENT_NODE},ar=function(e){return an(e)&&void 0!==e.style&&!ao(e)},ao=function(e){return"object"==typeof e.className},ai=function(e){return"LI"===e.tagName},aa=function(e){return"OL"===e.tagName},as=function(e){return"INPUT"===e.tagName},al=function(e){return"svg"===e.tagName},ac=function(e){return"BODY"===e.tagName},au=function(e){return"CANVAS"===e.tagName},ad=function(e){return"VIDEO"===e.tagName},ag=function(e){return"IMG"===e.tagName},ap=function(e){return"IFRAME"===e.tagName},am=function(e){return"STYLE"===e.tagName},af=function(e){return"TEXTAREA"===e.tagName},ah=function(e){return"SELECT"===e.tagName},aw=function(e){return"SLOT"===e.tagName},aB=function(e){return e.tagName.indexOf("-")>0},ay=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var A=this.counters[e];return A&&A.length?A[A.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var A=this;e.forEach(function(e){return A.counters[e].pop()})},e.prototype.parse=function(e){var A=this,t=e.counterIncrement,n=e.counterReset,r=!0;null!==t&&t.forEach(function(e){var t=A.counters[e.counter];t&&0!==e.increment&&(r=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=e.increment)});var o=[];return r&&n.forEach(function(e){var t=A.counters[e.counter];o.push(e.counter),t||(t=A.counters[e.counter]=[]),t.push(e.reset)}),o},e}(),av={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},aC={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},aE={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},aS={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},aI=function(e,A,t,n,r,o){return e<A||e>t?ax(e,r,o.length>0):n.integers.reduce(function(A,t,r){for(;e>=t;)e-=t,A+=n.values[r];return A},"")+o},aU=function(e,A,t,n){var r="";do!t&&e--,r=n(e)+r,e/=A;while(e*A>=A)return r},ab=function(e,A,t,n,r){var o=t-A+1;return(e<0?"-":"")+(aU(Math.abs(e),o,n,function(e){return tz(Math.floor(e%o)+A)})+r)},aF=function(e,A,t){void 0===t&&(t=". ");var n=A.length;return aU(Math.abs(e),n,!1,function(e){return A[Math.floor(e%n)]})+t},aQ=function(e,A,t,n,r,o){if(e<-9999||e>9999)return ax(e,4,r.length>0);var i=Math.abs(e),a=r;if(0===i)return A[0]+a;for(var s=0;i>0&&s<=4;s++){var l=i%10;0===l&&oj(o,1)&&""!==a?a=A[l]+a:l>1||1===l&&0===s||1===l&&1===s&&oj(o,2)||1===l&&1===s&&oj(o,4)&&e>100||1===l&&s>1&&oj(o,8)?a=A[l]+(s>0?t[s-1]:"")+a:1===l&&s>0&&(a=t[s-1]+a),i=Math.floor(i/10)}return(e<0?n:"")+a},aD="十百千萬",aT="拾佰仟萬",aO="マイナス",aM="마이너스",ax=function(e,A,t){var n=t?". ":"",r=t?"、":"",o=t?", ":"",i=t?" ":"";switch(A){case 0:return"•"+i;case 1:return"◦"+i;case 2:return"◾"+i;case 5:var a=ab(e,48,57,!0,n);return a.length<4?"0"+a:a;case 4:return aF(e,"〇一二三四五六七八九",r);case 6:return aI(e,1,3999,av,3,n).toLowerCase();case 7:return aI(e,1,3999,av,3,n);case 8:return ab(e,945,969,!1,n);case 9:return ab(e,97,122,!1,n);case 10:return ab(e,65,90,!1,n);case 11:return ab(e,1632,1641,!0,n);case 12:case 49:return aI(e,1,9999,aC,3,n);case 35:return aI(e,1,9999,aC,3,n).toLowerCase();case 13:return ab(e,2534,2543,!0,n);case 14:case 30:return ab(e,6112,6121,!0,n);case 15:return aF(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return aF(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return aQ(e,"零一二三四五六七八九",aD,"負",r,14);case 47:return aQ(e,"零壹貳參肆伍陸柒捌玖",aT,"負",r,15);case 42:return aQ(e,"零一二三四五六七八九",aD,"负",r,14);case 41:return aQ(e,"零壹贰叁肆伍陆柒捌玖",aT,"负",r,15);case 26:return aQ(e,"〇一二三四五六七八九","十百千万",aO,r,0);case 25:return aQ(e,"零壱弐参四伍六七八九","拾百千万",aO,r,7);case 31:return aQ(e,"영일이삼사오육칠팔구","십백천만",aM,o,7);case 33:return aQ(e,"零一二三四五六七八九","十百千萬",aM,o,0);case 32:return aQ(e,"零壹貳參四五六七八九","拾百千",aM,o,7);case 18:return ab(e,2406,2415,!0,n);case 20:return aI(e,1,19999,aS,3,n);case 21:return ab(e,2790,2799,!0,n);case 22:return ab(e,2662,2671,!0,n);case 22:return aI(e,1,10999,aE,3,n);case 23:return aF(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return aF(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return ab(e,3302,3311,!0,n);case 28:return aF(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return aF(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return ab(e,3792,3801,!0,n);case 37:return ab(e,6160,6169,!0,n);case 38:return ab(e,4160,4169,!0,n);case 39:return ab(e,2918,2927,!0,n);case 40:return ab(e,1776,1785,!0,n);case 43:return ab(e,3046,3055,!0,n);case 44:return ab(e,3174,3183,!0,n);case 45:return ab(e,3664,3673,!0,n);case 46:return ab(e,3872,3881,!0,n);default:return ab(e,48,57,!0,n)}},aH="data-html2canvas-ignore",aL=function(){function e(e,A,t){if(this.context=e,this.options=t,this.scrolledElements=[],this.referenceElement=A,this.counters=new ay,this.quoteDepth=0,!A.ownerDocument)throw Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(A.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,A){var t=this,n=aN(e,A);if(!n.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,o=e.defaultView.pageYOffset,i=n.contentWindow,a=i.document,s=a_(n).then(function(){return tk(t,void 0,void 0,function(){var e,t;return tP(this,function(r){switch(r.label){case 0:if(this.scrolledElements.forEach(aj),i&&(i.scrollTo(A.left,A.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(i.scrollY!==A.top||i.scrollX!==A.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(i.scrollX-A.left,i.scrollY-A.top,0,0))),e=this.options.onclone,void 0===(t=this.clonedReferenceElement))return[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")];if(!(a.fonts&&a.fonts.ready))return[3,2];return[4,a.fonts.ready];case 1:r.sent(),r.label=2;case 2:if(!/(AppleWebKit)/g.test(navigator.userAgent))return[3,4];return[4,aR(a)];case 3:r.sent(),r.label=4;case 4:if("function"==typeof e)return[2,Promise.resolve().then(function(){return e(a,t)}).then(function(){return n})];return[2,n]}})})});return a.open(),a.write(aG(document.doctype)+"<html></html>"),aK(this.referenceElement.ownerDocument,r,o),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),s},e.prototype.createElementClone=function(e){if(o8(e,2),au(e))return this.createCanvasClone(e);if(ad(e))return this.createVideoClone(e);if(am(e))return this.createStyleClone(e);var A=e.cloneNode(!1);return(ag(A)&&(ag(e)&&e.currentSrc&&e.currentSrc!==e.src&&(A.src=e.currentSrc,A.srcset=""),"lazy"===A.loading&&(A.loading="eager")),aB(A))?this.createCustomElementClone(A):A},e.prototype.createCustomElementClone=function(e){var A=document.createElement("html2canvascustomelement");return aP(e.style,A),A},e.prototype.createStyleClone=function(e){try{var A=e.sheet;if(A&&A.cssRules){var t=[].slice.call(A.cssRules,0).reduce(function(e,A){return A&&"string"==typeof A.cssText?e+A.cssText:e},""),n=e.cloneNode(!1);return n.textContent=t,n}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){if(this.options.inlineImages&&e.ownerDocument){var A,t=e.ownerDocument.createElement("img");try{return t.src=e.toDataURL(),t}catch(A){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var r=e.getContext("2d"),o=n.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var i=null!=(A=e.getContext("webgl2"))?A:e.getContext("webgl");if(i){var a=i.getContextAttributes();(null==a?void 0:a.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}o.drawImage(e,0,0)}}catch(A){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return n},e.prototype.createVideoClone=function(e){var A=e.ownerDocument.createElement("canvas");A.width=e.offsetWidth,A.height=e.offsetHeight;var t=A.getContext("2d");try{return t&&(t.drawImage(e,0,0,A.width,A.height),this.options.allowTaint||t.getImageData(0,0,A.width,A.height)),A}catch(A){this.context.logger.info("Unable to clone video as it is tainted",e)}var n=e.ownerDocument.createElement("canvas");return n.width=e.offsetWidth,n.height=e.offsetHeight,n},e.prototype.appendChildNode=function(e,A,t){an(A)&&("SCRIPT"===A.tagName||A.hasAttribute(aH)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(A))||this.options.copyStyles&&an(A)&&am(A)||e.appendChild(this.cloneNode(A,t))},e.prototype.cloneChildNodes=function(e,A,t){for(var n=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(an(r)&&aw(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach(function(e){return n.appendChildNode(A,e,t)})}else this.appendChildNode(A,r,t)},e.prototype.cloneNode=function(e,A){if(at(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var t=e.ownerDocument.defaultView;if(t&&an(e)&&(ar(e)||ao(e))){var n=this.createElementClone(e);n.style.transitionProperty="none";var r=t.getComputedStyle(e),o=t.getComputedStyle(e,":before"),i=t.getComputedStyle(e,":after");this.referenceElement===e&&ar(n)&&(this.clonedReferenceElement=n),ac(n)&&aJ(n);var a=this.counters.parse(new o2(this.context,r)),s=this.resolvePseudoContent(e,n,o,U.BEFORE);aB(e)&&(A=!0),ad(e)||this.cloneChildNodes(e,n,A),s&&n.insertBefore(s,n.firstChild);var l=this.resolvePseudoContent(e,n,i,U.AFTER);return l&&n.appendChild(l),this.counters.pop(a),(r&&(this.options.copyStyles||ao(e))&&!ap(e)||A)&&aP(r,n),(0!==e.scrollTop||0!==e.scrollLeft)&&this.scrolledElements.push([n,e.scrollLeft,e.scrollTop]),(af(e)||ah(e))&&(af(n)||ah(n))&&(n.value=e.value),n}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,A,t,n){var r=this;if(t){var o=t.content,i=A.ownerDocument;if(i&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==t.display){this.counters.parse(new o2(this.context,t));var a=new o4(this.context,t),s=i.createElement("html2canvaspseudoelement");aP(t,s),a.content.forEach(function(A){if(0===A.type)s.appendChild(i.createTextNode(A.value));else if(22===A.type){var t=i.createElement("img");t.src=A.value,t.style.opacity="1",s.appendChild(t)}else if(18===A.type){if("attr"===A.name){var n=A.values.filter(nz);n.length&&s.appendChild(i.createTextNode(e.getAttribute(n[0].value)||""))}else if("counter"===A.name){var o=A.values.filter(n$),l=o[0],c=o[1];if(l&&nz(l)){var u=r.counters.getCounterValue(l.value),d=c&&nz(c)?ou.parse(r.context,c.value):3;s.appendChild(i.createTextNode(ax(u,d,!1)))}}else if("counters"===A.name){var g=A.values.filter(n$),l=g[0],p=g[1],c=g[2];if(l&&nz(l)){var m=r.counters.getCounterValues(l.value),f=c&&nz(c)?ou.parse(r.context,c.value):3,h=p&&0===p.type?p.value:"",w=m.map(function(e){return ax(e,f,!1)}).join(h);s.appendChild(i.createTextNode(w))}}}else if(20===A.type)switch(A.value){case"open-quote":s.appendChild(i.createTextNode(oq(a.quotes,r.quoteDepth++,!0)));break;case"close-quote":s.appendChild(i.createTextNode(oq(a.quotes,--r.quoteDepth,!1)));break;default:s.appendChild(i.createTextNode(A.value))}}),s.className=aY+" "+aW;var l=n===U.BEFORE?" "+aY:" "+aW;return ao(A)?A.className.baseValue+=l:A.className+=l,s}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();(h=U||(U={}))[h.BEFORE=0]="BEFORE",h[h.AFTER=1]="AFTER";var aN=function(e,A){var t=e.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=A.width.toString(),t.height=A.height.toString(),t.scrolling="no",t.setAttribute(aH,"true"),e.body.appendChild(t),t},aV=function(e){return new Promise(function(A){e.complete||!e.src?A():(e.onload=A,e.onerror=A)})},aR=function(e){return Promise.all([].slice.call(e.images,0).map(aV))},a_=function(e){return new Promise(function(A,t){var n=e.contentWindow;if(!n)return t("No window assigned for iframe");var r=n.document;n.onload=e.onload=function(){n.onload=e.onload=null;var t=setInterval(function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(t),A(e))},50)}})},ak=["all","d","content"],aP=function(e,A){for(var t=e.length-1;t>=0;t--){var n=e.item(t);-1===ak.indexOf(n)&&A.style.setProperty(n,e.getPropertyValue(n))}return A},aG=function(e){var A="";return e&&(A+="<!DOCTYPE ",e.name&&(A+=e.name),e.internalSubset&&(A+=e.internalSubset),e.publicId&&(A+='"'+e.publicId+'"'),e.systemId&&(A+='"'+e.systemId+'"'),A+=">"),A},aK=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},aj=function(e){var A=e[0],t=e[1],n=e[2];A.scrollLeft=t,A.scrollTop=n},aY="___html2canvas___pseudoelement_before",aW="___html2canvas___pseudoelement_after",az='{\n content: "" !important;\n display: none !important;\n}',aJ=function(e){aX(e,"."+aY+":before"+az+"\n ."+aW+":after"+az)},aX=function(e,A){var t=e.ownerDocument;if(t){var n=t.createElement("style");n.textContent=A,e.appendChild(n)}},aq=function(){function e(){}return e.getOrigin=function(A){var t=e._link;return t?(t.href=A,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},e.isSameOrigin=function(A){return e.getOrigin(A)===e._origin},e.setContext=function(A){e._link=A.document.createElement("a"),e._origin=e.getOrigin(A.location.href)},e._origin="about:blank",e}(),a$=function(){function e(e,A){this.context=e,this._options=A,this._cache={}}return e.prototype.addImage=function(e){var A=Promise.resolve();return this.has(e)||(a6(e)||a3(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),A},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return tk(this,void 0,void 0,function(){var A,t,n,r,o=this;return tP(this,function(i){switch(i.label){case 0:if(A=aq.isSameOrigin(e),t=!a4(e)&&!0===this._options.useCORS&&iS.SUPPORT_CORS_IMAGES&&!A,n=!a4(e)&&!A&&!a6(e)&&"string"==typeof this._options.proxy&&iS.SUPPORT_CORS_XHR&&!t,!A&&!1===this._options.allowTaint&&!a4(e)&&!a6(e)&&!n&&!t)return[2];if(r=e,!n)return[3,2];return[4,this.proxy(r)];case 1:r=i.sent(),i.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(e,A){var n=new Image;n.onload=function(){return e(n)},n.onerror=A,(a2(r)||t)&&(n.crossOrigin="anonymous"),n.src=r,!0===n.complete&&setTimeout(function(){return e(n)},500),o._options.imageTimeout>0&&setTimeout(function(){return A("Timed out ("+o._options.imageTimeout+"ms) loading image")},o._options.imageTimeout)})];case 3:return[2,i.sent()]}})})},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var A=this,t=this._options.proxy;if(!t)throw Error("No proxy defined");var n=e.substring(0,256);return new Promise(function(r,o){var i=iS.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(200===a.status)if("text"===i)r(a.response);else{var e=new FileReader;e.addEventListener("load",function(){return r(e.result)},!1),e.addEventListener("error",function(e){return o(e)},!1),e.readAsDataURL(a.response)}else o("Failed to proxy resource "+n+" with status code "+a.status)},a.onerror=o;var s=t.indexOf("?")>-1?"&":"?";if(a.open("GET",""+t+s+"url="+encodeURIComponent(e)+"&responseType="+i),"text"!==i&&a instanceof XMLHttpRequest&&(a.responseType=i),A._options.imageTimeout){var l=A._options.imageTimeout;a.timeout=l,a.ontimeout=function(){return o("Timed out ("+l+"ms) proxying "+n)}}a.send()})},e}(),aZ=/^data:image\/svg\+xml/i,a0=/^data:image\/.*;base64,/i,a1=/^data:image\/.*/i,a3=function(e){return iS.SUPPORT_SVG_DRAWING||!a9(e)},a4=function(e){return a1.test(e)},a2=function(e){return a0.test(e)},a6=function(e){return"blob"===e.substr(0,4)},a9=function(e){return"svg"===e.substr(-3).toLowerCase()||aZ.test(e)},a8=function(){function e(e,A){this.type=0,this.x=e,this.y=A}return e.prototype.add=function(A,t){return new e(this.x+A,this.y+t)},e}(),a5=function(e,A,t){return new a8(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},a7=function(){function e(e,A,t,n){this.type=1,this.start=e,this.startControl=A,this.endControl=t,this.end=n}return e.prototype.subdivide=function(A,t){var n=a5(this.start,this.startControl,A),r=a5(this.startControl,this.endControl,A),o=a5(this.endControl,this.end,A),i=a5(n,r,A),a=a5(r,o,A),s=a5(i,a,A);return t?new e(this.start,n,i,s):new e(s,a,o,this.end)},e.prototype.add=function(A,t){return new e(this.start.add(A,t),this.startControl.add(A,t),this.endControl.add(A,t),this.end.add(A,t))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),se=function(e){return 1===e.type},sA=function(e){var A=e.styles,t=e.bounds,n=n8(A.borderTopLeftRadius,t.width,t.height),r=n[0],o=n[1],i=n8(A.borderTopRightRadius,t.width,t.height),a=i[0],s=i[1],l=n8(A.borderBottomRightRadius,t.width,t.height),c=l[0],u=l[1],d=n8(A.borderBottomLeftRadius,t.width,t.height),g=d[0],p=d[1],m=[];m.push((r+a)/t.width),m.push((g+c)/t.width),m.push((o+p)/t.height),m.push((s+u)/t.height);var f=Math.max.apply(Math,m);f>1&&(r/=f,o/=f,a/=f,s/=f,c/=f,u/=f,g/=f,p/=f);var h=t.width-a,w=t.height-u,B=t.width-c,y=t.height-p,v=A.borderTopWidth,C=A.borderRightWidth,E=A.borderBottomWidth,S=A.borderLeftWidth,I=n5(A.paddingTop,e.bounds.width),U=n5(A.paddingRight,e.bounds.width),F=n5(A.paddingBottom,e.bounds.width),Q=n5(A.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?st(t.left+S/3,t.top+v/3,r-S/3,o-v/3,b.TOP_LEFT):new a8(t.left+S/3,t.top+v/3),this.topRightBorderDoubleOuterBox=r>0||o>0?st(t.left+h,t.top+v/3,a-C/3,s-v/3,b.TOP_RIGHT):new a8(t.left+t.width-C/3,t.top+v/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?st(t.left+B,t.top+w,c-C/3,u-E/3,b.BOTTOM_RIGHT):new a8(t.left+t.width-C/3,t.top+t.height-E/3),this.bottomLeftBorderDoubleOuterBox=g>0||p>0?st(t.left+S/3,t.top+y,g-S/3,p-E/3,b.BOTTOM_LEFT):new a8(t.left+S/3,t.top+t.height-E/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?st(t.left+2*S/3,t.top+2*v/3,r-2*S/3,o-2*v/3,b.TOP_LEFT):new a8(t.left+2*S/3,t.top+2*v/3),this.topRightBorderDoubleInnerBox=r>0||o>0?st(t.left+h,t.top+2*v/3,a-2*C/3,s-2*v/3,b.TOP_RIGHT):new a8(t.left+t.width-2*C/3,t.top+2*v/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?st(t.left+B,t.top+w,c-2*C/3,u-2*E/3,b.BOTTOM_RIGHT):new a8(t.left+t.width-2*C/3,t.top+t.height-2*E/3),this.bottomLeftBorderDoubleInnerBox=g>0||p>0?st(t.left+2*S/3,t.top+y,g-2*S/3,p-2*E/3,b.BOTTOM_LEFT):new a8(t.left+2*S/3,t.top+t.height-2*E/3),this.topLeftBorderStroke=r>0||o>0?st(t.left+S/2,t.top+v/2,r-S/2,o-v/2,b.TOP_LEFT):new a8(t.left+S/2,t.top+v/2),this.topRightBorderStroke=r>0||o>0?st(t.left+h,t.top+v/2,a-C/2,s-v/2,b.TOP_RIGHT):new a8(t.left+t.width-C/2,t.top+v/2),this.bottomRightBorderStroke=c>0||u>0?st(t.left+B,t.top+w,c-C/2,u-E/2,b.BOTTOM_RIGHT):new a8(t.left+t.width-C/2,t.top+t.height-E/2),this.bottomLeftBorderStroke=g>0||p>0?st(t.left+S/2,t.top+y,g-S/2,p-E/2,b.BOTTOM_LEFT):new a8(t.left+S/2,t.top+t.height-E/2),this.topLeftBorderBox=r>0||o>0?st(t.left,t.top,r,o,b.TOP_LEFT):new a8(t.left,t.top),this.topRightBorderBox=a>0||s>0?st(t.left+h,t.top,a,s,b.TOP_RIGHT):new a8(t.left+t.width,t.top),this.bottomRightBorderBox=c>0||u>0?st(t.left+B,t.top+w,c,u,b.BOTTOM_RIGHT):new a8(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=g>0||p>0?st(t.left,t.top+y,g,p,b.BOTTOM_LEFT):new a8(t.left,t.top+t.height),this.topLeftPaddingBox=r>0||o>0?st(t.left+S,t.top+v,Math.max(0,r-S),Math.max(0,o-v),b.TOP_LEFT):new a8(t.left+S,t.top+v),this.topRightPaddingBox=a>0||s>0?st(t.left+Math.min(h,t.width-C),t.top+v,h>t.width+C?0:Math.max(0,a-C),Math.max(0,s-v),b.TOP_RIGHT):new a8(t.left+t.width-C,t.top+v),this.bottomRightPaddingBox=c>0||u>0?st(t.left+Math.min(B,t.width-S),t.top+Math.min(w,t.height-E),Math.max(0,c-C),Math.max(0,u-E),b.BOTTOM_RIGHT):new a8(t.left+t.width-C,t.top+t.height-E),this.bottomLeftPaddingBox=g>0||p>0?st(t.left+S,t.top+Math.min(y,t.height-E),Math.max(0,g-S),Math.max(0,p-E),b.BOTTOM_LEFT):new a8(t.left+S,t.top+t.height-E),this.topLeftContentBox=r>0||o>0?st(t.left+S+Q,t.top+v+I,Math.max(0,r-(S+Q)),Math.max(0,o-(v+I)),b.TOP_LEFT):new a8(t.left+S+Q,t.top+v+I),this.topRightContentBox=a>0||s>0?st(t.left+Math.min(h,t.width+S+Q),t.top+v+I,h>t.width+S+Q?0:a-S+Q,s-(v+I),b.TOP_RIGHT):new a8(t.left+t.width-(C+U),t.top+v+I),this.bottomRightContentBox=c>0||u>0?st(t.left+Math.min(B,t.width-(S+Q)),t.top+Math.min(w,t.height+v+I),Math.max(0,c-(C+U)),u-(E+F),b.BOTTOM_RIGHT):new a8(t.left+t.width-(C+U),t.top+t.height-(E+F)),this.bottomLeftContentBox=g>0||p>0?st(t.left+S+Q,t.top+y,Math.max(0,g-(S+Q)),p-(E+F),b.BOTTOM_LEFT):new a8(t.left+S+Q,t.top+t.height-(E+F))};(w=b||(b={}))[w.TOP_LEFT=0]="TOP_LEFT",w[w.TOP_RIGHT=1]="TOP_RIGHT",w[w.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",w[w.BOTTOM_LEFT=3]="BOTTOM_LEFT";var st=function(e,A,t,n,r){var o=(Math.sqrt(2)-1)/3*4,i=t*o,a=n*o,s=e+t,l=A+n;switch(r){case b.TOP_LEFT:return new a7(new a8(e,l),new a8(e,l-a),new a8(s-i,A),new a8(s,A));case b.TOP_RIGHT:return new a7(new a8(e,A),new a8(e+i,A),new a8(s,l-a),new a8(s,l));case b.BOTTOM_RIGHT:return new a7(new a8(s,A),new a8(s,A+a),new a8(e+i,l),new a8(e,l));case b.BOTTOM_LEFT:default:return new a7(new a8(s,l),new a8(s-i,l),new a8(e,A+a),new a8(e,A))}},sn=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},sr=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},so=function(e,A,t){this.offsetX=e,this.offsetY=A,this.matrix=t,this.type=0,this.target=6},si=function(e,A){this.path=e,this.target=A,this.type=1},sa=function(e){this.opacity=e,this.type=2,this.target=6},ss=function(e){return 1===e.type},sl=function(e,A){return e.length===A.length&&e.some(function(e,t){return e===A[t]})},sc=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},su=function(){function e(e,A){if(this.container=e,this.parent=A,this.effects=[],this.curves=new sA(this.container),this.container.styles.opacity<1&&this.effects.push(new sa(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new so(t,n,r))}if(0!==this.container.styles.overflowX){var o=sn(this.curves),i=sr(this.curves);sl(o,i)?this.effects.push(new si(o,6)):(this.effects.push(new si(o,2)),this.effects.push(new si(i,4)))}}return e.prototype.getEffects=function(e){for(var A=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,n=this.effects.slice(0);t;){var r=t.effects.filter(function(e){return!ss(e)});if(A||0!==t.container.styles.position||!t.parent){if(n.unshift.apply(n,r),A=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var o=sn(t.curves),i=sr(t.curves);sl(o,i)||n.unshift(new si(i,6))}}else n.unshift.apply(n,r);t=t.parent}return n.filter(function(A){return oj(A.target,e)})},e}(),sd=function(e,A,t,n){e.container.elements.forEach(function(r){var o=oj(r.flags,4),i=oj(r.flags,2),a=new su(r,e);oj(r.styles.display,2048)&&n.push(a);var s=oj(r.flags,8)?[]:n;if(o||i){var l=o||r.styles.isPositioned()?t:A,c=new sc(a);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var d=0;l.negativeZIndex.some(function(e,A){if(u>e.element.container.styles.zIndex.order)d=A;else if(d>0)return!0;return!1}),l.negativeZIndex.splice(d,0,c)}else if(u>0){var g=0;l.positiveZIndex.some(function(e,A){if(u>=e.element.container.styles.zIndex.order)g=A+1;else if(g>0)return!0;return!1}),l.positiveZIndex.splice(g,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else r.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);sd(a,c,o?c:t,s)}else r.styles.isInlineLevel()?A.inlineLevel.push(a):A.nonInlineLevel.push(a),sd(a,A,t,s);oj(r.flags,8)&&sg(r,s)})},sg=function(e,A){for(var t=e instanceof iJ?e.start:1,n=e instanceof iJ&&e.reversed,r=0;r<A.length;r++){var o=A[r];o.container instanceof iz&&"number"==typeof o.container.value&&0!==o.container.value&&(t=o.container.value),o.listValue=ax(t,o.container.styles.listStyleType,!0),t+=n?-1:1}},sp=function(e){var A=new su(e,null),t=new sc(A),n=[];return sd(A,t,t,n),sg(A.container,n),t},sm=function(e,A){switch(A){case 0:return sy(e.topLeftBorderBox,e.topLeftPaddingBox,e.topRightBorderBox,e.topRightPaddingBox);case 1:return sy(e.topRightBorderBox,e.topRightPaddingBox,e.bottomRightBorderBox,e.bottomRightPaddingBox);case 2:return sy(e.bottomRightBorderBox,e.bottomRightPaddingBox,e.bottomLeftBorderBox,e.bottomLeftPaddingBox);default:return sy(e.bottomLeftBorderBox,e.bottomLeftPaddingBox,e.topLeftBorderBox,e.topLeftPaddingBox)}},sf=function(e,A){switch(A){case 0:return sy(e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox,e.topRightBorderBox,e.topRightBorderDoubleOuterBox);case 1:return sy(e.topRightBorderBox,e.topRightBorderDoubleOuterBox,e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox);case 2:return sy(e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox,e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox);default:return sy(e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox,e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox)}},sh=function(e,A){switch(A){case 0:return sy(e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox,e.topRightBorderDoubleInnerBox,e.topRightPaddingBox);case 1:return sy(e.topRightBorderDoubleInnerBox,e.topRightPaddingBox,e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox);case 2:return sy(e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox,e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox);default:return sy(e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox,e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox)}},sw=function(e,A){switch(A){case 0:return sB(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return sB(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return sB(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return sB(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}},sB=function(e,A){var t=[];return se(e)?t.push(e.subdivide(.5,!1)):t.push(e),se(A)?t.push(A.subdivide(.5,!0)):t.push(A),t},sy=function(e,A,t,n){var r=[];return se(e)?r.push(e.subdivide(.5,!1)):r.push(e),se(t)?r.push(t.subdivide(.5,!0)):r.push(t),se(n)?r.push(n.subdivide(.5,!0).reverse()):r.push(n),se(A)?r.push(A.subdivide(.5,!1).reverse()):r.push(A),r},sv=function(e){var A=e.bounds,t=e.styles;return A.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},sC=function(e){var A=e.styles,t=e.bounds,n=n5(A.paddingLeft,t.width),r=n5(A.paddingRight,t.width),o=n5(A.paddingTop,t.width),i=n5(A.paddingBottom,t.width);return t.add(n+A.borderLeftWidth,o+A.borderTopWidth,-(A.borderRightWidth+A.borderLeftWidth+n+r),-(A.borderTopWidth+A.borderBottomWidth+o+i))},sE=function(e,A,t){var n,r,o=(n=sb(e.styles.backgroundOrigin,A),0===n?e.bounds:2===n?sC(e):sv(e)),i=(r=sb(e.styles.backgroundClip,A),0===r?e.bounds:2===r?sC(e):sv(e)),a=sU(sb(e.styles.backgroundSize,A),t,o),s=a[0],l=a[1],c=n8(sb(e.styles.backgroundPosition,A),o.width-s,o.height-l);return[sF(sb(e.styles.backgroundRepeat,A),c,a,o,i),Math.round(o.left+c[0]),Math.round(o.top+c[1]),s,l]},sS=function(e){return nz(e)&&e.value===E.AUTO},sI=function(e){return"number"==typeof e},sU=function(e,A,t){var n=A[0],r=A[1],o=A[2],i=e[0],a=e[1];if(!i)return[0,0];if(n3(i)&&a&&n3(a))return[n5(i,t.width),n5(a,t.height)];var s=sI(o);if(nz(i)&&(i.value===E.CONTAIN||i.value===E.COVER))return sI(o)?t.width/t.height<o!=(i.value===E.COVER)?[t.width,t.width/o]:[t.height*o,t.height]:[t.width,t.height];var l=sI(n),c=sI(r),u=l||c;if(sS(i)&&(!a||sS(a)))return l&&c?[n,r]:s||u?u&&s?[l?n:r*o,c?r:n/o]:[l?n:t.width,c?r:t.height]:[t.width,t.height];if(s){var d=0,g=0;return n3(i)?d=n5(i,t.width):n3(a)&&(g=n5(a,t.height)),sS(i)?d=g*o:(!a||sS(a))&&(g=d/o),[d,g]}var p=null,m=null;if(n3(i)?p=n5(i,t.width):a&&n3(a)&&(m=n5(a,t.height)),null!==p&&(!a||sS(a))&&(m=l&&c?p/n*r:t.height),null!==m&&sS(i)&&(p=l&&c?m/r*n:t.width),null!==p&&null!==m)return[p,m];throw Error("Unable to calculate background-size for element")},sb=function(e,A){var t=e[A];return void 0===t?e[0]:t},sF=function(e,A,t,n,r){var o=A[0],i=A[1],a=t[0],s=t[1];switch(e){case 2:return[new a8(Math.round(n.left),Math.round(n.top+i)),new a8(Math.round(n.left+n.width),Math.round(n.top+i)),new a8(Math.round(n.left+n.width),Math.round(s+n.top+i)),new a8(Math.round(n.left),Math.round(s+n.top+i))];case 3:return[new a8(Math.round(n.left+o),Math.round(n.top)),new a8(Math.round(n.left+o+a),Math.round(n.top)),new a8(Math.round(n.left+o+a),Math.round(n.height+n.top)),new a8(Math.round(n.left+o),Math.round(n.height+n.top))];case 1:return[new a8(Math.round(n.left+o),Math.round(n.top+i)),new a8(Math.round(n.left+o+a),Math.round(n.top+i)),new a8(Math.round(n.left+o+a),Math.round(n.top+i+s)),new a8(Math.round(n.left+o),Math.round(n.top+i+s))];default:return[new a8(Math.round(r.left),Math.round(r.top)),new a8(Math.round(r.left+r.width),Math.round(r.top)),new a8(Math.round(r.left+r.width),Math.round(r.height+r.top)),new a8(Math.round(r.left),Math.round(r.height+r.top))]}},sQ="Hidden Text",sD=function(){function e(e){this._data={},this._document=e}return e.prototype.parseMetrics=function(e,A){var t=this._document.createElement("div"),n=this._document.createElement("img"),r=this._document.createElement("span"),o=this._document.body;t.style.visibility="hidden",t.style.fontFamily=e,t.style.fontSize=A,t.style.margin="0",t.style.padding="0",t.style.whiteSpace="nowrap",o.appendChild(t),n.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",r.style.fontFamily=e,r.style.fontSize=A,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(sQ)),t.appendChild(r),t.appendChild(n);var i=n.offsetTop-r.offsetTop+2;t.removeChild(r),t.appendChild(this._document.createTextNode(sQ)),t.style.lineHeight="normal",n.style.verticalAlign="super";var a=n.offsetTop-t.offsetTop+2;return o.removeChild(t),{baseline:i,middle:a}},e.prototype.getMetrics=function(e,A){var t=e+" "+A;return void 0===this._data[t]&&(this._data[t]=this.parseMetrics(e,A)),this._data[t]},e}(),sT=function(e,A){this.context=e,this.options=A},sO=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n._activeEffects=[],n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),t.canvas||(n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px"),n.fontMetrics=new sD(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+t.width+"x"+t.height+") with scale "+t.scale),n}return tR(A,e),A.prototype.applyEffects=function(e){for(var A=this;this._activeEffects.length;)this.popEffect();e.forEach(function(e){return A.applyEffect(e)})},A.prototype.applyEffect=function(e){this.ctx.save(),2===e.type&&(this.ctx.globalAlpha=e.opacity),0===e.type&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),ss(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},A.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},A.prototype.renderStack=function(e){return tk(this,void 0,void 0,function(){return tP(this,function(A){switch(A.label){case 0:if(!e.element.container.styles.isVisible())return[3,2];return[4,this.renderStackContent(e)];case 1:A.sent(),A.label=2;case 2:return[2]}})})},A.prototype.renderNode=function(e){return tk(this,void 0,void 0,function(){return tP(this,function(A){switch(A.label){case 0:if(oj(e.container.flags,16),!e.container.styles.isVisible())return[3,3];return[4,this.renderNodeBackgroundAndBorders(e)];case 1:return A.sent(),[4,this.renderNodeContent(e)];case 2:A.sent(),A.label=3;case 3:return[2]}})})},A.prototype.renderTextWithLetterSpacing=function(e,A,t){var n=this;0===A?this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+t):iN(e.text).reduce(function(A,r){return n.ctx.fillText(r,A,e.bounds.top+t),A+n.ctx.measureText(r).width},e.bounds.left)},A.prototype.createFontStyle=function(e){var A=e.fontVariant.filter(function(e){return"normal"===e||"small-caps"===e}).join(""),t=sN(e.fontFamily).join(", "),n=nY(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,A,e.fontWeight,n,t].join(" "),t,n]},A.prototype.renderTextNode=function(e,A){return tk(this,void 0,void 0,function(){var t,n,r,o,i,a,s,l,c=this;return tP(this,function(u){return n=(t=this.createFontStyle(A))[0],r=t[1],o=t[2],this.ctx.font=n,this.ctx.direction=1===A.direction?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",a=(i=this.fontMetrics.getMetrics(r,o)).baseline,s=i.middle,l=A.paintOrder,e.textBounds.forEach(function(e){l.forEach(function(t){switch(t){case 0:c.ctx.fillStyle=ra(A.color),c.renderTextWithLetterSpacing(e,A.letterSpacing,a);var n=A.textShadow;n.length&&e.text.trim().length&&(n.slice(0).reverse().forEach(function(t){c.ctx.shadowColor=ra(t.color),c.ctx.shadowOffsetX=t.offsetX.number*c.options.scale,c.ctx.shadowOffsetY=t.offsetY.number*c.options.scale,c.ctx.shadowBlur=t.blur.number,c.renderTextWithLetterSpacing(e,A.letterSpacing,a)}),c.ctx.shadowColor="",c.ctx.shadowOffsetX=0,c.ctx.shadowOffsetY=0,c.ctx.shadowBlur=0),A.textDecorationLine.length&&(c.ctx.fillStyle=ra(A.textDecorationColor||A.color),A.textDecorationLine.forEach(function(A){switch(A){case 1:c.ctx.fillRect(e.bounds.left,Math.round(e.bounds.top+a),e.bounds.width,1);break;case 2:c.ctx.fillRect(e.bounds.left,Math.round(e.bounds.top),e.bounds.width,1);break;case 3:c.ctx.fillRect(e.bounds.left,Math.ceil(e.bounds.top+s),e.bounds.width,1)}}));break;case 1:A.webkitTextStrokeWidth&&e.text.trim().length&&(c.ctx.strokeStyle=ra(A.webkitTextStrokeColor),c.ctx.lineWidth=A.webkitTextStrokeWidth,c.ctx.lineJoin=window.chrome?"miter":"round",c.ctx.strokeText(e.text,e.bounds.left,e.bounds.top+a)),c.ctx.strokeStyle="",c.ctx.lineWidth=0,c.ctx.lineJoin="miter"}})}),[2]})})},A.prototype.renderReplacedElement=function(e,A,t){if(t&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var n=sC(e),r=sr(A);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,e.intrinsicWidth,e.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(e){return tk(this,void 0,void 0,function(){var t,n,r,o,i,a,s,l,c,u,d,g,p,m,f,h,w,B;return tP(this,function(y){switch(y.label){case 0:this.applyEffects(e.getEffects(4)),t=e.container,n=e.curves,r=t.styles,o=0,i=t.textNodes,y.label=1;case 1:if(!(o<i.length))return[3,4];return a=i[o],[4,this.renderTextNode(a,r)];case 2:y.sent(),y.label=3;case 3:return o++,[3,1];case 4:if(!(t instanceof ij))return[3,8];y.label=5;case 5:return y.trys.push([5,7,,8]),[4,this.context.cache.match(t.src)];case 6:return s=y.sent(),this.renderReplacedElement(t,n,s),[3,8];case 7:return y.sent(),this.context.logger.error("Error loading image "+t.src),[3,8];case 8:if(t instanceof iY&&this.renderReplacedElement(t,n,t.canvas),!(t instanceof iW))return[3,12];y.label=9;case 9:return y.trys.push([9,11,,12]),[4,this.context.cache.match(t.svg)];case 10:return s=y.sent(),this.renderReplacedElement(t,n,s),[3,12];case 11:return y.sent(),this.context.logger.error("Error loading svg "+t.svg.substring(0,255)),[3,12];case 12:if(!(t instanceof i6&&t.tree))return[3,14];return[4,new A(this.context,{scale:this.options.scale,backgroundColor:t.backgroundColor,x:0,y:0,width:t.width,height:t.height}).render(t.tree)];case 13:l=y.sent(),t.width&&t.height&&this.ctx.drawImage(l,0,0,t.width,t.height,t.bounds.left,t.bounds.top,t.bounds.width,t.bounds.height),y.label=14;case 14:if(t instanceof i3&&(c=Math.min(t.bounds.width,t.bounds.height),t.type===iZ?t.checked&&(this.ctx.save(),this.path([new a8(t.bounds.left+.39363*c,t.bounds.top+.79*c),new a8(t.bounds.left+.16*c,t.bounds.top+.5549*c),new a8(t.bounds.left+.27347*c,t.bounds.top+.44071*c),new a8(t.bounds.left+.39694*c,t.bounds.top+.5649*c),new a8(t.bounds.left+.72983*c,t.bounds.top+.23*c),new a8(t.bounds.left+.84*c,t.bounds.top+.34085*c),new a8(t.bounds.left+.39363*c,t.bounds.top+.79*c)]),this.ctx.fillStyle=ra(0x2a2a2aff),this.ctx.fill(),this.ctx.restore()):t.type===i0&&t.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(t.bounds.left+c/2,t.bounds.top+c/2,c/4,0,2*Math.PI,!0),this.ctx.fillStyle=ra(0x2a2a2aff),this.ctx.fill(),this.ctx.restore())),sM(t)&&t.value.length){switch(d=(u=this.createFontStyle(r))[0],g=u[1],p=this.fontMetrics.getMetrics(d,g).baseline,this.ctx.font=d,this.ctx.fillStyle=ra(r.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=sH(t.styles.textAlign),m=sC(t),f=0,t.styles.textAlign){case 1:f+=m.width/2;break;case 2:f+=m.width}h=m.add(f,0,0,-m.height/2+1),this.ctx.save(),this.path([new a8(m.left,m.top),new a8(m.left+m.width,m.top),new a8(m.left+m.width,m.top+m.height),new a8(m.left,m.top+m.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new iM(t.value,h),r.letterSpacing,p),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!oj(t.styles.display,2048))return[3,20];if(null===t.styles.listStyleImage)return[3,19];if(0!==(w=t.styles.listStyleImage).type)return[3,18];s=void 0,B=w.url,y.label=15;case 15:return y.trys.push([15,17,,18]),[4,this.context.cache.match(B)];case 16:return s=y.sent(),this.ctx.drawImage(s,t.bounds.left-(s.width+10),t.bounds.top),[3,18];case 17:return y.sent(),this.context.logger.error("Error loading list-style-image "+B),[3,18];case 18:return[3,20];case 19:e.listValue&&-1!==t.styles.listStyleType&&(d=this.createFontStyle(r)[0],this.ctx.font=d,this.ctx.fillStyle=ra(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",m=new tK(t.bounds.left,t.bounds.top+n5(t.styles.paddingTop,t.bounds.width),t.bounds.width,os(r.lineHeight,r.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new iM(e.listValue,m),r.letterSpacing,os(r.lineHeight,r.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),y.label=20;case 20:return[2]}})})},A.prototype.renderStackContent=function(e){return tk(this,void 0,void 0,function(){var A,t,n,r,o,i,a,s,l,c,u,d,g,p,m;return tP(this,function(f){switch(f.label){case 0:return oj(e.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:f.sent(),A=0,t=e.negativeZIndex,f.label=2;case 2:if(!(A<t.length))return[3,5];return n=t[A],[4,this.renderStack(n)];case 3:f.sent(),f.label=4;case 4:return A++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:f.sent(),r=0,o=e.nonInlineLevel,f.label=7;case 7:if(!(r<o.length))return[3,10];return n=o[r],[4,this.renderNode(n)];case 8:f.sent(),f.label=9;case 9:return r++,[3,7];case 10:i=0,a=e.nonPositionedFloats,f.label=11;case 11:if(!(i<a.length))return[3,14];return n=a[i],[4,this.renderStack(n)];case 12:f.sent(),f.label=13;case 13:return i++,[3,11];case 14:s=0,l=e.nonPositionedInlineLevel,f.label=15;case 15:if(!(s<l.length))return[3,18];return n=l[s],[4,this.renderStack(n)];case 16:f.sent(),f.label=17;case 17:return s++,[3,15];case 18:c=0,u=e.inlineLevel,f.label=19;case 19:if(!(c<u.length))return[3,22];return n=u[c],[4,this.renderNode(n)];case 20:f.sent(),f.label=21;case 21:return c++,[3,19];case 22:d=0,g=e.zeroOrAutoZIndexOrTransformedOrOpacity,f.label=23;case 23:if(!(d<g.length))return[3,26];return n=g[d],[4,this.renderStack(n)];case 24:f.sent(),f.label=25;case 25:return d++,[3,23];case 26:p=0,m=e.positiveZIndex,f.label=27;case 27:if(!(p<m.length))return[3,30];return n=m[p],[4,this.renderStack(n)];case 28:f.sent(),f.label=29;case 29:return p++,[3,27];case 30:return[2]}})})},A.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},A.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},A.prototype.formatPath=function(e){var A=this;e.forEach(function(e,t){var n=se(e)?e.start:e;0===t?A.ctx.moveTo(n.x,n.y):A.ctx.lineTo(n.x,n.y),se(e)&&A.ctx.bezierCurveTo(e.startControl.x,e.startControl.y,e.endControl.x,e.endControl.y,e.end.x,e.end.y)})},A.prototype.renderRepeat=function(e,A,t,n){this.path(e),this.ctx.fillStyle=A,this.ctx.translate(t,n),this.ctx.fill(),this.ctx.translate(-t,-n)},A.prototype.resizeImage=function(e,A,t){if(e.width===A&&e.height===t)return e;var n,r=(null!=(n=this.canvas.ownerDocument)?n:document).createElement("canvas");return r.width=Math.max(1,A),r.height=Math.max(1,t),r.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,A,t),r},A.prototype.renderBackgroundImage=function(e){return tk(this,void 0,void 0,function(){var A,t,n,r,o,i;return tP(this,function(a){switch(a.label){case 0:A=e.styles.backgroundImage.length-1,t=function(t){var r,o,i,a,s,l,c,u,d,g,p,m,f,h,w,B,y,v,C,E,S,I,U,b,F,Q,D,T,O,M,x;return tP(this,function(H){switch(H.label){case 0:if(0!==t.type)return[3,5];r=void 0,o=t.url,H.label=1;case 1:return H.trys.push([1,3,,4]),[4,n.context.cache.match(o)];case 2:return r=H.sent(),[3,4];case 3:return H.sent(),n.context.logger.error("Error loading background-image "+o),[3,4];case 4:return r&&(a=(i=sE(e,A,[r.width,r.height,r.width/r.height]))[0],s=i[1],l=i[2],c=i[3],u=i[4],d=n.ctx.createPattern(n.resizeImage(r,c,u),"repeat"),n.renderRepeat(a,d,s,l)),[3,6];case 5:1===t.type?(a=(g=sE(e,A,[null,null,null]))[0],s=g[1],l=g[2],c=g[3],u=g[4],m=(p=rv(t.angle,c,u))[0],f=p[1],h=p[2],w=p[3],B=p[4],(y=document.createElement("canvas")).width=c,y.height=u,C=(v=y.getContext("2d")).createLinearGradient(f,w,h,B),rB(t.stops,m).forEach(function(e){return C.addColorStop(e.stop,ra(e.color))}),v.fillStyle=C,v.fillRect(0,0,c,u),c>0&&u>0&&(d=n.ctx.createPattern(y,"repeat"),n.renderRepeat(a,d,s,l))):2===t.type&&(a=(E=sE(e,A,[null,null,null]))[0],S=E[1],I=E[2],c=E[3],u=E[4],s=n5((U=0===t.position.length?[n6]:t.position)[0],c),l=n5(U[U.length-1],u),F=(b=rS(t,s,l,c,u))[0],Q=b[1],F>0&&Q>0&&(D=n.ctx.createRadialGradient(S+s,I+l,0,S+s,I+l,F),rB(t.stops,2*F).forEach(function(e){return D.addColorStop(e.stop,ra(e.color))}),n.path(a),n.ctx.fillStyle=D,F!==Q?(T=e.bounds.left+.5*e.bounds.width,O=e.bounds.top+.5*e.bounds.height,x=1/(M=Q/F),n.ctx.save(),n.ctx.translate(T,O),n.ctx.transform(1,0,0,M,0,0),n.ctx.translate(-T,-O),n.ctx.fillRect(S,x*(I-O)+O,c,u*x),n.ctx.restore()):n.ctx.fill())),H.label=6;case 6:return A--,[2]}})},n=this,r=0,o=e.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:if(!(r<o.length))return[3,4];return i=o[r],[5,t(i)];case 2:a.sent(),a.label=3;case 3:return r++,[3,1];case 4:return[2]}})})},A.prototype.renderSolidBorder=function(e,A,t){return tk(this,void 0,void 0,function(){return tP(this,function(n){return this.path(sm(t,A)),this.ctx.fillStyle=ra(e),this.ctx.fill(),[2]})})},A.prototype.renderDoubleBorder=function(e,A,t,n){return tk(this,void 0,void 0,function(){var r,o;return tP(this,function(i){switch(i.label){case 0:if(!(A<3))return[3,2];return[4,this.renderSolidBorder(e,t,n)];case 1:return i.sent(),[2];case 2:return r=sf(n,t),this.path(r),this.ctx.fillStyle=ra(e),this.ctx.fill(),o=sh(n,t),this.path(o),this.ctx.fill(),[2]}})})},A.prototype.renderNodeBackgroundAndBorders=function(e){return tk(this,void 0,void 0,function(){var A,t,n,r,o,i,a,s,l=this;return tP(this,function(c){switch(c.label){case 0:if(this.applyEffects(e.getEffects(2)),t=!ri((A=e.container.styles).backgroundColor)||A.backgroundImage.length,n=[{style:A.borderTopStyle,color:A.borderTopColor,width:A.borderTopWidth},{style:A.borderRightStyle,color:A.borderRightColor,width:A.borderRightWidth},{style:A.borderBottomStyle,color:A.borderBottomColor,width:A.borderBottomWidth},{style:A.borderLeftStyle,color:A.borderLeftColor,width:A.borderLeftWidth}],r=sx(sb(A.backgroundClip,0),e.curves),!(t||A.boxShadow.length))return[3,2];return this.ctx.save(),this.path(r),this.ctx.clip(),ri(A.backgroundColor)||(this.ctx.fillStyle=ra(A.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)];case 1:c.sent(),this.ctx.restore(),A.boxShadow.slice(0).reverse().forEach(function(A){l.ctx.save();var t,n,r,o,i=sn(e.curves),a=1e4*!A.inset,s=(t=-a+(A.inset?1:-1)*A.spread.number,n=(A.inset?1:-1)*A.spread.number,r=A.spread.number*(A.inset?-2:2),o=A.spread.number*(A.inset?-2:2),i.map(function(e,A){switch(A){case 0:return e.add(t,n);case 1:return e.add(t+r,n);case 2:return e.add(t+r,n+o);case 3:return e.add(t,n+o)}return e}));A.inset?(l.path(i),l.ctx.clip(),l.mask(s)):(l.mask(i),l.ctx.clip(),l.path(s)),l.ctx.shadowOffsetX=A.offsetX.number+a,l.ctx.shadowOffsetY=A.offsetY.number,l.ctx.shadowColor=ra(A.color),l.ctx.shadowBlur=A.blur.number,l.ctx.fillStyle=A.inset?ra(A.color):"rgba(0,0,0,1)",l.ctx.fill(),l.ctx.restore()}),c.label=2;case 2:o=0,i=0,a=n,c.label=3;case 3:if(!(i<a.length))return[3,13];if(!(0!==(s=a[i]).style&&!ri(s.color)&&s.width>0))return[3,11];if(2!==s.style)return[3,5];return[4,this.renderDashedDottedBorder(s.color,s.width,o,e.curves,2)];case 4:case 6:case 8:return c.sent(),[3,11];case 5:if(3!==s.style)return[3,7];return[4,this.renderDashedDottedBorder(s.color,s.width,o,e.curves,3)];case 7:if(4!==s.style)return[3,9];return[4,this.renderDoubleBorder(s.color,s.width,o,e.curves)];case 9:return[4,this.renderSolidBorder(s.color,o,e.curves)];case 10:c.sent(),c.label=11;case 11:o++,c.label=12;case 12:return i++,[3,3];case 13:return[2]}})})},A.prototype.renderDashedDottedBorder=function(e,A,t,n,r){return tk(this,void 0,void 0,function(){var o,i,a,s,l,c,u,d,g,p,m,f,h,w,B,y;return tP(this,function(v){return this.ctx.save(),o=sw(n,t),i=sm(n,t),2===r&&(this.path(i),this.ctx.clip()),se(i[0])?(a=i[0].start.x,s=i[0].start.y):(a=i[0].x,s=i[0].y),se(i[1])?(l=i[1].end.x,c=i[1].end.y):(l=i[1].x,c=i[1].y),u=0===t||2===t?Math.abs(a-l):Math.abs(s-c),this.ctx.beginPath(),3===r?this.formatPath(o):this.formatPath(i.slice(0,2)),d=A<3?3*A:2*A,g=A<3?2*A:A,3===r&&(d=A,g=A),p=!0,u<=2*d?p=!1:u<=2*d+g?(m=u/(2*d+g),d*=m,g*=m):(f=Math.floor((u+g)/(d+g)),h=(u-f*d)/(f-1),g=(w=(u-(f+1)*d)/f)<=0||Math.abs(g-h)<Math.abs(g-w)?h:w),p&&(3===r?this.ctx.setLineDash([0,d+g]):this.ctx.setLineDash([d,g])),3===r?(this.ctx.lineCap="round",this.ctx.lineWidth=A):this.ctx.lineWidth=2*A+1.1,this.ctx.strokeStyle=ra(e),this.ctx.stroke(),this.ctx.setLineDash([]),2===r&&(se(i[0])&&(B=i[3],y=i[0],this.ctx.beginPath(),this.formatPath([new a8(B.end.x,B.end.y),new a8(y.start.x,y.start.y)]),this.ctx.stroke()),se(i[1])&&(B=i[1],y=i[2],this.ctx.beginPath(),this.formatPath([new a8(B.end.x,B.end.y),new a8(y.start.x,y.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},A.prototype.render=function(e){return tk(this,void 0,void 0,function(){var A;return tP(this,function(t){switch(t.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=ra(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),A=sp(e),[4,this.renderStack(A)];case 1:return t.sent(),this.applyEffects([]),[2,this.canvas]}})})},A}(sT),sM=function(e){return e instanceof i2||e instanceof i4||e instanceof i3&&e.type!==i0&&e.type!==iZ||!1},sx=function(e,A){switch(e){case 0:return sn(A);case 2:return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox];default:return sr(A)}},sH=function(e){switch(e){case 1:return"center";case 2:return"right";default:return"left"}},sL=["-apple-system","system-ui"],sN=function(e){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?e.filter(function(e){return -1===sL.indexOf(e)}):e},sV=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=t,n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+t.width+"x"+t.height+" at "+t.x+","+t.y+") with scale "+t.scale),n}return tR(A,e),A.prototype.render=function(e){return tk(this,void 0,void 0,function(){var A;return tP(this,function(t){switch(t.label){case 0:return[4,sR(iC(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e))];case 1:return A=t.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=ra(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(A,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},A}(sT),sR=function(e){return new Promise(function(A,t){var n=new Image;n.onload=function(){A(n)},n.onerror=t,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},s_=function(){function e(e){var A=e.id,t=e.enabled;this.id=A,this.enabled=t,this.start=Date.now()}return e.prototype.debug=function(){for(var e=[],A=0;A<arguments.length;A++)e[A]=arguments[A];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.debug?console.debug.apply(console,tG([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.prototype.getTime=function(){return Date.now()-this.start},e.prototype.info=function(){for(var e=[],A=0;A<arguments.length;A++)e[A]=arguments[A];this.enabled&&"u">typeof window&&window.console&&"function"==typeof console.info&&console.info.apply(console,tG([this.id,this.getTime()+"ms"],e))},e.prototype.warn=function(){for(var e=[],A=0;A<arguments.length;A++)e[A]=arguments[A];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.warn?console.warn.apply(console,tG([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.prototype.error=function(){for(var e=[],A=0;A<arguments.length;A++)e[A]=arguments[A];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.error?console.error.apply(console,tG([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.instances={},e}(),sk=function(){function e(A,t){var n;this.windowBounds=t,this.instanceName="#"+e.instanceCount++,this.logger=new s_({id:this.instanceName,enabled:A.logging}),this.cache=null!=(n=A.cache)?n:new a$(this,A)}return e.instanceCount=1,e}();"u">typeof window&&aq.setContext(window);var sP=function(e,A,t){var n=A.ownerDocument,r=n.documentElement?rp(e,getComputedStyle(n.documentElement).backgroundColor):rm.TRANSPARENT,o=n.body?rp(e,getComputedStyle(n.body).backgroundColor):rm.TRANSPARENT,i="string"==typeof t?rp(e,t):null===t?rm.TRANSPARENT:0xffffffff;return A===n.documentElement?ri(r)?ri(o)?i:o:r:i};let sG=function(e,A){var t,n;return void 0===A&&(A={}),t=e,n=A,tk(void 0,void 0,void 0,function(){var e,A,r,o,i,a,s,l,c,u,d,g,p,m,f,h,w,B,y,v,C,E,S,I,U,b,F,Q,D,T,O,M,x,H,L,N,V;return tP(this,function(R){switch(R.label){case 0:if(!t||"object"!=typeof t)return[2,Promise.reject("Invalid element provided as first argument")];if(!(e=t.ownerDocument))throw Error("Element is not attached to a Document");if(!(A=e.defaultView))throw Error("Document is not attached to a Window");if(r={allowTaint:null!=(C=n.allowTaint)&&C,imageTimeout:null!=(E=n.imageTimeout)?E:15e3,proxy:n.proxy,useCORS:null!=(S=n.useCORS)&&S},a=new sk(t_({logging:null==(I=n.logging)||I,cache:n.cache},r),i=new tK((o={windowWidth:null!=(U=n.windowWidth)?U:A.innerWidth,windowHeight:null!=(b=n.windowHeight)?b:A.innerHeight,scrollX:null!=(F=n.scrollX)?F:A.pageXOffset,scrollY:null!=(Q=n.scrollY)?Q:A.pageYOffset}).scrollX,o.scrollY,o.windowWidth,o.windowHeight)),s=null!=(D=n.foreignObjectRendering)&&D,l={allowTaint:null!=(T=n.allowTaint)&&T,onclone:n.onclone,ignoreElements:n.ignoreElements,inlineImages:s,copyStyles:s},a.logger.debug("Starting document clone with size "+i.width+"x"+i.height+" scrolled to "+-i.left+","+-i.top),!(u=(c=new aL(a,t,l)).clonedReferenceElement))return[2,Promise.reject("Unable to find element in cloned iframe")];return[4,c.toIFrame(e,i)];case 1:if(d=R.sent(),p=(g=ac(u)||"HTML"===u.tagName?tY(u.ownerDocument):tj(a,u)).width,m=g.height,f=g.left,h=g.top,w=sP(a,u,n.backgroundColor),B={canvas:n.canvas,backgroundColor:w,scale:null!=(M=null!=(O=n.scale)?O:A.devicePixelRatio)?M:1,x:(null!=(x=n.x)?x:0)+f,y:(null!=(H=n.y)?H:0)+h,width:null!=(L=n.width)?L:Math.ceil(p),height:null!=(N=n.height)?N:Math.ceil(m)},!s)return[3,3];return a.logger.debug("Document cloned, using foreign object rendering"),[4,new sV(a,B).render(u)];case 2:return y=R.sent(),[3,5];case 3:return a.logger.debug("Document cloned, element located at "+f+","+h+" with size "+p+"x"+m+" using computed rendering"),a.logger.debug("Starting DOM parsing"),v=i7(a,u),w===v.styles.backgroundColor&&(v.styles.backgroundColor=rm.TRANSPARENT),a.logger.debug("Starting renderer for element at "+B.x+","+B.y+" with size "+B.width+"x"+B.height),[4,new sO(a,B).render(v)];case 4:y=R.sent(),R.label=5;case 5:return(null==(V=n.removeContainer)||V)&&!aL.destroy(d)&&a.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore"),a.logger.debug("Finished rendering"),[2,y]}})})},{downloadUrl:sK}=R.utils,sj="cornerstone-viewport-download-form",sY=[{value:"jpg",label:"JPG"},{value:"png",label:"PNG"}],sW=({hide:e,activeViewportId:A})=>{let{servicesManager:t}=(0,AT.useSystem)(),{customizationService:n,cornerstoneViewportService:r}=t.services,[o,i]=(0,M.useState)(!0),[a,s]=(0,M.useState)({width:512,height:512}),l=n.getCustomization("viewportDownload.warningMessage"),c=(0,X.kJ)(A),u=c?.element,{viewportId:d,renderingEngineId:g}=(0,x.getEnabledElement)(u),p=r.getRenderingEngine(),m=H.ToolGroupManager.getToolGroupForViewport(d,g);(0,M.useEffect)(()=>{let e=Object.keys(m.toolOptions).reduce((e,A)=>{let{mode:t,bindings:n}=m.toolOptions[A];return{...e,[A]:{mode:t,bindings:n}}},{});return()=>{Object.keys(e).forEach(A=>{let{mode:t,bindings:n}=e[A];try{m.setToolMode(A,t,{bindings:n})}catch(e){console.debug("Error restoring tool mode during cleanup:",A,e)}})}},[]);let f=async()=>{p.disableElement(sj)},h=async(e,A)=>{if(!u)return;let t=(0,x.getEnabledElement)(u);if(!t)return;let n=H.segmentation.state.getViewportSegmentationRepresentations(d),{viewport:r}=t,o=p.getViewport(sj);try{let t=r.getProperties(),i=r.getViewPresentation?.(),a=r.getViewReference?.();if((0,eo.TF)(o)){let e=r.getCurrentImageId();await o.setStack([e])}else if((0,eo.rX)(o)){let e=r.getAllVolumeIds();await o.setVolumes([{volumeId:e[0]}])}return i&&o.setViewPresentation&&o.setViewPresentation(i),o.setProperties(t),a&&o.setViewReference&&o.setViewReference(a),o.render(),n?.length&&n.forEach(e=>{let{segmentationId:A,colorLUTIndex:t,type:n}=e;n===H.Enums.SegmentationRepresentations.Labelmap&&H.segmentation.addLabelmapRepresentationToViewportMap({[o.id]:[{segmentationId:A,type:H.Enums.SegmentationRepresentations.Labelmap,config:{colorLUTOrIndex:t}}]}),n===H.Enums.SegmentationRepresentations.Contour&&H.segmentation.addContourRepresentationToViewportMap({[o.id]:[{segmentationId:A,type:H.Enums.SegmentationRepresentations.Contour,config:{colorLUTOrIndex:t}}]})}),{width:Math.min(e||512,1e4),height:Math.min(A||512,1e4)}}catch(e){console.error("Error loading image:",e)}};(0,M.useEffect)(()=>{a.width&&a.height&&setTimeout(()=>{h(a.width,a.height),(e=>{let A=(0,x.getEnabledElement)(u);if(!A)return;let t=p.getViewport(sj);if(!t)return;let{viewportId:n,renderingEngineId:r}=A,{id:o}=t,i=H.ToolGroupManager.getToolGroupForViewport(n,r);i.addViewport(o,r),Object.values(i.getToolInstances()).forEach(A=>{!1!==A.constructor.isAnnotation&&(e?i.setToolEnabled(A.toolName):i.setToolDisabled(A.toolName))})})(o),p.resize(),p.render()},100)},[a,o]);let w=async(e,A)=>{let t=document.querySelector(`div[data-viewport-uid="${sj}"]`);if(!t)return void console.debug("No viewport found for download");let n=`${e}.${A}`;sK((await sG(t)).toDataURL(`image/${A}`,1),{filename:n})},B=async()=>{let e=document.querySelector(`div[data-viewport-uid="${sj}"]`);if(!e)return void console.debug("No viewport found for copy");try{let A=await sG(e),t=await new Promise((e,t)=>{A.toBlob(A=>{A?e(A):t(Error("Failed to create blob from canvas"))},"image/png",1)});await navigator.clipboard.write([new ClipboardItem({"image/png":t})]),console.log("Image copied to clipboard successfully")}catch(e){throw console.error("Failed to copy image to clipboard:",e),e}},y=n.getCustomization("ohif.captureViewportModal");return M.createElement(y,{onClose:e,defaultSize:512,fileTypeOptions:sY,viewportId:sj,showAnnotations:o,onAnnotationsChange:i,dimensions:a,onDimensionsChange:s,onEnableViewport:e=>{if(!e)return;let{viewport:A}=(0,x.getEnabledElement)(u),t={viewportId:sj,element:e,type:A.type,defaultOptions:{background:A.defaultOptions.background,orientation:A.defaultOptions.orientation}};p.enableElement(t)},onDisableViewport:f,onDownload:w,onCopyToClipboard:B,warningState:l})};var sz=T(3359),sJ=T.n(sz);async function sX({segmentation:e,segmentationId:A,readableText:t}){if(!e)return console.debug("No segmentation found for id:",A),null;let n=Object.keys(e.segments).map(e=>parseInt(e)).filter(e=>e>0);if(0===n.length)return console.debug("No segments found in segmentation:",A),null;let r=await H.utilities.segmentation.getStatistics({segmentationId:A,segmentIndices:n,mode:"individual"});if(!r)return null;let o=sJ()(e),i=!1;return Object.entries(r).forEach(([e,A])=>{let n=parseInt(e);if(!o.segments[n])return void console.warn("Segment not found to update cached stats:",n);o.segments[n].cachedStats||(o.segments[n].cachedStats={},i=!0);let r=o.segments[n].cachedStats.namedStats||{};A.array&&(A.array.forEach(e=>{t[e.name]&&e&&e.name&&(r[e.name]={name:e.name,label:t[e.name],value:e.value,unit:e.unit,order:Object.keys(t).indexOf(e.name)})}),t.volume&&A.volume&&!r.volume&&(r.volume={name:"volume",label:"Volume",value:A.volume.value,unit:A.volume.unit,order:Object.keys(t).indexOf("volume")}),o.segments[n].cachedStats.namedStats=r,i=!0)}),i?o:null}let{downloadCsv:sq}=R.utils,s$=e=>{let{points:A}=e;if(!A||!Array.isArray(A)||0===A.length)return{center:[0,0,0],extent:{min:[0,0,0],max:[0,0,0]}};let t=[...A[0]],n=[...A[0]];for(let e=1;e<A.length;e++){let r=A[e];for(let e=0;e<3;e++)t[e]=Math.min(t[e],r[e]),n[e]=Math.max(n[e],r[e])}return{center:[(t[0]+n[0])/2,(t[1]+n[1])/2,(t[2]+n[2])/2],extent:{min:t,max:n}}};function sZ(e,A,t,n){if(e<0||e>1||t<0||t>1)throw Error("x1 and x2 must be in the range [0, 1]");return function(r){var o,i,a,s;let l,c,u,d,g,p;if(r<=0)return 0;if(r>=1)return 1;if(e===A&&t===n)return r;return i=r,a=e,s=t,u=3*a,d=3*(s-a)-u,g=1-u-d,o=null!==(p=function(e){let A=e;for(let r=0;r<8;r++){var t,n;let r=((g*(t=A)+d)*t+u)*t-e;if(1e-6>Math.abs(r))return A;let o=(3*g*(n=A)+2*d)*n+u;if(1e-6>Math.abs(o))break;A-=r/o}return null}(i))?p:function(e){let A=0,t=1,n=e;for(;A<t;){var r;let o=((g*(r=n)+d)*r+u)*r;if(1e-6>Math.abs(o-e))break;e>o?A=n:t=n,n=(t-A)*.5+A}return n}(i),l=3*A,c=3*(n-A)-l,(((1-l-c)*o+c)*o+l)*o}}let s0=sZ(0,0,1,1),s1=sZ(.42,0,1,1),s3=sZ(0,0,.58,1),s4=sZ(.42,0,.58,1),s2=sZ(.25,.1,.25,1);function s6(e){return function(A,t=0,n){return 0===t?e(A):t+(1-Math.abs(2*e(A)-1))*((n?t*n:1)-t)}}let s9=s6(s0),s8=s6(s2),s5=s6(s1),s7=s6(s3),le=s6(s4),lA=((B={}).EASE="ease",B.EASE_IN="ease-in",B.EASE_OUT="ease-out",B.EASE_IN_OUT="ease-in-out",B.LINEAR="linear",B),lt=new Map([[lA.EASE,s8],[lA.EASE_IN,s5],[lA.EASE_OUT,s7],[lA.EASE_IN_OUT,le],[lA.LINEAR,s9]]);var ln=T(3545),lr=T.n(ln);async function lo(e,{viewportId:A,options:t={},segmentationType:n}){let{viewportGridService:r,displaySetService:o,segmentationService:i}=e.services,{viewports:a}=r.getState(),s=a.get(A),l=t.displaySetInstanceUID||s?.displaySetInstanceUIDs?.[0];if(!l)return;let c=i.getSegmentations(),u=t.label||`${lr().t("Tools:Segmentation")} ${c.length+1}`,d=t.segmentationId||`${x.utilities.uuidv4()}`,g=o.getDisplaySetByUID(l),p={label:u,segmentationId:d,segments:t.createInitialSegment?{1:{label:`${lr().t("Tools:Segment")} 1`,active:!0}}:{}},m=await (n===AA.SegmentationRepresentations.Labelmap?i.createLabelmapForDisplaySet(g,p):i.createContourForDisplaySet(g,p));return await i.addSegmentationRepresentation(A,{segmentationId:d,type:n}),m}var li=T(1748);let{add:la,intersect:ls,subtract:ll,copy:lc}=H.utilities.contourSegmentation,{DefaultHistoryMemo:lu}=x.utilities.HistoryMemo,ld={imageSlice:function({servicesManager:e,viewports:A,syncId:t}){let{syncGroupService:n,viewportGridService:r,displaySetService:o,cornerstoneViewportService:i}=e.services;t||="IMAGE_SLICE_SYNC";let a=A||tM(r,o);if(a.some(e=>!!n.getSynchronizersForViewport(e.viewportOptions.viewportId).find(e=>e.id===t)))return function(e,A){let{syncGroupService:t,viewportGridService:n,displaySetService:r,cornerstoneViewportService:o}=A.services;tM(n,r).forEach(A=>{let{viewportId:n}=A.viewportOptions,r=o.getCornerstoneViewport(n);r&&t.removeViewportFromSyncGroup(r.id,r.getRenderingEngine().id,e)})}(t,e);a.forEach(e=>{let{viewportId:A}=e.viewportOptions,r=i.getCornerstoneViewport(A);r&&n.addViewportToSyncGroup(A,r.getRenderingEngine().id,{type:"imageSlice",id:t,source:!0,target:!0})})},voi:function({servicesManager:e,viewports:A,syncId:t}){let{syncGroupService:n,viewportGridService:r,displaySetService:o,cornerstoneViewportService:i}=e.services;for(let[a,s]of Object.entries(A||function(e,A){let{viewports:t}=e.getState();return[...t.values()].reduce((e,t)=>{let{displaySetInstanceUIDs:n}=t;if(!n?.length)return e;let r=n[0],o=A.getDisplaySetByUID(r).Modality;return e[o]||(e[o]=[]),e[o].push(t),e},{})}(r,o))){let A=t||tx(a);if(s.some(e=>!!n.getSynchronizersForViewport(e.viewportOptions.viewportId).find(e=>e.id===A)))return function(e,A,t){let{syncGroupService:n,cornerstoneViewportService:r}=t.services;e.forEach(e=>{let{viewportId:t}=e.viewportOptions,o=r.getCornerstoneViewport(t);o&&n.removeViewportFromSyncGroup(o.id,o.getRenderingEngine().id,A)})}(s,A,e);s.forEach(e=>{let{viewportId:t}=e.viewportOptions,r=i.getCornerstoneViewport(t);r&&n.addViewportToSyncGroup(t,r.getRenderingEngine().id,{type:"voi",id:A,source:!0,target:!0})})}}},{segmentation:lg}=H.utilities,lp=({toolGroupService:e})=>{let A=[];return e.getToolGroupIds().forEach(e=>{let t=H.ToolGroupManager.getToolGroup(e).getToolInstances();Object.keys(t).forEach(e=>{let n=t[e];n instanceof H.LabelmapBaseTool&&A.push(n)})}),A},lm=new W.ONNXSegmentationController({autoSegmentMode:!0,models:{sam_b:[{name:"sam-b-encoder",url:"https://huggingface.co/schmuell/sam-b-fp16/resolve/main/sam_vit_b_01ec64.encoder-fp16.onnx",size:180,key:"encoder"},{name:"sam-b-decoder",url:"https://huggingface.co/schmuell/sam-b-fp16/resolve/main/sam_vit_b_01ec64.decoder.onnx",size:17,key:"decoder"}]},modelName:"sam_b"}),lf=!1;function lh(e){return(lh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function lw(e){var A=function(e,A){if("object"!=lh(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,A||"default");if("object"!=lh(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===A?String:Number)(e)}(e,"string");return"symbol"==lh(A)?A:A+""}function lB(e){for(var A=1;A<arguments.length;A++){var t=null!=arguments[A]?Object(arguments[A]):{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.forEach(function(A){var n,r;n=A,r=t[A],(n=lw(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function ly(e,A){if(!(e instanceof A))throw TypeError("Cannot call a class as a function")}function lv(e,A){for(var t=0;t<A.length;t++){var n=A[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,lw(n.key),n)}}function lC(e,A,t){return A&&lv(e.prototype,A),t&&lv(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function lE(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function lS(e,A){if(A&&("object"==lh(A)||"function"==typeof A))return A;if(void 0!==A)throw TypeError("Derived constructors may only return object or undefined");return lE(e)}function lI(e){return(lI=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function lU(e,A){return(lU=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,A){return e.__proto__=A,e})(e,A)}function lb(e,A){if("function"!=typeof A&&null!==A)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(A&&A.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),A&&lU(e,A)}function lF(e,A){(null==A||A>e.length)&&(A=e.length);for(var t=0,n=Array(A);t<A;t++)n[t]=e[t];return n}function lQ(e,A){if(e){if("string"==typeof e)return lF(e,A);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?lF(e,A):void 0}}function lD(e,A){return function(e){if(Array.isArray(e))return e}(e)||function(e,A){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,r,o,i,a=[],s=!0,l=!1;try{if(o=(t=t.call(e)).next,0===A){if(Object(t)!==t)return;s=!1}else for(;!(s=(n=o.call(t)).done)&&(a.push(n.value),a.length!==A);s=!0);}catch(e){l=!0,r=e}finally{try{if(!s&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(l)throw r}}return a}}(e,A)||lQ(e,A)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var lT={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,A){var t;console&&console[e]&&(t=console)[e].apply(t,function(e){if(Array.isArray(e))return lF(e)}(A)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(A)||lQ(A)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}},lO=new(function(){function e(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ly(this,e),this.init(A,t)}return lC(e,[{key:"init",value:function(e){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=A.prefix||"i18next:",this.logger=e||lT,this.options=A,this.debug=A.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,A=Array(e),t=0;t<e;t++)A[t]=arguments[t];return this.forward(A,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,A=Array(e),t=0;t<e;t++)A[t]=arguments[t];return this.forward(A,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,A=Array(e),t=0;t<e;t++)A[t]=arguments[t];return this.forward(A,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,A=Array(e),t=0;t<e;t++)A[t]=arguments[t];return this.forward(A,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,A,t,n){return n&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(t).concat(this.prefix," ").concat(e[0])),this.logger[A](e))}},{key:"create",value:function(A){return new e(this.logger,lB({},{prefix:"".concat(this.prefix,":").concat(A,":")},this.options))}}]),e}()),lM=function(){function e(){ly(this,e),this.observers={}}return lC(e,[{key:"on",value:function(e,A){var t=this;return e.split(" ").forEach(function(e){t.observers[e]=t.observers[e]||[],t.observers[e].push(A)}),this}},{key:"off",value:function(e,A){if(this.observers[e]){if(!A)return void delete this.observers[e];this.observers[e]=this.observers[e].filter(function(e){return e!==A})}}},{key:"emit",value:function(e){for(var A=arguments.length,t=Array(A>1?A-1:0),n=1;n<A;n++)t[n-1]=arguments[n];this.observers[e]&&[].concat(this.observers[e]).forEach(function(e){e.apply(void 0,t)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(function(A){A.apply(A,[e].concat(t))})}}]),e}();function lx(){var e,A,t=new Promise(function(t,n){e=t,A=n});return t.resolve=e,t.reject=A,t}function lH(e){return null==e?"":""+e}function lL(e,A,t){function n(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function r(){return!e||"string"==typeof e}for(var o="string"!=typeof A?[].concat(A):A.split(".");o.length>1;){if(r())return{};var i=n(o.shift());!e[i]&&t&&(e[i]=new t),e=e[i]}return r()?{}:{obj:e,k:n(o.shift())}}function lN(e,A,t){var n=lL(e,A,Object);n.obj[n.k]=t}function lV(e,A){var t=lL(e,A),n=t.obj,r=t.k;if(n)return n[r]}function lR(e,A,t){var n=lV(e,t);return void 0!==n?n:lV(A,t)}function l_(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var lk={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function lP(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return lk[e]}):e}var lG=function(e){function A(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return ly(this,A),t=lS(this,lI(A).call(this)),lM.call(lE(t)),t.data=e||{},t.options=n,void 0===t.options.keySeparator&&(t.options.keySeparator="."),t}return lb(A,e),lC(A,[{key:"addNamespaces",value:function(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var A=this.options.ns.indexOf(e);A>-1&&this.options.ns.splice(A,1)}},{key:"getResource",value:function(e,A,t){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,o=[e,A];return t&&"string"!=typeof t&&(o=o.concat(t)),t&&"string"==typeof t&&(o=o.concat(r?t.split(r):t)),e.indexOf(".")>-1&&(o=e.split(".")),lV(this.data,o)}},{key:"addResource",value:function(e,A,t,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},o=this.options.keySeparator;void 0===o&&(o=".");var i=[e,A];t&&(i=i.concat(o?t.split(o):t)),e.indexOf(".")>-1&&(i=e.split("."),n=A,A=i[1]),this.addNamespaces(A),lN(this.data,i,n),r.silent||this.emit("added",e,A,t,n)}},{key:"addResources",value:function(e,A,t){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var r in t)("string"==typeof t[r]||"[object Array]"===Object.prototype.toString.apply(t[r]))&&this.addResource(e,A,r,t[r],{silent:!0});n.silent||this.emit("added",e,A,t)}},{key:"addResourceBundle",value:function(e,A,t,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},i=[e,A];e.indexOf(".")>-1&&(i=e.split("."),n=t,t=A,A=i[1]),this.addNamespaces(A);var a=lV(this.data,i)||{};n?function e(A,t,n){for(var r in t)r in A?"string"==typeof A[r]||A[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(A[r]=t[r]):e(A[r],t[r],n):A[r]=t[r];return A}(a,t,r):a=lB({},a,t),lN(this.data,i,a),o.silent||this.emit("added",e,A,t)}},{key:"removeResourceBundle",value:function(e,A){this.hasResourceBundle(e,A)&&delete this.data[e][A],this.removeNamespaces(A),this.emit("removed",e,A)}},{key:"hasResourceBundle",value:function(e,A){return void 0!==this.getResource(e,A)}},{key:"getResourceBundle",value:function(e,A){return(A||(A=this.options.defaultNS),"v1"===this.options.compatibilityAPI)?lB({},{},this.getResource(e,A)):this.getResource(e,A)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"toJSON",value:function(){return this.data}}]),A}(lM),lK={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,A,t,n,r){var o=this;return e.forEach(function(e){o.processors[e]&&(A=o.processors[e].process(A,t,n,r))}),A}},lj=function(e){function A(e){var t,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ly(this,A),r=lS(this,lI(A).call(this)),lM.call(lE(r)),t=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],n=lE(r),t.forEach(function(A){e[A]&&(n[A]=e[A])}),r.options=o,void 0===r.options.keySeparator&&(r.options.keySeparator="."),r.logger=lO.create("translator"),r}return lb(A,e),lC(A,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},t=this.resolve(e,A);return t&&void 0!==t.res}},{key:"extractFromKey",value:function(e,A){var t=A.nsSeparator||this.options.nsSeparator;void 0===t&&(t=":");var n=void 0!==A.keySeparator?A.keySeparator:this.options.keySeparator,r=A.ns||this.options.defaultNS;if(t&&e.indexOf(t)>-1){var o=e.split(t);(t!==n||t===n&&this.options.ns.indexOf(o[0])>-1)&&(r=o.shift()),e=o.join(n)}return"string"==typeof r&&(r=[r]),{key:e,namespaces:r}}},{key:"translate",value:function(e,A){var t=this;if("object"!==lh(A)&&this.options.overloadTranslationOptionHandler&&(A=this.options.overloadTranslationOptionHandler(arguments)),A||(A={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var n=void 0!==A.keySeparator?A.keySeparator:this.options.keySeparator,r=this.extractFromKey(e[e.length-1],A),o=r.key,i=r.namespaces,a=i[i.length-1],s=A.lng||this.language,l=A.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(s&&"cimode"===s.toLowerCase())return l?a+(A.nsSeparator||this.options.nsSeparator)+o:o;var c=this.resolve(e,A),u=c&&c.res,d=c&&c.usedKey||o,g=c&&c.exactUsedKey||o,p=Object.prototype.toString.apply(u),m=void 0!==A.joinArrays?A.joinArrays:this.options.joinArrays,f=!this.i18nFormat||this.i18nFormat.handleAsObject,h="string"!=typeof u&&"boolean"!=typeof u&&"number"!=typeof u;if(f&&u&&h&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(p)&&("string"!=typeof m||"[object Array]"!==p)){if(!A.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(d,u,A):"key '".concat(o," (").concat(this.language,")' returned an object instead of string.");if(n){var w="[object Array]"===p,B=w?[]:{},y=w?g:d;for(var v in u)if(Object.prototype.hasOwnProperty.call(u,v)){var C="".concat(y).concat(n).concat(v);B[v]=this.translate(C,lB({},A,{joinArrays:!1,ns:i})),B[v]===C&&(B[v]=u[v])}u=B}}else if(f&&"string"==typeof m&&"[object Array]"===p)(u=u.join(m))&&(u=this.extendTranslation(u,e,A));else{var E=!1,S=!1;if(!this.isValidLookup(u)&&void 0!==A.defaultValue){if(E=!0,void 0!==A.count){var I=this.pluralResolver.getSuffix(s,A.count);u=A["defaultValue".concat(I)]}u||(u=A.defaultValue)}this.isValidLookup(u)||(S=!0,u=o);var U=A.defaultValue&&A.defaultValue!==u&&this.options.updateMissing;if(S||E||U){this.logger.log(U?"updateKey":"missingKey",s,a,o,U?A.defaultValue:u);var b=[],F=this.languageUtils.getFallbackCodes(this.options.fallbackLng,A.lng||this.language);if("fallback"===this.options.saveMissingTo&&F&&F[0])for(var Q=0;Q<F.length;Q++)b.push(F[Q]);else"all"===this.options.saveMissingTo?b=this.languageUtils.toResolveHierarchy(A.lng||this.language):b.push(A.lng||this.language);var D=function(e,n){t.options.missingKeyHandler?t.options.missingKeyHandler(e,a,n,U?A.defaultValue:u,U,A):t.backendConnector&&t.backendConnector.saveMissing&&t.backendConnector.saveMissing(e,a,n,U?A.defaultValue:u,U,A),t.emit("missingKey",e,a,n,u)};if(this.options.saveMissing){var T=void 0!==A.count&&"string"!=typeof A.count;this.options.saveMissingPlurals&&T?b.forEach(function(e){t.pluralResolver.getPluralFormsOfKey(e,o).forEach(function(A){return D([e],A)})}):D(b,o)}}u=this.extendTranslation(u,e,A,c),S&&u===o&&this.options.appendNamespaceToMissingKey&&(u="".concat(a,":").concat(o)),S&&this.options.parseMissingKeyHandler&&(u=this.options.parseMissingKeyHandler(u))}return u}},{key:"extendTranslation",value:function(e,A,t,n){var r=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,t,n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!t.skipInterpolation){t.interpolation&&this.interpolator.init(lB({},t,{interpolation:lB({},this.options.interpolation,t.interpolation)}));var o=t.replace&&"string"!=typeof t.replace?t.replace:t;this.options.interpolation.defaultVariables&&(o=lB({},this.options.interpolation.defaultVariables,o)),e=this.interpolator.interpolate(e,o,t.lng||this.language,t),!1!==t.nest&&(e=this.interpolator.nest(e,function(){return r.translate.apply(r,arguments)},t)),t.interpolation&&this.interpolator.reset()}var i=t.postProcess||this.options.postProcess,a="string"==typeof i?[i]:i;return null!=e&&a&&a.length&&!1!==t.applyPostProcessor&&(e=lK.handle(a,e,A,this.options&&this.options.postProcessPassResolved?lB({i18nResolved:n},t):t,this)),e}},{key:"resolve",value:function(e){var A,t,n,r,o,i=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!i.isValidLookup(A)){var s=i.extractFromKey(e,a),l=s.key;t=l;var c=s.namespaces;i.options.fallbackNS&&(c=c.concat(i.options.fallbackNS));var u=void 0!==a.count&&"string"!=typeof a.count,d=void 0!==a.context&&"string"==typeof a.context&&""!==a.context,g=a.lngs?a.lngs:i.languageUtils.toResolveHierarchy(a.lng||i.language,a.fallbackLng);c.forEach(function(e){i.isValidLookup(A)||(o=e,i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(o)&&i.logger.warn('key "'.concat(t,'" for namespace "').concat(o,"\" won't get resolved as namespace was not yet loaded"),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"),g.forEach(function(t){if(!i.isValidLookup(A)){r=t;var o,s,c=l,g=[c];for(i.i18nFormat&&i.i18nFormat.addLookupKeys?i.i18nFormat.addLookupKeys(g,l,t,e,a):(u&&(o=i.pluralResolver.getSuffix(t,a.count)),u&&d&&g.push(c+o),d&&g.push(c+="".concat(i.options.contextSeparator).concat(a.context)),u&&g.push(c+=o));s=g.pop();)i.isValidLookup(A)||(n=s,A=i.getResource(t,e,s,a))}}))})}}),{res:A,usedKey:t,exactUsedKey:n,usedLng:r,usedNS:o}}},{key:"isValidLookup",value:function(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,A,t){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,A,t,n):this.resourceStore.getResource(e,A,t,n)}}]),A}(lM);function lY(e){return e.charAt(0).toUpperCase()+e.slice(1)}var lW=function(){function e(A){ly(this,e),this.options=A,this.whitelist=this.options.whitelist||!1,this.logger=lO.create("languageUtils")}return lC(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return null;var A=e.split("-");return 2===A.length?null:(A.pop(),this.formatLanguageCode(A.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return e;var A=e.split("-");return this.formatLanguageCode(A[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var A=["hans","hant","latn","cyrl","cans","mong","arab"],t=e.split("-");return this.options.lowerCaseLng?t=t.map(function(e){return e.toLowerCase()}):2===t.length?(t[0]=t[0].toLowerCase(),t[1]=t[1].toUpperCase(),A.indexOf(t[1].toLowerCase())>-1&&(t[1]=lY(t[1].toLowerCase()))):3===t.length&&(t[0]=t[0].toLowerCase(),2===t[1].length&&(t[1]=t[1].toUpperCase()),"sgn"!==t[0]&&2===t[2].length&&(t[2]=t[2].toUpperCase()),A.indexOf(t[1].toLowerCase())>-1&&(t[1]=lY(t[1].toLowerCase())),A.indexOf(t[2].toLowerCase())>-1&&(t[2]=lY(t[2].toLowerCase()))),t.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isWhitelisted",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitWhitelist)&&(e=this.getLanguagePartFromCode(e)),!this.whitelist||!this.whitelist.length||this.whitelist.indexOf(e)>-1}},{key:"getFallbackCodes",value:function(e,A){if(!e)return[];if("string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!A)return e.default||[];var t=e[A];return t||(t=e[this.getScriptPartFromCode(A)]),t||(t=e[this.formatLanguageCode(A)]),t||(t=e.default),t||[]}},{key:"toResolveHierarchy",value:function(e,A){var t=this,n=this.getFallbackCodes(A||this.options.fallbackLng||[],e),r=[],o=function(e){e&&(t.isWhitelisted(e)?r.push(e):t.logger.warn("rejecting non-whitelisted language code: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),n.forEach(function(e){0>r.indexOf(e)&&o(t.formatLanguageCode(e))}),r}}]),e}(),lz=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he"],nr:[1,2,20,21],fc:22}],lJ={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0===e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(+(1!=e&&e%10!=1))},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0===e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:3*(e%100==3||e%100==4))},22:function(e){return Number(1===e?0:2===e?1:(e<0||e>10)&&e%10==0?2:3)}},lX=function(){function e(A){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ly(this,e),this.languageUtils=A,this.options=n,this.logger=lO.create("pluralResolver"),this.rules=(t={},lz.forEach(function(e){e.lngs.forEach(function(A){t[A]={numbers:e.nr,plurals:lJ[e.fc]}})}),t)}return lC(e,[{key:"addRule",value:function(e,A){this.rules[e]=A}},{key:"getRule",value:function(e){return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var A=this.getRule(e);return A&&A.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,A){var t=this,n=[],r=this.getRule(e);return r&&r.numbers.forEach(function(r){var o=t.getSuffix(e,r);n.push("".concat(A).concat(o))}),n}},{key:"getSuffix",value:function(e,A){var t=this,n=this.getRule(e);if(n){var r=n.noAbs?n.plurals(A):n.plurals(Math.abs(A)),o=n.numbers[r];this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]&&(2===o?o="plural":1===o&&(o=""));var i=function(){return t.options.prepend&&o.toString()?t.options.prepend+o.toString():o.toString()};return"v1"===this.options.compatibilityJSON?1===o?"":"number"==typeof o?"_plural_".concat(o.toString()):i():"v2"===this.options.compatibilityJSON?i():this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}return this.logger.warn("no plural rule found for: ".concat(e)),""}}]),e}(),lq=function(){function e(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ly(this,e),this.logger=lO.create("interpolator"),this.options=A,this.format=A.interpolation&&A.interpolation.format||function(e){return e},this.init(A)}return lC(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var A=e.interpolation;this.escape=void 0!==A.escape?A.escape:lP,this.escapeValue=void 0===A.escapeValue||A.escapeValue,this.useRawValueToEscape=void 0!==A.useRawValueToEscape&&A.useRawValueToEscape,this.prefix=A.prefix?l_(A.prefix):A.prefixEscaped||"{{",this.suffix=A.suffix?l_(A.suffix):A.suffixEscaped||"}}",this.formatSeparator=A.formatSeparator?A.formatSeparator:A.formatSeparator||",",this.unescapePrefix=A.unescapeSuffix?"":A.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":A.unescapeSuffix||"",this.nestingPrefix=A.nestingPrefix?l_(A.nestingPrefix):A.nestingPrefixEscaped||l_("$t("),this.nestingSuffix=A.nestingSuffix?l_(A.nestingSuffix):A.nestingSuffixEscaped||l_(")"),this.maxReplaces=A.maxReplaces?A.maxReplaces:1e3,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=RegExp(e,"g");var A="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=RegExp(A,"g");var t="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=RegExp(t,"g")}},{key:"interpolate",value:function(e,A,t,n){var r,o,i,a=this,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}var c=function(e){if(0>e.indexOf(a.formatSeparator))return lR(A,s,e);var n=e.split(a.formatSeparator),r=n.shift().trim(),o=n.join(a.formatSeparator).trim();return a.format(lR(A,s,r),o,t)};this.resetRegExp();var u=n&&n.missingInterpolationHandler||this.options.missingInterpolationHandler;for(i=0;r=this.regexpUnescape.exec(e);){if(void 0===(o=c(r[1].trim())))if("function"==typeof u){var d=u(e,r,n);o="string"==typeof d?d:""}else this.logger.warn("missed to pass in variable ".concat(r[1]," for interpolating ").concat(e)),o="";else"string"==typeof o||this.useRawValueToEscape||(o=lH(o));if(e=e.replace(r[0],l(o)),this.regexpUnescape.lastIndex=0,++i>=this.maxReplaces)break}for(i=0;r=this.regexp.exec(e);){if(void 0===(o=c(r[1].trim())))if("function"==typeof u){var g=u(e,r,n);o="string"==typeof g?g:""}else this.logger.warn("missed to pass in variable ".concat(r[1]," for interpolating ").concat(e)),o="";else"string"==typeof o||this.useRawValueToEscape||(o=lH(o));if(o=l(this.escapeValue?this.escape(o):o),e=e.replace(r[0],o),this.regexp.lastIndex=0,++i>=this.maxReplaces)break}return e}},{key:"nest",value:function(e,A){var t,n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=lB({},r);function i(e,A){if(0>e.indexOf(","))return e;var t=e.split(",");e=t.shift();var n=t.join(",");n=(n=this.interpolate(n,o)).replace(/'/g,'"');try{o=JSON.parse(n),A&&(o=lB({},A,o))}catch(A){this.logger.error("failed parsing options string in nesting for key ".concat(e),A)}return delete o.defaultValue,e}for(o.applyPostProcessor=!1,delete o.defaultValue;t=this.nestingRegexp.exec(e);){if((n=A(i.call(this,t[1].trim(),o),o))&&t[0]===e&&"string"!=typeof n)return n;"string"!=typeof n&&(n=lH(n)),n||(this.logger.warn("missed to resolve ".concat(t[1]," for nesting ").concat(e)),n=""),e=e.replace(t[0],n),this.regexp.lastIndex=0}return e}}]),e}(),l$=function(e){function A(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return ly(this,A),r=lS(this,lI(A).call(this)),lM.call(lE(r)),r.backend=e,r.store=t,r.services=n,r.languageUtils=n.languageUtils,r.options=o,r.logger=lO.create("backendConnector"),r.state={},r.queue=[],r.backend&&r.backend.init&&r.backend.init(n,o.backend,o),r}return lb(A,e),lC(A,[{key:"queueLoad",value:function(e,A,t,n){var r=this,o=[],i=[],a=[],s=[];return e.forEach(function(e){var n=!0;A.forEach(function(A){var a="".concat(e,"|").concat(A);!t.reload&&r.store.hasResourceBundle(e,A)?r.state[a]=2:r.state[a]<0||(1===r.state[a]?0>i.indexOf(a)&&i.push(a):(r.state[a]=1,n=!1,0>i.indexOf(a)&&i.push(a),0>o.indexOf(a)&&o.push(a),0>s.indexOf(A)&&s.push(A)))}),n||a.push(e)}),(o.length||i.length)&&this.queue.push({pending:i,loaded:{},errors:[],callback:n}),{toLoad:o,pending:i,toLoadLanguages:a,toLoadNamespaces:s}}},{key:"loaded",value:function(e,A,t){var n=lD(e.split("|"),2),r=n[0],o=n[1];A&&this.emit("failedLoading",r,o,A),t&&this.store.addResourceBundle(r,o,t),this.state[e]=A?-1:2;var i={};this.queue.forEach(function(t){n=t.loaded,(s=(a=lL(n,[r],Object)).obj)[l=a.k]=s[l]||[],s[l].push(o);for(var n,a,s,l,c=t.pending,u=c.indexOf(e);-1!==u;)c.splice(u,1),u=c.indexOf(e);A&&t.errors.push(A),0!==t.pending.length||t.done||(Object.keys(t.loaded).forEach(function(e){i[e]||(i[e]=[]),t.loaded[e].length&&t.loaded[e].forEach(function(A){0>i[e].indexOf(A)&&i[e].push(A)})}),t.done=!0,t.errors.length?t.callback(t.errors):t.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,A,t){var n=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:250,i=arguments.length>5?arguments[5]:void 0;return e.length?this.backend[t](e,A,function(a,s){a&&s&&r<5?setTimeout(function(){n.read.call(n,e,A,t,r+1,2*o,i)},o):i(a,s)}):i(null,{})}},{key:"prepareLoading",value:function(e,A){var t=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof A&&(A=[A]);var o=this.queueLoad(e,A,n,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach(function(e){t.loadOne(e)})}},{key:"load",value:function(e,A,t){this.prepareLoading(e,A,{},t)}},{key:"reload",value:function(e,A,t){this.prepareLoading(e,A,{reload:!0},t)}},{key:"loadOne",value:function(e){var A=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=lD(e.split("|"),2),r=n[0],o=n[1];this.read(r,o,"read",null,null,function(n,i){n&&A.logger.warn("".concat(t,"loading namespace ").concat(o," for language ").concat(r," failed"),n),!n&&i&&A.logger.log("".concat(t,"loaded namespace ").concat(o," for language ").concat(r),i),A.loaded(e,n,i)})}},{key:"saveMissing",value:function(e,A,t,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(A)?this.logger.warn('did not save key "'.concat(t,'" for namespace "').concat(A,'" as the namespace was not yet loaded'),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"):(this.backend&&this.backend.create&&this.backend.create(e,A,t,n,null,lB({},o,{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],A,t,n))}}]),A}(lM);function lZ(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&0>e.whitelist.indexOf("cimode")&&(e.whitelist=e.whitelist.concat(["cimode"])),e}function l0(){}var l1=new(function(e){function A(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(ly(this,A),e=lS(this,lI(A).call(this)),lM.call(lE(e)),e.options=lZ(t),e.services={},e.logger=lO,e.modules={external:[]},n&&!e.isInitialized&&!t.isClone){if(!e.options.initImmediate)return e.init(t,n),lS(e,lE(e));setTimeout(function(){e.init(t,n)},0)}return e}return lb(A,e),lC(A,[{key:"init",value:function(){var e=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;function n(e){return e?"function"==typeof e?new e:e:null}if("function"==typeof A&&(t=A,A={}),this.options=lB({},{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var A={};if("object"===lh(e[1])&&(A=e[1]),"string"==typeof e[1]&&(A.defaultValue=e[1]),"string"==typeof e[2]&&(A.tDescription=e[2]),"object"===lh(e[2])||"object"===lh(e[3])){var t=e[3]||e[2];Object.keys(t).forEach(function(e){A[e]=t[e]})}return A},interpolation:{escapeValue:!0,format:function(e,A,t){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",maxReplaces:1e3}},this.options,lZ(A)),this.format=this.options.interpolation.format,t||(t=l0),!this.options.isClone){this.modules.logger?lO.init(n(this.modules.logger),this.options):lO.init(null,this.options);var r=new lW(this.options);this.store=new lG(this.options.resources,this.options);var o=this.services;o.logger=lO,o.resourceStore=this.store,o.languageUtils=r,o.pluralResolver=new lX(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),o.interpolator=new lq(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new l$(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",function(A){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];e.emit.apply(e,[A].concat(n))}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new lj(this.services,this.options),this.translator.on("*",function(A){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];e.emit.apply(e,[A].concat(n))}),this.modules.external.forEach(function(A){A.init&&A.init(e)})}["getResource","addResource","addResources","addResourceBundle","removeResourceBundle","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(function(A){e[A]=function(){var t;return(t=e.store)[A].apply(t,arguments)}});var i=lx(),a=function(){e.changeLanguage(e.options.lng,function(A,n){e.isInitialized=!0,e.logger.log("initialized",e.options),e.emit("initialized",e.options),i.resolve(n),t(A,n)})};return this.options.resources||!this.options.initImmediate?a():setTimeout(a,0),i}},{key:"loadResources",value:function(){var e=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l0;if(!this.options.resources||this.options.partialBundledLanguages){if(this.language&&"cimode"===this.language.toLowerCase())return A();var t=[],n=function(A){A&&e.services.languageUtils.toResolveHierarchy(A).forEach(function(e){0>t.indexOf(e)&&t.push(e)})};this.language?n(this.language):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return n(e)}),this.options.preload&&this.options.preload.forEach(function(e){return n(e)}),this.services.backendConnector.load(t,this.options.ns,A)}else A(null)}},{key:"reloadResources",value:function(e,A,t){var n=lx();return e||(e=this.languages),A||(A=this.options.ns),t||(t=l0),this.services.backendConnector.reload(e,A,function(e){n.resolve(),t(e)}),n}},{key:"use",value:function(e){return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&lK.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,A){var t=this,n=lx();this.emit("languageChanging",e);var r=function(e,r){t.translator.changeLanguage(r),r&&(t.emit("languageChanged",r),t.logger.log("languageChanged",r)),n.resolve(function(){return t.t.apply(t,arguments)}),A&&A(e,function(){return t.t.apply(t,arguments)})},o=function(e){e&&(t.language=e,t.languages=t.services.languageUtils.toResolveHierarchy(e),t.translator.language||t.translator.changeLanguage(e),t.services.languageDetector&&t.services.languageDetector.cacheUserLanguage(e)),t.loadResources(function(A){r(A,e)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect()),n}},{key:"getFixedT",value:function(e,A){var t=this,n=function e(A,n){var r;if("object"!==lh(n)){for(var o=arguments.length,i=Array(o>2?o-2:0),a=2;a<o;a++)i[a-2]=arguments[a];r=t.options.overloadTranslationOptionHandler([A,n].concat(i))}else r=lB({},n);return r.lng=r.lng||e.lng,r.lngs=r.lngs||e.lngs,r.ns=r.ns||e.ns,t.t(A,r)};return"string"==typeof e?n.lng=e:n.lngs=e,n.ns=A,n}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var A=this;if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var t=this.languages[0],n=!!this.options&&this.options.fallbackLng,r=this.languages[this.languages.length-1];if("cimode"===t.toLowerCase())return!0;var o=function(e,t){var n=A.services.backendConnector.state["".concat(e,"|").concat(t)];return -1===n||2===n};return!!(this.hasResourceBundle(t,e)||!this.services.backendConnector.backend||o(t,e)&&(!n||o(r,e)))}},{key:"loadNamespaces",value:function(e,A){var t=this,n=lx();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){0>t.options.ns.indexOf(e)&&t.options.ns.push(e)}),this.loadResources(function(e){n.resolve(),A&&A(e)}),n):(A&&A(),Promise.resolve())}},{key:"loadLanguages",value:function(e,A){var t=lx();"string"==typeof e&&(e=[e]);var n=this.options.preload||[],r=e.filter(function(e){return 0>n.indexOf(e)});return r.length?(this.options.preload=n.concat(r),this.loadResources(function(e){t.resolve(),A&&A(e)}),t):(A&&A(),Promise.resolve())}},{key:"dir",value:function(e){return(e||(e=this.languages&&this.languages.length>0?this.languages[0]:this.language),e)?["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>=0?"rtl":"ltr":"rtl"}},{key:"createInstance",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new A(e,t)}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l0,r=lB({},this.options,t,{isClone:!0}),o=new A(r);return["store","services","language"].forEach(function(A){o[A]=e[A]}),o.translator=new lj(o.services,o.options),o.translator.on("*",function(e){for(var A=arguments.length,t=Array(A>1?A-1:0),n=1;n<A;n++)t[n-1]=arguments[n];o.emit.apply(o,[e].concat(t))}),o.init(r,n),o.translator.options=o.options,o}}]),A}(lM));let l3={type:"voi",id:"mpr",source:!0,target:!0,options:{syncColormap:!0}},l4={type:"hydrateseg",id:"sameFORId",source:!0,target:!0,options:{matchingRules:["sameFOR"]}},l2={layoutType:"grid",properties:{rows:1,columns:3,layoutOptions:[{x:0,y:0,width:1/3,height:1},{x:1/3,y:0,width:1/3,height:1},{x:2/3,y:0,width:1/3,height:1}]}},l6={id:"mpr",name:l1.t("Hps:MPR"),locked:!0,icon:"layout-advanced-mpr",isPreset:!0,createdDate:"2021-02-23",modifiedDate:"2023-08-15",availableTo:{},editableBy:{},numberOfPriorsReferenced:0,protocolMatchingRules:[],imageLoadStrategy:"nth",callbacks:{},displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{name:"MPR 1x3",viewportStructure:l2,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"MPR Reformat 1x3",viewportStructure:l2,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial_reformat",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]}]}]},l9={id:"fourUp",locked:!0,name:l1.t("Hps:3D four up"),icon:"layout-advanced-3d-four-up",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"fourUpStage",name:"fourUp",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[l4]},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]}]}]},l8={id:"main3D",locked:!0,name:l1.t("Hps:3D main"),icon:"layout-advanced-3d-main",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"main3DStage",name:"main3D",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3,layoutOptions:[{x:0,y:0,width:1,height:.5},{x:0,y:.5,width:1/3,height:.5},{x:1/3,y:.5,width:1/3,height:.5},{x:2/3,y:.5,width:1/3,height:.5}]}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]}]}]},l5={id:"mprAnd3DVolumeViewport",locked:!0,name:l1.t("Hps:mpr"),createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0},{attribute:"Modality",constraint:{equals:{value:"CT"}},required:!0}]}},stages:[{id:"mpr3Stage",name:"mpr",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[l4]},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]}]}]},l7={id:"only3D",locked:!0,name:l1.t("Hps:3D only"),icon:"layout-advanced-3d-only",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"only3DStage",name:"only3D",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:1}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0,syncGroups:[l4]}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]}]}]},ce={id:"primary3D",locked:!0,name:l1.t("Hps:3D primary"),icon:"layout-advanced-3d-primary",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"primary3DStage",name:"primary3D",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:3,layoutOptions:[{x:0,y:0,width:2/3,height:1},{x:2/3,y:0,width:1/3,height:1/3},{x:2/3,y:1/3,width:1/3,height:1/3},{x:2/3,y:2/3,width:1/3,height:1/3}]}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]}]}]},cA={id:"primaryAxial",locked:!0,name:l1.t("Hps:Axial Primary"),icon:"layout-advanced-axial-primary",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"primaryAxialStage",name:"primaryAxial",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3,layoutOptions:[{x:0,y:0,width:2/3,height:1},{x:2/3,y:0,width:1/3,height:.5},{x:2/3,y:.5,width:1/3,height:.5}]}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l3,l4]},displaySets:[{id:"activeDisplaySet"}]}]}]},ct={id:"@ohif/frameView",description:l1.t("Hps:Frame view for the active series"),name:l1.t("Hps:Frame View"),icon:"tool-stack-scroll",isPreset:!0,toolGroupIds:["default"],protocolMatchingRules:[],displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{attribute:"numImageFrames",constraint:{greaterThan:{value:16}},required:!0},{attribute:"isDisplaySetFromUrl",weight:20,constraint:{equals:!0}}]}},defaultViewport:{viewportOptions:{viewportType:"stack",toolGroupId:"default",allowUnmatchedView:!0},displaySets:[{id:"activeDisplaySet"}]},stages:[{name:"frameView",id:"4x4",viewportStructure:{layoutType:"grid",properties:{rows:4,columns:4}},viewports:[{viewportOptions:{viewportId:"custom_R0_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:6}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:7}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:8}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:9}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:10}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:11}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:12}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:13}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:14}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:15}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"3x3",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:6}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:7}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:8}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"3x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"2x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"1x3",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"1x2",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:2}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]}]}]};var cn=T(8228);let cr=({displaySet:e,showModality:A=!0,dataCY:t=`${e.label}-${e.Modality}`})=>M.createElement("div",{className:"flex w-[90%] items-center justify-between","data-cy":t},M.createElement("span",{className:"text-foreground truncate text-base"},e.label),A&&e.Modality&&M.createElement("span",{className:"text-muted-foreground flex-shrink-0 whitespace-nowrap text-xs"},e.Modality));var co=T(9227);let ci=function({viewportId:e}){let{commandsManager:A,servicesManager:t}=(0,R.useSystem)(),{t:n}=AD(),[r,o]=(0,M.useState)([]),[i,a]=(0,M.useState)([]),{toggleColorbar:s}=(0,co.eH)(e),{hangingProtocolService:l,toolbarService:c}=t.services,{backgroundDisplaySet:u,potentialOverlayDisplaySets:d,potentialForegroundDisplaySets:g,potentialBackgroundDisplaySets:p,overlayDisplaySets:m,foregroundDisplaySets:f}=(0,cn.N)(e),[h,w]=(0,M.useState)(m),[B,y]=(0,M.useState)(!1);(0,M.useEffect)(()=>{w(m)},[u?.displaySetInstanceUID,m]);let v=(t,n)=>{A.runCommand("removeDisplaySetLayer",{viewportId:e,displaySetInstanceUID:t}),setTimeout(()=>{A.runCommand("addDisplaySetAsLayer",{viewportId:e,displaySetInstanceUID:n})},0)},C=t=>{-1!==h.findIndex(e=>e.displaySetInstanceUID===t)&&w(e=>e.filter(e=>e.displaySetInstanceUID!==t)),A.runCommand("removeDisplaySetLayer",{viewportId:e,displaySetInstanceUID:t})},E=t=>{A.runCommand("addDisplaySetAsLayer",{viewportId:e,displaySetInstanceUID:t})},S=!!c.getButton("AdvancedRenderingControls"),I=!!c.getButton("opacityMenu");return M.createElement("div",{className:"bg-popover flex h-full w-[275px] flex-col rounded rounded-md p-1.5","data-cy":`viewport-data-overlay-menu-${e}`},M.createElement("div",{className:"flex"},M.createElement(Au.Button,{variant:"ghost",className:"text-primary flex items-center p-1",onClick:()=>{o([...r,`pending-${Date.now()}`])},disabled:0===g.length},M.createElement(Au.Icons.Plus,{className:"h-4 w-4"}),n("Common:Foreground")),M.createElement(Au.Button,{variant:"ghost",className:"text-primary ml-2 flex items-center",disabled:0===d.length,onClick:()=>{a([...i,`seg-${Date.now()}`])},dataCY:`AddSegmentationDataOverlay-${e}`},M.createElement(Au.Icons.Plus,{className:"h-4 w-4"}),n("Tools:Segmentation"))),M.createElement("div",{className:""},M.createElement("div",{className:"my-2 ml-1"},h.map(e=>M.createElement("div",{key:e.displaySetInstanceUID,className:"mb-1 flex items-center"},M.createElement(Au.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),M.createElement(Au.Select,{value:e.displaySetInstanceUID,onValueChange:A=>((e,A)=>{if(A===e.displaySetInstanceUID)return;let t=d.find(e=>e.displaySetInstanceUID===A);t&&(w(A=>{let n=A.findIndex(A=>A.displaySetInstanceUID===e.displaySetInstanceUID);return[...A.slice(0,n),t,...A.slice(n+1)]}),v(e.displaySetInstanceUID,t.displaySetInstanceUID))})(e,A)},M.createElement(Au.SelectTrigger,{className:"flex-1"},M.createElement(Au.SelectValue,{"data-cy":`overlay-ds-select-value-${e.label?.toUpperCase()}`},e.label?.toUpperCase())),M.createElement(Au.SelectContent,null,M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cr,{displaySet:e})),d.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cr,{displaySet:e}))))),M.createElement(Au.DropdownMenu,null,M.createElement(Au.DropdownMenuTrigger,{asChild:!0},M.createElement(Au.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",dataCY:`overlay-ds-more-button-${e.label?.toUpperCase()}`},M.createElement(Au.Icons.More,{className:"h-4 w-4"}))),M.createElement(Au.DropdownMenuContent,{align:"start"},M.createElement(Au.DropdownMenuItem,{"data-cy":`overlay-ds-remove-button-${e.label?.toUpperCase()}`,onClick:()=>C(e.displaySetInstanceUID)},"Remove"))))),i.map(e=>M.createElement("div",{key:e,className:"mb-2 flex items-center"},M.createElement(Au.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),M.createElement(Au.Select,{value:"",onValueChange:A=>{let t;(t=d.find(e=>e.displaySetInstanceUID===A))&&(w(e=>[...e,t]),E(t.displaySetInstanceUID),a(i.filter(A=>A!==e)))}},M.createElement(Au.SelectTrigger,{className:"flex-1"},M.createElement(Au.SelectValue,{placeholder:n("Common:SELECT A SEGMENTATION")})),M.createElement(Au.SelectContent,null,d.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cr,{displaySet:e,dataCY:`${e.label}`}))))),M.createElement(Au.DropdownMenu,null,M.createElement(Au.DropdownMenuTrigger,{asChild:!0},M.createElement(Au.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0"},M.createElement(Au.Icons.More,{className:"h-4 w-4"}))),M.createElement(Au.DropdownMenuContent,{align:"start"},M.createElement(Au.DropdownMenuItem,{onClick:()=>{a(i.filter(A=>A!==e))}},"Cancel")))))),M.createElement("div",{className:"my-2 px-1"},f.map((e,A)=>M.createElement("div",{key:e.displaySetInstanceUID,className:"mb-1 flex items-center"},M.createElement(Au.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),M.createElement(Au.Select,{value:e.displaySetInstanceUID,onValueChange:A=>((e,A)=>{if(A===e.displaySetInstanceUID)return;let t=g.find(e=>e.displaySetInstanceUID===A);t&&v(e.displaySetInstanceUID,t.displaySetInstanceUID)})(e,A)},M.createElement(Au.SelectTrigger,{className:"flex-1"},M.createElement(Au.SelectValue,null,e.label?.toUpperCase())),M.createElement(Au.SelectContent,null,M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cr,{displaySet:e})),g.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cr,{displaySet:e}))))),M.createElement(Au.DropdownMenu,null,M.createElement(Au.DropdownMenuTrigger,{asChild:!0},M.createElement(Au.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0"},M.createElement(Au.Icons.More,{className:"h-4 w-4"}))),M.createElement(Au.DropdownMenuContent,{align:"start"},M.createElement(Au.DropdownMenuItem,{onClick:()=>C(e.displaySetInstanceUID)},"Remove"))))),r.map(e=>M.createElement("div",{key:e,className:"mb-2 flex items-center"},M.createElement(Au.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),M.createElement(Au.Select,{value:"",onValueChange:A=>{let t;(t=g.find(e=>e.displaySetInstanceUID===A))&&(E(t.displaySetInstanceUID),o(r.filter(A=>A!==e)))}},M.createElement(Au.SelectTrigger,{className:"flex-1"},M.createElement(Au.SelectValue,{placeholder:n("Common:SELECT A FOREGROUND")})),M.createElement(Au.SelectContent,null,g.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cr,{displaySet:e}))))),M.createElement(Au.DropdownMenu,null,M.createElement(Au.DropdownMenuTrigger,{asChild:!0},M.createElement(Au.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0"},M.createElement(Au.Icons.More,{className:"h-4 w-4"}))),M.createElement(Au.DropdownMenuContent,{align:"start"},M.createElement(Au.DropdownMenuItem,{onClick:()=>{o(r.filter(A=>A!==e))}},"Cancel")))))),M.createElement("div",{className:"mt-1 mb-1 flex items-center px-1"},M.createElement(Au.Icons.LayerBackground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),M.createElement(Au.Select,{value:u?.displaySetInstanceUID,onValueChange:t=>{let n,r=p.find(e=>e.displaySetInstanceUID===t);r&&(n=l.getViewportsRequireUpdate(e,r.displaySetInstanceUID),A.run("setDisplaySetsForViewports",{viewportsToUpdate:n}))}},M.createElement(Au.SelectTrigger,{className:"flex-1","data-cy":`overlay-background-ds-select-${e}`},M.createElement(Au.SelectValue,null,(u?.SeriesDescription||u?.label||"background").toUpperCase())),M.createElement(Au.SelectContent,null,p.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cr,{displaySet:e}))))))),f.length>0&&(S||I)&&M.createElement("div",{className:"mt-1 ml-7"},M.createElement("div",{className:"flex items-center"},M.createElement(Au.Switch,{id:"threshold-opacity-switch",className:"mr-2",checked:B,onCheckedChange:()=>{S&&s(),y(!B)}}),M.createElement("label",{htmlFor:"threshold-opacity-switch",className:"text-muted-foreground cursor-pointer text-sm",onClick:()=>y(!B)},"Control threshold & opacity"))))};function ca(){return(ca=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function cs(e){let{viewportId:A,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{viewportDisplaySets:s}=(0,cn.N)(A),{IconContainer:l,className:c,containerProps:u}=(0,Au.useIconPresentation)(),{servicesManager:d}=(0,R.useSystem)(),{toolbarService:g}=d.services,{align:p,side:m}=g.getAlignAndSide(t),f=M.createElement(Au.Icons.ViewportViews,{className:c}),h=a.id?{id:`${a.id}-${A}`}:{};return M.createElement(Au.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},M.createElement(Au.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},M.createElement("div",null,l?M.createElement(l,ca({disabled:i,icon:"ViewportViews"},a,u,h),f):M.createElement(Au.Button,{variant:"ghost",size:"icon",disabled:i},f))),M.createElement(Au.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:m,align:p,alignOffset:0,sideOffset:5},M.createElement(ci,{className:"w-full",viewportId:A,displaySets:s})))}function cl(){return(cl=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}let cc=function({location:e,viewportId:A,displaySets:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}){let{servicesManager:s,commandsManager:l}=(0,R.useSystem)(),{cornerstoneViewportService:c,toolbarService:u}=s.services,d=c.getViewportInfo(A).getOrientation(),[g]=(0,Au.useViewportGrid)(),p=A||g.activeViewportId,{IconContainer:m,className:f,containerProps:h}=(0,Au.useIconPresentation)(),[w,B]=M.useState("string"==typeof d?d:"axial"),y=e=>{let A;B(e);let n=c.getViewportInfo(p),r=n?.getViewportType();if(!t.length)return;if(!t.some(e=>e.isReconstructable))return void console.warn("Cannot change orientation: No reconstructable display sets in viewport");switch(e.toLowerCase()){case"axial":A=x.Enums.OrientationAxis.AXIAL;break;case"sagittal":A=x.Enums.OrientationAxis.SAGITTAL;break;case"coronal":A=x.Enums.OrientationAxis.CORONAL;break;case"reformat":A=x.Enums.OrientationAxis.REFORMAT;break;default:A=x.Enums.OrientationAxis.ACQUISITION}let i=t.map(e=>e.displaySetInstanceUID);if(r!==x.Enums.ViewportType.ORTHOGRAPHIC){let e={viewportId:p,displaySetInstanceUIDs:i,viewportOptions:{viewportType:x.Enums.ViewportType.ORTHOGRAPHIC,orientation:A},displaySetOptions:i.map(()=>({}))};l.run("setDisplaySetsForViewports",{viewportsToUpdate:[e]})}else l.runCommand("setViewportOrientation",{viewportId:p,orientation:A});o?.()};if(!t.length)return null;let{align:v,side:C}=u.getAlignAndSide(Number(e)),E=M.createElement((e=>{switch(e.toLowerCase()){case"axial":return Au.Icons.OrientationSwitchA;case"sagittal":return Au.Icons.OrientationSwitchS;case"coronal":return Au.Icons.OrientationSwitchC;case"reformat":return Au.Icons.OrientationSwitchR;default:return Au.Icons.OrientationSwitch}})(w),{className:f});return M.createElement(Au.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},M.createElement(Au.PopoverTrigger,{asChild:!0,className:(0,Au.cn)("flex items-center justify-center")},M.createElement("div",null,m?M.createElement(m,cl({disabled:i,icon:"OrientationSwitch"},a,h),E):M.createElement(Au.Button,{variant:"ghost",size:"icon",disabled:i,onClick:()=>{}},E))),M.createElement(Au.PopoverContent,{className:"h-[170px] w-[130px] flex-shrink-0 flex-col items-start rounded p-1",align:v,side:C,style:{left:0}},M.createElement(Au.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("axial")},M.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"axial"===w?M.createElement(Au.Icons.Checked,{className:"text-primary h-6 w-6"}):null),M.createElement("div",{className:"flex-1 text-left"},"Axial")),M.createElement(Au.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("sagittal")},M.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"sagittal"===w?M.createElement(Au.Icons.Checked,{className:"text-primary h-6 w-6"}):null),M.createElement("div",{className:"flex-1 text-left"},"Sagittal")),M.createElement(Au.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("coronal")},M.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"coronal"===w?M.createElement(Au.Icons.Checked,{className:"text-primary h-6 w-6"}):null),M.createElement("div",{className:"flex-1 text-left"},"Coronal")),M.createElement(Au.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("acquisition")},M.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"acquisition"===w?M.createElement(Au.Icons.Checked,{className:"text-primary h-6 w-6"}):null),M.createElement("div",{className:"flex-1 text-left"},"Acquisition")),M.createElement("div",{className:"border-input mx-1 my-2 border-t"}),M.createElement(Au.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("reformat")},M.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"reformat"===w?M.createElement(Au.Icons.Checked,{className:"text-primary h-6 w-6"}):null),M.createElement("div",{className:"flex-1 text-left"},"Reformat"))))};function cu(){return(cu=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function cd(e){let{viewportId:A}=e,{viewportDisplaySets:t}=(0,cn.N)(A);return t.length?M.createElement(cc,cu({},e,{displaySets:t})):null}var cg=T(154);function cp({viewportId:e}={}){let{viewportDisplaySets:A}=(0,cg.e)(e),{t}=AD("WindowLevelActionMenu"),[n,r]=(0,M.useState)(A?.[0]?.displaySetInstanceUID),{colorbarProperties:o,setColormap:i}=(0,cg.e)(e,{displaySetInstanceUID:n}),{colormaps:a}=o,[s,l]=(0,M.useState)(!1),[c,u]=(0,M.useState)(null),[d,g]=(0,M.useState)(null),p=(0,M.useRef)(s);p.current=s;let m=(0,M.useRef)(c);m.current=c;let f=(0,M.useRef)(d);f.current=d,(0,M.useEffect)(()=>{g(null),u(null)},[n]);let h=(e,t=!0)=>{let n=A.length>1&&!["Grayscale","X Ray"].includes(e.name)?.5:1;i({colormap:e,opacity:n,immediate:t})};return M.createElement(M.Fragment,null,A&&A.length>1&&M.createElement("div",{className:"flex h-8 w-full flex-shrink-0 items-center justify-center px-2 text-base"},M.createElement(Au.Tabs,{value:n,onValueChange:e=>{r(e),u(null)}},M.createElement(Au.TabsList,null,A.map(e=>M.createElement(Au.TabsTrigger,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},e.Modality))))),M.createElement("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",onClick:()=>l(!s)},M.createElement("span",{className:"flex-shrink-0"},t("Preview in viewport")),M.createElement(Au.Switch,{className:"ml-auto flex-shrink-0",checked:s,onCheckedChange:e=>{l(e),!e&&f.current&&h(f.current)}})),M.createElement(Au.AllInOneMenu.DividerItem,null),M.createElement("div",{className:"h-[300px] flex-grow"},M.createElement(Au.ScrollArea,{className:"h-full w-full"},M.createElement("div",{className:"p-1"},a.map((e,A)=>M.createElement(Au.AllInOneMenu.Item,{key:A,label:t(`Colormaps:${e.Name}`,{defaultValue:e.Name}),useIconSpace:!1,onClick:()=>{g(e),h(e),u(null)},onMouseEnter:()=>{p.current&&(m.current||u(e),h(e))},onMouseLeave:()=>{p.current&&m.current&&h(m.current)}}))))))}function cm({viewportId:e}={}){let{hasColorbar:A,toggleColorbar:t}=(0,cg.e)(e),{t:n}=AD("WindowLevelActionMenu"),r=(0,M.useCallback)(()=>{t()},[t]);return M.createElement("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded"},M.createElement("div",{className:"flex w-7 flex-shrink-0 items-center justify-center"}),M.createElement("span",{className:"flex-grow",onClick:r},n("Display Color bar")),M.createElement(Au.Switch,{className:"ml-2 flex-shrink-0",checked:!!A,onCheckedChange:r}))}function cf({viewportId:e}={}){let{t:A}=AD("WindowLevelActionMenu"),{viewportDisplaySets:t}=(0,cg.e)(e),[n,r]=(0,M.useState)(t?.[0]?.displaySetInstanceUID),{windowLevelPresets:o,setWindowLevel:i}=(0,cg.e)(e,{displaySetInstanceUID:n}),[a,s]=(0,M.useState)(!1),[l,c]=(0,M.useState)(null),[u,d]=(0,M.useState)(null),g=(0,M.useRef)(a);g.current=a;let p=(0,M.useRef)(l);p.current=l;let m=(0,M.useRef)(u);m.current=u,(0,M.useEffect)(()=>{d(null),c(null)},[n]);let f=(e,A=!1)=>{i({windowWidth:Number(e.window),windowCenter:Number(e.level),immediate:A})};return M.createElement(M.Fragment,null,t&&t.length>1&&M.createElement("div",{className:"flex h-8 w-full flex-shrink-0 items-center justify-center px-2 text-base"},M.createElement(Au.Tabs,{value:n,onValueChange:e=>{r(e)}},M.createElement(Au.TabsList,null,t.map(e=>M.createElement(Au.TabsTrigger,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},e.Modality))))),M.createElement("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",onClick:()=>s(!a)},M.createElement("span",{className:"flex-shrink-0"},A("Preview in viewport")),M.createElement(Au.Switch,{className:"ml-auto flex-shrink-0",checked:a,onCheckedChange:e=>{s(e),!e&&m.current&&f(m.current,!0)}})),M.createElement(Au.AllInOneMenu.DividerItem,null),M.createElement("div",{className:"h-[175px] flex-grow"},M.createElement(Au.ScrollArea,{className:"h-full w-full"},M.createElement("div",{className:"p-1"},o.map((e,t)=>M.createElement(Au.AllInOneMenu.Item,{key:t,label:A(e.description),secondaryLabel:`${e.window} / ${e.level}`,useIconSpace:!1,onClick:()=>{d(e),f(e,!0),c(null)},onMouseEnter:()=>{g.current&&(p.current||c(m.current||e),f(e,!0))},onMouseLeave:()=>{g.current&&p.current&&f(p.current,!0)}}))))))}function ch({presets:e,viewportId:A,hide:t}){let{commandsManager:n}=(0,R.useSystem)(),[r,o]=(0,M.useState)(""),[i,a]=(0,M.useState)(null),{t:s}=AD("WindowLevelActionMenu"),l=(0,M.useCallback)(e=>{o(e.target.value)},[]),c=(0,M.useCallback)(e=>{n.runCommand("setViewportPreset",{...e})},[n]),u=r?e.filter(e=>e.name.toLowerCase().includes(r.toLowerCase())):e;return M.createElement(Au.PresetDialog,{className:"h-[500px]"},M.createElement(Au.PresetDialog.PresetBody,null,M.createElement(Au.PresetDialog.PresetFilter,null,M.createElement(Au.PresetDialog.PresetSearch,{value:r,onChange:l,placeholder:s("Search all","Search all")})),M.createElement(Au.PresetDialog.PresetGrid,null,u.map((e,t)=>{let n;return M.createElement("div",{key:t,className:"flex cursor-pointer flex-col items-start",onClick:()=>{a(e),c({preset:e.name,viewportId:A})}},M.createElement(Au.Icons.ByName,{name:e.name,className:i?.name===e.name?"border-highlight h-[75px] w-[95px] max-w-none rounded border-2":"hover:border-highlight h-[75px] w-[95px] max-w-none rounded border-2 border-background"}),M.createElement("label",{className:"text-muted-foreground mt-1 text-left text-xs"},(n=e.name,n.length>11?`${n.slice(0,11)}...`:n)))}))),M.createElement(Au.FooterAction,{className:"mt-4 flex-shrink-0"},M.createElement(Au.FooterAction.Right,null,M.createElement(Au.FooterAction.Secondary,{onClick:t},s("Common:Cancel")))))}function cw({viewportId:e}={}){let{volumeRenderingPresets:A}=(0,cg.e)(e),{servicesManager:t}=(0,R.useSystem)(),{uiDialogService:n}=t.services,{t:r}=AD("WindowLevelActionMenu");return M.createElement(Au.AllInOneMenu.Item,{label:r("Rendering Presets"),icon:M.createElement(Au.Icons.VolumeRendering,null),rightIcon:M.createElement(Au.Icons.ByName,{name:"action-new-dialog"}),onClick:()=>{n.show({id:"volume-rendering-presets",content:ch,title:r("Rendering Presets"),isDraggable:!0,contentProps:{presets:A,viewportId:e}})}})}function cB({volumeRenderingQualityRange:e,viewportId:A}){let{servicesManager:t,commandsManager:n}=(0,R.useSystem)(),{cornerstoneViewportService:r}=t.services,{min:o,max:i,step:a}=e,[s,l]=(0,M.useState)(null),{t:c}=AD("WindowLevelActionMenu"),u=(0,M.useCallback)(e=>{n.runCommand("setVolumeRenderingQulaity",{viewportId:A,volumeQuality:e}),l(e)},[n,A]);return(0,M.useEffect)(()=>{let{actor:e}=r.getCornerstoneViewport(A).getActors()[0],t=e.getMapper(),n=t.getInputData().getSpacing(),o=t.getSampleDistance(),i=n.reduce((e,A)=>e+A)/3;o===i?l(1):l(Math.sqrt(i/(.5*o)))},[r,A]),M.createElement("div",{className:"my-1 mt-2 flex flex-col space-y-2"},null!==s&&M.createElement("div",{className:"w-full pl-2 pr-1"},M.createElement(Au.Numeric.Container,{mode:"singleRange",min:o,max:i,step:a,value:s,onChange:u},M.createElement("div",{className:"flex flex-row items-center"},M.createElement(Au.Numeric.Label,{className:"w-16"},c("Quality")),M.createElement(Au.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})))))}function cy({viewportId:e}){let{servicesManager:A,commandsManager:t}=(0,R.useSystem)(),{cornerstoneViewportService:n}=A.services,[r,o]=(0,M.useState)(null),[i,a]=(0,M.useState)(null),[s,l]=(0,M.useState)(n.getCornerstoneViewport(e)?.shiftedBy||0),[c,u]=(0,M.useState)(null),[d,g]=(0,M.useState)(!1),p=(0,M.useRef)(s),m=n.getCornerstoneViewport(e),{actor:f}=m.getActors()[0],h=f.getProperty().getScalarOpacity(0),{t:w}=AD("WindowLevelActionMenu");(0,M.useEffect)(()=>{if(d)return;let e=h.getRange(),A=e[1]-e[0];o(-A),a(A),u(Math.pow(10,Math.floor(Math.log10(A/500))))},[n,e,f,h,d]);let B=(0,M.useCallback)(A=>{let n=A-p.current;p.current=A,m.shiftedBy=A,t.runCommand("shiftVolumeOpacityPoints",{viewportId:e,shift:n}),l(A)},[t,e,m]);return M.createElement("div",{className:"my-1 mt-2 flex flex-col space-y-2"},null!==c&&null!==r&&null!==i&&M.createElement("div",{className:"w-full pl-2 pr-1"},M.createElement(Au.Numeric.Container,{mode:"singleRange",min:r,max:i,step:c,value:s,onChange:B,onMouseDown:()=>g(!0),onMouseUp:()=>g(!1)},M.createElement("div",{className:"flex flex-row items-center"},M.createElement(Au.Numeric.Label,{className:"w-16"},w("Shift")),M.createElement(Au.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})))))}function cv({viewportId:e,hasShade:A}){let{servicesManager:t,commandsManager:n}=(0,R.useSystem)(),{cornerstoneViewportService:r}=t.services,[o,i]=(0,M.useState)({ambient:null,diffuse:null,specular:null}),{t:a}=AD("WindowLevelActionMenu"),s=(0,M.useCallback)((A,t)=>{n.runCommand("setVolumeLighting",{viewportId:e,options:{[A]:t}}),i(e=>({...e,[A]:t}))},[n,e]);(0,M.useEffect)(()=>{let{actor:A}=r.getCornerstoneViewport(e).getActors()[0],t=A.getProperty();i({ambient:t.getAmbient(),diffuse:t.getDiffuse(),specular:t.getSpecular()})},[e,r]);let l=A?"":"ohif-disabled !opacity-40",c=[{key:"ambient",label:a("Ambient")},{key:"diffuse",label:a("Diffuse")},{key:"specular",label:a("Specular")}];return M.createElement("div",{className:"my-1 mt-2 flex flex-col space-y-2"},c.map(({key:e,label:A})=>null!==o[e]&&M.createElement("div",{key:e,className:`w-full pl-2 pr-1 ${l}`},M.createElement(Au.Numeric.Container,{mode:"singleRange",min:0,max:1,step:.1,value:o[e],onChange:A=>s(e,A)},M.createElement("div",{className:"flex flex-row items-center"},M.createElement(Au.Numeric.Label,{className:"w-16"},A),M.createElement(Au.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"}))))))}function cC({viewportId:e,onClickShade:A=e=>{}}){let{t}=AD("WindowLevelActionMenu"),{servicesManager:n,commandsManager:r}=(0,R.useSystem)(),{cornerstoneViewportService:o}=n.services,[i,a]=(0,M.useState)(!0),[s,l]=(0,M.useState)(0),c=(0,M.useCallback)(A=>{r.runCommand("setVolumeLighting",{viewportId:e,options:{shade:A}})},[r,e]);return(0,M.useEffect)(()=>{let{actor:t}=o.getCornerstoneViewport(e).getActors()[0],n=t.getProperty().getShade();a(n),A(n),l(s+1)},[e,o]),M.createElement(M.Fragment,null,M.createElement("span",{className:"flex-grow"},t("Shade")),M.createElement(Au.Switch,{className:"ml-2 flex-shrink-0",key:s,checked:i,onCheckedChange:()=>{a(!i),A(!i),c(!i)}}))}function cE({viewportId:e}={}){let{volumeRenderingQualityRange:A}=(0,cg.e)(e),[t,n]=(0,M.useState)(!1),{t:r}=AD("WindowLevelActionMenu");return M.createElement(Au.AllInOneMenu.ItemPanel,null,M.createElement(cB,{viewportId:e,volumeRenderingQualityRange:A}),M.createElement(cy,{viewportId:e}),M.createElement("div",{className:"mt-2 flex h-8 !h-[20px] w-full flex-shrink-0 items-center justify-start px-2 text-base"},M.createElement("div",{className:"text-muted-foreground text-sm"},r("Lighting"))),M.createElement("div",{className:"bg-background mt-1 mb-1 h-px w-full"}),M.createElement("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 items-center px-2 text-base hover:rounded"},M.createElement(cC,{viewportId:e,onClickShade:n})),M.createElement(cv,{viewportId:e,hasShade:t}))}function cS({viewportId:e,align:A,side:t,onVisibilityChange:n}){return M.createElement(cI,{viewportId:e,align:A,side:t,onVisibilityChange:n})}function cI({viewportId:e,align:A,side:t,onVisibilityChange:n}){let{t:r}=AD("WindowLevelActionMenu"),o=(0,M.useMemo)(()=>`${e}`,[e]),{is3DVolume:i,colorbarProperties:a,windowLevelPresets:s,volumeRenderingPresets:l,volumeRenderingQualityRange:c}=(0,cg.e)(e);return M.createElement(Au.AllInOneMenu.Menu,{key:o,isVisible:!0,align:A,side:t,backLabel:l1.t("WindowLevelActionMenu:Back to Display Options"),onVisibilityChange:n},M.createElement(Au.AllInOneMenu.ItemPanel,null,!i&&M.createElement(cm,{viewportId:e}),a?.colormaps&&!i&&M.createElement(Au.AllInOneMenu.SubMenu,{key:"colorLUTPresets",itemLabel:r("Color LUT"),itemIcon:"icon-color-lut",className:"flex h-[calc(100%-32px)] flex-col"},M.createElement(cp,{viewportId:e})),s?.length>0&&!i&&M.createElement(Au.AllInOneMenu.SubMenu,{key:"windowLevelPresets",itemLabel:r("Modality Window Presets"),itemIcon:"viewport-window-level"},M.createElement(cf,{viewportId:e})),l&&i&&M.createElement(cw,{viewportId:e}),c&&i&&M.createElement(Au.AllInOneMenu.SubMenu,{itemLabel:r("Rendering Options")},M.createElement(cE,{viewportId:e}))))}function cU(){return(cU=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function cb(e){let{viewportId:A,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,isEmbedded:a=!1,onInteraction:s,hasEmbeddedVariantToUse:l,...c}=e,[u]=(0,Au.useViewportGrid)(),d=A||u.activeViewportId,{viewportDisplaySets:g}=(0,cn.N)(d),{servicesManager:p}=(0,R.useSystem)(),{toolbarService:m}=p.services,{IconContainer:f,className:h,containerProps:w}=(0,Au.useIconPresentation)(),{hasColorbar:B,toggleColorbar:y}=(0,co.eH)(A),v=e=>{let A=B&&!a;if(n&&A&&e){y(),o?.();return}!n&&e&&A?y():e?r?.():o?.()},{align:C,side:E}=m.getAlignAndSide(t);if(0===g.map(e=>e.supportsWindowLevel).length)return null;let S=B&&!a&&l?M.createElement(Au.Icons.Close,{className:h}):M.createElement(Au.Icons.ViewportWindowLevel,{className:h});return M.createElement(Au.Popover,{open:n,onOpenChange:v},M.createElement(Au.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},M.createElement("div",null,f?M.createElement(f,cU({disabled:i},c,w),S):M.createElement(Au.Button,{variant:"ghost",size:"icon",disabled:i},S))),M.createElement(Au.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:E,align:C,alignOffset:0,sideOffset:5},M.createElement(cS,{viewportId:d,align:C,side:E,onVisibilityChange:v})))}let cF="minmax",cQ="manual",cD=function({viewportId:e,className:A}){let{servicesManager:t}=(0,R.useSystem)(),{displaySetService:n}=t.services,[r,o]=(0,M.useState)(cF),{viewportDisplaySets:i}=(0,cn.N)(e),[a,s]=(0,M.useState)(i.length>0?i[0].displaySetInstanceUID:void 0),{voiRange:l,setVOIRange:c,windowLevel:u,setWindowLevel:d}=(0,cg.e)(e,{displaySetInstanceUID:a});if((0,M.useEffect)(()=>{i.length>0&&!a&&s(i[0].displaySetInstanceUID)},[i,a]),!l)return null;let{upper:g,lower:p}=l,{windowWidth:m,windowCenter:f}=u,h=n.getDisplaySetByUID(a)?.imageIds,w=1/0,B=-1/0;if(h)for(let e of h){let A=x.cache.getImage(e);A&&(w=Math.min(w,A.minPixelValue),B=Math.max(B,A.maxPixelValue))}(w===1/0||B===-1/0)&&(w=0,B=255);let y=i.find(e=>e.displaySetInstanceUID===a);return M.createElement("div",{className:A},M.createElement("div",{className:"bg-popover w-72 rounded-lg p-4 shadow-md"},M.createElement(Au.Tabs,{defaultValue:r,onValueChange:o},M.createElement("div",{className:"mb-4 flex items-center space-x-2"},i.length>1&&M.createElement(Au.Select,{value:a,onValueChange:s},M.createElement(Au.SelectTrigger,null,M.createElement(Au.SelectValue,null,y?.label||"Select Display Set")),M.createElement(Au.SelectContent,null,i.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},`${e.SeriesDescription||""}`.trim())))),M.createElement(Au.TabsList,{className:"w-full flex-1"},M.createElement(Au.TabsTrigger,{value:cF,className:"flex-1"},"Min/Max"),M.createElement(Au.TabsTrigger,{value:cQ,className:"flex-1"},"Manual"))),M.createElement(Au.TabsContent,{value:cF},M.createElement(Au.Numeric.Container,{mode:"doubleRange",min:w,max:B,values:[p,g],step:1,className:"space-y-1",onChange:e=>{let[A,t]=e;(A!==p||t!==g)&&c({lower:A,upper:t})}},M.createElement(Au.Numeric.DoubleRange,{showNumberInputs:!0}))),M.createElement(Au.TabsContent,{value:cQ},M.createElement("div",{className:"space-y-1"},M.createElement(Au.Numeric.Container,{mode:"singleRange",min:0,max:B,step:1,value:m,className:"space-y-1",onChange:e=>{e!==m&&d({windowWidth:e,windowCenter:f})}},M.createElement("div",{className:"flex items-center space-x-2"},M.createElement(Au.Numeric.Label,null,"W:"),M.createElement(Au.Numeric.SingleRange,{showNumberInput:!0}))),M.createElement(Au.Numeric.Container,{mode:"singleRange",min:w,max:B,step:1,value:f,className:"space-y-1",onChange:e=>{e!==f&&d({windowWidth:m,windowCenter:e})}},M.createElement("div",{className:"flex items-center space-x-2"},M.createElement(Au.Numeric.Label,null,"L:"),M.createElement(Au.Numeric.SingleRange,{showNumberInput:!0}))))))))};function cT(){return(cT=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function cO(e){let{viewportId:A,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{IconContainer:s,className:l,containerProps:c}=(0,Au.useIconPresentation)(),{servicesManager:u}=(0,R.useSystem)(),{toolbarService:d}=u.services,{align:g,side:p}=d.getAlignAndSide(t),m=M.createElement(Au.Icons.WindowLevelAdvanced,{className:l});return M.createElement(Au.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},M.createElement(Au.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},M.createElement("div",null,s?M.createElement(s,cT({disabled:i,icon:"WindowLevelAdvanced"},a,c),m):M.createElement(Au.Button,{variant:"ghost",size:"icon",disabled:i},m))),M.createElement(Au.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:p,align:g,alignOffset:0,sideOffset:5},M.createElement(cD,{className:"w-full",viewportId:A})))}let cM=function({viewportId:e,className:A}){let{viewportDisplaySets:t,foregroundDisplaySets:n}=(0,cn.N)(e),[r,o]=(0,M.useState)(n.length>0?n[0].displaySetInstanceUID:void 0),{threshold:i,setThreshold:a,pixelValueRange:s}=(0,co.eH)(e,{displaySetInstanceUID:r}),{min:l,max:c}=s,u=i??l;(0,M.useEffect)(()=>{n.length>0&&!r&&o(n[0].displaySetInstanceUID)},[n,r]);let d=t.find(e=>e.displaySetInstanceUID===r);return M.createElement("div",{className:A},M.createElement("div",{className:"bg-popover w-72 rounded-lg p-4 shadow-md"},M.createElement("div",{className:"mb-4 flex items-center justify-between"},M.createElement("div",{className:"flex items-center space-x-2"},M.createElement("span",{className:"text-muted-foreground text-base"},"Threshold"),t.length>1&&M.createElement("div",{className:"w-32"},M.createElement(Au.Select,{value:r,onValueChange:o},M.createElement(Au.SelectTrigger,null,M.createElement(Au.SelectValue,null,d?.label||"Select Display Set")),M.createElement(Au.SelectContent,null,t.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},M.createElement(cr,{displaySet:e}))))))),M.createElement(Au.Button,{size:"sm",variant:"ghost",onClick:()=>a(l),className:"text-sm"},"Reset")),M.createElement(Au.Numeric.Container,{mode:"singleRange",value:u,onChange:e=>{"number"==typeof e&&a(e)},min:l,max:c,step:.01},M.createElement(Au.Numeric.SingleRange,null),M.createElement("div",{className:"mt-1 flex justify-between"},M.createElement("span",{className:"text-muted-foreground text-sm"},l.toFixed(0)),M.createElement("span",{className:"text-muted-foreground text-sm"},c.toFixed(0))))))};function cx(){return(cx=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function cH(e){let{viewportId:A,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{IconContainer:s,className:l,containerProps:c}=(0,Au.useIconPresentation)(),{servicesManager:u}=(0,R.useSystem)(),{toolbarService:d}=u.services,{align:g,side:p}=d.getAlignAndSide(t),m=M.createElement(Au.Icons.Threshold,{className:l});return M.createElement(Au.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},M.createElement(Au.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},M.createElement("div",null,s?M.createElement(s,cx({disabled:i,icon:"Threshold"},a,c),m):M.createElement(Au.Button,{variant:"ghost",size:"icon",disabled:i},m))),M.createElement(Au.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:p,align:g,alignOffset:0,sideOffset:5},M.createElement(cM,{className:"w-full",viewportId:A})))}let cL=function({viewportId:e,className:A}){let{backgroundDisplaySet:t,foregroundDisplaySets:n}=(0,co.Ne)(e,{includeForeground:!0,includeBackground:!0}),{opacityLinear:r,setOpacityLinear:o}=(0,co.eH)(e,{displaySetInstanceUID:n[0].displaySetInstanceUID}),i=t?.Modality||"",a=n[0]?.Modality||"";return M.createElement("div",{className:A},M.createElement("div",{className:"bg-popover w-72 rounded-lg p-3"},M.createElement("div",{className:"mb-2 flex items-center justify-center"},M.createElement("span",{className:"text-muted-foreground text-base"},"Opacity")),M.createElement("div",{className:""},M.createElement(Au.Numeric.Container,{mode:"singleRange",value:void 0!==r?r:0,onChange:e=>{"number"==typeof e&&o(e)},min:0,max:1,step:1e-4},M.createElement("div",{className:"flex items-center"},M.createElement("span",{className:"text-foreground mr-2 text-sm"},i),M.createElement(Au.Numeric.SingleRange,{showNumberInput:!1}),M.createElement("span",{className:"text-foreground ml-2 text-sm"},a))))))};function cN(){return(cN=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function cV(e){let{viewportId:A,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{IconContainer:s,className:l,containerProps:c}=(0,Au.useIconPresentation)(),{servicesManager:u}=(0,R.useSystem)(),{toolbarService:d}=u.services,{align:g,side:p}=d.getAlignAndSide(t),m=M.createElement(Au.Icons.Opacity,{className:l});return M.createElement(Au.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},M.createElement(Au.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},M.createElement("div",null,s?M.createElement(s,cN({disabled:i,icon:"Opacity"},a,c),m):M.createElement(Au.Button,{variant:"ghost",size:"icon",disabled:i},m))),M.createElement(Au.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:p,align:g,alignOffset:0,sideOffset:5},M.createElement(cL,{className:"w-full",viewportId:A})))}var cR=T(9433);let c_=function({viewportId:e}){let{commandsManager:A}=(0,AT.useSystem)(),{t}=AD("Common"),n=t("LOAD"),{isTracked:r,isLocked:o}=(0,cR.R)({viewportId:e}),{backgroundDisplaySet:i}=(0,cn.N)(e),[a,s]=(0,M.useState)(null),l=(0,M.useMemo)(()=>[i].filter(Boolean),[i]);(0,M.useEffect)(()=>{s(l.find(e=>e.isOverlayDisplaySet||e?.Modality==="SR")||null)},[l]);let c=(0,M.useMemo)(()=>{if(r&&!a)return{type:"SR",isHydrated:!0,isTracked:r,displaySet:null,tooltip:"Currently tracking measurements in this viewport"};if(!a)return{type:null};let e=a.Modality,A=a.isHydrated||!1,t=null,i=a.isRehydratable||!1;return"SEG"===e?t=A?"This Segmentation is loaded in the segmentation panel":"Click LOAD to load segmentation.":"RTSTRUCT"===e?t=A?"This RTSTRUCT is loaded in the segmentation panel":"Click LOAD to load RTSTRUCT.":"SR"===e&&(t=i?i&&o?"This structured report is currently read-only because you are tracking measurements in another viewport.":`Click ${n} to restore measurements.`:"This structured report is not compatible with this application."),{type:e,isHydrated:A,displaySet:a,isRehydratable:i,tooltip:t}},[a,n,o,r]);if(!c.type&&!r)return null;let u=()=>"SR"!==c.type?M.createElement(Au.Icons.StatusUntracked,{className:"h-4 w-4"}):c.isRehydratable&&!o?M.createElement(Au.Icons.ByName,{className:"text-muted-foreground h-4 w-4",name:"status-untracked"}):c.isRehydratable&&o?M.createElement(Au.Icons.ByName,{name:"status-locked",className:"h-4 w-4"}):M.createElement(Au.Icons.ByName,{name:"status-alert",className:"h-4 w-4"}),d=()=>c.isHydrated?null:M.createElement("div",{"data-cy":`ModalityLoadBadge-${e}`,className:"text-foreground flex h-6 cursor-default text-sm leading-6"},M.createElement("div",{className:"bg-popover flex min-w-[45px] items-center rounded-l-xl rounded-r p-1"},M.createElement(u,null),M.createElement("span",{className:"ml-1"},c.type)),"SR"!==c.type&&M.createElement(Au.ViewportActionButton,{onInteraction:()=>{A.runCommand("hydrateSecondaryDisplaySet",{displaySet:c.displaySet,viewportId:e})}},n));return M.createElement(M.Fragment,null,c.tooltip&&M.createElement(Au.Tooltip,null,M.createElement(Au.TooltipTrigger,{asChild:!0},M.createElement("span",null,M.createElement(d,null))),M.createElement(Au.TooltipContent,{side:"bottom"},M.createElement("div",null,c.tooltip))),!c.tooltip&&M.createElement(d,null))};function ck(e,A,t){if(t<=0)return 0;let n=(e+A)%t;return n<0&&(n=t-1),n}let cP=function({viewportId:e}){let{servicesManager:A}=(0,AT.useSystem)(),{segmentationService:t,cornerstoneViewportService:n,measurementService:r}=A.services,{isTracked:o,trackedMeasurementUIDs:i}=(0,cR.R)({viewportId:e}),{viewportDisplaySets:a}=(0,cn.N)(e),[s,l]=(0,M.useState)(0),c=a.some(e=>e?.Modality==="SR"),u=n.getCornerstoneViewport(e),{segmentationsWithRepresentations:d}=(0,co.Lt)({viewportId:e}),g=d.length>0&&d.some(e=>e?.representation?.type!==AA.SegmentationRepresentations.Surface)?"segment":c||o?"measurement":null,p=(0,M.useCallback)(A=>{let t=a.find(e=>e?.Modality==="SR");if(t){let e=t.measurements;if(e.length<=0)return;let n=ck(s,A,e.length);l(n);let r=e[n];u.setViewReference({referencedImageId:r.imageId});return}if(o&&i.length>0){let t=ck(s,A,i.length);l(t),r.jumpToMeasurement(e,i[t])}},[e,u,s,r,o,i,a]),m=(0,M.useCallback)(A=>{if(!d.length)return;let n=d.find(e=>e?.representation?.active).segmentation.segmentationId;dj.handleSegmentChange({direction:A,segmentationId:n,viewportId:e,selectedSegmentObjectIndex:0,segmentationService:t})},[d,e,t]),f=(0,M.useCallback)(e=>{"segment"===g?m(e):"measurement"===g&&p(e)},[g,m,p]);return g?M.createElement(Au.ViewportActionArrows,{onArrowsClick:f,className:"h-6"}):null},cG=function({viewportId:e}){let{isTracked:A}=(0,cR.R)({viewportId:e});return A?M.createElement(M.Fragment,null,M.createElement(Au.Tooltip,null,M.createElement(Au.TooltipTrigger,{asChild:!0},M.createElement("span",null,M.createElement(Au.Icons.StatusTracking,{className:"h-4 w-4"}))),M.createElement(Au.TooltipContent,{side:"bottom"},M.createElement("div",null,"Tracking")))):null},{ViewportColorbar:cK}=H.utilities.voi.colorbar,cj=e=>"top"===e||"bottom"===e,cY=(0,M.memo)(function({viewportId:e,displaySetInstanceUID:A,colormaps:t,activeColormapName:n,volumeId:r,position:o,tickPosition:i,tickStyles:a,numColorbars:s}){let l=(0,M.useRef)(null),{servicesManager:c}=(0,R.useSystem)(),{customizationService:u}=c.services,d=(0,R.useViewportRef)(e),{height:g,width:p}=(0,R.useViewportSize)(e),m=(0,M.useMemo)(()=>u.getCustomization("cornerstone.colorbar"),[u]),f=(0,M.useMemo)(()=>"left"===o||"right"===o?"left"===o?"right":"left":"top"===o?"bottom":"top",[o,i]),h=(0,M.useMemo)(()=>m?.positionTickStyles?.[o],[m,o]),w=(0,M.useMemo)(()=>m?.positionStyles?.[o]||{},[m,o]),B=(0,M.useMemo)(()=>({...m?.tickStyles||{},...h?.style||{},...a||{}}),[m,h,a]),y=(0,M.useMemo)(()=>`Colorbar-${e}-${A}`,[e,A]);return((0,M.useEffect)(()=>{if(!l.current||!t||!n)return;let e=d?.current;if(!e||!t?.length)return;let A=new cK({id:y,element:e,container:l.current,colormaps:t,activeColormapName:n,volumeId:r,ticks:{position:f,style:B}});return()=>{A&&A.destroy()}},[e,A,t,n,r,y,f,B,d]),g&&p)?M.createElement("div",{id:`colorbar-container-${e}-${A}`,ref:l,style:{position:"relative",zIndex:1e3,boxSizing:"border-box",display:"flex",alignItems:"center",pointerEvents:"auto",minWidth:cj(o)?p/2.5:"17px",minHeight:cj(o)?"20px":1===s?g/3:g/4,height:"1px",...w}}):null}),cW=(0,M.memo)(function({viewportId:e,location:A}){let[t,n]=(0,M.useState)([]),{servicesManager:r}=(0,R.useSystem)(),{colorbarService:o,customizationService:i,displaySetService:a}=r.services,{viewportDisplaySets:s,backgroundDisplaySet:l,foregroundDisplaySets:c}=(0,cn.N)(e),{colorbarPosition:u,opacity:d}=(0,cg.A)(e,{location:A}),g=(0,M.useMemo)(()=>i.getCustomization("cornerstone.colorbar"),[i]),p=(0,M.useMemo)(()=>{let e=g?.colorbarTickPosition;return g?.colorbarTickPosition||e},[g]);if((0,M.useEffect)(()=>{n(o.getViewportColorbar(e)||[])},[e,o]),(0,M.useEffect)(()=>{let{unsubscribe:A}=o.subscribe(o.EVENTS.STATE_CHANGED,A=>{A.viewportId===e&&n(o.getViewportColorbar(e)||[])});return()=>{A()}},[e,o]),!t.length)return null;let m=1!==s.length&&cj(u)?t.filter(({displaySetInstanceUID:e})=>{let{displaySetInstanceUID:A}=a.getDisplaySetByUID(e)??{};return A===(0===d||null==d?l?.displaySetInstanceUID:c[0].displaySetInstanceUID)}):t;return M.createElement("div",{style:{pointerEvents:"auto"}},M.createElement("div",{className:"flex h-full flex-col items-center justify-center",style:{pointerEvents:"auto"}},m.map(A=>{let{colorbar:n,displaySetInstanceUID:r}=A;return M.createElement(cY,{key:`colorbar-${e}-${r}`,viewportId:e,displaySetInstanceUID:r,colormaps:n.colormaps,activeColormapName:n.activeColormapName,volumeId:n.volumeId,position:u,tickPosition:p,tickStyles:g?.tickStyles,numColorbars:t.length})})))});var cz=T(1016),cJ=T(8842);function cX(){return(cX=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}let cq={[cJ.ButtonLocation.TopMiddle]:{minX:0,minY:0,maxX:1,maxY:.1},[cJ.ButtonLocation.BottomMiddle]:{minX:0,minY:.9,maxX:1,maxY:1},[cJ.ButtonLocation.LeftMiddle]:{minX:0,minY:0,maxX:.1,maxY:1},[cJ.ButtonLocation.RightMiddle]:{minX:.9,minY:0,maxX:1,maxY:1}},c$=function({viewportId:e,location:A,buttonSection:t}){let{onInteraction:n,toolbarButtons:r,isItemOpen:o,isItemLocked:i,openItem:a,closeItem:s,toggleLock:l}=(0,cz.useToolbar)({buttonSection:t}),c=(0,cz.useViewportMousePosition)(e),[u,d]=(0,M.useState)(!1),[g,p]=(0,M.useState)(!0),m=(0,M.useRef)(!0),{hasColorbar:f}=(0,co.eH)(e),[h,w]=(0,M.useState)(!1);(0,M.useEffect)(()=>{if(m.current){m.current=!1;let e=setTimeout(()=>{p(!1)},3e3);return()=>clearTimeout(e)}},[]),(0,M.useEffect)(()=>{if(!g&&c.isInViewport){let e=cq[A];c.isWithinNormalizedBox(e)?d(!0):d(!1)}},[A,c,g]);let B=(0,M.useCallback)((e,A)=>{a(e,A),w(!0)},[a,w]),y=(0,M.useCallback)((e,A)=>{s(e,A),w(!1)},[s,w]);return r?.length&&f?M.createElement("div",{className:tp()("flex gap-2",A===cJ.ButtonLocation.LeftMiddle||A===cJ.ButtonLocation.RightMiddle?"flex-col":"flex-row")},r.map(t=>{if(!t)return null;let{id:r,Component:a,componentProps:s}=t,c={...s,isOpen:o(r,e),isLocked:i(r,e),onOpen:()=>B(r,e),onClose:()=>y(r,e),onToggleLock:()=>l(r,e),viewportId:e},d=M.createElement(a,cX({key:r,id:r,location:A,onInteraction:A=>{n({...A,itemId:r,viewportId:e})}},c)),p=h||g||"Colorbar"===r||u;return M.createElement("div",{key:r,className:p?"opacity-100":"pointer-events-none opacity-0",style:{transition:"opacity 0.2s ease-in-out"}},d)})):null},cZ=e=>({disabled:!0,disabledText:e??lr().t("Buttons:Not available on the current viewport")});function c0({viewportId:e,toolbarService:A,button:t,disabledText:n,offModes:r,toolGroupService:o}){let i=o.getToolGroupForViewport(e);if(!i)return;let a=A.getToolNameForButton(t);if(!i?.hasTool(a))return cZ(n);let s=r.includes(i.getToolOptions(a).mode);return{className:Au.utils.getToggledClassName(!s)}}let c1={VIEWPORT_ADDED:"event::cornerstone::toolgroupservice:viewportadded",TOOLGROUP_CREATED:"event::cornerstone::toolgroupservice:toolgroupcreated",TOOL_ACTIVATED:"event::cornerstone::toolgroupservice:toolactivated",PRIMARY_TOOL_ACTIVATED:"event::cornerstone::toolgroupservice:primarytoolactivated"};class c3{constructor(e){this.servicesManager=void 0,this.cornerstoneViewportService=void 0,this.viewportGridService=void 0,this.uiNotificationService=void 0,this.customizationService=void 0,this.toolGroupIds=new Set,this.toolBindingsMap=new Map,this.defaultToolBindingsMap=new Map,this.listeners=void 0,this.EVENTS=void 0,this._onToolActivated=e=>{let{toolGroupId:A,toolName:t,toolBindingsOptions:n}=e.detail,r=n.bindings?.some(e=>e.mouseButton===H.Enums.MouseBindings.Primary),o={toolGroupId:A,toolName:t,toolBindingsOptions:n};this._broadcastEvent(c1.TOOL_ACTIVATED,o),r&&this._broadcastEvent(c1.PRIMARY_TOOL_ACTIVATED,o)};const{cornerstoneViewportService:A,viewportGridService:t,uiNotificationService:n,customizationService:r}=e.services;this.cornerstoneViewportService=A,this.viewportGridService=t,this.uiNotificationService=n,this.customizationService=r,this.listeners={},this.EVENTS=c1,Object.assign(this,R.pubSubServiceInterface),this._init()}onModeExit(){this.destroy()}_init(){x.eventTarget.addEventListener(H.Enums.Events.TOOL_ACTIVATED,this._onToolActivated)}getToolGroup(e){let A=e;if(!A){let e=$(this.viewportGridService);if(!e)return;let{renderingEngineId:t,viewportId:n}=e,r=H.ToolGroupManager.getToolGroupForViewport(n,t);if(!r)return void console.warn("No tool group found for viewportId:",n,"and renderingEngineId:",t);A=r.id}return H.ToolGroupManager.getToolGroup(A)}getToolGroupIds(){return Array.from(this.toolGroupIds)}getToolGroupForViewport(e){let A=this.cornerstoneViewportService.getRenderingEngine();return H.ToolGroupManager.getToolGroupForViewport(e,A.id)}getActiveToolForViewport(e){let A=this.getToolGroupForViewport(e);if(A)return A.getActivePrimaryMouseButtonTool()}destroy(){H.ToolGroupManager.destroy(),this.toolGroupIds=new Set,this.toolBindingsMap.clear(),this.defaultToolBindingsMap.clear(),x.eventTarget.removeEventListener(H.Enums.Events.TOOL_ACTIVATED,this._onToolActivated)}destroyToolGroup(e){H.ToolGroupManager.destroyToolGroup(e),this.toolGroupIds.delete(e)}removeViewportFromToolGroup(e,A,t){let n=H.ToolGroupManager.getToolGroupForViewport(e,A);!n||(n.removeViewports(A,e),0===n.getViewportIds().length&&t&&H.ToolGroupManager.destroyToolGroup(n.id))}addViewportToToolGroup(e,A,t){if(t){let n=H.ToolGroupManager.getToolGroup(t);n||(n=this.createToolGroup(t)),n.addViewport(e,A)}else H.ToolGroupManager.getAllToolGroups().forEach(t=>{t.addViewport(e,A)});this._broadcastEvent(c1.VIEWPORT_ADDED,{viewportId:e,toolGroupId:t})}createToolGroup(e){if(this.getToolGroup(e))throw Error(`ToolGroup ${e} already exists`);let A=H.ToolGroupManager.createToolGroup(e);return this.toolGroupIds.add(e),this._broadcastEvent(c1.TOOLGROUP_CREATED,{toolGroupId:e}),A}addToolsToToolGroup(e,A,t={}){let n=H.ToolGroupManager.getToolGroup(e);this._addTools(n,A,t),this._setToolsMode(n,A),this._loadPersistedBindings(e)}createToolGroupAndAddTools(e,A){let t=this.createToolGroup(e);return this.addToolsToToolGroup(e,A),t}getToolConfiguration(e,A){let t=H.ToolGroupManager.getToolGroup(e);if(!t)return null;let n=t.getToolInstance(A);return n?n.configuration:null}setToolConfiguration(e,A,t){H.ToolGroupManager.getToolGroup(e).getToolInstance(A).configuration=t}getActivePrimaryMouseButtonTool(e){return this.getToolGroup(e)?.getActivePrimaryMouseButtonTool()}getToolBindings(e,A){return this.toolBindingsMap.get(e)?.get(A)}setToolBindings(e,A,t){this.toolBindingsMap.has(e)||this.toolBindingsMap.set(e,new Map),this.toolBindingsMap.get(e).set(A,this._cloneToolBindings(t))}getDefaultToolBindings(e,A){let t=this.defaultToolBindingsMap.get(e)?.get(A);return t?this._cloneToolBindings(t):void 0}persistToolBindings(e,A,t){let n=this._readPersistedToolBindings();n[e]||(n[e]={}),n[e][A]=t,this._writePersistedToolBindings(n)}removePersistedToolBindings(e,A){let t=this._readPersistedToolBindings();t[e]&&(A?(delete t[e][A],Object.keys(t[e]).length||delete t[e]):delete t[e],this._writePersistedToolBindings(t))}applyToolBindings(e,A,t={}){let n=H.ToolGroupManager.getToolGroup(e);if(!n||!n.hasTool(A))return;let r=this.getToolBindings(e,A);if(!r)return;let{mode:o}=n.getToolOptions(A);(o===H.Enums.ToolModes.Active||o===H.Enums.ToolModes.Passive||o===H.Enums.ToolModes.Enabled)&&(t.replaceExisting&&n.setToolDisabled(A),n.setToolActive(A,{bindings:r}))}getAllToolBindings(){let e=[];for(let[A,t]of this.toolBindingsMap)for(let[n,r]of t)e.push({toolGroupId:A,toolName:n,bindings:r});return e}_setToolsMode(e,A){let{active:t,passive:n,enabled:r,disabled:o}=A;t&&t.forEach(({toolName:A,bindings:t})=>{t&&(this.setToolBindings(e.id,A,t),this._setDefaultToolBindingsIfMissing(e.id,A,t)),e.setToolActive(A,{bindings:t})}),n&&n.forEach(({toolName:A,bindings:t})=>{t&&(this.setToolBindings(e.id,A,t),this._setDefaultToolBindingsIfMissing(e.id,A,t)),e.setToolPassive(A)}),r&&r.forEach(({toolName:A,bindings:t})=>{t&&(this.setToolBindings(e.id,A,t),this._setDefaultToolBindingsIfMissing(e.id,A,t)),e.setToolEnabled(A)}),o&&o.forEach(({toolName:A,bindings:t})=>{t&&(this.setToolBindings(e.id,A,t),this._setDefaultToolBindingsIfMissing(e.id,A,t)),e.setToolDisabled(A)})}_setDefaultToolBindingsIfMissing(e,A,t){this.defaultToolBindingsMap.has(e)||this.defaultToolBindingsMap.set(e,new Map);let n=this.defaultToolBindingsMap.get(e);n.has(A)||n.set(A,this._cloneToolBindings(t))}_addTools(e,A){let t=A=>{A.forEach(({toolName:A,parentTool:t,configuration:n})=>{t?e.addToolInstance(A,t,{...n}):e.addTool(A,{...n})})};A.active&&t(A.active),A.passive&&t(A.passive),A.enabled&&t(A.enabled),A.disabled&&t(A.disabled)}_loadPersistedBindings(e){let A=this._readPersistedToolBindings()[e];if(!A)return;let t=H.ToolGroupManager.getToolGroup(e);for(let[n,r]of Object.entries(A)){if(this.setToolBindings(e,n,r),!t||!t.hasTool(n))continue;let{mode:A}=t.getToolOptions(n);A===H.Enums.ToolModes.Active&&this.applyToolBindings(e,n,{replaceExisting:!0})}}_readPersistedToolBindings(){try{let e=localStorage.getItem(this._getToolBindingsStorageKey());if(!e)return{};let A=JSON.parse(e);if(!A||"object"!=typeof A)return{};return A}catch{return{}}}_writePersistedToolBindings(e){let A=this._getToolBindingsStorageKey();Object.keys(e).length?localStorage.setItem(A,JSON.stringify(e)):localStorage.removeItem(A)}_cloneToolBindings(e){return e.map(e=>({...e}))}_getToolBindingsStorageKey(){let e=this.customizationService?.getCustomization("ohif.userPreferences.toolBindingsStorageKey");return"string"==typeof e&&e.length>0?e:"user-preferred-tool-bindings"}}c3.REGISTRATION={name:"toolGroupService",altName:"ToolGroupService",create:({servicesManager:e})=>new c3(e)};let{createSynchronizer:c4}=H.SynchronizerManager,{SEGMENTATION_REPRESENTATION_MODIFIED:c2}=H.Enums.Events,{BlendModes:c6}=x.Enums;function c9(e,{servicesManager:A,...t}){return c4(e,c2,(e,n,r,o)=>c8(e,n,r,o,{servicesManager:A,options:t}),{eventSource:"eventTarget"})}let c8=async(e,A,t,n,{servicesManager:r,options:o})=>{let{segmentationId:i,type:a}=n.detail,{segmentationService:s,cornerstoneViewportService:l}=r.services,c=t.viewportId,u=A.viewportId,{viewport:d}=(0,x.getEnabledElementByViewportId)(c),g=l.getViewportInfo(u),p=l.getViewportInfo(c),m=c5(g),f=c5(p),h=m.some(e=>f.includes(e)),w=d.getFrameOfReferenceUID(),B=(0,x.getEnabledElementByViewportId)(u)?.viewport?.getFrameOfReferenceUID();if(!h&&!w||!h&&w!==B||s.getSegmentationRepresentations(c,{segmentationId:i}).length>0)return;let y=(0,eo.Ov)(d)?H.Enums.SegmentationRepresentations.Surface:a??H.Enums.SegmentationRepresentations.Labelmap;await s.addSegmentationRepresentation(c,{segmentationId:i,type:y,config:{blendMode:d?.getBlendMode?.()===1?c6.LABELMAP_EDGE_PROJECTION_BLEND:void 0}})};function c5(e){return e.getViewportData().data.map(e=>e.displaySetInstanceUID)}let c7={TOOL_GROUP_CREATED:"event::cornerstone::syncgroupservice:toolgroupcreated"},ue="imageslice";class uA{constructor(e){this.servicesManager=void 0,this.listeners={},this.EVENTS=void 0,this.synchronizerCreators={cameraposition:H.synchronizers.createCameraPositionSynchronizer,voi:H.synchronizers.createVOISynchronizer,zoompan:H.synchronizers.createZoomPanSynchronizer,stackimage:H.synchronizers.createImageSliceSynchronizer,[ue]:H.synchronizers.createImageSliceSynchronizer,hydrateseg:c9},this.synchronizersByType={},this.servicesManager=e,this.listeners={},this.EVENTS=c7,Object.assign(this,R.pubSubServiceInterface)}_createSynchronizer(e,A,t){this.synchronizersByType[e]=this.synchronizersByType[e]||[];let n=this.synchronizerCreators[e.toLowerCase()];if(n){let r=n(A,{...t,servicesManager:this.servicesManager});if(r)return this.synchronizersByType[e].push(r),r}else console.debug(`Unknown synchronizer type: ${e}, id: ${A}`)}getSyncCreatorForType(e){return this.synchronizerCreators[e.toLowerCase()]}addSynchronizerType(e,A){this.synchronizerCreators[e.toLowerCase()]=A}getSynchronizer(e){return H.SynchronizerManager.getSynchronizer(e)}registerCustomSynchronizer(e,A){this.synchronizerCreators[e]=A}getSynchronizersOfType(e){return this.synchronizersByType[e]}_getOrCreateSynchronizer(e,A,t){let n=H.SynchronizerManager.getSynchronizer(A);return n||(n=this._createSynchronizer(e,A,t)),n}addViewportToSyncGroup(e,A,t){t&&(Array.isArray(t)?t:[t]).forEach(t=>{let{type:n,target:r=!0,source:o=!0,options:i={},id:a=n}="string"==typeof t?{type:t}:t,s=this._getOrCreateSynchronizer(n,a,i);if(!s)return;s.setOptions(e,i);let l={viewportId:e,renderingEngineId:A};r&&o?s.add(l):o?s.addSource(l):r&&s.addTarget(l)})}destroy(){H.SynchronizerManager.destroy()}getSynchronizersForViewport(e){let A=(0,x.getRenderingEngines)().find(A=>A.getViewports().find(A=>A.id===e))||(0,x.getRenderingEngines)()[0];return H.SynchronizerManager.getAllSynchronizers().filter(t=>t.hasSourceViewport(A.id,e)||t.hasTargetViewport(A.id,e))}removeViewportFromSyncGroup(e,A,t){let n=H.SynchronizerManager.getAllSynchronizers();(t?n.filter(e=>e.id===t):n).forEach(t=>{if(!t)return;this.isImageSliceSyncronizer(t)&&this.unRegisterSpatialRegistration(t),t.remove({viewportId:e,renderingEngineId:A});let n=t.getSourceViewports(),r=t.getTargetViewports();n.length||r.length||H.SynchronizerManager.destroySynchronizer(t.id)})}unRegisterSpatialRegistration(e){let A=e.getSourceViewports().map(e=>e.viewportId),t=e.getTargetViewports().map(e=>e.viewportId);A.map(e=>t.map(A=>[A,e])).reduce((e,A)=>e.concat(A),[]).forEach(e=>{x.utilities.spatialRegistrationMetadataProvider.add(e,void 0)})}isImageSliceSyncronizer(e){return this.getSynchronizerType(e).toLowerCase()===ue}getSynchronizerType(e){return Object.keys(this.synchronizersByType).find(A=>this.getSynchronizersOfType(A).includes(e))}}uA.REGISTRATION={name:"syncGroupService",altName:"SyncGroupService",create:({servicesManager:e})=>new uA(e)};var ut=T(6336);let un="cornerstoneStreamingImageVolume",ur="cornerstoneStreamingDynamicImageVolume",{DefaultHistoryMemo:uo}=x.utilities.HistoryMemo,{Labelmap:ui,Contour:ua,Surface:us}=H.Enums.SegmentationRepresentations,{getLabelmapImageIds:ul,helpers:{convertStackToVolumeLabelmap:uc},state:{addColorLUT:uu,updateLabelmapSegmentationImageReferences:ud},triggerSegmentationEvents:{triggerSegmentationRepresentationModified:ug}}=H.segmentation,up={SEGMENTATION_MODIFIED:"event::segmentation_modified",SEGMENTATION_ADDED:"event::segmentation_added",SEGMENTATION_DATA_MODIFIED:"event::segmentation_data_modified",SEGMENTATION_REMOVED:"event::segmentation_removed",SEGMENTATION_REPRESENTATION_MODIFIED:"event::segmentation_representation_modified",SEGMENTATION_REPRESENTATION_REMOVED:"event::segmentation_representation_removed",SEGMENT_LOADING_COMPLETE:"event::segment_loading_complete",SEGMENTATION_LOADING_COMPLETE:"event::segmentation_loading_complete",SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED:"event::annotation_cut_merge_process_completed",SEGMENTATION_STYLE_MODIFIED:"event::segmentation_style_modified"};class um extends R.PubSubService{constructor({servicesManager:e}){super(up),this._segmentationIdToColorLUTIndexMap=void 0,this._segmentationGroupStatsMap=void 0,this.servicesManager=void 0,this.highlightIntervalId=null,this.EVENTS=up,this.destroy=()=>{x.eventTarget.removeEventListener(H.Enums.Events.SEGMENTATION_MODIFIED,this._onSegmentationModifiedFromSource),x.eventTarget.removeEventListener(H.Enums.Events.SEGMENTATION_REMOVED,this._onSegmentationRemovedFromSource),x.eventTarget.removeEventListener(H.Enums.Events.SEGMENTATION_DATA_MODIFIED,this._onSegmentationDataModifiedFromSource),x.eventTarget.removeEventListener(H.Enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED,this._onSegmentationRepresentationModifiedFromSource),x.eventTarget.removeEventListener(H.Enums.Events.SEGMENTATION_REPRESENTATION_ADDED,this._onSegmentationRepresentationModifiedFromSource),x.eventTarget.removeEventListener(H.Enums.Events.SEGMENTATION_REPRESENTATION_REMOVED,this._onSegmentationRepresentationRemovedFromSource),x.eventTarget.removeEventListener(H.Enums.Events.SEGMENTATION_ADDED,this._onSegmentationAddedFromSource),this.reset()},this.getStyle=e=>H.segmentation.config.style.getStyle(e),this.setStyle=(e,A,t=!0)=>{H.segmentation.config.style.setStyle(e,A,t),this._broadcastEvent(up.SEGMENTATION_STYLE_MODIFIED,{specifier:e,style:A,merge:t})},this.resetToGlobalStyle=()=>{H.segmentation.config.style.resetToGlobalStyle()},this.toggleSegmentationRepresentationVisibility=(e,{segmentationId:A,type:t})=>{this._toggleSegmentationRepresentationVisibility(e,A,t)},this.getViewportIdsWithSegmentation=e=>H.segmentation.state.getViewportIdsWithSegmentation(e),this._toggleSegmentationRepresentationVisibility=(e,A,t)=>{let n=0===H.segmentation.config.visibility.getHiddenSegmentIndices(e,{segmentationId:A,type:t}).size;this._setSegmentationRepresentationVisibility(e,A,t,!n)},this._onSegmentationDataModifiedFromSource=e=>{let{segmentationId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_DATA_MODIFIED,{segmentationId:A})},this._onSegmentationRepresentationModifiedFromSource=e=>{let{segmentationId:A,viewportId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,{segmentationId:A,viewportId:t})},this._onSegmentationRepresentationRemovedFromSource=e=>{let{segmentationId:A,viewportId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_REMOVED,{segmentationId:A,viewportId:t})},this._onSegmentationModifiedFromSource=e=>{let{segmentationId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_MODIFIED,{segmentationId:A})},this._onSegmentationAddedFromSource=e=>{let{segmentationId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_ADDED,{segmentationId:A})},this._onSegmentationRemovedFromSource=e=>{let{segmentationId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REMOVED,{segmentationId:A})},this._onAnnotationCutMergeProcessCompletedFromSource=e=>{let{segmentationId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED,{segmentationId:A})},this._segmentationIdToColorLUTIndexMap=new Map,this.servicesManager=e,this._segmentationGroupStatsMap=new Map}onModeEnter(){this._initSegmentationService()}onModeExit(){this.destroy()}getSegmentation(e){return H.segmentation.state.getSegmentation(e)}getSegmentations(){return H.segmentation.state.getSegmentations()}getPresentation(e){let A=[],t=new Map;for(let A of this.getSegmentationRepresentations(e)){if(!A)continue;let{segmentationId:e,type:n}=A;t.set(e,{segmentationId:e,type:n,hydrated:!0,config:A.config||{}})}return A.push(...t.values()),A}getRepresentationsForSegmentation(e){return H.segmentation.state.getSegmentationRepresentationsBySegmentationId(e)}getSegmentationRepresentations(e,A={}){return H.segmentation.state.getSegmentationRepresentations(e,A).map(A=>this._toOHIFSegmentationRepresentation(e,A))}async addSegmentationRepresentation(e,{segmentationId:A,predecessorImageId:t,type:n,config:r,suppressEvents:o=!1}){let i=this.getSegmentation(A);i&&!i.predecessorImageId&&t&&(i.predecessorImageId=t);let a=this.getAndValidateViewport(e);if(!a)return;let s=this._segmentationIdToColorLUTIndexMap.get(A),l=!1,c=(0,eo.Ov)(a)?us:ui,u=n||c;if(u===ui){let{isVolumeViewport:t,isVolumeSegmentation:n}=this.determineViewportAndSegmentationType(a,i)||{isVolumeViewport:!1,isVolumeSegmentation:!1};({representationTypeToUse:u,isConverted:l}=await this.handleViewportConversion(t,n,a,i,e,A,u))}await this._addSegmentationRepresentation(e,A,u,s,l,r),o||this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,{segmentationId:A})}async createLabelmapForDisplaySet(e,A){return this._createSegmentationForDisplaySet(e,ui,A)}async createContourForDisplaySet(e,A){return this._createSegmentationForDisplaySet(e,ua,A)}async _createSegmentationForDisplaySet(e,A,t){let n=t?.segmentationId??`${x.utilities.uuidv4()}`,r=e.isDynamicVolume,o=e.imageIds;if(r){let A=e.dynamicVolumeInfo.timePoints;o=A[Math.floor(A.length/2)]}let i=await x.imageLoader.createAndCacheDerivedLabelmapImages(o),a=this.getSegmentations(),s=t?.label||`Segmentation ${a.length+1}`,l={segmentationId:n,representation:{type:A,data:{imageIds:i.map(e=>e.imageId),referencedImageIds:o}},config:{label:s,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`,segments:t?.segments&&Object.keys(t.segments).length>0?t.segments:{1:{label:`${lr().t("Segment")} 1`,active:!0}},cachedStats:{info:`S${e.SeriesNumber}: ${e.SeriesDescription}`}}};return this.addOrUpdateSegmentation(l),n}async createSegmentationForSEGDisplaySet(e,A={type:ui}){let{type:t}=A,{segmentationId:n}=A,{labelMapImages:r}=e;if(t!==ui)throw Error("Only labelmap type is supported for SEG display sets right now");if(!r||!r.length)throw Error("SEG reading failed");n=n??e.displaySetInstanceUID;let o=e.referencedDisplaySetInstanceUID,i=this.servicesManager.services.displaySetService.getDisplaySetByUID(o).instances;if(!i.length)throw Error("No instances were provided for the referenced display set of the SEG");let a=i.map(e=>e.imageId),s=r?.flat(),l=s.map(e=>e.imageId);e.images=s.map(e=>({...e,...x.metaData.get("instance",e.referencedImageId)})),e.imageIds=l;let c=null;for(let e=0;e<s.length;e++){let A=s[e].voxelManager,t=A.getScalarData();A.setScalarData(t),!c&&t.some(e=>0!==e)&&(c=s[e].referencedImageId)}e.firstSegmentedSliceImageId=c;let u=e.segMetadata.data,d={},g=[];u.forEach((A,t)=>{if(0===t)return void g.push([0,0,0,0]);let{SegmentedPropertyCategoryCodeSequence:n,SegmentNumber:r,SegmentLabel:o,SegmentAlgorithmType:i,SegmentAlgorithmName:a,SegmentedPropertyTypeCodeSequence:s,rgba:l}=A;g.push(l);let c=Number(r),u=e.centroids?.get(t),p=u?.image||{x:0,y:0,z:0},m=u?.world||{x:0,y:0,z:0};d[c]={segmentIndex:c,label:o||`Segment ${r}`,locked:!1,active:!1,cachedStats:{center:{image:[p.x,p.y,p.z],world:[m.x,m.y,m.z]},modifiedTime:e.SeriesDate,category:n?n.CodeMeaning:"",type:s?s.CodeMeaning:"",algorithmType:i,algorithmName:a}}});let p=uu(g);this._segmentationIdToColorLUTIndexMap.set(n,p),this._broadcastEvent(up.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,segDisplaySet:e});let m={segmentationId:n,representation:{type:ui,data:{imageIds:l,referencedImageIds:a}},config:{label:e.SeriesDescription,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`,segments:d}};return e.isLoaded=!0,this.addOrUpdateSegmentation(m),n}async createSegmentationForRTDisplaySet(e,A={type:ua}){let{type:t}=A,{segmentationId:n}=A;if(t!==ua)throw Error("Only contour type is supported for RT display sets right now");n=n??e.displaySetInstanceUID;let{structureSet:r}=e;if(!r)throw Error("To create the contours from RT displaySet, the displaySet should be loaded first. You can perform rtDisplaySet.load() before calling this method.");let o=e.displaySetInstanceUID,i=this.servicesManager.services.displaySetService.getDisplaySetByUID(e.referencedDisplaySetInstanceUID),a=Array.from(r.ReferencedSOPInstanceUIDsSet),s=i.imageIds;if(e.firstSegmentedSliceImageId=s?.find(e=>a.some(A=>e.includes(A)))||null,!r.ROIContours?.length)throw Error("The structureSet does not contain any ROIContours. Please ensure the structureSet is loaded first.");let l=r.ROIContours.map(({contourPoints:e,ROINumber:A,ROIName:t,colorArray:n,ROIGroup:r})=>{let i=e.map(({points:e,...A})=>{let t=e.map(({x:e,y:A,z:t})=>[e,A,t]);return{...A,points:t}}),a=t||A;return{data:i,id:a,segmentIndex:A,color:n,group:r,geometryId:`${o}:${a}:segmentIndex-${A}`}});l.sort((e,A)=>e.segmentIndex-A.segmentIndex);let c={segmentationId:n,representation:{type:ua,data:{geometryIds:l.map(({geometryId:e})=>e)}},config:{label:e.SeriesDescription,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`}},u={},d={},g=[[0,0,0,0]];for(let A=0;A<l.length;A++){let{data:t,id:n,color:o,segmentIndex:i,geometryId:a,group:s}=l[A];g.push(o);try{d={center:{world:(await x.geometryLoader.createAndCacheGeometry(a,{geometryData:{data:t,id:n,color:o,frameOfReferenceUID:r.frameOfReferenceUID,segmentIndex:i},type:x.Enums.GeometryType.CONTOUR})).data.centroid},modifiedTime:e.SeriesDate},u[i]={label:n,segmentIndex:i,cachedStats:d,locked:!1,active:!1,group:s};let A=Object.keys(d).length,c=Math.round(A/l.length*100);this._broadcastEvent(up.SEGMENT_LOADING_COMPLETE,{percentComplete:c,numSegments:l.length})}catch(e){console.warn(`Error initializing contour for segment ${i}:`,e);continue}}let p=uu(g);return this._segmentationIdToColorLUTIndexMap.set(n,p),c.config.segments=u,this._broadcastEvent(up.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,rtDisplaySet:e}),e.isLoaded=!0,this.addOrUpdateSegmentation(c),n}addOrUpdateSegmentation(e){let A=e.segmentationId;H.segmentation.state.getSegmentation(A)?this.updateSegmentationInSource(A,e):this.addSegmentationToSource(e)}setActiveSegmentation(e,A){H.segmentation.activeSegmentation.setActiveSegmentation(e,A)}getActiveSegmentation(e){return H.segmentation.activeSegmentation.getActiveSegmentation(e)}getActiveSegment(e){let A,t=this.getActiveSegmentation(e);if(!t)return;let{segments:n}=t;for(let e of Object.values(n))if(e.active){A=e;break}return A}hasCustomStyles(e){return H.segmentation.config.style.hasCustomStyle(e)}getNextAvailableSegmentIndex(e){let A=Object.keys(this.getCornerstoneSegmentation(e).segments);return 0===A.length?1:Math.max(...A.map(Number))+1}addSegment(e,A={}){if(A?.segmentIndex===0)throw Error(lr().t("Segment")+' index 0 is reserved for "no label"');let t=this.getCornerstoneSegmentation(e),n=A.segmentIndex;n||(n=this.getNextAvailableSegmentIndex(e)),A.label||(A.label=`${lr().t("Segment")} ${n}`);let r=t.segments;H.segmentation.updateSegmentations([{segmentationId:e,payload:{segments:{...r,[n]:{...r[n],segmentIndex:n,cachedStats:{},locked:!1,...A}}}}]),this.setActiveSegment(e,n),void 0!==A.isLocked&&this._setSegmentLockedStatus(e,n,A.isLocked),this.getViewportIdsWithSegmentation(e).forEach(t=>{void 0!==A.color&&this.setSegmentColor(t,e,n,A.color),void 0!==A.visibility&&this.setSegmentVisibility(t,e,n,A.visibility)})}createSegmentIndexMemo(e,A,t){let n,r,o=this.getCornerstoneSegmentation(e),i=o?.segments?.[A];if(!i)return null;let a=this.getViewportIdsWithSegmentation(e);if(a.length>0){let t=a[0],o=this.getSegmentationRepresentations(t,{segmentationId:e}),i=o[0]?.type??ui;n=this.getSegmentColor(t,e,A),r=H.segmentation.config.visibility.getSegmentIndexVisibility(t,{segmentationId:e,type:i},A)}let s={segmentIndex:A,label:i.label,isLocked:i.locked,active:i.active,color:n,visibility:r},l=this;return{id:x.utilities.uuidv4(),operationType:"segmentIndex",restoreMemo(t){!0===t?l.addSegment(e,s):H.segmentation.removeSegment(e,A,{recordHistory:!1})}}}removeSegment(e,A,t){let n;t?.skipRecordingHistory?H.segmentation.removeSegment(e,A,{recordHistory:!1}):(n=this.createSegmentIndexMemo(e,A,{deleting:!0}),uo.startGroupRecording(),H.segmentation.removeSegment(e,A,{recordHistory:!0}),uo.push(n),uo.endGroupRecording())}setSegmentVisibility(e,A,t,n,r){this._setSegmentVisibility(e,A,t,n,r)}setSegmentLocked(e,A,t){this._setSegmentLockedStatus(e,A,t)}toggleSegmentLocked(e,A){let t=H.segmentation.segmentLocking.isSegmentIndexLocked(e,A);this._setSegmentLockedStatus(e,A,!t)}toggleSegmentVisibility(e,A,t,n){let r=H.segmentation.config.visibility.getSegmentIndexVisibility(e,{segmentationId:A,type:n},t);this._setSegmentVisibility(e,A,t,!r,n)}setSegmentColor(e,A,t,n){let{colorLUTIndex:r}=this.getSegmentationRepresentations(e,{segmentationId:A})[0];this._segmentationIdToColorLUTIndexMap.set(A,r),H.segmentation.config.color.setSegmentIndexColor(e,A,t,n)}getSegmentColor(e,A,t){return H.segmentation.config.color.getSegmentIndexColor(e,A,t)}getLabelmapVolume(e){let A=H.segmentation.state.getSegmentation(e).representationData[ui];if(!A||!A.volumeId)return null;let{volumeId:t}=A;return x.cache.getVolume(t)}setSegmentLabel(e,A,t){this._setSegmentLabel(e,A,t)}setActiveSegment(e,A){this._setActiveSegment(e,A)}setRenderInactiveSegmentations(e,A){H.segmentation.config.style.setRenderInactiveSegmentations(e,A)}getRenderInactiveSegmentations(e){return H.segmentation.config.style.getRenderInactiveSegmentations(e)}setSegmentationGroupStats(e,A){let t=this.getGroupId(e);this._segmentationGroupStatsMap.set(t,A)}getSegmentationGroupStats(e){let A=this.getGroupId(e);return this._segmentationGroupStatsMap.get(A)}getGroupId(e){return e.sort().join(",")}clearSegmentationRepresentations(e){this.removeRepresentationsFromViewport(e)}remove(e){H.segmentation.state.removeSegmentation(e)}removeAllSegmentations(){H.segmentation.state.removeAllSegmentations()}removeRepresentationsFromViewport(e,A={}){H.segmentation.removeSegmentationRepresentations(e,A)}jumpToSegmentNext(e,A,t,n=1,r=.9,o=!0,i=750,a=!1,s=lA.EASE_IN_OUT){(t?[t]:this.getViewportIdsWithSegmentation(e)).forEach(t=>{let l=this.getSegmentationRepresentations(t,{segmentationId:e});if(!l||0===l.length)return;let{type:c}=l[0],u=c===ua?this._getSegmentCenter(e,A):void 0;if(c!==ua||u)return void this.jumpToSegmentCenter(e,A,t,r,o,i,a,s,u);let{viewport:d}=(0,x.getEnabledElementByViewportId)(t);if(!d)return;let g=this._getContourViewReferences(e,d,A);if(!g)return;let p=d.getCurrentImageIdIndex(),m=null,f=null;for(let[e]of g.entries())if(n>0?(null===f||e<f)&&(f=e):(null===f||e>f)&&(f=e),n>0){if(e<=p)continue;(null===m||e<m)&&(m=e)}else{if(e>=p)continue;(null===m||e>m)&&(m=e)}if(null===(m=m??f))return;let h=g.get(m);d.setViewReference(h),d.render()})}jumpToSegmentCenter(e,A,t,n=.9,r=!0,o=750,i=!1,a=lA.EASE_IN_OUT,s){let l=s??this._getSegmentCenter(e,A);if(!l)return void console.warn("No center found for segmentation",e,A);let{world:c}=l;(t?[t]:this.getViewportIdsWithSegmentation(e)).forEach(t=>{let{viewport:s}=(0,x.getEnabledElementByViewportId)(t);s?.jumpToWorld&&(s.jumpToWorld(c),r&&this.highlightSegment(e,A,t,n,o,i,a))})}highlightSegment(e,A,t,n=.9,r=750,o=!0,i=lA.EASE_IN_OUT){this.highlightIntervalId&&clearInterval(this.highlightIntervalId);let a=this.getCornerstoneSegmentation(e);(t?[t]:this.getViewportIdsWithSegmentation(e)).forEach(t=>{let s=this.getSegmentationRepresentations(t,{segmentationId:e})[0],{type:l}=s,c=a.segments;(l===ui?this._highlightLabelmap.bind(this):this._highlightContour.bind(this))(A,l===ui?n:1-n,o,c,t,r,s,i)})}getAndValidateViewport(e){let A=this.servicesManager.services.cornerstoneViewportService.getCornerstoneViewport(e);return A||(console.warn(`Viewport with id ${e} not found.`),null)}_setSegmentationRepresentationVisibility(e,A,t,n){this.getSegmentationRepresentations(e,{segmentationId:A,type:t})[0]?H.segmentation.config.visibility.setSegmentationRepresentationVisibility(e,{segmentationId:A,type:t},n):console.debug("No segmentation representation found for the given viewportId and segmentationId")}determineViewportAndSegmentationType(e,A){return{isVolumeViewport:(0,eo.rX)(e),isVolumeSegmentation:"volumeId"in A.representationData[ui]}}async handleViewportConversion(e,A,t,n,r,o,i){let a=i,s=!1,l=e?this.handleVolumeViewportCase:this.handleStackViewportCase;return{representationTypeToUse:a,isConverted:s}=await l.apply(this,[t,n,A,r,o]),{representationTypeToUse:a,isConverted:s}}async handleVolumeViewportCase(e,A,t){return(0,eo.Ov)(e)?{representationTypeToUse:us,isConverted:!1}:(await this.handleVolumeViewport(e,A,t),{representationTypeToUse:ui,isConverted:!1})}async handleStackViewportCase(e,A,t,n,r){return t?{representationTypeToUse:ui,isConverted:await this.convertStackToVolumeViewport(e)}:ud(n,r)?{representationTypeToUse:ui,isConverted:!1}:{representationTypeToUse:ui,isConverted:await this.attemptStackToVolumeConversion(e,A,n,r)}}async _addSegmentationRepresentation(e,A,t,n,r,o){let i={type:t,segmentationId:A,config:{colorLUTOrIndex:n,...o}},a=()=>H.segmentation.addSegmentationRepresentations(e,[i]);if(r){let{viewportGridService:e}=this.servicesManager.services;await new Promise(A=>{let{unsubscribe:t}=e.subscribe(e.EVENTS.GRID_STATE_CHANGED,()=>{a(),t(),A()})})}else a()}async handleVolumeViewport(e,A,t){if(t)return;let n=e.getFrameOfReferenceUID(),r=ul(A.segmentationId),o=x.cache.getImage(r[0]);o?.FrameOfReferenceUID===n&&await uc(A)}async convertStackToVolumeViewport(e){let{viewportGridService:A,cornerstoneViewportService:t}=this.servicesManager.services,n=A.getState().viewports.get(e.id),r=e.getViewPresentation(),o=e.getViewReference(),{element:i}=t.getCornerstoneViewport(e.id),a=()=>{let A=t.getCornerstoneViewport(e.id);A.setViewPresentation(r),A.setViewReference(o),A.render(),i.removeEventListener(x.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,a)};return i.addEventListener(x.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,a),A.setDisplaySetsForViewport({viewportId:e.id,displaySetInstanceUIDs:n.displaySetInstanceUIDs,viewportOptions:{...n.viewportOptions,viewportType:ut.ViewportType.ORTHOGRAPHIC}}),!0}async attemptStackToVolumeConversion(e,A,t,n){let r=ul(A.segmentationId),o=e.getFrameOfReferenceUID(),i=x.cache.getImage(r[0]);if(i?.FrameOfReferenceUID&&o&&i.FrameOfReferenceUID===o){let A=await this.convertStackToVolumeViewport(e);return ug(t,n,ui),A}}addSegmentationToSource(e){H.segmentation.addSegmentations([e])}updateSegmentationInSource(e,A){H.segmentation.updateSegmentations([{segmentationId:e,payload:A}])}_toOHIFSegmentationRepresentation(e,A){let{segmentationId:t,type:n,active:r,visible:o}=A,{colorLUTIndex:i}=A,a={},s=H.segmentation.state.getSegmentation(t);if(!s)throw Error(`Segmentation with ID ${t} not found.`);for(let A of Object.keys(s.segments)){let r=parseInt(A,10),o=H.segmentation.config.color.getSegmentIndexColor(e,t,r),i=H.segmentation.config.visibility.getSegmentIndexVisibility(e,{segmentationId:t,type:n},r);a[r]={color:o,segmentIndex:r,opacity:o[3],visible:i}}let l=H.segmentation.config.style.getStyle({viewportId:e,segmentationId:t,type:n});return{id:`${t}-${n}-${e}`,segmentationId:t,label:s.label,fallbackLabel:s.fallbackLabel,active:r,type:n,visible:o,segments:a,styles:l,viewportId:e,colorLUTIndex:i,config:{}}}_initSegmentationService(){x.eventTarget.addEventListener(H.Enums.Events.SEGMENTATION_MODIFIED,this._onSegmentationModifiedFromSource),x.eventTarget.addEventListener(H.Enums.Events.SEGMENTATION_REMOVED,this._onSegmentationRemovedFromSource),x.eventTarget.addEventListener(H.Enums.Events.SEGMENTATION_DATA_MODIFIED,this._onSegmentationDataModifiedFromSource),x.eventTarget.addEventListener(H.Enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED,this._onSegmentationRepresentationModifiedFromSource),x.eventTarget.addEventListener(H.Enums.Events.SEGMENTATION_REPRESENTATION_ADDED,this._onSegmentationRepresentationModifiedFromSource),x.eventTarget.addEventListener(H.Enums.Events.SEGMENTATION_REPRESENTATION_REMOVED,this._onSegmentationRepresentationRemovedFromSource),x.eventTarget.addEventListener(H.Enums.Events.SEGMENTATION_ADDED,this._onSegmentationAddedFromSource),x.eventTarget.addEventListener(H.Enums.Events.ANNOTATION_CUT_MERGE_PROCESS_COMPLETED,this._onAnnotationCutMergeProcessCompletedFromSource)}getCornerstoneSegmentation(e){return H.segmentation.state.getSegmentation(e)}_highlightLabelmap(e,A,t,n,r,o,i,a){let{segmentationId:s}=i;if(t)throw Error("hideOthers is not working right now");let{fillAlpha:l}=this.getStyle({viewportId:r,segmentationId:s,type:ui,segmentIndex:e}),c=null,u=A=>{null===c&&(c=A);let t=Math.min((A-c)/o,1),n=lt.get(a);H.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:ui},{fillAlpha:n(t,l)}),t<1?requestAnimationFrame(u):H.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:ui},{},!1)};requestAnimationFrame(u)}_highlightContour(e,A,t,n,r,o,i,a){let{segmentationId:s}=i,l=performance.now(),c=H.segmentation.config.style.getStyle({type:ua}).outlineWidth,u=A=>{let t=(A-l)/o;if(t>=1)return void H.segmentation.config.style.resetToGlobalStyle();let n=lt.get(a);H.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:ua},{outlineWidth:n(t,c,5)}),requestAnimationFrame(u)};requestAnimationFrame(u)}_setActiveSegment(e,A){H.segmentation.segmentIndex.setActiveSegmentIndex(e,A)}_getVolumeIdForDisplaySet(e){let A=e.volumeLoaderSchema??un;return`${A}:${e.displaySetInstanceUID}`}_getSegmentCenter(e,A){let t=this.getSegmentation(e);if(!t)return;let{segments:n}=t,{cachedStats:r}=n[A];if(r?.center){let{center:e}=r;return e}if(r?.namedStats?.center)return{world:r.namedStats.center.value}}_setSegmentLockedStatus(e,A,t){H.segmentation.segmentLocking.setSegmentIndexLocked(e,A,t)}_setSegmentVisibility(e,A,t,n,r){H.segmentation.config.visibility.setSegmentIndexVisibility(e,{segmentationId:A,type:r},t,n)}_setSegmentLabel(e,A,t){let{segments:n}=this.getCornerstoneSegmentation(e);n[A].label=t,H.segmentation.updateSegmentations([{segmentationId:e,payload:{segments:n}}])}_getContourViewReferences(e,A,t){let n=H.segmentation.state.getSegmentation(e).representationData[ua];if(!n||!n.annotationUIDsMap)return;let r=new Map;if(n.annotationUIDsMap.forEach((e,n)=>{(void 0===t||n===t)&&e.forEach(e=>{let t=H.annotation.state.getAnnotation(e);if(!t?.metadata)return;let{metadata:n}=t;if(!A.isReferenceViewable(n,{withNavigation:!0}))return;let{sliceIndex:o}=n;void 0===o?console.warn("Can't find slice index:",n):r.set(o,n)})}),0!==r.size)return r}}function uf(e,A){let t=A?.[0]?.viewportType?.toLowerCase()||e.toLowerCase();if("stack"===t)return x.Enums.ViewportType.STACK;if("video"===t)return x.Enums.ViewportType.VIDEO;if("wholeslide"===t)return x.Enums.ViewportType.WHOLE_SLIDE;if("ecg"===t)return x.Enums.ViewportType.ECG;if("volume"===t||"orthographic"===t)return x.Enums.ViewportType.ORTHOGRAPHIC;if("volume3d"===t)return x.Enums.ViewportType.VOLUME_3D;throw Error(`Invalid viewport type: ${e}. Valid types are: stack, volume, video, wholeslide, ecg`)}um.REGISTRATION={name:"segmentationService",altName:"SegmentationService",create:({servicesManager:e})=>new um({servicesManager:e})};class uh{constructor(e){this.stackImageIds=new Map,this.volumeImageIds=new Map,this.servicesManager=void 0,this.servicesManager=e}getCacheSize(){return x.cache.getCacheSize()}getCacheFreeSpace(){return x.cache.getBytesAvailable()}async createViewportData(e,A,t,n){let r,o=uf(A.viewportType,e);return(r=o===x.Enums.ViewportType.ORTHOGRAPHIC||o===x.Enums.ViewportType.VOLUME_3D?await this._getVolumeViewportData(t,e,o):o===x.Enums.ViewportType.STACK?await this._getStackViewportData(t,e,n,o):await this._getOtherViewportData(t,e,n,o)).viewportType=o,r}async invalidateViewportData(e,A,t,n){if(e.viewportType===x.Enums.ViewportType.STACK){let e=n.getDisplaySetByUID(A),r=this._getCornerstoneStackImageIds(e,t);return r.forEach(e=>{x.cache.getImageLoadObject(e)&&x.cache.removeImageLoadObject(e)}),{viewportType:x.Enums.ViewportType.STACK,data:{StudyInstanceUID:e.StudyInstanceUID,displaySetInstanceUID:A,imageIds:r}}}let r=`${un}:${A}`,o=x.cache.getVolume(r);o&&(o.imageIds&&o.imageIds.forEach(e=>{x.cache.getImageLoadObject(e)&&x.cache.removeImageLoadObject(e,{force:!0})}),x.cache._volumeCache.delete(r),this.volumeImageIds.delete(r));let i=e.data.map(({displaySetInstanceUID:e})=>n.getDisplaySetByUID(e));return await this._getVolumeViewportData(t,i,e.viewportType)}async _getOtherViewportData(e,A,t,n){let[r]=A;r.imageIds||(r.imagesIds=this._getCornerstoneStackImageIds(r,e));let{imageIds:o,viewportType:i}=r;return{viewportType:i||n,data:A}}async _getStackViewportData(e,A,t,n){let{uiNotificationService:r}=this.servicesManager.services;for(let e of A.filter(e=>e.isOverlayDisplaySet))if(e.load&&e.load instanceof Function){let{userAuthenticationService:A}=this.servicesManager.services,t=A.getAuthorizationHeader();try{await e.load({headers:t})}catch(e){r.show({title:"Error loading displaySet",message:e.message,type:"error"}),console.error(e)}}let o=[];for(let n of A){let{displaySetInstanceUID:A,StudyInstanceUID:i,isCompositeStack:a}=n;if(n.load&&n.load instanceof Function){let{userAuthenticationService:e}=this.servicesManager.services,A=e.getAuthorizationHeader();try{await n.load({headers:A})}catch(e){r.show({title:"Error loading displaySet",message:e.message,type:"error"}),console.error(e)}}let s=this.stackImageIds.get(n.displaySetInstanceUID);s||(s=this._getCornerstoneStackImageIds(n,e),n.imageIds=s,this.stackImageIds.set(n.displaySetInstanceUID,s)),o.push({StudyInstanceUID:i,displaySetInstanceUID:A,isCompositeStack:a,imageIds:s,initialImageIndex:t})}return{viewportType:n,data:o}}async _getVolumeViewportData(e,A,t){let n=[];for(let t of A){let{Modality:A}=t,r="PMAP"===A,o="SEG"===A||"RTSTRUCT"===A;if(t.load&&t.load instanceof Function){let{userAuthenticationService:e}=this.servicesManager.services,A=e.getAuthorizationHeader();try{await t.load({headers:A})}catch(A){let{uiNotificationService:e}=this.servicesManager.services;e.show({title:"Error loading displaySet",message:A.message,type:"error"}),console.error(A)}if(!r){n.push({studyInstanceUID:t.StudyInstanceUID,displaySetInstanceUID:t.displaySetInstanceUID});continue}}let i=t.volumeLoaderSchema??un,a=`${i}:${t.displaySetInstanceUID}`,s=this.volumeImageIds.get(t.displaySetInstanceUID),l=x.cache.getVolume(a);r||o||s&&l||(s=this._getCornerstoneVolumeImageIds(t,e),l=await x.volumeLoader.createAndCacheVolume(a,{imageIds:s}),this.volumeImageIds.set(t.displaySetInstanceUID,s),t.imageIds=s),n.push({StudyInstanceUID:t.StudyInstanceUID,displaySetInstanceUID:t.displaySetInstanceUID,volume:l,volumeId:a,imageIds:s,isDynamicVolume:t.isDynamicVolume})}return{viewportType:t,data:n}}_getCornerstoneStackImageIds(e,A){return A.getImageIdsForDisplaySet(e)}_getCornerstoneVolumeImageIds(e,A){return e.imageIds?e.imageIds:this._getCornerstoneStackImageIds(e,A)}}uh.REGISTRATION={name:"cornerstoneCacheService",altName:"CornerstoneCacheService",create:({servicesManager:e})=>new uh(e)};let uw="OHIFCornerstoneRenderingEngine",uB="default",uy=({data:e,displaySetUID:A,imageId:t,viewport:n})=>{if(t&&e.isCompositeStack&&e.imageIds)return!!e.imageIds.find(e=>e===t);if(t&&(e.volumeId||(0,eo.tO)(n))){if(!n.getCurrentImageId())return!1;let e=x.utilities.imageIdToURI(t);if(n.hasImageURI(e))return!0}return e.displaySetInstanceUID===A},uv=class{constructor(e){this.viewportId="",this.element=void 0,this.viewportOptions=void 0,this.displaySetOptions=void 0,this.viewportData=void 0,this.renderingEngineId=void 0,this.viewReference=void 0,this.destroy=()=>{this.element=null,this.viewportData=null,this.viewportOptions=null,this.displaySetOptions=null},this.viewportId=e,this.setPublicViewportOptions({}),this.setPublicDisplaySetOptions([{}])}contains(e,A){if(!this.viewportData?.data)return!1;let{viewport:t}=(0,x.getEnabledElementByViewportId)(this.viewportId)||{};return this.viewportData.data.length?!!this.viewportData.data.find(n=>uy({data:n,displaySetUID:e,imageId:A,viewport:t})):uy({data:this.viewportData.data,displaySetUID:e,imageId:A,viewport:t})}setRenderingEngineId(e){this.renderingEngineId=e}getRenderingEngineId(){return this.renderingEngineId}setViewportId(e){this.viewportId=e}setElement(e){this.element=e}setViewportData(e){this.viewportData=e}getViewportData(){return this.viewportData}getElement(){return this.element}getViewportId(){return this.viewportId}getViewReference(){return this.viewportOptions?.viewReference}setPublicDisplaySetOptions(e){let A=this.mapDisplaySetOptions(e);return this.setDisplaySetOptions(A),this.displaySetOptions}hasDisplaySet(e){let A=this.getViewportData();return A.viewportType===x.Enums.ViewportType.ORTHOGRAPHIC||A.viewportType===x.Enums.ViewportType.VOLUME_3D?A.data.some(({displaySetInstanceUID:A})=>A===e):A.data.displaySetInstanceUID===e}setPublicViewportOptions(e,A){let t=A||e.viewportType||"stack",{presentationIds:n}=e,{toolGroupId:r=uB}=e,o=function(e){if(e)switch(e.toLowerCase()){case"axial":return x.Enums.OrientationAxis.AXIAL;case"axial_reformat":return x.Enums.OrientationAxis.AXIAL_REFORMAT;case"sagittal":return x.Enums.OrientationAxis.SAGITTAL;case"sagittal_reformat":return x.Enums.OrientationAxis.SAGITTAL_REFORMAT;case"coronal":return x.Enums.OrientationAxis.CORONAL;case"coronal_reformat":return x.Enums.OrientationAxis.CORONAL_REFORMAT}return x.Enums.OrientationAxis.ACQUISITION}(e.orientation),i=uf(t);return r||(r=uB),this.setViewportOptions({...e,viewportId:this.viewportId,viewportType:i,orientation:o,toolGroupId:r,presentationIds:n}),this.viewportOptions}setViewportOptions(e){this.viewportOptions=e}getViewportOptions(){return this.viewportOptions}getPresentationIds(){let{presentationIds:e}=this.viewportOptions;return e}setDisplaySetOptions(e){this.displaySetOptions=e}getSyncGroups(){return this.viewportOptions.syncGroups||=[],this.viewportOptions.syncGroups}getDisplaySetOptions(){return this.displaySetOptions}getViewportType(){return this.viewportOptions.viewportType||x.Enums.ViewportType.STACK}getToolGroupId(){return this.viewportOptions.toolGroupId}getBackground(){return this.viewportOptions.background||[0,0,0]}getOrientation(){return this.viewportOptions.orientation}setOrientation(e){this.viewportOptions.orientation=e}getDisplayArea(){return this.viewportOptions.displayArea}getInitialImageOptions(){return this.viewportOptions.initialImageOptions}mapDisplaySetOptions(e=[{}]){let A=[];return e.forEach(e=>{let t=e?.options||e;t||(t={blendMode:void 0,slabThickness:void 0,colormap:void 0,voi:{},voiInverted:!1});let n=function(e){if(!e)return x.Enums.BlendModes.COMPOSITE;if("mip"===e.toLowerCase())return x.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND;if("minip"===e.toLowerCase())return x.Enums.BlendModes.MINIMUM_INTENSITY_BLEND;if("avg"===e.toLowerCase())return x.Enums.BlendModes.AVERAGE_INTENSITY_BLEND;throw Error(`Unsupported blend mode: ${e}`)}(t.blendMode);A.push({voi:t.voi,voiInverted:t.voiInverted,colormap:t.colormap,slabThickness:t.slabThickness,blendMode:n,displayPreset:t.displayPreset})}),A}};var uC=((y=uC||{}).First="first",y.Last="last",y.Middle="middle",y);let uE={VIEWPORT_DATA_CHANGED:"event::cornerstoneViewportService:viewportDataChanged",VIEWPORT_VOLUMES_CHANGED:"event::cornerstoneViewportService:viewportVolumesChanged"},uS=new Set(["vtkVolume","vtkImageSlice"]);function uI(e,A,t){if(A>t.length)return!1;for(let n=0;n<A;n++)if(e[n]!==t[n])return!1;return!0}let uU={withNavigation:!0,withOrientation:!1},ub={withNavigation:!0,withOrientation:!0};class uF extends R.PubSubService{constructor(e){super(uE),this.renderingEngine=void 0,this.viewportsById=new Map,this.viewportGridResizeObserver=void 0,this.viewportsDisplaySets=new Map,this.beforeResizePositionPresentations=new Map,this.servicesManager=null,this.resizeQueue=[],this.viewportResizeTimer=null,this.gridResizeDelay=50,this.gridResizeTimeOut=null,this.hangingProtocolService=void 0,this.viewportsInfo=void 0,this.sceneVolumeInputs=void 0,this.viewportDivElements=void 0,this.ViewportPropertiesMap=void 0,this.volumeUIDs=void 0,this.displaySetsNeedRerendering=void 0,this.viewportDisplaySets=void 0,this.renderingEngine=null,this.viewportGridResizeObserver=null,this.servicesManager=e}enableViewport(e,A){let t=new uv(e);t.setElement(A),this.viewportsById.set(e,t)}getViewportIds(){return Array.from(this.viewportsById.keys())}getRenderingEngine(){let e=(0,x.getRenderingEngine)(uw);return e?this.renderingEngine=e:(!e||e.hasBeenDestroyed)&&(this.renderingEngine=new x.RenderingEngine(uw)),this.renderingEngine}resize(){if(Array.from(this.viewportsById.values()).every(e=>{let A=e.getElement();return 0===A.clientWidth&&0===A.clientHeight}))return void console.warn("Ignoring resize when viewports have size 0");let e=Array.from(this.viewportsById.values()).filter(e=>e.getViewportType()===x.Enums.ViewportType.STACK).length,A=Array.from(this.viewportsById.values()).filter(e=>e.getViewportType()===x.Enums.ViewportType.ORTHOGRAPHIC).length;e<=12&&A<=6?(this.performResize(),this.resetGridResizeTimeout(),this.resizeQueue=[],clearTimeout(this.viewportResizeTimer)):this.enqueueViewportResizeRequest()}destroy(){this._removeResizeObserver(),this.viewportGridResizeObserver=null;try{this.renderingEngine?.destroy?.()}catch(e){console.warn("Rendering engine not destroyed",e)}this.viewportsDisplaySets.clear(),this.renderingEngine=null,x.cache.purgeCache()}disableElement(e){this.renderingEngine?.disableElement(e),this.viewportsById.delete(e),this.viewportsDisplaySets.delete(e)}setPresentations(e,A){let t=this.getCornerstoneViewport(e);if(!t||!A)return;let{lutPresentation:n,positionPresentation:r,segmentationPresentation:o}=A;this._setSegmentationPresentation(t,o),this._setLutPresentation(t,n),this._setPositionPresentation(t,{...r,viewportId:e})}storePresentation({viewportId:e}){let A=this.getPresentationIds(e),{syncGroupService:t}=this.servicesManager.services,n=t.getSynchronizersForViewport(e);if(!A||0===Object.keys(A).length)return null;let{lutPresentationId:r,positionPresentationId:o,segmentationPresentationId:i}=A,a=this._getPositionPresentation(e),s=this._getLutPresentation(e),l=this._getSegmentationPresentation(e),{setLutPresentation:c}=At.I.getState(),{setPositionPresentation:u}=An.q.getState(),{setSynchronizers:d}=tH.U.getState(),{setSegmentationPresentation:g}=Ar.v.getState();r&&c(r,s),o&&u(o,a),i&&g(i,l),n?.length&&d(e,n.map(e=>({id:e.id,sourceViewports:[...e.getSourceViewports()],targetViewports:[...e.getTargetViewports()]})))}getPresentations(e){let A=this._getPositionPresentation(e);return{positionPresentation:A,lutPresentation:this._getLutPresentation(e),segmentationPresentation:this._getSegmentationPresentation(e)}}getPresentationIds(e){let A=this.viewportsById.get(e);return A?A.getPresentationIds():null}_getPositionPresentation(e){let A=this.getCornerstoneViewport(e);if(A)return{viewportType:this.viewportsById.get(e).getViewportType(),viewReference:(0,eo.Ov)(A)?null:A.getViewReference(),viewPresentation:A.getViewPresentation({pan:!0,zoom:!0}),viewportId:e}}_getLutPresentation(e){let A=this.getCornerstoneViewport(e);if(!A)return;let t=e=>(e?.isComputedVOI&&(delete e?.voiRange,delete e?.VOILUTFunction),e?.colormap&&e.colormap?.opacity?.length===0&&delete e.colormap.opacity,e),n=(0,eo.rX)(A)?new Map:t(A.getProperties());if(n instanceof Map){let e=A.getAllVolumeIds();e?.forEach(e=>{let r=t(A.getProperties(e));n.set(e,r)})}return{viewportType:this.viewportsById.get(e).getViewportType(),properties:n}}_getSegmentationPresentation(e){let{segmentationService:A}=this.servicesManager.services;return A.getPresentation(e)}setViewportData(e,A,t,n,r){let o=this.getRenderingEngine();if(A.viewportType===x.Enums.ViewportType.STACK&&!A.data[0].imageIds?.length)return;let i=this.viewportsById.get(e);if(this.storePresentation({viewportId:i.getViewportId()}),this.servicesManager.services.segmentationService.clearSegmentationRepresentations(i.getViewportId()),!i)throw Error("element is not enabled for the given viewportId");let a=i.setPublicDisplaySetOptions(n),s=i.setPublicViewportOptions(t,A.viewportType),l=i.getElement(),c=i.getViewportType(),u=i.getBackground(),d=i.getOrientation(),g=i.getDisplayArea();i.setRenderingEngineId(o.id),o.enableElement({viewportId:e,element:l,type:c,defaultOptions:{background:u,orientation:d,displayArea:g}}),i.setViewportOptions(s),i.setDisplaySetOptions(a),i.setViewportData(A),i.setViewportId(e),this.viewportsById.set(e,i);let p=o.getViewport(e);this._setDisplaySets(p,A,i,r).then(()=>{this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED,{viewportData:A,viewportId:e})})}getViewportOptions(e){return this.viewportsById.get(e).getViewportOptions()}getCornerstoneViewport(e){return this.getViewportInfo(e)&&this.renderingEngine&&!this.renderingEngine.hasBeenDestroyed?this.renderingEngine.getViewport(e):null}getViewportInfo(e){return this.viewportsById.get(e)}getOrientation(e){return this.getViewportInfo(e).getOrientation()}findNavigationCompatibleViewportId(e,A){let t=this.getCornerstoneViewport(e);if(t||console.warn("No active viewport found for",e),t?.isReferenceViewable(A,uU))return e;for(let e of this.viewportsById.keys()){let t=this.getCornerstoneViewport(e);if(t?.isReferenceViewable(A,uU))return e}for(let{viewportId:e}of this.getViewportAlignmentData(A)){let t=this.getCornerstoneViewport(e);if(t?.isReferenceViewable(A,ub))return e}return null}getViewportAlignmentData(e){let A=[],{viewPlaneNormal:t,planeRestriction:n}=e,r=n?.inPlaneVector1,o=n?.inPlaneVector2;for(let e of this.viewportsById.keys()){let{viewPlaneNormal:n}=this.getCornerstoneViewport(e).getCamera();if(!n)continue;let i=0;r||o?i=(r?-Math.abs(tO.vec3.dot(n,r)):0)+(o?-Math.abs(tO.vec3.dot(n,o)):0):t&&(i=Math.abs(tO.vec3.dot(n,t))),A.push({viewportId:e,alignmentScore:i})}return A.sort((e,A)=>A.alignmentScore-e.alignmentScore),A}findUpdateableViewportConfiguration(e,A){let{metadata:t,displaySetInstanceUID:n}=A,{displaySetService:r}=this.servicesManager.services,o=r.getDisplaySetByUID(n),i=this.determineTargetViewportType(o,t),a=this.findViewportShowingVolume(t,n,i);if(a)return a;let s=this.findViewportConvertibleToVolume(t,n,i);if(s)return s;let l=this.findViewportWithMatchingOrientation(t,n,i);return l||{viewportId:e,displaySetInstanceUID:n,viewportOptions:{viewportType:i}}}determineTargetViewportType(e,A){let{viewportType:t}=e;return!t&&(A.referencedImageId&&!e.isReconstructable?t=x.Enums.ViewportType.STACK:A.volumeId&&(t="volume")),t}findViewportShowingVolume(e,A,t){if(!e.volumeId)return null;for(let n of this.viewportsById.keys()){let r=this.getCornerstoneViewport(n);if(r?.isReferenceViewable(e,{asVolume:!0,withNavigation:!0}))return{viewportId:n,displaySetInstanceUID:A,viewportOptions:{viewportType:t}}}return null}findViewportConvertibleToVolume(e,A,t){let{viewportGridService:n}=this.servicesManager.services,r={...e,volumeId:null,referencedImageId:null};for(let o of this.viewportsById.keys()){let i=this.getCornerstoneViewport(o),a=n.getDisplaySetsUIDsForViewport(o)?.[0];if(a&&i&&(e.volumeId&&(r.volumeId=a),r.FrameOfReferenceUID=this._getFrameOfReferenceUID(a),i.isReferenceViewable(r,{asVolume:!0,withNavigation:!0})))return{viewportId:o,displaySetInstanceUID:A,viewportOptions:{viewportType:t}}}return null}findViewportWithMatchingOrientation(e,A,t){let n=this.getViewportAlignmentData(e);return n?.length?{...n[0],displaySetInstanceUID:A,viewportOptions:{viewportType:t}}:null}async _setEcgViewport(e,A){let[t]=A.data,n=t.imageIds?.[0];return n?e.setEcg(n):void console.error("[CornerstoneViewportService] ECG display set has no imageId")}async _setOtherViewport(e,A,t,n={}){let[r]=A.data;await e.setDisplaySets({displaySetId:r.imageIds[0]});let o=t.getViewReference();o&&e.setViewReference(o)}async _setStackViewport(e,A,t,n={}){let r=t.getDisplaySetOptions(),o=A.data.map(e=>e.displaySetInstanceUID);this.viewportsDisplaySets.set(e.id,[...o]);let{initialImageIndex:i,imageIds:a}=A.data[0],s=n?.positionPresentation?.initialImageIndex??i,{rotation:l,flipHorizontal:c,displayArea:u}=t.getViewportOptions(),d={...n.lutPresentation?.properties};if(!n.lutPresentation?.properties){let{voi:e,voiInverted:A,colormap:t}=r[0];if(e&&(e.windowWidth||e.windowCenter)){let{lower:A,upper:t}=x.utilities.windowLevel.toLowHighRange(e.windowWidth,e.windowCenter);d.voiRange={lower:A,upper:t}}d.invert=A??d.invert,d.colormap=t??d.colormap}e.element.addEventListener(x.Enums.Events.VIEWPORT_NEW_IMAGE_SET,A=>{let{element:t}=A.detail;t===e.element&&H.utilities.stackContextPrefetch.enable(t)});let g=this._processExtraDisplaySetsForViewport(e),p=n?.positionPresentation?.viewReference?.referencedImageId;p&&(s=a.indexOf(p)),(null==s||s<0)&&(s=this._getInitialImageIndexForViewport(t,a)||0),await e.setStack(a,s),e.setProperties({...d}),this.setPresentations(e.id,n,t),await this._addOverlayRepresentations(g),u&&e.setDisplayArea(u),l&&e.setProperties({rotation:l}),c&&e.setCamera({flipHorizontal:!0})}_getInitialImageIndexForViewport(e,A){let t,n=e.getInitialImageOptions();if(!n)return;let{index:r,preset:o}=n,i=e.getViewportType();if(i===x.Enums.ViewportType.STACK)t=A.length;else{if(i!==x.Enums.ViewportType.ORTHOGRAPHIC)return;let A=this.getCornerstoneViewport(e.getViewportId()),n=x.utilities.getImageSliceDataForVolumeViewport(A);if(!n)return;({numberOfSlices:t}=n)}return this._getInitialImageIndex(t,r,o)}_getInitialImageIndex(e,A,t){let n=e-1;return void 0!==A?x.utilities.clip(A,0,n):t===uC.First?0:t===uC.Last?n:t===uC.Middle?n%2==0?n/2:(n+1)/2:0}async _setVolumeViewport(e,A,t,n={}){let{displaySetService:r}=this.servicesManager.services,o=[],i=t.getDisplaySetOptions(),{hangingProtocolService:a}=this.servicesManager.services,s=[],l=[];for(let[e,t]of A.data.entries()){let{imageIds:A,displaySetInstanceUID:n}=t,a=t.volume,c=r.getDisplaySetByUID(n);if(!a&&c.images&&(a=H.utilities.getOrCreateImageVolume(c.images.map(e=>e.imageId))),l.push(n),!a){console.log("Volume display set not found");continue}s.push(a);let u=i[e],{volumeId:d}=a;o.push({imageIds:A,volumeId:d,modality:c.Modality,displaySetInstanceUID:n,blendMode:u.blendMode,slabThickness:this._getSlabThickness(u,d)})}this.viewportsDisplaySets.set(e.id,l);let c=s.filter(e=>!e.loadStatus?.loaded);if(c.length){if(a.getShouldPerformCustomImageLoad())return a.runImageLoadStrategy({viewportId:e.id,volumeInputArray:o});c.forEach(e=>{!e.loadStatus?.loading&&e.load instanceof Function&&e.load()})}return this.setVolumesForViewport(e,o,n)}async setVolumesForViewport(e,A,t){let{displaySetService:n,viewportGridService:r}=this.servicesManager.services,o=this.getViewportInfo(e.id),i=o.getDisplaySetOptions(),a=r.getDisplaySetsUIDsForViewport(e.id),s=n.getDisplaySetByUID(a[0]),l=s?.Modality,c=A.map((e,A)=>({volumeInput:e,displaySetOptions:i[A]})).filter(({volumeInput:e})=>{let A=n.getDisplaySetByUID(e.displaySetInstanceUID);return!A?.isOverlayDisplaySet}),u=c.map(({volumeInput:e,displaySetOptions:A})=>{let{volumeId:t}=e,{voi:n,voiInverted:r,colormap:o,displayPreset:i}=A,a={};if(n&&(n.windowWidth||n.windowCenter)){let{lower:e,upper:A}=x.utilities.windowLevel.toLowHighRange(n.windowWidth,n.windowCenter);a.voiRange={lower:e,upper:A}}return void 0!==r&&(a.invert=r),void 0!==o&&(a.colormap=o),void 0!==i&&(a.preset=i[l]||i.default),{properties:a,volumeId:t}}),d=this._processExtraDisplaySetsForViewport(e)||[];!c.length&&d?.length&&d.forEach(({imageIds:A,addOverlayFn:t})=>{if(t){let t=A[0],o=n.getDisplaySetsBy(e=>!e.isOverlayDisplaySet&&e.images?.some(e=>e.imageId===t));if(1!==o.length)throw Error("Background display set not found");(0,eo.Ov)(e)&&setTimeout(()=>{r.setDisplaySetsForViewport({viewportId:e.id,displaySetInstanceUIDs:[o[0].displaySetInstanceUID]})},0)}});let g=c.map(({volumeInput:e})=>e),p=g.map(e=>e.volumeId),m=(e.getActors?.()??[]).filter(e=>uS.has(e.actor?.getClassName?.()??"")).map(e=>e.referencedId).filter(Boolean),f=!1;if(g.length){let A;if(1===p.length&&m.length>=p.length&&uI(m,p.length,p)&&(A=o.getViewportType(),(0,eo.Gj)(e)===A&&(A===x.Enums.ViewportType.ORTHOGRAPHIC||A===x.Enums.ViewportType.VOLUME_3D)))f=!0;else if(m.length&&p.length>m.length&&uI(m,m.length,p)&&"function"==typeof e.addVolumes){let A=g.slice(m.length);A.length&&await e.addVolumes(A)}else await e.setVolumes(g)}else A.length&&await e.setVolumes(A);if(await this._addOverlayRepresentations(d),e.render(),u.forEach(({properties:A,volumeId:t})=>{setTimeout(()=>{e.setProperties(A,t),e.render()},0)}),this.setPresentations(e.id,t),e.render(),!t.positionPresentation&&!f){let A=this._getInitialImageIndexForViewport(o);void 0!==A&&x.utilities.jumpToSlice(e.element,{imageIndex:A})}this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED,{viewportInfo:o})}_processExtraDisplaySetsForViewport(e){let{displaySetService:A}=this.servicesManager.services,t=this.viewportsDisplaySets.get(e.id).map(A.getDisplaySetByUID).filter(e=>e?.isOverlayDisplaySet);if(t?.length)return t.map(t=>{let n;return t.referencedDisplaySetInstanceUID&&(n=A.getDisplaySetByUID(t.referencedDisplaySetInstanceUID).images.map(e=>e.imageId)),{imageIds:n,addOverlayFn:()=>this.addOverlayRepresentationForDisplaySet(t,e)}})}addOverlayRepresentationForDisplaySet(e,A){let{segmentationService:t}=this.servicesManager.services,n=e.displaySetInstanceUID,r="SEG"===e.Modality?H.Enums.SegmentationRepresentations.Labelmap:H.Enums.SegmentationRepresentations.Contour,{predecessorImageId:o}=e,i=t.addSegmentationRepresentation(A.id,{segmentationId:n,predecessorImageId:o,type:r,config:{blendMode:A?.getBlendMode?.()===1?ut.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND:void 0}});return this.storePresentation({viewportId:A.id}),i}async _addOverlayRepresentations(e){if(e?.length)for(let A of e)A?.addOverlayFn&&await A.addOverlayFn()}updateViewport(e,A,t=!1){let n,r=this.getViewportInfo(e),o=this.getCornerstoneViewport(e),i=o.getCamera();(0,eo.rX)(o)&&(n=this._setVolumeViewport(o,A,r).then(()=>{t&&(o.setCamera(i),o.render())})),(0,eo.TF)(o)&&(n=this._setStackViewport(o,A,r)),n.then(()=>{this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED,{viewportData:A,viewportId:e})})}_setDisplaySets(e,A,t,n={}){return(0,eo.TF)(e)?this._setStackViewport(e,A,t,n):(0,eo.rX)(e)?this._setVolumeViewport(e,A,t,n):(0,eo.Gj)(e)===x.Enums.ViewportType.ECG?this._setEcgViewport(e,A):this._setOtherViewport(e,A,t,n)}_removeResizeObserver(){this.viewportGridResizeObserver&&this.viewportGridResizeObserver.disconnect()}_getSlabThickness(e,A){let{blendMode:t}=e;if(void 0!==t&&void 0!==e.slabThickness){if("number"==typeof e.slabThickness)return e.slabThickness;if("fullvolume"===e.slabThickness.toLowerCase()){let{dimensions:e,spacing:t}=x.cache.getVolume(A);return Math.sqrt(Math.pow(e[0]*t[0],2)+Math.pow(e[1]*t[1],2)+Math.pow(e[2]*t[2],2))}}}_getFrameOfReferenceUID(e){let{displaySetService:A}=this.servicesManager.services,t=A.getDisplaySetByUID(e);if(!t)return;if(t.FrameOfReferenceUID)return t.FrameOfReferenceUID;if("SEG"===t.Modality){let{instance:e}=t;return e.FrameOfReferenceUID}if("RTSTRUCT"===t.Modality){let{instance:e}=t;return e.ReferencedFrameOfReferenceSequence.FrameOfReferenceUID}let{images:n}=t;if(n&&n.length)return n[0].FrameOfReferenceUID}enqueueViewportResizeRequest(){this.resizeQueue.push(!1),clearTimeout(this.viewportResizeTimer),this.viewportResizeTimer=setTimeout(()=>{this.processViewportResizeQueue()},this.gridResizeDelay)}processViewportResizeQueue(){let e=this.resizeQueue.some(e=>e);!(this.resizeQueue.length>0)||e||this.gridResizeTimeOut||this.performResize(),this.resizeQueue=[]}performResize(){try{this.getRenderingEngine().getViewports().forEach(({id:e})=>{let A=this._getPositionPresentation(e);delete A.viewReference?.sliceIndex,this.beforeResizePositionPresentations.set(e,A)});let e=this.renderingEngine;e.resize(!1),e.render(),this.beforeResizePositionPresentations.forEach((e,A)=>{this.setPresentations(A,{positionPresentation:e})}),e.resize(!1),e.render()}catch(e){console.warn("Caught resize exception",e)}}resetGridResizeTimeout(){clearTimeout(this.gridResizeTimeOut),this.gridResizeTimeOut=setTimeout(()=>{this.gridResizeTimeOut=null},this.gridResizeDelay)}_setLutPresentation(e,A){if(!A)return;let{properties:t}=A;(0,eo.rX)(e)&&t instanceof Map?t.forEach((A,t)=>{e.setProperties(A,t)}):e.setProperties(t)}_setPositionPresentation(e,A){let t=A?.viewReference;t&&(e.isReferenceViewable(t,ub)?e.setViewReference(t):console.warn("Unable to apply reference viewable",t));let n=A?.viewPresentation;n&&e.setViewPresentation(n)}_setSegmentationPresentation(e,A){if(!A)return;let{segmentationService:t}=this.servicesManager.services;A.forEach(A=>{let{segmentationId:n,type:r,hydrated:o}=A,{Labelmap:i,Surface:a}=H.Enums.SegmentationRepresentations,s=(0,eo.Ov)(e);o&&t.addSegmentationRepresentation(e.id,{segmentationId:n,type:r!==a||s?r:i,config:{blendMode:e?.getBlendMode?.()===1?ut.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND:void 0}})})}getViewportDisplaySets(e){let{displaySetService:A}=this.servicesManager.services;return(this.viewportsDisplaySets.get(e)||[]).map(e=>A.getDisplaySetByUID(e)).filter(Boolean)}}uF.REGISTRATION={name:"cornerstoneViewportService",altName:"CornerstoneViewportService",create:({servicesManager:e})=>new uF(e)};var uQ=T(2464);let uD=((v={}).Removed="removed",v.Added="added",v.Modified="modified",v);class uT extends R.PubSubService{constructor(e){super(uT.EVENTS),this.colorbars={},this.servicesManager=void 0,this.servicesManager=e}addColorbar(e,A,t={}){let{displaySetService:n}=this.servicesManager.services,r=(0,x.getRenderingEngine)(uw).getViewport(e);if(!r)return;let o=r.getActors();if(!o||0===o.length)return;let{activeColormapName:i,colormaps:a}=t;A.forEach(A=>{if(n.getDisplaySetByUID(A).isOverlayDisplaySet)return;let o=(0,uQ.V)(r,A),s=o?r.getProperties(o):r.getProperties(),l=s?.colormap;i&&!l&&this.setViewportColormap(e,A,a[i],!0);let c={activeColormapName:l?.name||t?.activeColormapName||"Grayscale",colormaps:t.colormaps?Object.values(t.colormaps):[],volumeId:o,dataId:o};if(this.colorbars[e]){let t=this.colorbars[e].findIndex(e=>e.displaySetInstanceUID===A);-1!==t?this.colorbars[e][t].colorbar=c:this.colorbars[e].push({colorbar:c,displaySetInstanceUID:A})}else this.colorbars[e]=[{colorbar:c,displaySetInstanceUID:A}]}),this._broadcastEvent(uT.EVENTS.STATE_CHANGED,{viewportId:e,changeType:uD.Added})}removeColorbar(e,A){let t=this.colorbars[e];if(t){if(A){let n=t.findIndex(e=>e.displaySetInstanceUID===A);-1!==n&&(t.splice(n,1),0===t.length&&delete this.colorbars[e])}else delete this.colorbars[e];this._broadcastEvent(uT.EVENTS.STATE_CHANGED,{viewportId:e,displaySetInstanceUID:A,changeType:uD.Removed})}}hasColorbar(e){return!!this.colorbars[e]}getState(){return this.colorbars}getViewportColorbar(e){return this.colorbars[e]}onModeExit(){Object.keys(this.colorbars).forEach(e=>{this.removeColorbar(e)})}setViewportColormap(e,A,t,n=!1){let r=(0,x.getRenderingEngine)(uw).getViewport(e),o=r?.getActors();if(!r||!o||0===o.length)return;let i=(0,uQ.V)(r,A);r.setProperties({colormap:t},i),n&&r.render()}}uT.EVENTS={STATE_CHANGED:"event::ColorbarService:stateChanged"},uT.REGISTRATION={name:"colorbarService",create:({servicesManager:e})=>new uT(e)};class uO extends R.PubSubService{constructor(){super(uO.EVENTS),this.viewedDataIds=new Set}markDataViewed(e){!e||this.viewedDataIds.has(e)||(this.viewedDataIds.add(e),this._broadcastEvent(this.EVENTS.VIEWED_DATA_CHANGED,{viewedDataId:e}))}isDataViewed(e){return!!e&&this.viewedDataIds.has(e)}clearViewedData(){this.viewedDataIds.clear(),this._broadcastEvent(this.EVENTS.VIEWED_DATA_CHANGED,{viewedDataCleared:!0})}subscribeViewedDataChanges(e){return this.subscribe(this.EVENTS.VIEWED_DATA_CHANGED,e)}}function uM(e){return(uM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ux(e,A){for(var t=0;t<A.length;t++){var n=A[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,function(e){var A=function(e,A){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,A||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===A?String:Number)(e)}(e,"string");return"symbol"==typeof A?A:String(A)}(n.key),n)}}function uH(e,A){(null==A||A>e.length)&&(A=e.length);for(var t=0,n=Array(A);t<A;t++)n[t]=e[t];return n}function uL(e){for(var A=new Uint8Array(e.length),t=0,n=e.length;t<n;t++)A[t]=e.charCodeAt(t);return A}function uN(e,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,r=e.length;n&&(r=Math.min(t+n,e.length));for(var o=t;o<r;o++)if(e[o]===A[0]&&function(e,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(t+A.length>e.length)return!1;for(var n=t,r=0;r<A.length;r++){if(A[r]!==e[n])return!1;n+=1}return!0}(e,A,o))return o;return -1}function uV(e){return"object"===uM(e)&&null!==e}function uR(e){return 0===Object.keys(e).length&&e.constructor===Object}uO.EVENTS={VIEWED_DATA_CHANGED:"event::viewedDataChanged"},uO.REGISTRATION={name:"viewedDataService",altName:"ViewedDataService",create:()=>new uO};var u_=function(e){return e[0]},uk={DICOM:"application/dicom",DICOM_JSON:"application/dicom+json",OCTET_STREAM:"application/octet-stream",PDF:"application/pdf",JPEG:"image/jpeg",PNG:"image/png"},uP=function(){},uG=function(){var e,A;function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.baseURL=e.url,this.baseURL||console.error("no DICOMweb base url provided - calls that require a URL will fail"),"username"in e&&(this.username=e.username,"password"in e||console.error("no password provided to authenticate with DICOMweb service"),this.password=e.password),"qidoURLPrefix"in e?(uP("use URL prefix for QIDO-RS: ".concat(e.qidoURLPrefix)),this.qidoURL="".concat(this.baseURL,"/").concat(e.qidoURLPrefix)):this.qidoURL=this.baseURL,"wadoURLPrefix"in e?(uP("use URL prefix for WADO-RS: ".concat(e.wadoURLPrefix)),this.wadoURL="".concat(this.baseURL,"/").concat(e.wadoURLPrefix)):this.wadoURL=this.baseURL,"stowURLPrefix"in e?(uP("use URL prefix for STOW-RS: ".concat(e.stowURLPrefix)),this.stowURL="".concat(this.baseURL,"/").concat(e.stowURLPrefix)):this.stowURL=this.baseURL,e.singlepart?(uP("use singlepart",e.singlepart),this.singlepart=!0===e.singlepart?"bulkdata,video,image":e.singlepart):this.singlepart="","requestHooks"in e&&(this.requestHooks=e.requestHooks),this.headers=e.headers||{},this.errorInterceptor=e.errorInterceptor||function(){},this.verbose=!1!==e.verbose,this.setDebug(e.debug)}return e=[{key:"setDebug",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.debugLevel=!!e,uP=A||e?console.log:function(){}}},{key:"getDebug",value:function(){return this.debugLevel}},{key:"setVerbose",value:function(e){this.verbose=e}},{key:"getVerbose",value:function(){return this.verbose}},{key:"_httpRequest",value:function(e,A){var t=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=this.errorInterceptor,i=this.requestHooks;return new Promise(function(a,s){var l=r.request?r.request:new XMLHttpRequest;l.open(A,e,!0),"responseType"in r&&(l.responseType=r.responseType),"object"===uM(n)&&Object.keys(n).forEach(function(e){l.setRequestHeader(e,n[e])});var c=t.headers;if(Object.keys(c).forEach(function(e){l.setRequestHeader(e,c[e])}),l.onloadstart=function(){uP("upload started: ",e)},l.onloadend=function(){uP("upload finished")},l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e=l.getResponseHeader("Content-Type");e&&-1!==e.indexOf("multipart")?a(function(e){var A,t=ArrayBuffer.isView(e)?e:new Uint8Array(e),n=uL("\r\n\r\n"),r=uN(t,n,0,1e3);if(-1===r)throw Error("Response message has no multipart mime header");var o=function(e){for(var A=e.split("\r\n"),t=0;t<A.length;t++)if("--"===A[t].substr(0,2))return A[t];return null}(function(e){for(var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2?arguments[2]:void 0,n=t||e.length-A,r="",o=A;o<A+n;o++)r+=String.fromCharCode(e[o]);return r}(t,0,r));if(!o)throw Error("Header of response message does not specify boundary");for(var i=uL(o),a=i.length,s=[],l=a;-1!==A&&-1!==(A=uN(t,i,l));){var c=uN(t,n,l,1e3);if(-1===c)throw Error("Response message part has no mime header");l=c+n.length;var u=e.slice(l,A-2);s.push(u),l=A+a}return s}(l.response)):"arraybuffer"===l.responseType?a([l.response]):a(l.response)}else if(202===l.status)t.verbose&&console.warn("some resources already existed: ",l),a(l.response);else if(204===l.status)t.verbose&&console.warn("empty response for request: ",l),a([]);else{var A=Error("request failed");A.request=l,A.response=l.response,A.status=l.status,t.verbose&&(console.error("request failed: ",l),console.error(A),console.error(A.response)),o(A),s(A)}},"progressCallback"in r&&"function"==typeof r.progressCallback&&(l.onprogress=r.progressCallback),i&&((u=Array.isArray(i)&&i.every(function(e){return"function"==typeof e&&2===e.length}))||console.warn("Request hooks should have the following signature: function requestHook(request, metadata) { return request; }"),u)){var u,d={method:A,url:e,headers:Object.assign({},n,t.headers)};l=function(e){return i.reduce(function(e,A){return A(e,d)},e)}(l)}"withCredentials"in r&&r.withCredentials&&(l.withCredentials=!0),"data"in r?l.send(r.data):l.send()})}},{key:"_httpGet",value:function(e,A,t,n,r){return this._httpRequest(e,"get",A,{responseType:t,progressCallback:n,withCredentials:r})}},{key:"_httpGetApplicationJson",value:function(e){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=e;"object"!==uM(A)||uR(A)||(o+=t._parseQueryParameters(A));var i={Accept:uk.DICOM_JSON};return this._httpGet(o,i,"json",n,r)}},{key:"_httpGetApplicationPdf",value:function(e){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=e;"object"!==uM(A)||uR(A)||(o+=t._parseQueryParameters(A));var i={Accept:uk.PDF};return this._httpGet(o,i,"json",n,r)}},{key:"_httpGetImage",value:function(e,A){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==uM(n)||uR(n)||(i+=t._parseQueryParameters(n));var a=t._buildAcceptHeaderFieldValue(A,["image/","image/*","image/jpeg","image/jp2","image/gif","image/png"]);return this._httpGet(i,{Accept:a},"arraybuffer",r,o)}},{key:"_httpGetText",value:function(e,A){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==uM(n)||uR(n)||(i+=t._parseQueryParameters(n));var a=t._buildAcceptHeaderFieldValue(A,["text/","text/*","text/html","text/plain","text/rtf","text/xml"]);return this._httpGet(i,{Accept:a},"arraybuffer",r,o)}},{key:"_httpGetVideo",value:function(e,A){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==uM(n)||uR(n)||(i+=t._parseQueryParameters(n));var a=t._buildAcceptHeaderFieldValue(A,["video/","video/*","video/mpeg","video/mp4","video/H265"]);return this._httpGet(i,{Accept:a},"arraybuffer",r,o)}},{key:"_httpGetMultipartImage",value:function(e,A,n,r){var o,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l={};return i?o=["image/jpeg","image/gif","image/png","image/jp2"]:(o={"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"]},n&&(l.Range=t._buildRangeHeaderFieldValue(n))),l.Accept=t._buildMultipartAcceptHeaderFieldValue(A,o),this._httpGet(e,l,"arraybuffer",a,s)}},{key:"_httpGetMultipartVideo",value:function(e,A,n,r){var o,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l={};return i?o=["video/","video/*","video/mpeg2","video/mp4","video/H265"]:(o={"1.2.840.10008.1.2.4.100":["video/mpeg2"],"1.2.840.10008.1.2.4.101":["video/mpeg2"],"1.2.840.10008.1.2.4.102":["video/mp4"],"1.2.840.10008.1.2.4.103":["video/mp4"],"1.2.840.10008.1.2.4.104":["video/mp4"],"1.2.840.10008.1.2.4.105":["video/mp4"],"1.2.840.10008.1.2.4.106":["video/mp4"]},n&&(l.Range=t._buildRangeHeaderFieldValue(n))),l.Accept=t._buildMultipartAcceptHeaderFieldValue(A,o),this._httpGet(e,l,"arraybuffer",a,s)}},{key:"_httpGetMultipartApplicationDicom",value:function(e,A,n,r,o){var i={},a="application/dicom",s=A;return A||(s=[{mediaType:a}]),i.Accept=t._buildMultipartAcceptHeaderFieldValue(s,{"1.2.840.10008.1.2.1":[a],"1.2.840.10008.1.2.5":[a],"1.2.840.10008.1.2.4.50":[a],"1.2.840.10008.1.2.4.51":[a],"1.2.840.10008.1.2.4.57":[a],"1.2.840.10008.1.2.4.70":[a],"1.2.840.10008.1.2.4.80":[a],"1.2.840.10008.1.2.4.81":[a],"1.2.840.10008.1.2.4.90":[a],"1.2.840.10008.1.2.4.91":[a],"1.2.840.10008.1.2.4.92":[a],"1.2.840.10008.1.2.4.93":[a],"1.2.840.10008.1.2.4.100":[a],"1.2.840.10008.1.2.4.101":[a],"1.2.840.10008.1.2.4.102":[a],"1.2.840.10008.1.2.4.103":[a],"1.2.840.10008.1.2.4.104":[a],"1.2.840.10008.1.2.4.105":[a],"1.2.840.10008.1.2.4.106":[a]}),this._httpGet(e,i,"arraybuffer",r,o)}},{key:"_httpGetMultipartApplicationOctetStream",value:function(e,A,n,r,o,i){var a,s={},l={"1.2.840.10008.1.2.1":function(e){if(Array.isArray(e))return uH(e)}(a=Object.values(uk))||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e){if(e){if("string"==typeof e)return uH(e,void 0);var A=Object.prototype.toString.call(e).slice(8,-1);if("Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A)return Array.from(e);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return uH(e,void 0)}}(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},c=A;return A||(c=[{mediaType:"application/octet-stream"}]),n&&(s.Range=t._buildRangeHeaderFieldValue(n)),s.Accept=t._buildMultipartAcceptHeaderFieldValue(c,l),this._httpGet(e,s,"arraybuffer",o,i)}},{key:"_httpPost",value:function(e,A,t,n,r,o){return this._httpRequest(e,"post",A,{data:t,progressCallback:n,withCredentials:r,request:o})}},{key:"_httpPostApplicationJson",value:function(e,A,t,n){var r={"Content-Type":uk.DICOM_JSON};return this._httpPost(e,r,A,t,n)}},{key:"searchForStudies",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};uP("search for studies");var A=!1,n="".concat(this.qidoURL,"/studies");return"queryParams"in e&&(n+=t._parseQueryParameters(e.queryParams)),"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(n,{},!1,A)}},{key:"retrieveStudyMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of study metadata");uP("retrieve metadata of study ".concat(e.studyInstanceUID));var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/metadata"),t=!1;return"withCredentials"in e&&e.withCredentials&&(t=e.withCredentials),this._httpGetApplicationJson(A,{},!1,t)}},{key:"searchForSeries",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=this.qidoURL;"studyInstanceUID"in e&&(uP("search series of study ".concat(e.studyInstanceUID)),A+="/studies/".concat(e.studyInstanceUID)),A+="/series","queryParams"in e&&(A+=t._parseQueryParameters(e.queryParams));var n=!1;return"withCredentials"in e&&e.withCredentials&&(n=e.withCredentials),this._httpGetApplicationJson(A,{},!1,n)}},{key:"retrieveSeriesMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of series metadata");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of series metadata");uP("retrieve metadata of series ".concat(e.seriesInstanceUID));var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/metadata"),t=!1;return"withCredentials"in e&&e.withCredentials&&(t=e.withCredentials),this._httpGetApplicationJson(A,{},!1,t)}},{key:"searchForInstances",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=this.qidoURL,n=!1;return"studyInstanceUID"in e?(A+="/studies/".concat(e.studyInstanceUID),"seriesInstanceUID"in e?(uP("search for instances of series ".concat(e.seriesInstanceUID)),A+="/series/".concat(e.seriesInstanceUID)):uP("search for instances of study ".concat(e.studyInstanceUID))):uP("search for instances"),A+="/instances","queryParams"in e&&(A+=t._parseQueryParameters(e.queryParams)),"withCredentials"in e&&e.withCredentials&&(n=e.withCredentials),this._httpGetApplicationJson(A,{},!1,n)}},{key:"buildInstanceWadoURIUrl",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required.");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required.");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required.");var A=e.contentType||uk.DICOM,t=e.transferSyntax||"*",n=[];n.push("requestType=WADO"),n.push("studyUID=".concat(e.studyInstanceUID)),n.push("seriesUID=".concat(e.seriesInstanceUID)),n.push("objectUID=".concat(e.sopInstanceUID)),n.push("contentType=".concat(A)),n.push("transferSyntax=".concat(t));var r=n.join("&");return"".concat(this.wadoURL,"?").concat(r)}},{key:"retrieveInstanceMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of instance metadata");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of instance metadata");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of instance metadata");uP("retrieve metadata of instance ".concat(e.sopInstanceUID));var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/metadata"),t=!1;return"withCredentials"in e&&e.withCredentials&&(t=e.withCredentials),this._httpGetApplicationJson(A,{},!1,t)}},{key:"retrieveInstanceFrames",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of instance frames");uP("retrieve frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString()),n=e.mediaTypes,r=!1;"withCredentials"in e&&e.withCredentials&&(r=e.withCredentials);var o=!1;if("progressCallback"in e&&(o=e.progressCallback),!n)return this._httpGetMultipartApplicationOctetStream(A,!1,!1,!1,o,r);if(t._getSharedMediaTypes(n).length>1){var i={Accept:t._buildMultipartAcceptHeaderFieldValue(n,{"1.2.840.10008.1.2.1":["application/octet-stream"],"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"],"1.2.840.10008.1.2.4.201":["image/jhc"],"1.2.840.10008.1.2.4.202":["image/jhc"]})};return this._httpGet(A,i,"arraybuffer",o,r)}var a=t._getCommonMediaType(n);if(a.startsWith("application"))return this._httpGetMultipartApplicationOctetStream(A,n,!1,!1,o,r);if(a.startsWith("image"))return this._httpGetMultipartImage(A,n,!1,!1,!1,o,r);if(a.startsWith("video"))return this._httpGetMultipartVideo(A,n,!1,!1,!1,o,r);throw Error("Media type ".concat(a," is not supported for retrieval of frames."))}},{key:"retrieveInstanceRendered",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance");var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/rendered"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(A+=t._parseQueryParameters(r)),this._httpGet(A,{},"arraybuffer",i,o);var a=t._getCommonMediaType(n);if(a.startsWith("image"))return this._httpGetImage(A,n,r,i,o);if(a.startsWith("video"))return this._httpGetVideo(A,n,r,i,o);if(a.startsWith("text"))return this._httpGetText(A,n,r,i,o);if(a===uk.PDF)return this._httpGetApplicationPdf(A,r,i,o);throw Error("Media type ".concat(a," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceThumbnail",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance");var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/thumbnail"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(A+=t._parseQueryParameters(r)),this._httpGet(A,{},"arraybuffer",i,o);var a=t._getCommonMediaType(n);if(a.startsWith("image"))return this._httpGetImage(A,n,r,i,o);throw Error("Media type ".concat(a," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceFramesRendered",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of rendered instance frames");uP("retrieve rendered frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString(),"/rendered"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(A+=t._parseQueryParameters(r)),this._httpGet(A,{},"arraybuffer",!1,o);var a=t._getCommonMediaType(n);if(a.startsWith("image"))return this._httpGetImage(A,n,r,i,o);if(a.startsWith("video"))return this._httpGetVideo(A,n,r,i,o);throw Error("Media type ".concat(a," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstanceFramesThumbnail",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of rendered instance frames");console.debug("retrieve rendered frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString(),"/thumbnail"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(A+=t._parseQueryParameters(r)),this._httpGet(A,{},"arraybuffer",i,o);var a=t._getCommonMediaType(n);if(a.startsWith("image"))return this._httpGetImage(A,n,r,i,o);throw Error("Media type ".concat(a," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstance",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required");var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID),n=e.mediaTypes,r=e.withCredentials,o=void 0!==r&&r,i=e.progressCallback,a=void 0!==i&&i;if(!n)return this._httpGetMultipartApplicationDicom(A,!1,!1,a,o).then(u_);var s=t._getCommonMediaType(n);if(s===uk.DICOM)return this._httpGetMultipartApplicationDicom(A,n,!1,a,o).then(u_);throw Error("Media type ".concat(s," is not supported for retrieval of instance."))}},{key:"retrieveSeries",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required");var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID),n=e.mediaTypes,r=!1;"withCredentials"in e&&e.withCredentials&&(r=e.withCredentials);var o=!1;if("progressCallback"in e&&(o=e.progressCallback),!n)return this._httpGetMultipartApplicationDicom(A,!1,!1,o,r);var i=t._getCommonMediaType(n);if(i===uk.DICOM)return this._httpGetMultipartApplicationDicom(A,n,!1,o,r);throw Error("Media type ".concat(i," is not supported for retrieval of series."))}},{key:"retrieveStudy",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");var A="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID),n=e.mediaTypes,r=e.withCredentials,o=void 0!==r&&r,i=e.progressCallback,a=void 0!==i&&i;if(!n)return this._httpGetMultipartApplicationDicom(A,!1,!1,a,o);var s=t._getCommonMediaType(n);if(s===uk.DICOM)return this._httpGetMultipartApplicationDicom(A,n,!1,a,o);throw Error("Media type ".concat(s," is not supported for retrieval of study."))}},{key:"retrieveBulkData",value:function(e){if(!("BulkDataURI"in e))throw Error("BulkDataURI is required.");var A=e.BulkDataURI,n=e.mediaTypes,r=e.byteRange,o=e.withCredentials,i=void 0!==o&&o,a=e.progressCallback,s=void 0!==a&&a;if(-1!==this.singlepart.indexOf("bulkdata"))return this._httpGet(A,e.headers,"arraybuffer",null,i);if(n)try{var l=t._getCommonMediaType(n);if("image/"===l)return this._httpGetMultipartImage(A,n,r,!1,!1,s,i)}catch(e){}return this._httpGetMultipartApplicationOctetStream(A,n,r,!1,s,i)}},{key:"storeInstances",value:function(e){if(!("datasets"in e))throw Error("datasets are required for storing");var A="".concat(this.stowURL,"/studies");"studyInstanceUID"in e&&(A+="/".concat(e.studyInstanceUID));var t=function(e){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){function e(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return"".concat(e()+e(),"-").concat(e(),"-").concat(e(),"-").concat(e(),"-").concat(e()).concat(e()).concat(e())}(),t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/dicom",n=uL("\r\n--".concat(A,"\r\n").concat("Content-Type: ".concat(t),"\r\n\r\n")),r=uL("\r\n--".concat(A,"--")),o=n.length,i=r.length,a=0,s=e.map(function(e){var A=new Uint8Array(e),t=A.length;return a+=o+t+i,A}),l=new Uint8Array(a);l.set(n,0);var c=0;return s.forEach(function(e){l.set(n,c),l.set(e,c+o),c+=o+e.length}),l.set(r,c),{data:l.buffer,boundary:A}}(e.datasets),n=t.data,r=t.boundary,o=e.withCredentials;return this._httpPost(A,{"Content-Type":'multipart/related; type="application/dicom"; boundary="'.concat(r,'"')},n,e.progressCallback,void 0!==o&&o,e.request)}}],A=[{key:"_parseQueryParameters",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A="?";return Object.keys(e).forEach(function(t,n){0!==n&&(A+="&"),A+="".concat(t,"=").concat(encodeURIComponent(e[t]))}),A}},{key:"_assertMediaTypeIsValid",value:function(e){if(!e)throw Error("Not a valid media type: ".concat(e));var A=e.indexOf("/");if(-1===A||!["application","image","text","video"].includes(e.slice(0,A))||e.slice(A+1).includes("/"))throw Error("Not a valid media type: ".concat(e))}},{key:"_parseMediaType",value:function(e){return t._assertMediaTypeIsValid(e),e.split("/")}},{key:"_buildAcceptHeaderFieldValue",value:function(e,A){if(!Array.isArray(e))throw Error("Acceptable media types must be provided as an Array");return e.map(function(e){var n=e.mediaType;if(t._assertMediaTypeIsValid(n),!A.includes(n))throw Error("Media type ".concat(n," is not supported for requested resource"));return n}).join(", ")}},{key:"_buildMultipartAcceptHeaderFieldValue",value:function(e,A){var n=this;if(!Array.isArray(e))throw Error("Acceptable media types must be provided as an Array");if(!Array.isArray(A)&&!uV(A))throw Error("Supported media types must be provided as an Array or an Object");var r=[];if(e.forEach(function(e){var o=e.transferSyntaxUID,i=e.mediaType;t._assertMediaTypeIsValid(i);var a='multipart/related; type="'.concat(i,'"');if(uV(A)){if(!Object.values(A).flat(1).includes(i)&&(!i.endsWith("/*")||!i.endsWith("/")))return void uP("Media type ".concat(i," is not supported for requested resource"));if(o){if("*"!==o){if(!Object.keys(A).includes(o))throw Error("Transfer syntax ".concat(o," is not supported for requested resource"));var s=A[o];if(!s.includes(i)){var l=t._parseMediaType(i)[0];s.map(function(e){if(!(l===t._parseMediaType(e)[0]&&(i.endsWith("/*")||i.endsWith("/"))))throw Error("Transfer syntax ".concat(o," is not supported for requested resource"))})}}a+="; transfer-syntax=".concat(o)}}else if(Array.isArray(A)&&!A.includes(i)){n.verbose&&console.warn("Media type ".concat(i," is not supported for requested resource"));return}r.push(a)}),!r.length)throw Error("No acceptable media types found among ".concat(JSON.stringify(e)));return r.join(", ")}},{key:"_buildRangeHeaderFieldValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return 1===e.length?"bytes=".concat(e[0],"-"):2===e.length?"bytes=".concat(e[0],"-").concat(e[1]):"bytes=0-"}},{key:"_getSharedMediaTypes",value:function(e){var A=new Set;return e&&e.length?(e.forEach(function(e){var n=e.mediaType,r=t._parseMediaType(n)[0];A.add("".concat(r,"/"))}),Array.from(A)):A}},{key:"_getCommonMediaType",value:function(e){if(!e||!e.length)throw Error("No acceptable media types provided");var A=t._getSharedMediaTypes(e);if(0===A.length)throw Error("No common acceptable media type could be identified.");if(A.length>1)throw Error("Acceptable media types must have the same type.");return A[0]}}],e&&ux(t.prototype,e),A&&ux(t,A),Object.defineProperty(t,"prototype",{writable:!1}),t}();let uK=e=>{if(e)return"function"==typeof e.getImageId?e.getImageId():e.url},uj=e=>(Array.isArray(e)?e:[e]).some(e=>!e),uY=e=>e&&e.images&&e.images[0],uW=(e,A=R.DICOMWeb.getAuthorizationHeader())=>fetch(e,A).then(e=>e.arrayBuffer()),uz=e=>x.imageLoader.loadAndCacheImage(e).then(e=>e&&e.data&&e.data.byteArray.buffer),uJ=(e,A,t,n,r=R.DICOMWeb.getAuthorizationHeader(),o=R.errorHandler.getHTTPErrorHandler())=>new uG({url:e,headers:r,errorInterceptor:o}).retrieveInstance({studyInstanceUID:A,seriesInstanceUID:t,sopInstanceUID:n}),uX=new class{getLocalData(e,A){let t=uY(e),n=e&&e.instance;if(!t&&!n||!n.imageId?.startsWith("dicomfile"))return;let r=uK(t||n);if(uj(r)&&(r=((e,A)=>{let{series:t=[]}=e.find(e=>e.displaySets.some(e=>e.displaySetInstanceUID===A)),{instances:n=[]}=t[0]||{};return uK(n[0])})(A,e.displaySetInstanceUID)),!uj(r))return j().wadouri.loadFileRequest(r)}getDataByImageType(e){let A=uY(e);if(A){let e,t,n=uK(A),r=uW;switch(t=(e=/^\w+\:/).exec(n),0===e.lastIndex&&t&&t[0]&&t[0].replace(":","")||""){case"dicomfile":r=uz.bind(this,n);break;case"wadors":let o=A.getData().wadoRoot,i=A.getStudyInstanceUID(),a=A.getSeriesInstanceUID(),s=A.getSOPInstanceUID();if(uj([o,i,a,s]))return;r=uJ.bind(this,o,i,a,s);break;case"wadouri":if(uj(n=n.substring(n.indexOf(":")+1)))return;r=uW.bind(this,n);break;default:return}return r()}}getDataByDatasetType(e){let{StudyInstanceUID:A,SeriesInstanceUID:t,SOPInstanceUID:n,authorizationHeaders:r,wadoRoot:o,wadoUri:i,instance:a}=e;if(!uj(o))return uJ(o,A,t,n,r);if(!uj(i))return uW(i,{headers:r});if(!uj(a?.url)){let e=a.url;return uW(e.startsWith("http")?e:e.substring(e.indexOf(":")+1),{headers:r})}}*getLoaderIterator(e,A,t){yield this.getLocalData(e,A),yield this.getDataByImageType(e),yield this.getDataByDatasetType(e)}findDicomDataPromise(e,A,t){for(let n of(e.authorizationHeaders=t,this.getLoaderIterator(e,A)))if(n)return n;throw Error("Invalid dicom data loader")}},uq=JSON.parse('{"UU":"@ohif/extension-cornerstone"}').UU,u$=(e,A,t)=>{let n=(0,x.getRenderingEngine)(t.renderingEngineId);if(!n)throw Error(`No RenderingEngine for Id: ${t.renderingEngineId}`);let r=n.getViewport(A.viewportId),{viewportIndex:o}=e.getOptions(t.viewportId),{viewportIndex:i}=e.getOptions(A.viewportId);if(void 0===o||void 0===i)throw Error("No viewportIndex provided");let a=n.getViewport(t.viewportId),s=r.getSliceIndex()+(Number(o)-Number(i));s!==a.getSliceIndex()&&x.utilities.jumpToSlice(a.element,{imageIndex:s})},uZ=e=>H.SynchronizerManager.createSynchronizer(e,x.EVENTS.STACK_VIEWPORT_SCROLL,u$,{auxiliaryEvents:[{name:x.EVENTS.CAMERA_MODIFIED,source:"element"}]});var u0=T(2111),u1=T.n(u0);let{MetadataModules:u3}=x.Enums,{utils:u4}=_(),{denaturalizeDataset:u2}=u1().data.DicomMetaDictionary,{transferDenaturalizedDataset:u6,fixMultiValueKeys:u9}=J.dicomWebUtils;function u8(e,A){return e.get(A)?u6(u2(u9(e.get(A)))):(console.warn("Metadata not already found for",A,"in",e),this.super.getDICOMwebMetadata(A))}let u5=Object.values({TWELVE_LEAD_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.1",GENERAL_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.2",AMBULATORY_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.3",HEMODYNAMIC_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.2.1",CARDIAC_ELECTROPHYSIOLOGY_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.3.1"});var u7=T(9692),de=T(1303);function dA(){return(dA=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}let dt=function(e){let{className:A,isActive:t,id:n}=e,r=(0,J.useUIStateStore)(e=>e.uiState.activeSegmentationUtility),o=(0,Au.cn)("w-7 h-7 text-primary hover:text-primary hover:!bg-primary/30",A,t&&"bg-primary/30"),i=(0,M.useCallback)(e=>{r===n&&(e.preventDefault(),e.stopPropagation())},[r,n]);return M.createElement("div",{onPointerDownCapture:i},M.createElement(Au.ToolButton,dA({},e,{className:o})))};function dn({children:e,segmentationRepresentationTypes:A}){let{commandsManager:t,servicesManager:n}=(0,AT.useSystem)(),{customizationService:r,displaySetService:o,viewportGridService:i,toolbarService:a,segmentationService:s}=n.services,{activeViewportId:l}=i.getState(),c={[AA.SegmentationRepresentations.Labelmap]:a.sections.labelMapSegmentationUtilities,[AA.SegmentationRepresentations.Contour]:a.sections.contourSegmentationUtilities},u=tN(e=>e.selectedSegmentationsForViewport[l]),d=A?A.reduce((e,A)=>e||(u?.has(A)?u?.get(A):void 0),void 0):s?.getActiveSegmentation(l)?.segmentationId,g=A?.[0]?c[A[0]]:void 0,{activeToolOptions:p}=(0,AT.useActiveToolOptions)({buttonSectionId:g}),{segmentationsWithRepresentations:m,disabled:f}=(0,u7.c)(),h=(0,J.useUIStateStore)(e=>e.setUIState);(0,M.useEffect)(()=>{h("activeSegmentationUtility",null),a.refreshToolbarState({viewportId:l})},[l,h,a]);let w=(0,M.useCallback)(e=>{e||(h("activeSegmentationUtility",null),a.refreshToolbarState({viewportId:l}))},[l,h,a]),B=r.getCustomization("panelSegmentation.tableMode"),y=r.getCustomization("panelSegmentation.onSegmentationAdd"),v=r.getCustomization("panelSegmentation.disableEditing"),C=r.getCustomization("panelSegmentation.showAddSegment"),E=r.getCustomization("panelSegmentation.customDropdownMenuContent"),S=r.getCustomization("panelSegmentation.customSegmentStatisticsHeader"),I={onSegmentationClick:e=>{t.run("setActiveSegmentation",{segmentationId:e})},onSegmentAdd:e=>{t.run("addSegment",{segmentationId:e}),t.run("setActiveSegmentation",{segmentationId:e})},onSegmentClick:(e,A)=>{t.run("setActiveSegmentAndCenter",{segmentationId:e,segmentIndex:A})},onSegmentEdit:(e,A)=>{t.run("editSegmentLabel",{segmentationId:e,segmentIndex:A})},onSegmentationEdit:e=>{t.run("editSegmentationLabel",{segmentationId:e})},onSegmentColorClick:(e,A)=>{t.run("editSegmentColor",{segmentationId:e,segmentIndex:A})},onSegmentDelete:(e,A)=>{t.run("deleteSegment",{segmentationId:e,segmentIndex:A})},onSegmentCopy:A?.[0]===AA.SegmentationRepresentations.Contour?(e,A)=>{t.run("copyContourSegment",{sourceSegmentInfo:{segmentationId:e,segmentIndex:A}})}:void 0,onToggleSegmentVisibility:(e,A,n)=>{t.run("toggleSegmentVisibility",{segmentationId:e,segmentIndex:A,type:n})},onToggleSegmentLock:(e,A)=>{t.run("toggleSegmentLock",{segmentationId:e,segmentIndex:A})},onToggleSegmentationRepresentationVisibility:(e,A)=>{t.run("toggleSegmentationVisibility",{segmentationId:e,type:A})},onSegmentationDownload:e=>{t.run("downloadSegmentation",{segmentationId:e})},setStyle:(e,A,n,r)=>{t.run("setSegmentationStyle",{segmentationId:e,type:A,key:n,value:r})},toggleRenderInactiveSegmentations:()=>{t.run("toggleRenderInactiveSegmentations")},onSegmentationRemoveFromViewport:e=>{t.run("removeSegmentationFromViewport",{segmentationId:e})},onSegmentationDelete:e=>{t.run("deleteSegmentation",{segmentationId:e})},setFillAlpha:({type:e},A)=>{t.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:e}),t.run("setFillAlpha",{type:e,value:A})},setOutlineWidth:({type:e},A)=>{t.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:e}),t.run("setOutlineWidth",{type:e,value:A})},setRenderFill:({type:e},A)=>{t.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:e}),t.run("setRenderFill",{type:e,value:A})},setRenderFillInactive:({type:e},A)=>{t.run("setRenderFillInactive",{type:e,value:A})},setRenderOutline:({type:e},A)=>{t.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:e}),t.run("setRenderOutline",{type:e,value:A})},setRenderOutlineInactive:({type:e},A)=>{t.run("setRenderOutlineInactive",{type:e,value:A})},setFillAlphaInactive:({type:e},A)=>{t.run("setFillAlphaInactive",{type:e,value:A})},getRenderInactiveSegmentations:()=>t.run("getRenderInactiveSegmentations")},U=m.map(({segmentation:e})=>{let{representationData:A,segmentationId:t}=e,{Labelmap:n,Contour:r}=A;return n||r?((e,A)=>{if(!e)return!1;let t=e?.imageIds;if(!t?.length||!t.some(e=>{let A=x.cache.getImage(e)?.getPixelData();if(!A)return!1;for(let e=0;e<A.length;e++)if(0!==A[e])return!0}))return!1;let n=e?.referencedImageIds;if(!n)return!1;let r=n[0],o=x.metaData.get("instance",r);if(!o)return!1;let i=o.SOPInstanceUID||o.SopInstanceUID,a=o.SeriesInstanceUID;return!!A.getDisplaySetForSOPInstanceUID(i,a)})(n,o)||(e=>{if(!e)return!1;let A=e?.annotationUIDsMap;return!!A&&A.size>0})(r)?{segmentationId:t,isExportable:!0}:{segmentationId:t,isExportable:!1}:{segmentationId:t,isExportable:!0}}),b={disabled:f,data:m,mode:B,title:`${A?.[0]?`${A[0]} `:""}Segmentations`,exportOptions:U,disableEditing:v,onSegmentationAdd:y,showAddSegment:C,renderInactiveSegmentations:I.getRenderInactiveSegmentations(),segmentationRepresentationTypes:A,selectedSegmentationIdForType:d,...I},F=()=>g?M.createElement(Au.IconPresentationProvider,{size:"large",IconContainer:dt},M.createElement("div",{className:"flex flex-wrap gap-[3px] bg-transparent pb-[2px] pl-[8px] pt-[6px]"},M.createElement(J.Toolbar,{buttonSection:g}))):null,Q=()=>M.createElement(Au.SegmentationTable.Segments,null,M.createElement(Au.SegmentationTable.SegmentStatistics.Header,null,M.createElement(S,null)),M.createElement(Au.SegmentationTable.SegmentStatistics.Body,null));return M.createElement(Au.Popover,{open:!!p,onOpenChange:w},M.createElement(Au.PopoverAnchor,null,M.createElement(Au.SegmentationTable,b,e,M.createElement(Au.SegmentationTable.Config,null),M.createElement(Au.SegmentationTable.AddSegmentationRow,null),"collapsed"===b.mode?M.createElement(Au.SegmentationTable.Collapsed,null,F(),M.createElement(Au.SegmentationTable.Collapsed.Header,null,M.createElement(Au.SegmentationTable.Collapsed.DropdownMenu,null,M.createElement(E,null)),M.createElement(Au.SegmentationTable.Collapsed.Selector,null),M.createElement(Au.SegmentationTable.Collapsed.Info,null)),M.createElement(Au.SegmentationTable.Collapsed.Content,null,M.createElement(Au.SegmentationTable.AddSegmentRow,null),Q())):M.createElement(M.Fragment,null,M.createElement(Au.SegmentationTable.Expanded,null,F(),M.createElement(Au.SegmentationTable.Expanded.Header,null,M.createElement(Au.SegmentationTable.Expanded.DropdownMenu,null,M.createElement(E,null)),M.createElement(Au.SegmentationTable.Expanded.Label,null),M.createElement(Au.SegmentationTable.Expanded.Info,null)),M.createElement(Au.SegmentationTable.Expanded.Content,null,M.createElement(Au.SegmentationTable.AddSegmentRow,null),Q()))))),p&&M.createElement(Au.PopoverContent,{side:"left",align:"start",className:"w-auto"},M.createElement(Au.ToolSettings,{options:p})))}var dr=T(2051),di=T.n(dr),da=T(6285),ds=T.n(da);let dl=(0,x.getWebWorkerManager)();dl.registerWorker("histogram-worker",()=>new Worker(new URL(T.p+T.u(915),T.b),Object.assign({},{name:"histogram-worker"},{type:void 0})),{maxWorkerInstances:1,autoTerminateOnIdle:{enabled:!0,idleTimeThreshold:1e3}});let dc=async(e,A,t)=>{if(!e.getImageData(A.volumeId))return;let n=A.scalarData;if(n=A.numTimePoints>1?A.voxelManager.getDimensionGroupScalarData(A.numTimePoints):A.voxelManager.getCompleteScalarDataArray(),!n?.length)return;let{dimensions:r,origin:o,direction:i,spacing:a}=A,{minimum:s,maximum:l}=await dl.executeTask("histogram-worker","getRange",{dimensions:r,origin:o,direction:i,spacing:a,scalarData:n});if(s===1/0||l===-1/0)return;let c={numBins:256,min:Math.max(s,t?.min??s),max:Math.min(l,t?.max??l)};return await dl.executeTask("histogram-worker","calcHistogram",{data:n,options:c})},du=(e,A)=>{if(!e)return;let t=e.getProperty().getScalarOpacity(0),n=[];return t.getNodeValue(A,n),n[1]},dd=async(e,A,t)=>{if(!e)return[];let n=e.getAllVolumeIds(),{voiRange:r}=e.getProperties()||{},o=r?{windowWidth:r.upper-r.lower,windowCenter:r.lower+(r.upper-r.lower)/2}:void 0;return(await Promise.all(n.map(async(n,r)=>{let i,a=x.cache.getVolume(n),s=t(e,n),{metadata:l,scaling:c}=a,u=l.Modality,d=await dc(e,a,{min:"PT"===u?.1:-999,max:"PT"===u?5:1e4});if(!d||d.range.min===d.range.max||!A.displaySetOptions||!A.displaySetOptions[r])return null;let{voi:g,colormap:p}=A.displaySetOptions[r];return p&&(i=x.utilities.colormap.getColormap(p.name)??ds().getPresetByName(p.name)),{viewportId:A.viewportId,modality:u,volumeId:n,volumeIndex:r,voi:r?g:o??g,histogram:d,colormap:i,step:c?.PT?.05:1,opacity:s,showOpacitySlider:1===r&&void 0!==s}}))).filter(Boolean)},{Events:dg}=x.Enums,dp=({servicesManager:e,viewportId:A})=>{let{cornerstoneViewportService:t}=e.services,[n,r]=(0,M.useState)([]),[o,i]=(0,M.useState)(!0),a=(0,R.useActiveViewportDisplaySets)(),s=(0,M.useCallback)(e=>t.getRenderingEngine().getViewports().filter(x.utilities.viewportSupportsVolumeCompatibility).filter(A=>{let t=A.getAllVolumeIds();return e.length===t.length&&e.every(e=>t.includes(e))}),[t]),l=(0,M.useCallback)((e,A)=>{let t=e.getActors().find(e=>e.referencedId===A)?.actor;return((e,A)=>{if(!A)return!1;let t=x.cache.getVolume(e);if(!t||"PT"!==t.metadata.Modality)return!1;let n=A.getProperty().getScalarOpacity(0);if(2>n.getSize())return!1;let r=[],o=[];if(n.getNodeValue(0,r),n.getNodeValue(1,o),0!==r[0]||0!==r[1]||.1!==o[0])return!1;let i=o[1],a=n.getSize(),s=[];for(let e=2;e<a;e++)if(n.getNodeValue(e,s),s[1]!==i)return!1;return!0})(A,t)?du(t,1):(e=>{if(!e)return!1;let A=e.getProperty().getScalarOpacity(0),t=A.getSize(),n=[];A.getNodeValue(0,n);let r=n[1];for(let e=0;e<t;e++){let e=[];if(A.getNodeValue(0,e),e[1]!==r)return!1}return!0})(t)?du(t,0):void 0},[]),c=(0,M.useCallback)(()=>{dd(t.getCornerstoneViewport(A),t.getViewportInfo(A),l).then(e=>{r(e)})},[A,t,l]),u=(0,M.useCallback)(e=>{let{detail:A}=e,{volumeId:t,range:o}=A,i=n.find(e=>e.volumeId===t);if(!i)return;let a=i.voi,s=o.upper-o.lower,l=o.lower+s/2;if(s===a.windowWidth&&l===a.windowCenter)return;let c={...i,voi:{windowWidth:s,windowCenter:l}};r(n.map(e=>e===i?c:e))},[n]),d=(0,M.useMemo)(()=>di()(u,100),[u]),g=(0,M.useCallback)((e,n)=>{let r=t.getCornerstoneViewport(A),o={lower:n.windowCenter-n.windowWidth/2,upper:n.windowCenter+n.windowWidth/2};r.setProperties({voiRange:o},e),r.render()},[t,A]),p=(0,M.useCallback)((e,A,n,r)=>{let o=t.getCornerstoneViewport(e);o&&s(x.utilities.viewportSupportsVolumeId(o)?o.getAllVolumeIds():[]).forEach(e=>{e.setProperties({colormap:{opacity:r}},n),e.render()})},[s,t]),m=(0,M.useCallback)(()=>{i(!1),c()},[c]);(0,M.useEffect)(()=>{document.addEventListener(dg.VOI_MODIFIED,d,!0),x.eventTarget.addEventListener(dg.IMAGE_VOLUME_LOADING_COMPLETED,m);let e=setInterval(()=>{o&&c()},1e3);return()=>{document.removeEventListener(dg.VOI_MODIFIED,d,!0),x.eventTarget.removeEventListener(dg.IMAGE_VOLUME_LOADING_COMPLETED,m),clearInterval(e)}},[c,d,m,o]);let f=(0,M.useMemo)(()=>a?.map(e=>e.displaySetInstanceUID).sort()||[],[a]);return(0,M.useEffect)(()=>{let{unsubscribe:e}=t.subscribe(t.EVENTS.VIEWPORT_VOLUMES_CHANGED,({viewportInfo:e})=>{e.viewportId===A&&c()});return f.length&&!o&&c(),()=>{e()}},[A,t,c,f,o]),M.createElement(Au.PanelSection,{defaultOpen:!0},M.createElement(Au.PanelSection.Header,null,"Window Level"),M.createElement(Au.PanelSection.Content,{className:"bg-muted py-1"},n.map((e,A)=>e.histogram?M.createElement(Au.WindowLevel,{key:e.volumeId,histogram:e.histogram,voi:e.voi,step:e.step,showOpacitySlider:e.showOpacitySlider,colormap:e.colormap,onVOIChange:A=>g(e.volumeId,A),opacity:e.opacity,onOpacityChange:t=>p(e.viewportId,A,e.volumeId,t)}):null),0===n.length&&!o&&M.createElement("div",{className:"text-muted-foreground py-2 text-center text-sm"},"No window level data available")))};dp.propTypes={servicesManager:Az().object.isRequired,viewportId:Az().string.isRequired};let dm=({servicesManager:e})=>{let[A]=(0,Au.useViewportGrid)(),{activeViewportId:t}=A;return M.createElement(M.Fragment,null,t&&M.createElement(dp,{servicesManager:e,viewportId:t}))};dm.propTypes={servicesManager:Az().object.isRequired};var df=["color"],dh=(0,M.forwardRef)(function(e,A){var t=e.color,n=function(e,A){if(null==e)return{};var t,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],A.indexOf(t)>=0||(r[t]=e[t]);return r}(e,df);return(0,M.createElement)("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n,{ref:A}),(0,M.createElement)("path",{d:"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",fill:void 0===t?"currentColor":t,fillRule:"evenodd",clipRule:"evenodd"}))});let dw=e=>{let{group:A,allChildren:t,children:n,childType:r,defaultTypes:o}=e,i=A?.subType;for(let A of t)if(!i||A.props?.subType===i){if(r&&A.type===r)return M.cloneElement(A,{...e,children:A.props.children});if(o?.indexOf(A.type)===-1)return r({...e,children:A})}if(!n)throw Error(`No children defined for ${e.name} CloneChildren in group ${A?.name}`);return M.cloneElement(n,e)},dB=[dC,dE,dS];function dy(e){let{grouping:A,items:t,children:n,sourceChildren:r}=e,o=(0,R.useSystem)(),i=e.defaultValue,a=A.groupingFunction(t,A,o);if(!i){let e=a.values().find(e=>e.isSelected);i=e?.key||e?.title}let s=Array.isArray(i)&&i||i&&[i]||[],l=r?M.Children.toArray(r):[],c=n?M.Children.toArray(n):[],u=l.concat(c);return M.createElement(dw,{allChildren:u,groups:a,childType:dC,grouping:A,defaultValue:s,name:"grouping "+A.name},M.createElement(dv,{name:"DefaultAccordion"}))}function dv(e){let{groups:A,defaultValue:t,grouping:n,allChildren:r,asChild:o}=e;return r&&A?o?M.cloneElement(e.children,e):M.createElement(Au.Accordion,{type:n.type||"multiple",className:"text-foreground",defaultValue:t},[...A.entries()].map(([e,A])=>M.createElement(Au.AccordionItem,{key:A.key+"-i",value:A.key},M.createElement(dw,{allChildren:r,group:A,childType:dS,name:"AccordionGroup.Trigger"}),M.createElement(dw,{allChildren:r,group:A,childType:dE,defaultTypes:dB,name:"AccordionGroup.Content"})))):null}function dC(e){let{groups:A,children:t}=e;return A?[...A.values()].map(A=>M.cloneElement(t,{...e,children:t.props.children,group:A,...A,key:A.title})):null}function dE(e){let{children:A,asChild:t,...n}=e,{group:r}=e;return(Object.assign(n,r),r)?t?M.cloneElement(A,{...r,...e,children:A.props.children}):M.createElement(Au.AccordionContent,null,M.cloneElement(A,{...r,...e,children:A.props.children})):null}function dS(e){let{children:A,asChild:t,...n}=e,{group:r}=e;return(Object.assign(n,r),r)?t?M.cloneElement(A,n):M.createElement(Au.AccordionTrigger,{value:r.value,asChild:!0},M.createElement("div",null,M.cloneElement(A,n),M.createElement(dh,{key:"chevronDown",className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"}))):null}function dI(){return(dI=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function dU(e){let{title:A,items:t,group:n,customHeader:r}=e,{commandsManager:o}=(0,R.useSystem)();return M.createElement(Au.MeasurementTable,dI({title:A||"Measurements",data:t,onAction:(e,A,n)=>{o.run(A,{uid:n,annotationUID:n,displayMeasurements:t})}},n,{key:n.key}),M.createElement(Au.MeasurementTable.Header,{key:"measurementTableHeader"},r&&n.isFirst&&r({...e,items:e.allItems})),M.createElement(Au.MeasurementTable.Body,{key:"measurementTableBody"}))}dy.Content=dE,dy.Trigger=dS,dy.Accordion=dC;let{filterNot:db,filterAdditionalFindings:dF}=R.utils.MeasurementFilters,dQ=[{title:"Measurements",filter:db(dF)},{title:"Additional Findings",filter:dF}],dD=(e,A)=>{let t=new Map,{namedSets:n}=A;for(let e of n){let n=e.id||e.title;t.set(n,{...A,...e,items:[],isFirst:0===t.size,title:n,key:n})}for(let A of(e.forEach(e=>{for(let A of n)if(A.filter(e)){let n=A.id||A.title;t.get(n).items.push(e);return}}),n)){let e=A.id||A.title;t.get(e).items.length||t.delete(e)}return t};function dT(e){let{items:A,children:t,grouping:n={},customHeader:r,group:o,actions:i}=e;return M.createElement(dy,{grouping:{groupingFunction:dD,name:"measurementsOrAdditional",namedSets:dQ,StudyInstanceUID:o?.StudyInstanceUID,...n},items:A,sourceChildren:t},M.createElement(dy.Accordion,{noWrapper:"true"},M.createElement(dU,{customHeader:r,allItems:A,actions:i})))}let{formatDate:dO}=R.utils;function dM(e){let{StudyInstanceUID:A}=e;if(!A)return null;let t=R.DicomMetadataStore.getStudy(A);if(!t?.series?.length)return null;let{StudyDate:n,StudyDescription:r}=t.series[0].instances[0];return M.createElement(Au.StudySummary,{date:dO(n),description:r})}function dx({items:e,StudyInstanceUID:A,measurementFilter:t,actions:n}){let{commandsManager:r}=(0,R.useSystem)(),{t:o}=AD("MeasurementTable");return e?.length?M.createElement("div",{className:"bg-background flex h-9 w-full items-center rounded pr-0.5"},M.createElement("div",{className:"flex space-x-1"},M.createElement(Au.Button,{size:"sm",variant:"ghost",className:"pl-1.5",onClick:()=>{r.runCommand("downloadCSVMeasurementsReport",{StudyInstanceUID:A,measurementFilter:t})}},M.createElement(Au.Icons.Download,{className:"h-5 w-5"}),M.createElement("span",{className:"pl-1"},"CSV")),M.createElement(Au.Button,{size:"sm",variant:"ghost",className:"pl-0.5",onClick:e=>{(e.stopPropagation(),n?.createSR)?n.createSR({StudyInstanceUID:A,measurementFilter:t}):r.run("promptSaveReport",{StudyInstanceUID:A,measurementFilter:t})}},M.createElement(Au.Icons.Add,null),o("Create SR")),M.createElement(Au.Button,{size:"sm",variant:"ghost",className:"pl-0.5",onClick:e=>{(e.stopPropagation(),n?.onDelete)?n.onDelete():r.runCommand("clearMeasurements",{measurementFilter:t})}},M.createElement(Au.Icons.Delete,null),o("Delete")))):null}let dH=function(e){return M.createElement("div",null,M.createElement(dM,e),M.createElement(dx,e))},{MeasurementFilters:dL}=R.utils,dN=(e,A,t)=>{let n,r,o=new Map,{activeStudyUID:i}=A,{displaySetService:a}=t.servicesManager.services;return e.filter(e=>e.displaySetInstanceUID).forEach(e=>{let t=a.getDisplaySetByUID(e.displaySetInstanceUID).instances[0].StudyInstanceUID;if(!o.has(t)){let e=[],a=dL.filterAnd(dL.filterMeasurementsByStudyUID(t),A.filter),s={...A,items:e,displayMeasurements:e,key:t,isSelected:t===i,StudyInstanceUID:t,filter:a,measurementFilter:a};s.isSelected&&!n&&(n=s),r||=s,o.set(t,s)}!n&&r&&(r.isSelected=!0),o.get(t).items.push(e)}),o};function dV(e){let{items:A,grouping:t={},children:n}=e,r=(0,R.useActiveViewportDisplaySets)(),o=r?.[0]?.StudyInstanceUID;return M.createElement(dy,{grouping:{name:"groupByStudy",groupingFunction:dN,activeStudyUID:o,...t},items:A,value:[o],sourceChildren:n},M.createElement(dy.Trigger,null,M.createElement(dH,null)),M.createElement(dT,{activeStudyUID:o}))}function dR(e){let{measurementFilter:A,emptyComponent:t,children:n}=e,r=(0,de.d)({measurementFilter:A});return r.length?n?M.Children.map(n,e=>M.cloneElement(e,{items:r,filter:A})):M.createElement(dV,{items:r}):t?M.createElement(t,{items:r}):M.createElement("span",{className:"text-foreground"},"No Measurements")}var d_=T(8191),dk=x.Enums.OrientationAxis;function dP({segmentationService:e,customizationService:A,commandsManager:t}){let n=!1,{unsubscribe:r}=e.subscribeDebounced(e.EVENTS.SEGMENTATION_DATA_MODIFIED,async({segmentationId:r})=>{let o=A.getCustomization("panelSegmentation.disableUpdateSegmentationStats"),i=e.getSegmentation(r);if(!i||o)return;let a=A.getCustomization("panelSegmentation.readableText");for(let e of Object.keys(i.segments).map(e=>parseInt(e)).filter(e=>e>0)){let A=i.segments[e];A?.cachedStats?.namedStats?.bidirectional&&t.runCommand("runSegmentBidirectional",{segmentationId:r,segmentIndex:e})}let s=await sX({segmentation:i,segmentationId:r,readableText:a});!n&&s&&e.addOrUpdateSegmentation({segmentationId:r,segments:s.segments})},1e3);return{unsubscribe:()=>{n=!0,r()}}}function dG({segmentationService:e}){let{unsubscribe:A}=e.subscribe(e.EVENTS.SEGMENTATION_MODIFIED,async({segmentationId:A})=>{let t=e.getSegmentation(A);if(!t)return;let n=H.annotation.state.getAllAnnotations().filter(e=>e.metadata.toolName===H.SegmentBidirectionalTool.toolName),r=Object.keys(t.segments).map(e=>parseInt(e)).filter(e=>e>0);n.filter(e=>e.metadata.segmentationId===A&&!r.includes(e.metadata.segmentIndex)).map(e=>e.annotationUID).forEach(e=>{H.annotation.state.removeAnnotation(e)})});return{unsubscribe:A}}let dK="RTSTRUCT",dj={handleSegmentChange:({direction:e,segmentationId:A,viewportId:t,selectedSegmentObjectIndex:n,segmentationService:r})=>{let{segments:o}=r.getSegmentation(A),i=Object.keys(o).length,a=r.getActiveSegment(t);a&&(n=Object.values(o).findIndex(e=>e.segmentIndex===a.segmentIndex));let s=n+e;s>i-1?s=0:s<0&&(s=i-1);let l=Object.values(o)[s]?.segmentIndex;r.setActiveSegment(A,l),r.jumpToSegmentNext(A,l,void 0,e),n=s},isReferenceViewable:(e,A,t,n)=>{let{cornerstoneViewportService:r,displaySetService:o}=e.services;if(!n)return r.getCornerstoneViewport(A).isReferenceViewable(t,{withNavigation:!0,asVolume:!0});if("stack"===n.viewportType)return o.getDisplaySetByUID(t.displaySetInstanceUID).instances.map(e=>e.imageId).includes(t.referencedImageId);let{orientation:i}=n;return function(e,A){let t=e.getDisplaySetByUID(A).instances[0].ImageOrientationPatient;if(t?.length!==6)return;let n=tO.vec3.fromValues(t[0],t[1],t[2]),r=tO.vec3.fromValues(t[3],t[4],t[5]),o=tO.vec3.cross(tO.vec3.create(),n,r),i={[dk.AXIAL]:tO.vec3.fromValues(0,0,1),[dk.CORONAL]:tO.vec3.fromValues(0,1,0),[dk.SAGITTAL]:tO.vec3.fromValues(1,0,0)},a=0,s="";for(let[e,A]of Object.entries(i)){let t=Math.abs(tO.vec3.dot(o,A));t>a&&(a=t,s=e)}return s}(o,t.displaySetInstanceUID)===i},setupSegmentationDataModifiedHandler:dP,setupSegmentationModifiedHandler:dG,promptHydrationDialog:function({servicesManager:e,viewportId:A,displaySet:t,preHydrateCallbacks:n=[],hydrateCallback:r,type:o}){let{uiViewportDialogService:i,customizationService:a}=e.services,s=e._extensionManager.appConfig,l=s?.measurementTrackingMode==="standard";return new Promise(async function(c,u){var d,g,p,m;let f=("SR"===o?l:!s?.disableConfirmationPrompts)?await (d=i,g=a,p=A,m=o,new Promise(function(e,A){let t=function(e){switch(e){case dK:return"viewportNotification.hydrateRTMessage";case"SEG":return"viewportNotification.hydrateSEGMessage";case"SR":return"viewportNotification.hydrateSRMessage";default:return"viewportNotification.hydrateMessage"}}(m),n=g.getCustomization(t),r=A=>{d.hide(),e(A)};d.show({id:function(e){switch(e){case dK:return"promptHydrateRT";case"SEG":return"promptHydrateSEG";case"SR":return"promptHydrateSR";default:return"promptHydrate"}}(m),viewportId:p,type:"info",message:n,actions:[{id:"no-hydrate",type:"secondary",text:"No",value:0},{id:"yes-hydrate",type:"primary",text:"Yes",value:5}],onSubmit:r,onOutsideClick:()=>{d.hide(),e(0)},onKeyPress:e=>{"Enter"===e.key&&r(5)}})})):5;if(5===f){if(n?.forEach(e=>{e()}),"SEG"===o)window.setTimeout(async()=>{try{let e=await r({segDisplaySet:t,viewportId:A});c(e)}catch(e){u(e)}},0);else if(o===dK)window.setTimeout(async()=>{try{let n=await r({rtDisplaySet:t,viewportId:A,servicesManager:e});c(n)}catch(e){u(e)}},0);else if("SR"===o){let e=await r(t);c({userResponse:f,displaySetInstanceUID:t.displaySetInstanceUID,srSeriesInstanceUID:t.SeriesInstanceUID,viewportId:A,StudyInstanceUID:e?.StudyInstanceUID,SeriesInstanceUIDs:e?.SeriesInstanceUIDs})}}else"SR"===o?c({userResponse:f,displaySetInstanceUID:t.displaySetInstanceUID,srSeriesInstanceUID:t.SeriesInstanceUID,viewportId:A}):c(!1)})},getCenterExtent:s$,createSegmentationForViewport:lo},{Enums:dY}=H,dW=e=>{let{element:A}=e.detail;H.utilities.contours.acceptAutogeneratedInterpolations(A,{})};var dz=T(1752),dJ=T.n(dz);function dX(e){let{group:A,classNames:t}=e,{t:n}=AD("MeasurementTable");if(!A.items?.length)return console.log("No items to iterate",A.items),null;let{items:r}=A,[o]=r,{isSelected:i,isVisible:a}=o,s=(0,R.useSystem)(),l=(e,A,t)=>{let n=r.map(e=>e.uid);s.commandsManager.run(A,{...t,uid:n,displayMeasurements:r,items:r,event:e})},[c,u]=(0,M.useState)(!1);return M.createElement("div",{className:`relative ml-2 inline-flex items-center space-x-1 ${t}`},M.createElement(Au.Button,{size:"icon",variant:"ghost",className:`h-6 w-6 transition-opacity ${i||!a?"opacity-100":"opacity-50 group-hover:opacity-100"}`,"aria-label":n(a?"Hide":"Show"),onClick:e=>{e.stopPropagation(),l(e,["jumpToMeasurement","toggleVisibilityMeasurement"])}},a?M.createElement(Au.Icons.Hide,{className:"h-6 w-6"}):M.createElement(Au.Icons.Show,{className:"h-6 w-6"})),M.createElement(Au.DropdownMenu,{onOpenChange:e=>u(e)},M.createElement(Au.DropdownMenuTrigger,{asChild:!0},M.createElement(Au.Button,{size:"icon",variant:"ghost",className:`h-6 w-6 transition-opacity ${i||c?"opacity-100":"opacity-50 group-hover:opacity-100"}`,"aria-label":"Actions",onClick:e=>e.stopPropagation()},M.createElement(Au.Icons.More,{className:"h-6 w-6"}))),M.createElement(Au.DropdownMenuContent,{align:"end"},M.createElement(Au.DropdownMenuItem,{onClick:e=>l(e,"removeMeasurement")},M.createElement(Au.Icons.Delete,{className:"text-foreground"}),M.createElement("span",{className:"pl-2"},n("Delete"))))))}function dq(){return(dq=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function d$(e){let{group:A,onClick:t=A?.onClick}=this;return t?(console.log("onClickDefault"),e.preventDefault(),e.stopPropagation(),t(e,A),!1):void console.log("No onClick function",A)}function dZ(e){let{marginLeft:A=8,isActive:t=!1,colorHex:n,count:r,text:o,menu:i=null}=e;return M.createElement(Au.AccordionTrigger,{style:{marginLeft:`${A}px`,padding:0},asChild:!0},M.createElement("div",{className:`inline-flex text-base ${t?"bg-popover":"bg-muted"} flex-grow`},M.createElement("button",{onClick:d$.bind(e)},M.createElement("span",{className:`inline-flex rounded-l border-r border-background ${t?"bg-highlight":"bg-muted"}`},void 0!==r?M.createElement("span",{className:"px-2"},r):null,n&&M.createElement(Au.ColorCircle,{colorHex:n})),M.createElement("span",null,o)),i&&M.createElement(i,dq({},e,{classNames:"justify-end flex-grow"})),M.createElement(dh,{className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"})))}function d0(e){let{index:A,item:t}=e;return M.createElement(dZ,{count:A+1,text:t.toolName||t.label||t.title,colorHex:"#f00",isActive:t.isSelected,menu:dX,group:{items:[t],onClick:e.onClick}})}function d1(e){let{items:A}=e,t=(0,R.useSystem)(),n=(e,A)=>{let{items:n}=A;t.commandsManager.run("jumpToMeasurement",{uid:n[0].uid,displayMeasurements:n,group:A})};return M.createElement(Au.Accordion,{type:"multiple",className:"flex-shrink-0 overflow-hidden"},A.map((e,A)=>{let{displayText:t={}}=e;return M.createElement(Au.AccordionItem,{key:`measurementAccordion:${e.uid}`,value:e.uid},M.createElement(d0,{item:e,key:`measurementItem:${e.uid}`,index:A,onClick:n}),M.createElement(Au.AccordionContent,{key:`measurementContent:${e.uid}`},M.createElement("div",{className:"ml-7 px-2 py-2"},M.createElement("div",{className:"text-secondary-foreground flex items-center gap-1 text-base leading-normal"},t.primary?.length>0&&t.primary.map((A,t)=>M.createElement("span",{key:`details:${e.uid}:${t}`},A))))))}))}let d3=(e,A,t)=>{let n=new Map,{displaySetService:r}=t.servicesManager.services,{activeDisplaySetInstanceUID:o}=A;return e.forEach(e=>{let{displaySetInstanceUID:t}=e;if(!n.has(t)){let e=r.getDisplaySetByUID(t);n.set(t,{header:null,isSelected:t==o,...A,items:[],key:t,title:"Series Measurements",displaySet:e})}n.get(t).items.push(e)}),n};function d4(e){let{group:A,isSelected:t,displaySet:n,menu:r}=e,{SeriesNumber:o=1,SeriesDescription:i}=n;return M.createElement(dZ,{text:`Series #${o} ${i}`,count:A.items.length,isActive:t,group:A,menu:r,marginLeft:"0"})}function d2(e){let{items:A,grouping:t={},children:n}=e,r=(0,R.useSystem)(),o=(0,R.useActiveViewportDisplaySets)(r),i=o?.[0]?.displaySetInstanceUID;return M.createElement(dy,{grouping:{groupingFunction:d3,activeDisplaySetInstanceUID:i,...t,onClick:(e,A)=>{let{items:t}=A;r.commandsManager.run("jumpToMeasurement",{uid:t[0].uid,displayMeasurements:t,group:A})}},items:A,sourceChildren:n},M.createElement(dy.Trigger,{asChild:!0},M.createElement(d4,{menu:dX})),M.createElement(d1,null))}function d6(){return(d6=Object.assign?Object.assign.bind():function(e){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}let{imageRetrieveMetadataProvider:d9}=x.utilities,d8=M.lazy(()=>Promise.resolve().then(T.bind(T,7332))),d5=e=>M.createElement(M.Suspense,{fallback:M.createElement("div",null,"Loading...")},M.createElement(d8,e)),d7={retrieveOptions:{single:{streaming:!0,decodeLevel:1}}},ge=[],gA={id:uq,onModeEnter:({servicesManager:e,commandsManager:A,extensionManager:t})=>{let{cornerstoneViewportService:n,toolbarService:r,segmentationService:o}=e.services,{unsubscriptions:i}=(({servicesManager:e,commandsManager:A})=>{let{segmentationService:t,customizationService:n,displaySetService:r,viewportGridService:o}=e.services,{unsubscribe:i}=dP({segmentationService:t,customizationService:n,commandsManager:A}),{unsubscribe:a}=dG({segmentationService:t}),{unsubscribe:s}=t.subscribe(t.EVENTS.SEGMENTATION_ADDED,e=>{let{segmentationId:A}=e;if(r.getDisplaySetByUID(A))return;let n=t.getSegmentation(A),o=n.label,i=n.representationData?.Labelmap?.imageIds??n.representationData?.Contour?.imageIds,a={displaySetInstanceUID:A,SOPClassUID:"1.2.840.10008.5.1.4.1.1.66.4",SOPClassHandlerId:"@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg",SeriesDescription:o,Modality:n.representationData[H.Enums.SegmentationRepresentations.Contour]?"RTSTRUCT":"SEG",numImageFrames:i.length,imageIds:i,isOverlayDisplaySet:!0,label:o,madeInClient:!0,segmentationId:A,isDerived:!0};r.addDisplaySets(a)}),{unsubscribe:l}=t.subscribe(t.EVENTS.SEGMENTATION_REMOVED,({segmentationId:e})=>{let t=r.getDisplaySetByUID(e);if(t){for(let[t,n]of o.getState().viewports.entries())(n.displaySetInstanceUIDs||[]).includes(e)&&A.runCommand("removeDisplaySetLayer",{viewportId:t,displaySetInstanceUID:e});t.madeInClient&&r.deleteDisplaySet(e)}}),{unsubscribeSelectedSegmentationsForViewportEvents:c}=function({segmentationService:e}){return{unsubscribeSelectedSegmentationsForViewportEvents:[e.EVENTS.SEGMENTATION_MODIFIED,e.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED].map(A=>e.subscribe(A,A=>{let{viewportId:t}=A;if(!t)return;let{selectedSegmentationsForViewport:n,setSelectedSegmentationsForViewport:r}=tN.getState(),o=e.getSegmentationRepresentations(t).find(e=>e.active),i=n[t]??new Map;o?i.set(o.type,o.segmentationId):i.clear(),r(t,i)})).map(e=>e.unsubscribe)}}({segmentationService:t});return{unsubscriptions:[i,a,s,l,...c]}})({servicesManager:e,commandsManager:A});ge.push(...i);let a=(x.eventTarget.addEventListener(dY.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,dW),[()=>{x.eventTarget.removeEventListener(dY.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,dW)}]);ge.push(...a),r.registerEventForToolbarUpdate(n,[n.EVENTS.VIEWPORT_DATA_CHANGED]),r.registerEventForToolbarUpdate(o,[o.EVENTS.SEGMENTATION_REMOVED,o.EVENTS.SEGMENTATION_MODIFIED,o.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED]),r.registerEventForToolbarUpdate(x.eventTarget,[H.Enums.Events.TOOL_ACTIVATED]),d9.clear(),d9.add("volume",x.ProgressiveRetrieveImages.interleavedRetrieveStages);let s=(t?.getActiveDataSource?.()?.[0]?.getConfig?.()??{}).stackRetrieveOptions??{},l=dJ()(d7,null!=s&&"object"==typeof s&&Object.keys(s).some(e=>e.startsWith("$"))?s:{$merge:s??{}});d9.add("stack",l)},getPanelModule:({commandsManager:e,servicesManager:A,extensionManager:t})=>{let{toolbarService:n}=A.services,r={[AA.SegmentationRepresentations.Labelmap]:n.sections.labelMapSegmentationToolbox,[AA.SegmentationRepresentations.Contour]:n.sections.contourSegmentationToolbox},o=n=>{let{t:o}=AD("SegmentationPanel"),i=o(`${n.segmentationRepresentationTypes?.[0]??"Segmentation"} tools`);return M.createElement(M.Fragment,null,M.createElement(J.Toolbox,{buttonSectionId:r[n.segmentationRepresentationTypes?.[0]],title:i}),M.createElement(dn,{commandsManager:e,servicesManager:A,extensionManager:t,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes}))};return[{name:"activeViewportWindowLevel",component:()=>M.createElement(dm,{servicesManager:A})},{name:"panelMeasurement",iconName:"tab-linear",iconLabel:"Measure",label:"Measurement",component:dR},{name:"panelSegmentation",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>M.createElement(dn,{commandsManager:e,servicesManager:A,extensionManager:t,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationNoHeader",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>M.createElement(dn,{commandsManager:e,servicesManager:A,extensionManager:t,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationWithToolsLabelMap",iconName:"tab-segmentation",iconLabel:"Segmentation",label:lr().t("SegmentationPanel:Labelmap"),component:e=>o({...e,segmentationRepresentationTypes:[AA.SegmentationRepresentations.Labelmap,AA.SegmentationRepresentations.Surface]})},{name:"panelSegmentationWithToolsContour",iconName:"tab-contours",iconLabel:"Segmentation",label:lr().t("SegmentationPanel:Contour"),component:e=>o({...e,segmentationRepresentationTypes:[AA.SegmentationRepresentations.Contour]})}]},onModeExit:({servicesManager:e})=>{ge.forEach(e=>e()),ge.length=0;let{cineService:A,segmentationService:t}=e.services;Object.values(x.Enums.RequestType).forEach(e=>{x.imageLoadPoolManager.clearRequestStack(e),x.imageRetrievalPoolManager.clearRequestStack(e)}),A.setIsCineEnabled(!1),(0,X.cL)(),At.I.getState().clearLutPresentationStore(),An.q.getState().clearPositionPresentationStore(),tH.U.getState().clearSynchronizersStore(),J.useToggleOneUpViewportGridStore.getState().clearToggleOneUpViewportGridStore(),Ar.v.getState().clearSegmentationPresentationStore(),tN.getState().clearSelectedSegmentationsForViewportStore(),e.services.viewedDataService?.clearViewedData(),t.removeAllSegmentations()},preRegistration:async function(e){let{servicesManager:A}=e;A.registerService(uF.REGISTRATION),A.registerService(c3.REGISTRATION),A.registerService(uA.REGISTRATION),A.registerService(um.REGISTRATION),A.registerService(uh.REGISTRATION),A.registerService(uT.REGISTRATION),A.registerService(uO.REGISTRATION);let{syncGroupService:t}=A.services;t.registerCustomSynchronizer("frameview",uZ),await Aa.call(this,e)},getToolbarModule:function({servicesManager:e,extensionManager:A}){let{toolGroupService:t,toolbarService:n,syncGroupService:r,cornerstoneViewportService:o,colorbarService:i,displaySetService:a,viewportGridService:s,segmentationService:l}=e.services;return[{name:"ohif.advancedRenderingControls",defaultComponent:c$},{name:"evaluate.advancedRenderingControls",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!i?.hasColorbar(e)}:{disabled:!0}},{name:"ohif.colorbar",defaultComponent:cW},{name:"ohif.trackingStatus",defaultComponent:cG},{name:"evaluate.trackingStatus",evaluate:({viewportId:e})=>{let A=s.getDisplaySetsUIDsForViewport(e);return A?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.modalityLoadBadge",defaultComponent:c_},{name:"evaluate.modalityLoadBadge",evaluate:({viewportId:e})=>{let A=s.getDisplaySetsUIDsForViewport(e);return A?.length?{disabled:!A.map(e=>a.getDisplaySetByUID(e)).some(e=>e?.Modality==="SR"||e?.Modality==="SEG"||e?.Modality==="RTSTRUCT")}:{disabled:!0}}},{name:"ohif.navigationComponent",defaultComponent:cP},{name:"evaluate.navigationComponent",evaluate:({viewportId:A})=>{let{trackedMeasurementsService:t}=e.services,n=s.getDisplaySetsUIDsForViewport(A);if(!n?.length)return{disabled:!0};let r=n.map(e=>a.getDisplaySetByUID(e)),o=l.getSegmentationRepresentations(A).length>0;if(!t)return{disabled:!o};let i=r.some(e=>e?.SeriesInstanceUID&&t.isSeriesTracked(e.SeriesInstanceUID)),c=r.some(e=>e?.Modality==="SR");return{disabled:!(o||i||c)}}},{name:"ohif.dataOverlayMenu",defaultComponent:cs},{name:"evaluate.dataOverlayMenu",evaluate:({viewportId:e})=>{if(!o.getCornerstoneViewport(e))return{disabled:!0};let A=s.getDisplaySetsUIDsForViewport(e);return A?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.orientationMenu",defaultComponent:cd},{name:"evaluate.orientationMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:s.getDisplaySetsUIDsForViewport(e).map(a.getDisplaySetByUID).some(e=>!e?.isReconstructable)}:{disabled:!0}},{name:"ohif.windowLevelMenu",defaultComponent:cb},{name:"ohif.voiManualControlMenu",defaultComponent:cO},{name:"ohif.windowLevelMenuEmbedded",defaultComponent:cb},{name:"evaluate.windowLevelMenuEmbedded",evaluate:()=>({isEmbedded:!0})},{name:"ohif.thresholdMenu",defaultComponent:cH},{name:"ohif.opacityMenu",defaultComponent:cV},{name:"evaluate.windowLevelMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!s.getDisplaySetsUIDsForViewport(e).map(a.getDisplaySetByUID).some(e=>e?.supportsWindowLevel),hasEmbeddedVariantToUse:!!n.isInAnySection("windowLevelMenuEmbedded")}:{disabled:!0}},{name:"evaluate.voiManualControlMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!s.getDisplaySetsUIDsForViewport(e).map(a.getDisplaySetByUID).some(e=>e?.supportsWindowLevel)}:{disabled:!0}},{name:"evaluate.thresholdMenu",evaluate:({viewportId:e})=>{let A=o.getCornerstoneViewport(e);return A&&"orthographic"===A.type&&s.getDisplaySetsUIDsForViewport(e).length?{disabled:!1}:{disabled:!0}}},{name:"evaluate.opacityMenu",evaluate:({viewportId:e})=>{let A=o.getCornerstoneViewport(e);if(!A||"orthographic"!==A.type)return{disabled:!0};let t=s.getDisplaySetsUIDsForViewport(e);return t.length<=1?{disabled:!0}:{disabled:t.map(a.getDisplaySetByUID).some(e=>e?.isOverlayDisplaySet)}}},{name:"evaluate.viewport.supported",evaluate:({viewportId:e,unsupportedViewportTypes:A,disabledText:t})=>{let n=o.getCornerstoneViewport(e);if(n&&A?.includes(n.type))return cZ(t)}},{name:"evaluate.modality.supported",evaluate:({viewportId:e,unsupportedModalities:A,supportedModalities:t,disabledText:n})=>{let r=s.getDisplaySetsUIDsForViewport(e);if(!r?.length)return;let o=r.map(a.getDisplaySetByUID);return A?.length&&o.some(e=>A.includes(e?.Modality))?cZ(n):t?.length&&!o.some(e=>t.includes(e?.Modality))?cZ(n||lr().t("Buttons:Tool not available for this modality")):void 0}},{name:"evaluate.cornerstoneTool",evaluate:({viewportId:e,button:A,toolNames:r,disabledText:o})=>{let i=t.getToolGroupForViewport(e);if(!i)return;let a=n.getToolNameForButton(A);return i&&(i.hasTool(a)||r)?{disabled:!1,isActive:r?r.includes(i.getActivePrimaryMouseButtonTool()):i.getActivePrimaryMouseButtonTool()===a}:cZ(o)}},{name:"evaluate.cornerstoneTool.toggleWithModifier",evaluate:({viewportId:e,button:A,disabledText:r,toggledOnIcon:o,defaultIcon:i})=>{let a=t.getToolGroupForViewport(e);if(!a)return;let s=n.getToolNameForButton(A);if(!a.hasTool(s))return cZ(r);let{mode:l}=a.getToolOptions(s)??{},c=l===H.Enums.ToolModes.Passive||l===H.Enums.ToolModes.Active||l===H.Enums.ToolModes.Enabled,u=t.getToolBindings(a.id,s),d=u?.some(e=>null!=e.modifierKey)??!1;return{disabled:!1,isActive:!1,isToggled:c,icon:c&&d&&o?o:i??A.props.icon}}},{name:"evaluate.action",evaluate:()=>({disabled:!1})},{name:"evaluate.cornerstoneTool.toggle.ifStrictlyDisabled",evaluate:({viewportId:e,button:A,disabledText:r})=>c0({viewportId:e,button:A,toolbarService:n,disabledText:r,offModes:[H.Enums.ToolModes.Disabled],toolGroupService:t})},{name:"evaluate.cornerstoneTool.toggle",evaluate:({viewportId:e,button:A,disabledText:r})=>c0({viewportId:e,button:A,toolbarService:n,disabledText:r,offModes:[H.Enums.ToolModes.Disabled,H.Enums.ToolModes.Passive],toolGroupService:t})},{name:"evaluate.cornerstone.synchronizer",evaluate:({viewportId:e,button:A})=>{let t=r.getSynchronizersForViewport(e);if(!t?.length||t.length<=1)return{className:Au.utils.getToggledClassName(!1)};let n=Array.isArray(A.props?.commands)?A.props?.commands?.[0].commandOptions.type:A.props?.commands?.commandOptions.type;if(t=r.getSynchronizersOfType(n),!t?.length)return{className:Au.utils.getToggledClassName(!1)};let o=t[0],i=o?._enabled;return{className:Au.utils.getToggledClassName(i)}}},{name:"evaluate.viewportProperties.toggle",evaluate:({viewportId:e,button:A})=>{let t=o.getCornerstoneViewport(e);if(!t||t.isDisabled)return;let n=A.id,r=t.getProperties(),i=t.getCamera(),a=i?.[n]||r?.[n];return a?{className:Au.utils.getToggledClassName(a)}:{disabled:!1}}},{name:"evaluate.displaySetIsReconstructable",evaluate:({viewportId:e,disabledText:A="Selected viewport is not reconstructable"})=>o.getCornerstoneViewport(e)?s.getDisplaySetsUIDsForViewport(e).map(a.getDisplaySetByUID).every(e=>e?.isReconstructable)?{disabled:!1}:cZ(A):void 0}]},getHangingProtocolModule:function(){return[{name:l6.id,protocol:l6},{name:l5.id,protocol:l5},{name:l9.id,protocol:l9},{name:l8.id,protocol:l8},{name:cA.id,protocol:cA},{name:l7.id,protocol:l7},{name:ce.id,protocol:ce},{name:ct.id,protocol:ct}]},getViewportModule:({servicesManager:e,commandsManager:A})=>[{name:"cornerstone",component:t=>{let{toolbarService:n}=e.services;return M.createElement(d5,d6({},t,{toolbarService:n,servicesManager:e,commandsManager:A}))},isReferenceViewable:dj.isReferenceViewable.bind(null,e)}],getCommandsModule:function({servicesManager:e,commandsManager:A,extensionManager:t}){let{viewportGridService:n,toolbarService:r,toolGroupService:o,cineService:i,uiDialogService:a,cornerstoneViewportService:s,uiNotificationService:l,measurementService:c,customizationService:u,colorbarService:d,hangingProtocolService:g,syncGroupService:p,segmentationService:m,displaySetService:f}=e.services;function h(){return $(n)}function w(){let e=h(),A=e&&o.getToolGroupForViewport(e.id);return A?.id}function B(e){return!e?.length||e.some(e=>e.mouseButton===H.Enums.MouseBindings.Primary&&null==e.modifierKey&&null==e.numTouchPoints)}function y(){let e=n.getActiveViewportId(),A=m.getActiveSegmentation(e);return{segmentationId:A?.segmentationId,segmentIndex:m.getActiveSegment(e).segmentIndex}}function v(e){let A=o.getToolGroupIds();if(A?.length)for(let t of A){let A=lg.getBrushSizeForToolGroup(t),n="increase"===e?A+3:A-3;A&&(lg.setBrushSizeForToolGroup(t,n),r.refreshToolbarState({toolGroupId:t}))}}let C=A=>({type:t,value:n})=>{let{segmentationService:r}=e.services;t?r.setStyle({type:t},{[A]:n}):(r.setStyle({type:AA.SegmentationRepresentations.Labelmap},{[A]:n}),r.setStyle({type:AA.SegmentationRepresentations.Contour},{[A]:n}))},E={jumpToMeasurementViewport:({annotationUID:e,measurement:t})=>{H.annotation.selection.setAnnotationSelected(e,!0);let{metadata:r}=t,o=n.getActiveViewportId(),i=s.findNavigationCompatibleViewportId(o,r);if(i){let e=s.getCornerstoneViewport(i);if(e.setViewReference(r),e.render(),!((e,A)=>{let{focalPoint:t,parallelScale:n}=e.getCamera(),{extent:r}=s$(A),{min:o,max:i}=r;for(let e=0;e<3;e++){let A=Math.abs(o[e]-t[e]),r=Math.abs(i[e]-t[e]);if(A>n||r>n)return!1}return!0})(e,t)){let A=e.getCamera(),{focalPoint:n,position:r}=A,{center:o,extent:i}=s$(t),a=tO.vec3.sub(tO.vec3.create(),r,n);tO.vec3.add(a,a,o),e.setCamera({focalPoint:o,position:a});let s=tO.vec3.dist(i.min,i.max);if(s>A.parallelScale){let t=s/A.parallelScale;e.setZoom(e.getZoom()/t)}e.render()}return}let{displaySetInstanceUID:a}=t;if(!a)return void console.warn("ViewportGrid::No display set found in",t);let l=s.findUpdateableViewportConfiguration(o,t);if(!l)return void console.warn("Unable to find a viewport to show this in");let c=g.getViewportsRequireUpdate(l.viewportId,a);c?.[0]?(c[0].viewportOptions=l.viewportOptions,A.run("updateStoredPositionPresentation",{viewportId:l.viewportId,displaySetInstanceUIDs:[a],referencedImageId:t.referencedImageId,options:{...t.metadata}}),A.run("setDisplaySetsForViewports",{viewportsToUpdate:c})):console.warn("ViewportGrid::Unable to navigate to viewport containing",a)},hydrateSecondaryDisplaySet:async({displaySet:e,viewportId:t})=>{if(!e)return;let r=s.getCornerstoneViewport(t);if(!r)return;if(e.isOverlayDisplaySet){let t="SEG"!==e.Modality?AA.SegmentationRepresentations.Contour:(0,eo.Ov)(r)?AA.SegmentationRepresentations.Surface:AA.SegmentationRepresentations.Labelmap;A.runCommand("updateStoredSegmentationPresentation",{displaySet:e,type:t})}let o=e.referencedDisplaySetInstanceUID,i=e=>{A.runCommand("updateStoredPositionPresentation",{viewportId:t,displaySetInstanceUIDs:[e.displaySetInstanceUID]})};if("SEG"===e.Modality||"RTSTRUCT"===e.Modality){let n=f.getDisplaySetByUID(o);i(n);let r=A.runCommand("loadSegmentationDisplaySetsForViewport",{viewportId:t,displaySetInstanceUIDs:[n.displaySetInstanceUID]});return u.getCustomization("panelSegmentation.disableEditing")&&m.getSegmentationRepresentations(t,{segmentationId:e.displaySetInstanceUID}).forEach(e=>{Object.keys(e.segments).forEach(A=>{m.setSegmentLocked(e.segmentationId,parseInt(A),!0)})}),r}if("SR"===e.Modality){let t=A.runCommand("hydrateStructuredReport",{displaySetInstanceUID:e.displaySetInstanceUID}),{SeriesInstanceUIDs:r}=t,o=f.getDisplaySetsForSeries(r[0]);return o.forEach(i),o.length&&E.setDisplaySetsForViewports({viewportsToUpdate:[{viewportId:n.getActiveViewportId(),displaySetInstanceUIDs:[o[0].displaySetInstanceUID]}]}),t}},runSegmentBidirectional:async({segmentationId:e,segmentIndex:t}={})=>{let{segmentationId:r,segmentIndex:o}=e&&t?{segmentationId:e,segmentIndex:t}:y();if(!H.utilities.segmentation.getUniqueSegmentIndices(r).includes(o))return void l.show({title:lr().t("SegmentationPanel:Segment Bidirectional"),message:lr().t("SegmentationPanel:Draw a segment before using bidirectional measurement"),type:"warning"});let i=await H.utilities.segmentation.getSegmentLargestBidirectional({segmentationId:r,segmentIndices:[o]});if(!i.length)return;let a=n.getActiveViewportId();i.forEach(e=>{let{segmentIndex:A,majorAxis:t,minorAxis:n}=e,i=H.SegmentBidirectionalTool.hydrate(a,[t,n],{segmentIndex:A,segmentationId:r});e.annotationUID=i.annotationUID;let s=function({segmentationId:e,segmentIndex:A,bidirectionalData:t,segmentationService:n,annotation:r}){if(!e||void 0===A||!t)return console.debug("Missing required data for bidirectional stats update"),null;let o=n.getSegmentation(e);if(!o||!o.segments[A])return console.debug("Segment not found:",A,"in segmentation:",e),null;let i={...o},a=i.segments[A];a.cachedStats||(a.cachedStats={namedStats:{}}),a.cachedStats.namedStats||(a.cachedStats.namedStats={});let{majorAxis:s,minorAxis:l,maxMajor:c,maxMinor:u}=t;if(!s||!l)return console.debug("Missing major or minor axis data"),null;let d=!1,g=a.cachedStats.namedStats;return(c>0&&u>0&&(g.bidirectional={name:"bidirectional",label:"Bidirectional",annotationUID:r.annotationUID,value:{maxMajor:c,maxMinor:u,majorAxis:s,minorAxis:l},unit:"mm"},d=!0),d)?i:null}({segmentationId:r,segmentIndex:o,bidirectionalData:e,segmentationService:m,annotation:i});s&&m.addOrUpdateSegmentation({segmentationId:r,segments:s.segments})});let s=i.find(e=>e.segmentIndex===o);A.run("jumpToMeasurement",{uid:s?.annotationUID})},interpolateLabelmap:()=>{let{segmentationId:e,segmentIndex:A}=y();tT.interpolate({segmentationId:e,segmentIndex:A})},showCornerstoneContextMenu:e=>{let t=h()?.viewport?.element,n={...e,element:t},{useSelectedAnnotation:r,nearbyToolData:o,event:i}=n;if(r&&!o){let e=ef(t);if(!(!n.allowedSelectedTools||n.allowedSelectedTools.includes(e?.metadata?.toolName)))return;n.nearbyToolData=e}n.defaultPointsPosition=[],n.selectorProps={toolName:n.nearbyToolData?.metadata?.toolName,value:n.nearbyToolData,uid:n.nearbyToolData?.annotationUID,nearbyToolData:n.nearbyToolData,event:i,...n.selectorProps},A.run(e,n)},updateStoredSegmentationPresentation:({displaySet:e,type:A})=>{let{addSegmentationPresentationItem:t}=Ar.v.getState();t(e.referencedDisplaySetInstanceUID,{segmentationId:e.displaySetInstanceUID,hydrated:!0,type:A})},updateStoredPositionPresentation:({viewportId:e,displaySetInstanceUIDs:A,referencedImageId:t,options:n})=>{let r,o=s.getPresentations(e),{positionPresentationStore:i,setPositionPresentation:a,getPositionPresentationId:l}=An.q.getState();A&&Array.isArray(A)&&A.length>0&&(r=Object.entries(i).find(([t,n])=>A.every(e=>t.includes(e))&&n?.viewportId===e)?.[0]);let c=t||n?.FrameOfReferenceUID?{...o.positionPresentation,viewReference:{referencedImageId:t,...n}}:o.positionPresentation;a(r?r:l({displaySetInstanceUIDs:A,viewportId:e}),c)},getNearbyToolData:({nearbyToolData:e,element:A,canvasCoordinates:t})=>e??H.utilities.getAnnotationNearPoint(A,t),getNearbyAnnotation({element:e,canvasCoordinates:A}){let t=E.getNearbyToolData({nearbyToolData:null,element:e,canvasCoordinates:A});return t?.metadata?.toolName&&(A=>{let t=(0,x.getEnabledElement)(e);if(!t)return;let{renderingEngineId:n,viewportId:r}=t,o=H.ToolGroupManager.getToolGroupForViewport(r,n).getToolInstance(A);return o?.constructor?.isAnnotation??!0})(t.metadata.toolName)?t:null},_handleMeasurementLabelDialog:async e=>{let A=u.getCustomization("measurementLabels"),t=u.getCustomization("ui.labellingComponent"),n=c.getMeasurement(e);if(!n)return void console.debug("No measurement found for label editing");if(!A){let A=await (0,J.callInputDialog)({uiDialogService:a,title:lr().t("Tools:Edit Measurement Label"),placeholder:n.label||lr().t("Tools:Enter new label"),defaultValue:n.label});null!=A&&c.update(e,{...n,label:A},!0);return}let r=await (0,J.callInputDialogAutoComplete)({measurement:n,uiDialogService:a,labelConfig:A,renderContent:t});null!=r&&c.update(e,{...n,label:r},!0)},setMeasurementLabel:async({uid:e})=>{await E._handleMeasurementLabelDialog(e)},renameMeasurement:async({uid:e})=>{await E._handleMeasurementLabelDialog(e)},updateMeasurement:e=>{let{code:A,uid:t,textLabel:n,label:r}=e,{style:o}=e,i=c.getMeasurement(t);if(!i)return void console.warn("No measurement found to update",t);let a={...i};if(void 0!==n&&(a.label=n),void 0!==A){let e=A.type||"finding";if(A.ref&&!A.CodeValue){let e=A.ref.indexOf(":");A.CodeValue=A.ref.substring(e+1),A.CodeMeaning=A.text||r,A.CodingSchemeDesignator=A.ref.substring(0,e)}a[e]=A,"finding"!==e&&(a.findingSites?(a.findingSites=a.findingSites.filter(A=>A.type!==e),a.findingSites.push(A)):a.findingSites=[A])}o||=a.finding?.style,(o||=a.findingSites?.find(e=>e?.style)?.style)&&(o.lineDashSelected||=o.lineDash,H.annotation.config.style.setAnnotationStyles(i.uid,o),i.toolName===es.PlanarFreehandROI&&(H.annotation.state.getAnnotation(i.uid).data.isOpenUShapeContour=!!o.isOpenUShapeContour)),c.update(a.uid,a,!0)},jumpToMeasurement:({uid:e,displayMeasurements:A=[]})=>{if(e)for(let t of(c.jumpToMeasurement(n.getActiveViewportId(),e),A))t.isActive=t.uid===e},removeMeasurement:({uid:e})=>{Array.isArray(e)?c.removeMany(e):c.remove(e)},toggleLockMeasurement:({uid:e})=>{c.toggleLockMeasurement(e)},toggleVisibilityMeasurement:({uid:e,items:A,visibility:t})=>{void 0===t&&A?.length&&(t=!A[0].isVisible),Array.isArray(e)?c.toggleVisibilityMeasurementMany(e,t):c.toggleVisibilityMeasurement(e,t)},downloadCSVMeasurementsReport:({measurementFilter:e})=>{R.utils.downloadCSVReport(c.getMeasurements(e))},downloadCSVSegmentationReport:({segmentationId:e})=>{let A=m.getSegmentation(e),{representationData:t}=A,{Labelmap:n}=t,{referencedImageIds:r}=n,o=r[0],{SeriesNumber:i,SeriesInstanceUID:a,StudyInstanceUID:s,SeriesDate:l,SeriesTime:c,SeriesDescription:u}=f.getActiveDisplaySets().find(e=>e.imageIds?.some(e=>e===o));!function(e,A){let t=[];t.push(["Segmentation ID",e.segmentationId||""]),t.push(["Segmentation Label",e.label||""]),t.push([]);let n=A.reference;if([["Series Number",n.SeriesNumber],["Series Instance UID",n.SeriesInstanceUID],["Study Instance UID",n.StudyInstanceUID],["Series Date",n.SeriesDate],["Series Time",n.SeriesTime],["Series Description",n.SeriesDescription]].forEach(([e,A])=>{A&&t.push([`reference ${e}`,A])}),t.push([]),t.push(["Segments Statistics"]),e.segments){let A=["Label"];for(let t in e.segments){let n=e.segments[t];A.push(`${n.label||""}`)}t.push(A),t.push(["Segment Index",...Object.values(e.segments).map(e=>e.segmentIndex||"")]),t.push(["Locked",...Object.values(e.segments).map(e=>e.locked?"Yes":"No")]),t.push(["Active",...Object.values(e.segments).map(e=>e.active?"Yes":"No")]);let n=new Set;for(let A of Object.values(e.segments))if(A.cachedStats&&A.cachedStats.namedStats)for(let e in A.cachedStats.namedStats){let t=A.cachedStats.namedStats[e],r=t.label||t.name,o=t.unit?` (${t.unit})`:"";n.add(`${r}${o}`)}for(let A of n){let n=[A];for(let t of Object.values(e.segments)){let e="";if(t.cachedStats&&t.cachedStats.namedStats)for(let n in t.cachedStats.namedStats){let r=t.cachedStats.namedStats[n];if(`${r.label||r.name}${r.unit?` (${r.unit})`:""}`===A){e=void 0!==r.value?r.value:"";break}}n.push(e)}t.push(n)}}let r="";for(let e of t)r+=e.map(e=>{let A=null!=e?e.toString():"";return A.includes(",")||A.includes('"')||A.includes("\n")?'"'+A.replace(/"/g,'""')+'"':A}).join(",")+"\n";sq(r,{filename:`${e.label||"Segmentation"}_Report_${new Date().toISOString().split("T")[0]}.csv`})}(A,{reference:{SeriesNumber:i,SeriesInstanceUID:a,StudyInstanceUID:s,SeriesDate:l,SeriesTime:c,SeriesDescription:u}})},getActiveViewportEnabledElement:h,setViewportActive:({viewportId:e})=>{s.getViewportInfo(e)?n.setActiveViewportId(e):console.warn("No viewport found for viewportId:",e)},arrowTextCallback:async({callback:e,data:A})=>{let t=u.getCustomization("measurementLabels"),n=u.getCustomization("ui.labellingComponent");if(!t){let t=await (0,J.callInputDialog)({uiDialogService:a,title:lr().t("Tools:Edit Arrow Text"),placeholder:A?.data?.label||lr().t("Tools:Enter new text"),defaultValue:A?.data?.label||""});e?.(t);return}let r=await (0,J.callInputDialogAutoComplete)({uiDialogService:a,labelConfig:t,renderContent:n});e?.(r)},toggleCine:()=>{let{viewports:e}=n.getState(),{isCineEnabled:A}=i.getState();i.setIsCineEnabled(!A),e.forEach((e,A)=>i.setCine({id:A,isPlaying:!1}))},setViewportWindowLevel({viewportId:e,windowWidth:A,windowCenter:t,displaySetInstanceUID:n}){let r=Number(A),o=Number(t),i=s.getRenderingEngine().getViewport(e),{lower:a,upper:l}=x.utilities.windowLevel.toLowHighRange(r,o);if((0,eo.rX)(i)){let A=E.getVolumeIdForDisplaySet({viewportId:e,displaySetInstanceUID:n});i.setProperties({voiRange:{upper:l,lower:a}},A)}else i.setProperties({voiRange:{upper:l,lower:a}});i.render()},toggleViewportColorbar:({viewportId:e,displaySetInstanceUIDs:A,options:t={}})=>{d.hasColorbar(e)?d.removeColorbar(e):d.addColorbar(e,A,t)},setWindowLevel(e){let{toolGroupId:A}=e,{viewportId:t}=h(),n=o.getToolGroupForViewport(t);A&&A!==n||E.setViewportWindowLevel({...e,viewportId:t})},setWindowLevelPreset:({presetName:e,presetIndex:A})=>{let t=u.getCustomization("cornerstone.windowLevelPresets"),r=n.getActiveViewportId(),o=s.getCornerstoneViewport(r).getImageData().metadata.Modality;if(!o)return;let i=t[o];if(!i)return;let a=i[e]??Object.values(i)[A];E.setViewportWindowLevel({viewportId:r,windowWidth:a.window,windowCenter:a.level})},getVolumeIdForDisplaySet:({viewportId:e,displaySetInstanceUID:A})=>{let t=s.getCornerstoneViewport(e);return x.utilities.viewportSupportsVolumeId(t)?t.getAllVolumeIds().find(e=>e.includes(A)):null},setToolEnabled:({toolName:e,toggle:A,toolGroupId:t})=>{let{viewports:r}=n.getState();if(!r.size)return;let i=o.getToolGroup(t??null);if(!i||!i.hasTool(e))return;let a=i.getToolOptions(e).mode===H.Enums.ToolModes.Enabled;A&&a?i.setToolDisabled(e):i.setToolEnabled(e),s.getRenderingEngine().render()},toggleEnabledDisabledToolbar({value:e,itemId:A,toolGroupId:t}){let n=A||e;t=t??w();let r=o.getToolGroup(t);r&&r.hasTool(n)&&(r.getToolOptions(n).mode===H.Enums.ToolModes.Enabled?r.setToolDisabled(n):r.setToolEnabled(n))},toggleActiveDisabledToolbar({value:e,itemId:A,toolGroupId:t,toolGroupIds:n}){let r=A||e;(n?.length?n:[t??w()]).forEach(e=>{let A=o.getToolGroup(e);if(!A||!A.hasTool(r))return;if([H.Enums.ToolModes.Active,H.Enums.ToolModes.Enabled,H.Enums.ToolModes.Passive].includes(A.getToolOptions(r).mode)){if(A.setToolDisabled(r),B(o.getToolBindings(e,r))){let t=A.getPrevActivePrimaryToolName();t!==r&&E.setToolActive({toolName:t,toolGroupId:e})}return}let t=o.getToolBindings(e,r);B(t)?E.setToolActive({toolName:r,toolGroupId:e,bindings:t}):A.setToolActive(r,{bindings:t})})},setToolActiveToolbar:({value:e,itemId:A,toolName:t,toolGroupIds:n=[],bindings:r})=>{t=t||A||e,(n=n.length?n:o.getToolGroupIds()).forEach(e=>{E.setToolActive({toolName:t,toolGroupId:e,bindings:r})})},setToolActive:({toolName:e,toolGroupId:A=null,bindings:t=[{mouseButton:H.Enums.MouseBindings.Primary}]})=>{let{viewports:r}=n.getState();if(!r.size)return;let i=o.getToolGroup(A);if(!i||!i?.hasTool(e))return;let a=i.getActivePrimaryMouseButtonTool();if(a){let e=i.getToolConfiguration(a);e?.disableOnPassive?i.setToolDisabled(a):i.setToolPassive(a)}i.setToolActive(e,{bindings:t})},showDownloadViewportModal:()=>{let{activeViewportId:A}=n.getState();if(!s.getCornerstoneViewport(A))return void l.show({title:lr().t("Tools:Download Image"),message:lr().t("Tools:Image cannot be downloaded"),type:"error"});let{uiModalService:t}=e.services;t&&t.show({content:sW,title:lr().t("Tools:Download High Quality Image"),contentProps:{activeViewportId:A,cornerstoneViewportService:s},containerClassName:"max-w-4xl p-4"})},rotateViewportBy:({rotation:e,viewportId:A})=>{E._rotateViewport({rotation:e,viewportId:A,rotationMode:"apply"})},setViewportRotation:({rotation:e,viewportId:A})=>{E._rotateViewport({rotation:e,viewportId:A,rotationMode:"set"})},flipViewportHorizontal:({viewportId:e,newValue:A="toggle"})=>{let t,n=e?q(e):h();if(!n)return;let{viewport:r}=n;if("toggle"===A){let{flipHorizontal:e}=r.getCamera();t=!e}else t=A;r.setCamera({flipHorizontal:t}),r.render()},flipViewportVertical:({viewportId:e,newValue:A="toggle"})=>{let t,n=e?q(e):h();if(!n)return;let{viewport:r}=n;if("toggle"===A){let{flipVertical:e}=r.getCamera();t=!e}else t=A;r.setCamera({flipVertical:t}),r.render()},invertViewport:({element:e})=>{let A;if(!(A=void 0===e?h():e))return;let{viewport:t}=A,{invert:n}=t.getProperties();t.setProperties({invert:!n}),t.render()},resetViewport:()=>{let e=h();if(!e)return;let{viewport:A}=e;A.resetProperties?.(),A.resetCamera(),A.render()},scaleViewport:({direction:e})=>{let A=h();if(!A)return;let{viewport:t}=A;if((0,eo.TF)(t))if(e){let{parallelScale:A}=t.getCamera();t.setCamera({parallelScale:A*(e>0?.9:1.1)}),t.render()}else t.resetCamera(),t.render()},jumpToImage:({imageIndex:e,viewport:A})=>{let t;if(A)t=s.getCornerstoneViewport(A.id);else{let e=h();if(!e)return;t=e.viewport}let n=0;if((0,eo.TF)(t))n=t.getImageIds().length;else if((0,eo.tO)(t))n=x.utilities.getImageSliceDataForVolumeViewport(t).numberOfSlices;else throw Error("Unsupported viewport type");let r=e<0?n+e:e;if(r>=n||r<0)throw Error(`Can't jump to ${e}`);x.utilities.jumpToSlice(t.element,{imageIndex:r})},scroll:e=>{let A=h();if(e.delta??=e.direction||1,e.direction??=e.delta,!A)return;let{viewport:t}=A;x.utilities.scroll(t,e)},setViewportColormap:({viewportId:e,displaySetInstanceUID:A,colormap:t,opacity:r=1,immediate:o=!1})=>{let i,a=s.getCornerstoneViewport(e),{viewportMatchDetails:l}=g.getActiveProtocol(),c=l.get(e)?.displaySetsInfo;if(c){let e=c.find(e=>e.displaySetInstanceUID===A);i=e?.displaySetOptions?.options?.colormap?.opacity}if(t={...t,opacity:i||r},(0,eo.TF)(a)&&a.setProperties({colormap:t}),(0,eo.tO)(a)){if(!A){let{viewports:t}=n.getState();A=t.get(e)?.displaySetInstanceUIDs[0]}let r=a.getAllVolumeIds().find(e=>e.includes(A))??a.getVolumeId();a.setProperties({colormap:t},r)}o&&a.render()},changeActiveViewport:({direction:e=1})=>{let{activeViewportId:A,viewports:t}=n.getState(),r=Array.from(t.keys()),o=(r.indexOf(A)+e+r.length)%r.length;n.setActiveViewportId(r[o])},toggleSynchronizer:({type:A,viewports:t,syncId:n})=>{let r=p.getSynchronizer(n);if(r)return void(r.isDisabled()?r.setEnabled(!0):r.setEnabled(!1));let o=ld[A];o&&o({servicesManager:e,viewports:t,syncId:n})},setViewportForToolConfiguration:({viewportId:e,toolName:A})=>{if(!e){let{activeViewportId:A}=n.getState();e=A??"default"}let t=o.getToolGroupForViewport(e);if(!t?.hasTool(A))return;let r=t?.getToolConfiguration(A);t?.setToolConfiguration(A,{...r,sourceViewportId:e},!0),s.getRenderingEngine().render()},storePresentation:({viewportId:e})=>{s.storePresentation({viewportId:e})},updateVolumeData:({volume:e})=>{let{imageData:A,vtkOpenGLTexture:t}=e;[...Array(A.getDimensions()[2]).keys()].forEach(e=>{t.setUpdatedFrame(e)}),A.modified()},attachProtocolViewportDataListener:({protocol:e,stageIndex:t})=>{let n=s.EVENTS.VIEWPORT_DATA_CHANGED,r=e.callbacks.onViewportDataInitialized,o=e.stages?.[t]?.viewports.length??1,i=0,{unsubscribe:a}=s.subscribe(n,e=>{++i===o&&(A.run(...r),a(n))})},setViewportPreset:({viewportId:e,preset:A})=>{let t=s.getCornerstoneViewport(e);t&&(t.setProperties({preset:A}),t.render())},setVolumeRenderingQulaity:({viewportId:e,volumeQuality:A})=>{let t=s.getCornerstoneViewport(e),{actor:n}=t.getActors()[0],r=n.getMapper(),o=r.getInputData(),i=o.getDimensions(),a=o.getSpacing(),l=tO.vec3.length(tO.vec3.fromValues(i[0]*a[0],i[1]*a[1],i[2]*a[2])),c=a.reduce((e,A)=>e+A)/3,u=l/(c/=A>1?.5*A**2:1)+1;r.setMaximumSamplesPerRay(u),r.setSampleDistance(c),t.render()},shiftVolumeOpacityPoints:({viewportId:e,shift:A})=>{let t=s.getCornerstoneViewport(e),{actor:n}=t.getActors()[0],r=n.getProperty().getScalarOpacity(0),o=[],i=r.getSize();for(let e=0;e<i;e++){let A=[0,0,0,0];r.getNodeValue(e,A),o.push(A)}o.forEach(e=>{e[0]+=A}),r.removeAllPoints(),o.forEach(e=>{r.addPoint(...e)}),t.render()},setVolumeLighting:({viewportId:e,options:A})=>{let t=s.getCornerstoneViewport(e),{actor:n}=t.getActors()[0],r=n.getProperty();void 0!==A.shade&&r.setShade(A.shade),void 0!==A.ambient&&r.setAmbient(A.ambient),void 0!==A.diffuse&&r.setDiffuse(A.diffuse),void 0!==A.specular&&r.setSpecular(A.specular),t.render()},resetCrosshairs:({viewportId:e})=>{let A=[],t=e=>{let t=o.getToolGroup(e);A.push(t.getToolInstance("Crosshairs"))};e?t(o.getToolGroupForViewport(e).id):o.getToolGroupIds().forEach(t),A.forEach(e=>{e?.computeToolCenter()})},createLabelmapForViewport:async({viewportId:A,options:t={}})=>lo(e,{viewportId:A,options:t,segmentationType:AA.SegmentationRepresentations.Labelmap}),createContourForViewport:async({viewportId:A,options:t={}})=>lo(e,{viewportId:A,options:t,segmentationType:AA.SegmentationRepresentations.Contour}),setActiveSegmentation:({segmentationId:A})=>{let{viewportGridService:t,segmentationService:n}=e.services;n.setActiveSegmentation(t.getActiveViewportId(),A)},addSegmentCommand:({segmentationId:A,config:t})=>{let{segmentationService:n}=e.services;n.addSegment(A,t)},setActiveSegmentAndCenterCommand:({segmentationId:A,segmentIndex:t})=>{let{segmentationService:n,viewportGridService:r}=e.services;n.setActiveSegmentation(r.getActiveViewportId(),A),n.setActiveSegment(A,t);let{highlightAlpha:o,highlightSegment:i,animationLength:a,animationFunctionType:s}=u.getCustomization("panelSegmentation.jumpToSegmentHighlightAnimationConfig")??{},l=Object.values(lA).includes(s)?s:void 0;n.jumpToSegmentNext(A,t,void 0,o,i,a,void 0,l)},toggleSegmentVisibilityCommand:({segmentationId:A,segmentIndex:t,type:n})=>{let{segmentationService:r,viewportGridService:o}=e.services;r.toggleSegmentVisibility(o.getActiveViewportId(),A,t,n)},toggleSegmentLockCommand:({segmentationId:A,segmentIndex:t})=>{let{segmentationService:n}=e.services;n.toggleSegmentLocked(A,t)},toggleSegmentationVisibilityCommand:({segmentationId:A,type:t})=>{let{segmentationService:n,viewportGridService:r}=e.services;n.toggleSegmentationRepresentationVisibility(r.getActiveViewportId(),{segmentationId:A,type:t})},downloadSegmentationCommand:({segmentationId:A})=>{let{segmentationService:t}=e.services;t.downloadSegmentation(A)},storeSegmentationCommand:async t=>{let{segmentationId:n}=t,{segmentationService:r,viewportGridService:o}=e.services,i=await (0,J.createReportAsync)({servicesManager:e,getReport:()=>A.runCommand("storeSegmentation",t),reportType:"Segmentation"});i&&(r.remove(n),o.setDisplaySetsForViewport({viewportId:o.getActiveViewportId(),displaySetInstanceUIDs:i}))},downloadRTSSCommand:({segmentationId:A})=>{let{segmentationService:t}=e.services;t.downloadRTSS(A)},setSegmentationStyleCommand:({type:A,key:t,value:n})=>{let{segmentationService:r}=e.services;r.setStyle({type:A},{[t]:n})},deleteSegmentCommand:({segmentationId:A,segmentIndex:t})=>{let{segmentationService:n}=e.services;n.removeSegment(A,t)},deleteSegmentationCommand:({segmentationId:A})=>{let{segmentationService:t}=e.services;t.remove(A)},removeSegmentationFromViewportCommand:({segmentationId:t})=>{let{viewportGridService:n}=e.services,r=n.getActiveViewportId();A.runCommand("removeDisplaySetLayer",{viewportId:r,displaySetInstanceUID:t})},toggleRenderInactiveSegmentationsCommand:()=>{let{segmentationService:A,viewportGridService:t}=e.services,n=t.getActiveViewportId(),r=A.getRenderInactiveSegmentations(n);A.setRenderInactiveSegmentations(n,!r)},editSegmentLabel:async({segmentationId:A,segmentIndex:t})=>{let{segmentationService:n,uiDialogService:r}=e.services,o=n.getSegmentation(A);if(!o)return;let i=o.segments[t];(0,J.callInputDialog)({uiDialogService:r,title:lr().t("Tools:Edit Segment Label"),placeholder:lr().t("Tools:Enter new label"),defaultValue:i.label}).then(e=>{n.setSegmentLabel(A,t,e)})},editSegmentationLabel:({segmentationId:A})=>{let{segmentationService:t,uiDialogService:n}=e.services,r=t.getSegmentation(A);if(!r)return;let{label:o}=r;(0,J.callInputDialog)({uiDialogService:n,title:lr().t("Tools:Edit Segmentation Label"),placeholder:lr().t("Tools:Enter new label"),defaultValue:o}).then(e=>{t.addOrUpdateSegmentation({segmentationId:A,label:e})})},editSegmentColor:({segmentationId:A,segmentIndex:t})=>{let{segmentationService:n,uiDialogService:r,viewportGridService:o}=e.services,i=o.getActiveViewportId(),a=n.getSegmentColor(i,A,t),s={r:a[0],g:a[1],b:a[2],a:a[3]/255};r.show({content:J.colorPickerDialog,title:lr().t("Tools:Segment Color"),contentProps:{value:s,onSave:e=>{let r=[e.r,e.g,e.b,255*e.a];n.setSegmentColor(i,A,t,r)}}})},getRenderInactiveSegmentations:()=>{let{segmentationService:A,viewportGridService:t}=e.services;return A.getRenderInactiveSegmentations(t.getActiveViewportId())},deleteActiveAnnotation:()=>{H.annotation.selection.getAnnotationsSelected().forEach(e=>{c.remove(e)})},setDisplaySetsForViewports:({viewportsToUpdate:A})=>{let{cineService:t,viewportGridService:n}=e.services;A.forEach(e=>{let A=t.getState(),n=A.cines?.[e.viewportId];t.setCine({id:e.viewportId,frameRate:n?.frameRate??A.default?.frameRate??24,isPlaying:!1})}),n.setDisplaySetsForViewports(A)},undo:()=>{lu.undo()},redo:()=>{lu.redo()},toggleSegmentPreviewEdit:({toggle:e})=>{let A=lp({toolGroupService:o});(A=A.filter(e=>!e.toolName.includes("Eraser"))).forEach(A=>{A.configuration={...A.configuration,preview:{...A.configuration.preview,enabled:e}}})},toggleSegmentSelect:({toggle:e})=>{o.getToolGroupIds().forEach(A=>{let t=H.ToolGroupManager.getToolGroup(A);e?t.setToolActive(H.SegmentSelectTool.toolName):t.setToolDisabled(H.SegmentSelectTool.toolName)})},toggleSegmentLabel:({enabled:e})=>{let A=H.SegmentLabelTool.toolName,t=o.getToolGroupIds(),n=t.some(e=>{let t=H.ToolGroupManager.getToolGroup(e);return"Active"===t.getToolInstance(A)?.mode}),r=void 0!==e?e:!n;t.forEach(e=>{let t=H.ToolGroupManager.getToolGroup(e);r?t.setToolActive(A):t.setToolDisabled(A)})},initializeSegmentLabelTool:({tools:e})=>{let A=t.appConfig,n=A.segmentation?.segmentLabel;if(n?.enabledByDefault){let A=e?.active??[];return A.push({toolName:es.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor,background:n?.background}}),e.active=A,e}let r=e?.disabled??[];return r.push({toolName:es.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor}}),e.disabled=r,e},toggleUseCenterSegmentIndex:({toggle:e})=>{let A=lp({toolGroupService:o});(A=A.filter(e=>!e.toolName.includes("Eraser"))).forEach(A=>{A.configuration={...A.configuration,useCenterSegmentIndex:e}})},_handlePreviewAction:e=>{let{viewport:A}=h();(({toolGroupService:e})=>lp({toolGroupService:e}).filter(e=>e.acceptPreview||e.rejectPreview))({toolGroupService:o}).forEach(A=>{try{A[`${e}Preview`]()}catch(e){console.debug("Error accepting preview for tool",A.toolName)}}),lm.enabled&&lm[`${e}Preview`](A.element)},acceptPreview:()=>{E._handlePreviewAction("accept")},rejectPreview:()=>{E._handlePreviewAction("reject")},clearMarkersForMarkerLabelmap:()=>{let{viewport:e}=h(),A=H.ToolGroupManager.getToolGroupForViewport(e.id).getToolInstance("MarkerLabelmap");A&&A.clearMarkers(e)},interpolateScrollForMarkerLabelmap:()=>{let{viewport:e}=h(),A=H.ToolGroupManager.getToolGroupForViewport(e.id).getToolInstance("MarkerLabelmap");A&&A.interpolateScroll(e,1)},toggleLabelmapAssist:async()=>{let{viewport:e}=h(),A=!lm.enabled;lm.enabled=A,lf||(await lm.initModel(),lf=!0);let t=o.getToolGroupIds();A?E.setToolActiveToolbar({toolName:"CircularBrushForAutoSegmentAI",toolGroupIds:t}):t.forEach(e=>{H.ToolGroupManager.getToolGroup(e).setToolPassive("CircularBrushForAutoSegmentAI")}),lm.enabled&&lm.initViewport(e)},setBrushSize:({value:e})=>{let A=Number(e);o.getToolGroupIds()?.forEach(e=>{lg.setBrushSizeForToolGroup(e,A)})},setThresholdRange:({value:e,toolNames:A=["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]})=>{let t=o.getToolGroupIds();if(t?.length)for(let n of t){let t=o.getToolGroup(n);A?.forEach(A=>{t.setToolConfiguration(A,{threshold:{range:e}})})}},increaseBrushSize:()=>{v("increase")},decreaseBrushSize:()=>{v("decrease")},addNewSegment:()=>{let{segmentationService:A}=e.services,{activeViewportId:t}=n.getState(),r=A.getActiveSegmentation(t);r&&A.addSegment(r.segmentationId)},loadSegmentationDisplaySetsForViewport:({viewportId:A,displaySetInstanceUIDs:t})=>{let n=function({viewportId:e,servicesManager:A,displaySetInstanceUIDs:t}){let{hangingProtocolService:n,viewportGridService:r}=A.services,{isHangingProtocolLayout:o,viewports:i}=r.getState(),a=(({viewportId:e,viewportGridService:A})=>{let{viewports:t,activeViewportId:n}=A.getState();return t.get(e||n)})({viewportId:e,viewportGridService:r}).viewportOptions.viewportId,s=n.getViewportsRequireUpdate(a,t[0],o);return null!=s&&o?function(e,A,t){if(!A)return e??[];let n=new Map,r=(e,A)=>{e&&n.set(e,{viewportId:e,displaySetInstanceUIDs:A})};if(Array.isArray(e))for(let t of e){let e=t.viewportId??t.viewportOptions?.viewportId;e&&r(e,t.displaySetInstanceUIDs?.length?t.displaySetInstanceUIDs:[A])}t.forEach(e=>{(e.displaySetInstanceUIDs||[]).includes(A)&&r(e.viewportId,[A])});let o=Array.from(n.values());return 0===o.length&&Array.isArray(e)&&e.length>0?e:o}(s,t[0],i):s}({viewportId:A,servicesManager:e,displaySetInstanceUIDs:t});n?.length&&(n.forEach(({viewportId:e})=>{let A=s.getCornerstoneViewport(e);A?.setNeedsRender?.()}),E.setDisplaySetsForViewports({viewportsToUpdate:n.map(e=>({viewportId:e.viewportId,displaySetInstanceUIDs:e.displaySetInstanceUIDs}))}))},setViewportOrientation:({viewportId:e,orientation:A})=>{let t=s.getCornerstoneViewport(e);t&&(0,eo.tO)(t)?n.getDisplaySetsUIDsForViewport(e).map(e=>f.getDisplaySetByUID(e)).some(e=>e.isReconstructable)?(t.setOrientation(A),t.render(),s.getViewportInfo(e).setOrientation(A)):console.warn("Cannot change orientation: No reconstructable display sets in viewport"):console.warn("Orientation can only be set on volume viewports")},toggleViewportHorizontalFlip:({viewportId:e}={})=>{E.flipViewportHorizontal({viewportId:e,newValue:"toggle"})},setViewportHorizontalFlip:({flipped:e,viewportId:A})=>{E.flipViewportHorizontal({viewportId:A,newValue:e})},toggleViewportVerticalFlip:({viewportId:e}={})=>{E.flipViewportVertical({viewportId:e,newValue:"toggle"})},setViewportVerticalFlip:({flipped:e,viewportId:A})=>{E.flipViewportVertical({viewportId:A,newValue:e})},_rotateViewport:({rotation:e,viewportId:A,rotationMode:t="apply"})=>{let n=A?q(A):h();if(!n)return;let{viewport:r}=n;if((0,eo.rX)(r)){let A=r.getCamera(),t=e*Math.PI/180,n=tO.mat4.identity(new Float32Array(16));tO.mat4.rotate(n,n,t,A.viewPlaneNormal);let o=tO.vec3.transformMat4(tO.vec3.create(),A.viewUp,n);r.setCamera({viewUp:o}),r.render();return}if(void 0!==r.getRotation){let{rotation:A}=r.getViewPresentation(),n="apply"===t?(A+e+360)%360:(()=>{let{flipHorizontal:A=!1,flipVertical:t=!1}=r.getViewPresentation();return(((+!!A+ +!!t)%2==1?-e:e)+360)%360})();r.setViewPresentation({rotation:n}),r.render()}},startRecordingForAnnotationGroup:()=>{H.AnnotationTool.startGroupRecording()},endRecordingForAnnotationGroup:()=>{H.AnnotationTool.endGroupRecording()},triggerCreateAnnotationMemo:({annotation:e,FrameOfReferenceUID:A,options:t})=>{let{newAnnotation:n,deleting:r}=t,o=(0,x.getRenderingEngines)().flatMap(e=>e.getViewports()).find(e=>e.getFrameOfReferenceUID()===A);o&&H.AnnotationTool.createAnnotationMemo(o.element,e,{newAnnotation:n,deleting:r})},activateSelectedSegmentationOfType:({segmentationRepresentationType:A})=>{let{segmentationService:t,viewportGridService:n}=e.services,r=n.getActiveViewportId(),{selectedSegmentationsForViewport:o}=tN.getState(),i=o[r]?.get(A);i&&t.setActiveSegmentation(r,i)},setDynamicCursorSizeForSculptorTool:({value:e})=>{let A=n.getActiveViewportId(),t=o.getToolGroupForViewport(A).getToolInstance(es.SculptorTool),r=t.configuration;t.configuration={...r,updateCursorSize:e?"dynamic":""}},setInterpolationToolConfiguration:({value:e,toolNames:A})=>{let t=n.getActiveViewportId(),r=o.getToolGroupForViewport(t),i=o.getActiveToolForViewport(t),a={interpolation:{enabled:e}};r.setToolConfiguration(i,a),A&&Object.values(r.getToolInstances()).forEach(e=>{A?.includes(e.toolName)&&r.setToolConfiguration(e.toolName,a)})},setSimplifiedSplineForSplineContourSegmentationTool:({value:e})=>{let A=n.getActiveViewportId();Object.values(o.getToolGroupForViewport(A).getToolInstances()).forEach(A=>{if(A instanceof H.SplineContourSegmentationTool){let t=A.configuration;A.configuration={...t,simplifiedSpline:e}}})},removeSmallContours:({areaThreshold:e})=>{let A=n.getActiveViewportId(),t=m.getActiveSegmentation(A),r=m.getActiveSegment(A);if(!t||!r)return;let{removeContourIslands:o}=li.utilities;o(t.segmentationId,r.segmentIndex,{threshold:e}),s.getRenderingEngine().render()},applyLogicalContourOperation:({segmentAInfo:e,segmentBInfo:A,resultSegmentInfo:t,logicalOperation:n})=>{switch(n){case tD.LogicalOperation.Union:la(e,A,t);break;case tD.LogicalOperation.Intersect:ls(e,A,t);break;case tD.LogicalOperation.Subtract:ll(e,A,t);break;default:throw Error("Unsupported logical operation")}},copyContourSegment:({sourceSegmentInfo:e,targetSegmentInfo:A})=>{if(!A){let t=m.getSegmentation(e.segmentationId),n=t?.segments?.[e.segmentIndex]?.cachedStats;A={segmentationId:e.segmentationId,segmentIndex:m.getNextAvailableSegmentIndex(e.segmentationId)},m.addSegment(A.segmentationId,{segmentIndex:A.segmentIndex,...n&&{cachedStats:x.utilities.deepClone(n)}})}lc(e,A)},smoothContours:()=>{let e=n.getActiveViewportId(),A=m.getActiveSegmentation(e),t=m.getActiveSegment(e);if(!A||!t)return;let{smoothContours:r}=li.utilities;r(A.segmentationId,t.segmentIndex),s.getRenderingEngine().render()},removeContourHoles:()=>{let e=n.getActiveViewportId(),A=m.getActiveSegmentation(e),t=m.getActiveSegment(e);if(!A||!t)return;let{removeContourHoles:r}=li.utilities;r(A.segmentationId,t.segmentIndex),s.getRenderingEngine().render()},decimateContours:()=>{let e=n.getActiveViewportId(),A=m.getActiveSegmentation(e),t=m.getActiveSegment(e);if(!A||!t)return;let{decimateContours:r}=li.utilities;r(A.segmentationId,t.segmentIndex),s.getRenderingEngine().render()},convertContourHoles:()=>{let e=n.getActiveViewportId(),A=m.getActiveSegmentation(e),t=m.getActiveSegment(e);if(!A||!t)return;let r={segmentationId:A.segmentationId,segmentIndex:m.getNextAvailableSegmentIndex(A.segmentationId)};m.addSegment(r.segmentationId,{segmentIndex:r.segmentIndex});let{convertContourHoles:o}=li.utilities;o(A.segmentationId,t.segmentIndex,r.segmentationId,r.segmentIndex),s.getRenderingEngine().render()}},S={showCornerstoneContextMenu:{commandFn:E.showCornerstoneContextMenu,options:{menuCustomizationId:"measurementsContextMenu",commands:[{commandName:"showContextMenu"}]}},getNearbyToolData:{commandFn:E.getNearbyToolData},getNearbyAnnotation:{commandFn:E.getNearbyAnnotation,storeContexts:[],options:{}},toggleViewportColorbar:{commandFn:E.toggleViewportColorbar},setMeasurementLabel:{commandFn:E.setMeasurementLabel},renameMeasurement:{commandFn:E.renameMeasurement},updateMeasurement:{commandFn:E.updateMeasurement},jumpToMeasurement:E.jumpToMeasurement,removeMeasurement:{commandFn:E.removeMeasurement},toggleLockMeasurement:{commandFn:E.toggleLockMeasurement},toggleVisibilityMeasurement:{commandFn:E.toggleVisibilityMeasurement},downloadCSVMeasurementsReport:{commandFn:E.downloadCSVMeasurementsReport},setViewportWindowLevel:{commandFn:E.setViewportWindowLevel},setWindowLevel:{commandFn:E.setWindowLevel},setWindowLevelPreset:{commandFn:E.setWindowLevelPreset},setToolActive:{commandFn:E.setToolActive},setToolActiveToolbar:{commandFn:E.setToolActiveToolbar},setToolEnabled:{commandFn:E.setToolEnabled},rotateViewportCW:{commandFn:E.rotateViewportBy,options:{rotation:90}},rotateViewportCCW:{commandFn:E.rotateViewportBy,options:{rotation:-90}},rotateViewportCWSet:{commandFn:E.setViewportRotation,options:{rotation:90}},incrementActiveViewport:{commandFn:E.changeActiveViewport},decrementActiveViewport:{commandFn:E.changeActiveViewport,options:{direction:-1}},flipViewportHorizontal:{commandFn:E.toggleViewportHorizontalFlip},flipViewportVertical:{commandFn:E.toggleViewportVerticalFlip},setViewportHorizontalFlip:{commandFn:E.setViewportHorizontalFlip,options:{flipped:!0}},setViewportVerticalFlip:{commandFn:E.setViewportVerticalFlip,options:{flipped:!0}},invertViewport:{commandFn:E.invertViewport},resetViewport:{commandFn:E.resetViewport},scaleUpViewport:{commandFn:E.scaleViewport,options:{direction:1}},scaleDownViewport:{commandFn:E.scaleViewport,options:{direction:-1}},fitViewportToWindow:{commandFn:E.scaleViewport,options:{direction:0}},nextImage:{commandFn:E.scroll,options:{direction:1}},previousImage:{commandFn:E.scroll,options:{direction:-1}},firstImage:{commandFn:E.jumpToImage,options:{imageIndex:0}},lastImage:{commandFn:E.jumpToImage,options:{imageIndex:-1}},jumpToImage:{commandFn:E.jumpToImage},showDownloadViewportModal:{commandFn:E.showDownloadViewportModal},toggleCine:{commandFn:E.toggleCine},arrowTextCallback:{commandFn:E.arrowTextCallback},setViewportActive:{commandFn:E.setViewportActive},setViewportColormap:{commandFn:E.setViewportColormap},setViewportForToolConfiguration:{commandFn:E.setViewportForToolConfiguration},storePresentation:{commandFn:E.storePresentation},attachProtocolViewportDataListener:{commandFn:E.attachProtocolViewportDataListener},setViewportPreset:{commandFn:E.setViewportPreset},setVolumeRenderingQulaity:{commandFn:E.setVolumeRenderingQulaity},shiftVolumeOpacityPoints:{commandFn:E.shiftVolumeOpacityPoints},setVolumeLighting:{commandFn:E.setVolumeLighting},resetCrosshairs:{commandFn:E.resetCrosshairs},toggleSynchronizer:{commandFn:E.toggleSynchronizer},updateVolumeData:{commandFn:E.updateVolumeData},toggleEnabledDisabledToolbar:{commandFn:E.toggleEnabledDisabledToolbar},toggleActiveDisabledToolbar:{commandFn:E.toggleActiveDisabledToolbar},updateStoredPositionPresentation:{commandFn:E.updateStoredPositionPresentation},updateStoredSegmentationPresentation:{commandFn:E.updateStoredSegmentationPresentation},createLabelmapForViewport:{commandFn:E.createLabelmapForViewport},createContourForViewport:{commandFn:E.createContourForViewport},setActiveSegmentation:{commandFn:E.setActiveSegmentation},addSegment:{commandFn:E.addSegmentCommand},setActiveSegmentAndCenter:{commandFn:E.setActiveSegmentAndCenterCommand},toggleSegmentVisibility:{commandFn:E.toggleSegmentVisibilityCommand},toggleSegmentLock:{commandFn:E.toggleSegmentLockCommand},toggleSegmentationVisibility:{commandFn:E.toggleSegmentationVisibilityCommand},downloadSegmentation:{commandFn:E.downloadSegmentationCommand},storeSegmentation:{commandFn:E.storeSegmentationCommand},downloadRTSS:{commandFn:E.downloadRTSSCommand},setSegmentationStyle:{commandFn:E.setSegmentationStyleCommand},deleteSegment:{commandFn:E.deleteSegmentCommand},deleteSegmentation:{commandFn:E.deleteSegmentationCommand},removeSegmentationFromViewport:{commandFn:E.removeSegmentationFromViewportCommand},toggleRenderInactiveSegmentations:{commandFn:E.toggleRenderInactiveSegmentationsCommand},setFillAlpha:{commandFn:C("fillAlpha")},setOutlineWidth:{commandFn:C("outlineWidth")},setRenderFill:{commandFn:C("renderFill")},setRenderFillInactive:{commandFn:C("renderFillInactive")},setRenderOutline:{commandFn:C("renderOutline")},setRenderOutlineInactive:{commandFn:C("renderOutlineInactive")},setFillAlphaInactive:{commandFn:C("fillAlphaInactive")},editSegmentLabel:{commandFn:E.editSegmentLabel},editSegmentationLabel:{commandFn:E.editSegmentationLabel},editSegmentColor:{commandFn:E.editSegmentColor},getRenderInactiveSegmentations:{commandFn:E.getRenderInactiveSegmentations},deleteActiveAnnotation:{commandFn:E.deleteActiveAnnotation},setDisplaySetsForViewports:E.setDisplaySetsForViewports,undo:E.undo,redo:E.redo,interpolateLabelmap:E.interpolateLabelmap,runSegmentBidirectional:E.runSegmentBidirectional,downloadCSVSegmentationReport:E.downloadCSVSegmentationReport,toggleSegmentPreviewEdit:E.toggleSegmentPreviewEdit,toggleSegmentSelect:E.toggleSegmentSelect,acceptPreview:E.acceptPreview,rejectPreview:E.rejectPreview,toggleUseCenterSegmentIndex:E.toggleUseCenterSegmentIndex,toggleLabelmapAssist:E.toggleLabelmapAssist,interpolateScrollForMarkerLabelmap:E.interpolateScrollForMarkerLabelmap,clearMarkersForMarkerLabelmap:E.clearMarkersForMarkerLabelmap,setBrushSize:E.setBrushSize,setThresholdRange:E.setThresholdRange,increaseBrushSize:E.increaseBrushSize,decreaseBrushSize:E.decreaseBrushSize,addNewSegment:E.addNewSegment,loadSegmentationDisplaySetsForViewport:E.loadSegmentationDisplaySetsForViewport,setViewportOrientation:E.setViewportOrientation,hydrateSecondaryDisplaySet:E.hydrateSecondaryDisplaySet,getVolumeIdForDisplaySet:E.getVolumeIdForDisplaySet,triggerCreateAnnotationMemo:E.triggerCreateAnnotationMemo,startRecordingForAnnotationGroup:E.startRecordingForAnnotationGroup,endRecordingForAnnotationGroup:E.endRecordingForAnnotationGroup,toggleSegmentLabel:E.toggleSegmentLabel,jumpToMeasurementViewport:E.jumpToMeasurementViewport,initializeSegmentLabelTool:E.initializeSegmentLabelTool,activateSelectedSegmentationOfType:E.activateSelectedSegmentationOfType,setDynamicCursorSizeForSculptorTool:E.setDynamicCursorSizeForSculptorTool,setSimplifiedSplineForSplineContourSegmentationTool:E.setSimplifiedSplineForSplineContourSegmentationTool,removeSmallContours:E.removeSmallContours,applyLogicalContourOperation:E.applyLogicalContourOperation,copyContourSegment:E.copyContourSegment,smoothContours:E.smoothContours,removeContourHoles:E.removeContourHoles,decimateContours:E.decimateContours,convertContourHoles:E.convertContourHoles,setInterpolationToolConfiguration:E.setInterpolationToolConfiguration};return{actions:E,definitions:S,defaultContext:"CORNERSTONE"}},getCustomizationModule:function({commandsManager:e,servicesManager:A,extensionManager:t}){return[{name:"default",value:{...Ac,...function({commandsManager:e,servicesManager:A}){let{segmentationService:t}=A.services,n=!1,{unsubscribe:r}=t.subscribe(t.EVENTS.SEGMENTATION_STYLE_MODIFIED,({specifier:e,style:A})=>{e.type===AA.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=A.renderFill&&(r(),n=!0)});return{"panelSegmentation.customDropdownMenuContent":AM,"panelSegmentation.customSegmentStatisticsHeader":Ax,"panelSegmentation.disableEditing":!1,"panelSegmentation.showAddSegment":!0,"panelSegmentation.onSegmentationAdd":async({segmentationRepresentationType:r=AA.SegmentationRepresentations.Labelmap})=>{let{viewportGridService:o}=A.services,i=o.getState().activeViewportId;if(r===AA.SegmentationRepresentations.Labelmap)e.run("createLabelmapForViewport",{viewportId:i});else if(r===AA.SegmentationRepresentations.Contour){let A=await e.run("createContourForViewport",{viewportId:i});if(n||t.setStyle({segmentationId:A,type:AA.SegmentationRepresentations.Contour},{renderFill:!0,renderFillInactive:!0},!1),n)return;let{unsubscribe:r}=t.subscribe(t.EVENTS.SEGMENTATION_STYLE_MODIFIED,({specifier:e,style:o})=>{e.type===AA.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=o.renderFill&&(n=!0,r(),t.setStyle({segmentationId:A,type:AA.SegmentationRepresentations.Contour},{},!1))})}},"panelSegmentation.tableMode":"collapsed","panelSegmentation.readableText":{min:"Min Value",minLPS:"Min Coord",max:"Max Value",maxLPS:"Max Coord",mean:"Mean Value",stdDev:"Standard Deviation",count:"Voxel Count",median:"Median",skewness:"Skewness",kurtosis:"Kurtosis",peakValue:"Peak Value",peakLPS:"Peak Coord",volume:"Volume",lesionGlycolysis:"Lesion Glycolysis",center:"Center"},"labelMapSegmentationToolbox.config":()=>M.createElement(AH,null),"contourSegmentationToolbox.config":()=>M.createElement(AH,null)}}({commandsManager:e,servicesManager:A,extensionManager:t}),...AL,...AN,...AV,...AR,...Ak,...AK,...Aj,...AY,...tU,...tF,...tQ,"viewportScrollbar.variant":"progress","viewportScrollbar.showLoadedEndpoints":!0,"viewportScrollbar.showLoadedFill":!0,"viewportScrollbar.showViewedFill":!0,"viewportScrollbar.showLoadingPattern":!0,"viewportScrollbar.viewedDwellMs":0,"viewportScrollbar.loadedBatchIntervalMs":200,"viewportScrollbar.indicator":{}}}]},getUtilityModule:({servicesManager:e})=>[{name:"common",exports:{getCornerstoneLibraries:()=>({cornerstone:x,cornerstoneTools:H}),getEnabledElement:X.kJ,dicomLoaderService:uX}},{name:"core",exports:{Enums:x.Enums}},{name:"tools",exports:{toolNames:es,Enums:H.Enums}},{name:"volumeLoader",exports:{getDynamicVolumeInfo:Ao.getDynamicVolumeInfo}}],getSopClassHandlerModule:function(e){return[function({servicesManager:e,extensionManager:A}){return{name:"DicomMicroscopySopClassHandler",sopClassUids:["1.2.840.10008.5.1.4.1.1.77.1.6"],getDisplaySetsFromSeries:e=>(function(e,A){let t=A.getActiveDataSource()[0];if(!e||!e.length)throw Error("No instances were provided");let n=e[0],r=n,o=+r.NumberOfFrames||1;for(let A of e){let e=+A.NumberOfFrames||1;e<o&&(r=A,o=e)}let{FrameOfReferenceUID:i,SeriesDescription:a,ContentDate:s,ContentTime:l,SeriesNumber:c,StudyInstanceUID:u,SeriesInstanceUID:d,SOPInstanceUID:g,SOPClassUID:p}=n,m=(e=e.map(e=>(e.FrameOfReferenceUID=n.FrameOfReferenceUID,e))).filter(e=>e).map(e=>e.FrameOfReferenceUID).filter((e,A,t)=>t.indexOf(e)===A);m.length>1&&console.warn("Expected FrameOfReferenceUID of difference instances within a series to be the same, found multiple different values",m);let f={plugin:"microscopy",Modality:"SM",viewportType:x.Enums.ViewportType.WHOLE_SLIDE,altImageText:"Microscopy",displaySetInstanceUID:u4.guid(),SOPInstanceUID:g,SeriesInstanceUID:d,StudyInstanceUID:u,FrameOfReferenceUID:i,SOPClassHandlerId:"@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler",SOPClassUID:p,SeriesDescription:a||"Microscopy Data",SeriesDate:s,SeriesTime:l,SeriesNumber:c,firstInstance:r,instance:n,numImageFrames:0,numInstances:1,others:e,instances:e,othersFrameOfReferenceUID:m,imageIds:e.map(e=>e.imageId),getThumbnailSrc:t.retrieve.getGetThumbnailSrc?.(r,r.imageId),label:a||`${lr().t("Series")} ${c} - ${lr().t("SM")}`},h=t.retrieve.getWadoDicomWebClient?.(),w=new Map;if(e.forEach(e=>w.set(e.imageId,e)),h){let e=Object.create(h);e.getDICOMwebMetadata=u8.bind(e,w),x.utilities.genericMetadataProvider.addRaw(f.imageIds[0],{type:u3.WADO_WEB_CLIENT,metadata:e})}return[f]})(e,A)}}(e),function({servicesManager:e}){return{name:"DicomEcgSopClassHandler",sopClassUids:u5,getDisplaySetsFromSeries:A=>(function(e,A){let{userAuthenticationService:t}=A.services;return e.map(e=>{let{Modality:A,SOPInstanceUID:n}=e,{SeriesDescription:r,SeriesNumber:o,SeriesDate:i}=e,{SeriesInstanceUID:a,StudyInstanceUID:s,SOPClassUID:l}=e,c=e.imageId;if(c){let A=function(e,A){let t=e?.WaveformSequence;if(!t?.length)return null;let n=t[0],r=n.NumberOfWaveformChannels??0,o=n.NumberOfWaveformSamples??0,i=n.SamplingFrequency??1,a=n.WaveformBitsAllocated??16,s=n.WaveformSampleInterpretation??"SS",l=n.MultiplexGroupLabel??"",c=(n.ChannelDefinitionSequence??[]).map(e=>({channelSourceSequence:{codeMeaning:e?.ChannelSourceSequence?.[0]?.CodeMeaning??e?.ChannelSourceSequence?.[0]?.codeMeaning??""}})),u=async()=>{let e,t=n.WaveformData;if(!t)return console.warn("[ECGViewport] No WaveformData found on instance"),[];if(t.InlineBinary)e=function(e){let A=atob(e),t=new Uint8Array(A.length);for(let e=0;e<A.length;e++)t[e]=A.charCodeAt(e);return t.buffer}(t.InlineBinary);else{if(!t.BulkDataURI)return console.warn("[ECGViewport] WaveformData has no InlineBinary or BulkDataURI"),[];let n={Accept:"application/octet-stream"},r=A?.getAuthorizationHeader?.();r&&Object.assign(n,r);let o=await fetch(t.BulkDataURI,{headers:n});if(!o.ok)throw Error(`[ECGViewport] Failed to fetch waveform BulkDataURI: ${o.status}`);e=await o.arrayBuffer()}return function(e,A,t){let n=new Int16Array(e),r=[];for(let e=0;e<A;e++){let o=new Int16Array(t);for(let r=0;r<t;r++)o[r]=n[r*A+e];r.push(o)}return r}(e,r,o)};return{numberOfWaveformChannels:r,numberOfWaveformSamples:o,samplingFrequency:i,waveformBitsAllocated:a,waveformSampleInterpretation:s,multiplexGroupLabel:l,channelDefinitionSequence:c,waveformData:{retrieveBulkData:u}}}(e,t);A&&x.utilities.genericMetadataProvider.addRaw(c,{type:u3.ECG,metadata:A})}return{Modality:A,displaySetInstanceUID:u4.guid(),SeriesDescription:r,SeriesNumber:o,SeriesDate:i,SOPInstanceUID:n,SeriesInstanceUID:a,StudyInstanceUID:s,SOPClassHandlerId:"@ohif/extension-cornerstone.sopClassHandlerModule.DicomEcgSopClassHandler",SOPClassUID:l,referencedImages:null,measurements:null,viewportType:x.Enums.ViewportType.ECG,instances:[e],instance:e,thumbnailSrc:null,isDerivedDisplaySet:!1,isLoaded:!1,sopClassUids:u5,numImageFrames:0,numInstances:1,imageIds:c?[c]:[],supportsWindowLevel:!1,label:r||"ECG"}})})(A,e)}}(e)]}}})(),O=T.O(O)})());
|
|
5
|
+
`);let t=e.state[u];return void(null==t||JSON.stringify(a.getState())!==JSON.stringify(t)&&f(t))}a.dispatchFromDevtools&&"function"==typeof a.dispatch&&a.dispatch(e)});case"DISPATCH":switch(e.payload.type){case"RESET":if(f(h),void 0===u)return null==p?void 0:p.init(a.getState());return null==p?void 0:p.init(r(d.name));case"COMMIT":if(void 0===u){null==p||p.init(a.getState());break}return null==p?void 0:p.init(r(d.name));case"ROLLBACK":return i(e.state,e=>{if(void 0===u){f(e),null==p||p.init(a.getState());return}f(e[u]),null==p||p.init(r(d.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return i(e.state,e=>{void 0===u?f(e):JSON.stringify(a.getState())!==JSON.stringify(e[u])&&f(e[u])});case"IMPORT_STATE":{let{nextLiftedState:A}=e.payload,n=null==(t=A.computedStates.slice(-1)[0])?void 0:t.state;if(!n)return;void 0===u?f(n):f(n[u]),null==p||p.send(null,A);break}case"PAUSE_RECORDING":return m=!m}return}}),h},i=(e,t)=>{let A;try{A=JSON.parse(e)}catch(e){console.error("[zustand devtools middleware] Could not parse the received json",e)}void 0!==A&&t(A)}}},D={};function O(e){var t=D[e];if(void 0!==t)return t.exports;var A=D[e]={exports:{}};return T[e].call(A.exports,A,A.exports,O),A.exports}O.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return O.d(t,{a:t}),t},O.d=(e,t)=>{for(var A in t)O.o(t,A)&&!O.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},O.u=e=>"dist/"+e+".ohif-extension-cornerstone.umd.js",O.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),O.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),O.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},O.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),F=[],O.O=(e,t,A,n)=>{if(t){n=n||0;for(var r=F.length;r>0&&F[r-1][2]>n;r--)F[r]=F[r-1];F[r]=[t,A,n];return}for(var o=1/0,r=0;r<F.length;r++){for(var[t,A,n]=F[r],i=!0,a=0;a<t.length;a++)(!1&n||o>=n)&&Object.keys(O.O).every(e=>O.O[e](t[a]))?t.splice(a--,1):(i=!1,n<o&&(o=n));if(i){F.splice(r--,1);var s=A();void 0!==s&&(e=s)}}return e},O.F={},O.E=e=>{Object.keys(O.F).map(t=>{O.F[t](e)})},O.p="/",O.b=document.baseURI||self.location.href,Q={509:0},O.F.j=e=>{if(!O.o(Q,e)||void 0===Q[e]){Q[e]=null;var t=document.createElement("link");O.nc&&t.setAttribute("nonce",O.nc),t.rel="prefetch",t.as="script",t.href=O.p+O.u(e),document.head.appendChild(t)}},O.O.j=e=>0===Q[e],O.O(0,[509],()=>{[509].map(O.E)},5);var M={};return(()=>{"use strict";O.r(M),O.d(M,{AccordionGroup:()=>d2,CloneChildren:()=>d3,Colorbar:()=>cV,Colormap:()=>cR,CornerstoneViewportDownloadForm:()=>lj,DYNAMIC_VOLUME_LOADER_SCHEME:()=>ub,DicomUpload:()=>np,Enums:()=>H,ImageOverlayViewerTool:()=>es,MeasumentsMenu:()=>pE,MeasurementOrAdditionalFindingSets:()=>pn,MeasurementsOrAdditionalFindings:()=>po,NEXT_FUSION_PT_OPACITY:()=>nC,NEXT_OVERLAY_OPACITY:()=>nS,OHIFCornerstoneViewport:()=>pR,PanelMeasurement:()=>pp,PanelSegmentation:()=>dP,PlanarFreehandROI:()=>eb,RectangleROI:()=>eU,SeriesMeasurementTrigger:()=>pD,SeriesMeasurements:()=>pO,StudyMeasurements:()=>pd,StudyMeasurementsActions:()=>ps,StudySummaryFromMetadata:()=>pa,Types:()=>T,VOLUME_LOADER_SCHEME:()=>uI,VolumeLighting:()=>cG,VolumeRenderingOptions:()=>cj,VolumeRenderingPresets:()=>c_,VolumeRenderingQuality:()=>ck,VolumeShade:()=>cK,VolumeShift:()=>cP,WindowLevel:()=>cN,WindowLevelActionMenu:()=>cW,WindowLevelActionMenuContent:()=>cY,WindowLevelActionMenuWrapper:()=>cX,default:()=>pH,dicomLoaderService:()=>dU,findNearbyToolData:()=>e5,getActiveViewportEnabledElement:()=>Z,getEnabledElement:()=>q.kJ,getHydrationViewportTypeForModality:()=>nE,getSOPInstanceAttributes:()=>ed,getViewportAdapter:()=>nb.qU,getViewportFocalPoint:()=>nb.sH,groupByDisplaySet:()=>pT,groupByNamedSets:()=>pr,groupByStudy:()=>pu,isNextViewport:()=>nb.Is,isNextViewportsEnabled:()=>eG,isVolumeRenderingViewport:()=>nb.rK,measurementMappingUtils:()=>Q,setEnabledElement:()=>q.ye,toolNames:()=>el,useActiveViewportSegmentationRepresentations:()=>dN.c,useLutPresentationStore:()=>ts.I,useMeasurementTracking:()=>c8.R,useMeasurements:()=>dH.d,usePositionPresentationStore:()=>tl.q,useSegmentationPresentationStore:()=>tc.v,useSegmentations:()=>pg.j,useSelectedSegmentationsForViewportStore:()=>nL,useSynchronizersStore:()=>nM.U,utils:()=>pB});var e,t,A,n,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y,v,C,S,E,I,b,U,F={};O.r(F),O.d(F,{rM:()=>V,yK:()=>N,Ay:()=>H});var Q={};O.r(Q),O.d(Q,{getDisplayUnit:()=>ew,getFirstAnnotationSelected:()=>eh,getHandlesFromPoints:()=>eg,getSOPInstanceAttributes:()=>ed,isAnnotationSelected:()=>em,setAnnotationSelected:()=>ef});var T={};O.r(T);var D=O(6326),x=O(6557),L=O(4713),R=O(1223);let V="Cornerstone3DTools",N="0.1",H={CORNERSTONE_3D_TOOLS_SOURCE_NAME:V,CORNERSTONE_3D_TOOLS_SOURCE_VERSION:N};var _=O(1002),k=O.n(_),P=O(8082),G=O(642),K=O.n(G),j=O(2302),W=O.n(j);let{registerVolumeLoader:Y}=x.volumeLoader;var z=O(7268),X=O(6023),J=O(7438),q=O(6499);function $(e){let{element:t}=(0,q.kJ)(e)||{};return(0,x.getEnabledElement)(t)}function Z(e){let{activeViewportId:t}=e.getState();return $(t)}let{calibrateImageSpacing:ee}=L.utilities;class et extends L.LengthTool{constructor(...e){super(...e),this._renderingViewport=void 0,this._lengthToolRenderAnnotation=this.renderAnnotation,this.renderAnnotation=(e,t)=>{let{viewport:A}=e;return this._renderingViewport=A,this._lengthToolRenderAnnotation(e,t)}}_getTextLines(e,t){var A,n;let r,o,[i,a]=e.handles.points.map(e=>this._renderingViewport.worldToCanvas(e)),s=Math.round(100*(A=i,n=a,r=A[0]-n[0],Math.sqrt(r*r+(o=A[1]-n[1])*o)))/100;return[`${s}px`]}}et.toolName="CalibrationLine";var eA=O(7141);let en=new Map,er=(e,t)=>{en.get(e)!==t&&en.set(e,t)},eo=(e,t)=>{if(!Array.isArray(t)&&"overlayPlaneModule"===e)return en.get(t)};x.metaData.addProvider(eo,1e4);var ei=O(3117);class ea extends L.AnnotationDisplayTool{constructor(e={},t={supportedInteractionTypes:[],configuration:{fillColor:[255,127,127,255]}}){super(e,t),this.onSetToolDisabled=()=>{},this.renderAnnotation=(e,t)=>{let{viewport:A}=e,n=this.getReferencedImageId(A);if(!n)return;let r=x.metaData.get("overlayPlaneModule",n),o=r?.overlays;if(o?.length)return o.forEach(e=>{e.x||=0,e.y||=0}),ea.addOverlayPlaneModule(n,r),this._getCachedStat(n,r,this.configuration.fillColor).then(A=>{A.overlays.forEach(A=>{this._renderOverlay(e,t,A)})}),!0}}getReferencedImageId(e){if((0,ei.tO)(e)||!e.getViewReferenceId?.())return;let t=this.getTargetId(e);return t?.split("imageId:")[1]}_renderOverlay(e,t,A){let{viewport:n}=e,r=this.getReferencedImageId(n);if(!r)return;let{_id:o,columns:i,rows:a,x:s,y:l}=A,c=x.utilities.imageToWorldCoords(r,[s-1,l-1]),u=n.worldToCanvas(c),d=x.utilities.imageToWorldCoords(r,[i,a]),p=n.worldToCanvas(d),g=`image-overlay-${o}`,m=t.getSvgNode(g),f={"data-id":g,width:p[0]-u[0],height:p[1]-u[1],x:u[0],y:u[1],href:A.dataUrl};if(isNaN(f.x)||isNaN(f.y)||isNaN(f.width)||isNaN(f.height))return console.warn("Invalid rendering attribute for image overlay",f["data-id"]),!1;if(m)L.drawing.setAttributesIfNecessary(f,m),t.setNodeTouched(g);else{let e=document.createElementNS("http://www.w3.org/2000/svg","image");L.drawing.setNewAttributesIfValid(f,e),t.appendNode(e,g)}return!0}async _getCachedStat(e,t,A){if(0===t.overlays.filter(e=>e.pixelData&&!e.dataUrl).length)return t;let n=await Promise.all(t.overlays.filter(e=>e.pixelData).map(async(e,t)=>{let n=null;if(e.pixelData.Value)n=e.pixelData.Value;else if(e.pixelData instanceof Array)n=e.pixelData[0];else if(e.pixelData.retrieveBulkData)n=await e.pixelData.retrieveBulkData();else if(e.pixelData.InlineBinary){let t=(0,eA.b64toBlob)(e.pixelData.InlineBinary);n=await t.arrayBuffer()}if(!n)return;let r=this._renderOverlayToDataUrl({width:e.columns,height:e.rows},e.color||A,n);return{...e,_id:(0,eA.guid)(),dataUrl:r,color:A}}));return t.overlays=n,t}_isSameColor(e,t){return e&&t&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}_renderOverlayToDataUrl({width:e,height:t},A,n){let r=new DataView(n),o=e*t,i=document.createElement("canvas");i.width=e,i.height=t;let a=i.getContext("2d");a.clearRect(0,0,e,t),a.globalCompositeOperation="copy";let s=a.getImageData(0,0,e,t),l=s.data;for(let e=0,t=0,n=0;e<o;e++)r.getUint8(n)&1<<t&&(l[4*e]=A[0],l[4*e+1]=A[1],l[4*e+2]=A[2],l[4*e+3]=A[3]),t>=7?(t=0,n++):t++;return a.putImageData(s,0,0),i.toDataURL()}}ea.toolName="ImageOverlayViewer",ea.addOverlayPlaneModule=er;let es=ea,el={Pan:L.PanTool.toolName,ArrowAnnotate:L.ArrowAnnotateTool.toolName,WindowLevel:L.WindowLevelTool.toolName,StackScroll:L.StackScrollTool.toolName,Zoom:L.ZoomTool.toolName,PlanarRotate:L.PlanarRotateTool.toolName,VolumeRotate:L.VolumeRotateTool.toolName,MipJumpToClick:L.MIPJumpToClickTool.toolName,Length:L.LengthTool.toolName,DragProbe:L.DragProbeTool.toolName,Probe:L.ProbeTool.toolName,RectangleROI:L.RectangleROITool.toolName,RectangleROIThreshold:L.RectangleROIThresholdTool.toolName,EllipticalROI:L.EllipticalROITool.toolName,CircleROI:L.CircleROITool.toolName,Bidirectional:L.BidirectionalTool.toolName,Angle:L.AngleTool.toolName,CobbAngle:L.CobbAngleTool.toolName,Magnify:L.MagnifyTool.toolName,Crosshairs:L.CrosshairsTool.toolName,Brush:L.BrushTool.toolName,PaintFill:L.PaintFillTool.toolName,ReferenceLines:L.ReferenceLinesTool.toolName,CalibrationLine:et.toolName,TrackballRotateTool:L.TrackballRotateTool.toolName,CircleScissors:L.CircleScissorsTool.toolName,RectangleScissors:L.RectangleScissorsTool.toolName,SphereScissors:L.SphereScissorsTool.toolName,ImageOverlayViewer:es.toolName,AdvancedMagnify:L.AdvancedMagnifyTool.toolName,UltrasoundDirectional:L.UltrasoundDirectionalTool.toolName,UltrasoundAnnotation:L.UltrasoundPleuraBLineTool.toolName,SplineROI:L.SplineROITool.toolName,LivewireContour:L.LivewireContourTool.toolName,PlanarFreehandROI:L.PlanarFreehandROITool.toolName,OrientationMarker:L.OrientationMarkerTool.toolName,WindowLevelRegion:L.WindowLevelRegionTool.toolName,PlanarFreehandContourSegmentation:L.PlanarFreehandContourSegmentationTool.toolName,SegmentBidirectional:L.SegmentBidirectionalTool.toolName,SegmentSelect:L.SegmentSelectTool.toolName,SegmentLabel:L.SegmentLabelTool.toolName,LabelmapSlicePropagation:z.LabelmapSlicePropagationTool.toolName,MarkerLabelmap:z.MarkerLabelmapTool.toolName,ClickSegment:L.ClickSegmentTool.toolName,LivewireContourSegmentation:L.LivewireContourSegmentationTool.toolName,SculptorTool:L.SculptorTool.toolName,SplineContourSegmentation:L.SplineContourSegmentationTool.toolName,LabelMapEditWithContourTool:L.LabelMapEditWithContourTool.toolName},ec=["Length","EllipticalROI","CircleROI","Bidirectional","ArrowAnnotate","Angle","CobbAngle","Probe","RectangleROI","PlanarFreehandROI","SplineROI","LivewireContour","UltrasoundDirectionalTool","UltrasoundPleuraBLineTool","SegmentBidirectional"];var eu=O(9195);function ed(e,t,A){if(e){var n;let t;return n=e,{SOPInstanceUID:(t=x.metaData.get("instance",n)).SOPInstanceUID,SeriesInstanceUID:t.SeriesInstanceUID,StudyInstanceUID:t.StudyInstanceUID,frameNumber:t.frameNumber||1}}let{metadata:r}=A,{StudyInstanceUID:o,SeriesInstanceUID:i}=function({metadata:e,displaySetService:t}){let{volumeId:A}=e;if(A){let n=t.getDisplaySetsBy(e=>A.includes(e.uid))[0];if(n)return n;console.warn("Unable to find volumeId",A),e.volumeId=null}if(!e.FrameOfReferenceUID)throw Error("No volumeId and no FrameOfReferenceUID provided. Could not find matching displaySet.");let n=Array.from(t.getDisplaySetCache().values()).find(t=>t.instance?.FrameOfReferenceUID===e.FrameOfReferenceUID);if(!n)throw Error("Could not find matching displaySet for the provided FrameOfReferenceUID.");return n}({metadata:r,displaySetService:t});return{SOPInstanceUID:void 0,SeriesInstanceUID:i,StudyInstanceUID:o}}let ep=e=>{};function eg(e){if(e.longAxis&&e.shortAxis){let t={};return t.start=e.longAxis[0],t.end=e.longAxis[1],t.perpendicularStart=e.longAxis[0],t.perpendicularEnd=e.longAxis[1],t}return e.map((e,t)=>t%10==0?{start:e}:{end:e}).reduce((e,t)=>Object.assign(e,{...t}),{})}function em(e){return L.annotation.selection.isAnnotationSelected(e)}function ef(e,t){em(e)!==t&&L.annotation.selection.setAnnotationSelected(e,t)}function eh(e){let[t]=L.annotation.selection.getAnnotationsSelected()||[];if(t)return L.annotation.state.getAnnotation(t)}let ew=e=>null==e?"":e,eB=e=>{},ey=(e,t,A)=>{if(Array.isArray(e)&&e.length>0){let n=e.map(e=>_.utils.roundNumber(e,2));return`${A.charAt(0).toUpperCase()+A.slice(1)}: ${n.join(", ")} ${ew(t)}`}let n=_.utils.roundNumber(e,2);return`${A.charAt(0).toUpperCase()+A.slice(1)}: ${n} ${ew(t)}`},ev=e=>{},eC=e=>{},eS=e=>{},eE=e=>{},eI=e=>{},eb={toAnnotation:e=>{},toMeasurement:(e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.debug("PlanarFreehandROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:f,frameNumber:h,StudyInstanceUID:w}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let B=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:a}=e[0],s=t.instances.find(e=>e.SOPInstanceUID===o);s&&(A=s.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"",u=_.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${ew(a)}`),e.forEach(e=>{let{unit:t,max:A,SeriesNumber:r}=e,o=ey(A,t,"max");n.primary.push(o),n.secondary.push(`S: ${r}${l}${c}`)}),n}(function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!r)return;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=ed(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(s)[0],{mean:u,stdDev:d,max:p,area:g,Modality:m,areaUnit:f,modalityUnit:h}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,Modality:m,unit:h,mean:u,stdDev:d,max:p,area:g,areaUnit:f})}),i}(i,t),o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:s.contour.polyline,textBox:s.handles.textBox,metadata:a,frameNumber:h,referenceSeriesUID:f,referenceStudyUID:w,referencedImageId:p,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:B,data:s.cachedStats,type:n(d),getReport:()=>(function(e,t){let{PlanarFreehandROI:A}=t.getCustomization("cornerstone.measurements"),{report:n}=A,r=[],o=[];r.push("AnnotationType"),o.push("Cornerstone:PlanarFreehandROI");let{metadata:i,data:a}=e,s=a.cachedStats[`imageId:${i.referencedImageId}`];return n.forEach(({displayName:e,value:t})=>{r.push(e),s[t]?o.push(s[t]):o.push("not available")}),i.FrameOfReferenceUID&&(r.push("FrameOfReferenceUID"),o.push(i.FrameOfReferenceUID)),a.contour.polyline&&(r.push("points"),o.push(a.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:r,values:o}})(i,r),isLocked:c,isVisible:u}}},eU={toAnnotation:e=>{},toMeasurement:(e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Rectangle ROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[],a=new Set;return Object.keys(r).forEach(n=>{let s=r[n],{SOPInstanceUID:l,SeriesInstanceUID:c,frameNumber:u}=ed(o,t,e),{SeriesNumber:d}=t.getDisplaySetsForSeries(c)[0],{mean:p,stdDev:g,max:m,area:f,Modality:h,modalityUnit:w,areaUnit:B}=s;h&&a.has(h)||(h&&a.add(h),i.push({SeriesInstanceUID:c,SOPInstanceUID:l,SeriesNumber:d,frameNumber:u,Modality:h,unit:w,mean:p,stdDev:g,metadata:A,max:m,area:f,areaUnit:B}))}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:a}=e[0],s=t.instances.find(e=>e.SOPInstanceUID===o);s&&(A=s.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"",u=_.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${ew(a)}`),e.forEach(e=>{let{unit:t,max:A,SeriesNumber:r}=e;if(Number.isFinite(A)){let e=ey(A,t,"max");n.primary.push(e)}n.secondary.push(`S: ${r}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:RectangleROI"),e.forEach(e=>{let{mean:t,stdDev:A,max:o,area:i,unit:a,areaUnit:s}=e;t&&a&&o&&i&&(n.push("Maximum","Mean","Std Dev","Pixel Unit","Area","Unit"),r.push(o,t,A,a,i,s))}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}}},eF=e=>{},eQ=e=>{},eT=e=>{},eD=e=>{},eO=e=>{},eM=e=>{};var ex=O(3154);let{rM:eL,yK:eR}=F,{removeAnnotation:eV}=L.annotation.state,eN=L.Enums.Events,{DefaultHistoryMemo:eH}=x.utilities.HistoryMemo,e_=function(e){let{cineService:t}=e.services;t.setServiceImplementation({getSyncedViewports:t=>(function(e,t){let{viewportGridService:A,cornerstoneViewportService:n}=e.services,{viewports:r}=A.getState(),o=r.get(t);if(o?.viewportOptions?.viewportType!=="volume")return[];let i=n.getCornerstoneViewport(t),a=i?function(e){if(!e?.getAllVolumeIds)return null;let t=e.getAllVolumeIds().map(e=>x.cache.getVolume(e));return t.find(e=>e.isDynamicVolume())??t[0]}(i):null;if(!a?.isDynamicVolume())return[];let{volumeId:s}=a;return Array.from(r.values()).filter(({viewportId:e})=>{let A=n.getCornerstoneViewport(e);return e!==t&&A?.hasVolumeId?.(s)}).map(({viewportId:e})=>({viewportId:e}))})(e,t),playClip:(e,t)=>L.utilities.cine.playClip(e,t),stopClip:(e,t)=>L.utilities.cine.stopClip(e,t)})},ek=function(e){let{studyPrefetcherService:t}=e.services;t.requestType=x.Enums.RequestType.Prefetch,t.imageLoadPoolManager=x.imageLoadPoolManager,t.imageLoader=x.imageLoader,t.cache={isImageCached:e=>!!x.cache.getImageLoadObject(e)},t.imageLoadEventsManager={addEventListeners:(e,t)=>(x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOADED,e),x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_FAILED,t),[{unsubscribe:()=>x.eventTarget.removeEventListener(x.EVENTS.IMAGE_LOADED,e)},{unsubscribe:()=>x.eventTarget.removeEventListener(x.EVENTS.IMAGE_LOAD_FAILED,t)}])}},eP=!1;function eG(){return eP}let eK={webgl:"gpu",gpu:"gpu",cpu:"cpu",auto:"auto"};function ej(e){if("string"!=typeof e)return;let t=e.trim();if(t)return eK[t.toLowerCase()]??t}let eW={};var eY=O(9863),ez=O.n(eY),eX=O(5257),eJ=O.n(eX),eq=O(6446),e$=O.n(eq);let eZ=new Map,e0=new Map;function e1({data:{viewportId:e,volumeInputArray:t},displaySetsMatchDetails:A,viewportMatchDetails:n}){for(let A of(e0.set(e,t),t)){let{volumeId:e}=A,t=x.cache.getVolume(e);if(!t)return;if(!eZ.has(e)){let{metadata:A}=t;eZ.set(e,A.SeriesInstanceUID)}}let r=new Set;e0.forEach((e,t)=>{e.forEach(e=>{let{volumeId:t}=e;r.add(t)})});let o=new Set;if(n.forEach(e=>{let{displaySetsInfo:t}=e;t.forEach(({displaySetInstanceUID:e})=>{o.add(e)})}),r.size!==o.size)return;let i=Array.from(eZ.keys()).slice().map(e=>x.cache.getVolume(e)),a=[];i.forEach(e=>{let t=e.getImageLoadRequests?.()??[];if(!t.length||!t[0]||!t[0].imageId)return;let A=(function(e){if(0===e.length)return[];if(1===e.length)return[{imageId:e[0],imageIdIndex:0}];let t=e.length-1,A=Math.floor(e.length/2),n=A,r=A,o=[{imageId:e[A],imageIdIndex:A}],i={currentPositionDownToMinimum:!1,currentPositionUpToMaximum:!1};for(0===A?i.currentPositionDownToMinimum=!0:A===t&&(i.currentPositionUpToMaximum=!0);!i.currentPositionDownToMinimum||!i.currentPositionUpToMaximum;)i.currentPositionDownToMinimum||(o.push({imageId:e[--n],imageIdIndex:n}),0===n&&(i.currentPositionDownToMinimum=!0)),i.currentPositionUpToMaximum||(o.push({imageId:e[++r],imageIdIndex:r}),r===t&&(i.currentPositionUpToMaximum=!0));return o})(t.map(e=>e.imageId)).map(({imageId:e})=>t.find(t=>t.imageId===e));a.push(A)});let s=eJ()(e$()(ez()(...a))),l=[];s.forEach(e=>{let{imageId:t}=e;a.forEach(e=>{let A=e.find(e=>e.imageId===t);A&&l.push(A)})});let c=x.Enums.RequestType.Prefetch;l.forEach(({callLoadImage:e,additionalDetails:t,imageId:A,imageIdIndex:n,options:r})=>{let o=e.bind(null,A,n,r);x.imageLoadPoolManager.addRequest(o,c,t,0)}),eZ.clear();let u=new Map(e0);return e0.clear(),u}let e3=new Map,e4=new Map;function e2({data:{viewportId:e,volumeInputArray:t},displaySetsMatchDetails:A}){for(let A of(e4.set(e,t),t)){let{volumeId:e}=A,t=x.cache.getVolume(e);if(!t)return void console.log("interleaveNthLoader::No volume, can't load it");if(!e3.has(e)){let{metadata:A}=t;e3.set(e,A.SeriesInstanceUID)}}let n=function(e){if(!e||!e.length)return[];if(1===e.length)return e[0];let t=[...e],A=[];for(let e=0;t.length>0;e++)for(let n=0;n<t.length;n++){let r=t[n];if(e>=r.length){t.splice(n,1),n--;continue}A.push(r[e])}return A}(Array.from(e3.keys()).slice().map(e=>x.cache.getVolume(e)).map(e=>e.getImageLoadRequests?.()??[]).filter(e=>e?.[0]?.imageId).map(e=>(function(e){let t=[[],[],[],[],[]],A=e.length/2-3,n=A+6;for(let r=0;r<e.length;r++)r<2||r>e.length-4||r>A&&r<n?t[0].push(e[r]):r%7==2?t[1].push(e[r]):r%7==5?t[2].push(e[r]):t[r%2+3].push(e[r]);return[...t[0],...t[1],...t[2],...t[3],...t[4]]})(e))),r=x.Enums.RequestType.Prefetch;n.forEach(({callLoadImage:e,additionalDetails:t,imageId:A,imageIdIndex:n,options:o})=>{let i=e.bind(null,A,n,o);x.imageLoadPoolManager.addRequest(i,r,t,0)}),e3.clear();let o=new Map(e4);return e4.clear(),o}let e6=new Map,e9=new Map;function e8({data:{viewportId:e,volumeInputArray:t},displaySetsMatchDetails:A,viewportMatchDetails:n}){for(let A of(e9.set(e,t),t)){let{volumeId:e}=A,t=x.cache.getVolume(e);if(!t)return;if(!e6.has(e)){let{metadata:A}=t;e6.set(e,A.SeriesInstanceUID)}}let r=new Set;e9.forEach((e,t)=>{e.forEach(e=>{let{volumeId:t}=e;r.add(t)})});let o=new Set;if(n.forEach(e=>{let{displaySetsInfo:t}=e;t.forEach(({displaySetInstanceUID:e})=>{o.add(e)})}),r.size!==o.size)return;let i=Array.from(e6.keys()).slice().map(e=>x.cache.getVolume(e)),a=[];i.forEach(e=>{let t=e.getImageLoadRequests?.()??[];t?.[0]?.imageId&&a.push(t.reverse())});let s=eJ()(e$()(ez()(...a))),l=[];s.forEach(e=>{let{imageId:t}=e;a.forEach(e=>{let A=e.find(e=>e.imageId===t);A&&l.push(A)})});let c=x.Enums.RequestType.Prefetch;l.forEach(({callLoadImage:e,additionalDetails:t,imageId:A,imageIdIndex:n,options:r})=>{let o=e.bind(null,A,n,r);x.imageLoadPoolManager.addRequest(o,c,t,0)}),e6.clear();let u=new Map(e9);return e9.clear(),u}let e5=(e,t)=>{if(!t?.detail)return;let{element:A,currentPoints:n}=t.detail;return e.runCommand("getNearbyAnnotation",{element:A,canvasCoordinates:n?.canvas},"CORNERSTONE")},e7=L.Enums.Events,te=function({cornerstoneViewportService:e,customizationService:t,commandsManager:A}){let n=e=>{let n,r;((e,n)=>{let r=t.getCustomization("cornerstoneViewportClickCommands")[e];if(!r)return;let o=null;r.some(e=>e.commandOptions?.requireNearbyToolData)&&(o=e5(A,n));let i={nearbyToolData:o,event:n};A.run(r,i)})((n=e.detail.event.which,r=[],e.detail.event.altKey&&r.push("alt"),e.detail.event.ctrlKey&&r.push("ctrl"),e.detail.event.shiftKey&&r.push("shift"),r.push("button"),r.push(n),r.join("")),e)};x.eventTarget.addEventListener(x.EVENTS.ELEMENT_ENABLED,(function(t){let{viewportId:A,element:r}=t.detail;e.getViewportInfo(A)&&((0,q.ye)(A,r),r.addEventListener(e7.MOUSE_CLICK,n))}).bind(null)),x.eventTarget.addEventListener(x.EVENTS.ELEMENT_DISABLED,(function(e){let{element:t}=e.detail;t.removeEventListener(e7.MOUSE_CLICK,n)}).bind(null))},tt=L.Enums.Events,tA=function({customizationService:e,commandsManager:t}){let A=A=>{let n;if(e5(t,A))return;let r=(n=[],A.detail.event.altKey&&n.push("alt"),A.detail.event.ctrlKey&&n.push("ctrl"),A.detail.event.shiftKey&&n.push("shift"),n.push("doubleClick"),n.join("")),o=e.getCustomization("cornerstoneViewportClickCommands")[r];o&&t.run(o)};x.eventTarget.addEventListener(x.EVENTS.ELEMENT_ENABLED,(function(e){let{element:t}=e.detail;t.addEventListener(tt.MOUSE_DOUBLE_CLICK,A)}).bind(null)),x.eventTarget.addEventListener(x.EVENTS.ELEMENT_DISABLED,(function(e){let{element:t}=e.detail;t.removeEventListener(tt.MOUSE_DOUBLE_CLICK,A)}).bind(null))},tn=[],tr={viewportsWaiting:0};function to(e){if("preRender"===e.detail.viewportStatus)return;let{TimingEnum:t}=_.Enums;_.log.timeEnd(t.DISPLAY_SETS_TO_FIRST_IMAGE),_.log.timeEnd(t.STUDY_TO_FIRST_IMAGE),_.log.timeEnd(t.SCRIPT_TO_VIEW),tr.viewportsWaiting-=1,e.detail.element.removeEventListener(x.EVENTS.IMAGE_RENDERED,to),tr.viewportsWaiting||_.log.timeEnd(t.DISPLAY_SETS_TO_ALL_IMAGES)}let ti=[{ColorSpace:"RGB",Name:"Grayscale",NanColor:[1,0,0],RGBPoints:[0,0,0,0,1,1,1,1],description:"Grayscale"},{ColorSpace:"RGB",Name:"X Ray",NanColor:[1,0,0],RGBPoints:[0,1,1,1,1,0,0,0],description:"X Ray"},{ColorSpace:"RGB",Name:"Isodose",NanColor:[1,0,0],RGBPoints:[0,0,1,0,.1,.5,1,0,.2,1,1,0,.3,1,.66,0,.4,1,.33,0,.5,1,0,0],description:"Isodose"},{ColorSpace:"RGB",Name:"hsv",RGBPoints:[-1,1,0,0,-.666666,1,0,1,-.333333,0,0,1,0,0,1,1,.33333,0,1,0,.66666,1,1,0,1,1,0,0],description:"HSV"},{ColorSpace:"RGB",Name:"hot_iron",RGBPoints:[0,.0039215686,.0039215686,.0156862745,.00392156862745098,.0039215686,.0039215686,.0156862745,.00784313725490196,.0039215686,.0039215686,.031372549,.011764705882352941,.0039215686,.0039215686,.0470588235,.01568627450980392,.0039215686,.0039215686,.062745098,.0196078431372549,.0039215686,.0039215686,.0784313725,.023529411764705882,.0039215686,.0039215686,.0941176471,.027450980392156862,.0039215686,.0039215686,.1098039216,.03137254901960784,.0039215686,.0039215686,.1254901961,.03529411764705882,.0039215686,.0039215686,.1411764706,.0392156862745098,.0039215686,.0039215686,.1568627451,.043137254901960784,.0039215686,.0039215686,.1725490196,.047058823529411764,.0039215686,.0039215686,.1882352941,.050980392156862744,.0039215686,.0039215686,.2039215686,.054901960784313725,.0039215686,.0039215686,.2196078431,.05882352941176471,.0039215686,.0039215686,.2352941176,.06274509803921569,.0039215686,.0039215686,.2509803922,.06666666666666667,.0039215686,.0039215686,.262745098,.07058823529411765,.0039215686,.0039215686,.2784313725,.07450980392156863,.0039215686,.0039215686,.2941176471,.0784313725490196,.0039215686,.0039215686,.3098039216,.08235294117647059,.0039215686,.0039215686,.3254901961,.08627450980392157,.0039215686,.0039215686,.3411764706,.09019607843137255,.0039215686,.0039215686,.3568627451,.09411764705882353,.0039215686,.0039215686,.3725490196,.09803921568627451,.0039215686,.0039215686,.3882352941,.10196078431372549,.0039215686,.0039215686,.4039215686,.10588235294117647,.0039215686,.0039215686,.4196078431,.10980392156862745,.0039215686,.0039215686,.4352941176,.11372549019607843,.0039215686,.0039215686,.4509803922,.11764705882352942,.0039215686,.0039215686,.4666666667,.12156862745098039,.0039215686,.0039215686,.4823529412,.12549019607843137,.0039215686,.0039215686,.4980392157,.12941176470588237,.0039215686,.0039215686,.5137254902,.13333333333333333,.0039215686,.0039215686,.5294117647,.13725490196078433,.0039215686,.0039215686,.5450980392,.1411764705882353,.0039215686,.0039215686,.5607843137,.1450980392156863,.0039215686,.0039215686,.5764705882,.14901960784313725,.0039215686,.0039215686,.5921568627,.15294117647058825,.0039215686,.0039215686,.6078431373,.1568627450980392,.0039215686,.0039215686,.6235294118,.1607843137254902,.0039215686,.0039215686,.6392156863,.16470588235294117,.0039215686,.0039215686,.6549019608,.16862745098039217,.0039215686,.0039215686,.6705882353,.17254901960784313,.0039215686,.0039215686,.6862745098,.17647058823529413,.0039215686,.0039215686,.7019607843,.1803921568627451,.0039215686,.0039215686,.7176470588,.1843137254901961,.0039215686,.0039215686,.7333333333,.18823529411764706,.0039215686,.0039215686,.7490196078,.19215686274509805,.0039215686,.0039215686,.7607843137,.19607843137254902,.0039215686,.0039215686,.7764705882,.2,.0039215686,.0039215686,.7921568627,.20392156862745098,.0039215686,.0039215686,.8078431373,.20784313725490197,.0039215686,.0039215686,.8235294118,.21176470588235294,.0039215686,.0039215686,.8392156863,.21568627450980393,.0039215686,.0039215686,.8549019608,.2196078431372549,.0039215686,.0039215686,.8705882353,.2235294117647059,.0039215686,.0039215686,.8862745098,.22745098039215686,.0039215686,.0039215686,.9019607843,.23137254901960785,.0039215686,.0039215686,.9176470588,.23529411764705885,.0039215686,.0039215686,.9333333333,.23921568627450984,.0039215686,.0039215686,.9490196078,.24313725490196078,.0039215686,.0039215686,.9647058824,.24705882352941178,.0039215686,.0039215686,.9803921569,.25098039215686274,.0039215686,.0039215686,.9960784314,.2549019607843137,.0039215686,.0039215686,.9960784314,.25882352941176473,.0156862745,.0039215686,.9803921569,.2627450980392157,.031372549,.0039215686,.9647058824,.26666666666666666,.0470588235,.0039215686,.9490196078,.27058823529411763,.062745098,.0039215686,.9333333333,.27450980392156865,.0784313725,.0039215686,.9176470588,.2784313725490196,.0941176471,.0039215686,.9019607843,.2823529411764706,.1098039216,.0039215686,.8862745098,.28627450980392155,.1254901961,.0039215686,.8705882353,.2901960784313726,.1411764706,.0039215686,.8549019608,.29411764705882354,.1568627451,.0039215686,.8392156863,.2980392156862745,.1725490196,.0039215686,.8235294118,.30196078431372547,.1882352941,.0039215686,.8078431373,.3058823529411765,.2039215686,.0039215686,.7921568627,.30980392156862746,.2196078431,.0039215686,.7764705882,.3137254901960784,.2352941176,.0039215686,.7607843137,.3176470588235294,.2509803922,.0039215686,.7490196078,.3215686274509804,.262745098,.0039215686,.7333333333,.3254901960784314,.2784313725,.0039215686,.7176470588,.32941176470588235,.2941176471,.0039215686,.7019607843,.3333333333333333,.3098039216,.0039215686,.6862745098,.33725490196078434,.3254901961,.0039215686,.6705882353,.3411764705882353,.3411764706,.0039215686,.6549019608,.34509803921568627,.3568627451,.0039215686,.6392156863,.34901960784313724,.3725490196,.0039215686,.6235294118,.35294117647058826,.3882352941,.0039215686,.6078431373,.3568627450980392,.4039215686,.0039215686,.5921568627,.3607843137254902,.4196078431,.0039215686,.5764705882,.36470588235294116,.4352941176,.0039215686,.5607843137,.3686274509803922,.4509803922,.0039215686,.5450980392,.37254901960784315,.4666666667,.0039215686,.5294117647,.3764705882352941,.4823529412,.0039215686,.5137254902,.3803921568627451,.4980392157,.0039215686,.4980392157,.3843137254901961,.5137254902,.0039215686,.4823529412,.38823529411764707,.5294117647,.0039215686,.4666666667,.39215686274509803,.5450980392,.0039215686,.4509803922,.396078431372549,.5607843137,.0039215686,.4352941176,.4,.5764705882,.0039215686,.4196078431,.403921568627451,.5921568627,.0039215686,.4039215686,.40784313725490196,.6078431373,.0039215686,.3882352941,.4117647058823529,.6235294118,.0039215686,.3725490196,.41568627450980394,.6392156863,.0039215686,.3568627451,.4196078431372549,.6549019608,.0039215686,.3411764706,.4235294117647059,.6705882353,.0039215686,.3254901961,.42745098039215684,.6862745098,.0039215686,.3098039216,.43137254901960786,.7019607843,.0039215686,.2941176471,.43529411764705883,.7176470588,.0039215686,.2784313725,.4392156862745098,.7333333333,.0039215686,.262745098,.44313725490196076,.7490196078,.0039215686,.2509803922,.4470588235294118,.7607843137,.0039215686,.2352941176,.45098039215686275,.7764705882,.0039215686,.2196078431,.4549019607843137,.7921568627,.0039215686,.2039215686,.4588235294117647,.8078431373,.0039215686,.1882352941,.4627450980392157,.8235294118,.0039215686,.1725490196,.4666666666666667,.8392156863,.0039215686,.1568627451,.4705882352941177,.8549019608,.0039215686,.1411764706,.4745098039215686,.8705882353,.0039215686,.1254901961,.4784313725490197,.8862745098,.0039215686,.1098039216,.48235294117647065,.9019607843,.0039215686,.0941176471,.48627450980392156,.9176470588,.0039215686,.0784313725,.49019607843137253,.9333333333,.0039215686,.062745098,.49411764705882355,.9490196078,.0039215686,.0470588235,.4980392156862745,.9647058824,.0039215686,.031372549,.5019607843137255,.9803921569,.0039215686,.0156862745,.5058823529411764,.9960784314,.0039215686,.0039215686,.5098039215686274,.9960784314,.0156862745,.0039215686,.5137254901960784,.9960784314,.031372549,.0039215686,.5176470588235295,.9960784314,.0470588235,.0039215686,.5215686274509804,.9960784314,.062745098,.0039215686,.5254901960784314,.9960784314,.0784313725,.0039215686,.5294117647058824,.9960784314,.0941176471,.0039215686,.5333333333333333,.9960784314,.1098039216,.0039215686,.5372549019607843,.9960784314,.1254901961,.0039215686,.5411764705882353,.9960784314,.1411764706,.0039215686,.5450980392156862,.9960784314,.1568627451,.0039215686,.5490196078431373,.9960784314,.1725490196,.0039215686,.5529411764705883,.9960784314,.1882352941,.0039215686,.5568627450980392,.9960784314,.2039215686,.0039215686,.5607843137254902,.9960784314,.2196078431,.0039215686,.5647058823529412,.9960784314,.2352941176,.0039215686,.5686274509803921,.9960784314,.2509803922,.0039215686,.5725490196078431,.9960784314,.262745098,.0039215686,.5764705882352941,.9960784314,.2784313725,.0039215686,.5803921568627451,.9960784314,.2941176471,.0039215686,.5843137254901961,.9960784314,.3098039216,.0039215686,.5882352941176471,.9960784314,.3254901961,.0039215686,.592156862745098,.9960784314,.3411764706,.0039215686,.596078431372549,.9960784314,.3568627451,.0039215686,.6,.9960784314,.3725490196,.0039215686,.6039215686274509,.9960784314,.3882352941,.0039215686,.6078431372549019,.9960784314,.4039215686,.0039215686,.611764705882353,.9960784314,.4196078431,.0039215686,.615686274509804,.9960784314,.4352941176,.0039215686,.6196078431372549,.9960784314,.4509803922,.0039215686,.6235294117647059,.9960784314,.4666666667,.0039215686,.6274509803921569,.9960784314,.4823529412,.0039215686,.6313725490196078,.9960784314,.4980392157,.0039215686,.6352941176470588,.9960784314,.5137254902,.0039215686,.6392156862745098,.9960784314,.5294117647,.0039215686,.6431372549019608,.9960784314,.5450980392,.0039215686,.6470588235294118,.9960784314,.5607843137,.0039215686,.6509803921568628,.9960784314,.5764705882,.0039215686,.6549019607843137,.9960784314,.5921568627,.0039215686,.6588235294117647,.9960784314,.6078431373,.0039215686,.6627450980392157,.9960784314,.6235294118,.0039215686,.6666666666666666,.9960784314,.6392156863,.0039215686,.6705882352941176,.9960784314,.6549019608,.0039215686,.6745098039215687,.9960784314,.6705882353,.0039215686,.6784313725490196,.9960784314,.6862745098,.0039215686,.6823529411764706,.9960784314,.7019607843,.0039215686,.6862745098039216,.9960784314,.7176470588,.0039215686,.6901960784313725,.9960784314,.7333333333,.0039215686,.6941176470588235,.9960784314,.7490196078,.0039215686,.6980392156862745,.9960784314,.7607843137,.0039215686,.7019607843137254,.9960784314,.7764705882,.0039215686,.7058823529411765,.9960784314,.7921568627,.0039215686,.7098039215686275,.9960784314,.8078431373,.0039215686,.7137254901960784,.9960784314,.8235294118,.0039215686,.7176470588235294,.9960784314,.8392156863,.0039215686,.7215686274509804,.9960784314,.8549019608,.0039215686,.7254901960784313,.9960784314,.8705882353,.0039215686,.7294117647058823,.9960784314,.8862745098,.0039215686,.7333333333333333,.9960784314,.9019607843,.0039215686,.7372549019607844,.9960784314,.9176470588,.0039215686,.7411764705882353,.9960784314,.9333333333,.0039215686,.7450980392156863,.9960784314,.9490196078,.0039215686,.7490196078431373,.9960784314,.9647058824,.0039215686,.7529411764705882,.9960784314,.9803921569,.0039215686,.7568627450980392,.9960784314,.9960784314,.0039215686,.7607843137254902,.9960784314,.9960784314,.0196078431,.7647058823529411,.9960784314,.9960784314,.0352941176,.7686274509803922,.9960784314,.9960784314,.0509803922,.7725490196078432,.9960784314,.9960784314,.0666666667,.7764705882352941,.9960784314,.9960784314,.0823529412,.7803921568627451,.9960784314,.9960784314,.0980392157,.7843137254901961,.9960784314,.9960784314,.1137254902,.788235294117647,.9960784314,.9960784314,.1294117647,.792156862745098,.9960784314,.9960784314,.1450980392,.796078431372549,.9960784314,.9960784314,.1607843137,.8,.9960784314,.9960784314,.1764705882,.803921568627451,.9960784314,.9960784314,.1921568627,.807843137254902,.9960784314,.9960784314,.2078431373,.8117647058823529,.9960784314,.9960784314,.2235294118,.8156862745098039,.9960784314,.9960784314,.2392156863,.8196078431372549,.9960784314,.9960784314,.2509803922,.8235294117647058,.9960784314,.9960784314,.2666666667,.8274509803921568,.9960784314,.9960784314,.2823529412,.8313725490196079,.9960784314,.9960784314,.2980392157,.8352941176470589,.9960784314,.9960784314,.3137254902,.8392156862745098,.9960784314,.9960784314,.3333333333,.8431372549019608,.9960784314,.9960784314,.3490196078,.8470588235294118,.9960784314,.9960784314,.3647058824,.8509803921568627,.9960784314,.9960784314,.3803921569,.8549019607843137,.9960784314,.9960784314,.3960784314,.8588235294117647,.9960784314,.9960784314,.4117647059,.8627450980392157,.9960784314,.9960784314,.4274509804,.8666666666666667,.9960784314,.9960784314,.4431372549,.8705882352941177,.9960784314,.9960784314,.4588235294,.8745098039215686,.9960784314,.9960784314,.4745098039,.8784313725490196,.9960784314,.9960784314,.4901960784,.8823529411764706,.9960784314,.9960784314,.5058823529,.8862745098039215,.9960784314,.9960784314,.5215686275,.8901960784313725,.9960784314,.9960784314,.537254902,.8941176470588236,.9960784314,.9960784314,.5529411765,.8980392156862745,.9960784314,.9960784314,.568627451,.9019607843137255,.9960784314,.9960784314,.5843137255,.9058823529411765,.9960784314,.9960784314,.6,.9098039215686274,.9960784314,.9960784314,.6156862745,.9137254901960784,.9960784314,.9960784314,.631372549,.9176470588235294,.9960784314,.9960784314,.6470588235,.9215686274509803,.9960784314,.9960784314,.6666666667,.9254901960784314,.9960784314,.9960784314,.6823529412,.9294117647058824,.9960784314,.9960784314,.6980392157,.9333333333333333,.9960784314,.9960784314,.7137254902,.9372549019607843,.9960784314,.9960784314,.7294117647,.9411764705882354,.9960784314,.9960784314,.7450980392,.9450980392156864,.9960784314,.9960784314,.7568627451,.9490196078431372,.9960784314,.9960784314,.7725490196,.9529411764705882,.9960784314,.9960784314,.7882352941,.9568627450980394,.9960784314,.9960784314,.8039215686,.9607843137254903,.9960784314,.9960784314,.8196078431,.9647058823529413,.9960784314,.9960784314,.8352941176,.9686274509803922,.9960784314,.9960784314,.8509803922,.9725490196078431,.9960784314,.9960784314,.8666666667,.9764705882352941,.9960784314,.9960784314,.8823529412,.9803921568627451,.9960784314,.9960784314,.8980392157,.984313725490196,.9960784314,.9960784314,.9137254902,.9882352941176471,.9960784314,.9960784314,.9294117647,.9921568627450981,.9960784314,.9960784314,.9450980392,.996078431372549,.9960784314,.9960784314,.9607843137,1,.9960784314,.9960784314,.9607843137],description:"Hot Iron"},{ColorSpace:"RGB",Name:"red_hot",RGBPoints:[0,0,0,0,.00392156862745098,0,0,0,.00784313725490196,0,0,0,.011764705882352941,0,0,0,.01568627450980392,.0039215686,.0039215686,.0039215686,.0196078431372549,.0039215686,.0039215686,.0039215686,.023529411764705882,.0039215686,.0039215686,.0039215686,.027450980392156862,.0039215686,.0039215686,.0039215686,.03137254901960784,.0039215686,.0039215686,.0039215686,.03529411764705882,.0156862745,0,0,.0392156862745098,.0274509804,0,0,.043137254901960784,.0392156863,0,0,.047058823529411764,.0509803922,0,0,.050980392156862744,.062745098,0,0,.054901960784313725,.0784313725,0,0,.05882352941176471,.0901960784,0,0,.06274509803921569,.1058823529,0,0,.06666666666666667,.1176470588,0,0,.07058823529411765,.1294117647,0,0,.07450980392156863,.1411764706,0,0,.0784313725490196,.1529411765,0,0,.08235294117647059,.1647058824,0,0,.08627450980392157,.1764705882,0,0,.09019607843137255,.1882352941,0,0,.09411764705882353,.2039215686,0,0,.09803921568627451,.2156862745,0,0,.10196078431372549,.2274509804,0,0,.10588235294117647,.2392156863,0,0,.10980392156862745,.2549019608,0,0,.11372549019607843,.2666666667,0,0,.11764705882352942,.2784313725,0,0,.12156862745098039,.2901960784,0,0,.12549019607843137,.3058823529,0,0,.12941176470588237,.3176470588,0,0,.13333333333333333,.3294117647,0,0,.13725490196078433,.3411764706,0,0,.1411764705882353,.3529411765,0,0,.1450980392156863,.3647058824,0,0,.14901960784313725,.3764705882,0,0,.15294117647058825,.3882352941,0,0,.1568627450980392,.4039215686,0,0,.1607843137254902,.4156862745,0,0,.16470588235294117,.431372549,0,0,.16862745098039217,.4431372549,0,0,.17254901960784313,.4588235294,0,0,.17647058823529413,.4705882353,0,0,.1803921568627451,.4823529412,0,0,.1843137254901961,.4941176471,0,0,.18823529411764706,.5098039216,0,0,.19215686274509805,.5215686275,0,0,.19607843137254902,.5333333333,0,0,.2,.5450980392,0,0,.20392156862745098,.5568627451,0,0,.20784313725490197,.568627451,0,0,.21176470588235294,.5803921569,0,0,.21568627450980393,.5921568627,0,0,.2196078431372549,.6078431373,0,0,.2235294117647059,.6196078431,0,0,.22745098039215686,.631372549,0,0,.23137254901960785,.6431372549,0,0,.23529411764705885,.6588235294,0,0,.23921568627450984,.6705882353,0,0,.24313725490196078,.6823529412,0,0,.24705882352941178,.6941176471,0,0,.25098039215686274,.7098039216,0,0,.2549019607843137,.7215686275,0,0,.25882352941176473,.7333333333,0,0,.2627450980392157,.7450980392,0,0,.26666666666666666,.7568627451,0,0,.27058823529411763,.768627451,0,0,.27450980392156865,.7843137255,0,0,.2784313725490196,.7960784314,0,0,.2823529411764706,.8117647059,0,0,.28627450980392155,.8235294118,0,0,.2901960784313726,.8352941176,0,0,.29411764705882354,.8470588235,0,0,.2980392156862745,.862745098,0,0,.30196078431372547,.8745098039,0,0,.3058823529411765,.8862745098,0,0,.30980392156862746,.8980392157,0,0,.3137254901960784,.9137254902,0,0,.3176470588235294,.9254901961,0,0,.3215686274509804,.937254902,0,0,.3254901960784314,.9490196078,0,0,.32941176470588235,.9607843137,0,0,.3333333333333333,.968627451,0,0,.33725490196078434,.9803921569,.0039215686,0,.3411764705882353,.9882352941,.0078431373,0,.34509803921568627,1,.0117647059,0,.34901960784313724,1,.0235294118,0,.35294117647058826,1,.0352941176,0,.3568627450980392,1,.0470588235,0,.3607843137254902,1,.062745098,0,.36470588235294116,1,.0745098039,0,.3686274509803922,1,.0862745098,0,.37254901960784315,1,.0980392157,0,.3764705882352941,1,.1137254902,0,.3803921568627451,1,.1254901961,0,.3843137254901961,1,.137254902,0,.38823529411764707,1,.1490196078,0,.39215686274509803,1,.1647058824,0,.396078431372549,1,.1764705882,0,.4,1,.1882352941,0,.403921568627451,1,.2,0,.40784313725490196,1,.2156862745,0,.4117647058823529,1,.2274509804,0,.41568627450980394,1,.2392156863,0,.4196078431372549,1,.2509803922,0,.4235294117647059,1,.2666666667,0,.42745098039215684,1,.2784313725,0,.43137254901960786,1,.2901960784,0,.43529411764705883,1,.3019607843,0,.4392156862745098,1,.3176470588,0,.44313725490196076,1,.3294117647,0,.4470588235294118,1,.3411764706,0,.45098039215686275,1,.3529411765,0,.4549019607843137,1,.368627451,0,.4588235294117647,1,.3803921569,0,.4627450980392157,1,.3921568627,0,.4666666666666667,1,.4039215686,0,.4705882352941177,1,.4156862745,0,.4745098039215686,1,.4274509804,0,.4784313725490197,1,.4392156863,0,.48235294117647065,1,.4509803922,0,.48627450980392156,1,.4666666667,0,.49019607843137253,1,.4784313725,0,.49411764705882355,1,.4941176471,0,.4980392156862745,1,.5058823529,0,.5019607843137255,1,.5215686275,0,.5058823529411764,1,.5333333333,0,.5098039215686274,1,.5450980392,0,.5137254901960784,1,.5568627451,0,.5176470588235295,1,.568627451,0,.5215686274509804,1,.5803921569,0,.5254901960784314,1,.5921568627,0,.5294117647058824,1,.6039215686,0,.5333333333333333,1,.6196078431,0,.5372549019607843,1,.631372549,0,.5411764705882353,1,.6431372549,0,.5450980392156862,1,.6549019608,0,.5490196078431373,1,.6705882353,0,.5529411764705883,1,.6823529412,0,.5568627450980392,1,.6941176471,0,.5607843137254902,1,.7058823529,0,.5647058823529412,1,.7215686275,0,.5686274509803921,1,.7333333333,0,.5725490196078431,1,.7450980392,0,.5764705882352941,1,.7568627451,0,.5803921568627451,1,.7725490196,0,.5843137254901961,1,.7843137255,0,.5882352941176471,1,.7960784314,0,.592156862745098,1,.8078431373,0,.596078431372549,1,.8196078431,0,.6,1,.831372549,0,.6039215686274509,1,.8470588235,0,.6078431372549019,1,.8588235294,0,.611764705882353,1,.8745098039,0,.615686274509804,1,.8862745098,0,.6196078431372549,1,.8980392157,0,.6235294117647059,1,.9098039216,0,.6274509803921569,1,.9254901961,0,.6313725490196078,1,.937254902,0,.6352941176470588,1,.9490196078,0,.6392156862745098,1,.9607843137,0,.6431372549019608,1,.9764705882,0,.6470588235294118,1,.9803921569,.0039215686,.6509803921568628,1,.9882352941,.0117647059,.6549019607843137,1,.9921568627,.0156862745,.6588235294117647,1,1,.0235294118,.6627450980392157,1,1,.0352941176,.6666666666666666,1,1,.0470588235,.6705882352941176,1,1,.0588235294,.6745098039215687,1,1,.0745098039,.6784313725490196,1,1,.0862745098,.6823529411764706,1,1,.0980392157,.6862745098039216,1,1,.1098039216,.6901960784313725,1,1,.1254901961,.6941176470588235,1,1,.137254902,.6980392156862745,1,1,.1490196078,.7019607843137254,1,1,.1607843137,.7058823529411765,1,1,.1764705882,.7098039215686275,1,1,.1882352941,.7137254901960784,1,1,.2,.7176470588235294,1,1,.2117647059,.7215686274509804,1,1,.2274509804,.7254901960784313,1,1,.2392156863,.7294117647058823,1,1,.2509803922,.7333333333333333,1,1,.262745098,.7372549019607844,1,1,.2784313725,.7411764705882353,1,1,.2901960784,.7450980392156863,1,1,.3019607843,.7490196078431373,1,1,.3137254902,.7529411764705882,1,1,.3294117647,.7568627450980392,1,1,.3411764706,.7607843137254902,1,1,.3529411765,.7647058823529411,1,1,.3647058824,.7686274509803922,1,1,.3803921569,.7725490196078432,1,1,.3921568627,.7764705882352941,1,1,.4039215686,.7803921568627451,1,1,.4156862745,.7843137254901961,1,1,.431372549,.788235294117647,1,1,.4431372549,.792156862745098,1,1,.4549019608,.796078431372549,1,1,.4666666667,.8,1,1,.4784313725,.803921568627451,1,1,.4901960784,.807843137254902,1,1,.5019607843,.8117647058823529,1,1,.5137254902,.8156862745098039,1,1,.5294117647,.8196078431372549,1,1,.5411764706,.8235294117647058,1,1,.5568627451,.8274509803921568,1,1,.568627451,.8313725490196079,1,1,.5843137255,.8352941176470589,1,1,.5960784314,.8392156862745098,1,1,.6078431373,.8431372549019608,1,1,.6196078431,.8470588235294118,1,1,.631372549,.8509803921568627,1,1,.6431372549,.8549019607843137,1,1,.6549019608,.8588235294117647,1,1,.6666666667,.8627450980392157,1,1,.6823529412,.8666666666666667,1,1,.6941176471,.8705882352941177,1,1,.7058823529,.8745098039215686,1,1,.7176470588,.8784313725490196,1,1,.7333333333,.8823529411764706,1,1,.7450980392,.8862745098039215,1,1,.7568627451,.8901960784313725,1,1,.768627451,.8941176470588236,1,1,.7843137255,.8980392156862745,1,1,.7960784314,.9019607843137255,1,1,.8078431373,.9058823529411765,1,1,.8196078431,.9098039215686274,1,1,.8352941176,.9137254901960784,1,1,.8470588235,.9176470588235294,1,1,.8588235294,.9215686274509803,1,1,.8705882353,.9254901960784314,1,1,.8823529412,.9294117647058824,1,1,.8941176471,.9333333333333333,1,1,.9098039216,.9372549019607843,1,1,.9215686275,.9411764705882354,1,1,.937254902,.9450980392156864,1,1,.9490196078,.9490196078431372,1,1,.9607843137,.9529411764705882,1,1,.9725490196,.9568627450980394,1,1,.9882352941,.9607843137254903,1,1,.9882352941,.9647058823529413,1,1,.9921568627,.9686274509803922,1,1,.9960784314,.9725490196078431,1,1,1,.9764705882352941,1,1,1,.9803921568627451,1,1,1,.984313725490196,1,1,1,.9882352941176471,1,1,1,.9921568627450981,1,1,1,.996078431372549,1,1,1,1,1,1,1],description:"Red Hot"},{ColorSpace:"RGB",Name:"s_pet",RGBPoints:[0,.0156862745,.0039215686,.0156862745,.00392156862745098,.0156862745,.0039215686,.0156862745,.00784313725490196,.0274509804,.0039215686,.031372549,.011764705882352941,.0352941176,.0039215686,.0509803922,.01568627450980392,.0392156863,.0039215686,.0666666667,.0196078431372549,.0509803922,.0039215686,.0823529412,.023529411764705882,.062745098,.0039215686,.0980392157,.027450980392156862,.0705882353,.0039215686,.1176470588,.03137254901960784,.0745098039,.0039215686,.1333333333,.03529411764705882,.0862745098,.0039215686,.1490196078,.0392156862745098,.0980392157,.0039215686,.1647058824,.043137254901960784,.1058823529,.0039215686,.1843137255,.047058823529411764,.1098039216,.0039215686,.2,.050980392156862744,.1215686275,.0039215686,.2156862745,.054901960784313725,.1333333333,.0039215686,.231372549,.05882352941176471,.137254902,.0039215686,.2509803922,.06274509803921569,.1490196078,.0039215686,.262745098,.06666666666666667,.1607843137,.0039215686,.2784313725,.07058823529411765,.168627451,.0039215686,.2941176471,.07450980392156863,.1725490196,.0039215686,.3137254902,.0784313725490196,.1843137255,.0039215686,.3294117647,.08235294117647059,.1960784314,.0039215686,.3450980392,.08627450980392157,.2039215686,.0039215686,.3607843137,.09019607843137255,.2078431373,.0039215686,.3803921569,.09411764705882353,.2196078431,.0039215686,.3960784314,.09803921568627451,.231372549,.0039215686,.4117647059,.10196078431372549,.2392156863,.0039215686,.4274509804,.10588235294117647,.2431372549,.0039215686,.4470588235,.10980392156862745,.2509803922,.0039215686,.462745098,.11372549019607843,.262745098,.0039215686,.4784313725,.11764705882352942,.2666666667,.0039215686,.4980392157,.12156862745098039,.2666666667,.0039215686,.4980392157,.12549019607843137,.262745098,.0039215686,.5137254902,.12941176470588237,.2509803922,.0039215686,.5294117647,.13333333333333333,.2431372549,.0039215686,.5450980392,.13725490196078433,.2392156863,.0039215686,.5607843137,.1411764705882353,.231372549,.0039215686,.5764705882,.1450980392156863,.2196078431,.0039215686,.5921568627,.14901960784313725,.2078431373,.0039215686,.6078431373,.15294117647058825,.2039215686,.0039215686,.6235294118,.1568627450980392,.1960784314,.0039215686,.6392156863,.1607843137254902,.1843137255,.0039215686,.6549019608,.16470588235294117,.1725490196,.0039215686,.6705882353,.16862745098039217,.168627451,.0039215686,.6862745098,.17254901960784313,.1607843137,.0039215686,.7019607843,.17647058823529413,.1490196078,.0039215686,.7176470588,.1803921568627451,.137254902,.0039215686,.7333333333,.1843137254901961,.1333333333,.0039215686,.7490196078,.18823529411764706,.1215686275,.0039215686,.7607843137,.19215686274509805,.1098039216,.0039215686,.7764705882,.19607843137254902,.1058823529,.0039215686,.7921568627,.2,.0980392157,.0039215686,.8078431373,.20392156862745098,.0862745098,.0039215686,.8235294118,.20784313725490197,.0745098039,.0039215686,.8392156863,.21176470588235294,.0705882353,.0039215686,.8549019608,.21568627450980393,.062745098,.0039215686,.8705882353,.2196078431372549,.0509803922,.0039215686,.8862745098,.2235294117647059,.0392156863,.0039215686,.9019607843,.22745098039215686,.0352941176,.0039215686,.9176470588,.23137254901960785,.0274509804,.0039215686,.9333333333,.23529411764705885,.0156862745,.0039215686,.9490196078,.23921568627450984,.0078431373,.0039215686,.9647058824,.24313725490196078,.0039215686,.0039215686,.9960784314,.24705882352941178,.0039215686,.0039215686,.9960784314,.25098039215686274,.0039215686,.0196078431,.9647058824,.2549019607843137,.0039215686,.0392156863,.9490196078,.25882352941176473,.0039215686,.0549019608,.9333333333,.2627450980392157,.0039215686,.0745098039,.9176470588,.26666666666666666,.0039215686,.0901960784,.9019607843,.27058823529411763,.0039215686,.1098039216,.8862745098,.27450980392156865,.0039215686,.1254901961,.8705882353,.2784313725490196,.0039215686,.1450980392,.8549019608,.2823529411764706,.0039215686,.1607843137,.8392156863,.28627450980392155,.0039215686,.1803921569,.8235294118,.2901960784313726,.0039215686,.1960784314,.8078431373,.29411764705882354,.0039215686,.2156862745,.7921568627,.2980392156862745,.0039215686,.231372549,.7764705882,.30196078431372547,.0039215686,.2509803922,.7607843137,.3058823529411765,.0039215686,.262745098,.7490196078,.30980392156862746,.0039215686,.2823529412,.7333333333,.3137254901960784,.0039215686,.2980392157,.7176470588,.3176470588235294,.0039215686,.3176470588,.7019607843,.3215686274509804,.0039215686,.3333333333,.6862745098,.3254901960784314,.0039215686,.3529411765,.6705882353,.32941176470588235,.0039215686,.368627451,.6549019608,.3333333333333333,.0039215686,.3882352941,.6392156863,.33725490196078434,.0039215686,.4039215686,.6235294118,.3411764705882353,.0039215686,.4235294118,.6078431373,.34509803921568627,.0039215686,.4392156863,.5921568627,.34901960784313724,.0039215686,.4588235294,.5764705882,.35294117647058826,.0039215686,.4745098039,.5607843137,.3568627450980392,.0039215686,.4941176471,.5450980392,.3607843137254902,.0039215686,.5098039216,.5294117647,.36470588235294116,.0039215686,.5294117647,.5137254902,.3686274509803922,.0039215686,.5450980392,.4980392157,.37254901960784315,.0039215686,.5647058824,.4784313725,.3764705882352941,.0039215686,.5803921569,.462745098,.3803921568627451,.0039215686,.6,.4470588235,.3843137254901961,.0039215686,.6156862745,.4274509804,.38823529411764707,.0039215686,.6352941176,.4117647059,.39215686274509803,.0039215686,.6509803922,.3960784314,.396078431372549,.0039215686,.6705882353,.3803921569,.4,.0039215686,.6862745098,.3607843137,.403921568627451,.0039215686,.7058823529,.3450980392,.40784313725490196,.0039215686,.7215686275,.3294117647,.4117647058823529,.0039215686,.7411764706,.3137254902,.41568627450980394,.0039215686,.7529411765,.2941176471,.4196078431372549,.0039215686,.7960784314,.2784313725,.4235294117647059,.0039215686,.7960784314,.262745098,.42745098039215684,.0392156863,.8039215686,.2509803922,.43137254901960786,.0745098039,.8117647059,.231372549,.43529411764705883,.1098039216,.8196078431,.2156862745,.4392156862745098,.1450980392,.8274509804,.2,.44313725490196076,.1803921569,.8352941176,.1843137255,.4470588235294118,.2156862745,.8431372549,.1647058824,.45098039215686275,.2509803922,.8509803922,.1490196078,.4549019607843137,.2823529412,.8588235294,.1333333333,.4588235294117647,.3176470588,.8666666667,.1176470588,.4627450980392157,.3529411765,.8745098039,.0980392157,.4666666666666667,.3882352941,.8823529412,.0823529412,.4705882352941177,.4235294118,.8901960784,.0666666667,.4745098039215686,.4588235294,.8980392157,.0509803922,.4784313725490197,.4941176471,.9058823529,.0431372549,.48235294117647065,.5294117647,.9137254902,.031372549,.48627450980392156,.5647058824,.9215686275,.0196078431,.49019607843137253,.6,.9294117647,.0078431373,.49411764705882355,.6352941176,.937254902,.0039215686,.4980392156862745,.6705882353,.9450980392,.0039215686,.5019607843137255,.7058823529,.9490196078,.0039215686,.5058823529411764,.7411764706,.9568627451,.0039215686,.5098039215686274,.7725490196,.9607843137,.0039215686,.5137254901960784,.8078431373,.968627451,.0039215686,.5176470588235295,.8431372549,.9725490196,.0039215686,.5215686274509804,.8784313725,.9803921569,.0039215686,.5254901960784314,.9137254902,.9843137255,.0039215686,.5294117647058824,.9490196078,.9921568627,.0039215686,.5333333333333333,.9960784314,.9960784314,.0039215686,.5372549019607843,.9960784314,.9960784314,.0039215686,.5411764705882353,.9960784314,.9921568627,.0039215686,.5450980392156862,.9960784314,.9843137255,.0039215686,.5490196078431373,.9960784314,.9764705882,.0039215686,.5529411764705883,.9960784314,.968627451,.0039215686,.5568627450980392,.9960784314,.9607843137,.0039215686,.5607843137254902,.9960784314,.9529411765,.0039215686,.5647058823529412,.9960784314,.9450980392,.0039215686,.5686274509803921,.9960784314,.937254902,.0039215686,.5725490196078431,.9960784314,.9294117647,.0039215686,.5764705882352941,.9960784314,.9215686275,.0039215686,.5803921568627451,.9960784314,.9137254902,.0039215686,.5843137254901961,.9960784314,.9058823529,.0039215686,.5882352941176471,.9960784314,.8980392157,.0039215686,.592156862745098,.9960784314,.8901960784,.0039215686,.596078431372549,.9960784314,.8823529412,.0039215686,.6,.9960784314,.8745098039,.0039215686,.6039215686274509,.9960784314,.8666666667,.0039215686,.6078431372549019,.9960784314,.8588235294,.0039215686,.611764705882353,.9960784314,.8509803922,.0039215686,.615686274509804,.9960784314,.8431372549,.0039215686,.6196078431372549,.9960784314,.8352941176,.0039215686,.6235294117647059,.9960784314,.8274509804,.0039215686,.6274509803921569,.9960784314,.8196078431,.0039215686,.6313725490196078,.9960784314,.8117647059,.0039215686,.6352941176470588,.9960784314,.8039215686,.0039215686,.6392156862745098,.9960784314,.7960784314,.0039215686,.6431372549019608,.9960784314,.7882352941,.0039215686,.6470588235294118,.9960784314,.7803921569,.0039215686,.6509803921568628,.9960784314,.7725490196,.0039215686,.6549019607843137,.9960784314,.7647058824,.0039215686,.6588235294117647,.9960784314,.7568627451,.0039215686,.6627450980392157,.9960784314,.7490196078,.0039215686,.6666666666666666,.9960784314,.7450980392,.0039215686,.6705882352941176,.9960784314,.737254902,.0039215686,.6745098039215687,.9960784314,.7294117647,.0039215686,.6784313725490196,.9960784314,.7215686275,.0039215686,.6823529411764706,.9960784314,.7137254902,.0039215686,.6862745098039216,.9960784314,.7058823529,.0039215686,.6901960784313725,.9960784314,.6980392157,.0039215686,.6941176470588235,.9960784314,.6901960784,.0039215686,.6980392156862745,.9960784314,.6823529412,.0039215686,.7019607843137254,.9960784314,.6745098039,.0039215686,.7058823529411765,.9960784314,.6666666667,.0039215686,.7098039215686275,.9960784314,.6588235294,.0039215686,.7137254901960784,.9960784314,.6509803922,.0039215686,.7176470588235294,.9960784314,.6431372549,.0039215686,.7215686274509804,.9960784314,.6352941176,.0039215686,.7254901960784313,.9960784314,.6274509804,.0039215686,.7294117647058823,.9960784314,.6196078431,.0039215686,.7333333333333333,.9960784314,.6117647059,.0039215686,.7372549019607844,.9960784314,.6039215686,.0039215686,.7411764705882353,.9960784314,.5960784314,.0039215686,.7450980392156863,.9960784314,.5882352941,.0039215686,.7490196078431373,.9960784314,.5803921569,.0039215686,.7529411764705882,.9960784314,.5725490196,.0039215686,.7568627450980392,.9960784314,.5647058824,.0039215686,.7607843137254902,.9960784314,.5568627451,.0039215686,.7647058823529411,.9960784314,.5490196078,.0039215686,.7686274509803922,.9960784314,.5411764706,.0039215686,.7725490196078432,.9960784314,.5333333333,.0039215686,.7764705882352941,.9960784314,.5254901961,.0039215686,.7803921568627451,.9960784314,.5176470588,.0039215686,.7843137254901961,.9960784314,.5098039216,.0039215686,.788235294117647,.9960784314,.5019607843,.0039215686,.792156862745098,.9960784314,.4941176471,.0039215686,.796078431372549,.9960784314,.4862745098,.0039215686,.8,.9960784314,.4784313725,.0039215686,.803921568627451,.9960784314,.4705882353,.0039215686,.807843137254902,.9960784314,.462745098,.0039215686,.8117647058823529,.9960784314,.4549019608,.0039215686,.8156862745098039,.9960784314,.4470588235,.0039215686,.8196078431372549,.9960784314,.4392156863,.0039215686,.8235294117647058,.9960784314,.431372549,.0039215686,.8274509803921568,.9960784314,.4235294118,.0039215686,.8313725490196079,.9960784314,.4156862745,.0039215686,.8352941176470589,.9960784314,.4078431373,.0039215686,.8392156862745098,.9960784314,.4,.0039215686,.8431372549019608,.9960784314,.3921568627,.0039215686,.8470588235294118,.9960784314,.3843137255,.0039215686,.8509803921568627,.9960784314,.3764705882,.0039215686,.8549019607843137,.9960784314,.368627451,.0039215686,.8588235294117647,.9960784314,.3607843137,.0039215686,.8627450980392157,.9960784314,.3529411765,.0039215686,.8666666666666667,.9960784314,.3450980392,.0039215686,.8705882352941177,.9960784314,.337254902,.0039215686,.8745098039215686,.9960784314,.3294117647,.0039215686,.8784313725490196,.9960784314,.3215686275,.0039215686,.8823529411764706,.9960784314,.3137254902,.0039215686,.8862745098039215,.9960784314,.3058823529,.0039215686,.8901960784313725,.9960784314,.2980392157,.0039215686,.8941176470588236,.9960784314,.2901960784,.0039215686,.8980392156862745,.9960784314,.2823529412,.0039215686,.9019607843137255,.9960784314,.2705882353,.0039215686,.9058823529411765,.9960784314,.2588235294,.0039215686,.9098039215686274,.9960784314,.2509803922,.0039215686,.9137254901960784,.9960784314,.2431372549,.0039215686,.9176470588235294,.9960784314,.231372549,.0039215686,.9215686274509803,.9960784314,.2196078431,.0039215686,.9254901960784314,.9960784314,.2117647059,.0039215686,.9294117647058824,.9960784314,.2,.0039215686,.9333333333333333,.9960784314,.1882352941,.0039215686,.9372549019607843,.9960784314,.1764705882,.0039215686,.9411764705882354,.9960784314,.168627451,.0039215686,.9450980392156864,.9960784314,.1568627451,.0039215686,.9490196078431372,.9960784314,.1450980392,.0039215686,.9529411764705882,.9960784314,.1333333333,.0039215686,.9568627450980394,.9960784314,.1254901961,.0039215686,.9607843137254903,.9960784314,.1137254902,.0039215686,.9647058823529413,.9960784314,.1019607843,.0039215686,.9686274509803922,.9960784314,.0901960784,.0039215686,.9725490196078431,.9960784314,.0823529412,.0039215686,.9764705882352941,.9960784314,.0705882353,.0039215686,.9803921568627451,.9960784314,.0588235294,.0039215686,.984313725490196,.9960784314,.0470588235,.0039215686,.9882352941176471,.9960784314,.0392156863,.0039215686,.9921568627450981,.9960784314,.0274509804,.0039215686,.996078431372549,.9960784314,.0156862745,.0039215686,1,.9960784314,.0156862745,.0039215686],description:"S PET"},{ColorSpace:"RGB",Name:"perfusion",RGBPoints:[0,0,0,0,.00392156862745098,.0078431373,.0235294118,.0235294118,.00784313725490196,.0078431373,.031372549,.0470588235,.011764705882352941,.0078431373,.0392156863,.062745098,.01568627450980392,.0078431373,.0470588235,.0862745098,.0196078431372549,.0078431373,.0549019608,.1019607843,.023529411764705882,.0078431373,.0549019608,.1254901961,.027450980392156862,.0078431373,.062745098,.1411764706,.03137254901960784,.0078431373,.0705882353,.1647058824,.03529411764705882,.0078431373,.0784313725,.1803921569,.0392156862745098,.0078431373,.0862745098,.2039215686,.043137254901960784,.0078431373,.0862745098,.2196078431,.047058823529411764,.0078431373,.0941176471,.2431372549,.050980392156862744,.0078431373,.1019607843,.2666666667,.054901960784313725,.0078431373,.1098039216,.2823529412,.05882352941176471,.0078431373,.1176470588,.3058823529,.06274509803921569,.0078431373,.1176470588,.3215686275,.06666666666666667,.0078431373,.1254901961,.3450980392,.07058823529411765,.0078431373,.1333333333,.3607843137,.07450980392156863,.0078431373,.1411764706,.3843137255,.0784313725490196,.0078431373,.1490196078,.4,.08235294117647059,.0078431373,.1490196078,.4235294118,.08627450980392157,.0078431373,.1568627451,.4392156863,.09019607843137255,.0078431373,.1647058824,.462745098,.09411764705882353,.0078431373,.1725490196,.4784313725,.09803921568627451,.0078431373,.1803921569,.5019607843,.10196078431372549,.0078431373,.1803921569,.5254901961,.10588235294117647,.0078431373,.1882352941,.5411764706,.10980392156862745,.0078431373,.1960784314,.5647058824,.11372549019607843,.0078431373,.2039215686,.5803921569,.11764705882352942,.0078431373,.2117647059,.6039215686,.12156862745098039,.0078431373,.2117647059,.6196078431,.12549019607843137,.0078431373,.2196078431,.6431372549,.12941176470588237,.0078431373,.2274509804,.6588235294,.13333333333333333,.0078431373,.2352941176,.6823529412,.13725490196078433,.0078431373,.2431372549,.6980392157,.1411764705882353,.0078431373,.2431372549,.7215686275,.1450980392156863,.0078431373,.2509803922,.737254902,.14901960784313725,.0078431373,.2588235294,.7607843137,.15294117647058825,.0078431373,.2666666667,.7843137255,.1568627450980392,.0078431373,.2745098039,.8,.1607843137254902,.0078431373,.2745098039,.8235294118,.16470588235294117,.0078431373,.2823529412,.8392156863,.16862745098039217,.0078431373,.2901960784,.862745098,.17254901960784313,.0078431373,.2980392157,.8784313725,.17647058823529413,.0078431373,.3058823529,.9019607843,.1803921568627451,.0078431373,.3058823529,.9176470588,.1843137254901961,.0078431373,.2980392157,.9411764706,.18823529411764706,.0078431373,.3058823529,.9568627451,.19215686274509805,.0078431373,.2980392157,.9803921569,.19607843137254902,.0078431373,.2980392157,.9882352941,.2,.0078431373,.2901960784,.9803921569,.20392156862745098,.0078431373,.2901960784,.9647058824,.20784313725490197,.0078431373,.2823529412,.9568627451,.21176470588235294,.0078431373,.2823529412,.9411764706,.21568627450980393,.0078431373,.2745098039,.9333333333,.2196078431372549,.0078431373,.2666666667,.9176470588,.2235294117647059,.0078431373,.2666666667,.9098039216,.22745098039215686,.0078431373,.2588235294,.9019607843,.23137254901960785,.0078431373,.2588235294,.8862745098,.23529411764705885,.0078431373,.2509803922,.8784313725,.23921568627450984,.0078431373,.2509803922,.862745098,.24313725490196078,.0078431373,.2431372549,.8549019608,.24705882352941178,.0078431373,.2352941176,.8392156863,.25098039215686274,.0078431373,.2352941176,.831372549,.2549019607843137,.0078431373,.2274509804,.8235294118,.25882352941176473,.0078431373,.2274509804,.8078431373,.2627450980392157,.0078431373,.2196078431,.8,.26666666666666666,.0078431373,.2196078431,.7843137255,.27058823529411763,.0078431373,.2117647059,.7764705882,.27450980392156865,.0078431373,.2039215686,.7607843137,.2784313725490196,.0078431373,.2039215686,.7529411765,.2823529411764706,.0078431373,.1960784314,.7450980392,.28627450980392155,.0078431373,.1960784314,.7294117647,.2901960784313726,.0078431373,.1882352941,.7215686275,.29411764705882354,.0078431373,.1882352941,.7058823529,.2980392156862745,.0078431373,.1803921569,.6980392157,.30196078431372547,.0078431373,.1803921569,.6823529412,.3058823529411765,.0078431373,.1725490196,.6745098039,.30980392156862746,.0078431373,.1647058824,.6666666667,.3137254901960784,.0078431373,.1647058824,.6509803922,.3176470588235294,.0078431373,.1568627451,.6431372549,.3215686274509804,.0078431373,.1568627451,.6274509804,.3254901960784314,.0078431373,.1490196078,.6196078431,.32941176470588235,.0078431373,.1490196078,.6039215686,.3333333333333333,.0078431373,.1411764706,.5960784314,.33725490196078434,.0078431373,.1333333333,.5882352941,.3411764705882353,.0078431373,.1333333333,.5725490196,.34509803921568627,.0078431373,.1254901961,.5647058824,.34901960784313724,.0078431373,.1254901961,.5490196078,.35294117647058826,.0078431373,.1176470588,.5411764706,.3568627450980392,.0078431373,.1176470588,.5254901961,.3607843137254902,.0078431373,.1098039216,.5176470588,.36470588235294116,.0078431373,.1019607843,.5098039216,.3686274509803922,.0078431373,.1019607843,.4941176471,.37254901960784315,.0078431373,.0941176471,.4862745098,.3764705882352941,.0078431373,.0941176471,.4705882353,.3803921568627451,.0078431373,.0862745098,.462745098,.3843137254901961,.0078431373,.0862745098,.4470588235,.38823529411764707,.0078431373,.0784313725,.4392156863,.39215686274509803,.0078431373,.0705882353,.431372549,.396078431372549,.0078431373,.0705882353,.4156862745,.4,.0078431373,.062745098,.4078431373,.403921568627451,.0078431373,.062745098,.3921568627,.40784313725490196,.0078431373,.0549019608,.3843137255,.4117647058823529,.0078431373,.0549019608,.368627451,.41568627450980394,.0078431373,.0470588235,.3607843137,.4196078431372549,.0078431373,.0470588235,.3529411765,.4235294117647059,.0078431373,.0392156863,.337254902,.42745098039215684,.0078431373,.031372549,.3294117647,.43137254901960786,.0078431373,.031372549,.3137254902,.43529411764705883,.0078431373,.0235294118,.3058823529,.4392156862745098,.0078431373,.0235294118,.2901960784,.44313725490196076,.0078431373,.0156862745,.2823529412,.4470588235294118,.0078431373,.0156862745,.2745098039,.45098039215686275,.0078431373,.0078431373,.2588235294,.4549019607843137,.0235294118,.0078431373,.2509803922,.4588235294117647,.0078431373,.0078431373,.2352941176,.4627450980392157,.0078431373,.0078431373,.2274509804,.4666666666666667,.0078431373,.0078431373,.2117647059,.4705882352941177,.0078431373,.0078431373,.2039215686,.4745098039215686,.0078431373,.0078431373,.1960784314,.4784313725490197,.0078431373,.0078431373,.1803921569,.48235294117647065,.0078431373,.0078431373,.1725490196,.48627450980392156,.0078431373,.0078431373,.1568627451,.49019607843137253,.0078431373,.0078431373,.1490196078,.49411764705882355,.0078431373,.0078431373,.1333333333,.4980392156862745,.0078431373,.0078431373,.1254901961,.5019607843137255,.0078431373,.0078431373,.1176470588,.5058823529411764,.0078431373,.0078431373,.1019607843,.5098039215686274,.0078431373,.0078431373,.0941176471,.5137254901960784,.0078431373,.0078431373,.0784313725,.5176470588235295,.0078431373,.0078431373,.0705882353,.5215686274509804,.0078431373,.0078431373,.0549019608,.5254901960784314,.0078431373,.0078431373,.0470588235,.5294117647058824,.0235294118,.0078431373,.0392156863,.5333333333333333,.031372549,.0078431373,.0235294118,.5372549019607843,.0392156863,.0078431373,.0156862745,.5411764705882353,.0549019608,.0078431373,0,.5450980392156862,.062745098,.0078431373,0,.5490196078431373,.0705882353,.0078431373,0,.5529411764705883,.0862745098,.0078431373,0,.5568627450980392,.0941176471,.0078431373,0,.5607843137254902,.1019607843,.0078431373,0,.5647058823529412,.1098039216,.0078431373,0,.5686274509803921,.1254901961,.0078431373,0,.5725490196078431,.1333333333,.0078431373,0,.5764705882352941,.1411764706,.0078431373,0,.5803921568627451,.1568627451,.0078431373,0,.5843137254901961,.1647058824,.0078431373,0,.5882352941176471,.1725490196,.0078431373,0,.592156862745098,.1882352941,.0078431373,0,.596078431372549,.1960784314,.0078431373,0,.6,.2039215686,.0078431373,0,.6039215686274509,.2117647059,.0078431373,0,.6078431372549019,.2274509804,.0078431373,0,.611764705882353,.2352941176,.0078431373,0,.615686274509804,.2431372549,.0078431373,0,.6196078431372549,.2588235294,.0078431373,0,.6235294117647059,.2666666667,.0078431373,0,.6274509803921569,.2745098039,0,0,.6313725490196078,.2901960784,.0156862745,0,.6352941176470588,.2980392157,.0235294118,0,.6392156862745098,.3058823529,.0392156863,0,.6431372549019608,.3137254902,.0470588235,0,.6470588235294118,.3294117647,.0549019608,0,.6509803921568628,.337254902,.0705882353,0,.6549019607843137,.3450980392,.0784313725,0,.6588235294117647,.3607843137,.0862745098,0,.6627450980392157,.368627451,.1019607843,0,.6666666666666666,.3764705882,.1098039216,0,.6705882352941176,.3843137255,.1176470588,0,.6745098039215687,.4,.1333333333,0,.6784313725490196,.4078431373,.1411764706,0,.6823529411764706,.4156862745,.1490196078,0,.6862745098039216,.431372549,.1647058824,0,.6901960784313725,.4392156863,.1725490196,0,.6941176470588235,.4470588235,.1803921569,0,.6980392156862745,.462745098,.1960784314,0,.7019607843137254,.4705882353,.2039215686,0,.7058823529411765,.4784313725,.2117647059,0,.7098039215686275,.4862745098,.2274509804,0,.7137254901960784,.5019607843,.2352941176,0,.7176470588235294,.5098039216,.2431372549,0,.7215686274509804,.5176470588,.2588235294,0,.7254901960784313,.5333333333,.2666666667,0,.7294117647058823,.5411764706,.2745098039,0,.7333333333333333,.5490196078,.2901960784,0,.7372549019607844,.5647058824,.2980392157,0,.7411764705882353,.5725490196,.3058823529,0,.7450980392156863,.5803921569,.3215686275,0,.7490196078431373,.5882352941,.3294117647,0,.7529411764705882,.6039215686,.337254902,0,.7568627450980392,.6117647059,.3529411765,0,.7607843137254902,.6196078431,.3607843137,0,.7647058823529411,.6352941176,.368627451,0,.7686274509803922,.6431372549,.3843137255,0,.7725490196078432,.6509803922,.3921568627,0,.7764705882352941,.6588235294,.4,0,.7803921568627451,.6745098039,.4156862745,0,.7843137254901961,.6823529412,.4235294118,0,.788235294117647,.6901960784,.431372549,0,.792156862745098,.7058823529,.4470588235,0,.796078431372549,.7137254902,.4549019608,0,.8,.7215686275,.462745098,0,.803921568627451,.737254902,.4784313725,0,.807843137254902,.7450980392,.4862745098,0,.8117647058823529,.7529411765,.4941176471,0,.8156862745098039,.7607843137,.5098039216,0,.8196078431372549,.7764705882,.5176470588,0,.8235294117647058,.7843137255,.5254901961,0,.8274509803921568,.7921568627,.5411764706,0,.8313725490196079,.8078431373,.5490196078,0,.8352941176470589,.8156862745,.5568627451,0,.8392156862745098,.8235294118,.5725490196,0,.8431372549019608,.8392156863,.5803921569,0,.8470588235294118,.8470588235,.5882352941,0,.8509803921568627,.8549019608,.6039215686,0,.8549019607843137,.862745098,.6117647059,0,.8588235294117647,.8784313725,.6196078431,0,.8627450980392157,.8862745098,.6352941176,0,.8666666666666667,.8941176471,.6431372549,0,.8705882352941177,.9098039216,.6509803922,0,.8745098039215686,.9176470588,.6666666667,0,.8784313725490196,.9254901961,.6745098039,0,.8823529411764706,.9411764706,.6823529412,0,.8862745098039215,.9490196078,.6980392157,0,.8901960784313725,.9568627451,.7058823529,0,.8941176470588236,.9647058824,.7137254902,0,.8980392156862745,.9803921569,.7294117647,0,.9019607843137255,.9882352941,.737254902,0,.9058823529411765,.9960784314,.7450980392,0,.9098039215686274,.9960784314,.7607843137,0,.9137254901960784,.9960784314,.768627451,0,.9176470588235294,.9960784314,.7764705882,0,.9215686274509803,.9960784314,.7921568627,0,.9254901960784314,.9960784314,.8,0,.9294117647058824,.9960784314,.8078431373,0,.9333333333333333,.9960784314,.8235294118,0,.9372549019607843,.9960784314,.831372549,0,.9411764705882354,.9960784314,.8392156863,0,.9450980392156864,.9960784314,.8549019608,0,.9490196078431372,.9960784314,.862745098,.0549019608,.9529411764705882,.9960784314,.8705882353,.1098039216,.9568627450980394,.9960784314,.8862745098,.1647058824,.9607843137254903,.9960784314,.8941176471,.2196078431,.9647058823529413,.9960784314,.9019607843,.2666666667,.9686274509803922,.9960784314,.9176470588,.3215686275,.9725490196078431,.9960784314,.9254901961,.3764705882,.9764705882352941,.9960784314,.9333333333,.431372549,.9803921568627451,.9960784314,.9490196078,.4862745098,.984313725490196,.9960784314,.9568627451,.5333333333,.9882352941176471,.9960784314,.9647058824,.5882352941,.9921568627450981,.9960784314,.9803921569,.6431372549,.996078431372549,.9960784314,.9882352941,.6980392157,1,.9960784314,.9960784314,.7450980392],description:"Perfusion"},{ColorSpace:"RGB",Name:"rainbow_2",RGBPoints:[0,0,0,0,.00392156862745098,.0156862745,0,.0117647059,.00784313725490196,.0352941176,0,.0274509804,.011764705882352941,.0509803922,0,.0392156863,.01568627450980392,.0705882353,0,.0549019608,.0196078431372549,.0862745098,0,.0745098039,.023529411764705882,.1058823529,0,.0901960784,.027450980392156862,.1215686275,0,.1098039216,.03137254901960784,.1411764706,0,.1254901961,.03529411764705882,.1568627451,0,.1490196078,.0392156862745098,.1764705882,0,.168627451,.043137254901960784,.1960784314,0,.1882352941,.047058823529411764,.2117647059,0,.2078431373,.050980392156862744,.2274509804,0,.231372549,.054901960784313725,.2392156863,0,.2470588235,.05882352941176471,.2509803922,0,.2666666667,.06274509803921569,.2666666667,0,.2823529412,.06666666666666667,.2705882353,0,.3019607843,.07058823529411765,.2823529412,0,.3176470588,.07450980392156863,.2901960784,0,.337254902,.0784313725490196,.3019607843,0,.3568627451,.08235294117647059,.3098039216,0,.3725490196,.08627450980392157,.3137254902,0,.3921568627,.09019607843137255,.3215686275,0,.4078431373,.09411764705882353,.3254901961,0,.4274509804,.09803921568627451,.3333333333,0,.4431372549,.10196078431372549,.3294117647,0,.462745098,.10588235294117647,.337254902,0,.4784313725,.10980392156862745,.3411764706,0,.4980392157,.11372549019607843,.3450980392,0,.5176470588,.11764705882352942,.337254902,0,.5333333333,.12156862745098039,.3411764706,0,.5529411765,.12549019607843137,.3411764706,0,.568627451,.12941176470588237,.3411764706,0,.5882352941,.13333333333333333,.3333333333,0,.6039215686,.13725490196078433,.3294117647,0,.6235294118,.1411764705882353,.3294117647,0,.6392156863,.1450980392156863,.3294117647,0,.6588235294,.14901960784313725,.3254901961,0,.6784313725,.15294117647058825,.3098039216,0,.6941176471,.1568627450980392,.3058823529,0,.7137254902,.1607843137254902,.3019607843,0,.7294117647,.16470588235294117,.2980392157,0,.7490196078,.16862745098039217,.2784313725,0,.7647058824,.17254901960784313,.2745098039,0,.7843137255,.17647058823529413,.2666666667,0,.8,.1803921568627451,.2588235294,0,.8196078431,.1843137254901961,.2352941176,0,.8392156863,.18823529411764706,.2274509804,0,.8549019608,.19215686274509805,.2156862745,0,.8745098039,.19607843137254902,.2078431373,0,.8901960784,.2,.1803921569,0,.9098039216,.20392156862745098,.168627451,0,.9254901961,.20784313725490197,.1568627451,0,.9450980392,.21176470588235294,.1411764706,0,.9607843137,.21568627450980393,.1294117647,0,.9803921569,.2196078431372549,.0980392157,0,1,.2235294117647059,.0823529412,0,1,.22745098039215686,.062745098,0,1,.23137254901960785,.0470588235,0,1,.23529411764705885,.0156862745,0,1,.23921568627450984,0,0,1,.24313725490196078,0,.0156862745,1,.24705882352941178,0,.031372549,1,.25098039215686274,0,.062745098,1,.2549019607843137,0,.0823529412,1,.25882352941176473,0,.0980392157,1,.2627450980392157,0,.1137254902,1,.26666666666666666,0,.1490196078,1,.27058823529411763,0,.1647058824,1,.27450980392156865,0,.1803921569,1,.2784313725490196,0,.2,1,.2823529411764706,0,.2156862745,1,.28627450980392155,0,.2470588235,1,.2901960784313726,0,.262745098,1,.29411764705882354,0,.2823529412,1,.2980392156862745,0,.2980392157,1,.30196078431372547,0,.3294117647,1,.3058823529411765,0,.3490196078,1,.30980392156862746,0,.3647058824,1,.3137254901960784,0,.3803921569,1,.3176470588235294,0,.4156862745,1,.3215686274509804,0,.431372549,1,.3254901960784314,0,.4470588235,1,.32941176470588235,0,.4666666667,1,.3333333333333333,0,.4980392157,1,.33725490196078434,0,.5137254902,1,.3411764705882353,0,.5294117647,1,.34509803921568627,0,.5490196078,1,.34901960784313724,0,.5647058824,1,.35294117647058826,0,.5960784314,1,.3568627450980392,0,.6156862745,1,.3607843137254902,0,.631372549,1,.36470588235294116,0,.6470588235,1,.3686274509803922,0,.6823529412,1,.37254901960784315,0,.6980392157,1,.3764705882352941,0,.7137254902,1,.3803921568627451,0,.7333333333,1,.3843137254901961,0,.7647058824,1,.38823529411764707,0,.7803921569,1,.39215686274509803,0,.7960784314,1,.396078431372549,0,.8156862745,1,.4,0,.8470588235,1,.403921568627451,0,.862745098,1,.40784313725490196,0,.8823529412,1,.4117647058823529,0,.8980392157,1,.41568627450980394,0,.9137254902,1,.4196078431372549,0,.9490196078,1,.4235294117647059,0,.9647058824,1,.42745098039215684,0,.9803921569,1,.43137254901960786,0,1,1,.43529411764705883,0,1,.9647058824,.4392156862745098,0,1,.9490196078,.44313725490196076,0,1,.9333333333,.4470588235294118,0,1,.9137254902,.45098039215686275,0,1,.8823529412,.4549019607843137,0,1,.862745098,.4588235294117647,0,1,.8470588235,.4627450980392157,0,1,.831372549,.4666666666666667,0,1,.7960784314,.4705882352941177,0,1,.7803921569,.4745098039215686,0,1,.7647058824,.4784313725490197,0,1,.7490196078,.48235294117647065,0,1,.7333333333,.48627450980392156,0,1,.6980392157,.49019607843137253,0,1,.6823529412,.49411764705882355,0,1,.6666666667,.4980392156862745,0,1,.6470588235,.5019607843137255,0,1,.6156862745,.5058823529411764,0,1,.5960784314,.5098039215686274,0,1,.5803921569,.5137254901960784,0,1,.5647058824,.5176470588235295,0,1,.5294117647,.5215686274509804,0,1,.5137254902,.5254901960784314,0,1,.4980392157,.5294117647058824,0,1,.4823529412,.5333333333333333,0,1,.4470588235,.5372549019607843,0,1,.431372549,.5411764705882353,0,1,.4156862745,.5450980392156862,0,1,.4,.5490196078431373,0,1,.3803921569,.5529411764705883,0,1,.3490196078,.5568627450980392,0,1,.3294117647,.5607843137254902,0,1,.3137254902,.5647058823529412,0,1,.2980392157,.5686274509803921,0,1,.262745098,.5725490196078431,0,1,.2470588235,.5764705882352941,0,1,.231372549,.5803921568627451,0,1,.2156862745,.5843137254901961,0,1,.1803921569,.5882352941176471,0,1,.1647058824,.592156862745098,0,1,.1490196078,.596078431372549,0,1,.1333333333,.6,0,1,.0980392157,.6039215686274509,0,1,.0823529412,.6078431372549019,0,1,.062745098,.611764705882353,0,1,.0470588235,.615686274509804,0,1,.031372549,.6196078431372549,0,1,0,.6235294117647059,.0156862745,1,0,.6274509803921569,.031372549,1,0,.6313725490196078,.0470588235,1,0,.6352941176470588,.0823529412,1,0,.6392156862745098,.0980392157,1,0,.6431372549019608,.1137254902,1,0,.6470588235294118,.1294117647,1,0,.6509803921568628,.1647058824,1,0,.6549019607843137,.1803921569,1,0,.6588235294117647,.2,1,0,.6627450980392157,.2156862745,1,0,.6666666666666666,.2470588235,1,0,.6705882352941176,.262745098,1,0,.6745098039215687,.2823529412,1,0,.6784313725490196,.2980392157,1,0,.6823529411764706,.3137254902,1,0,.6862745098039216,.3490196078,1,0,.6901960784313725,.3647058824,1,0,.6941176470588235,.3803921569,1,0,.6980392156862745,.3960784314,1,0,.7019607843137254,.431372549,1,0,.7058823529411765,.4470588235,1,0,.7098039215686275,.4666666667,1,0,.7137254901960784,.4823529412,1,0,.7176470588235294,.5137254902,1,0,.7215686274509804,.5294117647,1,0,.7254901960784313,.5490196078,1,0,.7294117647058823,.5647058824,1,0,.7333333333333333,.6,1,0,.7372549019607844,.6156862745,1,0,.7411764705882353,.631372549,1,0,.7450980392156863,.6470588235,1,0,.7490196078431373,.662745098,1,0,.7529411764705882,.6980392157,1,0,.7568627450980392,.7137254902,1,0,.7607843137254902,.7333333333,1,0,.7647058823529411,.7490196078,1,0,.7686274509803922,.7803921569,1,0,.7725490196078432,.7960784314,1,0,.7764705882352941,.8156862745,1,0,.7803921568627451,.831372549,1,0,.7843137254901961,.8666666667,1,0,.788235294117647,.8823529412,1,0,.792156862745098,.8980392157,1,0,.796078431372549,.9137254902,1,0,.8,.9490196078,1,0,.803921568627451,.9647058824,1,0,.807843137254902,.9803921569,1,0,.8117647058823529,1,1,0,.8156862745098039,1,.9803921569,0,.8196078431372549,1,.9490196078,0,.8235294117647058,1,.9333333333,0,.8274509803921568,1,.9137254902,0,.8313725490196079,1,.8980392157,0,.8352941176470589,1,.8666666667,0,.8392156862745098,1,.8470588235,0,.8431372549019608,1,.831372549,0,.8470588235294118,1,.8156862745,0,.8509803921568627,1,.7803921569,0,.8549019607843137,1,.7647058824,0,.8588235294117647,1,.7490196078,0,.8627450980392157,1,.7333333333,0,.8666666666666667,1,.6980392157,0,.8705882352941177,1,.6823529412,0,.8745098039215686,1,.6666666667,0,.8784313725490196,1,.6470588235,0,.8823529411764706,1,.631372549,0,.8862745098039215,1,.6,0,.8901960784313725,1,.5803921569,0,.8941176470588236,1,.5647058824,0,.8980392156862745,1,.5490196078,0,.9019607843137255,1,.5137254902,0,.9058823529411765,1,.4980392157,0,.9098039215686274,1,.4823529412,0,.9137254901960784,1,.4666666667,0,.9176470588235294,1,.431372549,0,.9215686274509803,1,.4156862745,0,.9254901960784314,1,.4,0,.9294117647058824,1,.3803921569,0,.9333333333333333,1,.3490196078,0,.9372549019607843,1,.3333333333,0,.9411764705882354,1,.3137254902,0,.9450980392156864,1,.2980392157,0,.9490196078431372,1,.2823529412,0,.9529411764705882,1,.2470588235,0,.9568627450980394,1,.231372549,0,.9607843137254903,1,.2156862745,0,.9647058823529413,1,.2,0,.9686274509803922,1,.1647058824,0,.9725490196078431,1,.1490196078,0,.9764705882352941,1,.1333333333,0,.9803921568627451,1,.1137254902,0,.984313725490196,1,.0823529412,0,.9882352941176471,1,.0666666667,0,.9921568627450981,1,.0470588235,0,.996078431372549,1,.031372549,0,1,1,0,0],description:"Rainbow"},{ColorSpace:"RGB",Name:"suv",RGBPoints:[0,1,1,1,.00392156862745098,1,1,1,.00784313725490196,1,1,1,.011764705882352941,1,1,1,.01568627450980392,1,1,1,.0196078431372549,1,1,1,.023529411764705882,1,1,1,.027450980392156862,1,1,1,.03137254901960784,1,1,1,.03529411764705882,1,1,1,.0392156862745098,1,1,1,.043137254901960784,1,1,1,.047058823529411764,1,1,1,.050980392156862744,1,1,1,.054901960784313725,1,1,1,.05882352941176471,1,1,1,.06274509803921569,1,1,1,.06666666666666667,1,1,1,.07058823529411765,1,1,1,.07450980392156863,1,1,1,.0784313725490196,1,1,1,.08235294117647059,1,1,1,.08627450980392157,1,1,1,.09019607843137255,1,1,1,.09411764705882353,1,1,1,.09803921568627451,1,1,1,.10196078431372549,.737254902,.737254902,.737254902,.10588235294117647,.737254902,.737254902,.737254902,.10980392156862745,.737254902,.737254902,.737254902,.11372549019607843,.737254902,.737254902,.737254902,.11764705882352942,.737254902,.737254902,.737254902,.12156862745098039,.737254902,.737254902,.737254902,.12549019607843137,.737254902,.737254902,.737254902,.12941176470588237,.737254902,.737254902,.737254902,.13333333333333333,.737254902,.737254902,.737254902,.13725490196078433,.737254902,.737254902,.737254902,.1411764705882353,.737254902,.737254902,.737254902,.1450980392156863,.737254902,.737254902,.737254902,.14901960784313725,.737254902,.737254902,.737254902,.15294117647058825,.737254902,.737254902,.737254902,.1568627450980392,.737254902,.737254902,.737254902,.1607843137254902,.737254902,.737254902,.737254902,.16470588235294117,.737254902,.737254902,.737254902,.16862745098039217,.737254902,.737254902,.737254902,.17254901960784313,.737254902,.737254902,.737254902,.17647058823529413,.737254902,.737254902,.737254902,.1803921568627451,.737254902,.737254902,.737254902,.1843137254901961,.737254902,.737254902,.737254902,.18823529411764706,.737254902,.737254902,.737254902,.19215686274509805,.737254902,.737254902,.737254902,.19607843137254902,.737254902,.737254902,.737254902,.2,.737254902,.737254902,.737254902,.20392156862745098,.431372549,0,.568627451,.20784313725490197,.431372549,0,.568627451,.21176470588235294,.431372549,0,.568627451,.21568627450980393,.431372549,0,.568627451,.2196078431372549,.431372549,0,.568627451,.2235294117647059,.431372549,0,.568627451,.22745098039215686,.431372549,0,.568627451,.23137254901960785,.431372549,0,.568627451,.23529411764705885,.431372549,0,.568627451,.23921568627450984,.431372549,0,.568627451,.24313725490196078,.431372549,0,.568627451,.24705882352941178,.431372549,0,.568627451,.25098039215686274,.431372549,0,.568627451,.2549019607843137,.431372549,0,.568627451,.25882352941176473,.431372549,0,.568627451,.2627450980392157,.431372549,0,.568627451,.26666666666666666,.431372549,0,.568627451,.27058823529411763,.431372549,0,.568627451,.27450980392156865,.431372549,0,.568627451,.2784313725490196,.431372549,0,.568627451,.2823529411764706,.431372549,0,.568627451,.28627450980392155,.431372549,0,.568627451,.2901960784313726,.431372549,0,.568627451,.29411764705882354,.431372549,0,.568627451,.2980392156862745,.431372549,0,.568627451,.30196078431372547,.431372549,0,.568627451,.3058823529411765,.2509803922,.3333333333,.6509803922,.30980392156862746,.2509803922,.3333333333,.6509803922,.3137254901960784,.2509803922,.3333333333,.6509803922,.3176470588235294,.2509803922,.3333333333,.6509803922,.3215686274509804,.2509803922,.3333333333,.6509803922,.3254901960784314,.2509803922,.3333333333,.6509803922,.32941176470588235,.2509803922,.3333333333,.6509803922,.3333333333333333,.2509803922,.3333333333,.6509803922,.33725490196078434,.2509803922,.3333333333,.6509803922,.3411764705882353,.2509803922,.3333333333,.6509803922,.34509803921568627,.2509803922,.3333333333,.6509803922,.34901960784313724,.2509803922,.3333333333,.6509803922,.35294117647058826,.2509803922,.3333333333,.6509803922,.3568627450980392,.2509803922,.3333333333,.6509803922,.3607843137254902,.2509803922,.3333333333,.6509803922,.36470588235294116,.2509803922,.3333333333,.6509803922,.3686274509803922,.2509803922,.3333333333,.6509803922,.37254901960784315,.2509803922,.3333333333,.6509803922,.3764705882352941,.2509803922,.3333333333,.6509803922,.3803921568627451,.2509803922,.3333333333,.6509803922,.3843137254901961,.2509803922,.3333333333,.6509803922,.38823529411764707,.2509803922,.3333333333,.6509803922,.39215686274509803,.2509803922,.3333333333,.6509803922,.396078431372549,.2509803922,.3333333333,.6509803922,.4,.2509803922,.3333333333,.6509803922,.403921568627451,.2509803922,.3333333333,.6509803922,.40784313725490196,0,.8,1,.4117647058823529,0,.8,1,.41568627450980394,0,.8,1,.4196078431372549,0,.8,1,.4235294117647059,0,.8,1,.42745098039215684,0,.8,1,.43137254901960786,0,.8,1,.43529411764705883,0,.8,1,.4392156862745098,0,.8,1,.44313725490196076,0,.8,1,.4470588235294118,0,.8,1,.45098039215686275,0,.8,1,.4549019607843137,0,.8,1,.4588235294117647,0,.8,1,.4627450980392157,0,.8,1,.4666666666666667,0,.8,1,.4705882352941177,0,.8,1,.4745098039215686,0,.8,1,.4784313725490197,0,.8,1,.48235294117647065,0,.8,1,.48627450980392156,0,.8,1,.49019607843137253,0,.8,1,.49411764705882355,0,.8,1,.4980392156862745,0,.8,1,.5019607843137255,0,.8,1,.5058823529411764,0,.6666666667,.5333333333,.5098039215686274,0,.6666666667,.5333333333,.5137254901960784,0,.6666666667,.5333333333,.5176470588235295,0,.6666666667,.5333333333,.5215686274509804,0,.6666666667,.5333333333,.5254901960784314,0,.6666666667,.5333333333,.5294117647058824,0,.6666666667,.5333333333,.5333333333333333,0,.6666666667,.5333333333,.5372549019607843,0,.6666666667,.5333333333,.5411764705882353,0,.6666666667,.5333333333,.5450980392156862,0,.6666666667,.5333333333,.5490196078431373,0,.6666666667,.5333333333,.5529411764705883,0,.6666666667,.5333333333,.5568627450980392,0,.6666666667,.5333333333,.5607843137254902,0,.6666666667,.5333333333,.5647058823529412,0,.6666666667,.5333333333,.5686274509803921,0,.6666666667,.5333333333,.5725490196078431,0,.6666666667,.5333333333,.5764705882352941,0,.6666666667,.5333333333,.5803921568627451,0,.6666666667,.5333333333,.5843137254901961,0,.6666666667,.5333333333,.5882352941176471,0,.6666666667,.5333333333,.592156862745098,0,.6666666667,.5333333333,.596078431372549,0,.6666666667,.5333333333,.6,0,.6666666667,.5333333333,.6039215686274509,0,.6666666667,.5333333333,.6078431372549019,.4,1,.4,.611764705882353,.4,1,.4,.615686274509804,.4,1,.4,.6196078431372549,.4,1,.4,.6235294117647059,.4,1,.4,.6274509803921569,.4,1,.4,.6313725490196078,.4,1,.4,.6352941176470588,.4,1,.4,.6392156862745098,.4,1,.4,.6431372549019608,.4,1,.4,.6470588235294118,.4,1,.4,.6509803921568628,.4,1,.4,.6549019607843137,.4,1,.4,.6588235294117647,.4,1,.4,.6627450980392157,.4,1,.4,.6666666666666666,.4,1,.4,.6705882352941176,.4,1,.4,.6745098039215687,.4,1,.4,.6784313725490196,.4,1,.4,.6823529411764706,.4,1,.4,.6862745098039216,.4,1,.4,.6901960784313725,.4,1,.4,.6941176470588235,.4,1,.4,.6980392156862745,.4,1,.4,.7019607843137254,.4,1,.4,.7058823529411765,1,.9490196078,0,.7098039215686275,1,.9490196078,0,.7137254901960784,1,.9490196078,0,.7176470588235294,1,.9490196078,0,.7215686274509804,1,.9490196078,0,.7254901960784313,1,.9490196078,0,.7294117647058823,1,.9490196078,0,.7333333333333333,1,.9490196078,0,.7372549019607844,1,.9490196078,0,.7411764705882353,1,.9490196078,0,.7450980392156863,1,.9490196078,0,.7490196078431373,1,.9490196078,0,.7529411764705882,1,.9490196078,0,.7568627450980392,1,.9490196078,0,.7607843137254902,1,.9490196078,0,.7647058823529411,1,.9490196078,0,.7686274509803922,1,.9490196078,0,.7725490196078432,1,.9490196078,0,.7764705882352941,1,.9490196078,0,.7803921568627451,1,.9490196078,0,.7843137254901961,1,.9490196078,0,.788235294117647,1,.9490196078,0,.792156862745098,1,.9490196078,0,.796078431372549,1,.9490196078,0,.8,1,.9490196078,0,.803921568627451,1,.9490196078,0,.807843137254902,.9490196078,.6509803922,.2509803922,.8117647058823529,.9490196078,.6509803922,.2509803922,.8156862745098039,.9490196078,.6509803922,.2509803922,.8196078431372549,.9490196078,.6509803922,.2509803922,.8235294117647058,.9490196078,.6509803922,.2509803922,.8274509803921568,.9490196078,.6509803922,.2509803922,.8313725490196079,.9490196078,.6509803922,.2509803922,.8352941176470589,.9490196078,.6509803922,.2509803922,.8392156862745098,.9490196078,.6509803922,.2509803922,.8431372549019608,.9490196078,.6509803922,.2509803922,.8470588235294118,.9490196078,.6509803922,.2509803922,.8509803921568627,.9490196078,.6509803922,.2509803922,.8549019607843137,.9490196078,.6509803922,.2509803922,.8588235294117647,.9490196078,.6509803922,.2509803922,.8627450980392157,.9490196078,.6509803922,.2509803922,.8666666666666667,.9490196078,.6509803922,.2509803922,.8705882352941177,.9490196078,.6509803922,.2509803922,.8745098039215686,.9490196078,.6509803922,.2509803922,.8784313725490196,.9490196078,.6509803922,.2509803922,.8823529411764706,.9490196078,.6509803922,.2509803922,.8862745098039215,.9490196078,.6509803922,.2509803922,.8901960784313725,.9490196078,.6509803922,.2509803922,.8941176470588236,.9490196078,.6509803922,.2509803922,.8980392156862745,.9490196078,.6509803922,.2509803922,.9019607843137255,.9490196078,.6509803922,.2509803922,.9058823529411765,.9490196078,.6509803922,.2509803922,.9098039215686274,1,0,0,.9137254901960784,1,0,0,.9176470588235294,1,0,0,.9215686274509803,1,0,0,.9254901960784314,1,0,0,.9294117647058824,1,0,0,.9333333333333333,1,0,0,.9372549019607843,1,0,0,.9411764705882354,1,0,0,.9450980392156864,1,0,0,.9490196078431372,1,0,0,.9529411764705882,1,0,0,.9568627450980394,1,0,0,.9607843137254903,1,0,0,.9647058823529413,1,0,0,.9686274509803922,1,0,0,.9725490196078431,1,0,0,.9764705882352941,1,0,0,.9803921568627451,1,0,0,.984313725490196,1,0,0,.9882352941176471,1,0,0,.9921568627450981,1,0,0,.996078431372549,1,0,0,1,1,0,0],description:"SUV"},{ColorSpace:"RGB",Name:"ge_256",RGBPoints:[0,.0039215686,.0078431373,.0078431373,.00392156862745098,.0039215686,.0078431373,.0078431373,.00784313725490196,.0039215686,.0078431373,.0117647059,.011764705882352941,.0039215686,.0117647059,.0156862745,.01568627450980392,.0039215686,.0117647059,.0196078431,.0196078431372549,.0039215686,.0156862745,.0235294118,.023529411764705882,.0039215686,.0156862745,.0274509804,.027450980392156862,.0039215686,.0196078431,.031372549,.03137254901960784,.0039215686,.0196078431,.0352941176,.03529411764705882,.0039215686,.0235294118,.0392156863,.0392156862745098,.0039215686,.0235294118,.0431372549,.043137254901960784,.0039215686,.0274509804,.0470588235,.047058823529411764,.0039215686,.0274509804,.0509803922,.050980392156862744,.0039215686,.031372549,.0549019608,.054901960784313725,.0039215686,.031372549,.0588235294,.05882352941176471,.0039215686,.0352941176,.062745098,.06274509803921569,.0039215686,.0352941176,.0666666667,.06666666666666667,.0039215686,.0392156863,.0705882353,.07058823529411765,.0039215686,.0392156863,.0745098039,.07450980392156863,.0039215686,.0431372549,.0784313725,.0784313725490196,.0039215686,.0431372549,.0823529412,.08235294117647059,.0039215686,.0470588235,.0862745098,.08627450980392157,.0039215686,.0470588235,.0901960784,.09019607843137255,.0039215686,.0509803922,.0941176471,.09411764705882353,.0039215686,.0509803922,.0980392157,.09803921568627451,.0039215686,.0549019608,.1019607843,.10196078431372549,.0039215686,.0549019608,.1058823529,.10588235294117647,.0039215686,.0588235294,.1098039216,.10980392156862745,.0039215686,.0588235294,.1137254902,.11372549019607843,.0039215686,.062745098,.1176470588,.11764705882352942,.0039215686,.062745098,.1215686275,.12156862745098039,.0039215686,.0666666667,.1254901961,.12549019607843137,.0039215686,.0666666667,.1294117647,.12941176470588237,.0039215686,.0705882353,.1333333333,.13333333333333333,.0039215686,.0705882353,.137254902,.13725490196078433,.0039215686,.0745098039,.1411764706,.1411764705882353,.0039215686,.0745098039,.1450980392,.1450980392156863,.0039215686,.0784313725,.1490196078,.14901960784313725,.0039215686,.0784313725,.1529411765,.15294117647058825,.0039215686,.0823529412,.1568627451,.1568627450980392,.0039215686,.0823529412,.1607843137,.1607843137254902,.0039215686,.0862745098,.1647058824,.16470588235294117,.0039215686,.0862745098,.168627451,.16862745098039217,.0039215686,.0901960784,.1725490196,.17254901960784313,.0039215686,.0901960784,.1764705882,.17647058823529413,.0039215686,.0941176471,.1803921569,.1803921568627451,.0039215686,.0941176471,.1843137255,.1843137254901961,.0039215686,.0980392157,.1882352941,.18823529411764706,.0039215686,.0980392157,.1921568627,.19215686274509805,.0039215686,.1019607843,.1960784314,.19607843137254902,.0039215686,.1019607843,.2,.2,.0039215686,.1058823529,.2039215686,.20392156862745098,.0039215686,.1058823529,.2078431373,.20784313725490197,.0039215686,.1098039216,.2117647059,.21176470588235294,.0039215686,.1098039216,.2156862745,.21568627450980393,.0039215686,.1137254902,.2196078431,.2196078431372549,.0039215686,.1137254902,.2235294118,.2235294117647059,.0039215686,.1176470588,.2274509804,.22745098039215686,.0039215686,.1176470588,.231372549,.23137254901960785,.0039215686,.1215686275,.2352941176,.23529411764705885,.0039215686,.1215686275,.2392156863,.23921568627450984,.0039215686,.1254901961,.2431372549,.24313725490196078,.0039215686,.1254901961,.2470588235,.24705882352941178,.0039215686,.1294117647,.2509803922,.25098039215686274,.0039215686,.1294117647,.2509803922,.2549019607843137,.0078431373,.1254901961,.2549019608,.25882352941176473,.0156862745,.1254901961,.2588235294,.2627450980392157,.0235294118,.1215686275,.262745098,.26666666666666666,.031372549,.1215686275,.2666666667,.27058823529411763,.0392156863,.1176470588,.2705882353,.27450980392156865,.0470588235,.1176470588,.2745098039,.2784313725490196,.0549019608,.1137254902,.2784313725,.2823529411764706,.062745098,.1137254902,.2823529412,.28627450980392155,.0705882353,.1098039216,.2862745098,.2901960784313726,.0784313725,.1098039216,.2901960784,.29411764705882354,.0862745098,.1058823529,.2941176471,.2980392156862745,.0941176471,.1058823529,.2980392157,.30196078431372547,.1019607843,.1019607843,.3019607843,.3058823529411765,.1098039216,.1019607843,.3058823529,.30980392156862746,.1176470588,.0980392157,.3098039216,.3137254901960784,.1254901961,.0980392157,.3137254902,.3176470588235294,.1333333333,.0941176471,.3176470588,.3215686274509804,.1411764706,.0941176471,.3215686275,.3254901960784314,.1490196078,.0901960784,.3254901961,.32941176470588235,.1568627451,.0901960784,.3294117647,.3333333333333333,.1647058824,.0862745098,.3333333333,.33725490196078434,.1725490196,.0862745098,.337254902,.3411764705882353,.1803921569,.0823529412,.3411764706,.34509803921568627,.1882352941,.0823529412,.3450980392,.34901960784313724,.1960784314,.0784313725,.3490196078,.35294117647058826,.2039215686,.0784313725,.3529411765,.3568627450980392,.2117647059,.0745098039,.3568627451,.3607843137254902,.2196078431,.0745098039,.3607843137,.36470588235294116,.2274509804,.0705882353,.3647058824,.3686274509803922,.2352941176,.0705882353,.368627451,.37254901960784315,.2431372549,.0666666667,.3725490196,.3764705882352941,.2509803922,.0666666667,.3764705882,.3803921568627451,.2549019608,.062745098,.3803921569,.3843137254901961,.262745098,.062745098,.3843137255,.38823529411764707,.2705882353,.0588235294,.3882352941,.39215686274509803,.2784313725,.0588235294,.3921568627,.396078431372549,.2862745098,.0549019608,.3960784314,.4,.2941176471,.0549019608,.4,.403921568627451,.3019607843,.0509803922,.4039215686,.40784313725490196,.3098039216,.0509803922,.4078431373,.4117647058823529,.3176470588,.0470588235,.4117647059,.41568627450980394,.3254901961,.0470588235,.4156862745,.4196078431372549,.3333333333,.0431372549,.4196078431,.4235294117647059,.3411764706,.0431372549,.4235294118,.42745098039215684,.3490196078,.0392156863,.4274509804,.43137254901960786,.3568627451,.0392156863,.431372549,.43529411764705883,.3647058824,.0352941176,.4352941176,.4392156862745098,.3725490196,.0352941176,.4392156863,.44313725490196076,.3803921569,.031372549,.4431372549,.4470588235294118,.3882352941,.031372549,.4470588235,.45098039215686275,.3960784314,.0274509804,.4509803922,.4549019607843137,.4039215686,.0274509804,.4549019608,.4588235294117647,.4117647059,.0235294118,.4588235294,.4627450980392157,.4196078431,.0235294118,.462745098,.4666666666666667,.4274509804,.0196078431,.4666666667,.4705882352941177,.4352941176,.0196078431,.4705882353,.4745098039215686,.4431372549,.0156862745,.4745098039,.4784313725490197,.4509803922,.0156862745,.4784313725,.48235294117647065,.4588235294,.0117647059,.4823529412,.48627450980392156,.4666666667,.0117647059,.4862745098,.49019607843137253,.4745098039,.0078431373,.4901960784,.49411764705882355,.4823529412,.0078431373,.4941176471,.4980392156862745,.4901960784,.0039215686,.4980392157,.5019607843137255,.4980392157,.0117647059,.4980392157,.5058823529411764,.5058823529,.0156862745,.4901960784,.5098039215686274,.5137254902,.0235294118,.4823529412,.5137254901960784,.5215686275,.0274509804,.4745098039,.5176470588235295,.5294117647,.0352941176,.4666666667,.5215686274509804,.537254902,.0392156863,.4588235294,.5254901960784314,.5450980392,.0470588235,.4509803922,.5294117647058824,.5529411765,.0509803922,.4431372549,.5333333333333333,.5607843137,.0588235294,.4352941176,.5372549019607843,.568627451,.062745098,.4274509804,.5411764705882353,.5764705882,.0705882353,.4196078431,.5450980392156862,.5843137255,.0745098039,.4117647059,.5490196078431373,.5921568627,.0823529412,.4039215686,.5529411764705883,.6,.0862745098,.3960784314,.5568627450980392,.6078431373,.0941176471,.3882352941,.5607843137254902,.6156862745,.0980392157,.3803921569,.5647058823529412,.6235294118,.1058823529,.3725490196,.5686274509803921,.631372549,.1098039216,.3647058824,.5725490196078431,.6392156863,.1176470588,.3568627451,.5764705882352941,.6470588235,.1215686275,.3490196078,.5803921568627451,.6549019608,.1294117647,.3411764706,.5843137254901961,.662745098,.1333333333,.3333333333,.5882352941176471,.6705882353,.1411764706,.3254901961,.592156862745098,.6784313725,.1450980392,.3176470588,.596078431372549,.6862745098,.1529411765,.3098039216,.6,.6941176471,.1568627451,.3019607843,.6039215686274509,.7019607843,.1647058824,.2941176471,.6078431372549019,.7098039216,.168627451,.2862745098,.611764705882353,.7176470588,.1764705882,.2784313725,.615686274509804,.7254901961,.1803921569,.2705882353,.6196078431372549,.7333333333,.1882352941,.262745098,.6235294117647059,.7411764706,.1921568627,.2549019608,.6274509803921569,.7490196078,.2,.2509803922,.6313725490196078,.7529411765,.2039215686,.2431372549,.6352941176470588,.7607843137,.2117647059,.2352941176,.6392156862745098,.768627451,.2156862745,.2274509804,.6431372549019608,.7764705882,.2235294118,.2196078431,.6470588235294118,.7843137255,.2274509804,.2117647059,.6509803921568628,.7921568627,.2352941176,.2039215686,.6549019607843137,.8,.2392156863,.1960784314,.6588235294117647,.8078431373,.2470588235,.1882352941,.6627450980392157,.8156862745,.2509803922,.1803921569,.6666666666666666,.8235294118,.2549019608,.1725490196,.6705882352941176,.831372549,.2588235294,.1647058824,.6745098039215687,.8392156863,.2666666667,.1568627451,.6784313725490196,.8470588235,.2705882353,.1490196078,.6823529411764706,.8549019608,.2784313725,.1411764706,.6862745098039216,.862745098,.2823529412,.1333333333,.6901960784313725,.8705882353,.2901960784,.1254901961,.6941176470588235,.8784313725,.2941176471,.1176470588,.6980392156862745,.8862745098,.3019607843,.1098039216,.7019607843137254,.8941176471,.3058823529,.1019607843,.7058823529411765,.9019607843,.3137254902,.0941176471,.7098039215686275,.9098039216,.3176470588,.0862745098,.7137254901960784,.9176470588,.3254901961,.0784313725,.7176470588235294,.9254901961,.3294117647,.0705882353,.7215686274509804,.9333333333,.337254902,.062745098,.7254901960784313,.9411764706,.3411764706,.0549019608,.7294117647058823,.9490196078,.3490196078,.0470588235,.7333333333333333,.9568627451,.3529411765,.0392156863,.7372549019607844,.9647058824,.3607843137,.031372549,.7411764705882353,.9725490196,.3647058824,.0235294118,.7450980392156863,.9803921569,.3725490196,.0156862745,.7490196078431373,.9882352941,.3725490196,.0039215686,.7529411764705882,.9960784314,.3843137255,.0156862745,.7568627450980392,.9960784314,.3921568627,.031372549,.7607843137254902,.9960784314,.4039215686,.0470588235,.7647058823529411,.9960784314,.4117647059,.062745098,.7686274509803922,.9960784314,.4235294118,.0784313725,.7725490196078432,.9960784314,.431372549,.0941176471,.7764705882352941,.9960784314,.4431372549,.1098039216,.7803921568627451,.9960784314,.4509803922,.1254901961,.7843137254901961,.9960784314,.462745098,.1411764706,.788235294117647,.9960784314,.4705882353,.1568627451,.792156862745098,.9960784314,.4823529412,.1725490196,.796078431372549,.9960784314,.4901960784,.1882352941,.8,.9960784314,.5019607843,.2039215686,.803921568627451,.9960784314,.5098039216,.2196078431,.807843137254902,.9960784314,.5215686275,.2352941176,.8117647058823529,.9960784314,.5294117647,.2509803922,.8156862745098039,.9960784314,.5411764706,.262745098,.8196078431372549,.9960784314,.5490196078,.2784313725,.8235294117647058,.9960784314,.5607843137,.2941176471,.8274509803921568,.9960784314,.568627451,.3098039216,.8313725490196079,.9960784314,.5803921569,.3254901961,.8352941176470589,.9960784314,.5882352941,.3411764706,.8392156862745098,.9960784314,.6,.3568627451,.8431372549019608,.9960784314,.6078431373,.3725490196,.8470588235294118,.9960784314,.6196078431,.3882352941,.8509803921568627,.9960784314,.6274509804,.4039215686,.8549019607843137,.9960784314,.6392156863,.4196078431,.8588235294117647,.9960784314,.6470588235,.4352941176,.8627450980392157,.9960784314,.6588235294,.4509803922,.8666666666666667,.9960784314,.6666666667,.4666666667,.8705882352941177,.9960784314,.6784313725,.4823529412,.8745098039215686,.9960784314,.6862745098,.4980392157,.8784313725490196,.9960784314,.6980392157,.5137254902,.8823529411764706,.9960784314,.7058823529,.5294117647,.8862745098039215,.9960784314,.7176470588,.5450980392,.8901960784313725,.9960784314,.7254901961,.5607843137,.8941176470588236,.9960784314,.737254902,.5764705882,.8980392156862745,.9960784314,.7450980392,.5921568627,.9019607843137255,.9960784314,.7529411765,.6078431373,.9058823529411765,.9960784314,.7607843137,.6235294118,.9098039215686274,.9960784314,.7725490196,.6392156863,.9137254901960784,.9960784314,.7803921569,.6549019608,.9176470588235294,.9960784314,.7921568627,.6705882353,.9215686274509803,.9960784314,.8,.6862745098,.9254901960784314,.9960784314,.8117647059,.7019607843,.9294117647058824,.9960784314,.8196078431,.7176470588,.9333333333333333,.9960784314,.831372549,.7333333333,.9372549019607843,.9960784314,.8392156863,.7490196078,.9411764705882354,.9960784314,.8509803922,.7607843137,.9450980392156864,.9960784314,.8588235294,.7764705882,.9490196078431372,.9960784314,.8705882353,.7921568627,.9529411764705882,.9960784314,.8784313725,.8078431373,.9568627450980394,.9960784314,.8901960784,.8235294118,.9607843137254903,.9960784314,.8980392157,.8392156863,.9647058823529413,.9960784314,.9098039216,.8549019608,.9686274509803922,.9960784314,.9176470588,.8705882353,.9725490196078431,.9960784314,.9294117647,.8862745098,.9764705882352941,.9960784314,.937254902,.9019607843,.9803921568627451,.9960784314,.9490196078,.9176470588,.984313725490196,.9960784314,.9568627451,.9333333333,.9882352941176471,.9960784314,.968627451,.9490196078,.9921568627450981,.9960784314,.9764705882,.9647058824,.996078431372549,.9960784314,.9882352941,.9803921569,1,.9960784314,.9882352941,.9803921569],description:"GE 256"},{ColorSpace:"RGB",Name:"ge",RGBPoints:[0,.0078431373,.0078431373,.0078431373,.00392156862745098,.0078431373,.0078431373,.0078431373,.00784313725490196,.0078431373,.0078431373,.0078431373,.011764705882352941,.0078431373,.0078431373,.0078431373,.01568627450980392,.0078431373,.0078431373,.0078431373,.0196078431372549,.0078431373,.0078431373,.0078431373,.023529411764705882,.0078431373,.0078431373,.0078431373,.027450980392156862,.0078431373,.0078431373,.0078431373,.03137254901960784,.0078431373,.0078431373,.0078431373,.03529411764705882,.0078431373,.0078431373,.0078431373,.0392156862745098,.0078431373,.0078431373,.0078431373,.043137254901960784,.0078431373,.0078431373,.0078431373,.047058823529411764,.0078431373,.0078431373,.0078431373,.050980392156862744,.0078431373,.0078431373,.0078431373,.054901960784313725,.0078431373,.0078431373,.0078431373,.05882352941176471,.0117647059,.0078431373,.0078431373,.06274509803921569,.0078431373,.0156862745,.0156862745,.06666666666666667,.0078431373,.0235294118,.0235294118,.07058823529411765,.0078431373,.031372549,.031372549,.07450980392156863,.0078431373,.0392156863,.0392156863,.0784313725490196,.0078431373,.0470588235,.0470588235,.08235294117647059,.0078431373,.0549019608,.0549019608,.08627450980392157,.0078431373,.062745098,.062745098,.09019607843137255,.0078431373,.0705882353,.0705882353,.09411764705882353,.0078431373,.0784313725,.0784313725,.09803921568627451,.0078431373,.0901960784,.0862745098,.10196078431372549,.0078431373,.0980392157,.0941176471,.10588235294117647,.0078431373,.1058823529,.1019607843,.10980392156862745,.0078431373,.1137254902,.1098039216,.11372549019607843,.0078431373,.1215686275,.1176470588,.11764705882352942,.0078431373,.1294117647,.1254901961,.12156862745098039,.0078431373,.137254902,.1333333333,.12549019607843137,.0078431373,.1450980392,.1411764706,.12941176470588237,.0078431373,.1529411765,.1490196078,.13333333333333333,.0078431373,.1647058824,.1568627451,.13725490196078433,.0078431373,.1725490196,.1647058824,.1411764705882353,.0078431373,.1803921569,.1725490196,.1450980392156863,.0078431373,.1882352941,.1803921569,.14901960784313725,.0078431373,.1960784314,.1882352941,.15294117647058825,.0078431373,.2039215686,.1960784314,.1568627450980392,.0078431373,.2117647059,.2039215686,.1607843137254902,.0078431373,.2196078431,.2117647059,.16470588235294117,.0078431373,.2274509804,.2196078431,.16862745098039217,.0078431373,.2352941176,.2274509804,.17254901960784313,.0078431373,.2470588235,.2352941176,.17647058823529413,.0078431373,.2509803922,.2431372549,.1803921568627451,.0078431373,.2549019608,.2509803922,.1843137254901961,.0078431373,.262745098,.2509803922,.18823529411764706,.0078431373,.2705882353,.2588235294,.19215686274509805,.0078431373,.2784313725,.2666666667,.19607843137254902,.0078431373,.2862745098,.2745098039,.2,.0078431373,.2941176471,.2823529412,.20392156862745098,.0078431373,.3019607843,.2901960784,.20784313725490197,.0078431373,.3137254902,.2980392157,.21176470588235294,.0078431373,.3215686275,.3058823529,.21568627450980393,.0078431373,.3294117647,.3137254902,.2196078431372549,.0078431373,.337254902,.3215686275,.2235294117647059,.0078431373,.3450980392,.3294117647,.22745098039215686,.0078431373,.3529411765,.337254902,.23137254901960785,.0078431373,.3607843137,.3450980392,.23529411764705885,.0078431373,.368627451,.3529411765,.23921568627450984,.0078431373,.3764705882,.3607843137,.24313725490196078,.0078431373,.3843137255,.368627451,.24705882352941178,.0078431373,.3960784314,.3764705882,.25098039215686274,.0078431373,.4039215686,.3843137255,.2549019607843137,.0078431373,.4117647059,.3921568627,.25882352941176473,.0078431373,.4196078431,.4,.2627450980392157,.0078431373,.4274509804,.4078431373,.26666666666666666,.0078431373,.4352941176,.4156862745,.27058823529411763,.0078431373,.4431372549,.4235294118,.27450980392156865,.0078431373,.4509803922,.431372549,.2784313725490196,.0078431373,.4588235294,.4392156863,.2823529411764706,.0078431373,.4705882353,.4470588235,.28627450980392155,.0078431373,.4784313725,.4549019608,.2901960784313726,.0078431373,.4862745098,.462745098,.29411764705882354,.0078431373,.4941176471,.4705882353,.2980392156862745,.0078431373,.5019607843,.4784313725,.30196078431372547,.0117647059,.5098039216,.4862745098,.3058823529411765,.0196078431,.5019607843,.4941176471,.30980392156862746,.0274509804,.4941176471,.5058823529,.3137254901960784,.0352941176,.4862745098,.5137254902,.3176470588235294,.0431372549,.4784313725,.5215686275,.3215686274509804,.0509803922,.4705882353,.5294117647,.3254901960784314,.0588235294,.462745098,.537254902,.32941176470588235,.0666666667,.4549019608,.5450980392,.3333333333333333,.0745098039,.4470588235,.5529411765,.33725490196078434,.0823529412,.4392156863,.5607843137,.3411764705882353,.0901960784,.431372549,.568627451,.34509803921568627,.0980392157,.4235294118,.5764705882,.34901960784313724,.1058823529,.4156862745,.5843137255,.35294117647058826,.1137254902,.4078431373,.5921568627,.3568627450980392,.1215686275,.4,.6,.3607843137254902,.1294117647,.3921568627,.6078431373,.36470588235294116,.137254902,.3843137255,.6156862745,.3686274509803922,.1450980392,.3764705882,.6235294118,.37254901960784315,.1529411765,.368627451,.631372549,.3764705882352941,.1607843137,.3607843137,.6392156863,.3803921568627451,.168627451,.3529411765,.6470588235,.3843137254901961,.1764705882,.3450980392,.6549019608,.38823529411764707,.1843137255,.337254902,.662745098,.39215686274509803,.1921568627,.3294117647,.6705882353,.396078431372549,.2,.3215686275,.6784313725,.4,.2078431373,.3137254902,.6862745098,.403921568627451,.2156862745,.3058823529,.6941176471,.40784313725490196,.2235294118,.2980392157,.7019607843,.4117647058823529,.231372549,.2901960784,.7098039216,.41568627450980394,.2392156863,.2823529412,.7176470588,.4196078431372549,.2470588235,.2745098039,.7254901961,.4235294117647059,.2509803922,.2666666667,.7333333333,.42745098039215684,.2509803922,.2588235294,.7411764706,.43137254901960786,.2588235294,.2509803922,.7490196078,.43529411764705883,.2666666667,.2509803922,.7490196078,.4392156862745098,.2745098039,.2431372549,.7568627451,.44313725490196076,.2823529412,.2352941176,.7647058824,.4470588235294118,.2901960784,.2274509804,.7725490196,.45098039215686275,.2980392157,.2196078431,.7803921569,.4549019607843137,.3058823529,.2117647059,.7882352941,.4588235294117647,.3137254902,.2039215686,.7960784314,.4627450980392157,.3215686275,.1960784314,.8039215686,.4666666666666667,.3294117647,.1882352941,.8117647059,.4705882352941177,.337254902,.1803921569,.8196078431,.4745098039215686,.3450980392,.1725490196,.8274509804,.4784313725490197,.3529411765,.1647058824,.8352941176,.48235294117647065,.3607843137,.1568627451,.8431372549,.48627450980392156,.368627451,.1490196078,.8509803922,.49019607843137253,.3764705882,.1411764706,.8588235294,.49411764705882355,.3843137255,.1333333333,.8666666667,.4980392156862745,.3921568627,.1254901961,.8745098039,.5019607843137255,.4,.1176470588,.8823529412,.5058823529411764,.4078431373,.1098039216,.8901960784,.5098039215686274,.4156862745,.1019607843,.8980392157,.5137254901960784,.4235294118,.0941176471,.9058823529,.5176470588235295,.431372549,.0862745098,.9137254902,.5215686274509804,.4392156863,.0784313725,.9215686275,.5254901960784314,.4470588235,.0705882353,.9294117647,.5294117647058824,.4549019608,.062745098,.937254902,.5333333333333333,.462745098,.0549019608,.9450980392,.5372549019607843,.4705882353,.0470588235,.9529411765,.5411764705882353,.4784313725,.0392156863,.9607843137,.5450980392156862,.4862745098,.031372549,.968627451,.5490196078431373,.4941176471,.0235294118,.9764705882,.5529411764705883,.4980392157,.0156862745,.9843137255,.5568627450980392,.5058823529,.0078431373,.9921568627,.5607843137254902,.5137254902,.0156862745,.9803921569,.5647058823529412,.5215686275,.0235294118,.9647058824,.5686274509803921,.5294117647,.0352941176,.9490196078,.5725490196078431,.537254902,.0431372549,.9333333333,.5764705882352941,.5450980392,.0509803922,.9176470588,.5803921568627451,.5529411765,.062745098,.9019607843,.5843137254901961,.5607843137,.0705882353,.8862745098,.5882352941176471,.568627451,.0784313725,.8705882353,.592156862745098,.5764705882,.0901960784,.8549019608,.596078431372549,.5843137255,.0980392157,.8392156863,.6,.5921568627,.1098039216,.8235294118,.6039215686274509,.6,.1176470588,.8078431373,.6078431372549019,.6078431373,.1254901961,.7921568627,.611764705882353,.6156862745,.137254902,.7764705882,.615686274509804,.6235294118,.1450980392,.7607843137,.6196078431372549,.631372549,.1529411765,.7490196078,.6235294117647059,.6392156863,.1647058824,.737254902,.6274509803921569,.6470588235,.1725490196,.7215686275,.6313725490196078,.6549019608,.1843137255,.7058823529,.6352941176470588,.662745098,.1921568627,.6901960784,.6392156862745098,.6705882353,.2,.6745098039,.6431372549019608,.6784313725,.2117647059,.6588235294,.6470588235294118,.6862745098,.2196078431,.6431372549,.6509803921568628,.6941176471,.2274509804,.6274509804,.6549019607843137,.7019607843,.2392156863,.6117647059,.6588235294117647,.7098039216,.2470588235,.5960784314,.6627450980392157,.7176470588,.2509803922,.5803921569,.6666666666666666,.7254901961,.2588235294,.5647058824,.6705882352941176,.7333333333,.2666666667,.5490196078,.6745098039215687,.7411764706,.2784313725,.5333333333,.6784313725490196,.7490196078,.2862745098,.5176470588,.6823529411764706,.7490196078,.2941176471,.5019607843,.6862745098039216,.7529411765,.3058823529,.4862745098,.6901960784313725,.7607843137,.3137254902,.4705882353,.6941176470588235,.768627451,.3215686275,.4549019608,.6980392156862745,.7764705882,.3333333333,.4392156863,.7019607843137254,.7843137255,.3411764706,.4235294118,.7058823529411765,.7921568627,.3529411765,.4078431373,.7098039215686275,.8,.3607843137,.3921568627,.7137254901960784,.8078431373,.368627451,.3764705882,.7176470588235294,.8156862745,.3803921569,.3607843137,.7215686274509804,.8235294118,.3882352941,.3450980392,.7254901960784313,.831372549,.3960784314,.3294117647,.7294117647058823,.8392156863,.4078431373,.3137254902,.7333333333333333,.8470588235,.4156862745,.2980392157,.7372549019607844,.8549019608,.4274509804,.2823529412,.7411764705882353,.862745098,.4352941176,.2666666667,.7450980392156863,.8705882353,.4431372549,.2509803922,.7490196078431373,.8784313725,.4549019608,.2431372549,.7529411764705882,.8862745098,.462745098,.2274509804,.7568627450980392,.8941176471,.4705882353,.2117647059,.7607843137254902,.9019607843,.4823529412,.1960784314,.7647058823529411,.9098039216,.4901960784,.1803921569,.7686274509803922,.9176470588,.4980392157,.1647058824,.7725490196078432,.9254901961,.5098039216,.1490196078,.7764705882352941,.9333333333,.5176470588,.1333333333,.7803921568627451,.9411764706,.5294117647,.1176470588,.7843137254901961,.9490196078,.537254902,.1019607843,.788235294117647,.9568627451,.5450980392,.0862745098,.792156862745098,.9647058824,.5568627451,.0705882353,.796078431372549,.9725490196,.5647058824,.0549019608,.8,.9803921569,.5725490196,.0392156863,.803921568627451,.9882352941,.5843137255,.0235294118,.807843137254902,.9921568627,.5921568627,.0078431373,.8117647058823529,.9921568627,.6039215686,.0274509804,.8156862745098039,.9921568627,.6117647059,.0509803922,.8196078431372549,.9921568627,.6196078431,.0745098039,.8235294117647058,.9921568627,.631372549,.0980392157,.8274509803921568,.9921568627,.6392156863,.1215686275,.8313725490196079,.9921568627,.6470588235,.1411764706,.8352941176470589,.9921568627,.6588235294,.1647058824,.8392156862745098,.9921568627,.6666666667,.1882352941,.8431372549019608,.9921568627,.6784313725,.2117647059,.8470588235294118,.9921568627,.6862745098,.2352941176,.8509803921568627,.9921568627,.6941176471,.2509803922,.8549019607843137,.9921568627,.7058823529,.2705882353,.8588235294117647,.9921568627,.7137254902,.2941176471,.8627450980392157,.9921568627,.7215686275,.3176470588,.8666666666666667,.9921568627,.7333333333,.3411764706,.8705882352941177,.9921568627,.7411764706,.3647058824,.8745098039215686,.9921568627,.7490196078,.3843137255,.8784313725490196,.9921568627,.7529411765,.4078431373,.8823529411764706,.9921568627,.7607843137,.431372549,.8862745098039215,.9921568627,.7725490196,.4549019608,.8901960784313725,.9921568627,.7803921569,.4784313725,.8941176470588236,.9921568627,.7882352941,.4980392157,.8980392156862745,.9921568627,.8,.5215686275,.9019607843137255,.9921568627,.8078431373,.5450980392,.9058823529411765,.9921568627,.8156862745,.568627451,.9098039215686274,.9921568627,.8274509804,.5921568627,.9137254901960784,.9921568627,.8352941176,.6156862745,.9176470588235294,.9921568627,.8470588235,.6352941176,.9215686274509803,.9921568627,.8549019608,.6588235294,.9254901960784314,.9921568627,.862745098,.6823529412,.9294117647058824,.9921568627,.8745098039,.7058823529,.9333333333333333,.9921568627,.8823529412,.7294117647,.9372549019607843,.9921568627,.8901960784,.7490196078,.9411764705882354,.9921568627,.9019607843,.7647058824,.9450980392156864,.9921568627,.9098039216,.7882352941,.9490196078431372,.9921568627,.9215686275,.8117647059,.9529411764705882,.9921568627,.9294117647,.8352941176,.9568627450980394,.9921568627,.937254902,.8588235294,.9607843137254903,.9921568627,.9490196078,.8784313725,.9647058823529413,.9921568627,.9568627451,.9019607843,.9686274509803922,.9921568627,.9647058824,.9254901961,.9725490196078431,.9921568627,.9764705882,.9490196078,.9764705882352941,.9921568627,.9843137255,.9725490196,.9803921568627451,.9921568627,.9921568627,.9921568627,.984313725490196,.9921568627,.9921568627,.9921568627,.9882352941176471,.9921568627,.9921568627,.9921568627,.9921568627450981,.9921568627,.9921568627,.9921568627,.996078431372549,.9921568627,.9921568627,.9921568627,1,.9921568627,.9921568627,.9921568627],description:"GE"},{ColorSpace:"RGB",Name:"siemens",RGBPoints:[0,.0078431373,.0039215686,.1254901961,.00392156862745098,.0078431373,.0039215686,.1254901961,.00784313725490196,.0078431373,.0039215686,.1882352941,.011764705882352941,.0117647059,.0039215686,.2509803922,.01568627450980392,.0117647059,.0039215686,.3098039216,.0196078431372549,.0156862745,.0039215686,.3725490196,.023529411764705882,.0156862745,.0039215686,.3725490196,.027450980392156862,.0156862745,.0039215686,.3725490196,.03137254901960784,.0156862745,.0039215686,.3725490196,.03529411764705882,.0156862745,.0039215686,.3725490196,.0392156862745098,.0156862745,.0039215686,.3725490196,.043137254901960784,.0156862745,.0039215686,.3725490196,.047058823529411764,.0156862745,.0039215686,.3725490196,.050980392156862744,.0156862745,.0039215686,.3725490196,.054901960784313725,.0156862745,.0039215686,.3725490196,.05882352941176471,.0156862745,.0039215686,.3725490196,.06274509803921569,.0156862745,.0039215686,.3882352941,.06666666666666667,.0156862745,.0039215686,.4078431373,.07058823529411765,.0156862745,.0039215686,.4235294118,.07450980392156863,.0156862745,.0039215686,.4431372549,.0784313725490196,.0156862745,.0039215686,.462745098,.08235294117647059,.0156862745,.0039215686,.4784313725,.08627450980392157,.0156862745,.0039215686,.4980392157,.09019607843137255,.0196078431,.0039215686,.5137254902,.09411764705882353,.0196078431,.0039215686,.5333333333,.09803921568627451,.0196078431,.0039215686,.5529411765,.10196078431372549,.0196078431,.0039215686,.568627451,.10588235294117647,.0196078431,.0039215686,.5882352941,.10980392156862745,.0196078431,.0039215686,.6039215686,.11372549019607843,.0196078431,.0039215686,.6235294118,.11764705882352942,.0196078431,.0039215686,.6431372549,.12156862745098039,.0235294118,.0039215686,.6588235294,.12549019607843137,.0235294118,.0039215686,.6784313725,.12941176470588237,.0235294118,.0039215686,.6980392157,.13333333333333333,.0235294118,.0039215686,.7137254902,.13725490196078433,.0235294118,.0039215686,.7333333333,.1411764705882353,.0235294118,.0039215686,.7490196078,.1450980392156863,.0235294118,.0039215686,.7647058824,.14901960784313725,.0235294118,.0039215686,.7843137255,.15294117647058825,.0274509804,.0039215686,.8,.1568627450980392,.0274509804,.0039215686,.8196078431,.1607843137254902,.0274509804,.0039215686,.8352941176,.16470588235294117,.0274509804,.0039215686,.8549019608,.16862745098039217,.0274509804,.0039215686,.8745098039,.17254901960784313,.0274509804,.0039215686,.8901960784,.17647058823529413,.0274509804,.0039215686,.9098039216,.1803921568627451,.031372549,.0039215686,.9294117647,.1843137254901961,.031372549,.0039215686,.9254901961,.18823529411764706,.0509803922,.0039215686,.9098039216,.19215686274509805,.0705882353,.0039215686,.8901960784,.19607843137254902,.0901960784,.0039215686,.8705882353,.2,.1137254902,.0039215686,.8509803922,.20392156862745098,.1333333333,.0039215686,.831372549,.20784313725490197,.1529411765,.0039215686,.8117647059,.21176470588235294,.1725490196,.0039215686,.7921568627,.21568627450980393,.1960784314,.0039215686,.7725490196,.2196078431372549,.2156862745,.0039215686,.7529411765,.2235294117647059,.2352941176,.0039215686,.737254902,.22745098039215686,.2509803922,.0039215686,.7176470588,.23137254901960785,.2745098039,.0039215686,.6980392157,.23529411764705885,.2941176471,.0039215686,.6784313725,.23921568627450984,.3137254902,.0039215686,.6588235294,.24313725490196078,.3333333333,.0039215686,.6392156863,.24705882352941178,.3568627451,.0039215686,.6196078431,.25098039215686274,.3764705882,.0039215686,.6,.2549019607843137,.3960784314,.0039215686,.5803921569,.25882352941176473,.4156862745,.0039215686,.5607843137,.2627450980392157,.4392156863,.0039215686,.5411764706,.26666666666666666,.4588235294,.0039215686,.5215686275,.27058823529411763,.4784313725,.0039215686,.5019607843,.27450980392156865,.4980392157,.0039215686,.4823529412,.2784313725490196,.5215686275,.0039215686,.4666666667,.2823529411764706,.5411764706,.0039215686,.4470588235,.28627450980392155,.5607843137,.0039215686,.4274509804,.2901960784313726,.5803921569,.0039215686,.4078431373,.29411764705882354,.6039215686,.0039215686,.3882352941,.2980392156862745,.6235294118,.0039215686,.368627451,.30196078431372547,.6431372549,.0039215686,.3490196078,.3058823529411765,.662745098,.0039215686,.3294117647,.30980392156862746,.6862745098,.0039215686,.3098039216,.3137254901960784,.7058823529,.0039215686,.2901960784,.3176470588235294,.7254901961,.0039215686,.2705882353,.3215686274509804,.7450980392,.0039215686,.2509803922,.3254901960784314,.7647058824,.0039215686,.2352941176,.32941176470588235,.7843137255,.0039215686,.2156862745,.3333333333333333,.8039215686,.0039215686,.1960784314,.33725490196078434,.8235294118,.0039215686,.1764705882,.3411764705882353,.8470588235,.0039215686,.1568627451,.34509803921568627,.8666666667,.0039215686,.137254902,.34901960784313724,.8862745098,.0039215686,.1176470588,.35294117647058826,.9058823529,.0039215686,.0980392157,.3568627450980392,.9294117647,.0039215686,.0784313725,.3607843137254902,.9490196078,.0039215686,.0588235294,.36470588235294116,.968627451,.0039215686,.0392156863,.3686274509803922,.9921568627,.0039215686,.0235294118,.37254901960784315,.9529411765,.0039215686,.0588235294,.3764705882352941,.9529411765,.0078431373,.0549019608,.3803921568627451,.9529411765,.0156862745,.0549019608,.3843137254901961,.9529411765,.0235294118,.0549019608,.38823529411764707,.9529411765,.031372549,.0549019608,.39215686274509803,.9529411765,.0352941176,.0549019608,.396078431372549,.9529411765,.0431372549,.0549019608,.4,.9529411765,.0509803922,.0549019608,.403921568627451,.9529411765,.0588235294,.0549019608,.40784313725490196,.9529411765,.062745098,.0549019608,.4117647058823529,.9529411765,.0705882353,.0549019608,.41568627450980394,.9529411765,.0784313725,.0509803922,.4196078431372549,.9529411765,.0862745098,.0509803922,.4235294117647059,.9568627451,.0941176471,.0509803922,.42745098039215684,.9568627451,.0980392157,.0509803922,.43137254901960786,.9568627451,.1058823529,.0509803922,.43529411764705883,.9568627451,.1137254902,.0509803922,.4392156862745098,.9568627451,.1215686275,.0509803922,.44313725490196076,.9568627451,.1254901961,.0509803922,.4470588235294118,.9568627451,.1333333333,.0509803922,.45098039215686275,.9568627451,.1411764706,.0509803922,.4549019607843137,.9568627451,.1490196078,.0470588235,.4588235294117647,.9568627451,.1568627451,.0470588235,.4627450980392157,.9568627451,.1607843137,.0470588235,.4666666666666667,.9568627451,.168627451,.0470588235,.4705882352941177,.9607843137,.1764705882,.0470588235,.4745098039215686,.9607843137,.1843137255,.0470588235,.4784313725490197,.9607843137,.1882352941,.0470588235,.48235294117647065,.9607843137,.1960784314,.0470588235,.48627450980392156,.9607843137,.2039215686,.0470588235,.49019607843137253,.9607843137,.2117647059,.0470588235,.49411764705882355,.9607843137,.2196078431,.0431372549,.4980392156862745,.9607843137,.2235294118,.0431372549,.5019607843137255,.9607843137,.231372549,.0431372549,.5058823529411764,.9607843137,.2392156863,.0431372549,.5098039215686274,.9607843137,.2470588235,.0431372549,.5137254901960784,.9607843137,.2509803922,.0431372549,.5176470588235295,.9647058824,.2549019608,.0431372549,.5215686274509804,.9647058824,.262745098,.0431372549,.5254901960784314,.9647058824,.2705882353,.0431372549,.5294117647058824,.9647058824,.2745098039,.0431372549,.5333333333333333,.9647058824,.2823529412,.0392156863,.5372549019607843,.9647058824,.2901960784,.0392156863,.5411764705882353,.9647058824,.2980392157,.0392156863,.5450980392156862,.9647058824,.3058823529,.0392156863,.5490196078431373,.9647058824,.3098039216,.0392156863,.5529411764705883,.9647058824,.3176470588,.0392156863,.5568627450980392,.9647058824,.3254901961,.0392156863,.5607843137254902,.9647058824,.3333333333,.0392156863,.5647058823529412,.9647058824,.337254902,.0392156863,.5686274509803921,.968627451,.3450980392,.0392156863,.5725490196078431,.968627451,.3529411765,.0352941176,.5764705882352941,.968627451,.3607843137,.0352941176,.5803921568627451,.968627451,.368627451,.0352941176,.5843137254901961,.968627451,.3725490196,.0352941176,.5882352941176471,.968627451,.3803921569,.0352941176,.592156862745098,.968627451,.3882352941,.0352941176,.596078431372549,.968627451,.3960784314,.0352941176,.6,.968627451,.4,.0352941176,.6039215686274509,.968627451,.4078431373,.0352941176,.6078431372549019,.968627451,.4156862745,.0352941176,.611764705882353,.968627451,.4235294118,.031372549,.615686274509804,.9725490196,.431372549,.031372549,.6196078431372549,.9725490196,.4352941176,.031372549,.6235294117647059,.9725490196,.4431372549,.031372549,.6274509803921569,.9725490196,.4509803922,.031372549,.6313725490196078,.9725490196,.4588235294,.031372549,.6352941176470588,.9725490196,.462745098,.031372549,.6392156862745098,.9725490196,.4705882353,.031372549,.6431372549019608,.9725490196,.4784313725,.031372549,.6470588235294118,.9725490196,.4862745098,.031372549,.6509803921568628,.9725490196,.4941176471,.0274509804,.6549019607843137,.9725490196,.4980392157,.0274509804,.6588235294117647,.9725490196,.5058823529,.0274509804,.6627450980392157,.9764705882,.5137254902,.0274509804,.6666666666666666,.9764705882,.5215686275,.0274509804,.6705882352941176,.9764705882,.5254901961,.0274509804,.6745098039215687,.9764705882,.5333333333,.0274509804,.6784313725490196,.9764705882,.5411764706,.0274509804,.6823529411764706,.9764705882,.5490196078,.0274509804,.6862745098039216,.9764705882,.5529411765,.0274509804,.6901960784313725,.9764705882,.5607843137,.0235294118,.6941176470588235,.9764705882,.568627451,.0235294118,.6980392156862745,.9764705882,.5764705882,.0235294118,.7019607843137254,.9764705882,.5843137255,.0235294118,.7058823529411765,.9764705882,.5882352941,.0235294118,.7098039215686275,.9764705882,.5960784314,.0235294118,.7137254901960784,.9803921569,.6039215686,.0235294118,.7176470588235294,.9803921569,.6117647059,.0235294118,.7215686274509804,.9803921569,.6156862745,.0235294118,.7254901960784313,.9803921569,.6235294118,.0235294118,.7294117647058823,.9803921569,.631372549,.0196078431,.7333333333333333,.9803921569,.6392156863,.0196078431,.7372549019607844,.9803921569,.6470588235,.0196078431,.7411764705882353,.9803921569,.6509803922,.0196078431,.7450980392156863,.9803921569,.6588235294,.0196078431,.7490196078431373,.9803921569,.6666666667,.0196078431,.7529411764705882,.9803921569,.6745098039,.0196078431,.7568627450980392,.9803921569,.6784313725,.0196078431,.7607843137254902,.9843137255,.6862745098,.0196078431,.7647058823529411,.9843137255,.6941176471,.0196078431,.7686274509803922,.9843137255,.7019607843,.0156862745,.7725490196078432,.9843137255,.7098039216,.0156862745,.7764705882352941,.9843137255,.7137254902,.0156862745,.7803921568627451,.9843137255,.7215686275,.0156862745,.7843137254901961,.9843137255,.7294117647,.0156862745,.788235294117647,.9843137255,.737254902,.0156862745,.792156862745098,.9843137255,.7411764706,.0156862745,.796078431372549,.9843137255,.7490196078,.0156862745,.8,.9843137255,.7529411765,.0156862745,.803921568627451,.9843137255,.7607843137,.0156862745,.807843137254902,.9882352941,.768627451,.0156862745,.8117647058823529,.9882352941,.768627451,.0156862745,.8156862745098039,.9843137255,.7843137255,.0117647059,.8196078431372549,.9843137255,.8,.0117647059,.8235294117647058,.9843137255,.8156862745,.0117647059,.8274509803921568,.9803921569,.831372549,.0117647059,.8313725490196079,.9803921569,.8431372549,.0117647059,.8352941176470589,.9803921569,.8588235294,.0078431373,.8392156862745098,.9803921569,.8745098039,.0078431373,.8431372549019608,.9764705882,.8901960784,.0078431373,.8470588235294118,.9764705882,.9058823529,.0078431373,.8509803921568627,.9764705882,.9176470588,.0078431373,.8549019607843137,.9764705882,.9333333333,.0039215686,.8588235294117647,.9725490196,.9490196078,.0039215686,.8627450980392157,.9725490196,.9647058824,.0039215686,.8666666666666667,.9725490196,.9803921569,.0039215686,.8705882352941177,.9725490196,.9960784314,.0039215686,.8745098039215686,.9725490196,.9960784314,.0039215686,.8784313725490196,.9725490196,.9960784314,.0352941176,.8823529411764706,.9725490196,.9960784314,.0666666667,.8862745098039215,.9725490196,.9960784314,.0980392157,.8901960784313725,.9725490196,.9960784314,.1294117647,.8941176470588236,.9725490196,.9960784314,.1647058824,.8980392156862745,.9764705882,.9960784314,.1960784314,.9019607843137255,.9764705882,.9960784314,.2274509804,.9058823529411765,.9764705882,.9960784314,.2549019608,.9098039215686274,.9764705882,.9960784314,.2901960784,.9137254901960784,.9764705882,.9960784314,.3215686275,.9176470588235294,.9803921569,.9960784314,.3529411765,.9215686274509803,.9803921569,.9960784314,.3843137255,.9254901960784314,.9803921569,.9960784314,.4156862745,.9294117647058824,.9803921569,.9960784314,.4509803922,.9333333333333333,.9803921569,.9960784314,.4823529412,.9372549019607843,.9843137255,.9960784314,.5137254902,.9411764705882354,.9843137255,.9960784314,.5450980392,.9450980392156864,.9843137255,.9960784314,.5803921569,.9490196078431372,.9843137255,.9960784314,.6117647059,.9529411764705882,.9843137255,.9960784314,.6431372549,.9568627450980394,.9882352941,.9960784314,.6745098039,.9607843137254903,.9882352941,.9960784314,.7058823529,.9647058823529413,.9882352941,.9960784314,.7411764706,.9686274509803922,.9882352941,.9960784314,.768627451,.9725490196078431,.9882352941,.9960784314,.8,.9764705882352941,.9921568627,.9960784314,.831372549,.9803921568627451,.9921568627,.9960784314,.8666666667,.984313725490196,.9921568627,.9960784314,.8980392157,.9882352941176471,.9921568627,.9960784314,.9294117647,.9921568627450981,.9921568627,.9960784314,.9607843137,.996078431372549,.9960784314,.9960784314,.9607843137,1,.9960784314,.9960784314,.9607843137],description:"Siemens"}];var ta=O(6404),ts=O(6360),tl=O(3500),tc=O(619),tu=O(2678);let{registerColormap:td}=x.utilities.colormap;async function tp({servicesManager:e,commandsManager:t,extensionManager:A,appConfig:n}){var r;let o,i;window.PUBLIC_LIB_URL||="./${component}/";let a="true"===new URLSearchParams(window.location.search).get("debug");await (0,x.init)({peerImport:n.peerImport,debug:{statsOverlay:a}}),x.setUseCPURendering(!!n.useCPURendering);let s=n.genericViewports??{},{renderBackend:l,renderBackendByViewportType:c}=function(e){let t={renderBackendByViewportType:{}};if("string"==typeof e)t.renderBackend=ej(e);else if(e&&"object"==typeof e)for(let[A,n]of Object.entries(e)){let e=ej(n);e&&("default"===A?t.renderBackend=e:t.renderBackendByViewportType[A.toLowerCase()]=e)}try{for(let[e,A]of new URLSearchParams(window.location.search).entries()){let n=ej(A);if(n){if("viewportRendering"===e)t.renderBackend=n;else if(e.endsWith(".viewportRendering")){let A=e.slice(0,-18).toLowerCase();A&&(t.renderBackendByViewportType[A]=n)}}}}catch{}return t}(s.viewportRendering);if(l){"cpu"===l?x.setUseCPURendering(!0):"gpu"===l&&x.setUseCPURendering(!1);try{x.setRenderBackend(l)}catch(e){console.warn(`viewportRendering: "${l}" is not a registered render backend; keeping "${x.getRenderBackend()}".`,e)}}eW=c??{},x.setConfiguration({...x.getConfiguration(),rendering:{...x.getConfiguration().rendering,strictZSpacingForVolumeViewport:n.strictZSpacingForVolumeViewport,useGenericViewport:!!n.useGenericViewport}}),eP=!!function(e,t){try{let t=new URLSearchParams(window.location.search);if(t.has(e)){let A=t.get(e);return""===A||"true"===A||"1"===A}}catch{}return!!t}("useNextViewports",s.enabled);let{maxCacheSize:u}=n;u&&x.cache.setMaxCacheSize(u),L.CrosshairsTool.isAnnotation=!1,z.LabelmapSlicePropagationTool.isAnnotation=!1,z.MarkerLabelmapTool.isAnnotation=!1,L.ReferenceLinesTool.isAnnotation=!1,L.AdvancedMagnifyTool.isAnnotation=!1,L.PlanarFreehandContourSegmentationTool.isAnnotation=!1,(0,L.init)({addons:{polySeg:X},computeWorker:{autoTerminateOnIdle:{enabled:!1}}}),(0,L.addTool)(L.PanTool),(0,L.addTool)(L.SegmentBidirectionalTool),(0,L.addTool)(L.WindowLevelTool),(0,L.addTool)(L.StackScrollTool),(0,L.addTool)(L.PlanarRotateTool),(0,L.addTool)(L.VolumeRotateTool),(0,L.addTool)(L.ZoomTool),(0,L.addTool)(L.ProbeTool),(0,L.addTool)(L.MIPJumpToClickTool),(0,L.addTool)(L.LengthTool),(0,L.addTool)(L.RectangleROITool),(0,L.addTool)(L.RectangleROIThresholdTool),(0,L.addTool)(L.EllipticalROITool),(0,L.addTool)(L.CircleROITool),(0,L.addTool)(L.BidirectionalTool),(0,L.addTool)(L.ArrowAnnotateTool),(0,L.addTool)(L.DragProbeTool),(0,L.addTool)(L.AngleTool),(0,L.addTool)(L.CobbAngleTool),(0,L.addTool)(L.MagnifyTool),(0,L.addTool)(L.CrosshairsTool),(0,L.addTool)(L.RectangleScissorsTool),(0,L.addTool)(L.SphereScissorsTool),(0,L.addTool)(L.CircleScissorsTool),(0,L.addTool)(L.BrushTool),(0,L.addTool)(L.PaintFillTool),(0,L.addTool)(L.ReferenceLinesTool),(0,L.addTool)(et),(0,L.addTool)(L.TrackballRotateTool),(0,L.addTool)(es),(0,L.addTool)(L.AdvancedMagnifyTool),(0,L.addTool)(L.UltrasoundDirectionalTool),(0,L.addTool)(L.UltrasoundPleuraBLineTool),(0,L.addTool)(L.PlanarFreehandROITool),(0,L.addTool)(L.SplineROITool),(0,L.addTool)(L.LivewireContourTool),(0,L.addTool)(L.OrientationMarkerTool),(0,L.addTool)(L.WindowLevelRegionTool),(0,L.addTool)(L.PlanarFreehandContourSegmentationTool),(0,L.addTool)(L.SegmentSelectTool),(0,L.addTool)(L.SegmentLabelTool),(0,L.addTool)(z.LabelmapSlicePropagationTool),(0,L.addTool)(z.MarkerLabelmapTool),(0,L.addTool)(L.ClickSegmentTool),(0,L.addTool)(L.LivewireContourSegmentationTool),(0,L.addTool)(L.SculptorTool),(0,L.addTool)(L.SplineContourSegmentationTool),(0,L.addTool)(L.LabelMapEditWithContourTool),o=L.annotation.config.style.getDefaultToolStyles(),L.annotation.config.style.setDefaultToolStyles({global:{...o.global,textBoxFontSize:"15px",lineWidth:"1.5"}}),x.Settings.getRuntimeSettings().set("useCursors",!!n.useCursors);let{userAuthenticationService:d,customizationService:p,uiModalService:g,uiNotificationService:m,cornerstoneViewportService:f,hangingProtocolService:h,viewportGridService:w,segmentationService:B,measurementService:y,colorbarService:v,displaySetService:C,toolbarService:S}=e.services;S.registerEventForToolbarUpdate(v,[v.EVENTS.STATE_CHANGED]),S.registerEventForToolbarUpdate(B,[B.EVENTS.SEGMENTATION_MODIFIED,B.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,B.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED]),window.services=e.services,window.extensionManager=A,window.commandsManager=t,n.showCPUFallbackMessage&&x.getShouldUseCPURendering()&&function(e,t){let{unsubscribe:A}=t.subscribe(t.EVENTS.PROTOCOL_CHANGED,()=>{(t=>{if(100===t)return e.show({content:tm,title:"OHIF Fell Back to CPU Rendering"}),!0})(100)&&A()})}(g,h);let{getPresentationId:E}=ts.I.getState(),{getPresentationId:I}=tc.v.getState(),{getPresentationId:b}=tl.q.getState();w.addPresentationIdProvider("positionPresentationId",b),w.addPresentationIdProvider("lutPresentationId",E),w.addPresentationIdProvider("segmentationPresentationId",I),B.setStyle({type:ta.SegmentationRepresentations.Contour},{fillAlpha:.5,fillAlphaInactive:.4,renderFill:!1,renderFillInactive:!1});let U=k().classes.MetadataProvider;x.volumeLoader.registerVolumeLoader("cornerstoneStreamingImageVolume",P.cornerstoneStreamingImageVolumeLoader),x.volumeLoader.registerVolumeLoader("cornerstoneStreamingDynamicImageVolume",P.cornerstoneStreamingDynamicImageVolumeLoader),Object.entries({interleaveCenter:e1,interleaveTopToBottom:e8,nth:e2}).forEach(([e,t])=>{h.registerImageLoadStrategy(e,tg(t))}),x.imageLoadPoolManager.maxNumRequests={[K().Interaction]:n?.maxNumRequests?.interaction||10,[K().Thumbnail]:n?.maxNumRequests?.thumbnail||5,[K().Prefetch]:n?.maxNumRequests?.prefetch||5,[K().Compute]:n?.maxNumRequests?.compute||10},Y("cornerstoneStreamingImageVolume",P.cornerstoneStreamingImageVolumeLoader),Y("cornerstoneStreamingDynamicImageVolume",P.cornerstoneStreamingDynamicImageVolumeLoader),W().init({maxWebWorkers:Math.min(Math.max(navigator.hardwareConcurrency-1,1),n.maxNumberOfWebWorkers),beforeSend:function(e){let t=A.getActiveDataSource()?.[0].getConfig()??{},n=d.getAuthorizationHeader(),r={Accept:_.utils.generateAcceptHeader(t.acceptHeader,t.requestTransferSyntaxUID,t.omitQuotationForMultipartRequest)};return n&&Object.assign(r,n),r},errorInterceptor:e=>{_.errorHandler.getHTTPErrorHandler(e)}}),x.metaData.addProvider(x.utilities.genericMetadataProvider.get,9998),x.metaData.addProvider(x.utilities.calibratedPixelSpacingMetadataProvider.get.bind(x.utilities.calibratedPixelSpacingMetadataProvider)),x.metaData.addProvider(U.get.bind(U),9999),this.measurementServiceSource=(({commandsManager:e,servicesManager:t,extensionManager:A})=>{let{measurementService:n,displaySetService:r,cornerstoneViewportService:o,customizationService:i}=t.services,a=((e,t,A,n)=>{let r,{Length:o,Bidirectional:i,EllipticalROI:a,CircleROI:s,ArrowAnnotate:l,Angle:c,CobbAngle:u,RectangleROI:d,PlanarFreehandROI:p,SplineROI:g,LivewireContour:m,Probe:f,UltrasoundDirectional:h,UltrasoundPleuraBLine:w,SegmentBidirectional:B}=(r=e=>{let{POLYLINE:t,ELLIPSE:A,CIRCLE:n,RECTANGLE:r,BIDIRECTIONAL:o,POINT:i,ANGLE:a}=_.MeasurementService.VALUE_TYPES;return({Length:t,EllipticalROI:A,CircleROI:n,RectangleROI:r,PlanarFreehandROI:t,Bidirectional:o,ArrowAnnotate:i,CobbAngle:a,Angle:a,SplineROI:t,LivewireContour:t,Probe:i,UltrasoundDirectional:t,SegmentBidirectional:o})[e]},{Length:{toAnnotation:ep,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=ed(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(s)[0],{length:u,unit:d="mm"}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:d,length:u})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,SeriesNumber:o,SOPInstanceUID:i,frameNumber:a,unit:s}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===i);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${a}`:"";if(null==r)return n;let d=_.utils.roundNumber(r,2);return n.primary.push(`${d} ${s}`),n.secondary.push(`S: ${o}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Length"),e.forEach(e=>{let{length:t,unit:A}=e;n.push("Length"),r.push(t),n.push("Unit"),r.push(A)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},Bidirectional:{toAnnotation:eB,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r={}}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=ed(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(s)[0],{length:u,width:d,unit:p}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:p,length:u,width:d})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,width:o,unit:i,SeriesNumber:a,SOPInstanceUID:s,frameNumber:l}=e[0],c=_.utils.roundNumber(r,2),u=_.utils.roundNumber(o,2),d=t.instances.find(e=>e.SOPInstanceUID===s);d&&(A=d.InstanceNumber);let p=A?` I: ${A}`:"",g=t.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${ew(i)}`),n.primary.push(`W: ${u} ${ew(i)}`),n.secondary.push(`S: ${a}${p}${g}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Bidirectional"),e.forEach(e=>{let{length:t,width:A,unit:o}=e;n.push("Length","Width","Unit"),r.push(t,A,o)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},SegmentBidirectional:{toAnnotation:eO,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.debug("SegmentBidirectional tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=ed(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(s)[0],{length:u,width:d,unit:p}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:p,length:u,width:d})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,width:o,unit:i,SeriesNumber:a,SOPInstanceUID:s,frameNumber:l}=e[0],c=_.utils.roundNumber(r,2),u=_.utils.roundNumber(o,2),d=t.instances.find(e=>e.SOPInstanceUID===s);d&&(A=d.InstanceNumber);let p=A?` I: ${A}`:"",g=t.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${ew(i)}`),n.primary.push(`W: ${u} ${ew(i)}`),n.secondary.push(`S: ${a}${p}${g}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:SegmentBidirectional"),e.forEach(e=>{let{length:t,width:A,unit:o}=e;n.push("Length","Width","Unit"),r.push(t,A,o)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},EllipticalROI:{toAnnotation:ev,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[],a=new Set;return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:l,frameNumber:c}=ed(o,t,e),{SeriesNumber:u}=t.getDisplaySetsForSeries(l)[0],{mean:d,stdDev:p,max:g,area:m,Modality:f,areaUnit:h,modalityUnit:w}=n;f&&a.has(f)||(f&&a.add(f),i.push({SeriesInstanceUID:l,SOPInstanceUID:s,SeriesNumber:u,frameNumber:c,Modality:f,unit:w,areaUnit:h,mean:d,stdDev:p,max:g,area:m}))}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:a}=e[0],s=t.instances.find(e=>e.SOPInstanceUID===o);s&&(A=s.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"",u=_.utils.roundNumber(r,2);return n.primary.push(`${u} ${ew(a)}`),e.forEach(e=>{let{unit:t,max:A,SeriesNumber:r}=e,o=ey(A,t,"max");n.primary.push(o),n.secondary.push(`S: ${r}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,metadata:a,isLocked:c,isVisible:u,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:EllipticalROI"),e.forEach(e=>{let{mean:t,stdDev:A,max:o,area:i,unit:a,areaUnit:s}=e;t&&a&&o&&i&&(n.push(`max (${a})`,`mean (${a})`,`std (${a})`,"Area","Unit"),r.push(o,t,A,i,s))}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.ELLIPSE}]},CircleROI:{toAnnotation:eC,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r={}}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[],a=new Set;return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:l,frameNumber:c}=ed(o,t,e),{SeriesNumber:u}=t.getDisplaySetsForSeries(l)[0],{mean:d,stdDev:p,max:g,area:m,Modality:f,areaUnit:h,modalityUnit:w,perimeter:B,radiusUnit:y}=n;f&&a.has(f)||(a.add(f),i.push({SeriesInstanceUID:l,SOPInstanceUID:s,SeriesNumber:u,frameNumber:c,Modality:f,unit:w,mean:d,stdDev:p,max:g,area:m,areaUnit:h,perimeter:B,radiusUnit:y}))}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:a}=e[0],s=t.instances.find(e=>e.SOPInstanceUID===o);s&&(A=s.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"";if(!isNaN(r)){let e=_.utils.roundNumber(r||0,2);n.primary.push(`${e} ${ew(a)}`)}return e.forEach(e=>{let{unit:t,perimeter:A,radiusUnit:r,max:o,SeriesNumber:i}=e;if(isNaN(o)){if(A&&!isNaN(A)){let e=ey(A,r,"perimeter");n.primary.push(e)}}else{let e=ey(o,t,"max");n.primary.push(e)}n.secondary.push(`S: ${i}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:CircleROI"),e.forEach(e=>{let{mean:t,stdDev:A,max:o,area:i,unit:a,areaUnit:s}=e;t&&a&&o&&i&&(n.push(`max (${a})`,`mean (${a})`,`std (${a})`,"Area","Unit"),r.push(o,t,A,i,s))}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.CIRCLE}]},RectangleROI:{toAnnotation:eU.toAnnotation,toMeasurement:e=>eU.toMeasurement(e,t,A,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE}]},PlanarFreehandROI:{toAnnotation:eb.toAnnotation,toMeasurement:e=>eb.toMeasurement(e,t,A,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE}]},SplineROI:{toAnnotation:eF,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("SplineROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:f,frameNumber:h,StudyInstanceUID:w}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let B=function(e,t){let A={primary:[],secondary:[]};if(!e||!e.length)return A;let{area:n,SOPInstanceUID:r,frameNumber:o,areaUnit:i}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===r);a&&a.InstanceNumber,t.isMultiFrame;let s=_.utils.roundNumber(n||0,2);return A.primary.push(`${s} ${ew(i)}`),A}(function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=ed(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(s)[0],{mean:u,stdDev:d,max:p,area:g,Modality:m,areaUnit:f,modalityUnit:h}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,Modality:m,unit:h,mean:u,stdDev:d,max:p,area:g,areaUnit:f})}),i}(i,t),o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:s.contour.polyline,textBox:s.handles.textBox,metadata:a,frameNumber:h,referenceSeriesUID:f,referenceStudyUID:w,referencedImageId:p,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:B,data:s.cachedStats,type:n(d),getReport:()=>(function(e,t){let{SplineROI:A}=t.getCustomization("cornerstone.measurements"),{report:n}=A,r=[],o=[];r.push("AnnotationType"),o.push("Cornerstone:SplineROI");let{metadata:i,data:a}=e,s=a.cachedStats[`imageId:${i.referencedImageId}`];return n.forEach(({displayName:e,value:t})=>{r.push(e),s[t]?o.push(s[t]):o.push("not available")}),i.FrameOfReferenceUID&&(r.push("FrameOfReferenceUID"),o.push(i.FrameOfReferenceUID)),a.contour.polyline&&(r.push("points"),o.push(a.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:r,values:o}})(i,r),isLocked:c,isVisible:u}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE}]},LivewireContour:{toAnnotation:eQ,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Livewire tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:f,frameNumber:h,StudyInstanceUID:w}=ed(p,t,i);return o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f),{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:s.contour.polyline,textBox:s.handles.textBox,metadata:a,frameNumber:h,referenceSeriesUID:f,referencedImageId:p,referenceStudyUID:w,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,isLocked:c,isVisible:u,displayText:function(e,t,A){let n,{metadata:r,data:o}=e,i={primary:[],secondary:[]};if(!o.cachedStats||!o.cachedStats[`imageId:${r.referencedImageId}`])return i;let{area:a,areaUnit:s}=o.cachedStats[`imageId:${r.referencedImageId}`],{SOPInstanceUID:l,frameNumber:c}=ed(r.referencedImageId,A,e),u=t.instances.find(e=>e.SOPInstanceUID===l);u&&(n=u.InstanceNumber);let d=n?` I: ${n}`:"",p=t.isMultiFrame?` F: ${c}`:"",{SeriesNumber:g}=t,m=null;if(void 0!==g&&(m=`S: ${g}${d}${p}`),a){let e=_.utils.roundNumber(a||0,2);i.primary.push(`${e} ${ew(s)}`)}return m&&i.secondary.push(m),i}(i,o,t),data:s.cachedStats,type:n(d),getReport:()=>(function(e){let t=[],A=[];t.push("AnnotationType"),A.push("Cornerstone:Livewire");let{metadata:n,data:r}=e;return n.FrameOfReferenceUID&&(t.push("FrameOfReferenceUID"),A.push(n.FrameOfReferenceUID)),r.contour.polyline&&(t.push("points"),A.push(r.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:t,values:A}})(i)}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE}]},ArrowAnnotate:{toAnnotation:eS,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,t){let{metadata:A,data:n}=e,{text:r}=n,{referencedImageId:o}=A,i=[],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=ed(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(s)[0];return i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,text:r}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{SeriesNumber:r,SOPInstanceUID:o,frameNumber:i,text:a}=e[0],s=t.instances.find(e=>e.SOPInstanceUID===o);s&&(A=s.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"";return a&&n.primary.push(a),n.secondary.push(`S: ${r}${l}${c}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:ArrowAnnote"),e.forEach(e=>{let{text:t}=e;n.push("Text"),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,0),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POINT,points:1}]},Probe:{toAnnotation:eT,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Probe tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w}=s.handles,B=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=ed(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(s)[0],{value:u,modalityUnit:d}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:d||"",value:u})}),i}(i,t),y=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{value:r,unit:o,SeriesNumber:i,SOPInstanceUID:a,frameNumber:s}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===a);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${s}`:"";if(void 0!==r){let e=_.utils.roundNumber(r,2);n.primary.push(`${e} ${ew(o)}`),n.secondary.push(`S: ${i}${c}${u}`)}return n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,metadata:a,isLocked:c,isVisible:u,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:p,frameNumber:B?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:y,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=B,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Probe"),e.forEach(e=>{let{value:t,unit:A}=e;n.push(`Probe (${A})`),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POINT,points:1}]},CobbAngle:{toAnnotation:eE,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Cobb Angle tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!r||!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=ed(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(s)[0],{angle:u}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:"\xb0",angle:u})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{angle:r,unit:o,SeriesNumber:i,SOPInstanceUID:a,frameNumber:s}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===a);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${s}`:"";if(void 0===r)return n;let d=_.utils.roundNumber(r,2);return n.primary.push(`${d} ${ew(o)}`),n.secondary.push(`S: ${i}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,referencedImageId:p,frameNumber:y?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:CobbAngle"),e.forEach(e=>{let{angle:t,unit:A}=e;n.push(`Angle (${A})`),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.ANGLE}]},Angle:{toAnnotation:eI,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f)[0];let{points:w,textBox:B}=s.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:s,frameNumber:l}=ed(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(s)[0],{angle:u}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:"\xb0",angle:u})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{angle:r,unit:o,SeriesNumber:i,SOPInstanceUID:a,frameNumber:s}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===a);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${s}`:"";if(void 0===r)return n;let d=_.utils.roundNumber(r,2);return n.primary.push(`${d} ${ew(o)}`),n.secondary.push(`S: ${i}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,frameNumber:y?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:v,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Angle"),e.forEach(e=>{let{angle:t,unit:A}=e;n.push(`Angle (${A})`),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},referencedImageId:p}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.ANGLE}]},UltrasoundDirectional:{toAnnotation:eD,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f);let{points:w}=s.handles,B=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(e=>{let A=r[e];if(!o)throw Error("Non-acquisition plane measurement mapping not supported");let{SOPInstanceUID:n,SeriesInstanceUID:a,frameNumber:s}=ed(o),{SeriesNumber:l}=t.getDisplaySetForSOPInstanceUID(n,a,s),{xValues:c,yValues:u,units:d,isUnitless:p,isHorizontal:g}=A;i.push({SeriesInstanceUID:a,SOPInstanceUID:n,SeriesNumber:l,frameNumber:s,xValues:c,yValues:u,units:d,isUnitless:p,isHorizontal:g})}),i}(i,t),y=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{xValues:r,yValues:o,units:i,isUnitless:a,SeriesNumber:s,SOPInstanceUID:l,frameNumber:c}=e[0],u=t.instances.find(e=>e.SOPInstanceUID===l);u&&(A=u.InstanceNumber);let d=A?` I: ${A}`:"",p=t.isMultiFrame?` F: ${c}`:"",g=`S: ${s}${d}${p}`;if(void 0===r||void 0===o)return n;if(a)n.primary.push(`${_.utils.roundNumber(r[0],2)} ${i[0]}`);else{let e=Math.abs(r[1]-r[0]),t=Math.abs(o[1]-o[0]);n.primary.push(`${_.utils.roundNumber(e)} ${i[0]}`),n.primary.push(`${_.utils.roundNumber(t)} ${i[1]}`)}return n.secondary.push(g),n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,frameNumber:B?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:y,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=B,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:UltrasoundDirectional"),e.forEach(e=>{let{xValues:t,yValues:A,units:o,isUnitless:i}=e;if(i)n.push("Length"+o[0]),r.push(_.utils.roundNumber(t[0],2));else{let e=Math.abs(t[1]-t[0]),i=Math.abs(A[1]-A[0]);n.push("Time"+o[0]),r.push(_.utils.roundNumber(e,2)),n.push("Length"+o[1]),r.push(_.utils.roundNumber(i,2))}}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},UltrasoundPleuraBLine:{toAnnotation:eM,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:a,data:s,annotationUID:l}=i,c=eu.locking.isAnnotationLocked(l),u=eu.visibility.isAnnotationVisible(l);if(!a||!s)return console.warn("UltrasoundPleuraBLine tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!ec.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=ed(p);o=m?t.getDisplaySetForSOPInstanceUID(m,f):t.getDisplaySetsForSeries(f);let{points:w}=s.handles,B=function(e,t){let{metadata:A}=e,{annotationType:n}=e.data,{referencedImageId:r}=A,o=[];if(!r)throw Error("Non-acquisition plane measurement mapping not supported");let{SOPInstanceUID:i,SeriesInstanceUID:a,frameNumber:s}=ed(r),{SeriesNumber:l}=t.getDisplaySetForSOPInstanceUID(i,a,s);return o.push({SeriesInstanceUID:a,SOPInstanceUID:i,SeriesNumber:l,frameNumber:s,annotationType:n}),o}(i,t),y=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{annotationType:r,SeriesNumber:o,SOPInstanceUID:i,frameNumber:a}=e[0],s=t.instances.find(e=>e.SOPInstanceUID===i);s&&(A=s.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${a}`:"",u=`S: ${o}${l}${c}`;return n.primary.push(`Annotation : ${r}`),n.secondary.push(u),n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,metadata:a,referenceSeriesUID:f,referenceStudyUID:h,frameNumber:B?.[0]?.frameNumber||1,toolName:a.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:s.label,displayText:y,data:s.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=B,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:UltrasoundPleuraBLine"),e.forEach(e=>{let{annotationType:t}=e;n.push("AnnotationType"),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}})(e,t,0,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]}}),y=e.createSource(eL,eR);return e.addMapping(y,"Length",o.matchingCriteria,o.toAnnotation,o.toMeasurement),e.addMapping(y,"Crosshairs",o.matchingCriteria,()=>null,()=>null),e.addMapping(y,"Bidirectional",i.matchingCriteria,i.toAnnotation,i.toMeasurement),e.addMapping(y,"EllipticalROI",a.matchingCriteria,a.toAnnotation,a.toMeasurement),e.addMapping(y,"CircleROI",s.matchingCriteria,s.toAnnotation,s.toMeasurement),e.addMapping(y,"ArrowAnnotate",l.matchingCriteria,l.toAnnotation,l.toMeasurement),e.addMapping(y,"CobbAngle",u.matchingCriteria,u.toAnnotation,u.toMeasurement),e.addMapping(y,"Angle",c.matchingCriteria,c.toAnnotation,c.toMeasurement),e.addMapping(y,"RectangleROI",d.matchingCriteria,d.toAnnotation,d.toMeasurement),e.addMapping(y,"PlanarFreehandROI",p.matchingCriteria,p.toAnnotation,p.toMeasurement),e.addMapping(y,"SplineROI",g.matchingCriteria,g.toAnnotation,g.toMeasurement),e.addMapping(y,"CalibrationLine",o.matchingCriteria,o.toAnnotation,o.toMeasurement),e.addMapping(y,"LivewireContour",m.matchingCriteria,m.toAnnotation,m.toMeasurement),e.addMapping(y,"Probe",f.matchingCriteria,f.toAnnotation,f.toMeasurement),e.addMapping(y,"UltrasoundDirectionalTool",h.matchingCriteria,h.toAnnotation,h.toMeasurement),e.addMapping(y,"UltrasoundPleuraBLineTool",w.matchingCriteria,w.toAnnotation,w.toMeasurement),e.addMapping(y,"SegmentBidirectional",B.matchingCriteria,B.toAnnotation,B.toMeasurement),y})(n,r,o,i);(({servicesManager:e,commandsManager:t,extensionManager:A})=>{let{measurementService:n,cornerstoneViewportService:r,viewportGridService:o}=e.services,{MEASUREMENT_REMOVED:i,MEASUREMENTS_CLEARED:a,MEASUREMENT_UPDATED:s,RAW_MEASUREMENT_ADDED:l}=n.EVENTS;n.subscribe(a,({measurements:e,trackingContext:A})=>{if(Object.keys(e).length){for(let A of(t.run("startRecordingForAnnotationGroup"),Object.values(e))){let{uid:e,source:n}=A;if(n.name!==eL)continue;let r=L.annotation.state.getAnnotation(e);eV(e),t.run("triggerCreateAnnotationMemo",{annotation:r,FrameOfReferenceUID:r.metadata.FrameOfReferenceUID,options:{deleting:!0}})}A&&eH.push({id:x.utilities.uuidv4(),operationType:"trackingState",restoreMemo(e){!0===e?t.run("restoreTrackedSeries",A):!1===e&&t.run("clearTrackedSeries")}}),t.run("endRecordingForAnnotationGroup"),r.getRenderingEngine().render()}}),n.subscribe(s,({source:e,measurement:t,notYetUpdatedAtSource:A})=>{if(!e||e.name!==eL||!1===A)return;let{uid:n,label:i,isLocked:a,isVisible:s}=t,l=L.annotation.state.getAnnotation(n),{data:c,metadata:u}=l;if(!c)return;if(c.label!==i){let e=Z(o)?.viewport.element;(0,ex.setAnnotationLabel)(l,e,i)}L.annotation.locking.setAnnotationLocked(n,a),L.annotation.visibility.setAnnotationVisibility(n,s);let d=r.getRenderingEngine().getViewports().map(e=>e.id);(0,ex.triggerAnnotationRenderForViewportIds)(d)}),n.subscribe(l,({source:e,measurement:A,data:n,dataSource:r})=>{let o;if(e.name!==eL)return;let{referenceSeriesUID:i,referenceStudyUID:a,SOPInstanceUID:s,metadata:l}=A,c=_.DicomMetadataStore.getInstance(a,i,s),u=1;A?.metadata?.referencedImageId?(o=A.metadata.referencedImageId,u=ed(A.metadata.referencedImageId).frameNumber):c&&(o=r.getImageIdsForInstance({instance:c}));let d=L.annotation.state.getAnnotationManager(),p={annotationUID:A.uid,predecessorImageId:A?.predecessorImageId,highlighted:!1,isLocked:!1,invalidated:!0,metadata:{...l,toolName:A.toolName,FrameOfReferenceUID:A.FrameOfReferenceUID,referencedImageId:o},data:{...n.annotation.data||{},text:n.annotation.data.text,handles:{...n.annotation.data.handles},cachedStats:{...n.annotation.data.cachedStats},label:n.annotation.data.label,frameNumber:u}};d.addAnnotation(p),t.run("triggerCreateAnnotationMemo",{annotation:p,FrameOfReferenceUID:p.metadata.FrameOfReferenceUID,options:{newAnnotation:!0}})}),n.subscribe(i,({source:e,measurement:A})=>{if(e?.name&&e.name!==eL)return;t.run("cancelMeasurement");let n=L.annotation.state.getAnnotation(A);eV(A),n&&t.run("triggerCreateAnnotationMemo",{annotation:n,FrameOfReferenceUID:n.metadata.FrameOfReferenceUID,options:{deleting:!0}}),r.getRenderingEngine().render()})})({servicesManager:t,commandsManager:e,extensionManager:A});let{annotationToMeasurement:s,remove:l}=a;function c(e){try{let A=e.detail,{annotation:{metadata:n,annotationUID:r}}=A,{toolName:i}=n;e.type===p&&i===el.CalibrationLine?(function(e,t){var A,n;let r,o,i,{uiDialogService:a,viewportGridService:s}=e.services,{annotation:{metadata:l,data:c}}=t.detail,{referencedImageId:u}=l,{viewport:d}=Z(s),p=Math.round(100*(A=c.handles.points[0],n=c.handles.points[1],r=A[0]-n[0],o=A[1]-n[1],i=A[2]-n[2],Math.sqrt(r*r+o*o+i*i)))/100;return new Promise((e,t)=>{a?(0,J.callInputDialog)({uiDialogService:a,title:"Calibration",placeholder:"Actual Physical distance (mm)",defaultValue:`${p}`}).then(t=>{var A;A=Number.parseFloat(t),ee(u,d.getRenderingEngine(),{type:"User",scale:1/(A/p)}),e(!0)}):t("UIDialogService is not initiated")})})(t,e).then(()=>{console.log("Calibration applied.")},()=>!0).finally(()=>{eV(r),u(e),o.resize()}):(A.uid=r,s(i,A))}catch(e){console.warn("Failed to add measurement:",e)}}function u(e){try{let t=e.detail,{annotation:{annotationUID:A}}=t;n.getMeasurement(A)&&l(A,t)}catch(e){console.warn("Failed to remove measurement:",e)}}let d=eN.ANNOTATION_ADDED,p=eN.ANNOTATION_COMPLETED,g=eN.ANNOTATION_MODIFIED,m=eN.ANNOTATION_REMOVED,f=eN.ANNOTATION_SELECTION_CHANGE;return x.eventTarget.addEventListener(d,c),x.eventTarget.addEventListener(p,c),x.eventTarget.addEventListener(g,function(e){try{let t=e.detail,{annotation:{metadata:A,annotationUID:r}}=t;if(!n.getMeasurement(r))return;let{toolName:o}=A;t.uid=r,s(o,t,!0)}catch(e){console.warn("Failed to update measurement:",e)}}),x.eventTarget.addEventListener(m,u),x.eventTarget.addEventListener(f,function(e){try{let{added:t,removed:A}=e.detail;A&&A.forEach(e=>n.setMeasurementSelected(e,!1)),t&&t.forEach(e=>n.setMeasurementSelected(e,!0))}catch(e){console.warn("Failed to select/unselect measurements:",e)}}),a})({servicesManager:e,commandsManager:t,extensionManager:A}),e_(e),ek(e),y.subscribe(y.EVENTS.JUMP_TO_MEASUREMENT,e=>{let{measurement:A}=e,{uid:n}=A;t.runCommand("jumpToMeasurementViewport",{measurement:A,annotationUID:n,evt:e})}),h.subscribe(h.EVENTS.CUSTOM_IMAGE_LOAD_PERFORMED,e=>{let{lutPresentationStore:t}=ts.I.getState(),{segmentationPresentationStore:A}=tc.v.getState(),{positionPresentationStore:n}=tl.q.getState();for(let r of e.entries()){let[e,o]=r,i=f.getCornerstoneViewport(e),{presentationIds:a}=f.getViewportInfo(e).getViewportOptions(),s={positionPresentation:n[a?.positionPresentationId],lutPresentation:t[a?.lutPresentationId],segmentationPresentation:A[a?.segmentationPresentationId]};f.setVolumesForViewport(i,o,s)}}),te({cornerstoneViewportService:f,customizationService:p,commandsManager:t}),tA({customizationService:p,commandsManager:t});let F=({detail:e})=>{_.errorHandler.getHTTPErrorHandler()(e.error)};x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_FAILED,F),x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_ERROR,F),x.eventTarget.addEventListener(x.EVENTS.ELEMENT_ENABLED,(function(e){let{element:A}=e.detail,{viewport:n}=(0,x.getEnabledElement)(A);if(!function({element:e}){if(!tn.length){let{TimingEnum:e}=_.Enums;tn.push(e.DISPLAY_SETS_TO_ALL_IMAGES,e.DISPLAY_SETS_TO_FIRST_IMAGE,e.STUDY_TO_FIRST_IMAGE)}tn.find(e=>_.log.timingKeys[e])&&(tr.viewportsWaiting+=1,e.addEventListener(x.EVENTS.IMAGE_RENDERED,to))}({element:A}),A.addEventListener(x.EVENTS.CAMERA_RESET,e=>{let{element:A}=e.detail,n=(0,x.getEnabledElement)(A);if(!n)return;let{viewportId:r}=n;t.runCommand("resetCrosshairs",{viewportId:r})}),n.type!==x.Enums.ViewportType.ORTHOGRAPHIC)return}).bind(null)),ti.forEach(td),x.eventTarget.addEventListenerDebounced(x.EVENTS.ERROR_EVENT,({detail:e})=>{let t=`cornerstone-error-${e.type}-${e.message.substring(0,50)}`;m.show({title:e.type,message:e.message,type:"error",id:t,allowDuplicates:!1,deduplicationInterval:3e4})},100),r=e.services.uiNotificationService,i=new Map,x.eventTarget.addEventListener(x.EVENTS.WEB_WORKER_PROGRESS,({detail:e})=>{let t,A=!1;try{let{progress:n,type:o,id:a}=e;if(o===L.Enums.WorkerTypes.COMPUTE_STATISTICS)return;if(t=`worker-task-${o.toLowerCase().replace(/\s+/g,"-")}`,0===n)if(i.has(t))console.debug(`Already tracking a "${o}" task, skipping duplicate notification`);else{let e=new Promise((e,A)=>{try{i.set(t,{resolve:e,reject:A,originalId:a,type:o})}catch(e){throw console.error(`Error setting active worker task for type "${o}":`,e),A(e),e}});try{r.show({id:t,title:`${o}`,message:"Computing...",autoClose:!1,allowDuplicates:!1,deduplicationInterval:6e4,promise:e,promiseMessages:{loading:"Computing...",success:"Completed successfully",error:"Web Worker failed"}})}catch(e){throw console.error(`Error showing web worker notification for type "${o}":`,e),A=!0,e}}else if(100===n){let e=i.get(t);if(e){let{resolve:t}=e;t({progress:n,type:o}),A=!0,console.debug(`Worker task "${o}" completed successfully`)}}}catch(t){console.error(`Error in web worker progress handler for type "${e?.type}":`,t),A=!0}finally{if(A&&t)try{i.delete(t)}catch(t){console.error(`Error cleaning up active worker task for type "${e?.type}":`,t)}}})}window.cornerstone=x,window.cornerstoneTools=L;let tg=e=>t=>{let A=tu.imageRetrieveMetadataProvider.clone();tu.imageRetrieveMetadataProvider.clear();try{return e(t)}finally{setTimeout(()=>{tu.imageRetrieveMetadataProvider.restore(A)},10)}};function tm(){return D.createElement("div",null,D.createElement("p",null,"Your computer does not have enough GPU power to support the default GPU rendering mode. OHIF has switched to CPU rendering mode. Please note that CPU rendering does not support all features such as Volume Rendering, Multiplanar Reconstruction, and Segmentation Overlays."))}let tf={"viewportOverlay.topLeft":[{id:"StudyDate",inheritsFrom:"ohif.overlayItem",label:"",title:"Study date",condition:({referenceInstance:e})=>e?.StudyDate,contentF:({referenceInstance:e,formatters:{formatDate:t}})=>t(e.StudyDate)},{id:"SeriesDescription",inheritsFrom:"ohif.overlayItem",label:"",title:"Series description",condition:({referenceInstance:e})=>e&&e.SeriesDescription,contentF:({referenceInstance:e})=>e.SeriesDescription}],"viewportOverlay.topRight":[],"viewportOverlay.bottomLeft":[{id:"WindowLevel",inheritsFrom:"ohif.overlayItem.windowLevel",title:"Window Level"},{id:"ZoomLevel",inheritsFrom:"ohif.overlayItem.zoomLevel",condition:e=>"Zoom"===e.toolGroupService.getActiveToolForViewport(e.viewportId)}],"viewportOverlay.bottomRight":[{id:"InstanceNumber",inheritsFrom:"ohif.overlayItem.instanceNumber",title:"Instance Number"}]};var th=O(55);function tw(e){return(tw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tB(e){var t=function(e,t){if("object"!=tw(e)||!e)return e;var A=e[Symbol.toPrimitive];if(void 0!==A){var n=A.call(e,t||"default");if("object"!=tw(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==tw(t)?t:t+""}O(9741),Object.create(null);var ty=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,tv={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"\xa9","©":"\xa9","®":"\xae","®":"\xae","…":"…","…":"…","/":"/","/":"/"},tC=function(e){return tv[e]},tS={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(ty,tC)}},tE=(0,D.createContext)(),tI=function(){var e;function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.usedNamespaces={}}return e=[{key:"addUsedNamespaces",value:function(e){var t=this;e.forEach(function(e){t.usedNamespaces[e]||(t.usedNamespaces[e]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}],function(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,tB(n.key),n)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}();function tb(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=Array(t);A<t;A++)n[A]=e[A];return n}function tU(){if(console&&console.warn){for(var e,t=arguments.length,A=Array(t),n=0;n<t;n++)A[n]=arguments[n];"string"==typeof A[0]&&(A[0]="react-i18next:: ".concat(A[0])),(e=console).warn.apply(e,A)}}var tF={};function tQ(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];"string"==typeof t[0]&&tF[t[0]]||("string"==typeof t[0]&&(tF[t[0]]=new Date),tU.apply(void 0,t))}var tT=function(e,t){return function(){e.isInitialized?t():e.on("initialized",function A(){setTimeout(function(){e.off("initialized",A)},0),t()})}};function tD(e,t,A){e.loadNamespaces(t,tT(e,A))}function tO(e,t,A,n){"string"==typeof A&&(A=[A]),A.forEach(function(t){0>e.options.ns.indexOf(t)&&e.options.ns.push(t)}),e.loadLanguages(t,tT(e,n))}function tM(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),A.push.apply(A,n)}return A}function tx(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?tM(Object(A),!0).forEach(function(t){var n,r;n=t,r=A[t],(n=tB(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):tM(Object(A)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))})}return e}var tL=function(e,t){var A=(0,D.useRef)();return(0,D.useEffect)(function(){A.current=t?A.current:e},[e,t]),A.current};function tR(e){var t,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.i18n,r=(0,D.useContext)(tE)||{},o=r.i18n,i=r.defaultNS,a=n||o||C;if(a&&!a.reportNamespaces&&(a.reportNamespaces=new tI),!a){tQ("You will need to pass in an i18next instance by using initReactI18next");var s=function(e,t){return"string"==typeof t?t:t&&"object"===tw(t)&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}a.options.react&&void 0!==a.options.react.wait&&tQ("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var c=tx(tx(tx({},tS),a.options.react),A),u=c.useSuspense,d=c.keyPrefix,p=e||i||a.options&&a.options.defaultNS;p="string"==typeof p?[p]:p||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(p);var g=(a.isInitialized||a.initializedStoreOnce)&&p.every(function(e){return function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0===t.options.ignoreJSONStructure?function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.languages[0],r=!!t.options&&t.options.fallbackLng,o=t.languages[t.languages.length-1];if("cimode"===n.toLowerCase())return!0;var i=function(e,A){var n=t.services.backendConnector.state["".concat(e,"|").concat(A)];return -1===n||2===n};return(!(A.bindI18n&&A.bindI18n.indexOf("languageChanging")>-1)||!t.services.backendConnector.backend||!t.isLanguageChangingTo||!!i(t.isLanguageChangingTo,e))&&!!(t.hasResourceBundle(n,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||i(n,e)&&(!r||i(o,e)))}(e,t,A):t.hasLoadedNamespace(e,{lng:A.lng,precheck:function(t,n){if(A.bindI18n&&A.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!n(t.isLanguageChangingTo,e))return!1}}):(tQ("i18n.languages were undefined or empty",t.languages),!0)}(e,a,c)});function m(){return a.getFixedT(A.lng||null,"fallback"===c.nsMode?p:p[0],d)}var f=function(e){if(Array.isArray(e))return e}(t=(0,D.useState)(m))||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var A,n,r,o,i=[],a=!0,s=!1;try{r=(t=t.call(e)).next,!1;for(;!(a=(A=r.call(t)).done)&&(i.push(A.value),2!==i.length);a=!0);}catch(e){s=!0,n=e}finally{try{if(!a&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(s)throw n}}return i}}(t)||function(e){if(e){if("string"==typeof e)return tb(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?tb(e,2):void 0}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),h=f[0],w=f[1],B=p.join();A.lng&&(B="".concat(A.lng).concat(B));var y=tL(B),v=(0,D.useRef)(!0);(0,D.useEffect)(function(){var e=c.bindI18n,t=c.bindI18nStore;function n(){v.current&&w(m)}return v.current=!0,g||u||(A.lng?tO(a,A.lng,p,function(){v.current&&w(m)}):tD(a,p,function(){v.current&&w(m)})),g&&y&&y!==B&&v.current&&w(m),e&&a&&a.on(e,n),t&&a&&a.store.on(t,n),function(){v.current=!1,e&&a&&e.split(" ").forEach(function(e){return a.off(e,n)}),t&&a&&t.split(" ").forEach(function(e){return a.store.off(e,n)})}},[a,B]);var S=(0,D.useRef)(!0);(0,D.useEffect)(function(){v.current&&!S.current&&w(m),S.current=!1},[a,d]);var E=[h,a,g];if(E.t=h,E.i18n=a,E.ready=g,g||!g&&!u)return E;throw new Promise(function(e){A.lng?tO(a,A.lng,p,function(){return e()}):tD(a,p,function(){return e()})})}var tV=O(1459);let tN=({segmentationId:e,segmentationRepresentationType:t,allowExport:A,actions:n})=>{let{t:r}=tR("SegmentationPanel");return D.createElement(th.DropdownMenuSub,null,D.createElement(th.DropdownMenuSubTrigger,{className:"pl-1"},D.createElement(th.Icons.Export,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},r("Export"))),D.createElement(th.DropdownMenuPortal,null,D.createElement(th.DropdownMenuSubContent,null,t===ta.SegmentationRepresentations.Labelmap&&D.createElement(th.DropdownMenuItem,{onClick:t=>{t.preventDefault(),n.downloadCSVSegmentationReport(e)},disabled:!A},r("CSV Report")),t===ta.SegmentationRepresentations.Labelmap&&D.createElement(th.DropdownMenuItem,{onClick:t=>{t.preventDefault(),n.storeSegmentation(e,"SEG")},disabled:!A},r("DICOM SEG")),D.createElement(th.DropdownMenuItem,{onClick:t=>{t.preventDefault(),n.storeSegmentation(e,"RTSTRUCT")},disabled:!A},r("DICOM RTSS")))))},tH=()=>{let e,t,{commandsManager:A}=(0,tV.useSystem)(),{t:n}=tR("SegmentationPanel"),{onSegmentationAdd:r,onSegmentationRemoveFromViewport:o,onSegmentationEdit:i,onSegmentationDelete:a,exportOptions:s,activeSegmentation:l,activeSegmentationId:c,segmentationRepresentationTypes:u,disableEditing:d}=(0,th.useSegmentationTableContext)("CustomDropdownMenu"),p=!1;try{t=(e=(0,th.useSegmentationExpanded)().segmentation).segmentationId}catch(A){e=l,t=c}if(!e||!t)return null;if(s){let e=s.find(e=>e.segmentationId===t);p=e?.isExportable||!1}return D.createElement(th.DropdownMenuContent,{align:"start"},!d&&D.createElement(th.DropdownMenuItem,{onClick:()=>r({segmentationId:t,segmentationRepresentationType:u?.[0]})},D.createElement(th.Icons.Add,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},n("Create New Segmentation"))),D.createElement(th.DropdownMenuSeparator,null),D.createElement(th.DropdownMenuLabel,null,n("Manage Current Segmentation")),D.createElement(th.DropdownMenuItem,{onClick:()=>o(t)},D.createElement(th.Icons.Series,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},n("Remove from Viewport"))),D.createElement(th.DropdownMenuItem,{onClick:()=>i(t)},D.createElement(th.Icons.Rename,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},n("Rename"))),D.createElement(tN,{segmentationId:t,segmentationRepresentationType:u?.[0],allowExport:p,actions:{storeSegmentation:async(e,t="SEG")=>{A.run({commandName:"storeSegmentation",commandOptions:{segmentationId:e,modality:t},context:"CORNERSTONE"})},downloadCSVSegmentationReport:e=>{A.run("downloadCSVSegmentationReport",{segmentationId:e})}}}),D.createElement(th.DropdownMenuSeparator,null),D.createElement(th.DropdownMenuItem,{onClick:()=>a(t)},D.createElement(th.Icons.Delete,{className:"text-red-600"}),D.createElement("span",{className:"pl-2 text-red-600"},n("Delete"))))},t_=({segmentationId:e,segmentIndex:t})=>{let{servicesManager:A,commandsManager:n}=(0,tV.useSystem)(),{segmentationService:r}=A.services,{t:o}=tR("SegmentationPanel"),i=r.getSegmentation(e).segments[t].cachedStats.namedStats;if(!i)return null;let a=i.bidirectional;if(!a)return D.createElement("div",{className:"-mt-2 space-y-2"},D.createElement("div",{className:"flex"},D.createElement(th.Tooltip,null,D.createElement(th.TooltipTrigger,{asChild:!0},D.createElement(th.Button,{variant:"ghost",size:"sm",className:"text-primary flex items-center gap-2",onClick:()=>{n.run("runSegmentBidirectional",{segmentationId:e,segmentIndex:t})}},D.createElement(th.Icons.ToolBidirectionalSegment,{className:"h-5 w-5"}),D.createElement("span",null,o("Compute Largest Bidirectional")))),D.createElement(th.TooltipContent,{side:"bottom"},o("Add bidirectional measurement")))),D.createElement(th.Separator,{className:"bg-input"}));let{value:s,unit:l}=a,c=s.maxMajor,u=s.maxMinor,d=Math.max(c,u),p=Math.min(c,u),g=L.annotation.visibility.isAnnotationVisible(a.annotationUID);return D.createElement("div",{className:"-mt-2 space-y-2"},D.createElement("div",{className:"flex items-center justify-between"},D.createElement("div",{className:"text-foreground"},D.createElement("div",null,"L: ",(0,eA.roundNumber)(d)," ",l),D.createElement("div",null,"W: ",(0,eA.roundNumber)(p)," ",l)),D.createElement("div",{className:"flex gap-2"},D.createElement(th.Tooltip,null,D.createElement(th.TooltipTrigger,{asChild:!0},D.createElement(th.Button,{size:"icon",variant:"ghost",className:"h-6 w-6 transition-opacity",onClick:A=>{A.stopPropagation(),L.annotation.visibility.setAnnotationVisibility(a.annotationUID,!g),r.addOrUpdateSegmentation({segmentationId:e,segmentIndex:t})}},g?D.createElement(th.Icons.Hide,{className:"h-6 w-6"}):D.createElement(th.Icons.Show,{className:"h-6 w-6"}))),D.createElement(th.TooltipContent,{side:"bottom"},o("Toggle visibility"))),D.createElement(th.Tooltip,null,D.createElement(th.TooltipTrigger,{asChild:!0},D.createElement(th.Button,{variant:"ghost",size:"icon",onClick:()=>{a.annotationUID&&n.run("jumpToMeasurement",{uid:a.annotationUID})}},D.createElement(th.Icons.JumpToSlice,null))),D.createElement(th.TooltipContent,{side:"bottom"},o("Jump to measurement"))))),D.createElement(th.Separator,{className:"bg-input"}))};function tk(){let{commandsManager:e}=(0,_.useSystem)(),{t}=tR("SegmentationPanel"),[A,n]=(0,D.useState)(!1),[r,o]=(0,D.useState)(!1),[i,a]=(0,D.useState)(!1),[s,l]=(0,D.useState)(!1);return D.createElement("div",{className:"bg-muted flex flex-col gap-2 border-b border-b-[2px] border-background px-2 py-3"},D.createElement("div",{className:"flex items-center gap-2"},D.createElement(th.Switch,{checked:A,onCheckedChange:t=>{n(t),e.run("toggleSegmentPreviewEdit",{toggle:t})}}),D.createElement("span",{className:"text-foreground text-base"},t("Preview edits before creating"))),D.createElement("div",{className:"flex items-center gap-2"},D.createElement(th.Switch,{checked:s,onCheckedChange:t=>{l(t),e.run("toggleUseCenterSegmentIndex",{toggle:t})}}),D.createElement("span",{className:"text-foreground text-base"},t("Use center as segment index"))),D.createElement("div",{className:"flex items-center gap-2"},D.createElement(th.Switch,{checked:i,onCheckedChange:t=>{a(t),e.run("toggleSegmentSelect",{toggle:t})}}),D.createElement("span",{className:"text-foreground text-base"},t("Hover on segment border to activate"))),D.createElement("div",{className:"flex items-center gap-2"},D.createElement(th.Switch,{checked:r,onCheckedChange:t=>{o(t),e.run("toggleSegmentLabel",{enabled:t})}}),D.createElement("span",{className:"text-foreground text-base"},t("Show segment name on hover"))))}let tP={"layoutSelector.advancedPresetGenerator":({servicesManager:e})=>(({servicesManager:e})=>{let{hangingProtocolService:t,viewportGridService:A,displaySetService:n}=e.services,r=Array.from(t.protocols.values()),o=A.getActiveViewportId();if(!o)return[];let i=A.getDisplaySetsUIDsForViewport(o);if(!i)return[];let a=i.map(e=>{let t=n.getDisplaySetByUID(e),A=t?.measurements?.[0]?.displaySetInstanceUID;return"SR"===t.Modality&&A?n.getDisplaySetByUID(A):t});return r.map(e=>{if(!e.isPreset)return null;let A=!e.displaySetSelectors||0===Object.values(e.displaySetSelectors).length||t.areRequiredSelectorsValid(Object.values(e.displaySetSelectors),a[0]);return{icon:e.icon,title:e.name,commandOptions:{protocolId:e.id},disabled:!A}}).filter(e=>null!==e)})({servicesManager:e}),"layoutSelector.commonPresets":[{icon:"layout-common-1x1",commandOptions:{numRows:1,numCols:1}},{icon:"layout-common-1x2",commandOptions:{numRows:1,numCols:2}},{icon:"layout-common-2x2",commandOptions:{numRows:2,numCols:2}},{icon:"layout-common-2x3",commandOptions:{numRows:2,numCols:3}}]},tG={"cornerstone.overlayViewportTools":{active:[{toolName:el.WindowLevel,bindings:[{mouseButton:L.Enums.MouseBindings.Primary}]},{toolName:el.Pan,bindings:[{mouseButton:L.Enums.MouseBindings.Auxiliary}]},{toolName:el.Zoom,bindings:[{mouseButton:L.Enums.MouseBindings.Secondary},{numTouchPoints:2}]},{toolName:el.StackScroll,bindings:[{mouseButton:L.Enums.MouseBindings.Wheel},{numTouchPoints:3}]}],enabled:[{toolName:el.PlanarFreehandContourSegmentation,configuration:{displayOnePointAsCrosshairs:!0}}]}},tK={cornerstoneViewportClickCommands:{doubleClick:["toggleOneUp"],button1:["closeContextMenu"],button3:[{commandName:"showCornerstoneContextMenu",commandOptions:{requireNearbyToolData:!0,menuId:"measurementsContextMenu"}}]}},tj={"cornerstone.measurements":{Angle:{displayText:[],report:[]},CobbAngle:{displayText:[],report:[]},ArrowAnnotate:{displayText:[],report:[]},RectangleROi:{displayText:[],report:[]},CircleROI:{displayText:[],report:[]},EllipticalROI:{displayText:[],report:[]},Bidirectional:{displayText:[],report:[]},Length:{displayText:[],report:[]},LivewireContour:{displayText:[],report:[]},SplineROI:{displayText:[{displayName:"Areas",value:"area",type:"value"},{value:"areaUnits",for:["area"],type:"unit"}],report:[{displayName:"Area",value:"area",type:"value"},{displayName:"Unit",value:"areaUnits",type:"value"}]},PlanarFreehandROI:{displayTextOpen:[{displayName:"Length",value:"length",type:"value"}],displayText:[{displayName:"Mean",value:"mean",type:"value"},{displayName:"Max",value:"max",type:"value"},{displayName:"Area",value:"area",type:"value"},{value:"pixelValueUnits",for:["mean","max"],type:"unit"},{value:"areaUnits",for:["area"],type:"unit"}],report:[{displayName:"Mean",value:"mean",type:"value"},{displayName:"Max",value:"max",type:"value"},{displayName:"Area",value:"area",type:"value"},{displayName:"Unit",value:"unit",type:"value"}]}}},{VIEWPORT_PRESETS:tW}=x.CONSTANTS,tY={"cornerstone.3dVolumeRendering":{volumeRenderingPresets:tW,volumeRenderingQualityRange:{min:1,max:4,step:1}}},tz="bottom",tX={bottom:{position:"top",style:{labelOffset:5,labelMargin:13}},right:{position:"left",style:{labelMargin:5}},left:{position:"right",style:{labelMargin:5}},top:{position:"bottom",style:{labelMargin:5}}},tJ={"cornerstone.colorbar":{colorbarTickPosition:"bottom"===(e=tz)?"top":"top"===e?"bottom":"left"===e?"right":"right"===e?"left":tX[e]?.position||"top",colormaps:ti,colorbarContainerPosition:tz,colorbarInitialColormap:"Grayscale",positionStyles:{left:{width:"15px"},right:{width:"15px"},bottom:{height:"15px"}},positionTickStyles:tX,containerStyles:{cursor:"initial"},tickStyles:{font:"12px Arial",color:"#fff",maxNumTicks:6,tickSize:5,tickWidth:1}}},tq={"cornerstone.modalityOverlayDefaultColorMaps":{defaultSettings:{PT:{colormap:"hsv",opacity:.5},RTDOSE:{colormap:"Isodose",opacity:.5}}}},t$={"cornerstone.windowLevelPresets":{CT:[{id:"ct-soft-tissue",description:"Soft tissue",window:"400",level:"40"},{id:"ct-lung",description:"Lung",window:"1500",level:"-600"},{id:"ct-liver",description:"Liver",window:"150",level:"90"},{id:"ct-bone",description:"Bone",window:"2500",level:"480"},{id:"ct-brain",description:"Brain",window:"80",level:"40"}],PT:[{id:"pt-default",description:"Default",window:"5",level:"2.5"},{id:"pt-suv-3",description:"SUV",window:"0",level:"3"},{id:"pt-suv-5",description:"SUV",window:"0",level:"5"},{id:"pt-suv-7",description:"SUV",window:"0",level:"7"},{id:"pt-suv-8",description:"SUV",window:"0",level:"8"},{id:"pt-suv-10",description:"SUV",window:"0",level:"10"},{id:"pt-suv-15",description:"SUV",window:"0",level:"15"}]}};function tZ(e){return(tZ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function t0(e){var t=function(e,t){if("object"!=tZ(e)||!e)return e;var A=e[Symbol.toPrimitive];if(void 0!==A){var n=A.call(e,t||"default");if("object"!=tZ(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==tZ(t)?t:t+""}function t1(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(A);"function"==typeof Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(A).filter(function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable})),n.forEach(function(t){var n,r;n=t,r=A[t],(n=t0(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function t3(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function t4(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,t0(n.key),n)}}function t2(e,t,A){return t&&t4(e.prototype,t),A&&t4(e,A),Object.defineProperty(e,"prototype",{writable:!1}),e}function t6(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function t9(e,t){if(t&&("object"==tZ(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return t6(e)}function t8(e){return(t8=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function t5(e,t){return(t5=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function t7(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&t5(e,t)}function Ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=Array(t);A<t;A++)n[A]=e[A];return n}function At(e,t){if(e){if("string"==typeof e)return Ae(e,t);var A=({}).toString.call(e).slice(8,-1);return"Object"===A&&e.constructor&&(A=e.constructor.name),"Map"===A||"Set"===A?Array.from(e):"Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A)?Ae(e,t):void 0}}function AA(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var A=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=A){var n,r,o,i,a=[],s=!0,l=!1;try{if(o=(A=A.call(e)).next,0===t){if(Object(A)!==A)return;s=!1}else for(;!(s=(n=o.call(A)).done)&&(a.push(n.value),a.length!==t);s=!0);}catch(e){l=!0,r=e}finally{try{if(!s&&null!=A.return&&(i=A.return(),Object(i)!==i))return}finally{if(l)throw r}}return a}}(e,t)||At(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var An={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){var A;console&&console[e]&&(A=console)[e].apply(A,function(e){if(Array.isArray(e))return Ae(e)}(t)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||At(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}},Ar=new(function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t3(this,e),this.init(t,A)}return t2(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||An,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,A,n){return n&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(A).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,t1({},{prefix:"".concat(this.prefix,":").concat(t,":")},this.options))}}]),e}()),Ao=function(){function e(){t3(this,e),this.observers={}}return t2(e,[{key:"on",value:function(e,t){var A=this;return e.split(" ").forEach(function(e){A.observers[e]=A.observers[e]||[],A.observers[e].push(t)}),this}},{key:"off",value:function(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e]=this.observers[e].filter(function(e){return e!==t})}}},{key:"emit",value:function(e){for(var t=arguments.length,A=Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];this.observers[e]&&[].concat(this.observers[e]).forEach(function(e){e.apply(void 0,A)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(function(t){t.apply(t,[e].concat(A))})}}]),e}();function Ai(){var e,t,A=new Promise(function(A,n){e=A,t=n});return A.resolve=e,A.reject=t,A}function Aa(e){return null==e?"":""+e}function As(e,t,A){function n(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function r(){return!e||"string"==typeof e}for(var o="string"!=typeof t?[].concat(t):t.split(".");o.length>1;){if(r())return{};var i=n(o.shift());!e[i]&&A&&(e[i]=new A),e=e[i]}return r()?{}:{obj:e,k:n(o.shift())}}function Al(e,t,A){var n=As(e,t,Object);n.obj[n.k]=A}function Ac(e,t){var A=As(e,t),n=A.obj,r=A.k;if(n)return n[r]}function Au(e,t,A){var n=Ac(e,A);return void 0!==n?n:Ac(t,A)}function Ad(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Ap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Ag(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return Ap[e]}):e}var Am=function(e){function t(e){var A,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return t3(this,t),A=t9(this,t8(t).call(this)),Ao.call(t6(A)),A.data=e||{},A.options=n,void 0===A.options.keySeparator&&(A.options.keySeparator="."),A}return t7(t,e),t2(t,[{key:"addNamespaces",value:function(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,o=[e,t];return A&&"string"!=typeof A&&(o=o.concat(A)),A&&"string"==typeof A&&(o=o.concat(r?A.split(r):A)),e.indexOf(".")>-1&&(o=e.split(".")),Ac(this.data,o)}},{key:"addResource",value:function(e,t,A,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},o=this.options.keySeparator;void 0===o&&(o=".");var i=[e,t];A&&(i=i.concat(o?A.split(o):A)),e.indexOf(".")>-1&&(i=e.split("."),n=t,t=i[1]),this.addNamespaces(t),Al(this.data,i,n),r.silent||this.emit("added",e,t,A,n)}},{key:"addResources",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var r in A)("string"==typeof A[r]||"[object Array]"===Object.prototype.toString.apply(A[r]))&&this.addResource(e,t,r,A[r],{silent:!0});n.silent||this.emit("added",e,t,A)}},{key:"addResourceBundle",value:function(e,t,A,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},i=[e,t];e.indexOf(".")>-1&&(i=e.split("."),n=A,A=t,t=i[1]),this.addNamespaces(t);var a=Ac(this.data,i)||{};n?function e(t,A,n){for(var r in A)r in t?"string"==typeof t[r]||t[r]instanceof String||"string"==typeof A[r]||A[r]instanceof String?n&&(t[r]=A[r]):e(t[r],A[r],n):t[r]=A[r];return t}(a,A,r):a=t1({},a,A),Al(this.data,i,a),o.silent||this.emit("added",e,t,A)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return(t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI)?t1({},{},this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"toJSON",value:function(){return this.data}}]),t}(Ao),Af={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,A,n,r){var o=this;return e.forEach(function(e){o.processors[e]&&(t=o.processors[e].process(t,A,n,r))}),t}},Ah=function(e){function t(e){var A,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t3(this,t),r=t9(this,t8(t).call(this)),Ao.call(t6(r)),A=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],n=t6(r),A.forEach(function(t){e[t]&&(n[t]=e[t])}),r.options=o,void 0===r.options.keySeparator&&(r.options.keySeparator="."),r.logger=Ar.create("translator"),r}return t7(t,e),t2(t,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},A=this.resolve(e,t);return A&&void 0!==A.res}},{key:"extractFromKey",value:function(e,t){var A=t.nsSeparator||this.options.nsSeparator;void 0===A&&(A=":");var n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=t.ns||this.options.defaultNS;if(A&&e.indexOf(A)>-1){var o=e.split(A);(A!==n||A===n&&this.options.ns.indexOf(o[0])>-1)&&(r=o.shift()),e=o.join(n)}return"string"==typeof r&&(r=[r]),{key:e,namespaces:r}}},{key:"translate",value:function(e,t){var A=this;if("object"!==tZ(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=this.extractFromKey(e[e.length-1],t),o=r.key,i=r.namespaces,a=i[i.length-1],s=t.lng||this.language,l=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(s&&"cimode"===s.toLowerCase())return l?a+(t.nsSeparator||this.options.nsSeparator)+o:o;var c=this.resolve(e,t),u=c&&c.res,d=c&&c.usedKey||o,p=c&&c.exactUsedKey||o,g=Object.prototype.toString.apply(u),m=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,f=!this.i18nFormat||this.i18nFormat.handleAsObject,h="string"!=typeof u&&"boolean"!=typeof u&&"number"!=typeof u;if(f&&u&&h&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(g)&&("string"!=typeof m||"[object Array]"!==g)){if(!t.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(d,u,t):"key '".concat(o," (").concat(this.language,")' returned an object instead of string.");if(n){var w="[object Array]"===g,B=w?[]:{},y=w?p:d;for(var v in u)if(Object.prototype.hasOwnProperty.call(u,v)){var C="".concat(y).concat(n).concat(v);B[v]=this.translate(C,t1({},t,{joinArrays:!1,ns:i})),B[v]===C&&(B[v]=u[v])}u=B}}else if(f&&"string"==typeof m&&"[object Array]"===g)(u=u.join(m))&&(u=this.extendTranslation(u,e,t));else{var S=!1,E=!1;if(!this.isValidLookup(u)&&void 0!==t.defaultValue){if(S=!0,void 0!==t.count){var I=this.pluralResolver.getSuffix(s,t.count);u=t["defaultValue".concat(I)]}u||(u=t.defaultValue)}this.isValidLookup(u)||(E=!0,u=o);var b=t.defaultValue&&t.defaultValue!==u&&this.options.updateMissing;if(E||S||b){this.logger.log(b?"updateKey":"missingKey",s,a,o,b?t.defaultValue:u);var U=[],F=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&F&&F[0])for(var Q=0;Q<F.length;Q++)U.push(F[Q]);else"all"===this.options.saveMissingTo?U=this.languageUtils.toResolveHierarchy(t.lng||this.language):U.push(t.lng||this.language);var T=function(e,n){A.options.missingKeyHandler?A.options.missingKeyHandler(e,a,n,b?t.defaultValue:u,b,t):A.backendConnector&&A.backendConnector.saveMissing&&A.backendConnector.saveMissing(e,a,n,b?t.defaultValue:u,b,t),A.emit("missingKey",e,a,n,u)};if(this.options.saveMissing){var D=void 0!==t.count&&"string"!=typeof t.count;this.options.saveMissingPlurals&&D?U.forEach(function(e){A.pluralResolver.getPluralFormsOfKey(e,o).forEach(function(t){return T([e],t)})}):T(U,o)}}u=this.extendTranslation(u,e,t,c),E&&u===o&&this.options.appendNamespaceToMissingKey&&(u="".concat(a,":").concat(o)),E&&this.options.parseMissingKeyHandler&&(u=this.options.parseMissingKeyHandler(u))}return u}},{key:"extendTranslation",value:function(e,t,A,n){var r=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,A,n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!A.skipInterpolation){A.interpolation&&this.interpolator.init(t1({},A,{interpolation:t1({},this.options.interpolation,A.interpolation)}));var o=A.replace&&"string"!=typeof A.replace?A.replace:A;this.options.interpolation.defaultVariables&&(o=t1({},this.options.interpolation.defaultVariables,o)),e=this.interpolator.interpolate(e,o,A.lng||this.language,A),!1!==A.nest&&(e=this.interpolator.nest(e,function(){return r.translate.apply(r,arguments)},A)),A.interpolation&&this.interpolator.reset()}var i=A.postProcess||this.options.postProcess,a="string"==typeof i?[i]:i;return null!=e&&a&&a.length&&!1!==A.applyPostProcessor&&(e=Af.handle(a,e,t,this.options&&this.options.postProcessPassResolved?t1({i18nResolved:n},A):A,this)),e}},{key:"resolve",value:function(e){var t,A,n,r,o,i=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!i.isValidLookup(t)){var s=i.extractFromKey(e,a),l=s.key;A=l;var c=s.namespaces;i.options.fallbackNS&&(c=c.concat(i.options.fallbackNS));var u=void 0!==a.count&&"string"!=typeof a.count,d=void 0!==a.context&&"string"==typeof a.context&&""!==a.context,p=a.lngs?a.lngs:i.languageUtils.toResolveHierarchy(a.lng||i.language,a.fallbackLng);c.forEach(function(e){i.isValidLookup(t)||(o=e,i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(o)&&i.logger.warn('key "'.concat(A,'" for namespace "').concat(o,"\" won't get resolved as namespace was not yet loaded"),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"),p.forEach(function(A){if(!i.isValidLookup(t)){r=A;var o,s,c=l,p=[c];for(i.i18nFormat&&i.i18nFormat.addLookupKeys?i.i18nFormat.addLookupKeys(p,l,A,e,a):(u&&(o=i.pluralResolver.getSuffix(A,a.count)),u&&d&&p.push(c+o),d&&p.push(c+="".concat(i.options.contextSeparator).concat(a.context)),u&&p.push(c+=o));s=p.pop();)i.isValidLookup(t)||(n=s,t=i.getResource(A,e,s,a))}}))})}}),{res:t,usedKey:A,exactUsedKey:n,usedLng:r,usedNS:o}}},{key:"isValidLookup",value:function(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,A,n):this.resourceStore.getResource(e,t,A,n)}}]),t}(Ao);function Aw(e){return e.charAt(0).toUpperCase()+e.slice(1)}var AB=function(){function e(t){t3(this,e),this.options=t,this.whitelist=this.options.whitelist||!1,this.logger=Ar.create("languageUtils")}return t2(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return null;var t=e.split("-");return 2===t.length?null:(t.pop(),this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],A=e.split("-");return this.options.lowerCaseLng?A=A.map(function(e){return e.toLowerCase()}):2===A.length?(A[0]=A[0].toLowerCase(),A[1]=A[1].toUpperCase(),t.indexOf(A[1].toLowerCase())>-1&&(A[1]=Aw(A[1].toLowerCase()))):3===A.length&&(A[0]=A[0].toLowerCase(),2===A[1].length&&(A[1]=A[1].toUpperCase()),"sgn"!==A[0]&&2===A[2].length&&(A[2]=A[2].toUpperCase()),t.indexOf(A[1].toLowerCase())>-1&&(A[1]=Aw(A[1].toLowerCase())),t.indexOf(A[2].toLowerCase())>-1&&(A[2]=Aw(A[2].toLowerCase()))),A.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isWhitelisted",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitWhitelist)&&(e=this.getLanguagePartFromCode(e)),!this.whitelist||!this.whitelist.length||this.whitelist.indexOf(e)>-1}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var A=e[t];return A||(A=e[this.getScriptPartFromCode(t)]),A||(A=e[this.formatLanguageCode(t)]),A||(A=e.default),A||[]}},{key:"toResolveHierarchy",value:function(e,t){var A=this,n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],o=function(e){e&&(A.isWhitelisted(e)?r.push(e):A.logger.warn("rejecting non-whitelisted language code: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),n.forEach(function(e){0>r.indexOf(e)&&o(A.formatLanguageCode(e))}),r}}]),e}(),Ay=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he"],nr:[1,2,20,21],fc:22}],Av={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0===e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(+(1!=e&&e%10!=1))},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0===e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:3*(e%100==3||e%100==4))},22:function(e){return Number(1===e?0:2===e?1:(e<0||e>10)&&e%10==0?2:3)}},AC=function(){function e(t){var A,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t3(this,e),this.languageUtils=t,this.options=n,this.logger=Ar.create("pluralResolver"),this.rules=(A={},Ay.forEach(function(e){e.lngs.forEach(function(t){A[t]={numbers:e.nr,plurals:Av[e.fc]}})}),A)}return t2(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=this.getRule(e);return t&&t.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var A=this,n=[],r=this.getRule(e);return r&&r.numbers.forEach(function(r){var o=A.getSuffix(e,r);n.push("".concat(t).concat(o))}),n}},{key:"getSuffix",value:function(e,t){var A=this,n=this.getRule(e);if(n){var r=n.noAbs?n.plurals(t):n.plurals(Math.abs(t)),o=n.numbers[r];this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]&&(2===o?o="plural":1===o&&(o=""));var i=function(){return A.options.prepend&&o.toString()?A.options.prepend+o.toString():o.toString()};return"v1"===this.options.compatibilityJSON?1===o?"":"number"==typeof o?"_plural_".concat(o.toString()):i():"v2"===this.options.compatibilityJSON?i():this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}return this.logger.warn("no plural rule found for: ".concat(e)),""}}]),e}(),AS=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t3(this,e),this.logger=Ar.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return t2(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:Ag,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?Ad(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?Ad(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?Ad(t.nestingPrefix):t.nestingPrefixEscaped||Ad("$t("),this.nestingSuffix=t.nestingSuffix?Ad(t.nestingSuffix):t.nestingSuffixEscaped||Ad(")"),this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=RegExp(t,"g");var A="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=RegExp(A,"g")}},{key:"interpolate",value:function(e,t,A,n){var r,o,i,a=this,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}var c=function(e){if(0>e.indexOf(a.formatSeparator))return Au(t,s,e);var n=e.split(a.formatSeparator),r=n.shift().trim(),o=n.join(a.formatSeparator).trim();return a.format(Au(t,s,r),o,A)};this.resetRegExp();var u=n&&n.missingInterpolationHandler||this.options.missingInterpolationHandler;for(i=0;r=this.regexpUnescape.exec(e);){if(void 0===(o=c(r[1].trim())))if("function"==typeof u){var d=u(e,r,n);o="string"==typeof d?d:""}else this.logger.warn("missed to pass in variable ".concat(r[1]," for interpolating ").concat(e)),o="";else"string"==typeof o||this.useRawValueToEscape||(o=Aa(o));if(e=e.replace(r[0],l(o)),this.regexpUnescape.lastIndex=0,++i>=this.maxReplaces)break}for(i=0;r=this.regexp.exec(e);){if(void 0===(o=c(r[1].trim())))if("function"==typeof u){var p=u(e,r,n);o="string"==typeof p?p:""}else this.logger.warn("missed to pass in variable ".concat(r[1]," for interpolating ").concat(e)),o="";else"string"==typeof o||this.useRawValueToEscape||(o=Aa(o));if(o=l(this.escapeValue?this.escape(o):o),e=e.replace(r[0],o),this.regexp.lastIndex=0,++i>=this.maxReplaces)break}return e}},{key:"nest",value:function(e,t){var A,n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t1({},r);function i(e,t){if(0>e.indexOf(","))return e;var A=e.split(",");e=A.shift();var n=A.join(",");n=(n=this.interpolate(n,o)).replace(/'/g,'"');try{o=JSON.parse(n),t&&(o=t1({},t,o))}catch(t){this.logger.error("failed parsing options string in nesting for key ".concat(e),t)}return delete o.defaultValue,e}for(o.applyPostProcessor=!1,delete o.defaultValue;A=this.nestingRegexp.exec(e);){if((n=t(i.call(this,A[1].trim(),o),o))&&A[0]===e&&"string"!=typeof n)return n;"string"!=typeof n&&(n=Aa(n)),n||(this.logger.warn("missed to resolve ".concat(A[1]," for nesting ").concat(e)),n=""),e=e.replace(A[0],n),this.regexp.lastIndex=0}return e}}]),e}(),AE=function(e){function t(e,A,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return t3(this,t),r=t9(this,t8(t).call(this)),Ao.call(t6(r)),r.backend=e,r.store=A,r.services=n,r.languageUtils=n.languageUtils,r.options=o,r.logger=Ar.create("backendConnector"),r.state={},r.queue=[],r.backend&&r.backend.init&&r.backend.init(n,o.backend,o),r}return t7(t,e),t2(t,[{key:"queueLoad",value:function(e,t,A,n){var r=this,o=[],i=[],a=[],s=[];return e.forEach(function(e){var n=!0;t.forEach(function(t){var a="".concat(e,"|").concat(t);!A.reload&&r.store.hasResourceBundle(e,t)?r.state[a]=2:r.state[a]<0||(1===r.state[a]?0>i.indexOf(a)&&i.push(a):(r.state[a]=1,n=!1,0>i.indexOf(a)&&i.push(a),0>o.indexOf(a)&&o.push(a),0>s.indexOf(t)&&s.push(t)))}),n||a.push(e)}),(o.length||i.length)&&this.queue.push({pending:i,loaded:{},errors:[],callback:n}),{toLoad:o,pending:i,toLoadLanguages:a,toLoadNamespaces:s}}},{key:"loaded",value:function(e,t,A){var n=AA(e.split("|"),2),r=n[0],o=n[1];t&&this.emit("failedLoading",r,o,t),A&&this.store.addResourceBundle(r,o,A),this.state[e]=t?-1:2;var i={};this.queue.forEach(function(A){n=A.loaded,(s=(a=As(n,[r],Object)).obj)[l=a.k]=s[l]||[],s[l].push(o);for(var n,a,s,l,c=A.pending,u=c.indexOf(e);-1!==u;)c.splice(u,1),u=c.indexOf(e);t&&A.errors.push(t),0!==A.pending.length||A.done||(Object.keys(A.loaded).forEach(function(e){i[e]||(i[e]=[]),A.loaded[e].length&&A.loaded[e].forEach(function(t){0>i[e].indexOf(t)&&i[e].push(t)})}),A.done=!0,A.errors.length?A.callback(A.errors):A.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,t,A){var n=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:250,i=arguments.length>5?arguments[5]:void 0;return e.length?this.backend[A](e,t,function(a,s){a&&s&&r<5?setTimeout(function(){n.read.call(n,e,t,A,r+1,2*o,i)},o):i(a,s)}):i(null,{})}},{key:"prepareLoading",value:function(e,t){var A=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var o=this.queueLoad(e,t,n,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach(function(e){A.loadOne(e)})}},{key:"load",value:function(e,t,A){this.prepareLoading(e,t,{},A)}},{key:"reload",value:function(e,t,A){this.prepareLoading(e,t,{reload:!0},A)}},{key:"loadOne",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=AA(e.split("|"),2),r=n[0],o=n[1];this.read(r,o,"read",null,null,function(n,i){n&&t.logger.warn("".concat(A,"loading namespace ").concat(o," for language ").concat(r," failed"),n),!n&&i&&t.logger.log("".concat(A,"loaded namespace ").concat(o," for language ").concat(r),i),t.loaded(e,n,i)})}},{key:"saveMissing",value:function(e,t,A,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)?this.logger.warn('did not save key "'.concat(A,'" for namespace "').concat(t,'" as the namespace was not yet loaded'),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"):(this.backend&&this.backend.create&&this.backend.create(e,t,A,n,null,t1({},o,{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],t,A,n))}}]),t}(Ao);function AI(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&0>e.whitelist.indexOf("cimode")&&(e.whitelist=e.whitelist.concat(["cimode"])),e}function Ab(){}var AU=new(function(e){function t(){var e,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(t3(this,t),e=t9(this,t8(t).call(this)),Ao.call(t6(e)),e.options=AI(A),e.services={},e.logger=Ar,e.modules={external:[]},n&&!e.isInitialized&&!A.isClone){if(!e.options.initImmediate)return e.init(A,n),t9(e,t6(e));setTimeout(function(){e.init(A,n)},0)}return e}return t7(t,e),t2(t,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=arguments.length>1?arguments[1]:void 0;function n(e){return e?"function"==typeof e?new e:e:null}if("function"==typeof t&&(A=t,t={}),this.options=t1({},{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===tZ(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===tZ(e[2])||"object"===tZ(e[3])){var A=e[3]||e[2];Object.keys(A).forEach(function(e){t[e]=A[e]})}return t},interpolation:{escapeValue:!0,format:function(e,t,A){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",maxReplaces:1e3}},this.options,AI(t)),this.format=this.options.interpolation.format,A||(A=Ab),!this.options.isClone){this.modules.logger?Ar.init(n(this.modules.logger),this.options):Ar.init(null,this.options);var r=new AB(this.options);this.store=new Am(this.options.resources,this.options);var o=this.services;o.logger=Ar,o.resourceStore=this.store,o.languageUtils=r,o.pluralResolver=new AC(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),o.interpolator=new AS(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new AE(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",function(t){for(var A=arguments.length,n=Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];e.emit.apply(e,[t].concat(n))}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new Ah(this.services,this.options),this.translator.on("*",function(t){for(var A=arguments.length,n=Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];e.emit.apply(e,[t].concat(n))}),this.modules.external.forEach(function(t){t.init&&t.init(e)})}["getResource","addResource","addResources","addResourceBundle","removeResourceBundle","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(function(t){e[t]=function(){var A;return(A=e.store)[t].apply(A,arguments)}});var i=Ai(),a=function(){e.changeLanguage(e.options.lng,function(t,n){e.isInitialized=!0,e.logger.log("initialized",e.options),e.emit("initialized",e.options),i.resolve(n),A(t,n)})};return this.options.resources||!this.options.initImmediate?a():setTimeout(a,0),i}},{key:"loadResources",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ab;if(!this.options.resources||this.options.partialBundledLanguages){if(this.language&&"cimode"===this.language.toLowerCase())return t();var A=[],n=function(t){t&&e.services.languageUtils.toResolveHierarchy(t).forEach(function(e){0>A.indexOf(e)&&A.push(e)})};this.language?n(this.language):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return n(e)}),this.options.preload&&this.options.preload.forEach(function(e){return n(e)}),this.services.backendConnector.load(A,this.options.ns,t)}else t(null)}},{key:"reloadResources",value:function(e,t,A){var n=Ai();return e||(e=this.languages),t||(t=this.options.ns),A||(A=Ab),this.services.backendConnector.reload(e,t,function(e){n.resolve(),A(e)}),n}},{key:"use",value:function(e){return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&Af.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,t){var A=this,n=Ai();this.emit("languageChanging",e);var r=function(e,r){A.translator.changeLanguage(r),r&&(A.emit("languageChanged",r),A.logger.log("languageChanged",r)),n.resolve(function(){return A.t.apply(A,arguments)}),t&&t(e,function(){return A.t.apply(A,arguments)})},o=function(e){e&&(A.language=e,A.languages=A.services.languageUtils.toResolveHierarchy(e),A.translator.language||A.translator.changeLanguage(e),A.services.languageDetector&&A.services.languageDetector.cacheUserLanguage(e)),A.loadResources(function(t){r(t,e)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect()),n}},{key:"getFixedT",value:function(e,t){var A=this,n=function e(t,n){var r;if("object"!==tZ(n)){for(var o=arguments.length,i=Array(o>2?o-2:0),a=2;a<o;a++)i[a-2]=arguments[a];r=A.options.overloadTranslationOptionHandler([t,n].concat(i))}else r=t1({},n);return r.lng=r.lng||e.lng,r.lngs=r.lngs||e.lngs,r.ns=r.ns||e.ns,A.t(t,r)};return"string"==typeof e?n.lng=e:n.lngs=e,n.ns=t,n}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this;if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var A=this.languages[0],n=!!this.options&&this.options.fallbackLng,r=this.languages[this.languages.length-1];if("cimode"===A.toLowerCase())return!0;var o=function(e,A){var n=t.services.backendConnector.state["".concat(e,"|").concat(A)];return -1===n||2===n};return!!(this.hasResourceBundle(A,e)||!this.services.backendConnector.backend||o(A,e)&&(!n||o(r,e)))}},{key:"loadNamespaces",value:function(e,t){var A=this,n=Ai();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){0>A.options.ns.indexOf(e)&&A.options.ns.push(e)}),this.loadResources(function(e){n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var A=Ai();"string"==typeof e&&(e=[e]);var n=this.options.preload||[],r=e.filter(function(e){return 0>n.indexOf(e)});return r.length?(this.options.preload=n.concat(r),this.loadResources(function(e){A.resolve(),t&&t(e)}),A):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){return(e||(e=this.languages&&this.languages.length>0?this.languages[0]:this.language),e)?["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>=0?"rtl":"ltr":"rtl"}},{key:"createInstance",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=arguments.length>1?arguments[1]:void 0;return new t(e,A)}},{key:"cloneInstance",value:function(){var e=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ab,r=t1({},this.options,A,{isClone:!0}),o=new t(r);return["store","services","language"].forEach(function(t){o[t]=e[t]}),o.translator=new Ah(o.services,o.options),o.translator.on("*",function(e){for(var t=arguments.length,A=Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];o.emit.apply(o,[e].concat(A))}),o.init(r,n),o.translator.options=o.options,o}}]),t}(Ao));let{TOOLBAR_SECTIONS:AF}=_.ToolbarService,AQ=e=>[{commandName:"setViewportForToolConfiguration",commandOptions:{toolName:e}}],AT={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:["default","mpr","SRToolGroup","volume3d"]}},AD={"cornerstone.toolbarButtons":[{id:"MeasurementTools",uiType:"ohif.toolButtonList",props:{buttonSection:!0}},{id:"MoreTools",uiType:"ohif.toolButtonList",props:{buttonSection:!0}},{id:"AdvancedRenderingControls",uiType:"ohif.advancedRenderingControls",props:{buttonSection:!0}},{id:"modalityLoadBadge",uiType:"ohif.modalityLoadBadge",props:{icon:"Status",label:AU.t("Buttons:Status"),tooltip:AU.t("Buttons:Status"),evaluate:{name:"evaluate.modalityLoadBadge",hideWhenDisabled:!0}}},{id:"navigationComponent",uiType:"ohif.navigationComponent",props:{icon:"Navigation",label:AU.t("Buttons:Navigation"),tooltip:AU.t("Buttons:Navigate between segments/measurements and manage their visibility"),evaluate:{name:"evaluate.navigationComponent",hideWhenDisabled:!0}}},{id:"trackingStatus",uiType:"ohif.trackingStatus",props:{icon:"TrackingStatus",label:AU.t("Buttons:Tracking Status"),tooltip:AU.t("Buttons:View and manage tracking status of measurements and annotations"),evaluate:{name:"evaluate.trackingStatus",hideWhenDisabled:!0}}},{id:"dataOverlayMenu",uiType:"ohif.dataOverlayMenu",props:{icon:"ViewportViews",label:AU.t("Buttons:Data Overlay"),tooltip:AU.t("Buttons:Configure data overlay options and manage foreground/background display sets"),evaluate:"evaluate.dataOverlayMenu"}},{id:"orientationMenu",uiType:"ohif.orientationMenu",props:{icon:"OrientationSwitch",label:AU.t("Buttons:Orientation"),tooltip:AU.t("Buttons:Change viewport orientation between axial, sagittal, coronal and reformat planes"),evaluate:{name:"evaluate.orientationMenu"}}},{id:"windowLevelMenuEmbedded",uiType:"ohif.windowLevelMenuEmbedded",props:{icon:"WindowLevel",label:AU.t("Buttons:Window Level"),tooltip:AU.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenuEmbedded",hideWhenDisabled:!0}}},{id:"windowLevelMenu",uiType:"ohif.windowLevelMenu",props:{icon:"WindowLevel",label:AU.t("Buttons:Window Level"),tooltip:AU.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenu"}}},{id:"voiManualControlMenu",uiType:"ohif.voiManualControlMenu",props:{icon:"WindowLevelAdvanced",label:AU.t("Buttons:Advanced Window Level"),tooltip:AU.t("Buttons:Advanced window/level settings with manual controls and presets"),evaluate:"evaluate.voiManualControlMenu"}},{id:"thresholdMenu",uiType:"ohif.thresholdMenu",props:{icon:"Threshold",label:AU.t("Buttons:Threshold"),tooltip:AU.t("Buttons:Image threshold settings"),evaluate:{name:"evaluate.thresholdMenu",hideWhenDisabled:!0}}},{id:"opacityMenu",uiType:"ohif.opacityMenu",props:{icon:"Opacity",label:AU.t("Buttons:Opacity"),tooltip:AU.t("Buttons:Image opacity settings"),evaluate:{name:"evaluate.opacityMenu",hideWhenDisabled:!0}}},{id:"Colorbar",uiType:"ohif.colorbar",props:{type:"tool",label:AU.t("Buttons:Colorbar")}},{id:"Reset",uiType:"ohif.toolButton",props:{icon:"tool-reset",label:AU.t("Buttons:Reset View"),tooltip:AU.t("Buttons:Reset View"),commands:"resetViewport",evaluate:"evaluate.action"}},{id:"rotate-right",uiType:"ohif.toolButton",props:{icon:"tool-rotate-right",label:AU.t("Buttons:Rotate Right"),tooltip:AU.t("Buttons:Rotate +90"),commands:"rotateViewportCW",evaluate:["evaluate.action",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"flipHorizontal",uiType:"ohif.toolButton",props:{icon:"tool-flip-horizontal",label:AU.t("Buttons:Flip Horizontal"),tooltip:AU.t("Buttons:Flip Horizontally"),commands:"flipViewportHorizontal",evaluate:["evaluate.viewportProperties.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video","volume3d"]}]}},{id:"ImageSliceSync",uiType:"ohif.toolButton",props:{icon:"link",label:AU.t("Buttons:Image Slice Sync"),tooltip:AU.t("Buttons:Enable position synchronization on stack viewports"),commands:{commandName:"toggleSynchronizer",commandOptions:{type:"imageSlice"}},listeners:{[x.EVENTS.VIEWPORT_NEW_IMAGE_SET]:{commandName:"toggleImageSliceSync",commandOptions:{toggledState:!0}}},evaluate:["evaluate.cornerstone.synchronizer",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video","volume3d"]}]}},{id:"ReferenceLines",uiType:"ohif.toolButton",props:{icon:"tool-referenceLines",label:AU.t("Buttons:Reference Lines"),tooltip:AU.t("Buttons:Show Reference Lines"),commands:"toggleEnabledDisabledToolbar",listeners:{[_.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:AQ("ReferenceLines"),[_.ViewportGridService.EVENTS.VIEWPORTS_READY]:AQ("ReferenceLines")},evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"ImageOverlayViewer",uiType:"ohif.toolButton",props:{icon:"toggle-dicom-overlay",label:AU.t("Buttons:Image Overlay"),tooltip:AU.t("Buttons:Toggle Image Overlay"),commands:"toggleEnabledDisabledToolbar",evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"StackScroll",uiType:"ohif.toolButton",props:{icon:"tool-stack-scroll",label:AU.t("Buttons:Stack Scroll"),tooltip:AU.t("Buttons:Stack Scroll"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"invert",uiType:"ohif.toolButton",props:{icon:"tool-invert",label:AU.t("Buttons:Invert"),tooltip:AU.t("Buttons:Invert Colors"),commands:"invertViewport",evaluate:["evaluate.viewportProperties.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"Probe",uiType:"ohif.toolButton",props:{icon:"tool-probe",label:AU.t("Buttons:Probe"),tooltip:AU.t("Buttons:Probe"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"Cine",uiType:"ohif.toolButton",props:{icon:"tool-cine",label:AU.t("Buttons:Cine"),tooltip:AU.t("Buttons:Cine"),commands:"toggleCine",evaluate:["evaluate.cine",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["volume3d"]}]}},{id:"Angle",uiType:"ohif.toolButton",props:{icon:"tool-angle",label:AU.t("Buttons:Angle"),tooltip:AU.t("Buttons:Angle"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"CobbAngle",uiType:"ohif.toolButton",props:{icon:"icon-tool-cobb-angle",label:AU.t("Buttons:Cobb Angle"),tooltip:AU.t("Buttons:Cobb Angle"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"Magnify",uiType:"ohif.toolButton",props:{icon:"tool-magnify",label:AU.t("Buttons:Zoom-in"),tooltip:AU.t("Buttons:Zoom-in"),commands:AT,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"CalibrationLine",uiType:"ohif.toolButton",props:{icon:"tool-calibration",label:AU.t("Buttons:Calibration"),tooltip:AU.t("Buttons:Calibration Line"),commands:AT,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"TagBrowser",uiType:"ohif.toolButton",props:{icon:"dicom-tag-browser",label:AU.t("Buttons:Dicom Tag Browser"),tooltip:AU.t("Buttons:Dicom Tag Browser"),commands:"openDICOMTagViewer"}},{id:"AdvancedMagnify",uiType:"ohif.toolButton",props:{icon:"icon-tool-loupe",label:AU.t("Buttons:Magnify Probe"),tooltip:AU.t("Buttons:Magnify Probe"),commands:"toggleActiveDisabledToolbar",evaluate:["evaluate.cornerstoneTool.toggle.ifStrictlyDisabled",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"UltrasoundDirectionalTool",uiType:"ohif.toolButton",props:{icon:"icon-tool-ultrasound-bidirectional",label:AU.t("Buttons:Ultrasound Directional"),tooltip:AU.t("Buttons:Ultrasound Directional"),commands:AT,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.modality.supported",supportedModalities:["US"]}]}},{id:"WindowLevelRegion",uiType:"ohif.toolButton",props:{icon:"icon-tool-window-region",label:AU.t("Buttons:Window Level Region"),tooltip:AU.t("Buttons:Window Level Region"),commands:AT,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"Length",uiType:"ohif.toolButton",props:{icon:"tool-length",label:AU.t("Buttons:Length"),tooltip:AU.t("Buttons:Length Tool"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"Bidirectional",uiType:"ohif.toolButton",props:{icon:"tool-bidirectional",label:AU.t("Buttons:Bidirectional"),tooltip:AU.t("Buttons:Bidirectional Tool"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"ArrowAnnotate",uiType:"ohif.toolButton",props:{icon:"tool-annotate",label:AU.t("Buttons:Annotation"),tooltip:AU.t("Buttons:Arrow Annotate"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"EllipticalROI",uiType:"ohif.toolButton",props:{icon:"tool-ellipse",label:AU.t("Buttons:Ellipse"),tooltip:AU.t("Buttons:Ellipse ROI"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"RectangleROI",uiType:"ohif.toolButton",props:{icon:"tool-rectangle",label:AU.t("Buttons:Rectangle"),tooltip:AU.t("Buttons:Rectangle ROI"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"CircleROI",uiType:"ohif.toolButton",props:{icon:"tool-circle",label:AU.t("Buttons:Circle"),tooltip:AU.t("Buttons:Circle Tool"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"PlanarFreehandROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-freehand-roi",label:AU.t("Buttons:Freehand ROI"),tooltip:AU.t("Buttons:Freehand ROI"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"SplineROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-spline-roi",label:AU.t("Buttons:Spline ROI"),tooltip:AU.t("Buttons:Spline ROI"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"LivewireContour",uiType:"ohif.toolButton",props:{icon:"icon-tool-livewire",label:AU.t("Buttons:Livewire tool"),tooltip:AU.t("Buttons:Livewire tool"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.toolButton",props:{icon:"tool-window-level",label:AU.t("Buttons:Window Level"),commands:AT,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["wholeSlide"]}]}},{id:"Pan",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-move",label:AU.t("Buttons:Pan"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"Zoom",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-zoom",label:AU.t("Buttons:Zoom"),commands:AT,evaluate:"evaluate.cornerstoneTool"}},{id:"TrackballRotate",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-3d-rotate",label:AU.t("Buttons:3D Rotate"),commands:AT,evaluate:{name:"evaluate.cornerstoneTool",disabledText:AU.t("Buttons:Select a 3D viewport to enable this tool")}}},{id:"Capture",uiType:"ohif.toolButton",props:{icon:"tool-capture",label:AU.t("Buttons:Capture"),commands:"showDownloadViewportModal",evaluate:["evaluate.action",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video","wholeSlide"]}]}},{id:"Layout",uiType:"ohif.layoutSelector",props:{rows:3,columns:4,evaluate:"evaluate.action"}},{id:"Crosshairs",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-crosshair",label:AU.t("Buttons:Crosshairs"),tooltip:AU.t("Buttons:Click to toggle on or off"),commands:{commandName:"toggleActiveDisabledToolbar",commandOptions:{toolGroupIds:["mpr"]}},evaluate:{name:"evaluate.cornerstoneTool.toggleWithModifier",disabledText:AU.t("Buttons:Select an MPR viewport to enable this tool"),toggledOnIcon:"tool-crosshair-checked",defaultIcon:"tool-crosshair"}}},{id:"SegmentLabelTool",uiType:"ohif.toolBoxButton",props:{icon:"tool-segment-label",label:AU.t("Buttons:Segment Label Display"),tooltip:AU.t("Buttons:Click to show or hide segment labels when hovering with your mouse."),commands:{commandName:"toggleSegmentLabel"},evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.cornerstone.hasSegmentation"}]}}],"cornerstone.toolbarSections":{[AF.primary]:["MeasurementTools","Zoom","Pan","TrackballRotate","WindowLevel","Capture","Layout","Crosshairs","MoreTools"],[AF.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[AF.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[AF.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[AF.viewportActionMenu.bottomLeft]:["windowLevelMenu"],MeasurementTools:["Length","Bidirectional","ArrowAnnotate","EllipticalROI","RectangleROI","CircleROI","PlanarFreehandROI","SplineROI","LivewireContour"],MoreTools:["Reset","rotate-right","flipHorizontal","ImageSliceSync","ReferenceLines","ImageOverlayViewer","StackScroll","invert","Probe","Cine","Angle","CobbAngle","Magnify","CalibrationLine","TagBrowser","AdvancedMagnify","UltrasoundDirectionalTool","WindowLevelRegion","SegmentLabelTool"]}},{TOOLBAR_SECTIONS:AO}=_.ToolbarService,AM=e=>[{commandName:"setViewportForToolConfiguration",commandOptions:{toolName:e}}],Ax={"cornerstone.segmentationToolbarButtons":[{id:"BrushTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"LabelMapUtilities",uiType:"ohif.Toolbar",props:{buttonSection:!0}},{id:"ContourUtilities",uiType:"ohif.Toolbar",props:{buttonSection:!0}},{id:"LabelMapTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"ContourTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"PlanarFreehandContourSegmentationTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-freehand-roi",label:AU.t("Buttons:Freehand Segmentation"),tooltip:AU.t("Buttons:Freehand Segmentation"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["PlanarFreehandContourSegmentationTool"],disabledText:AU.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:[{commandName:"setToolActiveToolbar",commandOptions:{bindings:[{mouseButton:1},{mouseButton:1,modifierKey:16}]}},{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AU.t("Buttons:Interpolate Contours"),type:"switch",id:"planarFreehandInterpolateContours",value:!1,commands:{commandName:"setInterpolationToolConfiguration"}}]}},{id:"LivewireContourSegmentationTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-livewire",label:AU.t("Buttons:Livewire Contour"),tooltip:AU.t("Buttons:Livewire Contour"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["LivewireContourSegmentationTool"],disabledText:AU.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:[{commandName:"setToolActiveToolbar",commandOptions:{bindings:[{mouseButton:1},{mouseButton:1,modifierKey:16}]}},{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AU.t("Buttons:Interpolate Contours"),type:"switch",id:"livewireInterpolateContours",value:!1,commands:{commandName:"setInterpolationToolConfiguration"}}]}},{id:"SplineContourSegmentationTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-spline-roi",label:AU.t("Buttons:Spline Contour Segmentation Tool"),tooltip:AU.t("Buttons:Spline Contour Segmentation Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CatmullRomSplineROI","LinearSplineROI","BSplineROI"],disabledText:AU.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AU.t("Buttons:Spline Type"),type:"select",id:"splineTypeSelect",value:"CatmullRomSplineROI",values:[{id:"CatmullRomSplineROI",value:"CatmullRomSplineROI",label:AU.t("Buttons:Catmull Rom Spline")},{id:"LinearSplineROI",value:"LinearSplineROI",label:AU.t("Buttons:Linear Spline")},{id:"BSplineROI",value:"BSplineROI",label:AU.t("Buttons:B-Spline")}],commands:{commandName:"setToolActiveToolbar",commandOptions:{bindings:[{mouseButton:1},{mouseButton:1,modifierKey:16}]}}},{name:AU.t("Buttons:Simplified Spline"),type:"switch",id:"simplifiedSpline",value:!0,commands:{commandName:"setSimplifiedSplineForSplineContourSegmentationTool"}},{name:AU.t("Buttons:Interpolate Contours"),type:"switch",id:"splineInterpolateContours",value:!1,commands:{commandName:"setInterpolationToolConfiguration",commandOptions:{toolNames:["CatmullRomSplineROI","LinearSplineROI","BSplineROI"]}}}]}},{id:"SculptorTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-sculptor",label:AU.t("Buttons:Sculptor Tool"),tooltip:AU.t("Buttons:Sculptor Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["SculptorTool"],disabledText:AU.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AU.t("Buttons:Dynamic Cursor Size"),type:"switch",id:"dynamicCursorSize",value:!0,commands:{commandName:"setDynamicCursorSizeForSculptorTool"}}]}},{id:"Brush",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-brush",label:AU.t("Buttons:Brush"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularBrush","SphereBrush"],disabledText:AU.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"brush-radius"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},options:[{name:AU.t("Buttons:Radius (mm)"),id:"brush-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:[{commandName:"setBrushSize",commandOptions:{toolNames:["CircularBrush","SphereBrush"]}}]},{name:AU.t("Buttons:Shape"),type:"radio",id:"brush-mode",value:"CircularBrush",values:[{value:"CircularBrush",label:AU.t("Buttons:Circle")},{value:"SphereBrush",label:AU.t("Buttons:Sphere")}],commands:["setToolActiveToolbar"]}]}},{id:"InterpolateLabelmap",uiType:"ohif.toolButton",props:{icon:"actions-interpolate",label:AU.t("Buttons:Interpolate Labelmap"),tooltip:AU.t("Buttons:Automatically fill in missing slices between drawn segments. Use brush or threshold tools on at least two slices, then click to interpolate across slices. Works in any direction. Volume must be reconstructable."),evaluate:[{name:"evaluate.cornerstone.segmentation"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"},{name:"evaluate.displaySetIsReconstructable",disabledText:AU.t("Buttons:The current viewport cannot handle interpolation.")}],commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},"interpolateLabelmap"]}},{id:"SegmentBidirectional",uiType:"ohif.toolButton",props:{icon:"actions-bidirectional",label:AU.t("Buttons:Segment Bidirectional"),tooltip:AU.t("Buttons:Automatically detects the largest length and width across slices for the selected segment and displays a bidirectional measurement."),evaluate:[{name:"evaluate.cornerstone.segmentation",disabledText:AU.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},"runSegmentBidirectional"]}},{id:"ClickSegment",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-click-segment",label:AU.t("Buttons:Click to Segment"),tooltip:AU.t("Buttons:PET only. Click-to-segment lesions with no configuration. Hover for visual feedback—click when a plus sign appears to segment the lesion."),evaluate:[{name:"evaluate.modality.supported",supportedModalities:["PT"],disabledText:AU.t("Buttons:Tool not available for this modality")},{name:"evaluate.cornerstone.segmentation",toolNames:["ClickSegment"],disabledText:AU.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}]}},{id:"LabelmapSlicePropagation",uiType:"ohif.toolBoxButton",props:{icon:"icon-labelmap-slice-propagation",label:AU.t("Buttons:Labelmap Assist"),tooltip:AU.t("Buttons:Toggle AI assistance for segmenting nearby slices. After drawing on a slice, scroll to preview predictions. Press Enter to accept or Esc to skip."),evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],listeners:{[_.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:AM("LabelmapSlicePropagation"),[_.ViewportGridService.EVENTS.VIEWPORTS_READY]:AM("LabelmapSlicePropagation")},commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},"toggleEnabledDisabledToolbar"]}},{id:"MarkerLabelmap",uiType:"ohif.toolBoxButton",props:{icon:"icon-marker-labelmap",label:AU.t("Buttons:Marker Guided Labelmap"),tooltip:AU.t("Buttons:Use include/exclude markers to guide AI (SAM) segmentation. Click to place markers, Enter to accept results, Esc to reject, and N to go to the next slice while keeping markers."),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["MarkerLabelmap","MarkerInclude","MarkerExclude"]},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}],listeners:{[_.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:AM("MarkerLabelmap"),[_.ViewportGridService.EVENTS.VIEWPORTS_READY]:AM("MarkerLabelmap")},options:[{name:AU.t("Buttons:Marker Mode"),type:"radio",id:"marker-mode",value:"markerInclude",values:[{value:"markerInclude",label:AU.t("Buttons:Include")},{value:"markerExclude",label:AU.t("Buttons:Exclude")}],commands:({commandsManager:e,options:t})=>{"markerInclude"===t.find(e=>"marker-mode"===e.id).value?e.run("setToolActive",{toolName:"MarkerInclude"}):e.run("setToolActive",{toolName:"MarkerExclude"})}},{name:AU.t("Buttons:Clear Markers"),type:"button",id:"clear-markers",commands:"clearMarkersForMarkerLabelmap"}]}},{id:"Eraser",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-eraser",label:AU.t("Buttons:Eraser"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularEraser","SphereEraser"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"eraser-radius"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],options:[{name:AU.t("Buttons:Radius (mm)"),id:"eraser-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularEraser","SphereEraser"]}}},{name:AU.t("Buttons:Shape"),type:"radio",id:"eraser-mode",value:"CircularEraser",values:[{value:"CircularEraser",label:AU.t("Buttons:Circle")},{value:"SphereEraser",label:AU.t("Buttons:Sphere")}],commands:"setToolActiveToolbar"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}}},{id:"Threshold",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-threshold",label:AU.t("Buttons:Threshold Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"threshold-radius"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},options:[{name:AU.t("Buttons:Radius (mm)"),id:"threshold-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]}}},{name:AU.t("Buttons:Shape"),type:"radio",id:"threshold-shape",value:"ThresholdCircularBrush",values:[{value:"ThresholdCircularBrush",label:AU.t("Buttons:Circle")},{value:"ThresholdSphereBrush",label:AU.t("Buttons:Sphere")}],commands:({value:e,commandsManager:t,options:A})=>{"ThresholdDynamic"===A.find(e=>"dynamic-mode"===e.id).value?t.run("setToolActive",{toolName:"ThresholdCircularBrush"===e?"ThresholdCircularBrushDynamic":"ThresholdSphereBrushDynamic"}):t.run("setToolActive",{toolName:e})}},{name:AU.t("Buttons:Threshold"),type:"radio",id:"dynamic-mode",value:"ThresholdDynamic",values:[{value:"ThresholdDynamic",label:AU.t("Buttons:Dynamic")},{value:"ThresholdRange",label:AU.t("Buttons:Range")}],commands:({value:e,commandsManager:t,options:A})=>{let n=A.find(e=>"threshold-shape"===e.id);if("ThresholdDynamic"===e)t.run("setToolActiveToolbar",{toolName:"ThresholdCircularBrush"===n.value?"ThresholdCircularBrushDynamic":"ThresholdSphereBrushDynamic"});else{t.run("setToolActiveToolbar",{toolName:n.value});let e=A.find(e=>"threshold-range"===e.id).value;t.run("setThresholdRange",{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"],value:e})}}},{name:"ThresholdRange",type:"double-range",id:"threshold-range",min:-1e3,max:1e3,step:1,value:[50,600],condition:({options:e})=>"ThresholdRange"===e.find(e=>"dynamic-mode"===e.id).value,commands:{commandName:"setThresholdRange",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]}}}]}},{id:"Shapes",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-shape",label:AU.t("Buttons:Shapes"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircleScissor","SphereScissor","RectangleScissor"],disabledText:AU.t("Buttons:Create new segmentation to enable shapes tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},options:[{name:AU.t("Buttons:Shape"),type:"radio",value:"CircleScissor",id:"shape-mode",values:[{value:"CircleScissor",label:AU.t("Buttons:Circle")},{value:"SphereScissor",label:AU.t("Buttons:Sphere")},{value:"RectangleScissor",label:AU.t("Buttons:Rectangle")}],commands:"setToolActiveToolbar"}]}},{id:"SimplifyContours",uiType:"ohif.toolButton",props:{icon:"actions-simplify",label:"Simplify Contours",tooltip:"Simplify Contours",commands:["toggleActiveSegmentationUtility"],evaluate:[{name:"cornerstone.isActiveSegmentationUtility"}],options:"cornerstone.SimplifyContourOptions"}},{id:"SmoothContours",uiType:"ohif.toolButton",props:{icon:"actions-smooth",label:"Smooth Contours",tooltip:"Smooth Contours",commands:["toggleActiveSegmentationUtility"],evaluate:[{name:"cornerstone.isActiveSegmentationUtility"}],options:"cornerstone.SmoothContoursOptions"}},{id:"LogicalContourOperations",uiType:"ohif.toolButton",props:{icon:"actions-combine",label:"Combine Contours",tooltip:"Combine Contours",commands:["toggleActiveSegmentationUtility"],evaluate:[{name:"cornerstone.isActiveSegmentationUtility"}],options:"cornerstone.LogicalContourOperationsOptions"}},{id:"LabelMapEditWithContour",uiType:"ohif.toolBoxButton",props:{icon:"tool-labelmap-edit-with-contour",label:AU.t("Buttons:Labelmap Edit with Contour Tool"),tooltip:AU.t("Buttons:Labelmap Edit with Contour Tool"),commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}],evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["LabelMapEditWithContour"],disabledText:"Create new segmentation to enable this tool."},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}]}}],"cornerstone.segmentationToolbarSections":{[AO.labelMapSegmentationToolbox]:["LabelMapTools"],[AO.contourSegmentationToolbox]:["ContourTools"],[AO.labelMapSegmentationUtilities]:["LabelMapUtilities"],[AO.contourSegmentationUtilities]:["ContourUtilities"],LabelMapTools:["LabelmapSlicePropagation","BrushTools","MarkerLabelmap","ClickSegment","Shapes","LabelMapEditWithContour"],ContourTools:["PlanarFreehandContourSegmentationTool","SculptorTool","SplineContourSegmentationTool","LivewireContourSegmentationTool"],LabelMapUtilities:["InterpolateLabelmap","SegmentBidirectional"],ContourUtilities:["LogicalContourOperations","SimplifyContours","SmoothContours"],BrushTools:["Brush","Eraser","Threshold"]},"cornerstone.segmentationModeToolbarSections":{[AO.primary]:["WindowLevel","Pan","Zoom","TrackballRotate","Capture","Layout","Crosshairs","MoreTools"],[AO.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[AO.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[AO.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[AO.viewportActionMenu.bottomLeft]:["windowLevelMenu"],MoreTools:["Reset","rotate-right","flipHorizontal","ReferenceLines","ImageOverlayViewer","StackScroll","invert","Cine","Magnify","TagBrowser"]}},AL=function({commandsManager:e}){let t=[{toolName:"CatmullRomSplineROI",parentTool:el.SplineContourSegmentation,configuration:{spline:{type:"CATMULLROM",enableTwoPointPreview:!0}}},{toolName:"LinearSplineROI",parentTool:el.SplineContourSegmentation,configuration:{spline:{type:"LINEAR",enableTwoPointPreview:!0}}},{toolName:"BSplineROI",parentTool:el.SplineContourSegmentation,configuration:{spline:{type:"BSPLINE",enableTwoPointPreview:!0}}}];return{"cornerstone.segmentationTools":{passive:[{toolName:"CircularBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5}},{toolName:"CircularEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5}},{toolName:"SphereBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5}},{toolName:"SphereEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5}},{toolName:"ThresholdCircularBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5}},{toolName:"ThresholdSphereBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5}},{toolName:"ThresholdCircularBrushDynamic",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5,threshold:{isDynamic:!0,dynamicRadius:3}}},{toolName:"ThresholdSphereBrushDynamic",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5,threshold:{isDynamic:!0,dynamicRadius:3}}},{toolName:el.LabelmapSlicePropagation},{toolName:el.MarkerLabelmap},{toolName:el.ClickSegment},{toolName:el.LabelMapEditWithContourTool},{toolName:el.SegmentSelect},{toolName:el.CircleScissors},{toolName:el.RectangleScissors},{toolName:el.SphereScissors},{toolName:el.LivewireContourSegmentation},{toolName:el.SculptorTool},...t]},"cornerstone.annotationTools":{passive:[{toolName:el.Length},{toolName:el.ArrowAnnotate,configuration:{getTextCallback:(t,A)=>{e.runCommand("arrowTextCallback",{callback:t,eventDetails:A})},changeTextCallback:(t,A,n)=>{e.runCommand("arrowTextCallback",{callback:n,data:t,eventDetails:A})}}},{toolName:el.Bidirectional},{toolName:el.Probe},{toolName:el.DragProbe},{toolName:el.EllipticalROI},{toolName:el.CircleROI},{toolName:el.RectangleROI},{toolName:el.Angle},{toolName:el.CobbAngle},{toolName:el.SplineROI},{toolName:el.LivewireContour}]}}};var AR=O(7598),AV=O.n(AR);function AN(e,t,A,n){return new(A||(A=Promise))(function(r,o){function i(e){try{s(n.next(e))}catch(e){o(e)}}function a(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?r(e.value):((t=e.value)instanceof A?t:new A(function(e){e(t)})).then(i,a)}s((n=n.apply(e,t||[])).next())})}function AH(e,t){var A,n,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(s){var l=[a,s];if(A)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(o=0)),o;)try{if(A=1,n&&(r=2&l[0]?n.return:l[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,l[1])).done)return r;switch(n=0,r&&(l=[2&l[0],r.value]),l[0]){case 0:case 1:r=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,n=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(r=(r=o.trys).length>0&&r[r.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]<r[3])){o.label=l[1];break}if(6===l[0]&&o.label<r[1]){o.label=r[1],r=l;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(l);break}r[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],n=0}finally{A=r=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var A_=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function Ak(e,t){var A=function(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var A=t.split(".").pop().toLowerCase(),n=A_.get(A);n&&Object.defineProperty(e,"type",{value:n,writable:!1,configurable:!1,enumerable:!0})}return e}(e);if("string"!=typeof A.path){var n=e.webkitRelativePath;Object.defineProperty(A,"path",{value:"string"==typeof t?t:"string"==typeof n&&n.length>0?n:e.name,writable:!1,configurable:!1,enumerable:!0})}return A}var AP=[".DS_Store","Thumbs.db"];function AG(e){return AN(this,void 0,void 0,function(){return AH(this,function(t){var A;return[2,e.dataTransfer&&e.dataTransfer?function(e,t){return AN(this,void 0,void 0,function(){var A;return AH(this,function(n){switch(n.label){case 0:if(!e.items)return[3,2];if(A=Aj(e.items).filter(function(e){return"file"===e.kind}),"drop"!==t)return[2,A];return[4,Promise.all(A.map(AW))];case 1:return[2,AK(function e(t){return t.reduce(function(t,A){return function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(function(e,t){var A="function"==typeof Symbol&&e[Symbol.iterator];if(!A)return e;var n,r,o=A.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(A=o.return)&&A.call(o)}finally{if(r)throw r.error}}return i}(arguments[t]));return e}(t,Array.isArray(A)?e(A):[A])},[])}(n.sent()))];case 2:return[2,AK(Aj(e.files).map(function(e){return Ak(e)}))]}})})}(e.dataTransfer,e.type):(null!==(A=e).target&&A.target.files?Aj(A.target.files):[]).map(function(e){return Ak(e)})]})})}function AK(e){return e.filter(function(e){return -1===AP.indexOf(e.name)})}function Aj(e){for(var t=[],A=0;A<e.length;A++){var n=e[A];t.push(n)}return t}function AW(e){if("function"!=typeof e.webkitGetAsEntry)return AY(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?AX(t):AY(e)}function AY(e){var t=e.getAsFile();return t?Promise.resolve(Ak(t)):Promise.reject(e+" is not a File")}function Az(e){return AN(this,void 0,void 0,function(){return AH(this,function(t){return[2,e.isDirectory?AX(e):function(e){return AN(this,void 0,void 0,function(){return AH(this,function(t){return[2,new Promise(function(t,A){e.file(function(A){t(Ak(A,e.fullPath))},function(e){A(e)})})]})})}(e)]})})}function AX(e){var t=e.createReader();return new Promise(function(e,A){var n=[];!function r(){var o=this;t.readEntries(function(t){return AN(o,void 0,void 0,function(){var o;return AH(this,function(i){switch(i.label){case 0:if(t.length)return[3,5];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,Promise.all(n)];case 2:return e(i.sent()),[3,4];case 3:return A(i.sent()),[3,4];case 4:return[3,6];case 5:o=Promise.all(t.map(Az)),n.push(o),r(),i.label=6;case 6:return[2]}})})},function(e){A(e)})}()})}var AJ=O(6309);function Aq(e,t){return"application/x-moz-file"===e.type||(0,AJ.A)(e,t)}function A$(e,t,A){if(AZ(e.size)){if(AZ(t)&&AZ(A))return e.size>=t&&e.size<=A;else if(AZ(t))return e.size>=t;else if(AZ(A))return e.size<=A}return!0}function AZ(e){return null!=e}function A0(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function A1(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(e){return"Files"===e||"application/x-moz-file"===e}):!!e.target&&!!e.target.files}function A3(e){e.preventDefault()}function A4(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return function(e){for(var A=arguments.length,n=Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];return t.some(function(t){return!A0(e)&&t&&t.apply(void 0,[e].concat(n)),A0(e)})}}function A2(e){return function(e){if(Array.isArray(e)){for(var t=0,A=Array(e.length);t<e.length;t++)A[t]=e[t];return A}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance")}()}function A6(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),A.push.apply(A,n)}return A}function A9(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?A6(A,!0).forEach(function(t){A8(e,t,A[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):A6(A).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))})}return e}function A8(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function A5(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)A=o[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)A=o[n],!(t.indexOf(A)>=0)&&Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}var A7=(0,D.forwardRef)(function(e,t){var A=e.children,n=function(){var e,t,A,n,r,o,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=i.accept,s=i.disabled,l=void 0!==s&&s,c=i.getFilesFromEvent,u=void 0===c?AG:c,d=i.maxSize,p=void 0===d?1/0:d,g=i.minSize,m=void 0===g?0:g,f=i.multiple,h=void 0===f||f,w=i.onDragEnter,B=i.onDragLeave,y=i.onDragOver,v=i.onDrop,C=i.onDropAccepted,S=i.onDropRejected,E=i.onFileDialogCancel,I=i.preventDropOnDocument,b=void 0===I||I,U=i.noClick,F=void 0!==U&&U,Q=i.noKeyboard,T=void 0!==Q&&Q,O=i.noDrag,M=void 0!==O&&O,x=i.noDragEventsBubbling,L=void 0!==x&&x,R=(0,D.useRef)(null),V=(0,D.useRef)(null),N=function(e){if(Array.isArray(e))return e}(e=(0,D.useReducer)(nt,ne))||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var t=[],A=!0,n=!1,r=void 0;try{for(var o,i=e[Symbol.iterator]();!(A=(o=i.next()).done)&&(t.push(o.value),2!==t.length);A=!0);}catch(e){n=!0,r=e}finally{try{A||null==i.return||i.return()}finally{if(n)throw r}}return t}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance")}(),H=N[0],_=N[1],k=H.isFocused,P=H.isFileDialogActive,G=H.draggedFiles,K=(0,D.useCallback)(function(){V.current&&(_({type:"openDialog"}),V.current.value=null,V.current.click())},[_]),j=function(){P&&setTimeout(function(){V.current&&(V.current.files.length||(_({type:"closeDialog"}),"function"==typeof E&&E()))},300)};(0,D.useEffect)(function(){return window.addEventListener("focus",j,!1),function(){window.removeEventListener("focus",j,!1)}},[V,P,E]);var W=(0,D.useCallback)(function(e){R.current&&R.current.isEqualNode(e.target)&&(32===e.keyCode||13===e.keyCode)&&(e.preventDefault(),K())},[R,V]),Y=(0,D.useCallback)(function(){_({type:"focus"})},[]),z=(0,D.useCallback)(function(){_({type:"blur"})},[]),X=(0,D.useCallback)(function(){F||(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return -1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/")}()?setTimeout(K,0):K())},[V,F]),J=(0,D.useRef)([]),q=function(e){R.current&&R.current.contains(e.target)||(e.preventDefault(),J.current=[])};(0,D.useEffect)(function(){return b&&(document.addEventListener("dragover",A3,!1),document.addEventListener("drop",q,!1)),function(){b&&(document.removeEventListener("dragover",A3),document.removeEventListener("drop",q))}},[R,b]);var $=(0,D.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),-1===J.current.indexOf(e.target)&&(J.current=[].concat(A2(J.current),[e.target])),A1(e)&&Promise.resolve(u(e)).then(function(t){(!A0(e)||L)&&(_({draggedFiles:t,isDragActive:!0,type:"setDraggedFiles"}),w&&w(e))})},[u,w,L]),Z=(0,D.useCallback)(function(e){if(e.preventDefault(),e.persist(),eo(e),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}return A1(e)&&y&&y(e),!1},[y,L]),ee=(0,D.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e);var t=J.current.filter(function(t){return t!==e.target&&R.current&&R.current.contains(t)});J.current=t,!(t.length>0)&&(_({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),A1(e)&&B&&B(e))},[R,B,L]),et=(0,D.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),J.current=[],A1(e)&&Promise.resolve(u(e)).then(function(t){if(!A0(e)||L){var A=[],n=[];t.forEach(function(e){Aq(e,a)&&A$(e,m,p)?A.push(e):n.push(e)}),!h&&A.length>1&&n.push.apply(n,A2(A.splice(0))),_({acceptedFiles:A,rejectedFiles:n,type:"setFiles"}),v&&v(A,n,e),n.length>0&&S&&S(n,e),A.length>0&&C&&C(A,e)}}),_({type:"reset"})},[h,a,m,p,u,v,C,S,L]),eA=function(e){return l?null:e},en=function(e){return T?null:eA(e)},er=function(e){return M?null:eA(e)},eo=function(e){L&&e.stopPropagation()},ei=(0,D.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,A=e.onKeyDown,n=e.onFocus,r=e.onBlur,o=e.onClick,i=e.onDragEnter,a=e.onDragOver,s=e.onDragLeave,c=e.onDrop,u=A5(e,["refKey","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"]);return A9(A8({onKeyDown:en(A4(A,W)),onFocus:en(A4(n,Y)),onBlur:en(A4(r,z)),onClick:eA(A4(o,X)),onDragEnter:er(A4(i,$)),onDragOver:er(A4(a,Z)),onDragLeave:er(A4(s,ee)),onDrop:er(A4(c,et))},void 0===t?"ref":t,R),l||T?{}:{tabIndex:0},{},u)}},[R,W,Y,z,X,$,Z,ee,et,T,M,l]),ea=(0,D.useCallback)(function(e){e.stopPropagation()},[]),es=(0,D.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,A=e.onChange,n=e.onClick,r=A5(e,["refKey","onChange","onClick"]);return A9({},A8({accept:a,multiple:h,type:"file",style:{display:"none"},onChange:eA(A4(A,et)),onClick:eA(A4(n,ea)),autoComplete:"off",tabIndex:-1},void 0===t?"ref":t,V),{},r)}},[V,a,h,et,l]),el=G.length,ec=el>0&&(A=(t={files:G,accept:a,minSize:m,maxSize:p,multiple:h}).files,n=t.accept,r=t.minSize,o=t.maxSize,(!!t.multiple||!(A.length>1))&&A.every(function(e){return Aq(e,n)&&A$(e,r,o)}));return A9({},H,{isDragAccept:ec,isDragReject:el>0&&!ec,isFocused:k&&!l,getRootProps:ei,getInputProps:es,rootRef:R,inputRef:V,open:eA(K)})}(A5(e,["children"])),r=n.open,o=A5(n,["open"]);return(0,D.useImperativeHandle)(t,function(){return{open:r}},[r]),D.createElement(D.Fragment,null,A(A9({},o,{open:r})))});A7.displayName="Dropzone",A7.propTypes={children:AV().func,accept:AV().oneOfType([AV().string,AV().arrayOf(AV().string)]),multiple:AV().bool,preventDropOnDocument:AV().bool,noClick:AV().bool,noKeyboard:AV().bool,noDrag:AV().bool,noDragEventsBubbling:AV().bool,minSize:AV().number,maxSize:AV().number,disabled:AV().bool,getFilesFromEvent:AV().func,onFileDialogCancel:AV().func,onDragEnter:AV().func,onDragLeave:AV().func,onDragOver:AV().func,onDrop:AV().func,onDropAccepted:AV().func,onDropRejected:AV().func};var ne={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]};function nt(e,t){switch(t.type){case"focus":return A9({},e,{isFocused:!0});case"blur":return A9({},e,{isFocused:!1});case"openDialog":return A9({},e,{isFileDialogActive:!0});case"closeDialog":return A9({},e,{isFileDialogActive:!1});case"setDraggedFiles":var A=t.isDragActive;return A9({},e,{draggedFiles:t.draggedFiles,isDragActive:A});case"setFiles":return A9({},e,{acceptedFiles:t.acceptedFiles,rejectedFiles:t.rejectedFiles});case"reset":return A9({},e,{isFileDialogActive:!1,isDragActive:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]});default:return e}}var nA=O(5530),nn=O.n(nA);let nr={PROGRESS:"event:DicomFileUploader:progress"},no=((t={})[t.NotStarted=0]="NotStarted",t[t.InProgress=1]="InProgress",t[t.Success=2]="Success",t[t.Failed=3]="Failed",t[t.Cancelled=4]="Cancelled",t);class ni{constructor(e,t){this.message=void 0,this.status=void 0,this.message=t,this.status=e}}class na extends _.PubSubService{constructor(e,t){super(nr),this._file=void 0,this._fileId=void 0,this._dataSource=void 0,this._loadPromise=void 0,this._abortController=new AbortController,this._status=no.NotStarted,this._percentComplete=0,this._file=e,this._fileId=W().wadouri.fileManager.add(e),this._dataSource=t}getFileId(){return this._fileId}getFileName(){return this._file.name}getFileSize(){return this._file.size}cancel(){this._abortController.abort()}getStatus(){return this._status}getPercentComplete(){return this._percentComplete}async load(){return this._loadPromise||(this._loadPromise=new Promise((e,t)=>{let A={progress:e=>{e.lengthComputable&&(this._status=no.InProgress,this._percentComplete=Math.round(100*e.loaded/e.total),this._broadcastEvent(nr.PROGRESS,{fileId:this._fileId,percentComplete:this._percentComplete}))},timeout:()=>{this._reject(t,new ni(no.Failed,"The request timed out."))},abort:()=>{this._reject(t,new ni(no.Cancelled,"Cancelled"))},error:()=>{this._reject(t,new ni(no.Failed,"The request failed."))}};W().wadouri.loadFileRequest(this._fileId).then(n=>{if(this._abortController.signal.aborted)return void this._reject(t,new ni(no.Cancelled,"Cancelled"));if(!this._checkDicomFile(n))return void this._reject(t,new ni(no.Failed,"Not a valid DICOM file."));let r=new XMLHttpRequest;return this._addRequestCallbacks(r,A),this._dataSource.store.dicom(n,r).then(()=>{this._status=no.Success,e()}).catch(e=>{this._reject(t,e)})}).catch(e=>{this._reject(t,e)})})),this._loadPromise}_isRejected(){return this._status===no.Failed||this._status===no.Cancelled}_reject(e,t){if(!this._isRejected()){if(t instanceof ni){this._status=t.status,e(t);return}if(this._status=no.Failed,t.message)return void e(new ni(no.Failed,t.message));e(new ni(no.Failed,t))}}_addRequestCallbacks(e,t){let A=()=>e.abort();for(let[n,r]of(this._abortController.signal.addEventListener("abort",A),Object.entries(t)))e.upload.addEventListener(n,r);let n=()=>{for(let[n,r]of(this._abortController.signal.removeEventListener("abort",A),Object.entries(t)))e.upload.removeEventListener(n,r);e.removeEventListener("loadend",n)};e.addEventListener("loadend",n)}_checkDicomFile(e){if(e.length<=132)return!1;let t=new Uint8Array(e.slice(128,132));return Array.from("DICM").every((e,A)=>e.charCodeAt(0)===t[A])}}let ns=(0,D.memo)(({dicomFileUploader:e})=>{let[t,A]=(0,D.useState)(e.getPercentComplete()),[n,r]=(0,D.useState)(""),[o,i]=(0,D.useState)(e.getStatus()),a=(0,D.useCallback)(()=>o===no.Failed||o===no.Cancelled||o===no.Success,[o]);(0,D.useEffect)(()=>{let t=e.subscribe(nr.PROGRESS,e=>{A(e.percentComplete)});return e.load().catch(e=>{i(e.status),r(e.message??"")}).finally(()=>i(e.getStatus())),()=>t.unsubscribe()},[]);let s=(0,D.useCallback)(()=>{e.cancel()},[]);return D.createElement("div",{className:"min-h-14 border-input flex w-full items-center overflow-hidden border-b p-2.5 text-lg"},D.createElement("div",{className:"self-top flex w-0 shrink grow flex-col gap-1"},D.createElement("div",{className:"flex gap-4"},D.createElement("div",{className:"flex w-6 shrink-0 items-center justify-center"},(()=>{switch(e.getStatus()){case no.Success:return D.createElement(th.Icons.ByName,{name:"status-tracked",className:"text-highlight"});case no.InProgress:return D.createElement(th.Icons.ByName,{name:"icon-transferring",className:"text-highlight"});case no.Failed:return D.createElement(th.Icons.ByName,{name:"icon-alert-small",className:"text-destructive"});case no.Cancelled:return D.createElement(th.Icons.ByName,{name:"icon-alert-outline",className:"text-highlight"});default:return D.createElement(D.Fragment,null)}})()),D.createElement("div",{className:"text-foreground overflow-hidden text-ellipsis whitespace-nowrap"},e.getFileName())),n&&D.createElement("div",{className:"pl-10"},n)),D.createElement("div",{className:"flex w-24 items-center"},!a()&&D.createElement(D.Fragment,null,e.getStatus()===no.InProgress&&D.createElement("div",{className:"w-10 text-right"},t,"%"),D.createElement("div",{className:"ml-auto flex cursor-pointer"},D.createElement(th.Icons.Close,{className:"text-primary self-center",onClick:s})))))});ns.propTypes={dicomFileUploader:AV().instanceOf(na).isRequired};let nl="text-ellipsis whitespace-nowrap overflow-hidden";function nc({dicomFileUploaderArr:e,onComplete:t}){let{servicesManager:A}=(0,_.useSystem)(),n=A.services.customizationService.getCustomization("ui.progressLoadingBar"),[r]=(0,D.useState)(e.reduce((e,t)=>e+t.getFileSize(),0)),o=(0,D.useRef)(0),i=(0,D.useRef)(0),[a,s]=(0,D.useState)(null),[l,c]=(0,D.useState)(0),[u,d]=(0,D.useState)(0),[p,g]=(0,D.useState)(0),[m,f]=(0,D.useState)(!1),h=(0,D.useRef)();(0,D.useEffect)(()=>{let e,t=0,A=Date.now(),n=()=>{let a=o.current-t,s=Date.now();i.current=a/(s-A),t=o.current,A=s,r-o.current>0&&(e=i.current>=75?setTimeout(n,15e3):setTimeout(n,3e4))};return e=setTimeout(n,15e3),()=>{clearTimeout(e)}},[]),(0,D.useEffect)(()=>{let t=null,A=e.map(e=>{let A=0,n=n=>{let a=A;if(A=Math.round(n/100*e.getFileSize()),o.current=Math.min(r,o.current-a+A),c(o.current/r*100),0!==i.current){let e=Math.round((r-o.current)/i.current);if(null===t)return void s(t=e);if(e<6e4){let A=Math.ceil(e/1e3)-Math.ceil(t/1e3);(A<0||A>2)&&s(t=e);return}if(e<36e5){let A=Math.ceil(e/6e4)-Math.ceil(t/6e4);(A<0||A>2)&&s(t=e);return}s(t=e)}};return e.load().catch(e=>{e.status===no.Failed&&g(e=>e+1)}).finally(()=>{n(100),d(e=>e+1)}),e.subscribe(nr.PROGRESS,e=>{n(e.percentComplete)})});return()=>{A.forEach(e=>e.unsubscribe())}},[]);let w=(0,D.useCallback)(async()=>{for(let t of e)new Promise((e,A)=>{setTimeout(()=>{t.cancel(),e()},0)})},[]),B=(0,D.useCallback)(()=>{if(null==a)return"";if(a<6e4){let e=Math.ceil(a/1e3);return`${e} ${1===e?"second":"seconds"}`}if(a<36e5){let e=Math.ceil(a/6e4);return`${e} ${1===e?"minute":"minutes"}`}let e=Math.ceil(a/36e5);return`${e} ${1===e?"hour":"hours"}`},[a]),y=(0,D.useCallback)(()=>Math.min(100,Math.round(l)),[l]),v=(0,D.useCallback)(()=>1>y()&&(h?.current?.offsetWidth??0)*(l/100)<1,[y,l]),C=(0,D.useCallback)(()=>{let t=u.toString().length+e.length.toString().length;return{width:`${t+3}ch`}},[u]),S=()=>D.createElement("div",{className:"ml-auto flex w-6 justify-center"},p>0&&D.createElement("div",{onClick:()=>f(e=>!e)},D.createElement(th.Icons.ByName,{className:"cursor-pointer",name:"icon-status-alert"})));return D.createElement("div",{className:"flex grow flex-col"},D.createElement("div",{className:"bg-muted text-foreground flex h-14 items-center px-1 pb-4 text-lg"},u===e.length?D.createElement(D.Fragment,null,D.createElement("span",{className:nl},`${e.length} ${e.length>1?"files":"file"} completed.`),D.createElement(th.Button,{disabled:!1,className:"ml-auto",onClick:t},"Close")):D.createElement(D.Fragment,null,D.createElement("div",{className:"flex flex-wrap"},D.createElement("span",{style:C(),className:nn()(nl,"text-right")},`${u} of ${e.length}`,"\xa0"),D.createElement("span",{className:nl}," files completed."),D.createElement("br",null),D.createElement("span",null,a?`Less than ${B()} remaining. `:"")),D.createElement("span",{className:"text-primary hover:text-highlight active:text-muted-foreground ml-auto cursor-pointer whitespace-nowrap",onClick:w},"Cancel All Uploads"))),D.createElement("div",{className:"flex grow flex-col overflow-hidden bg-background text-lg"},D.createElement("div",{className:"ohif-scrollbar border-input overflow-y-scroll border-b px-2"},D.createElement("div",{className:"min-h-14 flex w-full items-center p-2.5"},u===e.length?D.createElement(D.Fragment,null,D.createElement("div",{className:"text-highlight text-xl"},p>0?`Completed with ${p} ${p>1?"errors":"error"}!`:"Completed!"),S()):D.createElement(D.Fragment,null,D.createElement("div",{ref:h,className:"flex-grow"},D.createElement(n,{progress:v()?void 0:Math.min(100,l)})),D.createElement("div",{className:"ml-1 flex w-24 items-center"},D.createElement("div",{className:"text-foreground w-10 text-right"},`${y()}%`),S())))),D.createElement("div",{className:"ohif-scrollbar h-1 grow overflow-y-scroll px-2"},e.filter(e=>!m||e.getStatus()===no.Failed).map(e=>D.createElement(ns,{key:e.getFileId(),dicomFileUploader:e})))))}function nu(){return(nu=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}function nd({dataSource:e,onComplete:t,onStarted:A}){let n="min-h-[375px] flex flex-col bg-background select-none rounded-lg overflow-hidden",[r,o]=(0,D.useState)([]),i=(0,D.useCallback)(async t=>{A(),o(t.map(t=>new na(t,e)))},[]);return D.createElement(D.Fragment,null,r.length?D.createElement("div",{className:nn()("h-[calc(100vh-300px)]",n)},D.createElement(nc,{dicomFileUploaderArr:Array.from(r),onComplete:t})):D.createElement("div",{className:nn()("h-[480px]",n)},D.createElement(A7,{onDrop:e=>{i(e)},noClick:!0},({getRootProps:e})=>D.createElement("div",nu({},e(),{className:"m-5 flex h-full flex-col items-center justify-center rounded-2xl border",style:{borderColor:"hsl(var(--muted-foreground) / 0.25)"}}),D.createElement("div",{className:"flex gap-2"},D.createElement(A7,{onDrop:i,noDrag:!0},({getRootProps:e,getInputProps:t})=>D.createElement("div",e(),D.createElement(th.Button,{variant:"default",size:"lg",disabled:!1,onClick:()=>{}},"Add files",D.createElement("input",nu({},t(),{style:{display:"none"}}))))),D.createElement(A7,{onDrop:i,noDrag:!0},({getRootProps:e,getInputProps:t})=>D.createElement("div",e(),D.createElement(th.Button,{variant:"secondary",size:"lg",disabled:!1,onClick:()=>{}},"Add folder",D.createElement("input",nu({},t(),{webkitdirectory:"true",mozdirectory:"true",style:{display:"none"}})))))),D.createElement("div",{className:"text-foreground pt-6 text-base"},"or drag images or folders here"),D.createElement("div",{className:"text-muted-foreground pt-1 text-base"},"(DICOM files supported)")))))}nc.propTypes={dicomFileUploaderArr:AV().arrayOf(AV().instanceOf(na)).isRequired,onComplete:AV().func.isRequired},nd.propTypes={dataSource:AV().object.isRequired,onComplete:AV().func.isRequired,onStarted:AV().func.isRequired};let np=nd,ng=Object.assign(np,{containerClassName:"max-w-3xl"}),nm={cinePlayer:th.CinePlayer,autoCineModalities:["OT","US"],"panelMeasurement.disableEditing":!1,onBeforeSRAddMeasurement:({measurement:e,StudyInstanceUID:t,SeriesInstanceUID:A})=>e,onBeforeDicomStore:({dicomDict:e,measurementData:t,naturalizedReport:A})=>e,dicomUploadComponent:ng,codingValues:{}},nf="image",nh={"ohif.captureViewportModal":function({onClose:e,defaultSize:t,fileTypeOptions:A,viewportId:n,showAnnotations:r,onAnnotationsChange:o,dimensions:i,warningState:a,onDimensionsChange:s,onEnableViewport:l,onDisableViewport:c,onDownload:u,onCopyToClipboard:d}){let[p,g]=(0,D.useState)(null),[m,f]=(0,D.useState)(!0),[h,w]=(0,D.useState)(nf),[B,y]=(0,D.useState)("jpg"),{t:v}=tR("CaptureViewportModal");return(0,D.useEffect)(()=>{if(p)return l(p),()=>{c()}},[c,l,p]),D.createElement(th.ImageModal,null,D.createElement(th.ImageModal.Body,null,D.createElement(th.ImageModal.ImageVisual,null,D.createElement("div",{style:{height:i.height,width:i.width,position:"relative"},"data-viewport-uid":n,ref:g},a.enabled&&m&&D.createElement("div",{className:"text-foreground absolute left-1/2 bottom-[5px] z-[1000] -translate-x-1/2 whitespace-nowrap rounded bg-background p-3 text-xs font-bold",style:{fontSize:"12px"}},a.value))),D.createElement(th.ImageModal.ImageOptions,null,D.createElement("div",{className:"flex items-end space-x-2"},D.createElement(th.ImageModal.Filename,{value:h,onChange:e=>w(e.target.value)},v("File name")),D.createElement(th.ImageModal.Filetype,{selected:B,onSelect:y,options:A})),D.createElement(th.ImageModal.ImageSize,{width:i.width.toString(),height:i.height.toString(),widthLabel:v("Width"),heightLabel:v("Height"),widthPlaceholder:v("Width"),heightPlaceholder:v("Height"),onWidthChange:e=>{s({...i,width:parseInt(e.target.value)||t})},onHeightChange:e=>{s({...i,height:parseInt(e.target.value)||t})},maxWidth:"10000",maxHeight:"10000"},v("Image size in pixels")),D.createElement(th.ImageModal.SwitchOption,{defaultChecked:r,checked:r,onCheckedChange:o},v("Include annotations")),a.enabled&&D.createElement(th.ImageModal.SwitchOption,{defaultChecked:m,checked:m,onCheckedChange:f},v("Include warning message")),D.createElement(th.FooterAction,{className:"mt-2"},D.createElement(th.FooterAction.Right,null,D.createElement(th.FooterAction.Secondary,{onClick:e},v("Common:Cancel")),D.createElement(th.FooterAction.Secondary,{onClick:async()=>{try{await d(),th.toast.success(v("Image copied to clipboard")),e()}catch(e){th.toast.error(v("Failed to copy image to clipboard")),console.error("Failed to copy to clipboard:",e)}}},v("Copy to Clipboard")),D.createElement(th.FooterAction.Primary,{onClick:()=>{u(h||nf,B),e()}},v("Save Image")))))))}},nw={"viewportDownload.warningMessage":{enabled:!0,value:"Not For Diagnostic Use"}};var nB=O(6974),ny=O(933);function nv(e,t){let{viewports:A}=e.getState();return(A=(A=[...A.values()]).filter(e=>e.displaySetInstanceUIDs&&e.displaySetInstanceUIDs.length)).filter(e=>{let{displaySetInstanceUIDs:A}=e;for(let e of A){let A=t.getDisplaySetByUID(e);if(A&&A.isReconstructable)return!0;return!1}})}let nC=.4,nS=.4;function nE(e){return"RTSTRUCT"===e&&eP?"stack":void 0}let nI=e=>`VOI_SYNC_${e}`;var nb=O(1371),nU=O(7155);let nF=e=>{let{points:t}=e;if(!t||!Array.isArray(t)||0===t.length)return{center:[0,0,0],extent:{min:[0,0,0],max:[0,0,0]}};let A=[...t[0]],n=[...t[0]];for(let e=1;e<t.length;e++){let r=t[e];for(let e=0;e<3;e++)A[e]=Math.min(A[e],r[e]),n[e]=Math.max(n[e],r[e])}return{center:[(A[0]+n[0])/2,(A[1]+n[1])/2,(A[2]+n[2])/2],extent:{min:A,max:n}}},nQ={flipHorizontal(e,t="toggle"){let A;A="toggle"===t?!e.getCamera().flipHorizontal:t,e.setCamera({flipHorizontal:A})},flipVertical(e,t="toggle"){let A;A="toggle"===t?!e.getCamera().flipVertical:t,e.setCamera({flipVertical:A})},invert(e){let{invert:t}=e.getProperties();e.setProperties({invert:!t})},rotate(e,t,A="apply"){if((0,ei.rX)(e)){let A=e.getCamera(),n=t*Math.PI/180,r=nU.mat4.identity(new Float32Array(16));nU.mat4.rotate(r,r,n,A.viewPlaneNormal);let o=nU.vec3.transformMat4(nU.vec3.create(),A.viewUp,r);e.setCamera({viewUp:o});return}if(void 0!==e.getRotation){let{rotation:n}=e.getViewPresentation(),r="apply"===A?(n+t+360)%360:(()=>{let{flipHorizontal:A=!1,flipVertical:n=!1}=e.getViewPresentation();return(((+!!A+ +!!n)%2==1?-t:t)+360)%360})();e.setViewPresentation({rotation:r})}},reset(e){e.resetProperties?.(),e.resetCamera()},scaleBy(e,t){if((0,ei.TF)(e))if(t){let{parallelScale:A}=e.getCamera();e.setCamera({parallelScale:A*(t>0?.9:1.1)})}else e.resetCamera()},getViewPlaneNormal:e=>e.getCamera().viewPlaneNormal,centerOnMeasurement(e,t){if(((e,t)=>{let{focalPoint:A,parallelScale:n}=e.getCamera(),{extent:r}=nF(t),{min:o,max:i}=r;for(let e=0;e<3;e++){let t=Math.abs(o[e]-A[e]),r=Math.abs(i[e]-A[e]);if(t>n||r>n)return!1}return!0})(e,t))return!1;let A=e.getCamera(),{focalPoint:n,position:r}=A,{center:o,extent:i}=nF(t),a=nU.vec3.sub(nU.vec3.create(),r,n);nU.vec3.add(a,a,o),e.setCamera({focalPoint:o,position:a});let s=nU.vec3.dist(i.min,i.max);if(s>A.parallelScale){let t=s/A.parallelScale;e.setZoom(e.getZoom()/t)}return!0},setWindowLevel(e,t){let{lower:A,upper:n}=x.utilities.windowLevel.toLowHighRange(t.windowWidth,t.windowCenter);(0,ei.rX)(e)?e.setProperties({voiRange:{upper:n,lower:A}},t.volumeId):e.setProperties({voiRange:{upper:n,lower:A}})},setColormap(e,t){let{colormap:A,displaySetInstanceUID:n}=t;if((0,ei.TF)(e)&&e.setProperties({colormap:A}),(0,ei.tO)(e)){let t=e.getAllVolumeIds().find(e=>e.includes(n))??e.getVolumeId();e.setProperties({colormap:A},t)}},setPreset(e,t){e.setProperties({preset:t})},setVolumeRenderingQuality(e,t){let A=e.getActors()[0];if(!A)return;let{actor:n}=A,r=n.getMapper(),o=r.getInputData(),i=o.getDimensions(),a=o.getSpacing(),s=nU.vec3.length(nU.vec3.fromValues(i[0]*a[0],i[1]*a[1],i[2]*a[2])),l=a.reduce((e,t)=>e+t)/3,c=s/(l/=t>1?.5*t**2:1)+1;r.setMaximumSamplesPerRay(c),r.setSampleDistance(l)},shiftVolumeOpacityPoints(e,t){let A=e.getActors()[0];if(!A)return;let{actor:n}=A,r=n.getProperty().getScalarOpacity(0),o=[],i=r.getSize();for(let e=0;e<i;e++){let t=[0,0,0,0];r.getNodeValue(e,t),o.push(t)}o.forEach(e=>{e[0]+=t}),r.removeAllPoints(),o.forEach(e=>{r.addPoint(...e)})},setVolumeLighting(e,t){let A=e.getActors()[0];if(!A)return;let{actor:n}=A,r=n.getProperty();void 0!==t.shade&&r.setShade(t.shade),void 0!==t.ambient&&r.setAmbient(t.ambient),void 0!==t.diffuse&&r.setDiffuse(t.diffuse),void 0!==t.specular&&r.setSpecular(t.specular)}},nT={flipHorizontal(e,t="toggle"){let A=(0,nb.qU)(e),n="toggle"===t?!A.getViewState().flipHorizontal:t;A.setViewState({flipHorizontal:n})},flipVertical(e,t="toggle"){let A=(0,nb.qU)(e),n="toggle"===t?!A.getViewState().flipVertical:t;A.setViewState({flipVertical:n})},invert(e){let t=(0,nb.qU)(e),{invert:A}=t.getPresentation();t.setPresentation({invert:!A})},rotate(e,t,A="apply"){let n=(0,nb.qU)(e),r=n.getViewState(),o=r.rotation??0,i="apply"===A?(o+t+360)%360:(((+!!r.flipHorizontal+ +!!r.flipVertical)%2==1?-t:t)+360)%360;n.setViewState({rotation:i})},reset(e){e.resetDisplaySetPresentation?.(),e.resetViewState?.()},scaleBy(e,t){t?e.getZoom&&e.setZoom&&e.setZoom(e.getZoom()/(t>0?.9:1.1)):e.resetViewState?.({resetOrientation:!1})},getViewPlaneNormal:e=>(0,nb.qU)(e).getViewPlaneNormal(),centerOnMeasurement:()=>!1,setWindowLevel(e,t){let{lower:A,upper:n}=x.utilities.windowLevel.toLowHighRange(t.windowWidth,t.windowCenter);(0,nb.qU)(e).setPresentation({voiRange:{upper:n,lower:A}},t.displaySetInstanceUID)},setColormap(e,t){(0,nb.qU)(e).setPresentation({colormap:t.colormap},t.displaySetInstanceUID)},setPreset(e,t){let A=x.CONSTANTS.VIEWPORT_PRESETS?.find(e=>e.name===t),n=e.getDefaultActor?.()?.actor;A&&n&&x.utilities.applyPreset(n,A)},setVolumeRenderingQuality(e,t){nQ.setVolumeRenderingQuality(e,t)},shiftVolumeOpacityPoints(e,t){nQ.shiftVolumeOpacityPoints(e,t)},setVolumeLighting(e,t){nQ.setVolumeLighting(e,t)}};function nD(e){return(0,nb.Is)(e)?nT:nQ}let nO=e=>nD(e).getViewPlaneNormal(e);var nM=O(2140),nx=O(6739);O(1978);let nL=(0,nx.vt)()(e=>({selectedSegmentationsForViewport:{},type:"selectedSegmentationsForViewportId",setSelectedSegmentationsForViewport:(t,A)=>e(e=>({selectedSegmentationsForViewport:{...e.selectedSegmentationsForViewport,[t]:A}}),!1,"setSelectedSegmentationsForViewport"),clearSelectedSegmentationsForViewportStore:()=>e({selectedSegmentationsForViewport:{}},!1,"clearSelectedSegmentationsForViewportStore")}));var nR=function(e,t){return(nR=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var A in t)Object.prototype.hasOwnProperty.call(t,A)&&(e[A]=t[A])})(e,t)};function nV(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function A(){this.constructor=e}nR(e,t),e.prototype=null===t?Object.create(t):(A.prototype=t.prototype,new A)}var nN=function(){return(nN=Object.assign||function(e){for(var t,A=1,n=arguments.length;A<n;A++)for(var r in t=arguments[A])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function nH(e,t,A,n){return new(A||(A=Promise))(function(r,o){function i(e){try{s(n.next(e))}catch(e){o(e)}}function a(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?r(e.value):((t=e.value)instanceof A?t:new A(function(e){e(t)})).then(i,a)}s((n=n.apply(e,t||[])).next())})}function n_(e,t){var A,n,r,o,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){var s=[o,a];if(A)throw TypeError("Generator is already executing.");for(;i;)try{if(A=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(r=(r=i.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){i.label=s[1];break}if(6===s[0]&&i.label<r[1]){i.label=r[1],r=s;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(s);break}r[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],n=0}finally{A=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}function nk(e,t,A){if(A||2==arguments.length)for(var n,r=0,o=t.length;r<o;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||t)}for(var nP=function(){function e(e,t,A,n){this.left=e,this.top=t,this.width=A,this.height=n}return e.prototype.add=function(t,A,n,r){return new e(this.left+t,this.top+A,this.width+n,this.height+r)},e.fromClientRect=function(t,A){return new e(A.left+t.windowBounds.left,A.top+t.windowBounds.top,A.width,A.height)},e.fromDOMRectList=function(t,A){var n=Array.from(A).find(function(e){return 0!==e.width});return n?new e(n.left+t.windowBounds.left,n.top+t.windowBounds.top,n.width,n.height):e.EMPTY},e.EMPTY=new e(0,0,0,0),e}(),nG=function(e,t){return nP.fromClientRect(e,t.getBoundingClientRect())},nK=function(e){var t=e.body,A=e.documentElement;if(!t||!A)throw Error("Unable to get document size");return new nP(0,0,Math.max(Math.max(t.scrollWidth,A.scrollWidth),Math.max(t.offsetWidth,A.offsetWidth),Math.max(t.clientWidth,A.clientWidth)),Math.max(Math.max(t.scrollHeight,A.scrollHeight),Math.max(t.offsetHeight,A.offsetHeight),Math.max(t.clientHeight,A.clientHeight)))},nj=function(e){for(var t=[],A=0,n=e.length;A<n;){var r=e.charCodeAt(A++);if(r>=55296&&r<=56319&&A<n){var o=e.charCodeAt(A++);(64512&o)==56320?t.push(((1023&r)<<10)+(1023&o)+65536):(t.push(r),A--)}else t.push(r)}return t},nW=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var A=e.length;if(!A)return"";for(var n=[],r=-1,o="";++r<A;){var i=e[r];i<=65535?n.push(i):(i-=65536,n.push((i>>10)+55296,i%1024+56320)),(r+1===A||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},nY="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nz="u"<typeof Uint8Array?[]:new Uint8Array(256),nX=0;nX<nY.length;nX++)nz[nY.charCodeAt(nX)]=nX;for(var nJ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nq="u"<typeof Uint8Array?[]:new Uint8Array(256),n$=0;n$<nJ.length;n$++)nq[nJ.charCodeAt(n$)]=n$;for(var nZ=2112,n0=function(e,t,A){return e.slice?e.slice(t,A):new Uint16Array(Array.prototype.slice.call(e,t,A))},n1=function(){function e(e,t,A,n,r,o){this.initialValue=e,this.errorValue=t,this.highStart=A,this.highValueIndex=n,this.index=r,this.data=o}return e.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e<this.highStart)return t=nZ-32+(e>>11),t=this.index[t]+(e>>5&63),t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),n3="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n4="u"<typeof Uint8Array?[]:new Uint8Array(256),n2=0;n2<n3.length;n2++)n4[n3.charCodeAt(n2)]=n2;var n6=[9001,65288],n9=(n=Array.isArray(A=function(e){var t,A,n,r,o,i=.75*e.length,a=e.length,s=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var l="u">typeof ArrayBuffer&&"u">typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):Array(i),c=Array.isArray(l)?l:new Uint8Array(l);for(t=0;t<a;t+=4)A=nq[e.charCodeAt(t)],n=nq[e.charCodeAt(t+1)],r=nq[e.charCodeAt(t+2)],o=nq[e.charCodeAt(t+3)],c[s++]=A<<2|n>>4,c[s++]=(15&n)<<4|r>>2,c[s++]=(3&r)<<6|63&o;return l}("KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="))?function(e){for(var t=e.length,A=[],n=0;n<t;n+=4)A.push(e[n+3]<<24|e[n+2]<<16|e[n+1]<<8|e[n]);return A}(A):new Uint32Array(A),o=n0(r=Array.isArray(A)?function(e){for(var t=e.length,A=[],n=0;n<t;n+=2)A.push(e[n+1]<<8|e[n]);return A}(A):new Uint16Array(A),12,n[4]/2),a=2===n[5]?n0(r,(24+n[4])/2):(i=Math.ceil((24+n[4])/4),n.slice?n.slice(i,void 0):new Uint32Array(Array.prototype.slice.call(n,i,void 0))),new n1(n[0],n[1],n[2],n[3],o,a)),n8=[30,36],n5=[1,2,3,5],n7=[10,8],re=[27,26],rt=n5.concat(n7),rA=[38,39,40,34,35],rn=[15,13],rr=function(e,t){void 0===t&&(t="strict");var A=[],n=[],r=[];return e.forEach(function(e,o){var i=n9.get(e);if(i>50?(r.push(!0),i-=50):r.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return n.push(o),A.push(16);if(4===i||11===i){if(0===o)return n.push(o),A.push(30);var a=A[o-1];return -1===rt.indexOf(a)?(n.push(n[o-1]),A.push(a)):(n.push(o),A.push(30))}if(n.push(o),31===i)return A.push("strict"===t?21:37);if(42===i||29===i)return A.push(30);if(43===i)if(e>=131072&&e<=196605||e>=196608&&e<=262141)return A.push(37);else return A.push(30);A.push(i)}),[n,A,r]},ro=function(e,t,A,n){var r=n[A];if(Array.isArray(e)?-1!==e.indexOf(r):e===r)for(var o=A;o<=n.length;){var i=n[++o];if(i===t)return!0;if(10!==i)break}if(10===r)for(var o=A;o>0;){var a=n[--o];if(Array.isArray(e)?-1!==e.indexOf(a):e===a)for(var s=A;s<=n.length;){var i=n[++s];if(i===t)return!0;if(10!==i)break}if(10!==a)break}return!1},ri=function(e,t){for(var A=e;A>=0;){var n=t[A];if(10!==n)return n;A--}return 0},ra=function(e,t,A,n,r){if(0===A[n])return"\xd7";var o=n-1;if(Array.isArray(r)&&!0===r[o])return"\xd7";var i=o-1,a=o+1,s=t[o],l=i>=0?t[i]:0,c=t[a];if(2===s&&3===c)return"\xd7";if(-1!==n5.indexOf(s))return"!";if(-1!==n5.indexOf(c)||-1!==n7.indexOf(c))return"\xd7";if(8===ri(o,t))return"\xf7";if(11===n9.get(e[o])||(32===s||33===s)&&11===n9.get(e[a])||7===s||7===c||9===s||-1===[10,13,15].indexOf(s)&&9===c||-1!==[17,18,19,24,28].indexOf(c)||22===ri(o,t)||ro(23,22,o,t)||ro([17,18],21,o,t)||ro(12,12,o,t))return"\xd7";if(10===s)return"\xf7";if(23===s||23===c)return"\xd7";if(16===c||16===s)return"\xf7";if(-1!==[13,15,21].indexOf(c)||14===s||36===l&&-1!==rn.indexOf(s)||28===s&&36===c||20===c||-1!==n8.indexOf(c)&&25===s||-1!==n8.indexOf(s)&&25===c||27===s&&-1!==[37,32,33].indexOf(c)||-1!==[37,32,33].indexOf(s)&&26===c||-1!==n8.indexOf(s)&&-1!==re.indexOf(c)||-1!==re.indexOf(s)&&-1!==n8.indexOf(c)||-1!==[27,26].indexOf(s)&&(25===c||-1!==[22,15].indexOf(c)&&25===t[a+1])||-1!==[22,15].indexOf(s)&&25===c||25===s&&-1!==[25,28,24].indexOf(c))return"\xd7";if(-1!==[25,28,24,17,18].indexOf(c))for(var u=o;u>=0;){var d=t[u];if(25===d)return"\xd7";if(-1!==[28,24].indexOf(d))u--;else break}if(-1!==[27,26].indexOf(c))for(var u=-1!==[17,18].indexOf(s)?i:o;u>=0;){var d=t[u];if(25===d)return"\xd7";if(-1!==[28,24].indexOf(d))u--;else break}if(38===s&&-1!==[38,39,34,35].indexOf(c)||-1!==[39,34].indexOf(s)&&-1!==[39,40].indexOf(c)||-1!==[40,35].indexOf(s)&&40===c||-1!==rA.indexOf(s)&&-1!==[20,26].indexOf(c)||-1!==rA.indexOf(c)&&27===s||-1!==n8.indexOf(s)&&-1!==n8.indexOf(c)||24===s&&-1!==n8.indexOf(c)||-1!==n8.concat(25).indexOf(s)&&22===c&&-1===n6.indexOf(e[a])||-1!==n8.concat(25).indexOf(c)&&18===s)return"\xd7";if(41===s&&41===c){for(var p=A[o],g=1;p>0;)if(41===t[--p])g++;else break;if(g%2!=0)return"\xd7"}return 32===s&&33===c?"\xd7":"\xf7"},rs=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var A=rr(e,t.lineBreak),n=A[0],r=A[1],o=A[2];return("break-all"===t.wordBreak||"break-word"===t.wordBreak)&&(r=r.map(function(e){return -1!==[25,30,42].indexOf(e)?37:e})),[n,r,"keep-all"===t.wordBreak?o.map(function(t,A){return t&&e[A]>=19968&&e[A]<=40959}):void 0]},rl=function(){function e(e,t,A,n){this.codePoints=e,this.required="!"===t,this.start=A,this.end=n}return e.prototype.slice=function(){return nW.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),rc=function(e,t){var A=nj(e),n=rs(A,t),r=n[0],o=n[1],i=n[2],a=A.length,s=0,l=0;return{next:function(){if(l>=a)return{done:!0,value:null};for(var e="\xd7";l<a&&"\xd7"===(e=ra(A,o,r,++l,i)););if("\xd7"!==e||l===a){var t=new rl(A,e,s,l);return s=l,{value:t,done:!1}}return{done:!0,value:null}}}},ru=function(e){return e>=48&&e<=57},rd=function(e){return ru(e)||e>=65&&e<=70||e>=97&&e<=102},rp=function(e){return e>=97&&e<=122||e>=65&&e<=90},rg=function(e){return 10===e||9===e||32===e},rm=function(e){return rp(e)||e>=128||95===e},rf=function(e){return rm(e)||ru(e)||45===e},rh=function(e,t){return 92===e&&10!==t},rw=function(e,t,A){return 45===e?rm(t)||rh(t,A):!!(rm(e)||92===e&&rh(e,t))||!1},rB=function(e,t,A){return 43===e||45===e?!!ru(t)||46===t&&ru(A):46===e?ru(t):ru(e)},ry=function(e){var t=0,A=1;(43===e[0]||45===e[t])&&(45===e[t]&&(A=-1),t++);for(var n=[];ru(e[t]);)n.push(e[t++]);var r=n.length?parseInt(nW.apply(void 0,n),10):0;46===e[t]&&t++;for(var o=[];ru(e[t]);)o.push(e[t++]);var i=o.length,a=i?parseInt(nW.apply(void 0,o),10):0;(69===e[t]||101===e[t])&&t++;var s=1;(43===e[t]||45===e[t])&&(45===e[t]&&(s=-1),t++);for(var l=[];ru(e[t]);)l.push(e[t++]);return A*(r+a*Math.pow(10,-i))*Math.pow(10,s*(l.length?parseInt(nW.apply(void 0,l),10):0))},rv={type:2},rC={type:3},rS={type:4},rE={type:13},rI={type:8},rb={type:21},rU={type:9},rF={type:10},rQ={type:11},rT={type:12},rD={type:14},rO={type:23},rM={type:1},rx={type:25},rL={type:24},rR={type:26},rV={type:27},rN={type:28},rH={type:29},r_={type:31},rk={type:32},rP=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(nj(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==rk;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),A=this.peekCodePoint(1),n=this.peekCodePoint(2);if(rf(t)||rh(A,n)){var r=rw(t,A,n)?2:1,o=this.consumeName();return{type:5,value:o,flags:r}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rE;break;case 39:return this.consumeStringToken(39);case 40:return rv;case 41:return rC;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rD;break;case 43:case 46:if(rB(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return rS;case 45:var i=this.peekCodePoint(0),a=this.peekCodePoint(1);if(rB(e,i,a))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(rw(e,i,a))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===i&&62===a)return this.consumeCodePoint(),this.consumeCodePoint(),rL;break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var s=this.consumeCodePoint();if(42===s&&47===(s=this.consumeCodePoint())||-1===s)return this.consumeToken()}break;case 58:return rR;case 59:return rV;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),rx;break;case 64:if(rw(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var o=this.consumeName();return{type:7,value:o}}break;case 91:return rN;case 92:if(rh(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return rH;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rI;break;case 123:return rQ;case 125:return rT;case 117:case 85:var l=this.peekCodePoint(0),c=this.peekCodePoint(1);return 43===l&&(rd(c)||63===c)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rU;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),rb;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rF;break;case -1:return rk}return rg(e)?(this.consumeWhiteSpace(),r_):ru(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):rm(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:nW(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();rd(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var A=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),A=!0;if(A){var n=parseInt(nW.apply(void 0,e.map(function(e){return 63===e?48:e})),16),r=parseInt(nW.apply(void 0,e.map(function(e){return 63===e?70:e})),16);return{type:30,start:n,end:r}}var o=parseInt(nW.apply(void 0,e),16);if(!(45===this.peekCodePoint(0)&&rd(this.peekCodePoint(1))))return{type:30,start:o,end:o};this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];rd(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();var r=parseInt(nW.apply(void 0,i),16);return{type:30,start:o,end:r}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var A=this.consumeStringToken(this.consumeCodePoint());return 0===A.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:A.value}):(this.consumeBadUrlRemnants(),rO)}for(;;){var n,r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:nW.apply(void 0,e)};if(rg(r)){if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))return this.consumeCodePoint(),{type:22,value:nW.apply(void 0,e)};return this.consumeBadUrlRemnants(),rO}if(34===r||39===r||40===r||(n=r)>=0&&n<=8||11===n||n>=14&&n<=31||127===n)return this.consumeBadUrlRemnants(),rO;if(92===r)if(!rh(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),rO;else e.push(this.consumeEscapedCodePoint());else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;rg(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;rh(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var A=Math.min(5e4,e);t+=nW.apply(void 0,this._value.splice(0,A)),e-=A}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",A=0;;){var n=this._value[A];if(-1===n||void 0===n||n===e)return{type:0,value:t+=this.consumeStringSlice(A)};if(10===n)return this._value.splice(0,A),rM;if(92===n){var r=this._value[A+1];-1!==r&&void 0!==r&&(10===r?(t+=this.consumeStringSlice(A),A=-1,this._value.shift()):rh(n,r)&&(t+=this.consumeStringSlice(A),t+=nW(this.consumeEscapedCodePoint()),A=-1))}A++}},e.prototype.consumeNumber=function(){var e=[],t=4,A=this.peekCodePoint(0);for((43===A||45===A)&&e.push(this.consumeCodePoint());ru(this.peekCodePoint(0));)e.push(this.consumeCodePoint());A=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(46===A&&ru(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;ru(this.peekCodePoint(0));)e.push(this.consumeCodePoint());A=this.peekCodePoint(0),n=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((69===A||101===A)&&((43===n||45===n)&&ru(r)||ru(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;ru(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[ry(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],A=e[1],n=this.peekCodePoint(0);return rw(n,this.peekCodePoint(1),this.peekCodePoint(2))?{type:15,number:t,flags:A,unit:this.consumeName()}:37===n?(this.consumeCodePoint(),{type:16,number:t,flags:A}):{type:17,number:t,flags:A}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(rd(e)){for(var t=nW(e);rd(this.peekCodePoint(0))&&t.length<6;)t+=nW(this.consumeCodePoint());rg(this.peekCodePoint(0))&&this.consumeCodePoint();var A=parseInt(t,16);return 0===A||A>=55296&&A<=57343||A>1114111?65533:A}return -1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(rf(t))e+=nW(t);else{if(!rh(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=nW(this.consumeEscapedCodePoint())}}},e}(),rG=function(){function e(e){this._tokens=e}return e.create=function(t){var A=new rP;return A.write(t),new e(A.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do e=this.consumeToken();while(31===e.type);if(32===e.type)return t;throw SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},A=this.consumeToken();;){if(32===A.type||r$(A,e))return t;this.reconsumeToken(A),t.values.push(this.consumeComponentValue()),A=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var A=this.consumeToken();if(32===A.type||3===A.type)return t;this.reconsumeToken(A),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?rk:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),rK=function(e){return 15===e.type},rj=function(e){return 17===e.type},rW=function(e){return 20===e.type},rY=function(e){return 0===e.type},rz=function(e,t){return rW(e)&&e.value===t},rX=function(e){return 31!==e.type},rJ=function(e){return 31!==e.type&&4!==e.type},rq=function(e){var t=[],A=[];return e.forEach(function(e){if(4===e.type){if(0===A.length)throw Error("Error parsing function args, zero tokens for arg");t.push(A),A=[];return}31!==e.type&&A.push(e)}),A.length&&t.push(A),t},r$=function(e,t){return 11===t&&12===e.type||28===t&&29===e.type||2===t&&3===e.type},rZ=function(e){return 17===e.type||15===e.type},r0=function(e){return 16===e.type||rZ(e)},r1=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},r3={type:17,number:0,flags:4},r4={type:16,number:50,flags:4},r2={type:16,number:100,flags:4},r6=function(e,t,A){var n=e[0],r=e[1];return[r9(n,t),r9(void 0!==r?r:n,A)]},r9=function(e,t){if(16===e.type)return e.number/100*t;if(rK(e))switch(e.unit){case"rem":case"em":return 16*e.number}return e.number},r8="grad",r5="turn",r7=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case r8:return Math.PI/200*t.number;case"rad":return t.number;case r5:return 2*Math.PI*t.number}throw Error("Unsupported angle type")},oe=function(e){return 15===e.type&&("deg"===e.unit||e.unit===r8||"rad"===e.unit||e.unit===r5)},ot=function(e){switch(e.filter(rW).map(function(e){return e.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[r3,r3];case"to top":case"bottom":return oA(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[r3,r2];case"to right":case"left":return oA(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[r2,r2];case"to bottom":case"top":return oA(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[r2,r3];case"to left":case"right":return oA(270)}return 0},oA=function(e){return Math.PI*e/180},on=function(e,t){if(18===t.type){var A=ou[t.name];if(void 0===A)throw Error('Attempting to parse an unsupported color function "'+t.name+'"');return A(e,t.values)}if(5===t.type){if(3===t.value.length){var n=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);return oi(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===t.value.length){var n=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3),i=t.value.substring(3,4);return oi(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(i+i,16)/255)}if(6===t.value.length){var n=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6);return oi(parseInt(n,16),parseInt(r,16),parseInt(o,16),1)}if(8===t.value.length){var n=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6),i=t.value.substring(6,8);return oi(parseInt(n,16),parseInt(r,16),parseInt(o,16),parseInt(i,16)/255)}}if(20===t.type){var a=op[t.value.toUpperCase()];if(void 0!==a)return a}return op.TRANSPARENT},or=function(e){return(255&e)==0},oo=function(e){var t=255&e,A=255&e>>8,n=255&e>>16,r=255&e>>24;return t<255?"rgba("+r+","+n+","+A+","+t/255+")":"rgb("+r+","+n+","+A+")"},oi=function(e,t,A,n){return(e<<24|t<<16|A<<8|(0|Math.round(255*n)))>>>0},oa=function(e,t){if(17===e.type)return e.number;if(16===e.type){var A=3===t?1:255;return 3===t?e.number/100*A:Math.round(e.number/100*A)}return 0},os=function(e,t){var A=t.filter(rJ);if(3===A.length){var n=A.map(oa),r=n[0],o=n[1],i=n[2];return oi(r,o,i,1)}if(4===A.length){var a=A.map(oa),r=a[0],o=a[1],i=a[2];return oi(r,o,i,a[3])}return 0};function ol(e,t,A){return(A<0&&(A+=1),A>=1&&(A-=1),A<1/6)?(t-e)*A*6+e:A<.5?t:A<2/3?(t-e)*6*(2/3-A)+e:e}var oc=function(e,t){var A=t.filter(rJ),n=A[0],r=A[1],o=A[2],i=A[3],a=(17===n.type?oA(n.number):r7(e,n))/(2*Math.PI),s=r0(r)?r.number/100:0,l=r0(o)?o.number/100:0,c=void 0!==i&&r0(i)?r9(i,1):1;if(0===s)return oi(255*l,255*l,255*l,1);var u=l<=.5?l*(s+1):l+s-l*s,d=2*l-u;return oi(255*ol(d,u,a+1/3),255*ol(d,u,a),255*ol(d,u,a-1/3),c)},ou={hsl:oc,hsla:oc,rgb:os,rgba:os},od=function(e,t){return on(e,rG.create(t).parseComponentValue())},op={ALICEBLUE:0xf0f8ffff,ANTIQUEWHITE:0xfaebd7ff,AQUA:0xffffff,AQUAMARINE:0x7fffd4ff,AZURE:0xf0ffffff,BEIGE:0xf5f5dcff,BISQUE:0xffe4c4ff,BLACK:255,BLANCHEDALMOND:0xffebcdff,BLUE:65535,BLUEVIOLET:0x8a2be2ff,BROWN:0xa52a2aff,BURLYWOOD:0xdeb887ff,CADETBLUE:0x5f9ea0ff,CHARTREUSE:0x7fff00ff,CHOCOLATE:0xd2691eff,CORAL:0xff7f50ff,CORNFLOWERBLUE:0x6495edff,CORNSILK:0xfff8dcff,CRIMSON:0xdc143cff,CYAN:0xffffff,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:0xb886bbff,DARKGRAY:0xa9a9a9ff,DARKGREEN:6553855,DARKGREY:0xa9a9a9ff,DARKKHAKI:0xbdb76bff,DARKMAGENTA:0x8b008bff,DARKOLIVEGREEN:0x556b2fff,DARKORANGE:0xff8c00ff,DARKORCHID:0x9932ccff,DARKRED:0x8b0000ff,DARKSALMON:0xe9967aff,DARKSEAGREEN:0x8fbc8fff,DARKSLATEBLUE:0x483d8bff,DARKSLATEGRAY:0x2f4f4fff,DARKSLATEGREY:0x2f4f4fff,DARKTURQUOISE:0xced1ff,DARKVIOLET:0x9400d3ff,DEEPPINK:0xff1493ff,DEEPSKYBLUE:0xbfffff,DIMGRAY:0x696969ff,DIMGREY:0x696969ff,DODGERBLUE:0x1e90ffff,FIREBRICK:0xb22222ff,FLORALWHITE:0xfffaf0ff,FORESTGREEN:0x228b22ff,FUCHSIA:0xff00ffff,GAINSBORO:0xdcdcdcff,GHOSTWHITE:0xf8f8ffff,GOLD:0xffd700ff,GOLDENROD:0xdaa520ff,GRAY:0x808080ff,GREEN:8388863,GREENYELLOW:0xadff2fff,GREY:0x808080ff,HONEYDEW:0xf0fff0ff,HOTPINK:0xff69b4ff,INDIANRED:0xcd5c5cff,INDIGO:0x4b0082ff,IVORY:0xfffff0ff,KHAKI:0xf0e68cff,LAVENDER:0xe6e6faff,LAVENDERBLUSH:0xfff0f5ff,LAWNGREEN:0x7cfc00ff,LEMONCHIFFON:0xfffacdff,LIGHTBLUE:0xadd8e6ff,LIGHTCORAL:0xf08080ff,LIGHTCYAN:0xe0ffffff,LIGHTGOLDENRODYELLOW:0xfafad2ff,LIGHTGRAY:0xd3d3d3ff,LIGHTGREEN:0x90ee90ff,LIGHTGREY:0xd3d3d3ff,LIGHTPINK:0xffb6c1ff,LIGHTSALMON:0xffa07aff,LIGHTSEAGREEN:0x20b2aaff,LIGHTSKYBLUE:0x87cefaff,LIGHTSLATEGRAY:0x778899ff,LIGHTSLATEGREY:0x778899ff,LIGHTSTEELBLUE:0xb0c4deff,LIGHTYELLOW:0xffffe0ff,LIME:0xff00ff,LIMEGREEN:0x32cd32ff,LINEN:0xfaf0e6ff,MAGENTA:0xff00ffff,MAROON:0x800000ff,MEDIUMAQUAMARINE:0x66cdaaff,MEDIUMBLUE:52735,MEDIUMORCHID:0xba55d3ff,MEDIUMPURPLE:0x9370dbff,MEDIUMSEAGREEN:0x3cb371ff,MEDIUMSLATEBLUE:0x7b68eeff,MEDIUMSPRINGGREEN:0xfa9aff,MEDIUMTURQUOISE:0x48d1ccff,MEDIUMVIOLETRED:0xc71585ff,MIDNIGHTBLUE:0x191970ff,MINTCREAM:0xf5fffaff,MISTYROSE:0xffe4e1ff,MOCCASIN:0xffe4b5ff,NAVAJOWHITE:0xffdeadff,NAVY:33023,OLDLACE:0xfdf5e6ff,OLIVE:0x808000ff,OLIVEDRAB:0x6b8e23ff,ORANGE:0xffa500ff,ORANGERED:0xff4500ff,ORCHID:0xda70d6ff,PALEGOLDENROD:0xeee8aaff,PALEGREEN:0x98fb98ff,PALETURQUOISE:0xafeeeeff,PALEVIOLETRED:0xdb7093ff,PAPAYAWHIP:0xffefd5ff,PEACHPUFF:0xffdab9ff,PERU:0xcd853fff,PINK:0xffc0cbff,PLUM:0xdda0ddff,POWDERBLUE:0xb0e0e6ff,PURPLE:0x800080ff,REBECCAPURPLE:0x663399ff,RED:0xff0000ff,ROSYBROWN:0xbc8f8fff,ROYALBLUE:0x4169e1ff,SADDLEBROWN:0x8b4513ff,SALMON:0xfa8072ff,SANDYBROWN:0xf4a460ff,SEAGREEN:0x2e8b57ff,SEASHELL:0xfff5eeff,SIENNA:0xa0522dff,SILVER:0xc0c0c0ff,SKYBLUE:0x87ceebff,SLATEBLUE:0x6a5acdff,SLATEGRAY:0x708090ff,SLATEGREY:0x708090ff,SNOW:0xfffafaff,SPRINGGREEN:0xff7fff,STEELBLUE:0x4682b4ff,TAN:0xd2b48cff,TEAL:8421631,THISTLE:0xd8bfd8ff,TOMATO:0xff6347ff,TRANSPARENT:0,TURQUOISE:0x40e0d0ff,VIOLET:0xee82eeff,WHEAT:0xf5deb3ff,WHITE:0xffffffff,WHITESMOKE:0xf5f5f5ff,YELLOW:0xffff00ff,YELLOWGREEN:0x9acd32ff},og={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(rW(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},om={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},of=function(e,t){var A=on(e,t[0]),n=t[1];return n&&r0(n)?{color:A,stop:n}:{color:A,stop:null}},oh=function(e,t){var A=e[0],n=e[e.length-1];null===A.stop&&(A.stop=r3),null===n.stop&&(n.stop=r2);for(var r=[],o=0,i=0;i<e.length;i++){var a=e[i].stop;if(null!==a){var s=r9(a,t);s>o?r.push(s):r.push(o),o=s}else r.push(null)}for(var l=null,i=0;i<r.length;i++){var c=r[i];if(null===c)null===l&&(l=i);else if(null!==l){for(var u=i-l,d=(c-r[l-1])/(u+1),p=1;p<=u;p++)r[l+p-1]=d*p;l=null}}return e.map(function(e,A){return{color:e.color,stop:Math.max(Math.min(1,r[A]/t),0)}})},ow=function(e,t,A){var n=t/2,r=A/2,o=r9(e[0],t)-n;return(Math.atan2(r-r9(e[1],A),o)+2*Math.PI)%(2*Math.PI)},oB=function(e,t,A){var n="number"==typeof e?e:ow(e,t,A),r=Math.abs(t*Math.sin(n))+Math.abs(A*Math.cos(n)),o=t/2,i=A/2,a=r/2,s=Math.sin(n-Math.PI/2)*a,l=Math.cos(n-Math.PI/2)*a;return[r,o-l,o+l,i-s,i+s]},oy=function(e,t){return Math.sqrt(e*e+t*t)},ov=function(e,t,A,n,r){return[[0,0],[0,t],[e,0],[e,t]].reduce(function(e,t){var o=oy(A-t[0],n-t[1]);return(r?o<e.optimumDistance:o>e.optimumDistance)?{optimumCorner:t,optimumDistance:o}:e},{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},oC=function(e,t,A,n,r){var o=0,i=0;switch(e.size){case 0:0===e.shape?o=i=Math.min(Math.abs(t),Math.abs(t-n),Math.abs(A),Math.abs(A-r)):1===e.shape&&(o=Math.min(Math.abs(t),Math.abs(t-n)),i=Math.min(Math.abs(A),Math.abs(A-r)));break;case 2:if(0===e.shape)o=i=Math.min(oy(t,A),oy(t,A-r),oy(t-n,A),oy(t-n,A-r));else if(1===e.shape){var a=Math.min(Math.abs(A),Math.abs(A-r))/Math.min(Math.abs(t),Math.abs(t-n)),s=ov(n,r,t,A,!0),l=s[0],c=s[1];o=oy(l-t,(c-A)/a),i=a*o}break;case 1:0===e.shape?o=i=Math.max(Math.abs(t),Math.abs(t-n),Math.abs(A),Math.abs(A-r)):1===e.shape&&(o=Math.max(Math.abs(t),Math.abs(t-n)),i=Math.max(Math.abs(A),Math.abs(A-r)));break;case 3:if(0===e.shape)o=i=Math.max(oy(t,A),oy(t,A-r),oy(t-n,A),oy(t-n,A-r));else if(1===e.shape){var a=Math.max(Math.abs(A),Math.abs(A-r))/Math.max(Math.abs(t),Math.abs(t-n)),u=ov(n,r,t,A,!1),l=u[0],c=u[1];o=oy(l-t,(c-A)/a),i=a*o}}return Array.isArray(e.size)&&(o=r9(e.size[0],n),i=2===e.size.length?r9(e.size[1],r):o),[o,i]},oS=function(e,t){var A=oA(180),n=[];return rq(t).forEach(function(t,r){if(0===r){var o=t[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value)){A=ot(t);return}if(oe(o)){A=(r7(e,o)+oA(270))%oA(360);return}}var i=of(e,t);n.push(i)}),{angle:A,stops:n,type:1}},oE="closest-side",oI="farthest-side",ob="closest-corner",oU="farthest-corner",oF="circle",oQ="ellipse",oT="cover",oD="contain",oO=function(e,t){var A=0,n=3,r=[],o=[];return rq(t).forEach(function(t,i){var a=!0;if(0===i?a=t.reduce(function(e,t){if(rW(t))switch(t.value){case"center":return o.push(r4),!1;case"top":case"left":return o.push(r3),!1;case"right":case"bottom":return o.push(r2),!1}else if(r0(t)||rZ(t))return o.push(t),!1;return e},a):1===i&&(a=t.reduce(function(e,t){if(rW(t))switch(t.value){case oF:return A=0,!1;case oQ:return A=1,!1;case oD:case oE:return n=0,!1;case oI:return n=1,!1;case ob:return n=2,!1;case oT:case oU:return n=3,!1}else if(rZ(t)||r0(t))return Array.isArray(n)||(n=[]),n.push(t),!1;return e},a)),a){var s=of(e,t);r.push(s)}}),{size:n,shape:A,stops:r,position:o,type:2}},oM=function(e,t){if(22===t.type){var A={url:t.value,type:0};return e.cache.addImage(t.value),A}if(18===t.type){var n=ox[t.name];if(void 0===n)throw Error('Attempting to parse an unsupported image function "'+t.name+'"');return n(e,t.values)}throw Error("Unsupported image type "+t.type)},ox={"linear-gradient":function(e,t){var A=oA(180),n=[];return rq(t).forEach(function(t,r){if(0===r){var o=t[0];if(20===o.type&&"to"===o.value){A=ot(t);return}if(oe(o)){A=r7(e,o);return}}var i=of(e,t);n.push(i)}),{angle:A,stops:n,type:1}},"-moz-linear-gradient":oS,"-ms-linear-gradient":oS,"-o-linear-gradient":oS,"-webkit-linear-gradient":oS,"radial-gradient":function(e,t){var A=0,n=3,r=[],o=[];return rq(t).forEach(function(t,i){var a=!0;if(0===i){var s=!1;a=t.reduce(function(e,t){if(s)if(rW(t))switch(t.value){case"center":o.push(r4);break;case"top":case"left":o.push(r3);break;case"right":case"bottom":o.push(r2)}else(r0(t)||rZ(t))&&o.push(t);else if(rW(t))switch(t.value){case oF:return A=0,!1;case oQ:return A=1,!1;case"at":return s=!0,!1;case oE:return n=0,!1;case oT:case oI:return n=1,!1;case oD:case ob:return n=2,!1;case oU:return n=3,!1}else if(rZ(t)||r0(t))return Array.isArray(n)||(n=[]),n.push(t),!1;return e},a)}if(a){var l=of(e,t);r.push(l)}}),{size:n,shape:A,stops:r,position:o,type:2}},"-moz-radial-gradient":oO,"-ms-radial-gradient":oO,"-o-radial-gradient":oO,"-webkit-radial-gradient":oO,"-webkit-gradient":function(e,t){var A=oA(180),n=[],r=1;return rq(t).forEach(function(t,A){var o=t[0];if(0===A){if(rW(o)&&"linear"===o.value){r=1;return}else if(rW(o)&&"radial"===o.value){r=2;return}}if(18===o.type){if("from"===o.name){var i=on(e,o.values[0]);n.push({stop:r3,color:i})}else if("to"===o.name){var i=on(e,o.values[0]);n.push({stop:r2,color:i})}else if("color-stop"===o.name){var a=o.values.filter(rJ);if(2===a.length){var i=on(e,a[1]),s=a[0];rj(s)&&n.push({stop:{type:16,number:100*s.number,flags:s.flags},color:i})}}}}),1===r?{angle:(A+oA(180))%oA(360),stops:n,type:r}:{size:3,shape:0,stops:n,position:[],type:r}}},oL={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var A=t[0];return 20===A.type&&"none"===A.value?[]:t.filter(function(e){var t;return rJ(e)&&(20!==(t=e).type||"none"!==t.value)&&(18!==t.type||!!ox[t.name])}).map(function(t){return oM(e,t)})}},oR={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(rW(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},oV={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return rq(t).map(function(e){return e.filter(r0)}).map(r1)}},oN={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return rq(t).map(function(e){return e.filter(rW).map(function(e){return e.value}).join(" ")}).map(oH)}},oH=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};(s=S||(S={})).AUTO="auto",s.CONTAIN="contain",s.COVER="cover";var o_={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return rq(t).map(function(e){return e.filter(ok)})}},ok=function(e){return rW(e)||r0(e)},oP=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},oG=oP("top"),oK=oP("right"),oj=oP("bottom"),oW=oP("left"),oY=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return r1(t.filter(r0))}}},oz=oY("top-left"),oX=oY("top-right"),oJ=oY("bottom-right"),oq=oY("bottom-left"),o$=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},oZ=o$("top"),o0=o$("right"),o1=o$("bottom"),o3=o$("left"),o4=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return rK(t)?t.number:0}}},o2=o4("top"),o6=o4("right"),o9=o4("bottom"),o8=o4("left"),o5={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},o7={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return+("rtl"===t)}},ie={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(rW).reduce(function(e,t){return e|it(t.value)},0)}},it=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 0x1000000;case"inline-block":return 0x2000000;case"inline-list-item":return 0x4000000;case"inline-table":return 0x8000000;case"inline-flex":return 0x10000000;case"inline-grid":return 0x20000000}return 0},iA={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},ir={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};(l=E||(E={})).NORMAL="normal",l.STRICT="strict";var io={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?E.STRICT:E.NORMAL}},ii={name:"line-height",initialValue:"normal",prefix:!1,type:4},ia=function(e,t){return rW(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:r0(e)?r9(e,t):t},is={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:oM(e,t)}},il={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return+("inside"!==t)}},ic={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return -1}}},iu=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},id=iu("top"),ip=iu("right"),ig=iu("bottom"),im=iu("left"),ih={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(rW).map(function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},iw={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},iB=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},iy=iB("top"),iv=iB("right"),iC=iB("bottom"),iS=iB("left"),iE={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},iI={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},ib={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&rz(t[0],"none")?[]:rq(t).map(function(t){for(var A={color:op.TRANSPARENT,offsetX:r3,offsetY:r3,blur:r3},n=0,r=0;r<t.length;r++){var o=t[r];rZ(o)?(0===n?A.offsetX=o:1===n?A.offsetY=o:A.blur=o,n++):A.color=on(e,o)}return A})}},iU={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},iF={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(e,t){if(20===t.type&&"none"===t.value)return null;if(18===t.type){var A=iQ[t.name];if(void 0===A)throw Error('Attempting to parse an unsupported transform function "'+t.name+'"');return A(t.values)}return null}},iQ={matrix:function(e){var t=e.filter(function(e){return 17===e.type}).map(function(e){return e.number});return 6===t.length?t:null},matrix3d:function(e){var t=e.filter(function(e){return 17===e.type}).map(function(e){return e.number}),A=t[0],n=t[1];t[2],t[3];var r=t[4],o=t[5];t[6],t[7],t[8],t[9],t[10],t[11];var i=t[12],a=t[13];return t[14],t[15],16===t.length?[A,n,r,o,i,a]:null}},iT={type:16,number:50,flags:4},iD=[iT,iT],iO={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(e,t){var A=t.filter(r0);return 2!==A.length?iD:[A[0],A[1]]}},iM={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"hidden":return 1;case"collapse":return 2;default:return 0}}};(c=I||(I={})).NORMAL="normal",c.BREAK_ALL="break-all",c.KEEP_ALL="keep-all";for(var ix={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){switch(t){case"break-all":return I.BREAK_ALL;case"keep-all":return I.KEEP_ALL;default:return I.NORMAL}}},iL={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(e,t){if(20===t.type)return{auto:!0,order:0};if(rj(t))return{auto:!1,order:t.number};throw Error("Invalid z-index number parsed")}},iR=function(e,t){if(15===t.type)switch(t.unit.toLowerCase()){case"s":return 1e3*t.number;case"ms":return t.number}throw Error("Unsupported time type")},iV={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(e,t){return rj(t)?t.number:1}},iN={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},iH={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(e,t){return t.filter(rW).map(function(e){switch(e.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(e){return 0!==e})}},i_={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(e,t){var A=[],n=[];return t.forEach(function(e){switch(e.type){case 20:case 0:A.push(e.value);break;case 17:A.push(e.number.toString());break;case 4:n.push(A.join(" ")),A.length=0}}),A.length&&n.push(A.join(" ")),n.map(function(e){return -1===e.indexOf(" ")?e:"'"+e+"'"})}},ik={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},iP={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(e,t){return rj(t)?t.number:rW(t)&&"bold"===t.value?700:400}},iG={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return t.filter(rW).map(function(e){return e.value})}},iK={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){switch(t){case"oblique":return"oblique";case"italic":return"italic";default:return"normal"}}},ij=function(e,t){return(e&t)!=0},iW={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var A=t[0];return 20===A.type&&"none"===A.value?[]:t}},iY={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(e,t){if(0===t.length)return null;var A=t[0];if(20===A.type&&"none"===A.value)return null;for(var n=[],r=t.filter(rX),o=0;o<r.length;o++){var i=r[o],a=r[o+1];if(20===i.type){var s=a&&rj(a)?a.number:1;n.push({counter:i.value,increment:s})}}return n}},iz={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(e,t){if(0===t.length)return[];for(var A=[],n=t.filter(rX),r=0;r<n.length;r++){var o=n[r],i=n[r+1];if(rW(o)&&"none"!==o.value){var a=i&&rj(i)?i.number:0;A.push({counter:o.value,reset:a})}}return A}},iX={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(e,t){return t.filter(rK).map(function(t){return iR(e,t)})}},iJ={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(e,t){if(0===t.length)return null;var A=t[0];if(20===A.type&&"none"===A.value)return null;var n=[],r=t.filter(rY);if(r.length%2!=0)return null;for(var o=0;o<r.length;o+=2){var i=r[o].value,a=r[o+1].value;n.push({open:i,close:a})}return n}},iq=function(e,t,A){if(!e)return"";var n=e[Math.min(t,e.length-1)];return n?A?n.open:n.close:""},i$={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&rz(t[0],"none")?[]:rq(t).map(function(t){for(var A={color:255,offsetX:r3,offsetY:r3,blur:r3,spread:r3,inset:!1},n=0,r=0;r<t.length;r++){var o=t[r];rz(o,"inset")?A.inset=!0:rZ(o)?(0===n?A.offsetX=o:1===n?A.offsetY=o:2===n?A.blur=o:A.spread=o,n++):A.color=on(e,o)}return A})}},iZ={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(e,t){var A=[];return t.filter(rW).forEach(function(e){switch(e.value){case"stroke":A.push(1);break;case"fill":A.push(0);break;case"markers":A.push(2)}}),[0,1,2].forEach(function(e){-1===A.indexOf(e)&&A.push(e)}),A}},i0={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},i1={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return rK(t)?t.number:0}},i3=function(){function e(e,t){this.animationDuration=i6(e,iX,t.animationDuration),this.backgroundClip=i6(e,og,t.backgroundClip),this.backgroundColor=i6(e,om,t.backgroundColor),this.backgroundImage=i6(e,oL,t.backgroundImage),this.backgroundOrigin=i6(e,oR,t.backgroundOrigin),this.backgroundPosition=i6(e,oV,t.backgroundPosition),this.backgroundRepeat=i6(e,oN,t.backgroundRepeat),this.backgroundSize=i6(e,o_,t.backgroundSize),this.borderTopColor=i6(e,oG,t.borderTopColor),this.borderRightColor=i6(e,oK,t.borderRightColor),this.borderBottomColor=i6(e,oj,t.borderBottomColor),this.borderLeftColor=i6(e,oW,t.borderLeftColor),this.borderTopLeftRadius=i6(e,oz,t.borderTopLeftRadius),this.borderTopRightRadius=i6(e,oX,t.borderTopRightRadius),this.borderBottomRightRadius=i6(e,oJ,t.borderBottomRightRadius),this.borderBottomLeftRadius=i6(e,oq,t.borderBottomLeftRadius),this.borderTopStyle=i6(e,oZ,t.borderTopStyle),this.borderRightStyle=i6(e,o0,t.borderRightStyle),this.borderBottomStyle=i6(e,o1,t.borderBottomStyle),this.borderLeftStyle=i6(e,o3,t.borderLeftStyle),this.borderTopWidth=i6(e,o2,t.borderTopWidth),this.borderRightWidth=i6(e,o6,t.borderRightWidth),this.borderBottomWidth=i6(e,o9,t.borderBottomWidth),this.borderLeftWidth=i6(e,o8,t.borderLeftWidth),this.boxShadow=i6(e,i$,t.boxShadow),this.color=i6(e,o5,t.color),this.direction=i6(e,o7,t.direction),this.display=i6(e,ie,t.display),this.float=i6(e,iA,t.cssFloat),this.fontFamily=i6(e,i_,t.fontFamily),this.fontSize=i6(e,ik,t.fontSize),this.fontStyle=i6(e,iK,t.fontStyle),this.fontVariant=i6(e,iG,t.fontVariant),this.fontWeight=i6(e,iP,t.fontWeight),this.letterSpacing=i6(e,ir,t.letterSpacing),this.lineBreak=i6(e,io,t.lineBreak),this.lineHeight=i6(e,ii,t.lineHeight),this.listStyleImage=i6(e,is,t.listStyleImage),this.listStylePosition=i6(e,il,t.listStylePosition),this.listStyleType=i6(e,ic,t.listStyleType),this.marginTop=i6(e,id,t.marginTop),this.marginRight=i6(e,ip,t.marginRight),this.marginBottom=i6(e,ig,t.marginBottom),this.marginLeft=i6(e,im,t.marginLeft),this.opacity=i6(e,iV,t.opacity);var A,n,r=i6(e,ih,t.overflow);this.overflowX=r[0],this.overflowY=r[+(r.length>1)],this.overflowWrap=i6(e,iw,t.overflowWrap),this.paddingTop=i6(e,iy,t.paddingTop),this.paddingRight=i6(e,iv,t.paddingRight),this.paddingBottom=i6(e,iC,t.paddingBottom),this.paddingLeft=i6(e,iS,t.paddingLeft),this.paintOrder=i6(e,iZ,t.paintOrder),this.position=i6(e,iI,t.position),this.textAlign=i6(e,iE,t.textAlign),this.textDecorationColor=i6(e,iN,null!=(A=t.textDecorationColor)?A:t.color),this.textDecorationLine=i6(e,iH,null!=(n=t.textDecorationLine)?n:t.textDecoration),this.textShadow=i6(e,ib,t.textShadow),this.textTransform=i6(e,iU,t.textTransform),this.transform=i6(e,iF,t.transform),this.transformOrigin=i6(e,iO,t.transformOrigin),this.visibility=i6(e,iM,t.visibility),this.webkitTextStrokeColor=i6(e,i0,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=i6(e,i1,t.webkitTextStrokeWidth),this.wordBreak=i6(e,ix,t.wordBreak),this.zIndex=i6(e,iL,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return or(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return ij(this.display,4)||ij(this.display,0x2000000)||ij(this.display,0x10000000)||ij(this.display,0x20000000)||ij(this.display,0x4000000)||ij(this.display,0x8000000)},e}(),i4=function(e,t){this.content=i6(e,iW,t.content),this.quotes=i6(e,iJ,t.quotes)},i2=function(e,t){this.counterIncrement=i6(e,iY,t.counterIncrement),this.counterReset=i6(e,iz,t.counterReset)},i6=function(e,t,A){var n=new rP,r=null!=A?A.toString():t.initialValue;n.write(r);var o=new rG(n.read());switch(t.type){case 2:var i=o.parseComponentValue();return t.parse(e,rW(i)?i.value:t.initialValue);case 0:return t.parse(e,o.parseComponentValue());case 1:return t.parse(e,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(t.format){case"angle":return r7(e,o.parseComponentValue());case"color":return on(e,o.parseComponentValue());case"image":return oM(e,o.parseComponentValue());case"length":var a=o.parseComponentValue();return rZ(a)?a:r3;case"length-percentage":var s=o.parseComponentValue();return r0(s)?s:r3;case"time":return iR(e,o.parseComponentValue())}}},i9=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},i8=function(e,t){var A=i9(e);return 1===A||t===A},i5=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,i8(t,3),this.styles=new i3(e,window.getComputedStyle(t,null)),sA(t)&&(this.styles.animationDuration.some(function(e){return e>0})&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=nG(this.context,t),i8(t,4)&&(this.flags|=16)},i7="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ae="u"<typeof Uint8Array?[]:new Uint8Array(256),at=0;at<i7.length;at++)ae[i7.charCodeAt(at)]=at;for(var aA=2112,an=function(e,t,A){return e.slice?e.slice(t,A):new Uint16Array(Array.prototype.slice.call(e,t,A))},ar=function(){function e(e,t,A,n,r,o){this.initialValue=e,this.errorValue=t,this.highStart=A,this.highValueIndex=n,this.index=r,this.data=o}return e.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e<this.highStart)return t=aA-32+(e>>11),t=this.index[t]+(e>>5&63),t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),ao="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ai="u"<typeof Uint8Array?[]:new Uint8Array(256),aa=0;aa<ao.length;aa++)ai[ao.charCodeAt(aa)]=aa;var as=function(e){for(var t=[],A=0,n=e.length;A<n;){var r=e.charCodeAt(A++);if(r>=55296&&r<=56319&&A<n){var o=e.charCodeAt(A++);(64512&o)==56320?t.push(((1023&r)<<10)+(1023&o)+65536):(t.push(r),A--)}else t.push(r)}return t},al=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var A=e.length;if(!A)return"";for(var n=[],r=-1,o="";++r<A;){var i=e[r];i<=65535?n.push(i):(i-=65536,n.push((i>>10)+55296,i%1024+56320)),(r+1===A||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},ac=(d=Array.isArray(u=function(e){var t,A,n,r,o,i=.75*e.length,a=e.length,s=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var l="u">typeof ArrayBuffer&&"u">typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):Array(i),c=Array.isArray(l)?l:new Uint8Array(l);for(t=0;t<a;t+=4)A=ae[e.charCodeAt(t)],n=ae[e.charCodeAt(t+1)],r=ae[e.charCodeAt(t+2)],o=ae[e.charCodeAt(t+3)],c[s++]=A<<2|n>>4,c[s++]=(15&n)<<4|r>>2,c[s++]=(3&r)<<6|63&o;return l}("AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA="))?function(e){for(var t=e.length,A=[],n=0;n<t;n+=4)A.push(e[n+3]<<24|e[n+2]<<16|e[n+1]<<8|e[n]);return A}(u):new Uint32Array(u),g=an(p=Array.isArray(u)?function(e){for(var t=e.length,A=[],n=0;n<t;n+=2)A.push(e[n+1]<<8|e[n]);return A}(u):new Uint16Array(u),12,d[4]/2),f=2===d[5]?an(p,(24+d[4])/2):(m=Math.ceil((24+d[4])/4),d.slice?d.slice(m,void 0):new Uint32Array(Array.prototype.slice.call(d,m,void 0))),new ar(d[0],d[1],d[2],d[3],g,f)),au=function(e){return ac.get(e)},ad=function(e,t,A){var n=A-2,r=t[n],o=t[A-1],i=t[A];if(2===o&&3===i)return"\xd7";if(2===o||3===o||4===o||2===i||3===i||4===i)return"\xf7";if(8===o&&-1!==[8,9,11,12].indexOf(i)||(11===o||9===o)&&(9===i||10===i)||(12===o||10===o)&&10===i||13===i||5===i||7===i||1===o)return"\xd7";if(13===o&&14===i){for(;5===r;)r=t[--n];if(14===r)return"\xd7"}if(15===o&&15===i){for(var a=0;15===r;)a++,r=t[--n];if(a%2==0)return"\xd7"}return"\xf7"},ap=function(e){var t=as(e),A=t.length,n=0,r=0,o=t.map(au);return{next:function(){if(n>=A)return{done:!0,value:null};for(var e="\xd7";n<A&&"\xd7"===(e=ad(t,o,++n)););if("\xd7"!==e||n===A){var i=al.apply(null,t.slice(r,n));return r=n,{value:i,done:!1}}return{done:!0,value:null}}}},ag=function(e){for(var t,A=ap(e),n=[];!(t=A.next()).done;)t.value&&n.push(t.value.slice());return n},am=function(e){if(e.createRange){var t=e.createRange();if(t.getBoundingClientRect){var A=e.createElement("boundtest");A.style.height="123px",A.style.display="block",e.body.appendChild(A),t.selectNode(A);var n=Math.round(t.getBoundingClientRect().height);if(e.body.removeChild(A),123===n)return!0}}return!1},af=function(e){var t=e.createElement("boundtest");t.style.width="50px",t.style.display="block",t.style.fontSize="12px",t.style.letterSpacing="0px",t.style.wordSpacing="0px",e.body.appendChild(t);var A=e.createRange();t.innerHTML="function"==typeof"".repeat?"👨".repeat(10):"";var n=t.firstChild,r=nj(n.data).map(function(e){return nW(e)}),o=0,i={},a=r.every(function(e,t){A.setStart(n,o),A.setEnd(n,o+e.length);var r=A.getBoundingClientRect();o+=e.length;var a=r.x>i.x||r.y>i.y;return i=r,0===t||a});return e.body.removeChild(t),a},ah=function(e){var t=new Image,A=e.createElement("canvas"),n=A.getContext("2d");if(!n)return!1;t.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{n.drawImage(t,0,0),A.toDataURL()}catch(e){return!1}return!0},aw=function(e){return 0===e[0]&&255===e[1]&&0===e[2]&&255===e[3]},aB=function(e){var t=e.createElement("canvas");t.width=100,t.height=100;var A=t.getContext("2d");if(!A)return Promise.reject(!1);A.fillStyle="rgb(0, 255, 0)",A.fillRect(0,0,100,100);var n=new Image,r=t.toDataURL();n.src=r;var o=ay(100,100,0,0,n);return A.fillStyle="red",A.fillRect(0,0,100,100),av(o).then(function(t){A.drawImage(t,0,0);var n=A.getImageData(0,0,100,100).data;A.fillStyle="red",A.fillRect(0,0,100,100);var o=e.createElement("div");return o.style.backgroundImage="url("+r+")",o.style.height="100px",aw(n)?av(ay(100,100,0,0,o)):Promise.reject(!1)}).then(function(e){return A.drawImage(e,0,0),aw(A.getImageData(0,0,100,100).data)}).catch(function(){return!1})},ay=function(e,t,A,n,r){var o="http://www.w3.org/2000/svg",i=document.createElementNS(o,"svg"),a=document.createElementNS(o,"foreignObject");return i.setAttributeNS(null,"width",e.toString()),i.setAttributeNS(null,"height",t.toString()),a.setAttributeNS(null,"width","100%"),a.setAttributeNS(null,"height","100%"),a.setAttributeNS(null,"x",A.toString()),a.setAttributeNS(null,"y",n.toString()),a.setAttributeNS(null,"externalResourcesRequired","true"),i.appendChild(a),a.appendChild(r),i},av=function(e){return new Promise(function(t,A){var n=new Image;n.onload=function(){return t(n)},n.onerror=A,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},aC={get SUPPORT_RANGE_BOUNDS(){var aS=am(document);return Object.defineProperty(aC,"SUPPORT_RANGE_BOUNDS",{value:aS}),aS},get SUPPORT_WORD_BREAKING(){var aE=aC.SUPPORT_RANGE_BOUNDS&&af(document);return Object.defineProperty(aC,"SUPPORT_WORD_BREAKING",{value:aE}),aE},get SUPPORT_SVG_DRAWING(){var aI=ah(document);return Object.defineProperty(aC,"SUPPORT_SVG_DRAWING",{value:aI}),aI},get SUPPORT_FOREIGNOBJECT_DRAWING(){var ab="function"==typeof Array.from&&"function"==typeof window.fetch?aB(document):Promise.resolve(!1);return Object.defineProperty(aC,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:ab}),ab},get SUPPORT_CORS_IMAGES(){var aU=void 0!==new Image().crossOrigin;return Object.defineProperty(aC,"SUPPORT_CORS_IMAGES",{value:aU}),aU},get SUPPORT_RESPONSE_TYPE(){var aF="string"==typeof new XMLHttpRequest().responseType;return Object.defineProperty(aC,"SUPPORT_RESPONSE_TYPE",{value:aF}),aF},get SUPPORT_CORS_XHR(){var aQ="withCredentials"in new XMLHttpRequest;return Object.defineProperty(aC,"SUPPORT_CORS_XHR",{value:aQ}),aQ},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var aT=!!("u">typeof Intl&&Intl.Segmenter);return Object.defineProperty(aC,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:aT}),aT}},aD=function(e,t){this.text=e,this.bounds=t},aO=function(e,t,A,n){var r=aR(t,A),o=[],i=0;return r.forEach(function(t){if(A.textDecorationLine.length||t.trim().length>0)if(aC.SUPPORT_RANGE_BOUNDS){var r=ax(n,i,t.length).getClientRects();if(r.length>1){var a=aL(t),s=0;a.forEach(function(t){o.push(new aD(t,nP.fromDOMRectList(e,ax(n,s+i,t.length).getClientRects()))),s+=t.length})}else o.push(new aD(t,nP.fromDOMRectList(e,r)))}else{var l=n.splitText(t.length);o.push(new aD(t,aM(e,n))),n=l}else aC.SUPPORT_RANGE_BOUNDS||(n=n.splitText(t.length));i+=t.length}),o},aM=function(e,t){var A=t.ownerDocument;if(A){var n=A.createElement("html2canvaswrapper");n.appendChild(t.cloneNode(!0));var r=t.parentNode;if(r){r.replaceChild(n,t);var o=nG(e,n);return n.firstChild&&r.replaceChild(n.firstChild,n),o}}return nP.EMPTY},ax=function(e,t,A){var n=e.ownerDocument;if(!n)throw Error("Node has no owner document");var r=n.createRange();return r.setStart(e,t),r.setEnd(e,t+A),r},aL=function(e){return aC.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e)).map(function(e){return e.segment}):ag(e)},aR=function(e,t){return 0!==t.letterSpacing?aL(e):aC.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"word"}).segment(e)).map(function(e){return e.segment}):aN(e,t)},aV=[32,160,4961,65792,65793,4153,4241],aN=function(e,t){for(var A,n=rc(e,{lineBreak:t.lineBreak,wordBreak:"break-word"===t.overflowWrap?"break-word":t.wordBreak}),r=[];!(A=n.next()).done;)!function(){if(A.value){var e=nj(A.value.slice()),t="";e.forEach(function(e){-1===aV.indexOf(e)?t+=nW(e):(t.length&&r.push(t),r.push(nW(e)),t="")}),t.length&&r.push(t)}}();return r},aH=function(e,t,A){this.text=a_(t.data,A.textTransform),this.textBounds=aO(e,this.text,A,t)},a_=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(ak,aP);case 2:return e.toUpperCase();default:return e}},ak=/(^|\s|:|-|\(|\))([a-z])/g,aP=function(e,t,A){return e.length>0?t+A.toUpperCase():e},aG=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.src=A.currentSrc||A.src,n.intrinsicWidth=A.naturalWidth,n.intrinsicHeight=A.naturalHeight,n.context.cache.addImage(n.src),n}return nV(t,e),t}(i5),aK=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.canvas=A,n.intrinsicWidth=A.width,n.intrinsicHeight=A.height,n}return nV(t,e),t}(i5),aj=function(e){function t(t,A){var n=e.call(this,t,A)||this,r=new XMLSerializer,o=nG(t,A);return A.setAttribute("width",o.width+"px"),A.setAttribute("height",o.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(A)),n.intrinsicWidth=A.width.baseVal.value,n.intrinsicHeight=A.height.baseVal.value,n.context.cache.addImage(n.svg),n}return nV(t,e),t}(i5),aW=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.value=A.value,n}return nV(t,e),t}(i5),aY=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.start=A.start,n.reversed="boolean"==typeof A.reversed&&!0===A.reversed,n}return nV(t,e),t}(i5),az=[{type:15,flags:0,unit:"px",number:3}],aX=[{type:16,flags:0,number:50}],aJ=function(e){var t=e.type===aZ?Array(e.value.length+1).join("•"):e.value;return 0===t.length?e.placeholder||"":t},aq="checkbox",a$="radio",aZ="password",a0=function(e){function t(t,A){var n,r=e.call(this,t,A)||this;switch(r.type=A.type.toLowerCase(),r.checked=A.checked,r.value=aJ(A),(r.type===aq||r.type===a$)&&(r.styles.backgroundColor=0xdededeff,r.styles.borderTopColor=r.styles.borderRightColor=r.styles.borderBottomColor=r.styles.borderLeftColor=0xa5a5a5ff,r.styles.borderTopWidth=r.styles.borderRightWidth=r.styles.borderBottomWidth=r.styles.borderLeftWidth=1,r.styles.borderTopStyle=r.styles.borderRightStyle=r.styles.borderBottomStyle=r.styles.borderLeftStyle=1,r.styles.backgroundClip=[0],r.styles.backgroundOrigin=[0],r.bounds=(n=r.bounds).width>n.height?new nP(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width<n.height?new nP(n.left,n.top+(n.height-n.width)/2,n.width,n.width):n),r.type){case aq:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=az;break;case a$:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=aX}return r}return nV(t,e),t}(i5),a1=function(e){function t(t,A){var n=e.call(this,t,A)||this,r=A.options[A.selectedIndex||0];return n.value=r&&r.text||"",n}return nV(t,e),t}(i5),a3=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.value=A.value,n}return nV(t,e),t}(i5),a4=function(e){function t(t,A){var n=e.call(this,t,A)||this;n.src=A.src,n.width=parseInt(A.width,10)||0,n.height=parseInt(A.height,10)||0,n.backgroundColor=n.styles.backgroundColor;try{if(A.contentWindow&&A.contentWindow.document&&A.contentWindow.document.documentElement){n.tree=a8(t,A.contentWindow.document.documentElement);var r=A.contentWindow.document.documentElement?od(t,getComputedStyle(A.contentWindow.document.documentElement).backgroundColor):op.TRANSPARENT,o=A.contentWindow.document.body?od(t,getComputedStyle(A.contentWindow.document.body).backgroundColor):op.TRANSPARENT;n.backgroundColor=or(r)?or(o)?n.styles.backgroundColor:o:r}}catch(e){}return n}return nV(t,e),t}(i5),a2=["OL","UL","MENU"],a6=function(e,t,A,n){for(var r=t.firstChild,o=void 0;r;r=o)if(o=r.nextSibling,se(r)&&r.data.trim().length>0)A.textNodes.push(new aH(e,r,A.styles));else if(st(r))if(sf(r)&&r.assignedNodes)r.assignedNodes().forEach(function(t){return a6(e,t,A,n)});else{var i=a9(e,r);i.styles.isVisible()&&(a5(r,i,n)?i.flags|=4:a7(i.styles)&&(i.flags|=2),-1!==a2.indexOf(r.tagName)&&(i.flags|=8),A.elements.push(i),r.slot,r.shadowRoot?a6(e,r.shadowRoot,i,n):sg(r)||sa(r)||sm(r)||a6(e,r,i,n))}},a9=function(e,t){return su(t)?new aG(e,t):sl(t)?new aK(e,t):sa(t)?new aj(e,t):sr(t)?new aW(e,t):so(t)?new aY(e,t):si(t)?new a0(e,t):sm(t)?new a1(e,t):sg(t)?new a3(e,t):sd(t)?new a4(e,t):new i5(e,t)},a8=function(e,t){var A=a9(e,t);return A.flags|=4,a6(e,t,A,A),A},a5=function(e,t,A){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||ss(e)&&A.styles.isTransparent()},a7=function(e){return e.isPositioned()||e.isFloating()},se=function(e){return e.nodeType===Node.TEXT_NODE},st=function(e){return e.nodeType===Node.ELEMENT_NODE},sA=function(e){return st(e)&&void 0!==e.style&&!sn(e)},sn=function(e){return"object"==typeof e.className},sr=function(e){return"LI"===e.tagName},so=function(e){return"OL"===e.tagName},si=function(e){return"INPUT"===e.tagName},sa=function(e){return"svg"===e.tagName},ss=function(e){return"BODY"===e.tagName},sl=function(e){return"CANVAS"===e.tagName},sc=function(e){return"VIDEO"===e.tagName},su=function(e){return"IMG"===e.tagName},sd=function(e){return"IFRAME"===e.tagName},sp=function(e){return"STYLE"===e.tagName},sg=function(e){return"TEXTAREA"===e.tagName},sm=function(e){return"SELECT"===e.tagName},sf=function(e){return"SLOT"===e.tagName},sh=function(e){return e.tagName.indexOf("-")>0},sw=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var t=this;e.forEach(function(e){return t.counters[e].pop()})},e.prototype.parse=function(e){var t=this,A=e.counterIncrement,n=e.counterReset,r=!0;null!==A&&A.forEach(function(e){var A=t.counters[e.counter];A&&0!==e.increment&&(r=!1,A.length||A.push(1),A[Math.max(0,A.length-1)]+=e.increment)});var o=[];return r&&n.forEach(function(e){var A=t.counters[e.counter];o.push(e.counter),A||(A=t.counters[e.counter]=[]),A.push(e.reset)}),o},e}(),sB={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},sy={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},sv={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},sC={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},sS=function(e,t,A,n,r,o){return e<t||e>A?sO(e,r,o.length>0):n.integers.reduce(function(t,A,r){for(;e>=A;)e-=A,t+=n.values[r];return t},"")+o},sE=function(e,t,A,n){var r="";do!A&&e--,r=n(e)+r,e/=t;while(e*t>=t);return r},sI=function(e,t,A,n,r){var o=A-t+1;return(e<0?"-":"")+(sE(Math.abs(e),o,n,function(e){return nW(Math.floor(e%o)+t)})+r)},sb=function(e,t,A){void 0===A&&(A=". ");var n=t.length;return sE(Math.abs(e),n,!1,function(e){return t[Math.floor(e%n)]})+A},sU=function(e,t,A,n,r,o){if(e<-9999||e>9999)return sO(e,4,r.length>0);var i=Math.abs(e),a=r;if(0===i)return t[0]+a;for(var s=0;i>0&&s<=4;s++){var l=i%10;0===l&&ij(o,1)&&""!==a?a=t[l]+a:l>1||1===l&&0===s||1===l&&1===s&&ij(o,2)||1===l&&1===s&&ij(o,4)&&e>100||1===l&&s>1&&ij(o,8)?a=t[l]+(s>0?A[s-1]:"")+a:1===l&&s>0&&(a=A[s-1]+a),i=Math.floor(i/10)}return(e<0?n:"")+a},sF="十百千萬",sQ="拾佰仟萬",sT="マイナス",sD="마이너스",sO=function(e,t,A){var n=A?". ":"",r=A?"、":"",o=A?", ":"",i=A?" ":"";switch(t){case 0:return"•"+i;case 1:return"◦"+i;case 2:return"◾"+i;case 5:var a=sI(e,48,57,!0,n);return a.length<4?"0"+a:a;case 4:return sb(e,"〇一二三四五六七八九",r);case 6:return sS(e,1,3999,sB,3,n).toLowerCase();case 7:return sS(e,1,3999,sB,3,n);case 8:return sI(e,945,969,!1,n);case 9:return sI(e,97,122,!1,n);case 10:return sI(e,65,90,!1,n);case 11:return sI(e,1632,1641,!0,n);case 12:case 49:return sS(e,1,9999,sy,3,n);case 35:return sS(e,1,9999,sy,3,n).toLowerCase();case 13:return sI(e,2534,2543,!0,n);case 14:case 30:return sI(e,6112,6121,!0,n);case 15:return sb(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return sb(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return sU(e,"零一二三四五六七八九",sF,"負",r,14);case 47:return sU(e,"零壹貳參肆伍陸柒捌玖",sQ,"負",r,15);case 42:return sU(e,"零一二三四五六七八九",sF,"负",r,14);case 41:return sU(e,"零壹贰叁肆伍陆柒捌玖",sQ,"负",r,15);case 26:return sU(e,"〇一二三四五六七八九","十百千万",sT,r,0);case 25:return sU(e,"零壱弐参四伍六七八九","拾百千万",sT,r,7);case 31:return sU(e,"영일이삼사오육칠팔구","십백천만",sD,o,7);case 33:return sU(e,"零一二三四五六七八九","十百千萬",sD,o,0);case 32:return sU(e,"零壹貳參四五六七八九","拾百千",sD,o,7);case 18:return sI(e,2406,2415,!0,n);case 20:return sS(e,1,19999,sC,3,n);case 21:return sI(e,2790,2799,!0,n);case 22:return sI(e,2662,2671,!0,n);case 22:return sS(e,1,10999,sv,3,n);case 23:return sb(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return sb(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return sI(e,3302,3311,!0,n);case 28:return sb(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return sb(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return sI(e,3792,3801,!0,n);case 37:return sI(e,6160,6169,!0,n);case 38:return sI(e,4160,4169,!0,n);case 39:return sI(e,2918,2927,!0,n);case 40:return sI(e,1776,1785,!0,n);case 43:return sI(e,3046,3055,!0,n);case 44:return sI(e,3174,3183,!0,n);case 45:return sI(e,3664,3673,!0,n);case 46:return sI(e,3872,3881,!0,n);default:return sI(e,48,57,!0,n)}},sM="data-html2canvas-ignore",sx=function(){function e(e,t,A){if(this.context=e,this.options=A,this.scrolledElements=[],this.referenceElement=t,this.counters=new sw,this.quoteDepth=0,!t.ownerDocument)throw Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var A=this,n=sL(e,t);if(!n.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,o=e.defaultView.pageYOffset,i=n.contentWindow,a=i.document,s=sN(n).then(function(){return nH(A,void 0,void 0,function(){var e,A;return n_(this,function(r){switch(r.label){case 0:if(this.scrolledElements.forEach(sG),i&&(i.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(i.scrollY!==t.top||i.scrollX!==t.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(i.scrollX-t.left,i.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(A=this.clonedReferenceElement))return[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")];if(!(a.fonts&&a.fonts.ready))return[3,2];return[4,a.fonts.ready];case 1:r.sent(),r.label=2;case 2:if(!/(AppleWebKit)/g.test(navigator.userAgent))return[3,4];return[4,sV(a)];case 3:r.sent(),r.label=4;case 4:if("function"==typeof e)return[2,Promise.resolve().then(function(){return e(a,A)}).then(function(){return n})];return[2,n]}})})});return a.open(),a.write(sk(document.doctype)+"<html></html>"),sP(this.referenceElement.ownerDocument,r,o),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),s},e.prototype.createElementClone=function(e){if(i8(e,2),sl(e))return this.createCanvasClone(e);if(sc(e))return this.createVideoClone(e);if(sp(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return(su(t)&&(su(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),sh(t))?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return s_(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var A=[].slice.call(t.cssRules,0).reduce(function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e},""),n=e.cloneNode(!1);return n.textContent=A,n}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){if(this.options.inlineImages&&e.ownerDocument){var t,A=e.ownerDocument.createElement("img");try{return A.src=e.toDataURL(),A}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var r=e.getContext("2d"),o=n.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var i=null!=(t=e.getContext("webgl2"))?t:e.getContext("webgl");if(i){var a=i.getContextAttributes();(null==a?void 0:a.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}o.drawImage(e,0,0)}}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return n},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var A=t.getContext("2d");try{return A&&(A.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||A.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var n=e.ownerDocument.createElement("canvas");return n.width=e.offsetWidth,n.height=e.offsetHeight,n},e.prototype.appendChildNode=function(e,t,A){st(t)&&("SCRIPT"===t.tagName||t.hasAttribute(sM)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&st(t)&&sp(t)||e.appendChild(this.cloneNode(t,A))},e.prototype.cloneChildNodes=function(e,t,A){for(var n=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(st(r)&&sf(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach(function(e){return n.appendChildNode(t,e,A)})}else this.appendChildNode(t,r,A)},e.prototype.cloneNode=function(e,t){if(se(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var A=e.ownerDocument.defaultView;if(A&&st(e)&&(sA(e)||sn(e))){var n=this.createElementClone(e);n.style.transitionProperty="none";var r=A.getComputedStyle(e),o=A.getComputedStyle(e,":before"),i=A.getComputedStyle(e,":after");this.referenceElement===e&&sA(n)&&(this.clonedReferenceElement=n),ss(n)&&sY(n);var a=this.counters.parse(new i2(this.context,r)),s=this.resolvePseudoContent(e,n,o,b.BEFORE);sh(e)&&(t=!0),sc(e)||this.cloneChildNodes(e,n,t),s&&n.insertBefore(s,n.firstChild);var l=this.resolvePseudoContent(e,n,i,b.AFTER);return l&&n.appendChild(l),this.counters.pop(a),(r&&(this.options.copyStyles||sn(e))&&!sd(e)||t)&&s_(r,n),(0!==e.scrollTop||0!==e.scrollLeft)&&this.scrolledElements.push([n,e.scrollLeft,e.scrollTop]),(sg(e)||sm(e))&&(sg(n)||sm(n))&&(n.value=e.value),n}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,A,n){var r=this;if(A){var o=A.content,i=t.ownerDocument;if(i&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==A.display){this.counters.parse(new i2(this.context,A));var a=new i4(this.context,A),s=i.createElement("html2canvaspseudoelement");s_(A,s),a.content.forEach(function(t){if(0===t.type)s.appendChild(i.createTextNode(t.value));else if(22===t.type){var A=i.createElement("img");A.src=t.value,A.style.opacity="1",s.appendChild(A)}else if(18===t.type){if("attr"===t.name){var n=t.values.filter(rW);n.length&&s.appendChild(i.createTextNode(e.getAttribute(n[0].value)||""))}else if("counter"===t.name){var o=t.values.filter(rJ),l=o[0],c=o[1];if(l&&rW(l)){var u=r.counters.getCounterValue(l.value),d=c&&rW(c)?ic.parse(r.context,c.value):3;s.appendChild(i.createTextNode(sO(u,d,!1)))}}else if("counters"===t.name){var p=t.values.filter(rJ),l=p[0],g=p[1],c=p[2];if(l&&rW(l)){var m=r.counters.getCounterValues(l.value),f=c&&rW(c)?ic.parse(r.context,c.value):3,h=g&&0===g.type?g.value:"",w=m.map(function(e){return sO(e,f,!1)}).join(h);s.appendChild(i.createTextNode(w))}}}else if(20===t.type)switch(t.value){case"open-quote":s.appendChild(i.createTextNode(iq(a.quotes,r.quoteDepth++,!0)));break;case"close-quote":s.appendChild(i.createTextNode(iq(a.quotes,--r.quoteDepth,!1)));break;default:s.appendChild(i.createTextNode(t.value))}}),s.className=sK+" "+sj;var l=n===b.BEFORE?" "+sK:" "+sj;return sn(t)?t.className.baseValue+=l:t.className+=l,s}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();(h=b||(b={}))[h.BEFORE=0]="BEFORE",h[h.AFTER=1]="AFTER";var sL=function(e,t){var A=e.createElement("iframe");return A.className="html2canvas-container",A.style.visibility="hidden",A.style.position="fixed",A.style.left="-10000px",A.style.top="0px",A.style.border="0",A.width=t.width.toString(),A.height=t.height.toString(),A.scrolling="no",A.setAttribute(sM,"true"),e.body.appendChild(A),A},sR=function(e){return new Promise(function(t){e.complete||!e.src?t():(e.onload=t,e.onerror=t)})},sV=function(e){return Promise.all([].slice.call(e.images,0).map(sR))},sN=function(e){return new Promise(function(t,A){var n=e.contentWindow;if(!n)return A("No window assigned for iframe");var r=n.document;n.onload=e.onload=function(){n.onload=e.onload=null;var A=setInterval(function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(A),t(e))},50)}})},sH=["all","d","content"],s_=function(e,t){for(var A=e.length-1;A>=0;A--){var n=e.item(A);-1===sH.indexOf(n)&&t.style.setProperty(n,e.getPropertyValue(n))}return t},sk=function(e){var t="";return e&&(t+="<!DOCTYPE ",e.name&&(t+=e.name),e.internalSubset&&(t+=e.internalSubset),e.publicId&&(t+='"'+e.publicId+'"'),e.systemId&&(t+='"'+e.systemId+'"'),t+=">"),t},sP=function(e,t,A){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||A!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,A)},sG=function(e){var t=e[0],A=e[1],n=e[2];t.scrollLeft=A,t.scrollTop=n},sK="___html2canvas___pseudoelement_before",sj="___html2canvas___pseudoelement_after",sW='{\n content: "" !important;\n display: none !important;\n}',sY=function(e){sz(e,"."+sK+":before"+sW+"\n ."+sj+":after"+sW)},sz=function(e,t){var A=e.ownerDocument;if(A){var n=A.createElement("style");n.textContent=t,e.appendChild(n)}},sX=function(){function e(){}return e.getOrigin=function(t){var A=e._link;return A?(A.href=t,A.href=A.href,A.protocol+A.hostname+A.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),sJ=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)||(s4(e)||s0(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return nH(this,void 0,void 0,function(){var t,A,n,r,o=this;return n_(this,function(i){switch(i.label){case 0:if(t=sX.isSameOrigin(e),A=!s1(e)&&!0===this._options.useCORS&&aC.SUPPORT_CORS_IMAGES&&!t,n=!s1(e)&&!t&&!s4(e)&&"string"==typeof this._options.proxy&&aC.SUPPORT_CORS_XHR&&!A,!t&&!1===this._options.allowTaint&&!s1(e)&&!s4(e)&&!n&&!A)return[2];if(r=e,!n)return[3,2];return[4,this.proxy(r)];case 1:r=i.sent(),i.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(e,t){var n=new Image;n.onload=function(){return e(n)},n.onerror=t,(s3(r)||A)&&(n.crossOrigin="anonymous"),n.src=r,!0===n.complete&&setTimeout(function(){return e(n)},500),o._options.imageTimeout>0&&setTimeout(function(){return t("Timed out ("+o._options.imageTimeout+"ms) loading image")},o._options.imageTimeout)})];case 3:return[2,i.sent()]}})})},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,A=this._options.proxy;if(!A)throw Error("No proxy defined");var n=e.substring(0,256);return new Promise(function(r,o){var i=aC.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(200===a.status)if("text"===i)r(a.response);else{var e=new FileReader;e.addEventListener("load",function(){return r(e.result)},!1),e.addEventListener("error",function(e){return o(e)},!1),e.readAsDataURL(a.response)}else o("Failed to proxy resource "+n+" with status code "+a.status)},a.onerror=o;var s=A.indexOf("?")>-1?"&":"?";if(a.open("GET",""+A+s+"url="+encodeURIComponent(e)+"&responseType="+i),"text"!==i&&a instanceof XMLHttpRequest&&(a.responseType=i),t._options.imageTimeout){var l=t._options.imageTimeout;a.timeout=l,a.ontimeout=function(){return o("Timed out ("+l+"ms) proxying "+n)}}a.send()})},e}(),sq=/^data:image\/svg\+xml/i,s$=/^data:image\/.*;base64,/i,sZ=/^data:image\/.*/i,s0=function(e){return aC.SUPPORT_SVG_DRAWING||!s2(e)},s1=function(e){return sZ.test(e)},s3=function(e){return s$.test(e)},s4=function(e){return"blob"===e.substr(0,4)},s2=function(e){return"svg"===e.substr(-3).toLowerCase()||sq.test(e)},s6=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,A){return new e(this.x+t,this.y+A)},e}(),s9=function(e,t,A){return new s6(e.x+(t.x-e.x)*A,e.y+(t.y-e.y)*A)},s8=function(){function e(e,t,A,n){this.type=1,this.start=e,this.startControl=t,this.endControl=A,this.end=n}return e.prototype.subdivide=function(t,A){var n=s9(this.start,this.startControl,t),r=s9(this.startControl,this.endControl,t),o=s9(this.endControl,this.end,t),i=s9(n,r,t),a=s9(r,o,t),s=s9(i,a,t);return A?new e(this.start,n,i,s):new e(s,a,o,this.end)},e.prototype.add=function(t,A){return new e(this.start.add(t,A),this.startControl.add(t,A),this.endControl.add(t,A),this.end.add(t,A))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),s5=function(e){return 1===e.type},s7=function(e){var t=e.styles,A=e.bounds,n=r6(t.borderTopLeftRadius,A.width,A.height),r=n[0],o=n[1],i=r6(t.borderTopRightRadius,A.width,A.height),a=i[0],s=i[1],l=r6(t.borderBottomRightRadius,A.width,A.height),c=l[0],u=l[1],d=r6(t.borderBottomLeftRadius,A.width,A.height),p=d[0],g=d[1],m=[];m.push((r+a)/A.width),m.push((p+c)/A.width),m.push((o+g)/A.height),m.push((s+u)/A.height);var f=Math.max.apply(Math,m);f>1&&(r/=f,o/=f,a/=f,s/=f,c/=f,u/=f,p/=f,g/=f);var h=A.width-a,w=A.height-u,B=A.width-c,y=A.height-g,v=t.borderTopWidth,C=t.borderRightWidth,S=t.borderBottomWidth,E=t.borderLeftWidth,I=r9(t.paddingTop,e.bounds.width),b=r9(t.paddingRight,e.bounds.width),F=r9(t.paddingBottom,e.bounds.width),Q=r9(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?le(A.left+E/3,A.top+v/3,r-E/3,o-v/3,U.TOP_LEFT):new s6(A.left+E/3,A.top+v/3),this.topRightBorderDoubleOuterBox=r>0||o>0?le(A.left+h,A.top+v/3,a-C/3,s-v/3,U.TOP_RIGHT):new s6(A.left+A.width-C/3,A.top+v/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?le(A.left+B,A.top+w,c-C/3,u-S/3,U.BOTTOM_RIGHT):new s6(A.left+A.width-C/3,A.top+A.height-S/3),this.bottomLeftBorderDoubleOuterBox=p>0||g>0?le(A.left+E/3,A.top+y,p-E/3,g-S/3,U.BOTTOM_LEFT):new s6(A.left+E/3,A.top+A.height-S/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?le(A.left+2*E/3,A.top+2*v/3,r-2*E/3,o-2*v/3,U.TOP_LEFT):new s6(A.left+2*E/3,A.top+2*v/3),this.topRightBorderDoubleInnerBox=r>0||o>0?le(A.left+h,A.top+2*v/3,a-2*C/3,s-2*v/3,U.TOP_RIGHT):new s6(A.left+A.width-2*C/3,A.top+2*v/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?le(A.left+B,A.top+w,c-2*C/3,u-2*S/3,U.BOTTOM_RIGHT):new s6(A.left+A.width-2*C/3,A.top+A.height-2*S/3),this.bottomLeftBorderDoubleInnerBox=p>0||g>0?le(A.left+2*E/3,A.top+y,p-2*E/3,g-2*S/3,U.BOTTOM_LEFT):new s6(A.left+2*E/3,A.top+A.height-2*S/3),this.topLeftBorderStroke=r>0||o>0?le(A.left+E/2,A.top+v/2,r-E/2,o-v/2,U.TOP_LEFT):new s6(A.left+E/2,A.top+v/2),this.topRightBorderStroke=r>0||o>0?le(A.left+h,A.top+v/2,a-C/2,s-v/2,U.TOP_RIGHT):new s6(A.left+A.width-C/2,A.top+v/2),this.bottomRightBorderStroke=c>0||u>0?le(A.left+B,A.top+w,c-C/2,u-S/2,U.BOTTOM_RIGHT):new s6(A.left+A.width-C/2,A.top+A.height-S/2),this.bottomLeftBorderStroke=p>0||g>0?le(A.left+E/2,A.top+y,p-E/2,g-S/2,U.BOTTOM_LEFT):new s6(A.left+E/2,A.top+A.height-S/2),this.topLeftBorderBox=r>0||o>0?le(A.left,A.top,r,o,U.TOP_LEFT):new s6(A.left,A.top),this.topRightBorderBox=a>0||s>0?le(A.left+h,A.top,a,s,U.TOP_RIGHT):new s6(A.left+A.width,A.top),this.bottomRightBorderBox=c>0||u>0?le(A.left+B,A.top+w,c,u,U.BOTTOM_RIGHT):new s6(A.left+A.width,A.top+A.height),this.bottomLeftBorderBox=p>0||g>0?le(A.left,A.top+y,p,g,U.BOTTOM_LEFT):new s6(A.left,A.top+A.height),this.topLeftPaddingBox=r>0||o>0?le(A.left+E,A.top+v,Math.max(0,r-E),Math.max(0,o-v),U.TOP_LEFT):new s6(A.left+E,A.top+v),this.topRightPaddingBox=a>0||s>0?le(A.left+Math.min(h,A.width-C),A.top+v,h>A.width+C?0:Math.max(0,a-C),Math.max(0,s-v),U.TOP_RIGHT):new s6(A.left+A.width-C,A.top+v),this.bottomRightPaddingBox=c>0||u>0?le(A.left+Math.min(B,A.width-E),A.top+Math.min(w,A.height-S),Math.max(0,c-C),Math.max(0,u-S),U.BOTTOM_RIGHT):new s6(A.left+A.width-C,A.top+A.height-S),this.bottomLeftPaddingBox=p>0||g>0?le(A.left+E,A.top+Math.min(y,A.height-S),Math.max(0,p-E),Math.max(0,g-S),U.BOTTOM_LEFT):new s6(A.left+E,A.top+A.height-S),this.topLeftContentBox=r>0||o>0?le(A.left+E+Q,A.top+v+I,Math.max(0,r-(E+Q)),Math.max(0,o-(v+I)),U.TOP_LEFT):new s6(A.left+E+Q,A.top+v+I),this.topRightContentBox=a>0||s>0?le(A.left+Math.min(h,A.width+E+Q),A.top+v+I,h>A.width+E+Q?0:a-E+Q,s-(v+I),U.TOP_RIGHT):new s6(A.left+A.width-(C+b),A.top+v+I),this.bottomRightContentBox=c>0||u>0?le(A.left+Math.min(B,A.width-(E+Q)),A.top+Math.min(w,A.height+v+I),Math.max(0,c-(C+b)),u-(S+F),U.BOTTOM_RIGHT):new s6(A.left+A.width-(C+b),A.top+A.height-(S+F)),this.bottomLeftContentBox=p>0||g>0?le(A.left+E+Q,A.top+y,Math.max(0,p-(E+Q)),g-(S+F),U.BOTTOM_LEFT):new s6(A.left+E+Q,A.top+A.height-(S+F))};(w=U||(U={}))[w.TOP_LEFT=0]="TOP_LEFT",w[w.TOP_RIGHT=1]="TOP_RIGHT",w[w.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",w[w.BOTTOM_LEFT=3]="BOTTOM_LEFT";var le=function(e,t,A,n,r){var o=(Math.sqrt(2)-1)/3*4,i=A*o,a=n*o,s=e+A,l=t+n;switch(r){case U.TOP_LEFT:return new s8(new s6(e,l),new s6(e,l-a),new s6(s-i,t),new s6(s,t));case U.TOP_RIGHT:return new s8(new s6(e,t),new s6(e+i,t),new s6(s,l-a),new s6(s,l));case U.BOTTOM_RIGHT:return new s8(new s6(s,t),new s6(s,t+a),new s6(e+i,l),new s6(e,l));case U.BOTTOM_LEFT:default:return new s8(new s6(s,l),new s6(s-i,l),new s6(e,t+a),new s6(e,t))}},lt=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},lA=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},ln=function(e,t,A){this.offsetX=e,this.offsetY=t,this.matrix=A,this.type=0,this.target=6},lr=function(e,t){this.path=e,this.target=t,this.type=1},lo=function(e){this.opacity=e,this.type=2,this.target=6},li=function(e){return 1===e.type},la=function(e,t){return e.length===t.length&&e.some(function(e,A){return e===t[A]})},ls=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},ll=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new s7(this.container),this.container.styles.opacity<1&&this.effects.push(new lo(this.container.styles.opacity)),null!==this.container.styles.transform){var A=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new ln(A,n,r))}if(0!==this.container.styles.overflowX){var o=lt(this.curves),i=lA(this.curves);la(o,i)?this.effects.push(new lr(o,6)):(this.effects.push(new lr(o,2)),this.effects.push(new lr(i,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),A=this.parent,n=this.effects.slice(0);A;){var r=A.effects.filter(function(e){return!li(e)});if(t||0!==A.container.styles.position||!A.parent){if(n.unshift.apply(n,r),t=-1===[2,3].indexOf(A.container.styles.position),0!==A.container.styles.overflowX){var o=lt(A.curves),i=lA(A.curves);la(o,i)||n.unshift(new lr(i,6))}}else n.unshift.apply(n,r);A=A.parent}return n.filter(function(t){return ij(t.target,e)})},e}(),lc=function(e,t,A,n){e.container.elements.forEach(function(r){var o=ij(r.flags,4),i=ij(r.flags,2),a=new ll(r,e);ij(r.styles.display,2048)&&n.push(a);var s=ij(r.flags,8)?[]:n;if(o||i){var l=o||r.styles.isPositioned()?A:t,c=new ls(a);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var d=0;l.negativeZIndex.some(function(e,t){if(u>e.element.container.styles.zIndex.order)d=t;else if(d>0)return!0;return!1}),l.negativeZIndex.splice(d,0,c)}else if(u>0){var p=0;l.positiveZIndex.some(function(e,t){if(u>=e.element.container.styles.zIndex.order)p=t+1;else if(p>0)return!0;return!1}),l.positiveZIndex.splice(p,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else r.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);lc(a,c,o?c:A,s)}else r.styles.isInlineLevel()?t.inlineLevel.push(a):t.nonInlineLevel.push(a),lc(a,t,A,s);ij(r.flags,8)&&lu(r,s)})},lu=function(e,t){for(var A=e instanceof aY?e.start:1,n=e instanceof aY&&e.reversed,r=0;r<t.length;r++){var o=t[r];o.container instanceof aW&&"number"==typeof o.container.value&&0!==o.container.value&&(A=o.container.value),o.listValue=sO(A,o.container.styles.listStyleType,!0),A+=n?-1:1}},ld=function(e){var t=new ll(e,null),A=new ls(t),n=[];return lc(t,A,A,n),lu(t.container,n),A},lp=function(e,t){switch(t){case 0:return lw(e.topLeftBorderBox,e.topLeftPaddingBox,e.topRightBorderBox,e.topRightPaddingBox);case 1:return lw(e.topRightBorderBox,e.topRightPaddingBox,e.bottomRightBorderBox,e.bottomRightPaddingBox);case 2:return lw(e.bottomRightBorderBox,e.bottomRightPaddingBox,e.bottomLeftBorderBox,e.bottomLeftPaddingBox);default:return lw(e.bottomLeftBorderBox,e.bottomLeftPaddingBox,e.topLeftBorderBox,e.topLeftPaddingBox)}},lg=function(e,t){switch(t){case 0:return lw(e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox,e.topRightBorderBox,e.topRightBorderDoubleOuterBox);case 1:return lw(e.topRightBorderBox,e.topRightBorderDoubleOuterBox,e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox);case 2:return lw(e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox,e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox);default:return lw(e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox,e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox)}},lm=function(e,t){switch(t){case 0:return lw(e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox,e.topRightBorderDoubleInnerBox,e.topRightPaddingBox);case 1:return lw(e.topRightBorderDoubleInnerBox,e.topRightPaddingBox,e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox);case 2:return lw(e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox,e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox);default:return lw(e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox,e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox)}},lf=function(e,t){switch(t){case 0:return lh(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return lh(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return lh(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return lh(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}},lh=function(e,t){var A=[];return s5(e)?A.push(e.subdivide(.5,!1)):A.push(e),s5(t)?A.push(t.subdivide(.5,!0)):A.push(t),A},lw=function(e,t,A,n){var r=[];return s5(e)?r.push(e.subdivide(.5,!1)):r.push(e),s5(A)?r.push(A.subdivide(.5,!0)):r.push(A),s5(n)?r.push(n.subdivide(.5,!0).reverse()):r.push(n),s5(t)?r.push(t.subdivide(.5,!1).reverse()):r.push(t),r},lB=function(e){var t=e.bounds,A=e.styles;return t.add(A.borderLeftWidth,A.borderTopWidth,-(A.borderRightWidth+A.borderLeftWidth),-(A.borderTopWidth+A.borderBottomWidth))},ly=function(e){var t=e.styles,A=e.bounds,n=r9(t.paddingLeft,A.width),r=r9(t.paddingRight,A.width),o=r9(t.paddingTop,A.width),i=r9(t.paddingBottom,A.width);return A.add(n+t.borderLeftWidth,o+t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth+n+r),-(t.borderTopWidth+t.borderBottomWidth+o+i))},lv=function(e,t,A){var n,r,o=(n=lI(e.styles.backgroundOrigin,t),0===n?e.bounds:2===n?ly(e):lB(e)),i=(r=lI(e.styles.backgroundClip,t),0===r?e.bounds:2===r?ly(e):lB(e)),a=lE(lI(e.styles.backgroundSize,t),A,o),s=a[0],l=a[1],c=r6(lI(e.styles.backgroundPosition,t),o.width-s,o.height-l);return[lb(lI(e.styles.backgroundRepeat,t),c,a,o,i),Math.round(o.left+c[0]),Math.round(o.top+c[1]),s,l]},lC=function(e){return rW(e)&&e.value===S.AUTO},lS=function(e){return"number"==typeof e},lE=function(e,t,A){var n=t[0],r=t[1],o=t[2],i=e[0],a=e[1];if(!i)return[0,0];if(r0(i)&&a&&r0(a))return[r9(i,A.width),r9(a,A.height)];var s=lS(o);if(rW(i)&&(i.value===S.CONTAIN||i.value===S.COVER))return lS(o)?A.width/A.height<o!=(i.value===S.COVER)?[A.width,A.width/o]:[A.height*o,A.height]:[A.width,A.height];var l=lS(n),c=lS(r),u=l||c;if(lC(i)&&(!a||lC(a)))return l&&c?[n,r]:s||u?u&&s?[l?n:r*o,c?r:n/o]:[l?n:A.width,c?r:A.height]:[A.width,A.height];if(s){var d=0,p=0;return r0(i)?d=r9(i,A.width):r0(a)&&(p=r9(a,A.height)),lC(i)?d=p*o:(!a||lC(a))&&(p=d/o),[d,p]}var g=null,m=null;if(r0(i)?g=r9(i,A.width):a&&r0(a)&&(m=r9(a,A.height)),null!==g&&(!a||lC(a))&&(m=l&&c?g/n*r:A.height),null!==m&&lC(i)&&(g=l&&c?m/r*n:A.width),null!==g&&null!==m)return[g,m];throw Error("Unable to calculate background-size for element")},lI=function(e,t){var A=e[t];return void 0===A?e[0]:A},lb=function(e,t,A,n,r){var o=t[0],i=t[1],a=A[0],s=A[1];switch(e){case 2:return[new s6(Math.round(n.left),Math.round(n.top+i)),new s6(Math.round(n.left+n.width),Math.round(n.top+i)),new s6(Math.round(n.left+n.width),Math.round(s+n.top+i)),new s6(Math.round(n.left),Math.round(s+n.top+i))];case 3:return[new s6(Math.round(n.left+o),Math.round(n.top)),new s6(Math.round(n.left+o+a),Math.round(n.top)),new s6(Math.round(n.left+o+a),Math.round(n.height+n.top)),new s6(Math.round(n.left+o),Math.round(n.height+n.top))];case 1:return[new s6(Math.round(n.left+o),Math.round(n.top+i)),new s6(Math.round(n.left+o+a),Math.round(n.top+i)),new s6(Math.round(n.left+o+a),Math.round(n.top+i+s)),new s6(Math.round(n.left+o),Math.round(n.top+i+s))];default:return[new s6(Math.round(r.left),Math.round(r.top)),new s6(Math.round(r.left+r.width),Math.round(r.top)),new s6(Math.round(r.left+r.width),Math.round(r.height+r.top)),new s6(Math.round(r.left),Math.round(r.height+r.top))]}},lU="Hidden Text",lF=function(){function e(e){this._data={},this._document=e}return e.prototype.parseMetrics=function(e,t){var A=this._document.createElement("div"),n=this._document.createElement("img"),r=this._document.createElement("span"),o=this._document.body;A.style.visibility="hidden",A.style.fontFamily=e,A.style.fontSize=t,A.style.margin="0",A.style.padding="0",A.style.whiteSpace="nowrap",o.appendChild(A),n.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",r.style.fontFamily=e,r.style.fontSize=t,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(lU)),A.appendChild(r),A.appendChild(n);var i=n.offsetTop-r.offsetTop+2;A.removeChild(r),A.appendChild(this._document.createTextNode(lU)),A.style.lineHeight="normal",n.style.verticalAlign="super";var a=n.offsetTop-A.offsetTop+2;return o.removeChild(A),{baseline:i,middle:a}},e.prototype.getMetrics=function(e,t){var A=e+" "+t;return void 0===this._data[A]&&(this._data[A]=this.parseMetrics(e,t)),this._data[A]},e}(),lQ=function(e,t){this.context=e,this.options=t},lT=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n._activeEffects=[],n.canvas=A.canvas?A.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),A.canvas||(n.canvas.width=Math.floor(A.width*A.scale),n.canvas.height=Math.floor(A.height*A.scale),n.canvas.style.width=A.width+"px",n.canvas.style.height=A.height+"px"),n.fontMetrics=new lF(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-A.x,-A.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+A.width+"x"+A.height+") with scale "+A.scale),n}return nV(t,e),t.prototype.applyEffects=function(e){for(var t=this;this._activeEffects.length;)this.popEffect();e.forEach(function(e){return t.applyEffect(e)})},t.prototype.applyEffect=function(e){this.ctx.save(),2===e.type&&(this.ctx.globalAlpha=e.opacity),0===e.type&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),li(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},t.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},t.prototype.renderStack=function(e){return nH(this,void 0,void 0,function(){return n_(this,function(t){switch(t.label){case 0:if(!e.element.container.styles.isVisible())return[3,2];return[4,this.renderStackContent(e)];case 1:t.sent(),t.label=2;case 2:return[2]}})})},t.prototype.renderNode=function(e){return nH(this,void 0,void 0,function(){return n_(this,function(t){switch(t.label){case 0:if(ij(e.container.flags,16),!e.container.styles.isVisible())return[3,3];return[4,this.renderNodeBackgroundAndBorders(e)];case 1:return t.sent(),[4,this.renderNodeContent(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},t.prototype.renderTextWithLetterSpacing=function(e,t,A){var n=this;0===t?this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+A):aL(e.text).reduce(function(t,r){return n.ctx.fillText(r,t,e.bounds.top+A),t+n.ctx.measureText(r).width},e.bounds.left)},t.prototype.createFontStyle=function(e){var t=e.fontVariant.filter(function(e){return"normal"===e||"small-caps"===e}).join(""),A=lL(e.fontFamily).join(", "),n=rK(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,t,e.fontWeight,n,A].join(" "),A,n]},t.prototype.renderTextNode=function(e,t){return nH(this,void 0,void 0,function(){var A,n,r,o,i,a,s,l,c=this;return n_(this,function(u){return n=(A=this.createFontStyle(t))[0],r=A[1],o=A[2],this.ctx.font=n,this.ctx.direction=1===t.direction?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",a=(i=this.fontMetrics.getMetrics(r,o)).baseline,s=i.middle,l=t.paintOrder,e.textBounds.forEach(function(e){l.forEach(function(A){switch(A){case 0:c.ctx.fillStyle=oo(t.color),c.renderTextWithLetterSpacing(e,t.letterSpacing,a);var n=t.textShadow;n.length&&e.text.trim().length&&(n.slice(0).reverse().forEach(function(A){c.ctx.shadowColor=oo(A.color),c.ctx.shadowOffsetX=A.offsetX.number*c.options.scale,c.ctx.shadowOffsetY=A.offsetY.number*c.options.scale,c.ctx.shadowBlur=A.blur.number,c.renderTextWithLetterSpacing(e,t.letterSpacing,a)}),c.ctx.shadowColor="",c.ctx.shadowOffsetX=0,c.ctx.shadowOffsetY=0,c.ctx.shadowBlur=0),t.textDecorationLine.length&&(c.ctx.fillStyle=oo(t.textDecorationColor||t.color),t.textDecorationLine.forEach(function(t){switch(t){case 1:c.ctx.fillRect(e.bounds.left,Math.round(e.bounds.top+a),e.bounds.width,1);break;case 2:c.ctx.fillRect(e.bounds.left,Math.round(e.bounds.top),e.bounds.width,1);break;case 3:c.ctx.fillRect(e.bounds.left,Math.ceil(e.bounds.top+s),e.bounds.width,1)}}));break;case 1:t.webkitTextStrokeWidth&&e.text.trim().length&&(c.ctx.strokeStyle=oo(t.webkitTextStrokeColor),c.ctx.lineWidth=t.webkitTextStrokeWidth,c.ctx.lineJoin=window.chrome?"miter":"round",c.ctx.strokeText(e.text,e.bounds.left,e.bounds.top+a)),c.ctx.strokeStyle="",c.ctx.lineWidth=0,c.ctx.lineJoin="miter"}})}),[2]})})},t.prototype.renderReplacedElement=function(e,t,A){if(A&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var n=ly(e),r=lA(t);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(A,0,0,e.intrinsicWidth,e.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return nH(this,void 0,void 0,function(){var A,n,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B;return n_(this,function(y){switch(y.label){case 0:this.applyEffects(e.getEffects(4)),A=e.container,n=e.curves,r=A.styles,o=0,i=A.textNodes,y.label=1;case 1:if(!(o<i.length))return[3,4];return a=i[o],[4,this.renderTextNode(a,r)];case 2:y.sent(),y.label=3;case 3:return o++,[3,1];case 4:if(!(A instanceof aG))return[3,8];y.label=5;case 5:return y.trys.push([5,7,,8]),[4,this.context.cache.match(A.src)];case 6:return s=y.sent(),this.renderReplacedElement(A,n,s),[3,8];case 7:return y.sent(),this.context.logger.error("Error loading image "+A.src),[3,8];case 8:if(A instanceof aK&&this.renderReplacedElement(A,n,A.canvas),!(A instanceof aj))return[3,12];y.label=9;case 9:return y.trys.push([9,11,,12]),[4,this.context.cache.match(A.svg)];case 10:return s=y.sent(),this.renderReplacedElement(A,n,s),[3,12];case 11:return y.sent(),this.context.logger.error("Error loading svg "+A.svg.substring(0,255)),[3,12];case 12:if(!(A instanceof a4&&A.tree))return[3,14];return[4,new t(this.context,{scale:this.options.scale,backgroundColor:A.backgroundColor,x:0,y:0,width:A.width,height:A.height}).render(A.tree)];case 13:l=y.sent(),A.width&&A.height&&this.ctx.drawImage(l,0,0,A.width,A.height,A.bounds.left,A.bounds.top,A.bounds.width,A.bounds.height),y.label=14;case 14:if(A instanceof a0&&(c=Math.min(A.bounds.width,A.bounds.height),A.type===aq?A.checked&&(this.ctx.save(),this.path([new s6(A.bounds.left+.39363*c,A.bounds.top+.79*c),new s6(A.bounds.left+.16*c,A.bounds.top+.5549*c),new s6(A.bounds.left+.27347*c,A.bounds.top+.44071*c),new s6(A.bounds.left+.39694*c,A.bounds.top+.5649*c),new s6(A.bounds.left+.72983*c,A.bounds.top+.23*c),new s6(A.bounds.left+.84*c,A.bounds.top+.34085*c),new s6(A.bounds.left+.39363*c,A.bounds.top+.79*c)]),this.ctx.fillStyle=oo(0x2a2a2aff),this.ctx.fill(),this.ctx.restore()):A.type===a$&&A.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(A.bounds.left+c/2,A.bounds.top+c/2,c/4,0,2*Math.PI,!0),this.ctx.fillStyle=oo(0x2a2a2aff),this.ctx.fill(),this.ctx.restore())),lD(A)&&A.value.length){switch(d=(u=this.createFontStyle(r))[0],p=u[1],g=this.fontMetrics.getMetrics(d,p).baseline,this.ctx.font=d,this.ctx.fillStyle=oo(r.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=lM(A.styles.textAlign),m=ly(A),f=0,A.styles.textAlign){case 1:f+=m.width/2;break;case 2:f+=m.width}h=m.add(f,0,0,-m.height/2+1),this.ctx.save(),this.path([new s6(m.left,m.top),new s6(m.left+m.width,m.top),new s6(m.left+m.width,m.top+m.height),new s6(m.left,m.top+m.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new aD(A.value,h),r.letterSpacing,g),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!ij(A.styles.display,2048))return[3,20];if(null===A.styles.listStyleImage)return[3,19];if(0!==(w=A.styles.listStyleImage).type)return[3,18];s=void 0,B=w.url,y.label=15;case 15:return y.trys.push([15,17,,18]),[4,this.context.cache.match(B)];case 16:return s=y.sent(),this.ctx.drawImage(s,A.bounds.left-(s.width+10),A.bounds.top),[3,18];case 17:return y.sent(),this.context.logger.error("Error loading list-style-image "+B),[3,18];case 18:return[3,20];case 19:e.listValue&&-1!==A.styles.listStyleType&&(d=this.createFontStyle(r)[0],this.ctx.font=d,this.ctx.fillStyle=oo(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",m=new nP(A.bounds.left,A.bounds.top+r9(A.styles.paddingTop,A.bounds.width),A.bounds.width,ia(r.lineHeight,r.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new aD(e.listValue,m),r.letterSpacing,ia(r.lineHeight,r.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),y.label=20;case 20:return[2]}})})},t.prototype.renderStackContent=function(e){return nH(this,void 0,void 0,function(){var t,A,n,r,o,i,a,s,l,c,u,d,p,g,m;return n_(this,function(f){switch(f.label){case 0:return ij(e.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:f.sent(),t=0,A=e.negativeZIndex,f.label=2;case 2:if(!(t<A.length))return[3,5];return n=A[t],[4,this.renderStack(n)];case 3:f.sent(),f.label=4;case 4:return t++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:f.sent(),r=0,o=e.nonInlineLevel,f.label=7;case 7:if(!(r<o.length))return[3,10];return n=o[r],[4,this.renderNode(n)];case 8:f.sent(),f.label=9;case 9:return r++,[3,7];case 10:i=0,a=e.nonPositionedFloats,f.label=11;case 11:if(!(i<a.length))return[3,14];return n=a[i],[4,this.renderStack(n)];case 12:f.sent(),f.label=13;case 13:return i++,[3,11];case 14:s=0,l=e.nonPositionedInlineLevel,f.label=15;case 15:if(!(s<l.length))return[3,18];return n=l[s],[4,this.renderStack(n)];case 16:f.sent(),f.label=17;case 17:return s++,[3,15];case 18:c=0,u=e.inlineLevel,f.label=19;case 19:if(!(c<u.length))return[3,22];return n=u[c],[4,this.renderNode(n)];case 20:f.sent(),f.label=21;case 21:return c++,[3,19];case 22:d=0,p=e.zeroOrAutoZIndexOrTransformedOrOpacity,f.label=23;case 23:if(!(d<p.length))return[3,26];return n=p[d],[4,this.renderStack(n)];case 24:f.sent(),f.label=25;case 25:return d++,[3,23];case 26:g=0,m=e.positiveZIndex,f.label=27;case 27:if(!(g<m.length))return[3,30];return n=m[g],[4,this.renderStack(n)];case 28:f.sent(),f.label=29;case 29:return g++,[3,27];case 30:return[2]}})})},t.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},t.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},t.prototype.formatPath=function(e){var t=this;e.forEach(function(e,A){var n=s5(e)?e.start:e;0===A?t.ctx.moveTo(n.x,n.y):t.ctx.lineTo(n.x,n.y),s5(e)&&t.ctx.bezierCurveTo(e.startControl.x,e.startControl.y,e.endControl.x,e.endControl.y,e.end.x,e.end.y)})},t.prototype.renderRepeat=function(e,t,A,n){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(A,n),this.ctx.fill(),this.ctx.translate(-A,-n)},t.prototype.resizeImage=function(e,t,A){if(e.width===t&&e.height===A)return e;var n,r=(null!=(n=this.canvas.ownerDocument)?n:document).createElement("canvas");return r.width=Math.max(1,t),r.height=Math.max(1,A),r.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t,A),r},t.prototype.renderBackgroundImage=function(e){return nH(this,void 0,void 0,function(){var t,A,n,r,o,i;return n_(this,function(a){switch(a.label){case 0:t=e.styles.backgroundImage.length-1,A=function(A){var r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y,v,C,S,E,I,b,U,F,Q,T,D,O,M,x;return n_(this,function(L){switch(L.label){case 0:if(0!==A.type)return[3,5];r=void 0,o=A.url,L.label=1;case 1:return L.trys.push([1,3,,4]),[4,n.context.cache.match(o)];case 2:return r=L.sent(),[3,4];case 3:return L.sent(),n.context.logger.error("Error loading background-image "+o),[3,4];case 4:return r&&(a=(i=lv(e,t,[r.width,r.height,r.width/r.height]))[0],s=i[1],l=i[2],c=i[3],u=i[4],d=n.ctx.createPattern(n.resizeImage(r,c,u),"repeat"),n.renderRepeat(a,d,s,l)),[3,6];case 5:1===A.type?(a=(p=lv(e,t,[null,null,null]))[0],s=p[1],l=p[2],c=p[3],u=p[4],m=(g=oB(A.angle,c,u))[0],f=g[1],h=g[2],w=g[3],B=g[4],(y=document.createElement("canvas")).width=c,y.height=u,C=(v=y.getContext("2d")).createLinearGradient(f,w,h,B),oh(A.stops,m).forEach(function(e){return C.addColorStop(e.stop,oo(e.color))}),v.fillStyle=C,v.fillRect(0,0,c,u),c>0&&u>0&&(d=n.ctx.createPattern(y,"repeat"),n.renderRepeat(a,d,s,l))):2===A.type&&(a=(S=lv(e,t,[null,null,null]))[0],E=S[1],I=S[2],c=S[3],u=S[4],s=r9((b=0===A.position.length?[r4]:A.position)[0],c),l=r9(b[b.length-1],u),F=(U=oC(A,s,l,c,u))[0],Q=U[1],F>0&&Q>0&&(T=n.ctx.createRadialGradient(E+s,I+l,0,E+s,I+l,F),oh(A.stops,2*F).forEach(function(e){return T.addColorStop(e.stop,oo(e.color))}),n.path(a),n.ctx.fillStyle=T,F!==Q?(D=e.bounds.left+.5*e.bounds.width,O=e.bounds.top+.5*e.bounds.height,x=1/(M=Q/F),n.ctx.save(),n.ctx.translate(D,O),n.ctx.transform(1,0,0,M,0,0),n.ctx.translate(-D,-O),n.ctx.fillRect(E,x*(I-O)+O,c,u*x),n.ctx.restore()):n.ctx.fill())),L.label=6;case 6:return t--,[2]}})},n=this,r=0,o=e.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:if(!(r<o.length))return[3,4];return i=o[r],[5,A(i)];case 2:a.sent(),a.label=3;case 3:return r++,[3,1];case 4:return[2]}})})},t.prototype.renderSolidBorder=function(e,t,A){return nH(this,void 0,void 0,function(){return n_(this,function(n){return this.path(lp(A,t)),this.ctx.fillStyle=oo(e),this.ctx.fill(),[2]})})},t.prototype.renderDoubleBorder=function(e,t,A,n){return nH(this,void 0,void 0,function(){var r,o;return n_(this,function(i){switch(i.label){case 0:if(!(t<3))return[3,2];return[4,this.renderSolidBorder(e,A,n)];case 1:return i.sent(),[2];case 2:return r=lg(n,A),this.path(r),this.ctx.fillStyle=oo(e),this.ctx.fill(),o=lm(n,A),this.path(o),this.ctx.fill(),[2]}})})},t.prototype.renderNodeBackgroundAndBorders=function(e){return nH(this,void 0,void 0,function(){var t,A,n,r,o,i,a,s,l=this;return n_(this,function(c){switch(c.label){case 0:if(this.applyEffects(e.getEffects(2)),A=!or((t=e.container.styles).backgroundColor)||t.backgroundImage.length,n=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],r=lO(lI(t.backgroundClip,0),e.curves),!(A||t.boxShadow.length))return[3,2];return this.ctx.save(),this.path(r),this.ctx.clip(),or(t.backgroundColor)||(this.ctx.fillStyle=oo(t.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)];case 1:c.sent(),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(function(t){l.ctx.save();var A,n,r,o,i=lt(e.curves),a=1e4*!t.inset,s=(A=-a+(t.inset?1:-1)*t.spread.number,n=(t.inset?1:-1)*t.spread.number,r=t.spread.number*(t.inset?-2:2),o=t.spread.number*(t.inset?-2:2),i.map(function(e,t){switch(t){case 0:return e.add(A,n);case 1:return e.add(A+r,n);case 2:return e.add(A+r,n+o);case 3:return e.add(A,n+o)}return e}));t.inset?(l.path(i),l.ctx.clip(),l.mask(s)):(l.mask(i),l.ctx.clip(),l.path(s)),l.ctx.shadowOffsetX=t.offsetX.number+a,l.ctx.shadowOffsetY=t.offsetY.number,l.ctx.shadowColor=oo(t.color),l.ctx.shadowBlur=t.blur.number,l.ctx.fillStyle=t.inset?oo(t.color):"rgba(0,0,0,1)",l.ctx.fill(),l.ctx.restore()}),c.label=2;case 2:o=0,i=0,a=n,c.label=3;case 3:if(!(i<a.length))return[3,13];if(!(0!==(s=a[i]).style&&!or(s.color)&&s.width>0))return[3,11];if(2!==s.style)return[3,5];return[4,this.renderDashedDottedBorder(s.color,s.width,o,e.curves,2)];case 4:case 6:case 8:return c.sent(),[3,11];case 5:if(3!==s.style)return[3,7];return[4,this.renderDashedDottedBorder(s.color,s.width,o,e.curves,3)];case 7:if(4!==s.style)return[3,9];return[4,this.renderDoubleBorder(s.color,s.width,o,e.curves)];case 9:return[4,this.renderSolidBorder(s.color,o,e.curves)];case 10:c.sent(),c.label=11;case 11:o++,c.label=12;case 12:return i++,[3,3];case 13:return[2]}})})},t.prototype.renderDashedDottedBorder=function(e,t,A,n,r){return nH(this,void 0,void 0,function(){var o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y;return n_(this,function(v){return this.ctx.save(),o=lf(n,A),i=lp(n,A),2===r&&(this.path(i),this.ctx.clip()),s5(i[0])?(a=i[0].start.x,s=i[0].start.y):(a=i[0].x,s=i[0].y),s5(i[1])?(l=i[1].end.x,c=i[1].end.y):(l=i[1].x,c=i[1].y),u=0===A||2===A?Math.abs(a-l):Math.abs(s-c),this.ctx.beginPath(),3===r?this.formatPath(o):this.formatPath(i.slice(0,2)),d=t<3?3*t:2*t,p=t<3?2*t:t,3===r&&(d=t,p=t),g=!0,u<=2*d?g=!1:u<=2*d+p?(m=u/(2*d+p),d*=m,p*=m):(f=Math.floor((u+p)/(d+p)),h=(u-f*d)/(f-1),p=(w=(u-(f+1)*d)/f)<=0||Math.abs(p-h)<Math.abs(p-w)?h:w),g&&(3===r?this.ctx.setLineDash([0,d+p]):this.ctx.setLineDash([d,p])),3===r?(this.ctx.lineCap="round",this.ctx.lineWidth=t):this.ctx.lineWidth=2*t+1.1,this.ctx.strokeStyle=oo(e),this.ctx.stroke(),this.ctx.setLineDash([]),2===r&&(s5(i[0])&&(B=i[3],y=i[0],this.ctx.beginPath(),this.formatPath([new s6(B.end.x,B.end.y),new s6(y.start.x,y.start.y)]),this.ctx.stroke()),s5(i[1])&&(B=i[1],y=i[2],this.ctx.beginPath(),this.formatPath([new s6(B.end.x,B.end.y),new s6(y.start.x,y.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},t.prototype.render=function(e){return nH(this,void 0,void 0,function(){var t;return n_(this,function(A){switch(A.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=oo(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),t=ld(e),[4,this.renderStack(t)];case 1:return A.sent(),this.applyEffects([]),[2,this.canvas]}})})},t}(lQ),lD=function(e){return e instanceof a3||e instanceof a1||e instanceof a0&&e.type!==a$&&e.type!==aq||!1},lO=function(e,t){switch(e){case 0:return lt(t);case 2:return[t.topLeftContentBox,t.topRightContentBox,t.bottomRightContentBox,t.bottomLeftContentBox];default:return lA(t)}},lM=function(e){switch(e){case 1:return"center";case 2:return"right";default:return"left"}},lx=["-apple-system","system-ui"],lL=function(e){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?e.filter(function(e){return -1===lx.indexOf(e)}):e},lR=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.canvas=A.canvas?A.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=A,n.canvas.width=Math.floor(A.width*A.scale),n.canvas.height=Math.floor(A.height*A.scale),n.canvas.style.width=A.width+"px",n.canvas.style.height=A.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-A.x,-A.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+A.width+"x"+A.height+" at "+A.x+","+A.y+") with scale "+A.scale),n}return nV(t,e),t.prototype.render=function(e){return nH(this,void 0,void 0,function(){var t;return n_(this,function(A){switch(A.label){case 0:return[4,lV(ay(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e))];case 1:return t=A.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=oo(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(t,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},t}(lQ),lV=function(e){return new Promise(function(t,A){var n=new Image;n.onload=function(){t(n)},n.onerror=A,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},lN=function(){function e(e){var t=e.id,A=e.enabled;this.id=t,this.enabled=A,this.start=Date.now()}return e.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.debug?console.debug.apply(console,nk([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.prototype.getTime=function(){return Date.now()-this.start},e.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&"u">typeof window&&window.console&&"function"==typeof console.info&&console.info.apply(console,nk([this.id,this.getTime()+"ms"],e))},e.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.warn?console.warn.apply(console,nk([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.error?console.error.apply(console,nk([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.instances={},e}(),lH=function(){function e(t,A){var n;this.windowBounds=A,this.instanceName="#"+e.instanceCount++,this.logger=new lN({id:this.instanceName,enabled:t.logging}),this.cache=null!=(n=t.cache)?n:new sJ(this,t)}return e.instanceCount=1,e}();"u">typeof window&&sX.setContext(window);var l_=function(e,t,A){var n=t.ownerDocument,r=n.documentElement?od(e,getComputedStyle(n.documentElement).backgroundColor):op.TRANSPARENT,o=n.body?od(e,getComputedStyle(n.body).backgroundColor):op.TRANSPARENT,i="string"==typeof A?od(e,A):null===A?op.TRANSPARENT:0xffffffff;return t===n.documentElement?or(r)?or(o)?i:o:r:i};let lk=function(e,t){var A,n;return void 0===t&&(t={}),A=e,n=t,nH(void 0,void 0,void 0,function(){var e,t,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y,v,C,S,E,I,b,U,F,Q,T,D,O,M,x,L,R,V,N;return n_(this,function(H){switch(H.label){case 0:if(!A||"object"!=typeof A)return[2,Promise.reject("Invalid element provided as first argument")];if(!(e=A.ownerDocument))throw Error("Element is not attached to a Document");if(!(t=e.defaultView))throw Error("Document is not attached to a Window");if(r={allowTaint:null!=(C=n.allowTaint)&&C,imageTimeout:null!=(S=n.imageTimeout)?S:15e3,proxy:n.proxy,useCORS:null!=(E=n.useCORS)&&E},a=new lH(nN({logging:null==(I=n.logging)||I,cache:n.cache},r),i=new nP((o={windowWidth:null!=(b=n.windowWidth)?b:t.innerWidth,windowHeight:null!=(U=n.windowHeight)?U:t.innerHeight,scrollX:null!=(F=n.scrollX)?F:t.pageXOffset,scrollY:null!=(Q=n.scrollY)?Q:t.pageYOffset}).scrollX,o.scrollY,o.windowWidth,o.windowHeight)),s=null!=(T=n.foreignObjectRendering)&&T,l={allowTaint:null!=(D=n.allowTaint)&&D,onclone:n.onclone,ignoreElements:n.ignoreElements,inlineImages:s,copyStyles:s},a.logger.debug("Starting document clone with size "+i.width+"x"+i.height+" scrolled to "+-i.left+","+-i.top),!(u=(c=new sx(a,A,l)).clonedReferenceElement))return[2,Promise.reject("Unable to find element in cloned iframe")];return[4,c.toIFrame(e,i)];case 1:if(d=H.sent(),g=(p=ss(u)||"HTML"===u.tagName?nK(u.ownerDocument):nG(a,u)).width,m=p.height,f=p.left,h=p.top,w=l_(a,u,n.backgroundColor),B={canvas:n.canvas,backgroundColor:w,scale:null!=(M=null!=(O=n.scale)?O:t.devicePixelRatio)?M:1,x:(null!=(x=n.x)?x:0)+f,y:(null!=(L=n.y)?L:0)+h,width:null!=(R=n.width)?R:Math.ceil(g),height:null!=(V=n.height)?V:Math.ceil(m)},!s)return[3,3];return a.logger.debug("Document cloned, using foreign object rendering"),[4,new lR(a,B).render(u)];case 2:return y=H.sent(),[3,5];case 3:return a.logger.debug("Document cloned, element located at "+f+","+h+" with size "+g+"x"+m+" using computed rendering"),a.logger.debug("Starting DOM parsing"),v=a8(a,u),w===v.styles.backgroundColor&&(v.styles.backgroundColor=op.TRANSPARENT),a.logger.debug("Starting renderer for element at "+B.x+","+B.y+" with size "+B.width+"x"+B.height),[4,new lT(a,B).render(v)];case 4:y=H.sent(),H.label=5;case 5:return(null==(N=n.removeContainer)||N)&&!sx.destroy(d)&&a.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore"),a.logger.debug("Finished rendering"),[2,y]}})})},{downloadUrl:lP}=_.utils,lG="cornerstone-viewport-download-form",lK=[{value:"jpg",label:"JPG"},{value:"png",label:"PNG"}],lj=({hide:e,activeViewportId:t})=>{let{servicesManager:A}=(0,tV.useSystem)(),{customizationService:n,cornerstoneViewportService:r}=A.services,[o,i]=(0,D.useState)(!0),[a,s]=(0,D.useState)({width:512,height:512}),l=n.getCustomization("viewportDownload.warningMessage"),c=(0,q.kJ)(t),u=c?.element,{viewportId:d,renderingEngineId:p}=(0,x.getEnabledElement)(u),g=r.getRenderingEngine(),m=L.ToolGroupManager.getToolGroupForViewport(d,p);(0,D.useEffect)(()=>{let e=Object.keys(m.toolOptions).reduce((e,t)=>{let{mode:A,bindings:n}=m.toolOptions[t];return{...e,[t]:{mode:A,bindings:n}}},{});return()=>{Object.keys(e).forEach(t=>{let{mode:A,bindings:n}=e[t];try{m.setToolMode(t,A,{bindings:n})}catch(e){console.debug("Error restoring tool mode during cleanup:",t,e)}})}},[]);let f=async()=>{g.disableElement(lG)},h=async(e,t)=>{if(!u)return;let A=(0,x.getEnabledElement)(u);if(!A)return;let n=L.segmentation.state.getViewportSegmentationRepresentations(d),{viewport:r}=A,o=g.getViewport(lG);try{return await (0,nb.qU)(r).copyDisplayedContentTo(o),o.render(),n?.length&&n.forEach(e=>{let{segmentationId:t,colorLUTIndex:A,type:n}=e;n===L.Enums.SegmentationRepresentations.Labelmap&&L.segmentation.addLabelmapRepresentationToViewportMap({[o.id]:[{segmentationId:t,type:L.Enums.SegmentationRepresentations.Labelmap,config:{colorLUTOrIndex:A}}]}),n===L.Enums.SegmentationRepresentations.Contour&&L.segmentation.addContourRepresentationToViewportMap({[o.id]:[{segmentationId:t,type:L.Enums.SegmentationRepresentations.Contour,config:{colorLUTOrIndex:A}}]})}),{width:Math.min(e||512,1e4),height:Math.min(t||512,1e4)}}catch(e){console.error("Error loading image:",e)}};(0,D.useEffect)(()=>{a.width&&a.height&&setTimeout(()=>{h(a.width,a.height),(e=>{let t=(0,x.getEnabledElement)(u);if(!t)return;let A=g.getViewport(lG);if(!A)return;let{viewportId:n,renderingEngineId:r}=t,{id:o}=A,i=L.ToolGroupManager.getToolGroupForViewport(n,r);i.addViewport(o,r),Object.values(i.getToolInstances()).forEach(t=>{!1!==t.constructor.isAnnotation&&(e?i.setToolEnabled(t.toolName):i.setToolDisabled(t.toolName))})})(o),g.resize(),g.render()},100)},[a,o]);let w=async(e,t)=>{let A=document.querySelector(`div[data-viewport-uid="${lG}"]`);if(!A)return void console.debug("No viewport found for download");let n=`${e}.${t}`;lP((await lk(A)).toDataURL(`image/${t}`,1),{filename:n})},B=async()=>{let e=document.querySelector(`div[data-viewport-uid="${lG}"]`);if(!e)return void console.debug("No viewport found for copy");try{let t=await lk(e),A=await new Promise((e,A)=>{t.toBlob(t=>{t?e(t):A(Error("Failed to create blob from canvas"))},"image/png",1)});await navigator.clipboard.write([new ClipboardItem({"image/png":A})]),console.log("Image copied to clipboard successfully")}catch(e){throw console.error("Failed to copy image to clipboard:",e),e}},y=n.getCustomization("ohif.captureViewportModal");return D.createElement(y,{onClose:e,defaultSize:512,fileTypeOptions:lK,viewportId:lG,showAnnotations:o,onAnnotationsChange:i,dimensions:a,onDimensionsChange:s,onEnableViewport:e=>{if(!e)return;let{viewport:t}=(0,x.getEnabledElement)(u),A={viewportId:lG,element:e,type:t.type,defaultOptions:{background:t.defaultOptions.background,orientation:t.defaultOptions.orientation}};g.enableElement(A)},onDisableViewport:f,onDownload:w,onCopyToClipboard:B,warningState:l})};var lW=O(3359),lY=O.n(lW);async function lz({segmentation:e,segmentationId:t,readableText:A}){if(!e)return console.debug("No segmentation found for id:",t),null;let n=Object.keys(e.segments).map(e=>parseInt(e)).filter(e=>e>0);if(0===n.length)return console.debug("No segments found in segmentation:",t),null;let r=await L.utilities.segmentation.getStatistics({segmentationId:t,segmentIndices:n,mode:"individual"});if(!r)return null;let o=lY()(e),i=!1;return Object.entries(r).forEach(([e,t])=>{let n=parseInt(e);if(!o.segments[n])return void console.warn("Segment not found to update cached stats:",n);o.segments[n].cachedStats||(o.segments[n].cachedStats={},i=!0);let r=o.segments[n].cachedStats.namedStats||{};t.array&&(t.array.forEach(e=>{A[e.name]&&e&&e.name&&(r[e.name]={name:e.name,label:A[e.name],value:e.value,unit:e.unit,order:Object.keys(A).indexOf(e.name)})}),A.volume&&t.volume&&!r.volume&&(r.volume={name:"volume",label:"Volume",value:t.volume.value,unit:t.volume.unit,order:Object.keys(A).indexOf("volume")}),o.segments[n].cachedStats.namedStats=r,i=!0)}),i?o:null}let{downloadCsv:lX}=_.utils;function lJ(e,t,A,n){if(e<0||e>1||A<0||A>1)throw Error("x1 and x2 must be in the range [0, 1]");return function(r){var o,i,a,s;let l,c,u,d,p,g;if(r<=0)return 0;if(r>=1)return 1;if(e===t&&A===n)return r;return i=r,a=e,s=A,u=3*a,d=3*(s-a)-u,p=1-u-d,o=null!==(g=function(e){let t=e;for(let r=0;r<8;r++){var A,n;let r=((p*(A=t)+d)*A+u)*A-e;if(1e-6>Math.abs(r))return t;let o=(3*p*(n=t)+2*d)*n+u;if(1e-6>Math.abs(o))break;t-=r/o}return null}(i))?g:function(e){let t=0,A=1,n=e;for(;t<A;){var r;let o=((p*(r=n)+d)*r+u)*r;if(1e-6>Math.abs(o-e))break;e>o?t=n:A=n,n=(A-t)*.5+t}return n}(i),l=3*t,c=3*(n-t)-l,(((1-l-c)*o+c)*o+l)*o}}let lq=lJ(0,0,1,1),l$=lJ(.42,0,1,1),lZ=lJ(0,0,.58,1),l0=lJ(.42,0,.58,1),l1=lJ(.25,.1,.25,1);function l3(e){return function(t,A=0,n){return 0===A?e(t):A+(1-Math.abs(2*e(t)-1))*((n?A*n:1)-A)}}let l4=l3(lq),l2=l3(l1),l6=l3(l$),l9=l3(lZ),l8=l3(l0),l5=((B={}).EASE="ease",B.EASE_IN="ease-in",B.EASE_OUT="ease-out",B.EASE_IN_OUT="ease-in-out",B.LINEAR="linear",B),l7=new Map([[l5.EASE,l2],[l5.EASE_IN,l6],[l5.EASE_OUT,l9],[l5.EASE_IN_OUT,l8],[l5.LINEAR,l4]]);var ce=O(3545),ct=O.n(ce);async function cA(e,{viewportId:t,options:A={},segmentationType:n}){let{viewportGridService:r,displaySetService:o,segmentationService:i}=e.services,{viewports:a}=r.getState(),s=a.get(t),l=A.displaySetInstanceUID||s?.displaySetInstanceUIDs?.[0];if(!l)return;let c=i.getSegmentations(),u=A.label||`${ct().t("Tools:Segmentation")} ${c.length+1}`,d=A.segmentationId||`${x.utilities.uuidv4()}`,p=o.getDisplaySetByUID(l),g={label:u,segmentationId:d,segments:A.createInitialSegment?{1:{label:`${ct().t("Tools:Segment")} 1`,active:!0}}:{}},m=await (n===ta.SegmentationRepresentations.Labelmap?i.createLabelmapForDisplaySet(p,g):i.createContourForDisplaySet(p,g));return await i.addSegmentationRepresentation(t,{segmentationId:d,type:n}),m}var cn=O(1748);let{add:cr,intersect:co,subtract:ci,copy:ca}=L.utilities.contourSegmentation,{DefaultHistoryMemo:cs}=x.utilities.HistoryMemo,cl={imageSlice:function({servicesManager:e,viewports:t,syncId:A}){let{syncGroupService:n,viewportGridService:r,displaySetService:o,cornerstoneViewportService:i}=e.services;A||="IMAGE_SLICE_SYNC";let a=t||nv(r,o);if(a.some(e=>!!n.getSynchronizersForViewport(e.viewportOptions.viewportId).find(e=>e.id===A)))return function(e,t){let{syncGroupService:A,viewportGridService:n,displaySetService:r,cornerstoneViewportService:o}=t.services;nv(n,r).forEach(t=>{let{viewportId:n}=t.viewportOptions,r=o.getCornerstoneViewport(n);r&&A.removeViewportFromSyncGroup(r.id,r.getRenderingEngine().id,e)})}(A,e);a.forEach(e=>{let{viewportId:t}=e.viewportOptions,r=i.getCornerstoneViewport(t);r&&n.addViewportToSyncGroup(t,r.getRenderingEngine().id,{type:"imageSlice",id:A,source:!0,target:!0})})},voi:function({servicesManager:e,viewports:t,syncId:A}){let{syncGroupService:n,viewportGridService:r,displaySetService:o,cornerstoneViewportService:i}=e.services;for(let[a,s]of Object.entries(t||function(e,t){let{viewports:A}=e.getState();return[...A.values()].reduce((e,A)=>{let{displaySetInstanceUIDs:n}=A;if(!n?.length)return e;let r=n[0],o=t.getDisplaySetByUID(r).Modality;return e[o]||(e[o]=[]),e[o].push(A),e},{})}(r,o))){let t=A||nI(a);if(s.some(e=>!!n.getSynchronizersForViewport(e.viewportOptions.viewportId).find(e=>e.id===t)))return function(e,t,A){let{syncGroupService:n,cornerstoneViewportService:r}=A.services;e.forEach(e=>{let{viewportId:A}=e.viewportOptions,o=r.getCornerstoneViewport(A);o&&n.removeViewportFromSyncGroup(o.id,o.getRenderingEngine().id,t)})}(s,t,e);s.forEach(e=>{let{viewportId:A}=e.viewportOptions,r=i.getCornerstoneViewport(A);r&&n.addViewportToSyncGroup(A,r.getRenderingEngine().id,{type:"voi",id:t,source:!0,target:!0})})}}},{segmentation:cc}=L.utilities,cu=({toolGroupService:e})=>{let t=[];return e.getToolGroupIds().forEach(e=>{let A=L.ToolGroupManager.getToolGroup(e).getToolInstances();Object.keys(A).forEach(e=>{let n=A[e];n instanceof L.LabelmapBaseTool&&t.push(n)})}),t},cd=new z.ONNXSegmentationController({autoSegmentMode:!0,models:{sam_b:[{name:"sam-b-encoder",url:"https://huggingface.co/schmuell/sam-b-fp16/resolve/main/sam_vit_b_01ec64.encoder-fp16.onnx",size:180,key:"encoder"},{name:"sam-b-decoder",url:"https://huggingface.co/schmuell/sam-b-fp16/resolve/main/sam_vit_b_01ec64.decoder.onnx",size:17,key:"decoder"}]},modelName:"sam_b"}),cp=!1,cg={type:"voi",id:"mpr",source:!0,target:!0,options:{syncColormap:!0}},cm={type:"hydrateseg",id:"sameFORId",source:!0,target:!0,options:{matchingRules:["sameFOR"]}},cf={layoutType:"grid",properties:{rows:1,columns:3,layoutOptions:[{x:0,y:0,width:1/3,height:1},{x:1/3,y:0,width:1/3,height:1},{x:2/3,y:0,width:1/3,height:1}]}},ch={id:"mpr",name:AU.t("Hps:MPR"),locked:!0,icon:"layout-advanced-mpr",isPreset:!0,createdDate:"2021-02-23",modifiedDate:"2023-08-15",availableTo:{},editableBy:{},numberOfPriorsReferenced:0,protocolMatchingRules:[],imageLoadStrategy:"nth",callbacks:{},displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{name:"MPR 1x3",viewportStructure:cf,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"MPR Reformat 1x3",viewportStructure:cf,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial_reformat",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]}]}]},cw={id:"fourUp",locked:!0,name:AU.t("Hps:3D four up"),icon:"layout-advanced-3d-four-up",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"fourUpStage",name:"fourUp",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[cm]},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]}]}]},cB={id:"main3D",locked:!0,name:AU.t("Hps:3D main"),icon:"layout-advanced-3d-main",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"main3DStage",name:"main3D",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3,layoutOptions:[{x:0,y:0,width:1,height:.5},{x:0,y:.5,width:1/3,height:.5},{x:1/3,y:.5,width:1/3,height:.5},{x:2/3,y:.5,width:1/3,height:.5}]}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]}]}]},cy={id:"mprAnd3DVolumeViewport",locked:!0,name:AU.t("Hps:mpr"),createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0},{attribute:"Modality",constraint:{equals:{value:"CT"}},required:!0}]}},stages:[{id:"mpr3Stage",name:"mpr",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[cm]},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]}]}]},cv={id:"only3D",locked:!0,name:AU.t("Hps:3D only"),icon:"layout-advanced-3d-only",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"only3DStage",name:"only3D",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:1}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0,syncGroups:[cm]}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]}]}]},cC={id:"primary3D",locked:!0,name:AU.t("Hps:3D primary"),icon:"layout-advanced-3d-primary",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"primary3DStage",name:"primary3D",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:3,layoutOptions:[{x:0,y:0,width:2/3,height:1},{x:2/3,y:0,width:1/3,height:1/3},{x:2/3,y:1/3,width:1/3,height:1/3},{x:2/3,y:2/3,width:1/3,height:1/3}]}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]}]}]},cS={id:"primaryAxial",locked:!0,name:AU.t("Hps:Axial Primary"),icon:"layout-advanced-axial-primary",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"primaryAxialStage",name:"primaryAxial",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3,layoutOptions:[{x:0,y:0,width:2/3,height:1},{x:2/3,y:0,width:1/3,height:.5},{x:2/3,y:.5,width:1/3,height:.5}]}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cg,cm]},displaySets:[{id:"activeDisplaySet"}]}]}]},cE={id:"@ohif/frameView",description:AU.t("Hps:Frame view for the active series"),name:AU.t("Hps:Frame View"),icon:"tool-stack-scroll",isPreset:!0,toolGroupIds:["default"],protocolMatchingRules:[],displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{attribute:"numImageFrames",constraint:{greaterThan:{value:16}},required:!0},{attribute:"isDisplaySetFromUrl",weight:20,constraint:{equals:!0}}]}},defaultViewport:{viewportOptions:{viewportType:"stack",toolGroupId:"default",allowUnmatchedView:!0},displaySets:[{id:"activeDisplaySet"}]},stages:[{name:"frameView",id:"4x4",viewportStructure:{layoutType:"grid",properties:{rows:4,columns:4}},viewports:[{viewportOptions:{viewportId:"custom_R0_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:6}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:7}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:8}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:9}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:10}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:11}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:12}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:13}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:14}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:15}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"3x3",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:6}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:7}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:8}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"3x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"2x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"1x3",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"1x2",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:2}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]}]}]};var cI=O(8228);let cb=({displaySet:e,showModality:t=!0,dataCY:A=`${e.label}-${e.Modality}`})=>D.createElement("div",{className:"flex w-[90%] items-center justify-between","data-cy":A},D.createElement("span",{className:"text-foreground truncate text-base"},e.label),t&&e.Modality&&D.createElement("span",{className:"text-muted-foreground flex-shrink-0 whitespace-nowrap text-xs"},e.Modality));var cU=O(9227);let cF=function({viewportId:e}){let{commandsManager:t,servicesManager:A}=(0,_.useSystem)(),{t:n}=tR(),[r,o]=(0,D.useState)([]),[i,a]=(0,D.useState)([]),{toggleColorbar:s}=(0,cU.eH)(e),{hangingProtocolService:l,toolbarService:c}=A.services,{backgroundDisplaySet:u,potentialOverlayDisplaySets:d,potentialForegroundDisplaySets:p,potentialBackgroundDisplaySets:g,overlayDisplaySets:m,foregroundDisplaySets:f}=(0,cI.N)(e),[h,w]=(0,D.useState)(m),[B,y]=(0,D.useState)(!1);(0,D.useEffect)(()=>{w(m)},[u?.displaySetInstanceUID,m]);let v=(A,n)=>{t.runCommand("removeDisplaySetLayer",{viewportId:e,displaySetInstanceUID:A}),setTimeout(()=>{t.runCommand("addDisplaySetAsLayer",{viewportId:e,displaySetInstanceUID:n})},0)},C=A=>{-1!==h.findIndex(e=>e.displaySetInstanceUID===A)&&w(e=>e.filter(e=>e.displaySetInstanceUID!==A)),t.runCommand("removeDisplaySetLayer",{viewportId:e,displaySetInstanceUID:A})},S=A=>{t.runCommand("addDisplaySetAsLayer",{viewportId:e,displaySetInstanceUID:A})},E=!!c.getButton("AdvancedRenderingControls"),I=!!c.getButton("opacityMenu");return D.createElement("div",{className:"bg-popover flex h-full w-[275px] flex-col rounded rounded-md p-1.5","data-cy":`viewport-data-overlay-menu-${e}`},D.createElement("div",{className:"flex"},D.createElement(th.Button,{variant:"ghost",className:"text-primary flex items-center p-1",onClick:()=>{o([...r,`pending-${Date.now()}`])},disabled:0===p.length},D.createElement(th.Icons.Plus,{className:"h-4 w-4"}),n("Common:Foreground")),D.createElement(th.Button,{variant:"ghost",className:"text-primary ml-2 flex items-center",disabled:0===d.length,onClick:()=>{a([...i,`seg-${Date.now()}`])},dataCY:`AddSegmentationDataOverlay-${e}`},D.createElement(th.Icons.Plus,{className:"h-4 w-4"}),n("Tools:Segmentation"))),D.createElement("div",{className:""},D.createElement("div",{className:"my-2 ml-1"},h.map(e=>D.createElement("div",{key:e.displaySetInstanceUID,className:"mb-1 flex items-center"},D.createElement(th.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(th.Select,{value:e.displaySetInstanceUID,onValueChange:t=>((e,t)=>{if(t===e.displaySetInstanceUID)return;let A=d.find(e=>e.displaySetInstanceUID===t);A&&(w(t=>{let n=t.findIndex(t=>t.displaySetInstanceUID===e.displaySetInstanceUID);return[...t.slice(0,n),A,...t.slice(n+1)]}),v(e.displaySetInstanceUID,A.displaySetInstanceUID))})(e,t)},D.createElement(th.SelectTrigger,{className:"flex-1"},D.createElement(th.SelectValue,{"data-cy":`overlay-ds-select-value-${e.label?.toUpperCase()}`},e.label?.toUpperCase())),D.createElement(th.SelectContent,null,D.createElement(th.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cb,{displaySet:e})),d.map(e=>D.createElement(th.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cb,{displaySet:e}))))),D.createElement(th.DropdownMenu,null,D.createElement(th.DropdownMenuTrigger,{asChild:!0},D.createElement(th.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",dataCY:`overlay-ds-more-button-${e.label?.toUpperCase()}`},D.createElement(th.Icons.More,{className:"h-4 w-4"}))),D.createElement(th.DropdownMenuContent,{align:"start"},D.createElement(th.DropdownMenuItem,{"data-cy":`overlay-ds-remove-button-${e.label?.toUpperCase()}`,onClick:()=>C(e.displaySetInstanceUID)},"Remove"))))),i.map(e=>D.createElement("div",{key:e,className:"mb-2 flex items-center"},D.createElement(th.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(th.Select,{value:"",onValueChange:t=>{let A;(A=d.find(e=>e.displaySetInstanceUID===t))&&(w(e=>[...e,A]),S(A.displaySetInstanceUID),a(i.filter(t=>t!==e)))}},D.createElement(th.SelectTrigger,{className:"flex-1"},D.createElement(th.SelectValue,{placeholder:n("Common:SELECT A SEGMENTATION")})),D.createElement(th.SelectContent,null,d.map(e=>D.createElement(th.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cb,{displaySet:e,dataCY:`${e.label}`}))))),D.createElement(th.DropdownMenu,null,D.createElement(th.DropdownMenuTrigger,{asChild:!0},D.createElement(th.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0"},D.createElement(th.Icons.More,{className:"h-4 w-4"}))),D.createElement(th.DropdownMenuContent,{align:"start"},D.createElement(th.DropdownMenuItem,{onClick:()=>{a(i.filter(t=>t!==e))}},"Cancel")))))),D.createElement("div",{className:"my-2 px-1"},f.map((e,t)=>D.createElement("div",{key:e.displaySetInstanceUID,className:"mb-1 flex items-center"},D.createElement(th.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(th.Select,{value:e.displaySetInstanceUID,onValueChange:t=>((e,t)=>{if(t===e.displaySetInstanceUID)return;let A=p.find(e=>e.displaySetInstanceUID===t);A&&v(e.displaySetInstanceUID,A.displaySetInstanceUID)})(e,t)},D.createElement(th.SelectTrigger,{className:"flex-1"},D.createElement(th.SelectValue,null,e.label?.toUpperCase())),D.createElement(th.SelectContent,null,D.createElement(th.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cb,{displaySet:e})),p.map(e=>D.createElement(th.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cb,{displaySet:e}))))),D.createElement(th.DropdownMenu,null,D.createElement(th.DropdownMenuTrigger,{asChild:!0},D.createElement(th.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0"},D.createElement(th.Icons.More,{className:"h-4 w-4"}))),D.createElement(th.DropdownMenuContent,{align:"start"},D.createElement(th.DropdownMenuItem,{onClick:()=>C(e.displaySetInstanceUID)},"Remove"))))),r.map(e=>D.createElement("div",{key:e,className:"mb-2 flex items-center"},D.createElement(th.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(th.Select,{value:"",onValueChange:t=>{let A;(A=p.find(e=>e.displaySetInstanceUID===t))&&(S(A.displaySetInstanceUID),o(r.filter(t=>t!==e)))}},D.createElement(th.SelectTrigger,{className:"flex-1"},D.createElement(th.SelectValue,{placeholder:n("Common:SELECT A FOREGROUND")})),D.createElement(th.SelectContent,null,p.map(e=>D.createElement(th.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cb,{displaySet:e}))))),D.createElement(th.DropdownMenu,null,D.createElement(th.DropdownMenuTrigger,{asChild:!0},D.createElement(th.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0"},D.createElement(th.Icons.More,{className:"h-4 w-4"}))),D.createElement(th.DropdownMenuContent,{align:"start"},D.createElement(th.DropdownMenuItem,{onClick:()=>{o(r.filter(t=>t!==e))}},"Cancel")))))),D.createElement("div",{className:"mt-1 mb-1 flex items-center px-1"},D.createElement(th.Icons.LayerBackground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(th.Select,{value:u?.displaySetInstanceUID,onValueChange:A=>{let n,r=g.find(e=>e.displaySetInstanceUID===A);r&&(n=l.getViewportsRequireUpdate(e,r.displaySetInstanceUID),t.run("setDisplaySetsForViewports",{viewportsToUpdate:n}))}},D.createElement(th.SelectTrigger,{className:"flex-1","data-cy":`overlay-background-ds-select-${e}`},D.createElement(th.SelectValue,null,(u?.SeriesDescription||u?.label||"background").toUpperCase())),D.createElement(th.SelectContent,null,g.map(e=>D.createElement(th.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cb,{displaySet:e}))))))),f.length>0&&(E||I)&&D.createElement("div",{className:"mt-1 ml-7"},D.createElement("div",{className:"flex items-center"},D.createElement(th.Switch,{id:"threshold-opacity-switch",className:"mr-2",checked:B,onCheckedChange:()=>{E&&s(),y(!B)}}),D.createElement("label",{htmlFor:"threshold-opacity-switch",className:"text-muted-foreground cursor-pointer text-sm",onClick:()=>y(!B)},"Control threshold & opacity"))))};function cQ(){return(cQ=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}function cT(e){let{viewportId:t,location:A,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{viewportDisplaySets:s}=(0,cI.N)(t),{IconContainer:l,className:c,containerProps:u}=(0,th.useIconPresentation)(),{servicesManager:d}=(0,_.useSystem)(),{toolbarService:p}=d.services,{align:g,side:m}=p.getAlignAndSide(A),f=D.createElement(th.Icons.ViewportViews,{className:c}),h=a.id?{id:`${a.id}-${t}`}:{};return D.createElement(th.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(th.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,l?D.createElement(l,cQ({disabled:i,icon:"ViewportViews"},a,u,h),f):D.createElement(th.Button,{variant:"ghost",size:"icon",disabled:i},f))),D.createElement(th.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:m,align:g,alignOffset:0,sideOffset:5},D.createElement(cF,{className:"w-full",viewportId:t,displaySets:s})))}function cD(){return(cD=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}let cO=function({location:e,viewportId:t,displaySets:A,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}){let{servicesManager:s,commandsManager:l}=(0,_.useSystem)(),{cornerstoneViewportService:c,toolbarService:u}=s.services,d=c.getViewportInfo(t).getOrientation(),[p]=(0,th.useViewportGrid)(),g=t||p.activeViewportId,{IconContainer:m,className:f,containerProps:h}=(0,th.useIconPresentation)(),[w,B]=D.useState("string"==typeof d?d:"axial"),y=e=>{let t;if(B(e),!A.length)return;if(!A.some(e=>e.isReconstructable))return void console.warn("Cannot change orientation: No reconstructable display sets in viewport");switch(e.toLowerCase()){case"axial":t=x.Enums.OrientationAxis.AXIAL;break;case"sagittal":t=x.Enums.OrientationAxis.SAGITTAL;break;case"coronal":t=x.Enums.OrientationAxis.CORONAL;break;case"reformat":t=x.Enums.OrientationAxis.REFORMAT;break;default:t=x.Enums.OrientationAxis.ACQUISITION}let n=A.map(e=>e.displaySetInstanceUID),r=c.getCornerstoneViewport(g);if(r&&(0,nb.qU)(r).canReorientInPlace())l.runCommand("setViewportOrientation",{viewportId:g,orientation:t});else{let e={viewportId:g,displaySetInstanceUIDs:n,viewportOptions:{viewportType:x.Enums.ViewportType.ORTHOGRAPHIC,orientation:t},displaySetOptions:n.map(()=>({}))};l.run("setDisplaySetsForViewports",{viewportsToUpdate:[e]})}o?.()};if(!A.length)return null;let{align:v,side:C}=u.getAlignAndSide(Number(e)),S=D.createElement((e=>{switch(e.toLowerCase()){case"axial":return th.Icons.OrientationSwitchA;case"sagittal":return th.Icons.OrientationSwitchS;case"coronal":return th.Icons.OrientationSwitchC;case"reformat":return th.Icons.OrientationSwitchR;default:return th.Icons.OrientationSwitch}})(w),{className:f});return D.createElement(th.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(th.PopoverTrigger,{asChild:!0,className:(0,th.cn)("flex items-center justify-center")},D.createElement("div",null,m?D.createElement(m,cD({disabled:i,icon:"OrientationSwitch"},a,h),S):D.createElement(th.Button,{variant:"ghost",size:"icon",disabled:i,onClick:()=>{}},S))),D.createElement(th.PopoverContent,{className:"h-[170px] w-[130px] flex-shrink-0 flex-col items-start rounded p-1",align:v,side:C,style:{left:0}},D.createElement(th.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("axial")},D.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"axial"===w?D.createElement(th.Icons.Checked,{className:"text-primary h-6 w-6"}):null),D.createElement("div",{className:"flex-1 text-left"},"Axial")),D.createElement(th.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("sagittal")},D.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"sagittal"===w?D.createElement(th.Icons.Checked,{className:"text-primary h-6 w-6"}):null),D.createElement("div",{className:"flex-1 text-left"},"Sagittal")),D.createElement(th.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("coronal")},D.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"coronal"===w?D.createElement(th.Icons.Checked,{className:"text-primary h-6 w-6"}):null),D.createElement("div",{className:"flex-1 text-left"},"Coronal")),D.createElement(th.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("acquisition")},D.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"acquisition"===w?D.createElement(th.Icons.Checked,{className:"text-primary h-6 w-6"}):null),D.createElement("div",{className:"flex-1 text-left"},"Acquisition")),D.createElement("div",{className:"border-input mx-1 my-2 border-t"}),D.createElement(th.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:()=>y("reformat")},D.createElement("div",{className:"mr-1 flex w-6 items-center justify-start"},"reformat"===w?D.createElement(th.Icons.Checked,{className:"text-primary h-6 w-6"}):null),D.createElement("div",{className:"flex-1 text-left"},"Reformat"))))};function cM(){return(cM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}function cx(e){let{viewportId:t}=e,{viewportDisplaySets:A}=(0,cI.N)(t);return A.length?D.createElement(cO,cM({},e,{displaySets:A})):null}var cL=O(154);function cR({viewportId:e}={}){let{viewportDisplaySets:t}=(0,cL.e)(e),{t:A}=tR("WindowLevelActionMenu"),[n,r]=(0,D.useState)(t?.[0]?.displaySetInstanceUID),{colorbarProperties:o,setColormap:i}=(0,cL.e)(e,{displaySetInstanceUID:n}),{colormaps:a}=o,[s,l]=(0,D.useState)(!1),[c,u]=(0,D.useState)(null),[d,p]=(0,D.useState)(null),g=(0,D.useRef)(s);g.current=s;let m=(0,D.useRef)(c);m.current=c;let f=(0,D.useRef)(d);f.current=d,(0,D.useEffect)(()=>{p(null),u(null)},[n]);let h=(e,A=!0)=>{let n=t.length>1&&!["Grayscale","X Ray"].includes(e.name)?.5:1;i({colormap:e,opacity:n,immediate:A})};return D.createElement(D.Fragment,null,t&&t.length>1&&D.createElement("div",{className:"flex h-8 w-full flex-shrink-0 items-center justify-center px-2 text-base"},D.createElement(th.Tabs,{value:n,onValueChange:e=>{r(e),u(null)}},D.createElement(th.TabsList,null,t.map(e=>D.createElement(th.TabsTrigger,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},e.Modality))))),D.createElement("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",onClick:()=>l(!s)},D.createElement("span",{className:"flex-shrink-0"},A("Preview in viewport")),D.createElement(th.Switch,{className:"ml-auto flex-shrink-0",checked:s,onCheckedChange:e=>{l(e),!e&&f.current&&h(f.current)}})),D.createElement(th.AllInOneMenu.DividerItem,null),D.createElement("div",{className:"h-[300px] flex-grow"},D.createElement(th.ScrollArea,{className:"h-full w-full"},D.createElement("div",{className:"p-1"},a.map((e,t)=>D.createElement(th.AllInOneMenu.Item,{key:t,label:A(`Colormaps:${e.Name}`,{defaultValue:e.Name}),useIconSpace:!1,onClick:()=>{p(e),h(e),u(null)},onMouseEnter:()=>{g.current&&(m.current||u(e),h(e))},onMouseLeave:()=>{g.current&&m.current&&h(m.current)}}))))))}function cV({viewportId:e}={}){let{hasColorbar:t,toggleColorbar:A}=(0,cL.e)(e),{t:n}=tR("WindowLevelActionMenu"),r=(0,D.useCallback)(()=>{A()},[A]);return D.createElement("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded"},D.createElement("div",{className:"flex w-7 flex-shrink-0 items-center justify-center"}),D.createElement("span",{className:"flex-grow",onClick:r},n("Display Color bar")),D.createElement(th.Switch,{className:"ml-2 flex-shrink-0",checked:!!t,onCheckedChange:r}))}function cN({viewportId:e}={}){let{t}=tR("WindowLevelActionMenu"),{viewportDisplaySets:A,foregroundDisplaySets:n}=(0,cI.N)(e),r=n?.length>0?n[n.length-1].displaySetInstanceUID:A?.[0]?.displaySetInstanceUID,[o,i]=(0,D.useState)(r),a=(0,D.useRef)(!1);(0,D.useEffect)(()=>{let e=A?.some(e=>e.displaySetInstanceUID===o);if(o&&A?.length&&!e){a.current=!1,i(r);return}!a.current&&r&&o!==r&&i(r)},[o,r,A]);let{windowLevelPresets:s,setWindowLevel:l}=(0,cL.e)(e,{displaySetInstanceUID:o}),[c,u]=(0,D.useState)(!1),[d,p]=(0,D.useState)(null),[g,m]=(0,D.useState)(null),f=(0,D.useRef)(c);f.current=c;let h=(0,D.useRef)(d);h.current=d;let w=(0,D.useRef)(g);w.current=g,(0,D.useEffect)(()=>{m(null),p(null)},[o]);let B=(e,t=!1)=>{l({windowWidth:Number(e.window),windowCenter:Number(e.level),immediate:t})};return D.createElement(D.Fragment,null,A&&A.length>1&&D.createElement("div",{className:"flex h-8 w-full flex-shrink-0 items-center justify-center px-2 text-base"},D.createElement(th.Tabs,{value:o,onValueChange:e=>{a.current=!0,i(e)}},D.createElement(th.TabsList,null,A.map(e=>D.createElement(th.TabsTrigger,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},e.Modality))))),D.createElement("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",onClick:()=>u(!c)},D.createElement("span",{className:"flex-shrink-0"},t("Preview in viewport")),D.createElement(th.Switch,{className:"ml-auto flex-shrink-0",checked:c,onCheckedChange:e=>{u(e),!e&&w.current&&B(w.current,!0)}})),D.createElement(th.AllInOneMenu.DividerItem,null),D.createElement("div",{className:"h-[175px] flex-grow"},D.createElement(th.ScrollArea,{className:"h-full w-full"},D.createElement("div",{className:"p-1"},s.map((e,A)=>D.createElement(th.AllInOneMenu.Item,{key:A,label:t(e.description),secondaryLabel:`${e.window} / ${e.level}`,useIconSpace:!1,onClick:()=>{m(e),B(e,!0),p(null)},onMouseEnter:()=>{f.current&&(h.current||p(w.current||e),B(e,!0))},onMouseLeave:()=>{f.current&&h.current&&B(h.current,!0)}}))))))}function cH({presets:e,viewportId:t,hide:A}){let{commandsManager:n}=(0,_.useSystem)(),[r,o]=(0,D.useState)(""),[i,a]=(0,D.useState)(null),{t:s}=tR("WindowLevelActionMenu"),l=(0,D.useCallback)(e=>{o(e.target.value)},[]),c=(0,D.useCallback)(e=>{n.runCommand("setViewportPreset",{...e})},[n]),u=r?e.filter(e=>e.name.toLowerCase().includes(r.toLowerCase())):e;return D.createElement(th.PresetDialog,{className:"h-[500px]"},D.createElement(th.PresetDialog.PresetBody,null,D.createElement(th.PresetDialog.PresetFilter,null,D.createElement(th.PresetDialog.PresetSearch,{value:r,onChange:l,placeholder:s("Search all","Search all")})),D.createElement(th.PresetDialog.PresetGrid,null,u.map((e,A)=>{let n;return D.createElement("div",{key:A,className:"flex cursor-pointer flex-col items-start",onClick:()=>{a(e),c({preset:e.name,viewportId:t})}},D.createElement(th.Icons.ByName,{name:e.name,className:i?.name===e.name?"border-highlight h-[75px] w-[95px] max-w-none rounded border-2":"hover:border-highlight h-[75px] w-[95px] max-w-none rounded border-2 border-background"}),D.createElement("label",{className:"text-muted-foreground mt-1 text-left text-xs"},(n=e.name,n.length>11?`${n.slice(0,11)}...`:n)))}))),D.createElement(th.FooterAction,{className:"mt-4 flex-shrink-0"},D.createElement(th.FooterAction.Right,null,D.createElement(th.FooterAction.Secondary,{onClick:A},s("Common:Cancel")))))}function c_({viewportId:e}={}){let{volumeRenderingPresets:t}=(0,cL.e)(e),{servicesManager:A}=(0,_.useSystem)(),{uiDialogService:n}=A.services,{t:r}=tR("WindowLevelActionMenu");return D.createElement(th.AllInOneMenu.Item,{label:r("Rendering Presets"),icon:D.createElement(th.Icons.VolumeRendering,null),rightIcon:D.createElement(th.Icons.ByName,{name:"action-new-dialog"}),onClick:()=>{n.show({id:"volume-rendering-presets",content:cH,title:r("Rendering Presets"),isDraggable:!0,contentProps:{presets:t,viewportId:e}})}})}function ck({volumeRenderingQualityRange:e,viewportId:t}){let{servicesManager:A,commandsManager:n}=(0,_.useSystem)(),{cornerstoneViewportService:r}=A.services,{min:o,max:i,step:a}=e,[s,l]=(0,D.useState)(null),{t:c}=tR("WindowLevelActionMenu"),u=(0,D.useCallback)(e=>{n.runCommand("setVolumeRenderingQulaity",{viewportId:t,volumeQuality:e}),l(e)},[n,t]);return(0,D.useEffect)(()=>{let{actor:e}=r.getCornerstoneViewport(t).getActors()[0],A=e.getMapper(),n=A.getInputData().getSpacing(),o=A.getSampleDistance(),i=n.reduce((e,t)=>e+t)/3;o===i?l(1):l(Math.sqrt(i/(.5*o)))},[r,t]),D.createElement("div",{className:"my-1 mt-2 flex flex-col space-y-2"},null!==s&&D.createElement("div",{className:"w-full pl-2 pr-1"},D.createElement(th.Numeric.Container,{mode:"singleRange",min:o,max:i,step:a,value:s,onChange:u},D.createElement("div",{className:"flex flex-row items-center"},D.createElement(th.Numeric.Label,{className:"w-16"},c("Quality")),D.createElement(th.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})))))}function cP({viewportId:e}){let{servicesManager:t,commandsManager:A}=(0,_.useSystem)(),{cornerstoneViewportService:n}=t.services,[r,o]=(0,D.useState)(null),[i,a]=(0,D.useState)(null),[s,l]=(0,D.useState)(n.getCornerstoneViewport(e)?.shiftedBy||0),[c,u]=(0,D.useState)(null),[d,p]=(0,D.useState)(!1),g=(0,D.useRef)(s),m=n.getCornerstoneViewport(e),{actor:f}=m.getActors()[0],h=f.getProperty().getScalarOpacity(0),{t:w}=tR("WindowLevelActionMenu");(0,D.useEffect)(()=>{if(d)return;let e=h.getRange(),t=e[1]-e[0];o(-t),a(t),u(Math.pow(10,Math.floor(Math.log10(t/500))))},[n,e,f,h,d]);let B=(0,D.useCallback)(t=>{let n=t-g.current;g.current=t,m.shiftedBy=t,A.runCommand("shiftVolumeOpacityPoints",{viewportId:e,shift:n}),l(t)},[A,e,m]);return D.createElement("div",{className:"my-1 mt-2 flex flex-col space-y-2"},null!==c&&null!==r&&null!==i&&D.createElement("div",{className:"w-full pl-2 pr-1"},D.createElement(th.Numeric.Container,{mode:"singleRange",min:r,max:i,step:c,value:s,onChange:B,onMouseDown:()=>p(!0),onMouseUp:()=>p(!1)},D.createElement("div",{className:"flex flex-row items-center"},D.createElement(th.Numeric.Label,{className:"w-16"},w("Shift")),D.createElement(th.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})))))}function cG({viewportId:e,hasShade:t}){let{servicesManager:A,commandsManager:n}=(0,_.useSystem)(),{cornerstoneViewportService:r}=A.services,[o,i]=(0,D.useState)({ambient:null,diffuse:null,specular:null}),{t:a}=tR("WindowLevelActionMenu"),s=(0,D.useCallback)((t,A)=>{n.runCommand("setVolumeLighting",{viewportId:e,options:{[t]:A}}),i(e=>({...e,[t]:A}))},[n,e]);(0,D.useEffect)(()=>{let{actor:t}=r.getCornerstoneViewport(e).getActors()[0],A=t.getProperty();i({ambient:A.getAmbient(),diffuse:A.getDiffuse(),specular:A.getSpecular()})},[e,r]);let l=t?"":"ohif-disabled !opacity-40",c=[{key:"ambient",label:a("Ambient")},{key:"diffuse",label:a("Diffuse")},{key:"specular",label:a("Specular")}];return D.createElement("div",{className:"my-1 mt-2 flex flex-col space-y-2"},c.map(({key:e,label:t})=>null!==o[e]&&D.createElement("div",{key:e,className:`w-full pl-2 pr-1 ${l}`},D.createElement(th.Numeric.Container,{mode:"singleRange",min:0,max:1,step:.1,value:o[e],onChange:t=>s(e,t)},D.createElement("div",{className:"flex flex-row items-center"},D.createElement(th.Numeric.Label,{className:"w-16"},t),D.createElement(th.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"}))))))}function cK({viewportId:e,onClickShade:t=e=>{}}){let{t:A}=tR("WindowLevelActionMenu"),{servicesManager:n,commandsManager:r}=(0,_.useSystem)(),{cornerstoneViewportService:o}=n.services,[i,a]=(0,D.useState)(!0),[s,l]=(0,D.useState)(0),c=(0,D.useCallback)(t=>{r.runCommand("setVolumeLighting",{viewportId:e,options:{shade:t}})},[r,e]);return(0,D.useEffect)(()=>{let{actor:A}=o.getCornerstoneViewport(e).getActors()[0],n=A.getProperty().getShade();a(n),t(n),l(s+1)},[e,o]),D.createElement(D.Fragment,null,D.createElement("span",{className:"flex-grow"},A("Shade")),D.createElement(th.Switch,{className:"ml-2 flex-shrink-0",key:s,checked:i,onCheckedChange:()=>{a(!i),t(!i),c(!i)}}))}function cj({viewportId:e}={}){let{volumeRenderingQualityRange:t}=(0,cL.e)(e),[A,n]=(0,D.useState)(!1),{t:r}=tR("WindowLevelActionMenu");return D.createElement(th.AllInOneMenu.ItemPanel,null,D.createElement(ck,{viewportId:e,volumeRenderingQualityRange:t}),D.createElement(cP,{viewportId:e}),D.createElement("div",{className:"mt-2 flex h-8 !h-[20px] w-full flex-shrink-0 items-center justify-start px-2 text-base"},D.createElement("div",{className:"text-muted-foreground text-sm"},r("Lighting"))),D.createElement("div",{className:"bg-background mt-1 mb-1 h-px w-full"}),D.createElement("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 items-center px-2 text-base hover:rounded"},D.createElement(cK,{viewportId:e,onClickShade:n})),D.createElement(cG,{viewportId:e,hasShade:A}))}function cW({viewportId:e,align:t,side:A,onVisibilityChange:n}){return D.createElement(cY,{viewportId:e,align:t,side:A,onVisibilityChange:n})}function cY({viewportId:e,align:t,side:A,onVisibilityChange:n}){let{t:r}=tR("WindowLevelActionMenu"),o=(0,D.useMemo)(()=>`${e}`,[e]),{is3DVolume:i,colorbarProperties:a,windowLevelPresets:s,volumeRenderingPresets:l,volumeRenderingQualityRange:c}=(0,cL.e)(e);return D.createElement(th.AllInOneMenu.Menu,{key:o,isVisible:!0,align:t,side:A,backLabel:AU.t("WindowLevelActionMenu:Back to Display Options"),onVisibilityChange:n},D.createElement(th.AllInOneMenu.ItemPanel,null,!i&&D.createElement(cV,{viewportId:e}),a?.colormaps&&!i&&D.createElement(th.AllInOneMenu.SubMenu,{key:"colorLUTPresets",itemLabel:r("Color LUT"),itemIcon:"icon-color-lut",className:"flex h-[calc(100%-32px)] flex-col"},D.createElement(cR,{viewportId:e})),s?.length>0&&!i&&D.createElement(th.AllInOneMenu.SubMenu,{key:"windowLevelPresets",itemLabel:r("Modality Window Presets"),itemIcon:"viewport-window-level"},D.createElement(cN,{viewportId:e})),l&&i&&D.createElement(c_,{viewportId:e}),c&&i&&D.createElement(th.AllInOneMenu.SubMenu,{itemLabel:r("Rendering Options")},D.createElement(cj,{viewportId:e}))))}function cz(){return(cz=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}function cX(e){let{viewportId:t,location:A,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,isEmbedded:a=!1,onInteraction:s,hasEmbeddedVariantToUse:l,...c}=e,[u]=(0,th.useViewportGrid)(),d=t||u.activeViewportId,{viewportDisplaySets:p}=(0,cI.N)(d),{servicesManager:g}=(0,_.useSystem)(),{toolbarService:m}=g.services,{IconContainer:f,className:h,containerProps:w}=(0,th.useIconPresentation)(),{hasColorbar:B,toggleColorbar:y}=(0,cU.eH)(t),v=e=>{let t=B&&!a;if(n&&t&&e){y(),o?.();return}!n&&e&&t?y():e?r?.():o?.()},{align:C,side:S}=m.getAlignAndSide(A);if(0===p.map(e=>e.supportsWindowLevel).length)return null;let E=B&&!a&&l?D.createElement(th.Icons.Close,{className:h}):D.createElement(th.Icons.ViewportWindowLevel,{className:h});return D.createElement(th.Popover,{open:n,onOpenChange:v},D.createElement(th.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,f?D.createElement(f,cz({disabled:i},c,w),E):D.createElement(th.Button,{variant:"ghost",size:"icon",disabled:i},E))),D.createElement(th.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:S,align:C,alignOffset:0,sideOffset:5},D.createElement(cW,{viewportId:d,align:C,side:S,onVisibilityChange:v})))}let cJ="minmax",cq="manual",c$=function({viewportId:e,className:t}){let{servicesManager:A}=(0,_.useSystem)(),{displaySetService:n}=A.services,[r,o]=(0,D.useState)(cJ),{viewportDisplaySets:i}=(0,cI.N)(e),[a,s]=(0,D.useState)(i.length>0?i[0].displaySetInstanceUID:void 0),{voiRange:l,setVOIRange:c,windowLevel:u,setWindowLevel:d}=(0,cL.e)(e,{displaySetInstanceUID:a});if((0,D.useEffect)(()=>{i.length>0&&!a&&s(i[0].displaySetInstanceUID)},[i,a]),!l)return null;let{upper:p,lower:g}=l,{windowWidth:m,windowCenter:f}=u,h=n.getDisplaySetByUID(a)?.imageIds,w=1/0,B=-1/0;if(h)for(let e of h){let t=x.cache.getImage(e);t&&(w=Math.min(w,t.minPixelValue),B=Math.max(B,t.maxPixelValue))}(w===1/0||B===-1/0)&&(w=0,B=255);let y=i.find(e=>e.displaySetInstanceUID===a);return D.createElement("div",{className:t},D.createElement("div",{className:"bg-popover w-72 rounded-lg p-4 shadow-md"},D.createElement(th.Tabs,{defaultValue:r,onValueChange:o},D.createElement("div",{className:"mb-4 flex items-center space-x-2"},i.length>1&&D.createElement(th.Select,{value:a,onValueChange:s},D.createElement(th.SelectTrigger,null,D.createElement(th.SelectValue,null,y?.label||"Select Display Set")),D.createElement(th.SelectContent,null,i.map(e=>D.createElement(th.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},`${e.SeriesDescription||""}`.trim())))),D.createElement(th.TabsList,{className:"w-full flex-1"},D.createElement(th.TabsTrigger,{value:cJ,className:"flex-1"},"Min/Max"),D.createElement(th.TabsTrigger,{value:cq,className:"flex-1"},"Manual"))),D.createElement(th.TabsContent,{value:cJ},D.createElement(th.Numeric.Container,{mode:"doubleRange",min:w,max:B,values:[g,p],step:1,className:"space-y-1",onChange:e=>{let[t,A]=e;(t!==g||A!==p)&&c({lower:t,upper:A})}},D.createElement(th.Numeric.DoubleRange,{showNumberInputs:!0}))),D.createElement(th.TabsContent,{value:cq},D.createElement("div",{className:"space-y-1"},D.createElement(th.Numeric.Container,{mode:"singleRange",min:0,max:B,step:1,value:m,className:"space-y-1",onChange:e=>{e!==m&&d({windowWidth:e,windowCenter:f})}},D.createElement("div",{className:"flex items-center space-x-2"},D.createElement(th.Numeric.Label,null,"W:"),D.createElement(th.Numeric.SingleRange,{showNumberInput:!0}))),D.createElement(th.Numeric.Container,{mode:"singleRange",min:w,max:B,step:1,value:f,className:"space-y-1",onChange:e=>{e!==f&&d({windowWidth:m,windowCenter:e})}},D.createElement("div",{className:"flex items-center space-x-2"},D.createElement(th.Numeric.Label,null,"L:"),D.createElement(th.Numeric.SingleRange,{showNumberInput:!0}))))))))};function cZ(){return(cZ=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}function c0(e){let{viewportId:t,location:A,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{IconContainer:s,className:l,containerProps:c}=(0,th.useIconPresentation)(),{servicesManager:u}=(0,_.useSystem)(),{toolbarService:d}=u.services,{align:p,side:g}=d.getAlignAndSide(A),m=D.createElement(th.Icons.WindowLevelAdvanced,{className:l});return D.createElement(th.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(th.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,s?D.createElement(s,cZ({disabled:i,icon:"WindowLevelAdvanced"},a,c),m):D.createElement(th.Button,{variant:"ghost",size:"icon",disabled:i},m))),D.createElement(th.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:g,align:p,alignOffset:0,sideOffset:5},D.createElement(c$,{className:"w-full",viewportId:t})))}let c1=function({viewportId:e,className:t}){let{viewportDisplaySets:A,foregroundDisplaySets:n}=(0,cI.N)(e),[r,o]=(0,D.useState)(n.length>0?n[0].displaySetInstanceUID:void 0),{threshold:i,setThreshold:a,pixelValueRange:s}=(0,cU.eH)(e,{displaySetInstanceUID:r}),{min:l,max:c}=s,u=i??l;(0,D.useEffect)(()=>{n.length>0&&!r&&o(n[0].displaySetInstanceUID)},[n,r]);let d=A.find(e=>e.displaySetInstanceUID===r);return D.createElement("div",{className:t},D.createElement("div",{className:"bg-popover w-72 rounded-lg p-4 shadow-md"},D.createElement("div",{className:"mb-4 flex items-center justify-between"},D.createElement("div",{className:"flex items-center space-x-2"},D.createElement("span",{className:"text-muted-foreground text-base"},"Threshold"),A.length>1&&D.createElement("div",{className:"w-32"},D.createElement(th.Select,{value:r,onValueChange:o},D.createElement(th.SelectTrigger,null,D.createElement(th.SelectValue,null,d?.label||"Select Display Set")),D.createElement(th.SelectContent,null,A.map(e=>D.createElement(th.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},D.createElement(cb,{displaySet:e}))))))),D.createElement(th.Button,{size:"sm",variant:"ghost",onClick:()=>a(l),className:"text-sm"},"Reset")),D.createElement(th.Numeric.Container,{mode:"singleRange",value:u,onChange:e=>{"number"==typeof e&&a(e)},min:l,max:c,step:.01},D.createElement(th.Numeric.SingleRange,null),D.createElement("div",{className:"mt-1 flex justify-between"},D.createElement("span",{className:"text-muted-foreground text-sm"},l.toFixed(0)),D.createElement("span",{className:"text-muted-foreground text-sm"},c.toFixed(0))))))};function c3(){return(c3=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}function c4(e){let{viewportId:t,location:A,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{IconContainer:s,className:l,containerProps:c}=(0,th.useIconPresentation)(),{servicesManager:u}=(0,_.useSystem)(),{toolbarService:d}=u.services,{align:p,side:g}=d.getAlignAndSide(A),m=D.createElement(th.Icons.Threshold,{className:l});return D.createElement(th.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(th.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,s?D.createElement(s,c3({disabled:i,icon:"Threshold"},a,c),m):D.createElement(th.Button,{variant:"ghost",size:"icon",disabled:i},m))),D.createElement(th.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:g,align:p,alignOffset:0,sideOffset:5},D.createElement(c1,{className:"w-full",viewportId:t})))}let c2=function({viewportId:e,className:t}){let{backgroundDisplaySet:A,foregroundDisplaySets:n}=(0,cU.Ne)(e,{includeForeground:!0,includeBackground:!0}),{opacityLinear:r,setOpacityLinear:o}=(0,cU.eH)(e,{displaySetInstanceUID:n[0].displaySetInstanceUID}),i=A?.Modality||"",a=n[0]?.Modality||"";return D.createElement("div",{className:t},D.createElement("div",{className:"bg-popover w-72 rounded-lg p-3"},D.createElement("div",{className:"mb-2 flex items-center justify-center"},D.createElement("span",{className:"text-muted-foreground text-base"},"Opacity")),D.createElement("div",{className:""},D.createElement(th.Numeric.Container,{mode:"singleRange",value:void 0!==r?r:0,onChange:e=>{"number"==typeof e&&o(e)},min:0,max:1,step:1e-4},D.createElement("div",{className:"flex items-center"},D.createElement("span",{className:"text-foreground mr-2 text-sm"},i),D.createElement(th.Numeric.SingleRange,{showNumberInput:!1}),D.createElement("span",{className:"text-foreground ml-2 text-sm"},a))))))};function c6(){return(c6=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}function c9(e){let{viewportId:t,location:A,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{IconContainer:s,className:l,containerProps:c}=(0,th.useIconPresentation)(),{servicesManager:u}=(0,_.useSystem)(),{toolbarService:d}=u.services,{align:p,side:g}=d.getAlignAndSide(A),m=D.createElement(th.Icons.Opacity,{className:l});return D.createElement(th.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(th.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,s?D.createElement(s,c6({disabled:i,icon:"Opacity"},a,c),m):D.createElement(th.Button,{variant:"ghost",size:"icon",disabled:i},m))),D.createElement(th.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:g,align:p,alignOffset:0,sideOffset:5},D.createElement(c2,{className:"w-full",viewportId:t})))}var c8=O(9433);let c5=function({viewportId:e}){let{commandsManager:t}=(0,tV.useSystem)(),{t:A}=tR("Common"),n=A("LOAD"),{isTracked:r,isLocked:o}=(0,c8.R)({viewportId:e}),{backgroundDisplaySet:i}=(0,cI.N)(e),[a,s]=(0,D.useState)(null),l=(0,D.useMemo)(()=>[i].filter(Boolean),[i]);(0,D.useEffect)(()=>{s(l.find(e=>e.isOverlayDisplaySet||e?.Modality==="SR")||null)},[l]);let c=(0,D.useMemo)(()=>{if(r&&!a)return{type:"SR",isHydrated:!0,isTracked:r,displaySet:null,tooltip:"Currently tracking measurements in this viewport"};if(!a)return{type:null};let e=a.Modality,t=a.isHydrated||!1,A=null,i=a.isRehydratable||!1;return"SEG"===e?A=t?"This Segmentation is loaded in the segmentation panel":"Click LOAD to load segmentation.":"RTSTRUCT"===e?A=t?"This RTSTRUCT is loaded in the segmentation panel":"Click LOAD to load RTSTRUCT.":"SR"===e&&(A=i?i&&o?"This structured report is currently read-only because you are tracking measurements in another viewport.":`Click ${n} to restore measurements.`:"This structured report is not compatible with this application."),{type:e,isHydrated:t,displaySet:a,isRehydratable:i,tooltip:A}},[a,n,o,r]);if(!c.type&&!r)return null;let u=()=>"SR"!==c.type?D.createElement(th.Icons.StatusUntracked,{className:"h-4 w-4"}):c.isRehydratable&&!o?D.createElement(th.Icons.ByName,{className:"text-muted-foreground h-4 w-4",name:"status-untracked"}):c.isRehydratable&&o?D.createElement(th.Icons.ByName,{name:"status-locked",className:"h-4 w-4"}):D.createElement(th.Icons.ByName,{name:"status-alert",className:"h-4 w-4"}),d=()=>c.isHydrated?null:D.createElement("div",{"data-cy":`ModalityLoadBadge-${e}`,className:"text-foreground flex h-6 cursor-default text-sm leading-6"},D.createElement("div",{className:"bg-popover flex min-w-[45px] items-center rounded-l-xl rounded-r p-1"},D.createElement(u,null),D.createElement("span",{className:"ml-1"},c.type)),"SR"!==c.type&&D.createElement(th.ViewportActionButton,{onInteraction:()=>{t.runCommand("hydrateSecondaryDisplaySet",{displaySet:c.displaySet,viewportId:e})}},n));return D.createElement(D.Fragment,null,c.tooltip&&D.createElement(th.Tooltip,null,D.createElement(th.TooltipTrigger,{asChild:!0},D.createElement("span",null,D.createElement(d,null))),D.createElement(th.TooltipContent,{side:"bottom"},D.createElement("div",null,c.tooltip))),!c.tooltip&&D.createElement(d,null))};function c7(e,t,A){if(A<=0)return 0;let n=(e+t)%A;return n<0&&(n=A-1),n}let ue=function({viewportId:e}){let{servicesManager:t}=(0,tV.useSystem)(),{segmentationService:A,cornerstoneViewportService:n,measurementService:r}=t.services,{isTracked:o,trackedMeasurementUIDs:i}=(0,c8.R)({viewportId:e}),{viewportDisplaySets:a}=(0,cI.N)(e),[s,l]=(0,D.useState)(0),c=a.some(e=>e?.Modality==="SR"),u=n.getCornerstoneViewport(e),{segmentationsWithRepresentations:d}=(0,cU.Lt)({viewportId:e}),p=d.length>0&&d.some(e=>e?.representation?.type!==ta.SegmentationRepresentations.Surface)?"segment":c||o?"measurement":null,g=(0,D.useCallback)(t=>{let A=a.find(e=>e?.Modality==="SR");if(A){let e=A.measurements;if(e.length<=0)return;let n=c7(s,t,e.length);l(n);let r=e[n];u.setViewReference({referencedImageId:r.imageId});return}if(o&&i.length>0){let A=c7(s,t,i.length);l(A),r.jumpToMeasurement(e,i[A])}},[e,u,s,r,o,i,a]),m=(0,D.useCallback)(t=>{if(!d.length)return;let n=d.find(e=>e?.representation?.active).segmentation.segmentationId;pB.handleSegmentChange({direction:t,segmentationId:n,viewportId:e,selectedSegmentObjectIndex:0,segmentationService:A})},[d,e,A]),f=(0,D.useCallback)(e=>{"segment"===p?m(e):"measurement"===p&&g(e)},[p,m,g]);return p?D.createElement(th.ViewportActionArrows,{onArrowsClick:f,className:"h-6"}):null},ut=function({viewportId:e}){let{isTracked:t}=(0,c8.R)({viewportId:e});return t?D.createElement(D.Fragment,null,D.createElement(th.Tooltip,null,D.createElement(th.TooltipTrigger,{asChild:!0},D.createElement("span",null,D.createElement(th.Icons.StatusTracking,{className:"h-4 w-4 text-highlight"}))),D.createElement(th.TooltipContent,{side:"bottom"},D.createElement("div",null,"Tracking")))):null},{ViewportColorbar:uA}=L.utilities.voi.colorbar,un=e=>"top"===e||"bottom"===e,ur=(0,D.memo)(function({viewportId:e,displaySetInstanceUID:t,colormaps:A,activeColormapName:n,volumeId:r,position:o,tickPosition:i,tickStyles:a,numColorbars:s}){let l=(0,D.useRef)(null),{servicesManager:c}=(0,_.useSystem)(),{customizationService:u}=c.services,d=(0,_.useViewportRef)(e),{height:p,width:g}=(0,_.useViewportSize)(e),m=(0,D.useMemo)(()=>u.getCustomization("cornerstone.colorbar"),[u]),f=(0,D.useMemo)(()=>"left"===o||"right"===o?"left"===o?"right":"left":"top"===o?"bottom":"top",[o,i]),h=(0,D.useMemo)(()=>m?.positionTickStyles?.[o],[m,o]),w=(0,D.useMemo)(()=>m?.positionStyles?.[o]||{},[m,o]),B=(0,D.useMemo)(()=>({...m?.tickStyles||{},...h?.style||{},...a||{}}),[m,h,a]),y=(0,D.useMemo)(()=>`Colorbar-${e}-${t}`,[e,t]);return((0,D.useEffect)(()=>{if(!l.current||!A||!n)return;let e=d?.current;if(!e||!A?.length)return;let t=new uA({id:y,element:e,container:l.current,colormaps:A,activeColormapName:n,volumeId:r,ticks:{position:f,style:B}});return()=>{t&&t.destroy()}},[e,t,A,n,r,y,f,B,d]),p&&g)?D.createElement("div",{id:`colorbar-container-${e}-${t}`,ref:l,style:{position:"relative",zIndex:1e3,boxSizing:"border-box",display:"flex",alignItems:"center",pointerEvents:"auto",minWidth:un(o)?g/2.5:"17px",minHeight:un(o)?"20px":1===s?p/3:p/4,height:"1px",...w}}):null}),uo=(0,D.memo)(function({viewportId:e,location:t}){let[A,n]=(0,D.useState)([]),{servicesManager:r}=(0,_.useSystem)(),{colorbarService:o,customizationService:i,displaySetService:a}=r.services,{viewportDisplaySets:s,backgroundDisplaySet:l,foregroundDisplaySets:c}=(0,cI.N)(e),{colorbarPosition:u,opacity:d}=(0,cL.A)(e,{location:t}),p=(0,D.useMemo)(()=>i.getCustomization("cornerstone.colorbar"),[i]),g=(0,D.useMemo)(()=>{let e=p?.colorbarTickPosition;return p?.colorbarTickPosition||e},[p]);if((0,D.useEffect)(()=>{n(o.getViewportColorbar(e)||[])},[e,o]),(0,D.useEffect)(()=>{let{unsubscribe:t}=o.subscribe(o.EVENTS.STATE_CHANGED,t=>{t.viewportId===e&&n(o.getViewportColorbar(e)||[])});return()=>{t()}},[e,o]),!A.length)return null;let m=1!==s.length&&un(u)?A.filter(({displaySetInstanceUID:e})=>{let{displaySetInstanceUID:t}=a.getDisplaySetByUID(e)??{};return t===(0===d?l?.displaySetInstanceUID:c[0]?.displaySetInstanceUID)}):A;return D.createElement("div",{style:{pointerEvents:"auto"}},D.createElement("div",{className:"flex h-full flex-col items-center justify-center",style:{pointerEvents:"auto"}},m.map(t=>{let{colorbar:n,displaySetInstanceUID:r}=t;return D.createElement(ur,{key:`colorbar-${e}-${r}`,viewportId:e,displaySetInstanceUID:r,colormaps:n.colormaps,activeColormapName:n.activeColormapName,volumeId:n.volumeId,position:u,tickPosition:g,tickStyles:p?.tickStyles,numColorbars:A.length})})))});var ui=O(1016),ua=O(8842);function us(){return(us=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}let ul={[ua.ButtonLocation.TopMiddle]:{minX:0,minY:0,maxX:1,maxY:.1},[ua.ButtonLocation.BottomMiddle]:{minX:0,minY:.9,maxX:1,maxY:1},[ua.ButtonLocation.LeftMiddle]:{minX:0,minY:0,maxX:.1,maxY:1},[ua.ButtonLocation.RightMiddle]:{minX:.9,minY:0,maxX:1,maxY:1}},uc=function({viewportId:e,location:t,buttonSection:A}){let{onInteraction:n,toolbarButtons:r,isItemOpen:o,isItemLocked:i,openItem:a,closeItem:s,toggleLock:l}=(0,ui.useToolbar)({buttonSection:A}),c=(0,ui.useViewportMousePosition)(e),[u,d]=(0,D.useState)(!1),[p,g]=(0,D.useState)(!0),m=(0,D.useRef)(!0),{hasColorbar:f}=(0,cU.eH)(e),[h,w]=(0,D.useState)(!1);(0,D.useEffect)(()=>{if(m.current){m.current=!1;let e=setTimeout(()=>{g(!1)},3e3);return()=>clearTimeout(e)}},[]),(0,D.useEffect)(()=>{if(!p&&c.isInViewport){let e=ul[t];c.isWithinNormalizedBox(e)?d(!0):d(!1)}},[t,c,p]);let B=(0,D.useCallback)((e,t)=>{a(e,t),w(!0)},[a,w]),y=(0,D.useCallback)((e,t)=>{s(e,t),w(!1)},[s,w]);return r?.length&&f?D.createElement("div",{className:nn()("flex gap-2",t===ua.ButtonLocation.LeftMiddle||t===ua.ButtonLocation.RightMiddle?"flex-col":"flex-row")},r.map(A=>{if(!A)return null;let{id:r,Component:a,componentProps:s}=A,c={...s,isOpen:o(r,e),isLocked:i(r,e),onOpen:()=>B(r,e),onClose:()=>y(r,e),onToggleLock:()=>l(r,e),viewportId:e},d=D.createElement(a,us({key:r,id:r,location:t,onInteraction:t=>{n({...t,itemId:r,viewportId:e})}},c)),g=h||p||"Colorbar"===r||u;return D.createElement("div",{key:r,className:g?"opacity-100":"pointer-events-none opacity-0",style:{transition:"opacity 0.2s ease-in-out"}},d)})):null},uu=e=>({disabled:!0,disabledText:e??ct().t("Buttons:Not available on the current viewport")});function ud({viewportId:e,toolbarService:t,button:A,disabledText:n,offModes:r,toolGroupService:o}){let i=o.getToolGroupForViewport(e);if(!i)return;let a=t.getToolNameForButton(A);if(!i?.hasTool(a))return uu(n);let s=r.includes(i.getToolOptions(a).mode);return{className:th.utils.getToggledClassName(!s)}}let up={VIEWPORT_ADDED:"event::cornerstone::toolgroupservice:viewportadded",TOOLGROUP_CREATED:"event::cornerstone::toolgroupservice:toolgroupcreated",TOOL_ACTIVATED:"event::cornerstone::toolgroupservice:toolactivated",PRIMARY_TOOL_ACTIVATED:"event::cornerstone::toolgroupservice:primarytoolactivated"};class ug{constructor(e){this.servicesManager=void 0,this.cornerstoneViewportService=void 0,this.viewportGridService=void 0,this.uiNotificationService=void 0,this.customizationService=void 0,this.toolGroupIds=new Set,this.toolBindingsMap=new Map,this.defaultToolBindingsMap=new Map,this.listeners=void 0,this.EVENTS=void 0,this._onToolActivated=e=>{let{toolGroupId:t,toolName:A,toolBindingsOptions:n}=e.detail,r=n.bindings?.some(e=>e.mouseButton===L.Enums.MouseBindings.Primary),o={toolGroupId:t,toolName:A,toolBindingsOptions:n};this._broadcastEvent(up.TOOL_ACTIVATED,o),r&&this._broadcastEvent(up.PRIMARY_TOOL_ACTIVATED,o)};const{cornerstoneViewportService:t,viewportGridService:A,uiNotificationService:n,customizationService:r}=e.services;this.cornerstoneViewportService=t,this.viewportGridService=A,this.uiNotificationService=n,this.customizationService=r,this.listeners={},this.EVENTS=up,Object.assign(this,_.pubSubServiceInterface),this._init()}onModeExit(){this.destroy()}_init(){x.eventTarget.addEventListener(L.Enums.Events.TOOL_ACTIVATED,this._onToolActivated)}getToolGroup(e){let t=e;if(!t){let e=Z(this.viewportGridService);if(!e)return;let{renderingEngineId:A,viewportId:n}=e,r=L.ToolGroupManager.getToolGroupForViewport(n,A);if(!r)return void console.warn("No tool group found for viewportId:",n,"and renderingEngineId:",A);t=r.id}return L.ToolGroupManager.getToolGroup(t)}getToolGroupIds(){return Array.from(this.toolGroupIds)}getToolGroupForViewport(e){let t=this.cornerstoneViewportService.getRenderingEngine();return L.ToolGroupManager.getToolGroupForViewport(e,t.id)}getActiveToolForViewport(e){let t=this.getToolGroupForViewport(e);if(t)return t.getActivePrimaryMouseButtonTool()}destroy(){L.ToolGroupManager.destroy(),this.toolGroupIds=new Set,this.toolBindingsMap.clear(),this.defaultToolBindingsMap.clear(),x.eventTarget.removeEventListener(L.Enums.Events.TOOL_ACTIVATED,this._onToolActivated)}destroyToolGroup(e){L.ToolGroupManager.destroyToolGroup(e),this.toolGroupIds.delete(e)}removeViewportFromToolGroup(e,t,A){let n=L.ToolGroupManager.getToolGroupForViewport(e,t);!n||(n.removeViewports(t,e),0===n.getViewportIds().length&&A&&L.ToolGroupManager.destroyToolGroup(n.id))}addViewportToToolGroup(e,t,A){if(A){let n=L.ToolGroupManager.getToolGroup(A);n||(n=this.createToolGroup(A)),n.addViewport(e,t)}else L.ToolGroupManager.getAllToolGroups().forEach(A=>{A.addViewport(e,t)});this._broadcastEvent(up.VIEWPORT_ADDED,{viewportId:e,toolGroupId:A})}createToolGroup(e){if(this.getToolGroup(e))throw Error(`ToolGroup ${e} already exists`);let t=L.ToolGroupManager.createToolGroup(e);return this.toolGroupIds.add(e),this._broadcastEvent(up.TOOLGROUP_CREATED,{toolGroupId:e}),t}addToolsToToolGroup(e,t,A={}){let n=L.ToolGroupManager.getToolGroup(e);this._addTools(n,t,A),this._setToolsMode(n,t),this._loadPersistedBindings(e)}createToolGroupAndAddTools(e,t){let A=this.createToolGroup(e);return this.addToolsToToolGroup(e,t),A}getToolConfiguration(e,t){let A=L.ToolGroupManager.getToolGroup(e);if(!A)return null;let n=A.getToolInstance(t);return n?n.configuration:null}setToolConfiguration(e,t,A){L.ToolGroupManager.getToolGroup(e).getToolInstance(t).configuration=A}getActivePrimaryMouseButtonTool(e){return this.getToolGroup(e)?.getActivePrimaryMouseButtonTool()}getToolBindings(e,t){return this.toolBindingsMap.get(e)?.get(t)}setToolBindings(e,t,A){this.toolBindingsMap.has(e)||this.toolBindingsMap.set(e,new Map),this.toolBindingsMap.get(e).set(t,this._cloneToolBindings(A))}getDefaultToolBindings(e,t){let A=this.defaultToolBindingsMap.get(e)?.get(t);return A?this._cloneToolBindings(A):void 0}persistToolBindings(e,t,A){let n=this._readPersistedToolBindings();n[e]||(n[e]={}),n[e][t]=A,this._writePersistedToolBindings(n)}removePersistedToolBindings(e,t){let A=this._readPersistedToolBindings();A[e]&&(t?(delete A[e][t],Object.keys(A[e]).length||delete A[e]):delete A[e],this._writePersistedToolBindings(A))}applyToolBindings(e,t,A={}){let n=L.ToolGroupManager.getToolGroup(e);if(!n||!n.hasTool(t))return;let r=this.getToolBindings(e,t);if(!r)return;let{mode:o}=n.getToolOptions(t);(o===L.Enums.ToolModes.Active||o===L.Enums.ToolModes.Passive||o===L.Enums.ToolModes.Enabled)&&(A.replaceExisting&&n.setToolDisabled(t),n.setToolActive(t,{bindings:r}))}getAllToolBindings(){let e=[];for(let[t,A]of this.toolBindingsMap)for(let[n,r]of A)e.push({toolGroupId:t,toolName:n,bindings:r});return e}_setToolsMode(e,t){let{active:A,passive:n,enabled:r,disabled:o}=t;A&&A.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolActive(t,{bindings:A})}),n&&n.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolPassive(t)}),r&&r.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolEnabled(t)}),o&&o.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolDisabled(t)})}_setDefaultToolBindingsIfMissing(e,t,A){this.defaultToolBindingsMap.has(e)||this.defaultToolBindingsMap.set(e,new Map);let n=this.defaultToolBindingsMap.get(e);n.has(t)||n.set(t,this._cloneToolBindings(A))}_addTools(e,t){let A=t=>{t.forEach(({toolName:t,parentTool:A,configuration:n})=>{A?e.addToolInstance(t,A,{...n}):e.addTool(t,{...n})})};t.active&&A(t.active),t.passive&&A(t.passive),t.enabled&&A(t.enabled),t.disabled&&A(t.disabled)}_loadPersistedBindings(e){let t=this._readPersistedToolBindings()[e];if(!t)return;let A=L.ToolGroupManager.getToolGroup(e);for(let[n,r]of Object.entries(t)){if(this.setToolBindings(e,n,r),!A||!A.hasTool(n))continue;let{mode:t}=A.getToolOptions(n);t===L.Enums.ToolModes.Active&&this.applyToolBindings(e,n,{replaceExisting:!0})}}_readPersistedToolBindings(){try{let e=localStorage.getItem(this._getToolBindingsStorageKey());if(!e)return{};let t=JSON.parse(e);if(!t||"object"!=typeof t)return{};return t}catch{return{}}}_writePersistedToolBindings(e){let t=this._getToolBindingsStorageKey();Object.keys(e).length?localStorage.setItem(t,JSON.stringify(e)):localStorage.removeItem(t)}_cloneToolBindings(e){return e.map(e=>({...e}))}_getToolBindingsStorageKey(){let e=this.customizationService?.getCustomization("ohif.userPreferences.toolBindingsStorageKey");return"string"==typeof e&&e.length>0?e:"user-preferred-tool-bindings"}}ug.REGISTRATION={name:"toolGroupService",altName:"ToolGroupService",create:({servicesManager:e})=>new ug(e)};let{createSynchronizer:um}=L.SynchronizerManager,{SEGMENTATION_REPRESENTATION_MODIFIED:uf}=L.Enums.Events,{BlendModes:uh}=x.Enums;function uw(e,{servicesManager:t,...A}){return um(e,uf,(e,n,r,o)=>uB(e,n,r,o,{servicesManager:t,options:A}),{eventSource:"eventTarget"})}let uB=async(e,t,A,n,{servicesManager:r,options:o})=>{let{segmentationId:i,type:a}=n.detail,{segmentationService:s,cornerstoneViewportService:l}=r.services,c=A.viewportId,u=t.viewportId,{viewport:d}=(0,x.getEnabledElementByViewportId)(c),p=l.getViewportInfo(u),g=l.getViewportInfo(c),m=uy(p),f=uy(g),h=m.some(e=>f.includes(e)),w=d.getFrameOfReferenceUID(),B=(0,x.getEnabledElementByViewportId)(u)?.viewport?.getFrameOfReferenceUID();if(!h&&!w||!h&&w!==B||s.getSegmentationRepresentations(c,{segmentationId:i}).length>0)return;let y=(0,ei.Ov)(d),{Surface:v,Labelmap:C}=L.Enums.SegmentationRepresentations;await s.addSegmentationRepresentation(c,{segmentationId:i,type:y?v:a&&a!==v?a:C,config:{blendMode:d?.getBlendMode?.()===1?uh.LABELMAP_EDGE_PROJECTION_BLEND:void 0}})};function uy(e){return e.getViewportData().data.map(e=>e.displaySetInstanceUID)}let uv={TOOL_GROUP_CREATED:"event::cornerstone::syncgroupservice:toolgroupcreated"},uC="imageslice";class uS{constructor(e){this.servicesManager=void 0,this.listeners={},this.EVENTS=void 0,this.synchronizerCreators={cameraposition:L.synchronizers.createCameraPositionSynchronizer,voi:L.synchronizers.createVOISynchronizer,zoompan:L.synchronizers.createZoomPanSynchronizer,stackimage:L.synchronizers.createImageSliceSynchronizer,[uC]:L.synchronizers.createImageSliceSynchronizer,hydrateseg:uw},this.synchronizersByType={},this.servicesManager=e,this.listeners={},this.EVENTS=uv,Object.assign(this,_.pubSubServiceInterface)}_createSynchronizer(e,t,A){this.synchronizersByType[e]=this.synchronizersByType[e]||[];let n=this.synchronizerCreators[e.toLowerCase()];if(n){let r=n(t,{...A,servicesManager:this.servicesManager});if(r)return this.synchronizersByType[e].push(r),r}else console.debug(`Unknown synchronizer type: ${e}, id: ${t}`)}getSyncCreatorForType(e){return this.synchronizerCreators[e.toLowerCase()]}addSynchronizerType(e,t){this.synchronizerCreators[e.toLowerCase()]=t}getSynchronizer(e){return L.SynchronizerManager.getSynchronizer(e)}registerCustomSynchronizer(e,t){this.synchronizerCreators[e]=t}getSynchronizersOfType(e){return this.synchronizersByType[e]}_getOrCreateSynchronizer(e,t,A){let n=L.SynchronizerManager.getSynchronizer(t);return n||(n=this._createSynchronizer(e,t,A)),n}addViewportToSyncGroup(e,t,A){A&&(Array.isArray(A)?A:[A]).forEach(A=>{let{type:n,target:r=!0,source:o=!0,options:i={},id:a=n}="string"==typeof A?{type:A}:A,s=this._getOrCreateSynchronizer(n,a,i);if(!s)return;s.setOptions(e,i);let l={viewportId:e,renderingEngineId:t};r&&o?s.add(l):o?s.addSource(l):r&&s.addTarget(l)})}destroy(){L.SynchronizerManager.destroy()}getSynchronizersForViewport(e){let t=(0,x.getRenderingEngines)().find(t=>t.getViewports().find(t=>t.id===e))||(0,x.getRenderingEngines)()[0];return L.SynchronizerManager.getAllSynchronizers().filter(A=>A.hasSourceViewport(t.id,e)||A.hasTargetViewport(t.id,e))}removeViewportFromSyncGroup(e,t,A){let n=L.SynchronizerManager.getAllSynchronizers();(A?n.filter(e=>e.id===A):n).forEach(A=>{if(!A)return;this.isImageSliceSyncronizer(A)&&this.unRegisterSpatialRegistration(A),A.remove({viewportId:e,renderingEngineId:t});let n=A.getSourceViewports(),r=A.getTargetViewports();n.length||r.length||L.SynchronizerManager.destroySynchronizer(A.id)})}unRegisterSpatialRegistration(e){let t=e.getSourceViewports().map(e=>e.viewportId),A=e.getTargetViewports().map(e=>e.viewportId);t.map(e=>A.map(t=>[t,e])).reduce((e,t)=>e.concat(t),[]).forEach(e=>{x.utilities.spatialRegistrationMetadataProvider.add(e,void 0)})}isImageSliceSyncronizer(e){return this.getSynchronizerType(e).toLowerCase()===uC}getSynchronizerType(e){return Object.keys(this.synchronizersByType).find(t=>this.getSynchronizersOfType(t).includes(e))}}uS.REGISTRATION={name:"syncGroupService",altName:"SyncGroupService",create:({servicesManager:e})=>new uS(e)};var uE=O(6336);let uI="cornerstoneStreamingImageVolume",ub="cornerstoneStreamingDynamicImageVolume",{Labelmap:uU,Surface:uF}=L.Enums.SegmentationRepresentations,{state:{updateLabelmapSegmentationImageReferences:uQ}}=L.segmentation;class uT{constructor(e){this.service=e}async classifyAndPrepareLabelmapAdd(e,t,A,n,r){let o=(0,ei.rX)(e),i=t?.representationData?.[uU],a=!!i&&"volumeId"in i;return o?this.handleVolumeViewportCase(e,t,a):this.handleStackViewportCase(e,t,a,A,n)}async handleVolumeViewportCase(e,t,A){return(0,ei.Ov)(e)?{representationTypeToUse:uF,isConverted:!1}:(await this.service.handleVolumeViewport(e,t,A),{representationTypeToUse:uU,isConverted:!1})}async handleStackViewportCase(e,t,A,n,r){return A?{representationTypeToUse:uU,isConverted:await this.service.convertStackToVolumeViewport(e)}:uQ(n,r)?{representationTypeToUse:uU,isConverted:!1}:{representationTypeToUse:uU,isConverted:await this.service.attemptStackToVolumeConversion(e,t,n,r)}}assembleSegmentationDataForSEG(e){let{segmentationId:t,derivedImageIds:A,referencedImageIds:n,label:r,fallbackLabel:o,segments:i}=e;return{segmentationId:t,representation:{type:uU,data:{imageIds:A,referencedImageIds:n}},config:{label:r,fallbackLabel:o,segments:i}}}jumpToSegmentCenter(e,t){return!!e?.jumpToWorld&&(e.jumpToWorld(t),!0)}}let{Labelmap:uD}=L.Enums.SegmentationRepresentations,{state:{updateLabelmapSegmentationImageReferences:uO}}=L.segmentation;class uM{async classifyAndPrepareLabelmapAdd(e,t,A,n,r){return uO(A,n),{representationTypeToUse:r,isConverted:!1}}assembleSegmentationDataForSEG(e){let{segmentationId:t,segDisplaySet:A,derivedImageIds:n,referencedImageIds:r,label:o,fallbackLabel:i,segments:a}=e,s=A.labelMapImages??[],l={label:o,fallbackLabel:i,segments:a};if(!A.overlappingSegments||s.length<=1)return{segmentationId:t,representation:{type:uD,data:{imageIds:n,referencedImageIds:r}},config:l};let c={},u={};return s.forEach((e,A)=>{let n=`${t}-storage-${A}`;c[n]={labelmapId:n,storageKind:"stack",imageIds:e.map(e=>e.imageId),referencedImageIds:r};let o=new Set;for(let t of e){let e=t.voxelManager?.getScalarData();if(e)for(let t=0;t<e.length;t++){let A=e[t];0!==A&&o.add(A)}}o.forEach(e=>{u[e]={labelmapId:n,labelValue:e}})}),{segmentationId:t,representation:{type:uD,data:{imageIds:n,referencedImageIds:r,labelmaps:c,segmentBindings:u,primaryLabelmapId:`${t}-storage-0`}},config:l}}jumpToSegmentCenter(e,t){return"function"==typeof e.setViewReference&&(e.setViewReference({cameraFocalPoint:t}),e.render(),!0)}}let{DefaultHistoryMemo:ux}=x.utilities.HistoryMemo,{Labelmap:uL,Contour:uR,Surface:uV}=L.Enums.SegmentationRepresentations,{getLabelmapImageIds:uN,helpers:{convertStackToVolumeLabelmap:uH},state:{addColorLUT:u_},triggerSegmentationEvents:{triggerSegmentationRepresentationModified:uk}}=L.segmentation,uP={SEGMENTATION_MODIFIED:"event::segmentation_modified",SEGMENTATION_ADDED:"event::segmentation_added",SEGMENTATION_DATA_MODIFIED:"event::segmentation_data_modified",SEGMENTATION_REMOVED:"event::segmentation_removed",SEGMENTATION_REPRESENTATION_MODIFIED:"event::segmentation_representation_modified",SEGMENTATION_REPRESENTATION_REMOVED:"event::segmentation_representation_removed",SEGMENT_LOADING_COMPLETE:"event::segment_loading_complete",SEGMENTATION_LOADING_COMPLETE:"event::segmentation_loading_complete",SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED:"event::annotation_cut_merge_process_completed",SEGMENTATION_STYLE_MODIFIED:"event::segmentation_style_modified"};class uG extends _.PubSubService{constructor({servicesManager:e}){super(uP),this._segmentationIdToColorLUTIndexMap=void 0,this._segmentationGroupStatsMap=void 0,this._legacySegBackend=void 0,this._nextSegBackend=void 0,this.servicesManager=void 0,this.highlightIntervalId=null,this.EVENTS=uP,this.destroy=()=>{x.eventTarget.removeEventListener(L.Enums.Events.SEGMENTATION_MODIFIED,this._onSegmentationModifiedFromSource),x.eventTarget.removeEventListener(L.Enums.Events.SEGMENTATION_REMOVED,this._onSegmentationRemovedFromSource),x.eventTarget.removeEventListener(L.Enums.Events.SEGMENTATION_DATA_MODIFIED,this._onSegmentationDataModifiedFromSource),x.eventTarget.removeEventListener(L.Enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED,this._onSegmentationRepresentationModifiedFromSource),x.eventTarget.removeEventListener(L.Enums.Events.SEGMENTATION_REPRESENTATION_ADDED,this._onSegmentationRepresentationModifiedFromSource),x.eventTarget.removeEventListener(L.Enums.Events.SEGMENTATION_REPRESENTATION_REMOVED,this._onSegmentationRepresentationRemovedFromSource),x.eventTarget.removeEventListener(L.Enums.Events.SEGMENTATION_ADDED,this._onSegmentationAddedFromSource),this.reset()},this.getStyle=e=>L.segmentation.config.style.getStyle(e),this.setStyle=(e,t,A=!0)=>{L.segmentation.config.style.setStyle(e,t,A),this._broadcastEvent(uP.SEGMENTATION_STYLE_MODIFIED,{specifier:e,style:t,merge:A})},this.resetToGlobalStyle=()=>{L.segmentation.config.style.resetToGlobalStyle()},this.toggleSegmentationRepresentationVisibility=(e,{segmentationId:t,type:A})=>{this._toggleSegmentationRepresentationVisibility(e,t,A)},this.getViewportIdsWithSegmentation=e=>L.segmentation.state.getViewportIdsWithSegmentation(e),this._toggleSegmentationRepresentationVisibility=(e,t,A)=>{let n=0===L.segmentation.config.visibility.getHiddenSegmentIndices(e,{segmentationId:t,type:A}).size;this._setSegmentationRepresentationVisibility(e,t,A,!n)},this._onSegmentationDataModifiedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_DATA_MODIFIED,{segmentationId:t})},this._onSegmentationRepresentationModifiedFromSource=e=>{let{segmentationId:t,viewportId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,{segmentationId:t,viewportId:A})},this._onSegmentationRepresentationRemovedFromSource=e=>{let{segmentationId:t,viewportId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_REMOVED,{segmentationId:t,viewportId:A})},this._onSegmentationModifiedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_MODIFIED,{segmentationId:t})},this._onSegmentationAddedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_ADDED,{segmentationId:t})},this._onSegmentationRemovedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REMOVED,{segmentationId:t})},this._onAnnotationCutMergeProcessCompletedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED,{segmentationId:t})},this._segmentationIdToColorLUTIndexMap=new Map,this.servicesManager=e,this._segmentationGroupStatsMap=new Map,this._legacySegBackend=new uT(this),this._nextSegBackend=new uM}_segBackend(e){return(0,nb.Is)(e)?this._nextSegBackend:this._legacySegBackend}onModeEnter(){this._initSegmentationService()}onModeExit(){this.destroy()}getSegmentation(e){return L.segmentation.state.getSegmentation(e)}getSegmentations(){return L.segmentation.state.getSegmentations()}getPresentation(e){let t=[],A=new Map;for(let t of this.getSegmentationRepresentations(e)){if(!t)continue;let{segmentationId:e,type:n}=t;A.set(e,{segmentationId:e,type:n,hydrated:!0,config:t.config||{}})}return t.push(...A.values()),t}getRepresentationsForSegmentation(e){return L.segmentation.state.getSegmentationRepresentationsBySegmentationId(e)}getSegmentationRepresentations(e,t={}){return L.segmentation.state.getSegmentationRepresentations(e,t).map(t=>this._toOHIFSegmentationRepresentation(e,t))}async addSegmentationRepresentation(e,{segmentationId:t,predecessorImageId:A,type:n,config:r,suppressEvents:o=!1}){let i=this.getSegmentation(t);if(!i)return void console.warn(`addSegmentationRepresentation: segmentation "${t}" is not in state yet`);!i.predecessorImageId&&A&&(i.predecessorImageId=A);let a=this.getAndValidateViewport(e);if(!a)return;if(!i)throw Error(`SegmentationService: cannot add representation - segmentation "${t}" not found.`);let s=this._segmentationIdToColorLUTIndexMap.get(t),l=!1,c=(0,ei.Ov)(a)?uV:uL,u=n||c;if(u===uL){({representationTypeToUse:u,isConverted:l}=await this._segBackend(a).classifyAndPrepareLabelmapAdd(a,i,e,t,u));let A=i?.representationData?.[uL]?.labelmaps;A&&Object.keys(A).length>1&&(0,nb.Is)(a)&&!x.utilities.viewportIsInVolumeMode(a)&&console.warn(`Overlapping segmentation ${t} has multiple labelmap layers, but viewport ${e} does not render as a volume slice (VTK_VOLUME_SLICE); only the primary layer will be visible. Display the segmentation in an MPR/volume layout to see all overlapping segments.`)}await this._addSegmentationRepresentation(e,t,u,s,l,r),o||this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,{segmentationId:t})}async createLabelmapForDisplaySet(e,t){return this._createSegmentationForDisplaySet(e,uL,t)}async createContourForDisplaySet(e,t){return this._createSegmentationForDisplaySet(e,uR,t)}async _createSegmentationForDisplaySet(e,t,A){let n=A?.segmentationId??`${x.utilities.uuidv4()}`,r=e.isDynamicVolume,o=e.imageIds;if(r){let t=e.dynamicVolumeInfo.timePoints;o=t[Math.floor(t.length/2)]}let i=await x.imageLoader.createAndCacheDerivedLabelmapImages(o),a=this.getSegmentations(),s=A?.label||`Segmentation ${a.length+1}`,l={segmentationId:n,representation:{type:t,data:{imageIds:i.map(e=>e.imageId),referencedImageIds:o}},config:{label:s,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`,segments:A?.segments&&Object.keys(A.segments).length>0?A.segments:{1:{label:`${ct().t("Segment")} 1`,active:!0}},cachedStats:{info:`S${e.SeriesNumber}: ${e.SeriesDescription}`}}};return this.addOrUpdateSegmentation(l),n}async createSegmentationForSEGDisplaySet(e,t={type:uL}){let{type:A}=t,{segmentationId:n}=t,{labelMapImages:r}=e;if(A!==uL)throw Error("Only labelmap type is supported for SEG display sets right now");if(!r||!r.length)throw Error("SEG reading failed");n=n??e.displaySetInstanceUID;let o=e.referencedDisplaySetInstanceUID,i=this.servicesManager.services.displaySetService.getDisplaySetByUID(o),a=i.instances;if(!a.length)throw Error("No instances were provided for the referenced display set of the SEG");let s=e.referencedImageIds||i.imageIds||a.map(e=>e.imageId);if(!s?.length)throw Error("referencedDisplaySet has no imageIds for SEG");let l=r?.flat(),c=l.map(e=>e.imageId);e.images=l.map(e=>({...e,...x.metaData.get("instance",e.referencedImageId)})),e.imageIds=c;let u=null;for(let e=0;e<l.length;e++){let t=l[e].voxelManager,A=t.getScalarData();t.setScalarData(A),!u&&A.some(e=>0!==e)&&(u=l[e].referencedImageId)}e.firstSegmentedSliceImageId=u;let d=e.segMetadata.data,p={},g=[];d.forEach((t,A)=>{if(0===A)return void g.push([0,0,0,0]);let{SegmentedPropertyCategoryCodeSequence:n,SegmentNumber:r,SegmentLabel:o,SegmentAlgorithmType:i,SegmentAlgorithmName:a,SegmentedPropertyTypeCodeSequence:s,rgba:l}=t;g.push(l);let c=Number(r),u=e.centroids?.get(A),d=u?.image||{x:0,y:0,z:0},m=u?.world||{x:0,y:0,z:0};p[c]={segmentIndex:c,label:o||`Segment ${r}`,locked:!1,active:!1,cachedStats:{center:{image:[d.x,d.y,d.z],world:[m.x,m.y,m.z]},modifiedTime:e.SeriesDate,category:n?n.CodeMeaning:"",type:s?s.CodeMeaning:"",algorithmType:i,algorithmName:a}}});let m=u_(g);this._segmentationIdToColorLUTIndexMap.set(n,m);let f=(eP?this._nextSegBackend:this._legacySegBackend).assembleSegmentationDataForSEG({segmentationId:n,segDisplaySet:e,derivedImageIds:c,referencedImageIds:s,label:e.SeriesDescription,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`,segments:p});return e.isLoaded=!0,this.addOrUpdateSegmentation(f),this._broadcastEvent(uP.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,segDisplaySet:e}),n}async createSegmentationForRTDisplaySet(e,t={type:uR}){let{type:A}=t,{segmentationId:n}=t;if(A!==uR)throw Error("Only contour type is supported for RT display sets right now");n=n??e.displaySetInstanceUID;let{structureSet:r}=e;if(!r)throw Error("To create the contours from RT displaySet, the displaySet should be loaded first. You can perform rtDisplaySet.load() before calling this method.");let o=e.displaySetInstanceUID,i=this.servicesManager.services.displaySetService.getDisplaySetByUID(e.referencedDisplaySetInstanceUID),a=Array.from(r.ReferencedSOPInstanceUIDsSet),s=i.imageIds;if(e.firstSegmentedSliceImageId=s?.find(e=>a.some(t=>e.includes(t)))||null,!r.ROIContours?.length)throw Error("The structureSet does not contain any ROIContours. Please ensure the structureSet is loaded first.");let l=r.ROIContours.map(({contourPoints:e,ROINumber:t,ROIName:A,colorArray:n,ROIGroup:r})=>{let i=e.map(({points:e,...t})=>{let A=e.map(({x:e,y:t,z:A})=>[e,t,A]);return{...t,points:A}}),a=A||t;return{data:i,id:a,segmentIndex:t,color:n,group:r,geometryId:`${o}:${a}:segmentIndex-${t}`}});l.sort((e,t)=>e.segmentIndex-t.segmentIndex);let c={segmentationId:n,representation:{type:uR,data:{geometryIds:l.map(({geometryId:e})=>e)}},config:{label:e.SeriesDescription,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`}},u={},d={},p=[[0,0,0,0]];for(let t=0;t<l.length;t++){let{data:A,id:n,color:o,segmentIndex:i,geometryId:a,group:s}=l[t];p.push(o);try{d={center:{world:(await x.geometryLoader.createAndCacheGeometry(a,{geometryData:{data:A,id:n,color:o,frameOfReferenceUID:r.frameOfReferenceUID,segmentIndex:i},type:x.Enums.GeometryType.CONTOUR})).data.centroid},modifiedTime:e.SeriesDate},u[i]={label:n,segmentIndex:i,cachedStats:d,locked:!1,active:!1,group:s};let t=Object.keys(d).length,c=Math.round(t/l.length*100);this._broadcastEvent(uP.SEGMENT_LOADING_COMPLETE,{percentComplete:c,numSegments:l.length})}catch(e){console.warn(`Error initializing contour for segment ${i}:`,e);continue}}let g=u_(p);return this._segmentationIdToColorLUTIndexMap.set(n,g),c.config.segments=u,this._broadcastEvent(uP.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,rtDisplaySet:e}),e.isLoaded=!0,this.addOrUpdateSegmentation(c),n}addOrUpdateSegmentation(e){let t=e.segmentationId;L.segmentation.state.getSegmentation(t)?this.updateSegmentationInSource(t,e):"representation"in e&&e.representation?this.addSegmentationToSource(e):console.warn(`addOrUpdateSegmentation: skipping add for ${t} — missing representation`)}setActiveSegmentation(e,t){L.segmentation.activeSegmentation.setActiveSegmentation(e,t)}getActiveSegmentation(e){return L.segmentation.activeSegmentation.getActiveSegmentation(e)}getActiveSegment(e){let t,A=this.getActiveSegmentation(e);if(!A)return;let{segments:n}=A;for(let e of Object.values(n))if(e.active){t=e;break}return t}hasCustomStyles(e){return L.segmentation.config.style.hasCustomStyle(e)}getNextAvailableSegmentIndex(e){let t=Object.keys(this.getCornerstoneSegmentation(e).segments);return 0===t.length?1:Math.max(...t.map(Number))+1}addSegment(e,t={}){if(t?.segmentIndex===0)throw Error(ct().t("Segment")+' index 0 is reserved for "no label"');let A=this.getCornerstoneSegmentation(e),n=t.segmentIndex;n||(n=this.getNextAvailableSegmentIndex(e)),t.label||(t.label=`${ct().t("Segment")} ${n}`);let r=A.segments;L.segmentation.updateSegmentations([{segmentationId:e,payload:{segments:{...r,[n]:{...r[n],segmentIndex:n,cachedStats:{},locked:!1,...t}}}}]),this.setActiveSegment(e,n),void 0!==t.isLocked&&this._setSegmentLockedStatus(e,n,t.isLocked),this.getViewportIdsWithSegmentation(e).forEach(A=>{void 0!==t.color&&this.setSegmentColor(A,e,n,t.color),void 0!==t.visibility&&this.setSegmentVisibility(A,e,n,t.visibility)})}createSegmentIndexMemo(e,t,A){let n,r,o=this.getCornerstoneSegmentation(e),i=o?.segments?.[t];if(!i)return null;let a=this.getViewportIdsWithSegmentation(e);if(a.length>0){let A=a[0],o=this.getSegmentationRepresentations(A,{segmentationId:e}),i=o[0]?.type??uL;n=this.getSegmentColor(A,e,t),r=L.segmentation.config.visibility.getSegmentIndexVisibility(A,{segmentationId:e,type:i},t)}let s={segmentIndex:t,label:i.label,isLocked:i.locked,active:i.active,color:n,visibility:r},l=this;return{id:x.utilities.uuidv4(),operationType:"segmentIndex",restoreMemo(A){!0===A?l.addSegment(e,s):L.segmentation.removeSegment(e,t,{recordHistory:!1})}}}removeSegment(e,t,A){let n;A?.skipRecordingHistory?L.segmentation.removeSegment(e,t,{recordHistory:!1}):(n=this.createSegmentIndexMemo(e,t,{deleting:!0}),ux.startGroupRecording(),L.segmentation.removeSegment(e,t,{recordHistory:!0}),ux.push(n),ux.endGroupRecording())}setSegmentVisibility(e,t,A,n,r){this._setSegmentVisibility(e,t,A,n,r)}setSegmentLocked(e,t,A){this._setSegmentLockedStatus(e,t,A)}toggleSegmentLocked(e,t){let A=L.segmentation.segmentLocking.isSegmentIndexLocked(e,t);this._setSegmentLockedStatus(e,t,!A)}toggleSegmentVisibility(e,t,A,n){let r=L.segmentation.config.visibility.getSegmentIndexVisibility(e,{segmentationId:t,type:n},A);this._setSegmentVisibility(e,t,A,!r,n)}setSegmentColor(e,t,A,n){let{colorLUTIndex:r}=this.getSegmentationRepresentations(e,{segmentationId:t})[0];this._segmentationIdToColorLUTIndexMap.set(t,r),L.segmentation.config.color.setSegmentIndexColor(e,t,A,n)}getSegmentColor(e,t,A){return L.segmentation.config.color.getSegmentIndexColor(e,t,A)}getLabelmapVolume(e){let t=L.segmentation.state.getSegmentation(e).representationData[uL];if(!t||!t.volumeId)return null;let{volumeId:A}=t;return x.cache.getVolume(A)}setSegmentLabel(e,t,A){this._setSegmentLabel(e,t,A)}setActiveSegment(e,t){this._setActiveSegment(e,t)}setRenderInactiveSegmentations(e,t){L.segmentation.config.style.setRenderInactiveSegmentations(e,t)}getRenderInactiveSegmentations(e){return L.segmentation.config.style.getRenderInactiveSegmentations(e)}setSegmentationGroupStats(e,t){let A=this.getGroupId(e);this._segmentationGroupStatsMap.set(A,t)}getSegmentationGroupStats(e){let t=this.getGroupId(e);return this._segmentationGroupStatsMap.get(t)}getGroupId(e){return e.sort().join(",")}clearSegmentationRepresentations(e){this.removeRepresentationsFromViewport(e)}remove(e){L.segmentation.state.removeSegmentation(e)}removeAllSegmentations(){L.segmentation.state.removeAllSegmentations()}removeRepresentationsFromViewport(e,t={}){L.segmentation.removeSegmentationRepresentations(e,t)}jumpToSegmentNext(e,t,A,n=1,r=.9,o=!0,i=750,a=!1,s=l5.EASE_IN_OUT){(A?[A]:this.getViewportIdsWithSegmentation(e)).forEach(A=>{let l=this.getSegmentationRepresentations(A,{segmentationId:e});if(!l||0===l.length)return;let{type:c}=l[0],u=c===uR?this._getSegmentCenter(e,t):void 0;if(c!==uR||u)return void this.jumpToSegmentCenter(e,t,A,r,o,i,a,s,u);let{viewport:d}=(0,x.getEnabledElementByViewportId)(A);if(!d)return;let p=this._getContourViewReferences(e,d,t);if(!p)return;let g=d.getCurrentImageIdIndex(),m=null,f=null;for(let[e]of p.entries())if(n>0?(null===f||e<f)&&(f=e):(null===f||e>f)&&(f=e),n>0){if(e<=g)continue;(null===m||e<m)&&(m=e)}else{if(e>=g)continue;(null===m||e>m)&&(m=e)}if(null===(m=m??f))return;let h=p.get(m);d.setViewReference(h),d.render()})}jumpToSegmentCenter(e,t,A,n=.9,r=!0,o=750,i=!1,a=l5.EASE_IN_OUT,s){let l=s??this._getSegmentCenter(e,t);if(!l)return void console.warn("No center found for segmentation",e,t);let{world:c}=l;(A?[A]:this.getViewportIdsWithSegmentation(e)).forEach(A=>{let{viewport:s}=(0,x.getEnabledElementByViewportId)(A);!s||this._segBackend(s).jumpToSegmentCenter(s,c)&&r&&this.highlightSegment(e,t,A,n,o,i,a)})}highlightSegment(e,t,A,n=.9,r=750,o=!0,i=l5.EASE_IN_OUT){this.highlightIntervalId&&clearInterval(this.highlightIntervalId);let a=this.getCornerstoneSegmentation(e);(A?[A]:this.getViewportIdsWithSegmentation(e)).forEach(A=>{let s=this.getSegmentationRepresentations(A,{segmentationId:e})[0],{type:l}=s,c=a.segments;(l===uL?this._highlightLabelmap.bind(this):this._highlightContour.bind(this))(t,l===uL?n:1-n,o,c,A,r,s,i)})}getAndValidateViewport(e){let t=this.servicesManager.services.cornerstoneViewportService.getCornerstoneViewport(e);return t||(console.warn(`Viewport with id ${e} not found.`),null)}_setSegmentationRepresentationVisibility(e,t,A,n){this.getSegmentationRepresentations(e,{segmentationId:t,type:A})[0]?L.segmentation.config.visibility.setSegmentationRepresentationVisibility(e,{segmentationId:t,type:A},n):console.debug("No segmentation representation found for the given viewportId and segmentationId")}async _addSegmentationRepresentation(e,t,A,n,r,o){let i={type:A,segmentationId:t,config:{colorLUTOrIndex:n,...o}},a=()=>L.segmentation.addSegmentationRepresentations(e,[i]);if(r){let{viewportGridService:e}=this.servicesManager.services;await new Promise(t=>{let{unsubscribe:A}=e.subscribe(e.EVENTS.GRID_STATE_CHANGED,()=>{a(),A(),t()})})}else a()}async handleVolumeViewport(e,t,A){if(A)return;let n=e.getFrameOfReferenceUID(),r=uN(t.segmentationId),o=x.cache.getImage(r[0]);o?.FrameOfReferenceUID===n&&await uH(t)}async convertStackToVolumeViewport(e){let{viewportGridService:t,cornerstoneViewportService:A}=this.servicesManager.services,n=t.getState().viewports.get(e.id),r=e.getViewPresentation(),o=e.getViewReference(),{element:i}=A.getCornerstoneViewport(e.id),a=()=>{let t=A.getCornerstoneViewport(e.id);t.setViewPresentation(r),t.setViewReference(o),t.render(),i.removeEventListener(x.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,a)};return i.addEventListener(x.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,a),t.setDisplaySetsForViewport({viewportId:e.id,displaySetInstanceUIDs:n.displaySetInstanceUIDs,viewportOptions:{...n.viewportOptions,viewportType:uE.ViewportType.ORTHOGRAPHIC}}),!0}async attemptStackToVolumeConversion(e,t,A,n){let r=uN(t.segmentationId),o=e.getFrameOfReferenceUID(),i=x.cache.getImage(r[0]);if(i?.FrameOfReferenceUID&&o&&i.FrameOfReferenceUID===o){let t=await this.convertStackToVolumeViewport(e);return uk(A,n,uL),t}return!1}addSegmentationToSource(e){L.segmentation.addSegmentations([e])}updateSegmentationInSource(e,t){L.segmentation.updateSegmentations([{segmentationId:e,payload:t}])}_toOHIFSegmentationRepresentation(e,t){let{segmentationId:A,type:n,active:r,visible:o}=t,{colorLUTIndex:i}=t,a={},s=L.segmentation.state.getSegmentation(A);if(!s)throw Error(`Segmentation with ID ${A} not found.`);for(let t of Object.keys(s.segments)){let r=parseInt(t,10),o=L.segmentation.config.color.getSegmentIndexColor(e,A,r),i=L.segmentation.config.visibility.getSegmentIndexVisibility(e,{segmentationId:A,type:n},r);a[r]={color:o,segmentIndex:r,opacity:o[3],visible:i}}let l=L.segmentation.config.style.getStyle({viewportId:e,segmentationId:A,type:n});return{id:`${A}-${n}-${e}`,segmentationId:A,label:s.label,fallbackLabel:s.fallbackLabel,active:r,type:n,visible:o,segments:a,styles:l,viewportId:e,colorLUTIndex:i,config:{}}}_initSegmentationService(){x.eventTarget.addEventListener(L.Enums.Events.SEGMENTATION_MODIFIED,this._onSegmentationModifiedFromSource),x.eventTarget.addEventListener(L.Enums.Events.SEGMENTATION_REMOVED,this._onSegmentationRemovedFromSource),x.eventTarget.addEventListener(L.Enums.Events.SEGMENTATION_DATA_MODIFIED,this._onSegmentationDataModifiedFromSource),x.eventTarget.addEventListener(L.Enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED,this._onSegmentationRepresentationModifiedFromSource),x.eventTarget.addEventListener(L.Enums.Events.SEGMENTATION_REPRESENTATION_ADDED,this._onSegmentationRepresentationModifiedFromSource),x.eventTarget.addEventListener(L.Enums.Events.SEGMENTATION_REPRESENTATION_REMOVED,this._onSegmentationRepresentationRemovedFromSource),x.eventTarget.addEventListener(L.Enums.Events.SEGMENTATION_ADDED,this._onSegmentationAddedFromSource),x.eventTarget.addEventListener(L.Enums.Events.ANNOTATION_CUT_MERGE_PROCESS_COMPLETED,this._onAnnotationCutMergeProcessCompletedFromSource)}getCornerstoneSegmentation(e){return L.segmentation.state.getSegmentation(e)}_highlightLabelmap(e,t,A,n,r,o,i,a){let{segmentationId:s}=i;if(A)throw Error("hideOthers is not working right now");let{fillAlpha:l}=this.getStyle({viewportId:r,segmentationId:s,type:uL,segmentIndex:e}),c=null,u=t=>{null===c&&(c=t);let A=Math.min((t-c)/o,1),n=l7.get(a);L.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:uL},{fillAlpha:n(A,l)}),A<1?requestAnimationFrame(u):L.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:uL},{},!1)};requestAnimationFrame(u)}_highlightContour(e,t,A,n,r,o,i,a){let{segmentationId:s}=i,l=performance.now(),c=L.segmentation.config.style.getStyle({type:uR}).outlineWidth,u=t=>{let A=(t-l)/o;if(A>=1)return void L.segmentation.config.style.resetToGlobalStyle();let n=l7.get(a);L.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:uR},{outlineWidth:n(A,c,5)}),requestAnimationFrame(u)};requestAnimationFrame(u)}_setActiveSegment(e,t){L.segmentation.segmentIndex.setActiveSegmentIndex(e,t)}_getVolumeIdForDisplaySet(e){let t=e.volumeLoaderSchema??uI;return`${t}:${e.displaySetInstanceUID}`}_getSegmentCenter(e,t){let A=this.getSegmentation(e);if(!A)return;let{segments:n}=A,{cachedStats:r}=n[t];if(r?.center){let{center:e}=r;return e}if(r?.namedStats?.center)return{world:r.namedStats.center.value}}_setSegmentLockedStatus(e,t,A){L.segmentation.segmentLocking.setSegmentIndexLocked(e,t,A)}_setSegmentVisibility(e,t,A,n,r){L.segmentation.config.visibility.setSegmentIndexVisibility(e,{segmentationId:t,type:r},A,n)}_setSegmentLabel(e,t,A){let{segments:n}=this.getCornerstoneSegmentation(e);n[t].label=A,L.segmentation.updateSegmentations([{segmentationId:e,payload:{segments:n}}])}_getContourViewReferences(e,t,A){let n=L.segmentation.state.getSegmentation(e).representationData[uR];if(!n||!n.annotationUIDsMap)return;let r=new Map;if(n.annotationUIDsMap.forEach((e,n)=>{(void 0===A||n===A)&&e.forEach(e=>{let A=L.annotation.state.getAnnotation(e);if(!A?.metadata)return;let{metadata:n}=A;if(!t.isReferenceViewable(n,{withNavigation:!0}))return;let{sliceIndex:o}=n;void 0===o?console.warn("Can't find slice index:",n):r.set(o,n)})}),0!==r.size)return r}}uG.REGISTRATION={name:"segmentationService",altName:"SegmentationService",create:({servicesManager:e})=>new uG({servicesManager:e})};let uK="stack",uj="volume",uW="orthographic",uY="volume3d",uz="video",uX="wholeslide";function uJ(e,t,A=eP){let n=t?.[0]?.viewportType?.toLowerCase()||e.toLowerCase();switch(n){case"planarnext":return x.Enums.ViewportType.PLANAR_NEXT;case"volume3dnext":return x.Enums.ViewportType.VOLUME_3D_NEXT;case"videonext":return x.Enums.ViewportType.VIDEO_NEXT;case"wholeslidenext":return x.Enums.ViewportType.WHOLE_SLIDE_NEXT;case"ecgnext":return x.Enums.ViewportType.ECG_NEXT}if(A)switch(n){case uK:case uj:case uW:return x.Enums.ViewportType.PLANAR_NEXT;case uY:return x.Enums.ViewportType.VOLUME_3D_NEXT;case uz:return x.Enums.ViewportType.VIDEO_NEXT;case uX:return x.Enums.ViewportType.WHOLE_SLIDE_NEXT;case"ecg":return x.Enums.ViewportType.ECG_NEXT;default:throw Error(`Invalid viewport type: ${e}. Valid types are: stack, volume, orthographic, volume3d, video, wholeslide, ecg`)}if(n===uK)return x.Enums.ViewportType.STACK;if(n===uz)return x.Enums.ViewportType.VIDEO;if(n===uX)return x.Enums.ViewportType.WHOLE_SLIDE;if("ecg"===n)return x.Enums.ViewportType.ECG;if(n===uj||n===uW)return x.Enums.ViewportType.ORTHOGRAPHIC;if(n===uY)return x.Enums.ViewportType.VOLUME_3D;throw Error(`Invalid viewport type: ${e}. Valid types are: stack, volume, orthographic, volume3d, video, wholeslide, ecg`)}class uq{constructor(e){this.stackImageIds=new Map,this.volumeImageIds=new Map,this.servicesManager=void 0,this.servicesManager=e}getCacheSize(){return x.cache.getCacheSize()}getCacheFreeSpace(){return x.cache.getBytesAvailable()}async createViewportData(e,t,A,n){let r,o=t.viewportType,i=uJ(o,e),a=uJ(o,e,!1);return e.length>1&&e.every(e=>e.isReconstructable)&&a===x.Enums.ViewportType.STACK&&i===x.Enums.ViewportType.PLANAR_NEXT&&(a=x.Enums.ViewportType.ORTHOGRAPHIC),(r=a===x.Enums.ViewportType.ORTHOGRAPHIC||a===x.Enums.ViewportType.VOLUME_3D?await this._getVolumeViewportData(A,e,i):a===x.Enums.ViewportType.STACK?await this._getStackViewportData(A,e,n,i):await this._getOtherViewportData(A,e,n,i)).viewportType=i,r.dataShapeType=a,r}async invalidateViewportData(e,t,A,n){let r=e.dataShapeType??e.viewportType;if(r===x.Enums.ViewportType.STACK){let r=n.getDisplaySetByUID(t),o=this._getCornerstoneStackImageIds(r,A);return o.forEach(e=>{x.cache.getImageLoadObject(e)&&x.cache.removeImageLoadObject(e)}),{viewportType:e.viewportType,dataShapeType:x.Enums.ViewportType.STACK,data:{StudyInstanceUID:r.StudyInstanceUID,displaySetInstanceUID:t,imageIds:o}}}let o=`${uI}:${t}`,i=x.cache.getVolume(o);i&&(i.imageIds&&i.imageIds.forEach(e=>{x.cache.getImageLoadObject(e)&&x.cache.removeImageLoadObject(e,{force:!0})}),x.cache._volumeCache.delete(o),this.volumeImageIds.delete(o));let a=e.data.map(({displaySetInstanceUID:e})=>n.getDisplaySetByUID(e)),s=await this._getVolumeViewportData(A,a,e.viewportType);return s.dataShapeType=r,s}async _getOtherViewportData(e,t,A,n){let[r]=t;r.imageIds||(r.imagesIds=this._getCornerstoneStackImageIds(r,e));let{imageIds:o,viewportType:i}=r;return{viewportType:i||n,data:t}}async _getStackViewportData(e,t,A,n){let{uiNotificationService:r}=this.servicesManager.services;for(let e of t.filter(e=>e.isOverlayDisplaySet))if(e.load&&e.load instanceof Function){let{userAuthenticationService:t}=this.servicesManager.services,A=t.getAuthorizationHeader();try{await e.load({headers:A})}catch(e){r.show({title:"Error loading displaySet",message:e.message,type:"error"}),console.error(e)}}let o=[];for(let n of t){let{displaySetInstanceUID:t,StudyInstanceUID:i,isCompositeStack:a}=n;if(n.load&&n.load instanceof Function){let{userAuthenticationService:e}=this.servicesManager.services,t=e.getAuthorizationHeader();try{await n.load({headers:t})}catch(e){r.show({title:"Error loading displaySet",message:e.message,type:"error"}),console.error(e)}}let s=this.stackImageIds.get(n.displaySetInstanceUID);s||(s=this._getCornerstoneStackImageIds(n,e),n.imageIds=s,this.stackImageIds.set(n.displaySetInstanceUID,s)),o.push({StudyInstanceUID:i,displaySetInstanceUID:t,isCompositeStack:a,imageIds:s,initialImageIndex:A})}return{viewportType:n,data:o}}async _getVolumeViewportData(e,t,A){let n=[];for(let A of t){let{Modality:t}=A,r="PMAP"===t,o="SEG"===t||"RTSTRUCT"===t;if(A.load&&A.load instanceof Function){let{userAuthenticationService:e}=this.servicesManager.services,t=e.getAuthorizationHeader();try{await A.load({headers:t})}catch(t){let{uiNotificationService:e}=this.servicesManager.services;e.show({title:"Error loading displaySet",message:t.message,type:"error"}),console.error(t)}if(!r){n.push({studyInstanceUID:A.StudyInstanceUID,displaySetInstanceUID:A.displaySetInstanceUID});continue}}let i=A.volumeLoaderSchema??uI,a=`${i}:${A.displaySetInstanceUID}`,s=this.volumeImageIds.get(A.displaySetInstanceUID),l=x.cache.getVolume(a);r||o||s&&l||(s=this._getCornerstoneVolumeImageIds(A,e),l=await x.volumeLoader.createAndCacheVolume(a,{imageIds:s}),this.volumeImageIds.set(A.displaySetInstanceUID,s),A.imageIds=s),n.push({StudyInstanceUID:A.StudyInstanceUID,displaySetInstanceUID:A.displaySetInstanceUID,volume:l,volumeId:a,imageIds:s,isDynamicVolume:A.isDynamicVolume})}return{viewportType:A,data:n}}_getCornerstoneStackImageIds(e,t){return t.getImageIdsForDisplaySet(e)}_getCornerstoneVolumeImageIds(e,t){return e.imageIds?e.imageIds:this._getCornerstoneStackImageIds(e,t)}}uq.REGISTRATION={name:"cornerstoneCacheService",altName:"CornerstoneCacheService",create:({servicesManager:e})=>new uq(e)};let u$="OHIFCornerstoneRenderingEngine",uZ="default",u0=({data:e,displaySetUID:t,imageId:A,viewport:n})=>{if(A&&e.isCompositeStack&&e.imageIds)return!!e.imageIds.find(e=>e===A);if(A&&(e.volumeId||(0,ei.tO)(n))){if(!n.getCurrentImageId())return!1;let e=x.utilities.imageIdToURI(A);if(n.hasImageURI(e))return!0}return e.displaySetInstanceUID===t},u1=class{constructor(e){this.viewportId="",this.element=void 0,this.viewportOptions=void 0,this.displaySetOptions=void 0,this.viewportData=void 0,this.renderingEngineId=void 0,this.viewReference=void 0,this.destroy=()=>{this.element=null,this.viewportData=null,this.viewportOptions=null,this.displaySetOptions=null},this.viewportId=e,this.setPublicViewportOptions({}),this.setPublicDisplaySetOptions([{}])}contains(e,t){if(!this.viewportData?.data)return!1;let{viewport:A}=(0,x.getEnabledElementByViewportId)(this.viewportId)||{};return this.viewportData.data.length?!!this.viewportData.data.find(n=>u0({data:n,displaySetUID:e,imageId:t,viewport:A})):u0({data:this.viewportData.data,displaySetUID:e,imageId:t,viewport:A})}setRenderingEngineId(e){this.renderingEngineId=e}getRenderingEngineId(){return this.renderingEngineId}setViewportId(e){this.viewportId=e}setElement(e){this.element=e}setViewportData(e){this.viewportData=e}getViewportData(){return this.viewportData}getElement(){return this.element}getViewportId(){return this.viewportId}getViewReference(){return this.viewportOptions?.viewReference}setPublicDisplaySetOptions(e){let t=this.mapDisplaySetOptions(e);return this.setDisplaySetOptions(t),this.displaySetOptions}hasDisplaySet(e){let t=this.getViewportData(),A=t.dataShapeType??t.viewportType;return A===x.Enums.ViewportType.ORTHOGRAPHIC||A===x.Enums.ViewportType.VOLUME_3D?t.data.some(({displaySetInstanceUID:t})=>t===e):t.data.displaySetInstanceUID===e}setPublicViewportOptions(e,t){let A=t||e.viewportType||"stack",{presentationIds:n}=e,{toolGroupId:r=uZ}=e,o=function(e){if(e)switch(e.toLowerCase()){case"axial":return x.Enums.OrientationAxis.AXIAL;case"axial_reformat":return x.Enums.OrientationAxis.AXIAL_REFORMAT;case"sagittal":return x.Enums.OrientationAxis.SAGITTAL;case"sagittal_reformat":return x.Enums.OrientationAxis.SAGITTAL_REFORMAT;case"coronal":return x.Enums.OrientationAxis.CORONAL;case"coronal_reformat":return x.Enums.OrientationAxis.CORONAL_REFORMAT}return x.Enums.OrientationAxis.ACQUISITION}(e.orientation),i=uJ(A);return r||(r=uZ),this.setViewportOptions({...e,viewportId:this.viewportId,viewportType:i,orientation:o,toolGroupId:r,presentationIds:n}),this.viewportOptions}setViewportOptions(e){this.viewportOptions=e}getViewportOptions(){return this.viewportOptions}getPresentationIds(){let{presentationIds:e}=this.viewportOptions;return e}setDisplaySetOptions(e){this.displaySetOptions=e}getSyncGroups(){return this.viewportOptions.syncGroups||=[],this.viewportOptions.syncGroups}getDisplaySetOptions(){return this.displaySetOptions}getViewportType(){return this.viewportOptions.viewportType||x.Enums.ViewportType.STACK}getToolGroupId(){return this.viewportOptions.toolGroupId}getBackground(){return this.viewportOptions.background||[0,0,0]}getOrientation(){return this.viewportOptions.orientation}setOrientation(e){this.viewportOptions.orientation=e}getDisplayArea(){return this.viewportOptions.displayArea}getInitialImageOptions(){return this.viewportOptions.initialImageOptions}mapDisplaySetOptions(e=[{}]){let t=[];return e.forEach(e=>{let A=e?.options||e;A||(A={blendMode:void 0,slabThickness:void 0,colormap:void 0,voi:{},voiInverted:!1});let n=function(e){if(!e)return x.Enums.BlendModes.COMPOSITE;if("mip"===e.toLowerCase())return x.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND;if("minip"===e.toLowerCase())return x.Enums.BlendModes.MINIMUM_INTENSITY_BLEND;if("avg"===e.toLowerCase())return x.Enums.BlendModes.AVERAGE_INTENSITY_BLEND;throw Error(`Unsupported blend mode: ${e}`)}(A.blendMode);t.push({voi:A.voi,voiInverted:A.voiInverted,colormap:A.colormap,slabThickness:A.slabThickness,blendMode:n,displayPreset:A.displayPreset})}),t}};var u3=((y=u3||{}).First="first",y.Last="last",y.Middle="middle",y);class u4{constructor(){this.refCounts=new Map,this.payloads=new Map,this.byViewport=new Map}static dataIdFor(e,t){return"overlay"===t?`${e}::overlay`:e}register(e,t,A){let n=this.refCounts.get(t)??0,r=this.payloads.get(t),o=!!A.volumeId&&!r?.volumeId;(0===n||o)&&(x.utilities.genericViewportDisplaySetMetadataProvider.add(t,A),this.payloads.set(t,A)),this.refCounts.set(t,n+1);let i=this.byViewport.get(e)??[];i.push(t),this.byViewport.set(e,i)}releaseViewport(e){let t=this.byViewport.get(e);if(t){for(let e of t){let t=(this.refCounts.get(e)??1)-1;t<=0?(this.refCounts.delete(e),this.payloads.delete(e),x.utilities.genericViewportDisplaySetMetadataProvider.remove(e)):this.refCounts.set(e,t)}this.byViewport.delete(e)}}destroy(){for(let e of this.refCounts.keys())x.utilities.genericViewportDisplaySetMetadataProvider.remove(e);this.refCounts.clear(),this.payloads.clear(),this.byViewport.clear()}}let u2={withNavigation:!0,withOrientation:!0};class u6{constructor(e){this.service=e,this.registry=new u4}dispatchMount(e,t,A,n={}){return(0,ei.TF)(e)?this.service._setStackViewport(e,t,A,n):(0,ei.rX)(e)?this.service._setVolumeViewport(e,t,A,n):(0,ei.Gj)(e)===x.Enums.ViewportType.ECG?this.service._setEcgViewport(e,t):this.service._setOtherViewport(e,t,A,n)}async mountStack(e,t){let{imageIds:A,initialImageIndex:n,properties:r,displayArea:o,rotation:i,flipHorizontal:a,presentations:s,overlayProcessingResults:l}=t;await e.setStack(A,n),e.setProperties({...r}),this.service.setPresentations(e.id,s),await this.service._addOverlayRepresentations(l),o&&e.setDisplayArea(o),i&&e.setProperties({rotation:i}),a&&e.setCamera({flipHorizontal:!0})}async mountVolumes(){return!1}async mountOverlayOnlyVolumes(e,t){await e.setVolumes(t)}async mountEcg(e,t,A){return e.setEcg(A)}async mountOther(e,t){let A=t.imageIds[0],n=x.metaData.get(x.Enums.MetadataModules.WADO_WEB_CLIENT,A);this.registry.register(e.id,A,{kind:"wsi",imageIds:t.imageIds,options:{webClient:n}}),await e.setDisplaySets({displaySetId:A})}remount(e,t,A,n){let r;if((0,ei.rX)(e)){let o=n?e.getCamera():void 0;r=this.service._setVolumeViewport(e,t,A).then(()=>{o&&(e.setCamera(o),e.render())})}return(0,ei.TF)(e)&&(r=this.service._setStackViewport(e,t,A)),r}getPositionPresentation(e,t,A){return{viewportType:t.getViewportType(),viewReference:(0,ei.Ov)(e)?null:e.getViewReference(),viewPresentation:e.getViewPresentation({pan:!0,zoom:!0}),viewportId:A}}setPositionPresentation(e,t){let A=t?.viewReference;A&&(e.isReferenceViewable(A,u2)?e.setViewReference(A):console.warn("Unable to apply reference viewable",A));let n=t?.viewPresentation;n&&e.setViewPresentation(n)}setLutPresentation(e,t){if(!t)return;let{properties:A}=t;(0,ei.rX)(e)&&A instanceof Map?A.forEach((t,A)=>{e.setProperties(t,A)}):e.setProperties(A)}registerDataId(){}onViewportDisabled(e){this.registry.releaseViewport(e)}destroy(){this.registry.destroy()}}let u9={withNavigation:!0,withOrientation:!0};function u8(e){let t=eW[e?.toLowerCase()];if(t)return"auto"===t||(0,x.isRegisteredRenderBackend)(t)?t:void console.warn(`${e}.viewportRendering: "${t}" is not a registered render backend; ignoring.`)}let u5=["displayArea","anchorWorld","anchorCanvas","scale","scaleMode","rotation","flipHorizontal","flipVertical"];class u7{constructor(e){this.service=e,this.registry=new u4}dispatchMount(e,t,A,n={}){let r=e.type;if(r===x.Enums.ViewportType.ECG_NEXT)return this.service._setEcgViewport(e,t);if(r===x.Enums.ViewportType.VIDEO_NEXT||r===x.Enums.ViewportType.WHOLE_SLIDE_NEXT)return this.service._setOtherViewport(e,t,A,n);let o=t.dataShapeType,i=t?.data?.[0]??{};return o===x.Enums.ViewportType.ORTHOGRAPHIC||o===x.Enums.ViewportType.VOLUME_3D||void 0===o&&"volume"in i?this.service._setVolumeViewport(e,t,A,n):this.service._setStackViewport(e,t,A,n)}async mountStack(e,t){let{displaySetInstanceUIDs:A,imageIds:n,initialImageIndex:r,properties:o,displayArea:i,rotation:a,flipHorizontal:s,presentations:l,overlayProcessingResults:c}=t;if(!n?.length)return;let u=A[0];this.registerDataId(e.id,u,{kind:"planar",imageIds:n,initialImageIdIndex:r});let d=u8("stack");if(await e.setDisplaySets({displaySetId:u,options:{orientation:x.Enums.OrientationAxis.ACQUISITION,role:"source",...d?{renderBackend:d}:{}}}),!o.voiRange){let e=function(e){if(!e)return;let t=x.metaData.get("voiLutModule",e),A=Array.isArray(t?.windowCenter)?t.windowCenter[0]:t?.windowCenter,n=Array.isArray(t?.windowWidth)?t.windowWidth[0]:t?.windowWidth;if(null!=A&&null!=n)return x.utilities.windowLevel.toLowHighRange(n,A)}(n[r]??n[0]);e&&(o.voiRange=e)}let p={};o.voiRange&&(p.voiRange=o.voiRange),void 0!==o.invert&&(p.invert=o.invert),o.colormap&&(p.colormap=o.colormap),Object.keys(p).length>0&&e.setDisplaySetPresentation(p);let g={};i&&(g.displayArea=i),a&&(g.rotation=a),s&&(g.flipHorizontal=!0),Object.keys(g).length>0&&e.setViewState(g),L.utilities.stackContextPrefetch.enable(e.element),(l?.positionPresentation||l?.segmentationPresentation)&&this.service.setPresentations(e.id,{positionPresentation:l.positionPresentation,segmentationPresentation:l.segmentationPresentation}),await this.service._addOverlayRepresentations(c)}async mountVolumes(e,t){let{filteredVolumeInputArray:A,volumesProperties:n,viewportInfo:r,overlayProcessingResults:o,presentations:i}=t;return!!A.length&&(await this._setNativeVolumeDisplaySets(e,A,n,r,o),(i?.positionPresentation||i?.lutPresentation||i?.segmentationPresentation)&&this.service.setPresentations(e.id,{positionPresentation:i.positionPresentation,lutPresentation:i.lutPresentation,segmentationPresentation:i.segmentationPresentation}),!0)}async mountOverlayOnlyVolumes(){}async mountEcg(e,t,A){let n=t.displaySetInstanceUID;this.registerDataId(e.id,n,{kind:"ecg",sourceDataId:A}),this.service._trackViewportDisplaySets(e.id,[n]),await e.setDisplaySets({displaySetId:n})}async mountOther(e,t){let A=t.displaySetInstanceUID,n=t.imageIds[0],r=e.type===x.Enums.ViewportType.WHOLE_SLIDE_NEXT?{kind:"wsi",imageIds:t.imageIds,options:{webClient:x.metaData.get(x.Enums.MetadataModules.WADO_WEB_CLIENT,n)}}:{kind:"video",sourceDataId:n};this.registerDataId(e.id,A,r),this.service._trackViewportDisplaySets(e.id,[A]),await e.setDisplaySets({displaySetId:A})}remount(e,t,A,n){let r=n?e.getViewState?.()??{}:void 0;return this.dispatchMount(e,t,A).then(()=>{n&&r&&(e.setViewState?.(r),e.render())})}async _setNativeVolumeDisplaySets(e,t,A,n,r){let o=n.getOrientation(),i=e.type===x.Enums.ViewportType.VOLUME_3D_NEXT,a=[],s=i?void 0:u8("orthographic");for(let[A,{volumeInput:n}]of t.entries()){let{imageIds:t,volumeId:r,displaySetInstanceUID:l}=n;this.registerDataId(e.id,l,{kind:"planar",imageIds:t,volumeId:r}),a.push({displaySetId:l,options:i?{renderMode:"vtkVolume3d"}:{orientation:o,role:0===A?"source":"overlay",...s?{renderBackend:s}:{}}})}for(let[n,{volumeInput:r}]of(await e.setDisplaySets(...a),t.entries())){let t=r.displaySetInstanceUID,o=A[n]?.properties;if(o){let A={};o.voiRange&&(A.voiRange=o.voiRange),void 0!==o.invert&&(A.invert=o.invert),o.colormap&&!i&&(A.colormap=o.colormap),i||void 0===r.blendMode||(A.blendMode=r.blendMode),i||void 0===r.slabThickness||(A.slabThickness=r.slabThickness),Object.keys(A).length>0&&e.setDisplaySetPresentation(t,A)}if(i&&0===n&&o?.preset){let t=x.CONSTANTS.VIEWPORT_PRESETS?.find(e=>e.name===o.preset),A=e.getDefaultActor?.()?.actor;t&&A&&x.utilities.applyPreset(A,t)}}await this.service._addOverlayRepresentations(r),e.render()}getPositionPresentation(e,t,A){let n=(0,ei.Ov)(e),r=n||"function"!=typeof e.getViewState?void 0:e.getViewState();return{viewportType:t.getViewportType(),viewReference:n?null:e.getViewReference(),viewPresentation:r?function(e){let t={};for(let A of u5)void 0!==e[A]&&(t[A]=e[A]);return t}(r):void 0,viewportId:A}}setPositionPresentation(e,t){let A=t?.viewReference;A&&e.isReferenceViewable?.(A,u9)&&e.setViewReference(A);let n=t?.viewPresentation;if(n&&"function"==typeof e.setViewState){let t={};for(let e of u5)void 0!==n[e]&&(t[e]=n[e]);Object.keys(t).length>0&&("displayArea"in t||(t.displayArea=void 0),e.setViewState(t))}}setLutPresentation(e,t){if(!t)return;let{properties:A}=t;if(!A||A instanceof Map)return;let n={};A.voiRange&&(n.voiRange=A.voiRange),void 0!==A.invert&&(n.invert=A.invert),A.colormap&&(n.colormap=A.colormap),Object.keys(n).length>0&&e.setDisplaySetPresentation(n)}registerDataId(e,t,A){this.registry.register(e,t,A)}onViewportDisabled(e){this.registry.releaseViewport(e)}destroy(){this.registry.destroy()}}let de={VIEWPORT_DATA_CHANGED:"event::cornerstoneViewportService:viewportDataChanged",VIEWPORT_VOLUMES_CHANGED:"event::cornerstoneViewportService:viewportVolumesChanged"},dt=new Set(["vtkVolume","vtkImageSlice"]);function dA(e,t,A){if(t>A.length)return!1;for(let n=0;n<t;n++)if(e[n]!==A[n])return!1;return!0}let dn={withNavigation:!0,withOrientation:!1},dr={withNavigation:!0,withOrientation:!0};class di extends _.PubSubService{constructor(e){super(de),this.renderingEngine=void 0,this.viewportsById=new Map,this.viewportGridResizeObserver=void 0,this.viewportsDisplaySets=new Map,this.beforeResizePositionPresentations=new Map,this.servicesManager=null,this.resizeQueue=[],this.viewportResizeTimer=null,this.gridResizeDelay=50,this.gridResizeTimeOut=null,this._backend=null,this.hangingProtocolService=void 0,this.viewportsInfo=void 0,this.sceneVolumeInputs=void 0,this.viewportDivElements=void 0,this.ViewportPropertiesMap=void 0,this.volumeUIDs=void 0,this.displaySetsNeedRerendering=void 0,this.viewportDisplaySets=void 0,this.renderingEngine=null,this.viewportGridResizeObserver=null,this.servicesManager=e}get backend(){return this._backend||(this._backend=eP?new u7(this):new u6(this)),this._backend}enableViewport(e,t){let A=new u1(e);A.setElement(t),this.viewportsById.set(e,A)}getViewportIds(){return Array.from(this.viewportsById.keys())}getRenderingEngine(){let e=(0,x.getRenderingEngine)(u$);return e?this.renderingEngine=e:(!e||e.hasBeenDestroyed)&&(this.renderingEngine=new x.RenderingEngine(u$)),this.renderingEngine}resize(){if(Array.from(this.viewportsById.values()).every(e=>{let t=e.getElement();return 0===t.clientWidth&&0===t.clientHeight}))return void console.warn("Ignoring resize when viewports have size 0");let e=Array.from(this.viewportsById.values()).filter(e=>e.getViewportType()===x.Enums.ViewportType.STACK).length,t=Array.from(this.viewportsById.values()).filter(e=>e.getViewportType()===x.Enums.ViewportType.ORTHOGRAPHIC).length;e<=12&&t<=6?(this.performResize(),this.resetGridResizeTimeout(),this.resizeQueue=[],clearTimeout(this.viewportResizeTimer)):this.enqueueViewportResizeRequest()}destroy(){this._removeResizeObserver(),this.viewportGridResizeObserver=null,this.backend.destroy();try{this.renderingEngine?.destroy?.()}catch(e){console.warn("Rendering engine not destroyed",e)}this.viewportsDisplaySets.clear(),this.renderingEngine=null,x.cache.purgeCache()}disableElement(e){this.backend.onViewportDisabled(e),this.renderingEngine?.disableElement(e),this.viewportsById.delete(e),this.viewportsDisplaySets.delete(e)}_trackViewportDisplaySets(e,t){this.viewportsDisplaySets.set(e,t)}setPresentations(e,t){let A=this.getCornerstoneViewport(e);if(!A||!t)return;let{lutPresentation:n,positionPresentation:r,segmentationPresentation:o}=t;this._setSegmentationPresentation(A,o),this._setLutPresentation(A,n),this._setPositionPresentation(A,{...r,viewportId:e})}storePresentation({viewportId:e}){let t=this.getPresentationIds(e),{syncGroupService:A}=this.servicesManager.services,n=A.getSynchronizersForViewport(e);if(!t||0===Object.keys(t).length)return null;let{lutPresentationId:r,positionPresentationId:o,segmentationPresentationId:i}=t,a=this._getPositionPresentation(e),s=this._getLutPresentation(e),l=this._getSegmentationPresentation(e),{setLutPresentation:c}=ts.I.getState(),{setPositionPresentation:u}=tl.q.getState(),{setSynchronizers:d}=nM.U.getState(),{setSegmentationPresentation:p}=tc.v.getState();r&&c(r,s),o&&u(o,a),i&&p(i,l),n?.length&&d(e,n.map(e=>({id:e.id,sourceViewports:[...e.getSourceViewports()],targetViewports:[...e.getTargetViewports()]})))}getPresentations(e){let t=this._getPositionPresentation(e);return{positionPresentation:t,lutPresentation:this._getLutPresentation(e),segmentationPresentation:this._getSegmentationPresentation(e)}}getPresentationIds(e){let t=this.viewportsById.get(e);return t?t.getPresentationIds():null}_getPositionPresentation(e){let t=this.getCornerstoneViewport(e);if(!t)return;let A=this.viewportsById.get(e);return this.backend.getPositionPresentation(t,A,e)}_getLutPresentation(e){let t=this.getCornerstoneViewport(e);if(!t)return;let A=e=>(e?.isComputedVOI&&(delete e?.voiRange,delete e?.VOILUTFunction),e?.colormap&&e.colormap?.opacity?.length===0&&delete e.colormap.opacity,e),n=(0,ei.rX)(t)?new Map:A((0,nb.qU)(t).getPresentation());if(n instanceof Map){let e=t.getAllVolumeIds();e?.forEach(e=>{let r=A(t.getProperties(e));n.set(e,r)})}return{viewportType:this.viewportsById.get(e).getViewportType(),properties:n}}_getSegmentationPresentation(e){let{segmentationService:t}=this.servicesManager.services;return t.getPresentation(e)}setViewportData(e,t,A,n,r){let o=this.getRenderingEngine();if(t.viewportType===x.Enums.ViewportType.STACK&&!t.data[0].imageIds?.length)return;let i=this.viewportsById.get(e);if(this.storePresentation({viewportId:i.getViewportId()}),this.servicesManager.services.segmentationService.clearSegmentationRepresentations(i.getViewportId()),!i)throw Error("element is not enabled for the given viewportId");let a=i.setPublicDisplaySetOptions(n),s=i.setPublicViewportOptions(A,t.viewportType),l=i.getElement(),c=i.getViewportType(),u=i.getBackground(),d=i.getOrientation(),p=i.getDisplayArea();i.setRenderingEngineId(o.id),o.enableElement({viewportId:e,element:l,type:c,defaultOptions:{background:u,orientation:d,displayArea:p}}),i.setViewportOptions(s),i.setDisplaySetOptions(a),i.setViewportData(t),i.setViewportId(e),this.viewportsById.set(e,i);let g=o.getViewport(e);this._setDisplaySets(g,t,i,r).then(()=>{this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED,{viewportData:t,viewportId:e})})}getViewportOptions(e){return this.viewportsById.get(e).getViewportOptions()}getCornerstoneViewport(e){return this.getViewportInfo(e)&&this.renderingEngine&&!this.renderingEngine.hasBeenDestroyed?this.renderingEngine.getViewport(e):null}getViewportInfo(e){return this.viewportsById.get(e)}getOrientation(e){return this.getViewportInfo(e).getOrientation()}findNavigationCompatibleViewportId(e,t){let A=this.getCornerstoneViewport(e);if(A||console.warn("No active viewport found for",e),A?.isReferenceViewable(t,dn))return e;for(let e of this.viewportsById.keys()){let A=this.getCornerstoneViewport(e);if(A?.isReferenceViewable(t,dn))return e}for(let{viewportId:e}of this.getViewportAlignmentData(t)){let A=this.getCornerstoneViewport(e);if(A?.isReferenceViewable(t,dr))return e}return null}getViewportAlignmentData(e){let t=[],{viewPlaneNormal:A,planeRestriction:n}=e,r=n?.inPlaneVector1,o=n?.inPlaneVector2;for(let e of this.viewportsById.keys()){let n=nO(this.getCornerstoneViewport(e));if(!n)continue;let i=0;r||o?i=(r?-Math.abs(nU.vec3.dot(n,r)):0)+(o?-Math.abs(nU.vec3.dot(n,o)):0):A&&(i=Math.abs(nU.vec3.dot(n,A))),t.push({viewportId:e,alignmentScore:i})}return t.sort((e,t)=>t.alignmentScore-e.alignmentScore),t}findUpdateableViewportConfiguration(e,t){let{metadata:A,displaySetInstanceUID:n}=t,{displaySetService:r}=this.servicesManager.services,o=r.getDisplaySetByUID(n),i=this.determineTargetViewportType(o,A),a=this.findViewportShowingVolume(A,n,i);if(a)return a;let s=this.findViewportConvertibleToVolume(A,n,i);if(s)return s;let l=this.findViewportWithMatchingOrientation(A,n,i);return l||{viewportId:e,displaySetInstanceUID:n,viewportOptions:{viewportType:i}}}determineTargetViewportType(e,t){let{viewportType:A}=e;return!A&&(t.referencedImageId&&!e.isReconstructable?A=x.Enums.ViewportType.STACK:t.volumeId&&(A="volume")),A}findViewportShowingVolume(e,t,A){if(!e.volumeId)return null;for(let n of this.viewportsById.keys()){let r=this.getCornerstoneViewport(n);if(r?.isReferenceViewable(e,{asVolume:!0,withNavigation:!0}))return{viewportId:n,displaySetInstanceUID:t,viewportOptions:{viewportType:A}}}return null}findViewportConvertibleToVolume(e,t,A){let{viewportGridService:n}=this.servicesManager.services,r={...e,volumeId:null,referencedImageId:null};for(let o of this.viewportsById.keys()){let i=this.getCornerstoneViewport(o),a=n.getDisplaySetsUIDsForViewport(o)?.[0];if(a&&i&&(e.volumeId&&(r.volumeId=a),r.FrameOfReferenceUID=this._getFrameOfReferenceUID(a),i.isReferenceViewable(r,{asVolume:!0,withNavigation:!0})))return{viewportId:o,displaySetInstanceUID:t,viewportOptions:{viewportType:A}}}return null}findViewportWithMatchingOrientation(e,t,A){let n=this.getViewportAlignmentData(e);return n?.length?{...n[0],displaySetInstanceUID:t,viewportOptions:{viewportType:A}}:null}async _setEcgViewport(e,t){let[A]=t.data,n=A.imageIds?.[0];return n?this.backend.mountEcg(e,A,n):void console.error("[CornerstoneViewportService] ECG display set has no imageId")}async _setOtherViewport(e,t,A,n={}){let[r]=t.data;await this.backend.mountOther(e,r);let o=A.getViewReference();o&&e.setViewReference(o)}async _setStackViewport(e,t,A,n={}){let r=A.getDisplaySetOptions(),o=t.data.map(e=>e.displaySetInstanceUID);this.viewportsDisplaySets.set(e.id,[...o]);let{initialImageIndex:i,imageIds:a}=t.data[0],s=n?.positionPresentation?.initialImageIndex??i,{rotation:l,flipHorizontal:c,displayArea:u}=A.getViewportOptions(),d={...n.lutPresentation?.properties};if(!n.lutPresentation?.properties){let{voi:e,voiInverted:t,colormap:A}=r[0];if(e&&(e.windowWidth||e.windowCenter)){let{lower:t,upper:A}=x.utilities.windowLevel.toLowHighRange(e.windowWidth,e.windowCenter);d.voiRange={lower:t,upper:A}}d.invert=t??d.invert,d.colormap=A??d.colormap}e.element.addEventListener(x.Enums.Events.VIEWPORT_NEW_IMAGE_SET,t=>{let{element:A}=t.detail;A===e.element&&L.utilities.stackContextPrefetch.enable(A)});let p=this._processExtraDisplaySetsForViewport(e),g=n?.positionPresentation?.viewReference?.referencedImageId;return g&&a&&(s=a.indexOf(g)),(null==s||s<0)&&(s=this._getInitialImageIndexForViewport(A,a)||0),this.backend.mountStack(e,{displaySetInstanceUIDs:o,imageIds:a,initialImageIndex:s,properties:d,displayArea:u,rotation:l,flipHorizontal:c,presentations:n,viewportInfo:A,overlayProcessingResults:p})}_getInitialImageIndexForViewport(e,t){let A,n=e.getInitialImageOptions();if(!n)return;let{index:r,preset:o}=n,i=e.getViewportType();if(i===x.Enums.ViewportType.STACK)A=t.length;else{if(i!==x.Enums.ViewportType.ORTHOGRAPHIC)return;let t=this.getCornerstoneViewport(e.getViewportId()),n=x.utilities.getImageSliceDataForVolumeViewport(t);if(!n)return;({numberOfSlices:A}=n)}return this._getInitialImageIndex(A,r,o)}_getInitialImageIndex(e,t,A){let n=e-1;return void 0!==t?x.utilities.clip(t,0,n):A===u3.First?0:A===u3.Last?n:A===u3.Middle?n%2==0?n/2:(n+1)/2:0}async _setVolumeViewport(e,t,A,n={}){let{displaySetService:r}=this.servicesManager.services,o=[],i=A.getDisplaySetOptions(),{hangingProtocolService:a}=this.servicesManager.services,s=[],l=[];for(let[e,A]of t.data.entries()){let{imageIds:t,displaySetInstanceUID:n}=A,a=A.volume,c=r.getDisplaySetByUID(n);if(!a&&c.images&&(a=L.utilities.getOrCreateImageVolume(c.images.map(e=>e.imageId))),l.push(n),!a){console.log("Volume display set not found");continue}s.push(a);let u=i[e],{volumeId:d}=a;o.push({imageIds:t,volumeId:d,modality:c.Modality,displaySetInstanceUID:n,blendMode:u.blendMode,slabThickness:this._getSlabThickness(u,d)})}this.viewportsDisplaySets.set(e.id,l);let c=s.filter(e=>!e.loadStatus?.loaded);if(c.length){if(a.getShouldPerformCustomImageLoad())return a.runImageLoadStrategy({viewportId:e.id,volumeInputArray:o});c.forEach(e=>{!e.loadStatus?.loading&&e.load instanceof Function&&e.load()})}return this.setVolumesForViewport(e,o,n)}async setVolumesForViewport(e,t,A){let{displaySetService:n,viewportGridService:r}=this.servicesManager.services,o=this.getViewportInfo(e.id),i=o.getDisplaySetOptions(),a=r.getDisplaySetsUIDsForViewport(e.id),s=n.getDisplaySetByUID(a[0]),l=s?.Modality,c=t.map((e,t)=>({volumeInput:e,displaySetOptions:i[t]})).filter(({volumeInput:e})=>{let t=n.getDisplaySetByUID(e.displaySetInstanceUID);return!t?.isOverlayDisplaySet}),u=c.map(({volumeInput:e,displaySetOptions:t})=>{let{volumeId:A}=e,{voi:n,voiInverted:r,colormap:o,displayPreset:i}=t,a={};if(n&&(n.windowWidth||n.windowCenter)){let{lower:e,upper:t}=x.utilities.windowLevel.toLowHighRange(n.windowWidth,n.windowCenter);a.voiRange={lower:e,upper:t}}return void 0!==r&&(a.invert=r),void 0!==o&&(a.colormap=o),void 0!==i&&(a.preset=i[l]||i.default),{properties:a,volumeId:A}}),d=this._processExtraDisplaySetsForViewport(e)||[];if(await this.backend.mountVolumes(e,{filteredVolumeInputArray:c,volumesProperties:u,viewportInfo:o,overlayProcessingResults:d,presentations:A}))return void this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED,{viewportInfo:o});!c.length&&d?.length&&d.forEach(({imageIds:t,addOverlayFn:A})=>{if(A){let A=t[0],o=n.getDisplaySetsBy(e=>!e.isOverlayDisplaySet&&e.images?.some(e=>e.imageId===A));if(1!==o.length)throw Error("Background display set not found");(0,ei.Ov)(e)&&setTimeout(()=>{r.setDisplaySetsForViewport({viewportId:e.id,displaySetInstanceUIDs:[o[0].displaySetInstanceUID]})},0)}});let p=c.map(({volumeInput:e})=>e),g=p.map(e=>e.volumeId),m=(e.getActors?.()??[]).filter(e=>dt.has(e.actor?.getClassName?.()??"")).map(e=>e.referencedId).filter(Boolean),f=!1;if(p.length){let t;if(1===g.length&&m.length>=g.length&&dA(m,g.length,g)&&(t=o.getViewportType(),(0,ei.Gj)(e)===t&&(t===x.Enums.ViewportType.ORTHOGRAPHIC||t===x.Enums.ViewportType.VOLUME_3D)))f=!0;else if(m.length&&g.length>m.length&&dA(m,m.length,g)&&"function"==typeof e.addVolumes){let t=p.slice(m.length);t.length&&await e.addVolumes(t)}else await e.setVolumes(p)}else t.length&&await this.backend.mountOverlayOnlyVolumes(e,t);if(await this._addOverlayRepresentations(d),e.render(),u.forEach(({properties:t,volumeId:A})=>{setTimeout(()=>{e.setProperties(t,A),e.render()},0)}),this.setPresentations(e.id,A),e.render(),!A.positionPresentation&&!f){let t=this._getInitialImageIndexForViewport(o);void 0!==t&&x.utilities.jumpToSlice(e.element,{imageIndex:t})}this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED,{viewportInfo:o})}_processExtraDisplaySetsForViewport(e){let{displaySetService:t}=this.servicesManager.services,A=this.viewportsDisplaySets.get(e.id).map(t.getDisplaySetByUID).filter(e=>e?.isOverlayDisplaySet);if(A?.length)return A.map(A=>{let n;return A.referencedDisplaySetInstanceUID&&(n=t.getDisplaySetByUID(A.referencedDisplaySetInstanceUID).images.map(e=>e.imageId)),{imageIds:n,addOverlayFn:()=>this.addOverlayRepresentationForDisplaySet(A,e)}})}addOverlayRepresentationForDisplaySet(e,t){let{segmentationService:A}=this.servicesManager.services,n=e.displaySetInstanceUID,r="SEG"===e.Modality?L.Enums.SegmentationRepresentations.Labelmap:L.Enums.SegmentationRepresentations.Contour,o=()=>{let{predecessorImageId:o}=e,i=A.addSegmentationRepresentation(t.id,{segmentationId:n,predecessorImageId:o,type:r,config:{blendMode:t?.getBlendMode?.()===1?uE.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND:void 0}});return this.storePresentation({viewportId:t.id}),i};return"SEG"===e.Modality?A.getSegmentation(n)?o():new Promise(t=>{let r,i=!1,a=()=>{clearTimeout(r),t()},s=()=>{i=!0,l(),a()},{unsubscribe:l}=A.subscribe(A.EVENTS.SEGMENTATION_LOADING_COMPLETE,async e=>{if(!i&&e.segDisplaySet?.displaySetInstanceUID===n){i=!0,l();try{await o()}catch(e){console.warn(`Failed to apply segmentation representation for "${n}":`,e)}finally{a()}}}),c=e.loadingPromise;c?.catch(e=>{i||(console.warn(`Segmentation "${n}" failed to load; skipping representation setup.`,e),s())}),r=setTimeout(()=>{if(i){console.warn(`Timed out applying segmentation representation for "${n}"; resolving viewport readiness anyway.`),t();return}console.warn(`Timed out waiting for segmentation "${n}" to load; skipping representation setup.`),s()},12e4)}):o()}async _addOverlayRepresentations(e){if(e?.length)for(let t of e)t?.addOverlayFn&&await t.addOverlayFn()}updateViewport(e,t,A=!1){let n=this.getViewportInfo(e),r=this.getCornerstoneViewport(e),o=this.backend.remount(r,t,n,A);o&&o.then(()=>{this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED,{viewportData:t,viewportId:e})})}_setDisplaySets(e,t,A,n={}){return this.backend.dispatchMount(e,t,A,n)}_removeResizeObserver(){this.viewportGridResizeObserver&&this.viewportGridResizeObserver.disconnect()}_getSlabThickness(e,t){let{blendMode:A}=e;if(void 0!==A&&void 0!==e.slabThickness){if("number"==typeof e.slabThickness)return e.slabThickness;if("fullvolume"===e.slabThickness.toLowerCase()){let{dimensions:e,spacing:A}=x.cache.getVolume(t);return Math.sqrt(Math.pow(e[0]*A[0],2)+Math.pow(e[1]*A[1],2)+Math.pow(e[2]*A[2],2))}}}_getFrameOfReferenceUID(e){let{displaySetService:t}=this.servicesManager.services,A=t.getDisplaySetByUID(e);if(!A)return;if(A.FrameOfReferenceUID)return A.FrameOfReferenceUID;if("SEG"===A.Modality){let{instance:e}=A;return e.FrameOfReferenceUID}if("RTSTRUCT"===A.Modality){let{instance:e}=A;return e.ReferencedFrameOfReferenceSequence.FrameOfReferenceUID}let{images:n}=A;if(n&&n.length)return n[0].FrameOfReferenceUID}enqueueViewportResizeRequest(){this.resizeQueue.push(!1),clearTimeout(this.viewportResizeTimer),this.viewportResizeTimer=setTimeout(()=>{this.processViewportResizeQueue()},this.gridResizeDelay)}processViewportResizeQueue(){let e=this.resizeQueue.some(e=>e);!(this.resizeQueue.length>0)||e||this.gridResizeTimeOut||this.performResize(),this.resizeQueue=[]}performResize(){try{this.getRenderingEngine().getViewports().forEach(({id:e})=>{let t=this._getPositionPresentation(e);delete t.viewReference?.sliceIndex,this.beforeResizePositionPresentations.set(e,t)});let e=this.renderingEngine;e.resize(!1),e.render(),this.beforeResizePositionPresentations.forEach((e,t)=>{this.setPresentations(t,{positionPresentation:e})}),e.resize(!1),e.render()}catch(e){console.warn("Caught resize exception",e)}}resetGridResizeTimeout(){clearTimeout(this.gridResizeTimeOut),this.gridResizeTimeOut=setTimeout(()=>{this.gridResizeTimeOut=null},this.gridResizeDelay)}_setLutPresentation(e,t){this.backend.setLutPresentation(e,t)}_setPositionPresentation(e,t){this.backend.setPositionPresentation(e,t)}_setSegmentationPresentation(e,t){if(!t)return;let{segmentationService:A}=this.servicesManager.services;t.forEach(t=>{let{segmentationId:n,type:r,hydrated:o}=t,{Labelmap:i,Surface:a}=L.Enums.SegmentationRepresentations,s=(0,ei.Ov)(e);o&&A.addSegmentationRepresentation(e.id,{segmentationId:n,type:r!==a||s?r:i,config:{blendMode:e?.getBlendMode?.()===1?uE.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND:void 0}})})}getViewportDisplaySets(e){let{displaySetService:t}=this.servicesManager.services;return(this.viewportsDisplaySets.get(e)||[]).map(e=>t.getDisplaySetByUID(e)).filter(Boolean)}}di.REGISTRATION={name:"cornerstoneViewportService",altName:"CornerstoneViewportService",create:({servicesManager:e})=>new di(e)};let da=((v={}).Removed="removed",v.Added="added",v.Modified="modified",v);class ds extends _.PubSubService{constructor(e){super(ds.EVENTS),this.colorbars={},this.servicesManager=void 0,this.servicesManager=e}addColorbar(e,t,A={}){let{displaySetService:n}=this.servicesManager.services,r=(0,x.getRenderingEngine)(u$).getViewport(e);if(!r)return;let o=(0,nb.qU)(r);if(!o.hasContent())return;let{activeColormapName:i,colormaps:a}=A;t.forEach(t=>{if(n.getDisplaySetByUID(t).isOverlayDisplaySet)return;let r=o.getDataIdForDisplaySet(t),s=o.getPresentation(r),l=s?.colormap;i&&!l&&this.setViewportColormap(e,t,a[i],!0);let c={activeColormapName:l?.name||A?.activeColormapName||"Grayscale",colormaps:A.colormaps?Object.values(A.colormaps):[],volumeId:r,dataId:r};if(this.colorbars[e]){let A=this.colorbars[e].findIndex(e=>e.displaySetInstanceUID===t);-1!==A?this.colorbars[e][A].colorbar=c:this.colorbars[e].push({colorbar:c,displaySetInstanceUID:t})}else this.colorbars[e]=[{colorbar:c,displaySetInstanceUID:t}]}),this._broadcastEvent(ds.EVENTS.STATE_CHANGED,{viewportId:e,changeType:da.Added})}removeColorbar(e,t){let A=this.colorbars[e];if(A){if(t){let n=A.findIndex(e=>e.displaySetInstanceUID===t);-1!==n&&(A.splice(n,1),0===A.length&&delete this.colorbars[e])}else delete this.colorbars[e];this._broadcastEvent(ds.EVENTS.STATE_CHANGED,{viewportId:e,displaySetInstanceUID:t,changeType:da.Removed})}}hasColorbar(e){return!!this.colorbars[e]}getState(){return this.colorbars}getViewportColorbar(e){return this.colorbars[e]}onModeExit(){Object.keys(this.colorbars).forEach(e=>{this.removeColorbar(e)})}setViewportColormap(e,t,A,n=!1){let r=(0,x.getRenderingEngine)(u$).getViewport(e);if(!r)return;let o=(0,nb.qU)(r);if(!o.hasContent())return;let i=o.getDataIdForDisplaySet(t);o.setPresentation({colormap:A},i),n&&r.render()}}ds.EVENTS={STATE_CHANGED:"event::ColorbarService:stateChanged"},ds.REGISTRATION={name:"colorbarService",create:({servicesManager:e})=>new ds(e)};class dl extends _.PubSubService{constructor(){super(dl.EVENTS),this.viewedDataIds=new Set}markDataViewed(e){!e||this.viewedDataIds.has(e)||(this.viewedDataIds.add(e),this._broadcastEvent(this.EVENTS.VIEWED_DATA_CHANGED,{viewedDataId:e}))}isDataViewed(e){return!!e&&this.viewedDataIds.has(e)}clearViewedData(){this.viewedDataIds.clear(),this._broadcastEvent(this.EVENTS.VIEWED_DATA_CHANGED,{viewedDataCleared:!0})}subscribeViewedDataChanges(e){return this.subscribe(this.EVENTS.VIEWED_DATA_CHANGED,e)}}function dc(e){return(dc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function du(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var A=e[Symbol.toPrimitive];if(void 0!==A){var n=A.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(n.key),n)}}function dd(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=Array(t);A<t;A++)n[A]=e[A];return n}function dp(e){for(var t=new Uint8Array(e.length),A=0,n=e.length;A<n;A++)t[A]=e.charCodeAt(A);return t}function dg(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,r=e.length;n&&(r=Math.min(A+n,e.length));for(var o=A;o<r;o++)if(e[o]===t[0]&&function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(A+t.length>e.length)return!1;for(var n=A,r=0;r<t.length;r++){if(t[r]!==e[n])return!1;n+=1}return!0}(e,t,o))return o;return -1}function dm(e){return"object"===dc(e)&&null!==e}function df(e){return 0===Object.keys(e).length&&e.constructor===Object}dl.EVENTS={VIEWED_DATA_CHANGED:"event::viewedDataChanged"},dl.REGISTRATION={name:"viewedDataService",altName:"ViewedDataService",create:()=>new dl};var dh=function(e){return e[0]},dw={DICOM:"application/dicom",DICOM_JSON:"application/dicom+json",OCTET_STREAM:"application/octet-stream",PDF:"application/pdf",JPEG:"image/jpeg",PNG:"image/png"},dB=function(){},dy=function(){var e,t;function A(e){if(!(this instanceof A))throw TypeError("Cannot call a class as a function");this.baseURL=e.url,this.baseURL||console.error("no DICOMweb base url provided - calls that require a URL will fail"),"username"in e&&(this.username=e.username,"password"in e||console.error("no password provided to authenticate with DICOMweb service"),this.password=e.password),"qidoURLPrefix"in e?(dB("use URL prefix for QIDO-RS: ".concat(e.qidoURLPrefix)),this.qidoURL="".concat(this.baseURL,"/").concat(e.qidoURLPrefix)):this.qidoURL=this.baseURL,"wadoURLPrefix"in e?(dB("use URL prefix for WADO-RS: ".concat(e.wadoURLPrefix)),this.wadoURL="".concat(this.baseURL,"/").concat(e.wadoURLPrefix)):this.wadoURL=this.baseURL,"stowURLPrefix"in e?(dB("use URL prefix for STOW-RS: ".concat(e.stowURLPrefix)),this.stowURL="".concat(this.baseURL,"/").concat(e.stowURLPrefix)):this.stowURL=this.baseURL,e.singlepart?(dB("use singlepart",e.singlepart),this.singlepart=!0===e.singlepart?"bulkdata,video,image":e.singlepart):this.singlepart="","requestHooks"in e&&(this.requestHooks=e.requestHooks),this.headers=e.headers||{},this.errorInterceptor=e.errorInterceptor||function(){},this.verbose=!1!==e.verbose,this.setDebug(e.debug)}return e=[{key:"setDebug",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.debugLevel=!!e,dB=t||e?console.log:function(){}}},{key:"getDebug",value:function(){return this.debugLevel}},{key:"setVerbose",value:function(e){this.verbose=e}},{key:"getVerbose",value:function(){return this.verbose}},{key:"_httpRequest",value:function(e,t){var A=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=this.errorInterceptor,i=this.requestHooks;return new Promise(function(a,s){var l=r.request?r.request:new XMLHttpRequest;l.open(t,e,!0),"responseType"in r&&(l.responseType=r.responseType),"object"===dc(n)&&Object.keys(n).forEach(function(e){l.setRequestHeader(e,n[e])});var c=A.headers;if(Object.keys(c).forEach(function(e){l.setRequestHeader(e,c[e])}),l.onloadstart=function(){dB("upload started: ",e)},l.onloadend=function(){dB("upload finished")},l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e=l.getResponseHeader("Content-Type");e&&-1!==e.indexOf("multipart")?a(function(e){var t,A=ArrayBuffer.isView(e)?e:new Uint8Array(e),n=dp("\r\n\r\n"),r=dg(A,n,0,1e3);if(-1===r)throw Error("Response message has no multipart mime header");var o=function(e){for(var t=e.split("\r\n"),A=0;A<t.length;A++)if("--"===t[A].substr(0,2))return t[A];return null}(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=arguments.length>2?arguments[2]:void 0,n=A||e.length-t,r="",o=t;o<t+n;o++)r+=String.fromCharCode(e[o]);return r}(A,0,r));if(!o)throw Error("Header of response message does not specify boundary");for(var i=dp(o),a=i.length,s=[],l=a;-1!==t&&-1!==(t=dg(A,i,l));){var c=dg(A,n,l,1e3);if(-1===c)throw Error("Response message part has no mime header");l=c+n.length;var u=e.slice(l,t-2);s.push(u),l=t+a}return s}(l.response)):"arraybuffer"===l.responseType?a([l.response]):a(l.response)}else if(202===l.status)A.verbose&&console.warn("some resources already existed: ",l),a(l.response);else if(204===l.status)A.verbose&&console.warn("empty response for request: ",l),a([]);else{var t=Error("request failed");t.request=l,t.response=l.response,t.status=l.status,A.verbose&&(console.error("request failed: ",l),console.error(t),console.error(t.response)),o(t),s(t)}},"progressCallback"in r&&"function"==typeof r.progressCallback&&(l.onprogress=r.progressCallback),i&&((u=Array.isArray(i)&&i.every(function(e){return"function"==typeof e&&2===e.length}))||console.warn("Request hooks should have the following signature: function requestHook(request, metadata) { return request; }"),u)){var u,d={method:t,url:e,headers:Object.assign({},n,A.headers)};l=function(e){return i.reduce(function(e,t){return t(e,d)},e)}(l)}"withCredentials"in r&&r.withCredentials&&(l.withCredentials=!0),"data"in r?l.send(r.data):l.send()})}},{key:"_httpGet",value:function(e,t,A,n,r){return this._httpRequest(e,"get",t,{responseType:A,progressCallback:n,withCredentials:r})}},{key:"_httpGetApplicationJson",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=e;"object"!==dc(t)||df(t)||(o+=A._parseQueryParameters(t));var i={Accept:dw.DICOM_JSON};return this._httpGet(o,i,"json",n,r)}},{key:"_httpGetApplicationPdf",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=e;"object"!==dc(t)||df(t)||(o+=A._parseQueryParameters(t));var i={Accept:dw.PDF};return this._httpGet(o,i,"json",n,r)}},{key:"_httpGetImage",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==dc(n)||df(n)||(i+=A._parseQueryParameters(n));var a=A._buildAcceptHeaderFieldValue(t,["image/","image/*","image/jpeg","image/jp2","image/gif","image/png"]);return this._httpGet(i,{Accept:a},"arraybuffer",r,o)}},{key:"_httpGetText",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==dc(n)||df(n)||(i+=A._parseQueryParameters(n));var a=A._buildAcceptHeaderFieldValue(t,["text/","text/*","text/html","text/plain","text/rtf","text/xml"]);return this._httpGet(i,{Accept:a},"arraybuffer",r,o)}},{key:"_httpGetVideo",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==dc(n)||df(n)||(i+=A._parseQueryParameters(n));var a=A._buildAcceptHeaderFieldValue(t,["video/","video/*","video/mpeg","video/mp4","video/H265"]);return this._httpGet(i,{Accept:a},"arraybuffer",r,o)}},{key:"_httpGetMultipartImage",value:function(e,t,n,r){var o,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l={};return i?o=["image/jpeg","image/gif","image/png","image/jp2"]:(o={"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"]},n&&(l.Range=A._buildRangeHeaderFieldValue(n))),l.Accept=A._buildMultipartAcceptHeaderFieldValue(t,o),this._httpGet(e,l,"arraybuffer",a,s)}},{key:"_httpGetMultipartVideo",value:function(e,t,n,r){var o,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l={};return i?o=["video/","video/*","video/mpeg2","video/mp4","video/H265"]:(o={"1.2.840.10008.1.2.4.100":["video/mpeg2"],"1.2.840.10008.1.2.4.101":["video/mpeg2"],"1.2.840.10008.1.2.4.102":["video/mp4"],"1.2.840.10008.1.2.4.103":["video/mp4"],"1.2.840.10008.1.2.4.104":["video/mp4"],"1.2.840.10008.1.2.4.105":["video/mp4"],"1.2.840.10008.1.2.4.106":["video/mp4"]},n&&(l.Range=A._buildRangeHeaderFieldValue(n))),l.Accept=A._buildMultipartAcceptHeaderFieldValue(t,o),this._httpGet(e,l,"arraybuffer",a,s)}},{key:"_httpGetMultipartApplicationDicom",value:function(e,t,n,r,o){var i={},a="application/dicom",s=t;return t||(s=[{mediaType:a}]),i.Accept=A._buildMultipartAcceptHeaderFieldValue(s,{"1.2.840.10008.1.2.1":[a],"1.2.840.10008.1.2.5":[a],"1.2.840.10008.1.2.4.50":[a],"1.2.840.10008.1.2.4.51":[a],"1.2.840.10008.1.2.4.57":[a],"1.2.840.10008.1.2.4.70":[a],"1.2.840.10008.1.2.4.80":[a],"1.2.840.10008.1.2.4.81":[a],"1.2.840.10008.1.2.4.90":[a],"1.2.840.10008.1.2.4.91":[a],"1.2.840.10008.1.2.4.92":[a],"1.2.840.10008.1.2.4.93":[a],"1.2.840.10008.1.2.4.100":[a],"1.2.840.10008.1.2.4.101":[a],"1.2.840.10008.1.2.4.102":[a],"1.2.840.10008.1.2.4.103":[a],"1.2.840.10008.1.2.4.104":[a],"1.2.840.10008.1.2.4.105":[a],"1.2.840.10008.1.2.4.106":[a]}),this._httpGet(e,i,"arraybuffer",r,o)}},{key:"_httpGetMultipartApplicationOctetStream",value:function(e,t,n,r,o,i){var a,s={},l={"1.2.840.10008.1.2.1":function(e){if(Array.isArray(e))return dd(e)}(a=Object.values(dw))||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e){if(e){if("string"==typeof e)return dd(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return dd(e,void 0)}}(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},c=t;return t||(c=[{mediaType:"application/octet-stream"}]),n&&(s.Range=A._buildRangeHeaderFieldValue(n)),s.Accept=A._buildMultipartAcceptHeaderFieldValue(c,l),this._httpGet(e,s,"arraybuffer",o,i)}},{key:"_httpPost",value:function(e,t,A,n,r,o){return this._httpRequest(e,"post",t,{data:A,progressCallback:n,withCredentials:r,request:o})}},{key:"_httpPostApplicationJson",value:function(e,t,A,n){var r={"Content-Type":dw.DICOM_JSON};return this._httpPost(e,r,t,A,n)}},{key:"searchForStudies",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};dB("search for studies");var t=!1,n="".concat(this.qidoURL,"/studies");return"queryParams"in e&&(n+=A._parseQueryParameters(e.queryParams)),"withCredentials"in e&&e.withCredentials&&(t=e.withCredentials),this._httpGetApplicationJson(n,{},!1,t)}},{key:"retrieveStudyMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of study metadata");dB("retrieve metadata of study ".concat(e.studyInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/metadata"),A=!1;return"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(t,{},!1,A)}},{key:"searchForSeries",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.qidoURL;"studyInstanceUID"in e&&(dB("search series of study ".concat(e.studyInstanceUID)),t+="/studies/".concat(e.studyInstanceUID)),t+="/series","queryParams"in e&&(t+=A._parseQueryParameters(e.queryParams));var n=!1;return"withCredentials"in e&&e.withCredentials&&(n=e.withCredentials),this._httpGetApplicationJson(t,{},!1,n)}},{key:"retrieveSeriesMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of series metadata");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of series metadata");dB("retrieve metadata of series ".concat(e.seriesInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/metadata"),A=!1;return"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(t,{},!1,A)}},{key:"searchForInstances",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.qidoURL,n=!1;return"studyInstanceUID"in e?(t+="/studies/".concat(e.studyInstanceUID),"seriesInstanceUID"in e?(dB("search for instances of series ".concat(e.seriesInstanceUID)),t+="/series/".concat(e.seriesInstanceUID)):dB("search for instances of study ".concat(e.studyInstanceUID))):dB("search for instances"),t+="/instances","queryParams"in e&&(t+=A._parseQueryParameters(e.queryParams)),"withCredentials"in e&&e.withCredentials&&(n=e.withCredentials),this._httpGetApplicationJson(t,{},!1,n)}},{key:"buildInstanceWadoURIUrl",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required.");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required.");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required.");var t=e.contentType||dw.DICOM,A=e.transferSyntax||"*",n=[];n.push("requestType=WADO"),n.push("studyUID=".concat(e.studyInstanceUID)),n.push("seriesUID=".concat(e.seriesInstanceUID)),n.push("objectUID=".concat(e.sopInstanceUID)),n.push("contentType=".concat(t)),n.push("transferSyntax=".concat(A));var r=n.join("&");return"".concat(this.wadoURL,"?").concat(r)}},{key:"retrieveInstanceMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of instance metadata");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of instance metadata");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of instance metadata");dB("retrieve metadata of instance ".concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/metadata"),A=!1;return"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(t,{},!1,A)}},{key:"retrieveInstanceFrames",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of instance frames");dB("retrieve frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString()),n=e.mediaTypes,r=!1;"withCredentials"in e&&e.withCredentials&&(r=e.withCredentials);var o=!1;if("progressCallback"in e&&(o=e.progressCallback),!n)return this._httpGetMultipartApplicationOctetStream(t,!1,!1,!1,o,r);if(A._getSharedMediaTypes(n).length>1){var i={Accept:A._buildMultipartAcceptHeaderFieldValue(n,{"1.2.840.10008.1.2.1":["application/octet-stream"],"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"],"1.2.840.10008.1.2.4.201":["image/jhc"],"1.2.840.10008.1.2.4.202":["image/jhc"]})};return this._httpGet(t,i,"arraybuffer",o,r)}var a=A._getCommonMediaType(n);if(a.startsWith("application"))return this._httpGetMultipartApplicationOctetStream(t,n,!1,!1,o,r);if(a.startsWith("image"))return this._httpGetMultipartImage(t,n,!1,!1,!1,o,r);if(a.startsWith("video"))return this._httpGetMultipartVideo(t,n,!1,!1,!1,o,r);throw Error("Media type ".concat(a," is not supported for retrieval of frames."))}},{key:"retrieveInstanceRendered",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/rendered"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",i,o);var a=A._getCommonMediaType(n);if(a.startsWith("image"))return this._httpGetImage(t,n,r,i,o);if(a.startsWith("video"))return this._httpGetVideo(t,n,r,i,o);if(a.startsWith("text"))return this._httpGetText(t,n,r,i,o);if(a===dw.PDF)return this._httpGetApplicationPdf(t,r,i,o);throw Error("Media type ".concat(a," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceThumbnail",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/thumbnail"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",i,o);var a=A._getCommonMediaType(n);if(a.startsWith("image"))return this._httpGetImage(t,n,r,i,o);throw Error("Media type ".concat(a," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceFramesRendered",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of rendered instance frames");dB("retrieve rendered frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString(),"/rendered"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",!1,o);var a=A._getCommonMediaType(n);if(a.startsWith("image"))return this._httpGetImage(t,n,r,i,o);if(a.startsWith("video"))return this._httpGetVideo(t,n,r,i,o);throw Error("Media type ".concat(a," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstanceFramesThumbnail",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of rendered instance frames");console.debug("retrieve rendered frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString(),"/thumbnail"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",i,o);var a=A._getCommonMediaType(n);if(a.startsWith("image"))return this._httpGetImage(t,n,r,i,o);throw Error("Media type ".concat(a," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstance",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID),n=e.mediaTypes,r=e.withCredentials,o=void 0!==r&&r,i=e.progressCallback,a=void 0!==i&&i;if(!n)return this._httpGetMultipartApplicationDicom(t,!1,!1,a,o).then(dh);var s=A._getCommonMediaType(n);if(s===dw.DICOM)return this._httpGetMultipartApplicationDicom(t,n,!1,a,o).then(dh);throw Error("Media type ".concat(s," is not supported for retrieval of instance."))}},{key:"retrieveSeries",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID),n=e.mediaTypes,r=!1;"withCredentials"in e&&e.withCredentials&&(r=e.withCredentials);var o=!1;if("progressCallback"in e&&(o=e.progressCallback),!n)return this._httpGetMultipartApplicationDicom(t,!1,!1,o,r);var i=A._getCommonMediaType(n);if(i===dw.DICOM)return this._httpGetMultipartApplicationDicom(t,n,!1,o,r);throw Error("Media type ".concat(i," is not supported for retrieval of series."))}},{key:"retrieveStudy",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID),n=e.mediaTypes,r=e.withCredentials,o=void 0!==r&&r,i=e.progressCallback,a=void 0!==i&&i;if(!n)return this._httpGetMultipartApplicationDicom(t,!1,!1,a,o);var s=A._getCommonMediaType(n);if(s===dw.DICOM)return this._httpGetMultipartApplicationDicom(t,n,!1,a,o);throw Error("Media type ".concat(s," is not supported for retrieval of study."))}},{key:"retrieveBulkData",value:function(e){if(!("BulkDataURI"in e))throw Error("BulkDataURI is required.");var t=e.BulkDataURI,n=e.mediaTypes,r=e.byteRange,o=e.withCredentials,i=void 0!==o&&o,a=e.progressCallback,s=void 0!==a&&a;if(-1!==this.singlepart.indexOf("bulkdata"))return this._httpGet(t,e.headers,"arraybuffer",null,i);if(n)try{var l=A._getCommonMediaType(n);if("image/"===l)return this._httpGetMultipartImage(t,n,r,!1,!1,s,i)}catch(e){}return this._httpGetMultipartApplicationOctetStream(t,n,r,!1,s,i)}},{key:"storeInstances",value:function(e){if(!("datasets"in e))throw Error("datasets are required for storing");var t="".concat(this.stowURL,"/studies");"studyInstanceUID"in e&&(t+="/".concat(e.studyInstanceUID));var A=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){function e(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return"".concat(e()+e(),"-").concat(e(),"-").concat(e(),"-").concat(e(),"-").concat(e()).concat(e()).concat(e())}(),A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/dicom",n=dp("\r\n--".concat(t,"\r\n").concat("Content-Type: ".concat(A),"\r\n\r\n")),r=dp("\r\n--".concat(t,"--")),o=n.length,i=r.length,a=0,s=e.map(function(e){var t=new Uint8Array(e),A=t.length;return a+=o+A+i,t}),l=new Uint8Array(a);l.set(n,0);var c=0;return s.forEach(function(e){l.set(n,c),l.set(e,c+o),c+=o+e.length}),l.set(r,c),{data:l.buffer,boundary:t}}(e.datasets),n=A.data,r=A.boundary,o=e.withCredentials;return this._httpPost(t,{"Content-Type":'multipart/related; type="application/dicom"; boundary="'.concat(r,'"')},n,e.progressCallback,void 0!==o&&o,e.request)}}],t=[{key:"_parseQueryParameters",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="?";return Object.keys(e).forEach(function(A,n){0!==n&&(t+="&"),t+="".concat(A,"=").concat(encodeURIComponent(e[A]))}),t}},{key:"_assertMediaTypeIsValid",value:function(e){if(!e)throw Error("Not a valid media type: ".concat(e));var t=e.indexOf("/");if(-1===t||!["application","image","text","video"].includes(e.slice(0,t))||e.slice(t+1).includes("/"))throw Error("Not a valid media type: ".concat(e))}},{key:"_parseMediaType",value:function(e){return A._assertMediaTypeIsValid(e),e.split("/")}},{key:"_buildAcceptHeaderFieldValue",value:function(e,t){if(!Array.isArray(e))throw Error("Acceptable media types must be provided as an Array");return e.map(function(e){var n=e.mediaType;if(A._assertMediaTypeIsValid(n),!t.includes(n))throw Error("Media type ".concat(n," is not supported for requested resource"));return n}).join(", ")}},{key:"_buildMultipartAcceptHeaderFieldValue",value:function(e,t){var n=this;if(!Array.isArray(e))throw Error("Acceptable media types must be provided as an Array");if(!Array.isArray(t)&&!dm(t))throw Error("Supported media types must be provided as an Array or an Object");var r=[];if(e.forEach(function(e){var o=e.transferSyntaxUID,i=e.mediaType;A._assertMediaTypeIsValid(i);var a='multipart/related; type="'.concat(i,'"');if(dm(t)){if(!Object.values(t).flat(1).includes(i)&&(!i.endsWith("/*")||!i.endsWith("/")))return void dB("Media type ".concat(i," is not supported for requested resource"));if(o){if("*"!==o){if(!Object.keys(t).includes(o))throw Error("Transfer syntax ".concat(o," is not supported for requested resource"));var s=t[o];if(!s.includes(i)){var l=A._parseMediaType(i)[0];s.map(function(e){if(!(l===A._parseMediaType(e)[0]&&(i.endsWith("/*")||i.endsWith("/"))))throw Error("Transfer syntax ".concat(o," is not supported for requested resource"))})}}a+="; transfer-syntax=".concat(o)}}else if(Array.isArray(t)&&!t.includes(i)){n.verbose&&console.warn("Media type ".concat(i," is not supported for requested resource"));return}r.push(a)}),!r.length)throw Error("No acceptable media types found among ".concat(JSON.stringify(e)));return r.join(", ")}},{key:"_buildRangeHeaderFieldValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return 1===e.length?"bytes=".concat(e[0],"-"):2===e.length?"bytes=".concat(e[0],"-").concat(e[1]):"bytes=0-"}},{key:"_getSharedMediaTypes",value:function(e){var t=new Set;return e&&e.length?(e.forEach(function(e){var n=e.mediaType,r=A._parseMediaType(n)[0];t.add("".concat(r,"/"))}),Array.from(t)):t}},{key:"_getCommonMediaType",value:function(e){if(!e||!e.length)throw Error("No acceptable media types provided");var t=A._getSharedMediaTypes(e);if(0===t.length)throw Error("No common acceptable media type could be identified.");if(t.length>1)throw Error("Acceptable media types must have the same type.");return t[0]}}],e&&du(A.prototype,e),t&&du(A,t),Object.defineProperty(A,"prototype",{writable:!1}),A}();let dv=e=>{if(e)return"function"==typeof e.getImageId?e.getImageId():e.url},dC=e=>(Array.isArray(e)?e:[e]).some(e=>!e),dS=e=>e&&e.images&&e.images[0],dE=(e,t=_.DICOMWeb.getAuthorizationHeader())=>fetch(e,t).then(e=>e.arrayBuffer()),dI=e=>x.imageLoader.loadAndCacheImage(e).then(e=>e&&e.data&&e.data.byteArray.buffer),db=(e,t,A,n,r=_.DICOMWeb.getAuthorizationHeader(),o=_.errorHandler.getHTTPErrorHandler())=>new dy({url:e,headers:r,errorInterceptor:o}).retrieveInstance({studyInstanceUID:t,seriesInstanceUID:A,sopInstanceUID:n}),dU=new class{getLocalData(e,t){let A=dS(e),n=e&&e.instance;if(!A&&!n||!n.imageId?.startsWith("dicomfile"))return;let r=dv(A||n);if(dC(r)&&(r=((e,t)=>{let{series:A=[]}=e.find(e=>e.displaySets.some(e=>e.displaySetInstanceUID===t)),{instances:n=[]}=A[0]||{};return dv(n[0])})(t,e.displaySetInstanceUID)),!dC(r))return W().wadouri.loadFileRequest(r)}getDataByImageType(e){let t=dS(e);if(t){let e,A,n=dv(t),r=dE;switch(A=(e=/^\w+\:/).exec(n),0===e.lastIndex&&A&&A[0]&&A[0].replace(":","")||""){case"dicomfile":r=dI.bind(this,n);break;case"wadors":let o=t.getData().wadoRoot,i=t.getStudyInstanceUID(),a=t.getSeriesInstanceUID(),s=t.getSOPInstanceUID();if(dC([o,i,a,s]))return;r=db.bind(this,o,i,a,s);break;case"wadouri":if(dC(n=n.substring(n.indexOf(":")+1)))return;r=dE.bind(this,n);break;default:return}return r()}}getDataByDatasetType(e){let{StudyInstanceUID:t,SeriesInstanceUID:A,SOPInstanceUID:n,authorizationHeaders:r,wadoRoot:o,wadoUri:i,instance:a}=e;if(!dC(o))return db(o,t,A,n,r);if(!dC(i))return dE(i,{headers:r});if(!dC(a?.url)){let e=a.url;return dE(e.startsWith("http")?e:e.substring(e.indexOf(":")+1),{headers:r})}}*getLoaderIterator(e,t,A){yield this.getLocalData(e,t),yield this.getDataByImageType(e),yield this.getDataByDatasetType(e)}findDicomDataPromise(e,t,A){for(let n of(e.authorizationHeaders=A,this.getLoaderIterator(e,t)))if(n)return n;throw Error("Invalid dicom data loader")}},dF=JSON.parse('{"UU":"@ohif/extension-cornerstone"}').UU,dQ=(e,t,A)=>{let n=(0,x.getRenderingEngine)(A.renderingEngineId);if(!n)throw Error(`No RenderingEngine for Id: ${A.renderingEngineId}`);let r=n.getViewport(t.viewportId),{viewportIndex:o}=e.getOptions(A.viewportId),{viewportIndex:i}=e.getOptions(t.viewportId);if(void 0===o||void 0===i)throw Error("No viewportIndex provided");let a=n.getViewport(A.viewportId),s=r.getSliceIndex()+(Number(o)-Number(i));s!==a.getSliceIndex()&&x.utilities.jumpToSlice(a.element,{imageIndex:s})},dT=e=>L.SynchronizerManager.createSynchronizer(e,x.EVENTS.STACK_VIEWPORT_SCROLL,dQ,{auxiliaryEvents:[{name:x.EVENTS.CAMERA_MODIFIED,source:"element"}]});var dD=O(2111),dO=O.n(dD);let{MetadataModules:dM}=x.Enums,{utils:dx}=k(),{denaturalizeDataset:dL}=dO().data.DicomMetaDictionary;function dR(e,t){return e.get(t)?J.dicomWebUtils.transferDenaturalizedDataset(dL(J.dicomWebUtils.fixMultiValueKeys(e.get(t)))):(console.warn("Metadata not already found for",t,"in",e),this.super.getDICOMwebMetadata(t))}let dV=Object.values({TWELVE_LEAD_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.1",GENERAL_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.2",AMBULATORY_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.3",HEMODYNAMIC_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.2.1",CARDIAC_ELECTROPHYSIOLOGY_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.3.1"});var dN=O(9692),dH=O(1303);function d_(){return(d_=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}let dk=function(e){let{className:t,isActive:A,id:n}=e,r=(0,J.useUIStateStore)(e=>e.uiState.activeSegmentationUtility),o=(0,th.cn)("w-7 h-7 text-primary hover:text-primary hover:!bg-primary/30",t,A&&"bg-primary/30"),i=(0,D.useCallback)(e=>{r===n&&(e.preventDefault(),e.stopPropagation())},[r,n]);return D.createElement("div",{onPointerDownCapture:i},D.createElement(th.ToolButton,d_({},e,{className:o})))};function dP({children:e,segmentationRepresentationTypes:t}){let{commandsManager:A,servicesManager:n}=(0,tV.useSystem)(),{customizationService:r,displaySetService:o,viewportGridService:i,toolbarService:a,segmentationService:s}=n.services,{activeViewportId:l}=i.getState(),c={[ta.SegmentationRepresentations.Labelmap]:a.sections.labelMapSegmentationUtilities,[ta.SegmentationRepresentations.Contour]:a.sections.contourSegmentationUtilities},u=nL(e=>e.selectedSegmentationsForViewport[l]),d=t?t.reduce((e,t)=>e||(u?.has(t)?u?.get(t):void 0),void 0):s?.getActiveSegmentation(l)?.segmentationId,p=t?.[0]?c[t[0]]:void 0,{activeToolOptions:g}=(0,tV.useActiveToolOptions)({buttonSectionId:p}),{segmentationsWithRepresentations:m,disabled:f}=(0,dN.c)(),h=(0,J.useUIStateStore)(e=>e.setUIState);(0,D.useEffect)(()=>{h("activeSegmentationUtility",null),a.refreshToolbarState({viewportId:l})},[l,h,a]);let w=(0,D.useCallback)(e=>{e||(h("activeSegmentationUtility",null),a.refreshToolbarState({viewportId:l}))},[l,h,a]),B=r.getCustomization("panelSegmentation.tableMode"),y=r.getCustomization("panelSegmentation.onSegmentationAdd"),v=r.getCustomization("panelSegmentation.disableEditing"),C=r.getCustomization("panelSegmentation.showAddSegment"),S=r.getCustomization("panelSegmentation.customDropdownMenuContent"),E=r.getCustomization("panelSegmentation.customSegmentStatisticsHeader"),I={onSegmentationClick:e=>{A.run("setActiveSegmentation",{segmentationId:e})},onSegmentAdd:e=>{A.run("addSegment",{segmentationId:e}),A.run("setActiveSegmentation",{segmentationId:e})},onSegmentClick:(e,t)=>{A.run("setActiveSegmentAndCenter",{segmentationId:e,segmentIndex:t})},onSegmentEdit:(e,t)=>{A.run("editSegmentLabel",{segmentationId:e,segmentIndex:t})},onSegmentationEdit:e=>{A.run("editSegmentationLabel",{segmentationId:e})},onSegmentColorClick:(e,t)=>{A.run("editSegmentColor",{segmentationId:e,segmentIndex:t})},onSegmentDelete:(e,t)=>{A.run("deleteSegment",{segmentationId:e,segmentIndex:t})},onSegmentCopy:t?.[0]===ta.SegmentationRepresentations.Contour?(e,t)=>{A.run("copyContourSegment",{sourceSegmentInfo:{segmentationId:e,segmentIndex:t}})}:void 0,onToggleSegmentVisibility:(e,t,n)=>{A.run("toggleSegmentVisibility",{segmentationId:e,segmentIndex:t,type:n})},onToggleSegmentLock:(e,t)=>{A.run("toggleSegmentLock",{segmentationId:e,segmentIndex:t})},onToggleSegmentationRepresentationVisibility:(e,t)=>{A.run("toggleSegmentationVisibility",{segmentationId:e,type:t})},onSegmentationDownload:e=>{A.run("downloadSegmentation",{segmentationId:e})},setStyle:(e,t,n,r)=>{A.run("setSegmentationStyle",{segmentationId:e,type:t,key:n,value:r})},toggleRenderInactiveSegmentations:()=>{A.run("toggleRenderInactiveSegmentations")},onSegmentationRemoveFromViewport:e=>{A.run("removeSegmentationFromViewport",{segmentationId:e})},onSegmentationDelete:e=>{A.run("deleteSegmentation",{segmentationId:e})},setFillAlpha:({type:e},t)=>{A.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:e}),A.run("setFillAlpha",{type:e,value:t})},setOutlineWidth:({type:e},t)=>{A.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:e}),A.run("setOutlineWidth",{type:e,value:t})},setRenderFill:({type:e},t)=>{A.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:e}),A.run("setRenderFill",{type:e,value:t})},setRenderFillInactive:({type:e},t)=>{A.run("setRenderFillInactive",{type:e,value:t})},setRenderOutline:({type:e},t)=>{A.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:e}),A.run("setRenderOutline",{type:e,value:t})},setRenderOutlineInactive:({type:e},t)=>{A.run("setRenderOutlineInactive",{type:e,value:t})},setFillAlphaInactive:({type:e},t)=>{A.run("setFillAlphaInactive",{type:e,value:t})},getRenderInactiveSegmentations:()=>A.run("getRenderInactiveSegmentations")},b=m.map(({segmentation:e})=>{let{representationData:t,segmentationId:A}=e,{Labelmap:n,Contour:r}=t;return n||r?((e,t)=>{if(!e)return!1;let A=e?.imageIds;if(!A?.length||!A.some(e=>{let t=x.cache.getImage(e)?.getPixelData();if(!t)return!1;for(let e=0;e<t.length;e++)if(0!==t[e])return!0}))return!1;let n=e?.referencedImageIds;if(!n)return!1;let r=n[0],o=x.metaData.get("instance",r);if(!o)return!1;let i=o.SOPInstanceUID||o.SopInstanceUID,a=o.SeriesInstanceUID;return!!t.getDisplaySetForSOPInstanceUID(i,a)})(n,o)||(e=>{if(!e)return!1;let t=e?.annotationUIDsMap;return!!t&&t.size>0})(r)?{segmentationId:A,isExportable:!0}:{segmentationId:A,isExportable:!1}:{segmentationId:A,isExportable:!0}}),U={disabled:f,data:m,mode:B,title:`${t?.[0]?`${t[0]} `:""}Segmentations`,exportOptions:b,disableEditing:v,onSegmentationAdd:y,showAddSegment:C,renderInactiveSegmentations:I.getRenderInactiveSegmentations(),segmentationRepresentationTypes:t,selectedSegmentationIdForType:d,...I},F=()=>p?D.createElement(th.IconPresentationProvider,{size:"large",IconContainer:dk},D.createElement("div",{className:"flex flex-wrap gap-[3px] bg-transparent pb-[2px] pl-[8px] pt-[6px]"},D.createElement(J.Toolbar,{buttonSection:p}))):null,Q=()=>D.createElement(th.SegmentationTable.Segments,null,D.createElement(th.SegmentationTable.SegmentStatistics.Header,null,D.createElement(E,null)),D.createElement(th.SegmentationTable.SegmentStatistics.Body,null));return D.createElement(th.Popover,{open:!!g,onOpenChange:w},D.createElement(th.PopoverAnchor,null,D.createElement(th.SegmentationTable,U,e,D.createElement(th.SegmentationTable.Config,null),D.createElement(th.SegmentationTable.AddSegmentationRow,null),"collapsed"===U.mode?D.createElement(th.SegmentationTable.Collapsed,null,F(),D.createElement(th.SegmentationTable.Collapsed.Header,null,D.createElement(th.SegmentationTable.Collapsed.DropdownMenu,null,D.createElement(S,null)),D.createElement(th.SegmentationTable.Collapsed.Selector,null),D.createElement(th.SegmentationTable.Collapsed.Info,null)),D.createElement(th.SegmentationTable.Collapsed.Content,null,D.createElement(th.SegmentationTable.AddSegmentRow,null),Q())):D.createElement(D.Fragment,null,D.createElement(th.SegmentationTable.Expanded,null,F(),D.createElement(th.SegmentationTable.Expanded.Header,null,D.createElement(th.SegmentationTable.Expanded.DropdownMenu,null,D.createElement(S,null)),D.createElement(th.SegmentationTable.Expanded.Label,null),D.createElement(th.SegmentationTable.Expanded.Info,null)),D.createElement(th.SegmentationTable.Expanded.Content,null,D.createElement(th.SegmentationTable.AddSegmentRow,null),Q()))))),g&&D.createElement(th.PopoverContent,{side:"left",align:"start",className:"w-auto"},D.createElement(th.ToolSettings,{options:g})))}var dG=O(2051),dK=O.n(dG),dj=O(6285),dW=O.n(dj);let dY=(0,x.getWebWorkerManager)();dY.registerWorker("histogram-worker",()=>new Worker(new URL(O.p+O.u(915),O.b),Object.assign({},{name:"histogram-worker"},{type:void 0})),{maxWorkerInstances:1,autoTerminateOnIdle:{enabled:!0,idleTimeThreshold:1e3}});let dz=async(e,t,A)=>{if(!e.getImageData(t.volumeId))return;let n=t.scalarData;if(n=t.numTimePoints>1?t.voxelManager.getDimensionGroupScalarData(t.numTimePoints):t.voxelManager.getCompleteScalarDataArray(),!n?.length)return;let{dimensions:r,origin:o,direction:i,spacing:a}=t,{minimum:s,maximum:l}=await dY.executeTask("histogram-worker","getRange",{dimensions:r,origin:o,direction:i,spacing:a,scalarData:n});if(s===1/0||l===-1/0)return;let c={numBins:256,min:Math.max(s,A?.min??s),max:Math.min(l,A?.max??l)};return await dY.executeTask("histogram-worker","calcHistogram",{data:n,options:c})},dX=(e,t)=>{if(!e)return;let A=e.getProperty().getScalarOpacity(0),n=[];return A.getNodeValue(t,n),n[1]},dJ=async(e,t,A)=>{if(!e)return[];let n=(0,nb.qU)(e),r=n.getVolumeIds();if(!r.length)return[];let{voiRange:o}=n.getPresentation()||{},i=o?{windowWidth:o.upper-o.lower,windowCenter:o.lower+(o.upper-o.lower)/2}:void 0;return(await Promise.all(r.map(async(n,r)=>{let o,a=x.cache.getVolume(n),s=A(e,n),{metadata:l,scaling:c}=a,u=l.Modality,d=await dz(e,a,{min:"PT"===u?.1:-999,max:"PT"===u?5:1e4});if(!d||d.range.min===d.range.max||!t.displaySetOptions||!t.displaySetOptions[r])return null;let{voi:p,colormap:g}=t.displaySetOptions[r];return g&&(o=x.utilities.colormap.getColormap(g.name)??dW().getPresetByName(g.name)),{viewportId:t.viewportId,modality:u,volumeId:n,volumeIndex:r,voi:r?p:i??p,histogram:d,colormap:o,step:c?.PT?.05:1,opacity:s,showOpacitySlider:1===r&&void 0!==s}}))).filter(Boolean)},{Events:dq}=x.Enums,d$=({servicesManager:e,viewportId:t})=>{let{cornerstoneViewportService:A}=e.services,[n,r]=(0,D.useState)([]),[o,i]=(0,D.useState)(!0),a=(0,_.useActiveViewportDisplaySets)(),s=(0,D.useCallback)(e=>A.getRenderingEngine().getViewports().filter(x.utilities.viewportSupportsVolumeCompatibility).filter(t=>{let A=t.getAllVolumeIds();return e.length===A.length&&e.every(e=>A.includes(e))}),[A]),l=(0,D.useCallback)((e,t)=>{let A=e.getActors().find(e=>e.referencedId===t)?.actor;return((e,t)=>{if(!t)return!1;let A=x.cache.getVolume(e);if(!A||"PT"!==A.metadata.Modality)return!1;let n=t.getProperty().getScalarOpacity(0);if(2>n.getSize())return!1;let r=[],o=[];if(n.getNodeValue(0,r),n.getNodeValue(1,o),0!==r[0]||0!==r[1]||.1!==o[0])return!1;let i=o[1],a=n.getSize(),s=[];for(let e=2;e<a;e++)if(n.getNodeValue(e,s),s[1]!==i)return!1;return!0})(t,A)?dX(A,1):(e=>{if(!e)return!1;let t=e.getProperty().getScalarOpacity(0),A=t.getSize(),n=[];t.getNodeValue(0,n);let r=n[1];for(let e=0;e<A;e++){let e=[];if(t.getNodeValue(0,e),e[1]!==r)return!1}return!0})(A)?dX(A,0):void 0},[]),c=(0,D.useCallback)(()=>{dJ(A.getCornerstoneViewport(t),A.getViewportInfo(t),l).then(e=>{r(e)})},[t,A,l]),u=(0,D.useCallback)(e=>{let{detail:t}=e,{volumeId:A,range:o}=t,i=n.find(e=>e.volumeId===A);if(!i)return;let a=i.voi,s=o.upper-o.lower,l=o.lower+s/2;if(s===a.windowWidth&&l===a.windowCenter)return;let c={...i,voi:{windowWidth:s,windowCenter:l}};r(n.map(e=>e===i?c:e))},[n]),d=(0,D.useMemo)(()=>dK()(u,100),[u]),p=(0,D.useCallback)((e,n)=>{let r=A.getCornerstoneViewport(t),o={lower:n.windowCenter-n.windowWidth/2,upper:n.windowCenter+n.windowWidth/2};r.setProperties({voiRange:o},e),r.render()},[A,t]),g=(0,D.useCallback)((e,t,n,r)=>{let o=A.getCornerstoneViewport(e);o&&s(x.utilities.viewportSupportsVolumeId(o)?o.getAllVolumeIds():[]).forEach(e=>{e.setProperties({colormap:{opacity:r}},n),e.render()})},[s,A]),m=(0,D.useCallback)(()=>{i(!1),c()},[c]);(0,D.useEffect)(()=>{document.addEventListener(dq.VOI_MODIFIED,d,!0),x.eventTarget.addEventListener(dq.IMAGE_VOLUME_LOADING_COMPLETED,m);let e=setInterval(()=>{o&&c()},1e3);return()=>{document.removeEventListener(dq.VOI_MODIFIED,d,!0),x.eventTarget.removeEventListener(dq.IMAGE_VOLUME_LOADING_COMPLETED,m),clearInterval(e)}},[c,d,m,o]);let f=(0,D.useMemo)(()=>a?.map(e=>e.displaySetInstanceUID).sort()||[],[a]);return(0,D.useEffect)(()=>{let{unsubscribe:e}=A.subscribe(A.EVENTS.VIEWPORT_VOLUMES_CHANGED,({viewportInfo:e})=>{e.viewportId===t&&c()});return f.length&&!o&&c(),()=>{e()}},[t,A,c,f,o]),D.createElement(th.PanelSection,{defaultOpen:!0},D.createElement(th.PanelSection.Header,null,"Window Level"),D.createElement(th.PanelSection.Content,{className:"bg-muted py-1"},n.map((e,t)=>e.histogram?D.createElement(th.WindowLevel,{key:e.volumeId,histogram:e.histogram,voi:e.voi,step:e.step,showOpacitySlider:e.showOpacitySlider,colormap:e.colormap,onVOIChange:t=>p(e.volumeId,t),opacity:e.opacity,onOpacityChange:A=>g(e.viewportId,t,e.volumeId,A)}):null),0===n.length&&!o&&D.createElement("div",{className:"text-muted-foreground py-2 text-center text-sm"},"No window level data available")))};d$.propTypes={servicesManager:AV().object.isRequired,viewportId:AV().string.isRequired};let dZ=({servicesManager:e})=>{let[t]=(0,th.useViewportGrid)(),{activeViewportId:A}=t;return D.createElement(D.Fragment,null,A&&D.createElement(d$,{servicesManager:e,viewportId:A}))};dZ.propTypes={servicesManager:AV().object.isRequired};var d0=["color"],d1=(0,D.forwardRef)(function(e,t){var A=e.color,n=function(e,t){if(null==e)return{};var A,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)A=o[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,d0);return(0,D.createElement)("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n,{ref:t}),(0,D.createElement)("path",{d:"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",fill:void 0===A?"currentColor":A,fillRule:"evenodd",clipRule:"evenodd"}))});let d3=e=>{let{group:t,allChildren:A,children:n,childType:r,defaultTypes:o}=e,i=t?.subType;for(let t of A)if(!i||t.props?.subType===i){if(r&&t.type===r)return D.cloneElement(t,{...e,children:t.props.children});if(o?.indexOf(t.type)===-1)return r({...e,children:t})}if(!n)throw Error(`No children defined for ${e.name} CloneChildren in group ${t?.name}`);return D.cloneElement(n,e)},d4=[d9,d8,d5];function d2(e){let{grouping:t,items:A,children:n,sourceChildren:r}=e,o=(0,_.useSystem)(),i=e.defaultValue,a=t.groupingFunction(A,t,o);if(!i){let e=a.values().find(e=>e.isSelected);i=e?.key||e?.title}let s=Array.isArray(i)&&i||i&&[i]||[],l=r?D.Children.toArray(r):[],c=n?D.Children.toArray(n):[],u=l.concat(c);return D.createElement(d3,{allChildren:u,groups:a,childType:d9,grouping:t,defaultValue:s,name:"grouping "+t.name},D.createElement(d6,{name:"DefaultAccordion"}))}function d6(e){let{groups:t,defaultValue:A,grouping:n,allChildren:r,asChild:o}=e;return r&&t?o?D.cloneElement(e.children,e):D.createElement(th.Accordion,{type:n.type||"multiple",className:"text-foreground",defaultValue:A},[...t.entries()].map(([e,t])=>D.createElement(th.AccordionItem,{key:t.key+"-i",value:t.key},D.createElement(d3,{allChildren:r,group:t,childType:d5,name:"AccordionGroup.Trigger"}),D.createElement(d3,{allChildren:r,group:t,childType:d8,defaultTypes:d4,name:"AccordionGroup.Content"})))):null}function d9(e){let{groups:t,children:A}=e;return t?[...t.values()].map(t=>D.cloneElement(A,{...e,children:A.props.children,group:t,...t,key:t.title})):null}function d8(e){let{children:t,asChild:A,...n}=e,{group:r}=e;return(Object.assign(n,r),r)?A?D.cloneElement(t,{...r,...e,children:t.props.children}):D.createElement(th.AccordionContent,null,D.cloneElement(t,{...r,...e,children:t.props.children})):null}function d5(e){let{children:t,asChild:A,...n}=e,{group:r}=e;return(Object.assign(n,r),r)?A?D.cloneElement(t,n):D.createElement(th.AccordionTrigger,{value:r.value,asChild:!0},D.createElement("div",null,D.cloneElement(t,n),D.createElement(d1,{key:"chevronDown",className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"}))):null}function d7(){return(d7=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}function pe(e){let{title:t,items:A,group:n,customHeader:r}=e,{commandsManager:o}=(0,_.useSystem)();return D.createElement(th.MeasurementTable,d7({title:t||"Measurements",data:A,onAction:(e,t,n)=>{o.run(t,{uid:n,annotationUID:n,displayMeasurements:A})}},n,{key:n.key}),D.createElement(th.MeasurementTable.Header,{key:"measurementTableHeader"},r&&n.isFirst&&r({...e,items:e.allItems})),D.createElement(th.MeasurementTable.Body,{key:"measurementTableBody"}))}d2.Content=d8,d2.Trigger=d5,d2.Accordion=d9;let{filterNot:pt,filterAdditionalFindings:pA}=_.utils.MeasurementFilters,pn=[{title:"Measurements",filter:pt(pA)},{title:"Additional Findings",filter:pA}],pr=(e,t)=>{let A=new Map,{namedSets:n}=t;for(let e of n){let n=e.id||e.title;A.set(n,{...t,...e,items:[],isFirst:0===A.size,title:n,key:n})}for(let t of(e.forEach(e=>{for(let t of n)if(t.filter(e)){let n=t.id||t.title;A.get(n).items.push(e);return}}),n)){let e=t.id||t.title;A.get(e).items.length||A.delete(e)}return A};function po(e){let{items:t,children:A,grouping:n={},customHeader:r,group:o,actions:i}=e;return D.createElement(d2,{grouping:{groupingFunction:pr,name:"measurementsOrAdditional",namedSets:pn,StudyInstanceUID:o?.StudyInstanceUID,...n},items:t,sourceChildren:A},D.createElement(d2.Accordion,{noWrapper:"true"},D.createElement(pe,{customHeader:r,allItems:t,actions:i})))}let{formatDate:pi}=_.utils;function pa(e){let{StudyInstanceUID:t}=e;if(!t)return null;let A=_.DicomMetadataStore.getStudy(t);if(!A?.series?.length)return null;let{StudyDate:n,StudyDescription:r}=A.series[0].instances[0];return D.createElement(th.StudySummary,{date:pi(n),description:r})}function ps({items:e,StudyInstanceUID:t,measurementFilter:A,actions:n}){let{commandsManager:r}=(0,_.useSystem)(),{t:o}=tR("MeasurementTable");return e?.length?D.createElement("div",{className:"bg-background flex h-9 w-full items-center rounded pr-0.5"},D.createElement("div",{className:"flex space-x-1"},D.createElement(th.Button,{size:"sm",variant:"ghost",className:"pl-1.5",onClick:()=>{r.runCommand("downloadCSVMeasurementsReport",{StudyInstanceUID:t,measurementFilter:A})}},D.createElement(th.Icons.Download,{className:"h-5 w-5"}),D.createElement("span",{className:"pl-1"},"CSV")),D.createElement(th.Button,{size:"sm",variant:"ghost",className:"pl-0.5",onClick:e=>{(e.stopPropagation(),n?.createSR)?n.createSR({StudyInstanceUID:t,measurementFilter:A}):r.run("promptSaveReport",{StudyInstanceUID:t,measurementFilter:A})}},D.createElement(th.Icons.Add,null),o("Create SR")),D.createElement(th.Button,{size:"sm",variant:"ghost",className:"pl-0.5",onClick:e=>{(e.stopPropagation(),n?.onDelete)?n.onDelete():r.runCommand("clearMeasurements",{measurementFilter:A})}},D.createElement(th.Icons.Delete,null),o("Delete")))):null}let pl=function(e){return D.createElement("div",null,D.createElement(pa,e),D.createElement(ps,e))},{MeasurementFilters:pc}=_.utils,pu=(e,t,A)=>{let n,r,o=new Map,{activeStudyUID:i}=t,{displaySetService:a}=A.servicesManager.services;return e.filter(e=>e.displaySetInstanceUID).forEach(e=>{let A=a.getDisplaySetByUID(e.displaySetInstanceUID).instances[0].StudyInstanceUID;if(!o.has(A)){let e=[],a=pc.filterAnd(pc.filterMeasurementsByStudyUID(A),t.filter),s={...t,items:e,displayMeasurements:e,key:A,isSelected:A===i,StudyInstanceUID:A,filter:a,measurementFilter:a};s.isSelected&&!n&&(n=s),r||=s,o.set(A,s)}!n&&r&&(r.isSelected=!0),o.get(A).items.push(e)}),o};function pd(e){let{items:t,grouping:A={},children:n}=e,r=(0,_.useActiveViewportDisplaySets)(),o=r?.[0]?.StudyInstanceUID;return D.createElement(d2,{grouping:{name:"groupByStudy",groupingFunction:pu,activeStudyUID:o,...A},items:t,value:[o],sourceChildren:n},D.createElement(d2.Trigger,null,D.createElement(pl,null)),D.createElement(po,{activeStudyUID:o}))}function pp(e){let{measurementFilter:t,emptyComponent:A,children:n}=e,r=(0,dH.d)({measurementFilter:t});return r.length?n?D.Children.map(n,e=>D.cloneElement(e,{items:r,filter:t})):D.createElement(pd,{items:r}):A?D.createElement(A,{items:r}):D.createElement("span",{className:"text-foreground"},"No Measurements")}var pg=O(8191),pm=x.Enums.OrientationAxis;function pf({segmentationService:e,customizationService:t,commandsManager:A}){let n=!1,{unsubscribe:r}=e.subscribeDebounced(e.EVENTS.SEGMENTATION_DATA_MODIFIED,async({segmentationId:r})=>{let o=t.getCustomization("panelSegmentation.disableUpdateSegmentationStats"),i=e.getSegmentation(r);if(!i||o)return;let a=t.getCustomization("panelSegmentation.readableText");for(let e of Object.keys(i.segments).map(e=>parseInt(e)).filter(e=>e>0)){let t=i.segments[e];t?.cachedStats?.namedStats?.bidirectional&&A.runCommand("runSegmentBidirectional",{segmentationId:r,segmentIndex:e})}let s=await lz({segmentation:i,segmentationId:r,readableText:a});!n&&s&&e.getSegmentation(r)&&e.addOrUpdateSegmentation({segmentationId:r,segments:s.segments})},1e3);return{unsubscribe:()=>{n=!0,r()}}}function ph({segmentationService:e}){let{unsubscribe:t}=e.subscribe(e.EVENTS.SEGMENTATION_MODIFIED,async({segmentationId:t})=>{let A=e.getSegmentation(t);if(!A)return;let n=L.annotation.state.getAllAnnotations().filter(e=>e.metadata.toolName===L.SegmentBidirectionalTool.toolName),r=Object.keys(A.segments).map(e=>parseInt(e)).filter(e=>e>0);n.filter(e=>e.metadata.segmentationId===t&&!r.includes(e.metadata.segmentIndex)).map(e=>e.annotationUID).forEach(e=>{L.annotation.state.removeAnnotation(e)})});return{unsubscribe:t}}let pw="RTSTRUCT",pB={handleSegmentChange:({direction:e,segmentationId:t,viewportId:A,selectedSegmentObjectIndex:n,segmentationService:r})=>{let{segments:o}=r.getSegmentation(t),i=Object.keys(o).length,a=r.getActiveSegment(A);a&&(n=Object.values(o).findIndex(e=>e.segmentIndex===a.segmentIndex));let s=n+e;s>i-1?s=0:s<0&&(s=i-1);let l=Object.values(o)[s]?.segmentIndex;r.setActiveSegment(t,l),r.jumpToSegmentNext(t,l,void 0,e),n=s},isReferenceViewable:(e,t,A,n)=>{let{cornerstoneViewportService:r,displaySetService:o}=e.services;if(!n)return r.getCornerstoneViewport(t).isReferenceViewable(A,{withNavigation:!0,asVolume:!0});if("stack"===n.viewportType)return o.getDisplaySetByUID(A.displaySetInstanceUID).instances.map(e=>e.imageId).includes(A.referencedImageId);let{orientation:i}=n;return function(e,t){let A=e.getDisplaySetByUID(t).instances[0].ImageOrientationPatient;if(A?.length!==6)return;let n=nU.vec3.fromValues(A[0],A[1],A[2]),r=nU.vec3.fromValues(A[3],A[4],A[5]),o=nU.vec3.cross(nU.vec3.create(),n,r),i={[pm.AXIAL]:nU.vec3.fromValues(0,0,1),[pm.CORONAL]:nU.vec3.fromValues(0,1,0),[pm.SAGITTAL]:nU.vec3.fromValues(1,0,0)},a=0,s="";for(let[e,t]of Object.entries(i)){let A=Math.abs(nU.vec3.dot(o,t));A>a&&(a=A,s=e)}return s}(o,A.displaySetInstanceUID)===i},setupSegmentationDataModifiedHandler:pf,setupSegmentationModifiedHandler:ph,promptHydrationDialog:function({servicesManager:e,viewportId:t,displaySet:A,preHydrateCallbacks:n=[],hydrateCallback:r,type:o}){let{uiViewportDialogService:i,customizationService:a}=e.services,s=e._extensionManager.appConfig,l=s?.measurementTrackingMode==="standard";return new Promise(async function(c,u){var d,p,g,m;let f=("SR"===o?l:!s?.disableConfirmationPrompts)?await (d=i,p=a,g=t,m=o,new Promise(function(e,t){let A=function(e){switch(e){case pw:return"viewportNotification.hydrateRTMessage";case"SEG":return"viewportNotification.hydrateSEGMessage";case"SR":return"viewportNotification.hydrateSRMessage";default:return"viewportNotification.hydrateMessage"}}(m),n=p.getCustomization(A),r=t=>{d.hide(),e(t)};d.show({id:function(e){switch(e){case pw:return"promptHydrateRT";case"SEG":return"promptHydrateSEG";case"SR":return"promptHydrateSR";default:return"promptHydrate"}}(m),viewportId:g,type:"info",message:n,actions:[{id:"no-hydrate",type:"secondary",text:"No",value:0},{id:"yes-hydrate",type:"primary",text:"Yes",value:5}],onSubmit:r,onOutsideClick:()=>{d.hide(),e(0)},onKeyPress:e=>{"Enter"===e.key&&r(5)}})})):5;if(5===f){if(n?.forEach(e=>{e()}),"SEG"===o)window.setTimeout(async()=>{try{let e=await r({segDisplaySet:A,viewportId:t});c(e)}catch(e){u(e)}},0);else if(o===pw)window.setTimeout(async()=>{try{let n=await r({rtDisplaySet:A,viewportId:t,servicesManager:e});c(n)}catch(e){u(e)}},0);else if("SR"===o){let e=await r(A);c({userResponse:f,displaySetInstanceUID:A.displaySetInstanceUID,srSeriesInstanceUID:A.SeriesInstanceUID,viewportId:t,StudyInstanceUID:e?.StudyInstanceUID,SeriesInstanceUIDs:e?.SeriesInstanceUIDs})}}else"SR"===o?c({userResponse:f,displaySetInstanceUID:A.displaySetInstanceUID,srSeriesInstanceUID:A.SeriesInstanceUID,viewportId:t}):c(!1)})},getCenterExtent:nF,createSegmentationForViewport:cA},{Enums:py}=L,pv=e=>{let{element:t}=e.detail;L.utilities.contours.acceptAutogeneratedInterpolations(t,{})};var pC=O(1752),pS=O.n(pC);function pE(e){let{group:t,classNames:A}=e,{t:n}=tR("MeasurementTable");if(!t.items?.length)return console.log("No items to iterate",t.items),null;let{items:r}=t,[o]=r,{isSelected:i,isVisible:a}=o,s=(0,_.useSystem)(),l=(e,t,A)=>{let n=r.map(e=>e.uid);s.commandsManager.run(t,{...A,uid:n,displayMeasurements:r,items:r,event:e})},[c,u]=(0,D.useState)(!1);return D.createElement("div",{className:`relative ml-2 inline-flex items-center space-x-1 ${A}`},D.createElement(th.Button,{size:"icon",variant:"ghost",className:`h-6 w-6 transition-opacity ${i||!a?"opacity-100":"opacity-50 group-hover:opacity-100"}`,"aria-label":n(a?"Hide":"Show"),onClick:e=>{e.stopPropagation(),l(e,["jumpToMeasurement","toggleVisibilityMeasurement"])}},a?D.createElement(th.Icons.Hide,{className:"h-6 w-6"}):D.createElement(th.Icons.Show,{className:"h-6 w-6"})),D.createElement(th.DropdownMenu,{onOpenChange:e=>u(e)},D.createElement(th.DropdownMenuTrigger,{asChild:!0},D.createElement(th.Button,{size:"icon",variant:"ghost",className:`h-6 w-6 transition-opacity ${i||c?"opacity-100":"opacity-50 group-hover:opacity-100"}`,"aria-label":"Actions",onClick:e=>e.stopPropagation()},D.createElement(th.Icons.More,{className:"h-6 w-6"}))),D.createElement(th.DropdownMenuContent,{align:"end"},D.createElement(th.DropdownMenuItem,{onClick:e=>l(e,"removeMeasurement")},D.createElement(th.Icons.Delete,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},n("Delete"))))))}function pI(){return(pI=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}function pb(e){let{group:t,onClick:A=t?.onClick}=this;return A?(console.log("onClickDefault"),e.preventDefault(),e.stopPropagation(),A(e,t),!1):void console.log("No onClick function",t)}function pU(e){let{marginLeft:t=8,isActive:A=!1,colorHex:n,count:r,text:o,menu:i=null}=e;return D.createElement(th.AccordionTrigger,{style:{marginLeft:`${t}px`,padding:0},asChild:!0},D.createElement("div",{className:`inline-flex text-base ${A?"bg-popover":"bg-muted"} flex-grow`},D.createElement("button",{onClick:pb.bind(e)},D.createElement("span",{className:`inline-flex rounded-l border-r border-background ${A?"bg-highlight":"bg-muted"}`},void 0!==r?D.createElement("span",{className:"px-2"},r):null,n&&D.createElement(th.ColorCircle,{colorHex:n})),D.createElement("span",null,o)),i&&D.createElement(i,pI({},e,{classNames:"justify-end flex-grow"})),D.createElement(d1,{className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"})))}function pF(e){let{index:t,item:A}=e;return D.createElement(pU,{count:t+1,text:A.toolName||A.label||A.title,colorHex:"#f00",isActive:A.isSelected,menu:pE,group:{items:[A],onClick:e.onClick}})}function pQ(e){let{items:t}=e,A=(0,_.useSystem)(),n=(e,t)=>{let{items:n}=t;A.commandsManager.run("jumpToMeasurement",{uid:n[0].uid,displayMeasurements:n,group:t})};return D.createElement(th.Accordion,{type:"multiple",className:"flex-shrink-0 overflow-hidden"},t.map((e,t)=>{let{displayText:A={}}=e;return D.createElement(th.AccordionItem,{key:`measurementAccordion:${e.uid}`,value:e.uid},D.createElement(pF,{item:e,key:`measurementItem:${e.uid}`,index:t,onClick:n}),D.createElement(th.AccordionContent,{key:`measurementContent:${e.uid}`},D.createElement("div",{className:"ml-7 px-2 py-2"},D.createElement("div",{className:"text-secondary-foreground flex items-center gap-1 text-base leading-normal"},A.primary?.length>0&&A.primary.map((t,A)=>D.createElement("span",{key:`details:${e.uid}:${A}`},t))))))}))}let pT=(e,t,A)=>{let n=new Map,{displaySetService:r}=A.servicesManager.services,{activeDisplaySetInstanceUID:o}=t;return e.forEach(e=>{let{displaySetInstanceUID:A}=e;if(!n.has(A)){let e=r.getDisplaySetByUID(A);n.set(A,{header:null,isSelected:A==o,...t,items:[],key:A,title:"Series Measurements",displaySet:e})}n.get(A).items.push(e)}),n};function pD(e){let{group:t,isSelected:A,displaySet:n,menu:r}=e,{SeriesNumber:o=1,SeriesDescription:i}=n;return D.createElement(pU,{text:`Series #${o} ${i}`,count:t.items.length,isActive:A,group:t,menu:r,marginLeft:"0"})}function pO(e){let{items:t,grouping:A={},children:n}=e,r=(0,_.useSystem)(),o=(0,_.useActiveViewportDisplaySets)(r),i=o?.[0]?.displaySetInstanceUID;return D.createElement(d2,{grouping:{groupingFunction:pT,activeDisplaySetInstanceUID:i,...A,onClick:(e,t)=>{let{items:A}=t;r.commandsManager.run("jumpToMeasurement",{uid:A[0].uid,displayMeasurements:A,group:t})}},items:t,sourceChildren:n},D.createElement(d2.Trigger,{asChild:!0},D.createElement(pD,{menu:pE})),D.createElement(pQ,null))}function pM(){return(pM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)({}).hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(null,arguments)}let{imageRetrieveMetadataProvider:px}=x.utilities,pL=D.lazy(()=>Promise.resolve().then(O.bind(O,7406))),pR=e=>D.createElement(D.Suspense,{fallback:D.createElement("div",null,"Loading...")},D.createElement(pL,e)),pV={retrieveOptions:{single:{streaming:!0,decodeLevel:1}}},pN=[],pH={id:dF,onModeEnter:({servicesManager:e,commandsManager:t,extensionManager:A})=>{let{cornerstoneViewportService:n,toolbarService:r,segmentationService:o}=e.services,{unsubscriptions:i}=(({servicesManager:e,commandsManager:t})=>{let{segmentationService:A,customizationService:n,displaySetService:r,viewportGridService:o}=e.services,{unsubscribe:i}=pf({segmentationService:A,customizationService:n,commandsManager:t}),{unsubscribe:a}=ph({segmentationService:A}),{unsubscribe:s}=A.subscribe(A.EVENTS.SEGMENTATION_ADDED,e=>{let{segmentationId:t}=e;if(r.getDisplaySetByUID(t))return;let n=A.getSegmentation(t),o=n.label,i=n.representationData?.Labelmap?.imageIds??n.representationData?.Contour?.imageIds,a={displaySetInstanceUID:t,SOPClassUID:"1.2.840.10008.5.1.4.1.1.66.4",SOPClassHandlerId:"@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg",SeriesDescription:o,Modality:n.representationData[L.Enums.SegmentationRepresentations.Contour]?"RTSTRUCT":"SEG",numImageFrames:i.length,imageIds:i,isOverlayDisplaySet:!0,label:o,madeInClient:!0,segmentationId:t,isDerived:!0};r.addDisplaySets(a)}),{unsubscribe:l}=A.subscribe(A.EVENTS.SEGMENTATION_REMOVED,({segmentationId:e})=>{let A=r.getDisplaySetByUID(e);if(A){for(let[A,n]of o.getState().viewports.entries())(n.displaySetInstanceUIDs||[]).includes(e)&&t.runCommand("removeDisplaySetLayer",{viewportId:A,displaySetInstanceUID:e});A.madeInClient&&r.deleteDisplaySet(e)}}),{unsubscribeSelectedSegmentationsForViewportEvents:c}=function({segmentationService:e}){return{unsubscribeSelectedSegmentationsForViewportEvents:[e.EVENTS.SEGMENTATION_MODIFIED,e.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED].map(t=>e.subscribe(t,t=>{let{viewportId:A}=t;if(!A)return;let{selectedSegmentationsForViewport:n,setSelectedSegmentationsForViewport:r}=nL.getState(),o=e.getSegmentationRepresentations(A).find(e=>e.active),i=n[A]??new Map;o?i.set(o.type,o.segmentationId):i.clear(),r(A,i)})).map(e=>e.unsubscribe)}}({segmentationService:A});return{unsubscriptions:[i,a,s,l,...c]}})({servicesManager:e,commandsManager:t});pN.push(...i);let a=(x.eventTarget.addEventListener(py.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,pv),[()=>{x.eventTarget.removeEventListener(py.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,pv)}]);pN.push(...a),r.registerEventForToolbarUpdate(n,[n.EVENTS.VIEWPORT_DATA_CHANGED]),r.registerEventForToolbarUpdate(o,[o.EVENTS.SEGMENTATION_REMOVED,o.EVENTS.SEGMENTATION_MODIFIED,o.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED]),r.registerEventForToolbarUpdate(x.eventTarget,[L.Enums.Events.TOOL_ACTIVATED]),px.clear(),px.add("volume",x.ProgressiveRetrieveImages.interleavedRetrieveStages);let s=(A?.getActiveDataSource?.()?.[0]?.getConfig?.()??{}).stackRetrieveOptions??{},l=pS()(pV,null!=s&&"object"==typeof s&&Object.keys(s).some(e=>e.startsWith("$"))?s:{$merge:s??{}});px.add("stack",l)},getPanelModule:({commandsManager:e,servicesManager:t,extensionManager:A})=>{let{toolbarService:n}=t.services,r={[ta.SegmentationRepresentations.Labelmap]:n.sections.labelMapSegmentationToolbox,[ta.SegmentationRepresentations.Contour]:n.sections.contourSegmentationToolbox},o=n=>{let{t:o}=tR("SegmentationPanel"),i=o(`${n.segmentationRepresentationTypes?.[0]??"Segmentation"} tools`);return D.createElement(D.Fragment,null,D.createElement(J.Toolbox,{buttonSectionId:r[n.segmentationRepresentationTypes?.[0]],title:i}),D.createElement(dP,{commandsManager:e,servicesManager:t,extensionManager:A,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes}))};return[{name:"activeViewportWindowLevel",component:()=>D.createElement(dZ,{servicesManager:t})},{name:"panelMeasurement",iconName:"tab-linear",iconLabel:"Measure",label:"Measurement",component:pp},{name:"panelSegmentation",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>D.createElement(dP,{commandsManager:e,servicesManager:t,extensionManager:A,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationNoHeader",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>D.createElement(dP,{commandsManager:e,servicesManager:t,extensionManager:A,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationWithToolsLabelMap",iconName:"tab-segmentation",iconLabel:"Segmentation",label:ct().t("SegmentationPanel:Labelmap"),component:e=>o({...e,segmentationRepresentationTypes:[ta.SegmentationRepresentations.Labelmap,ta.SegmentationRepresentations.Surface]})},{name:"panelSegmentationWithToolsContour",iconName:"tab-contours",iconLabel:"Segmentation",label:ct().t("SegmentationPanel:Contour"),component:e=>o({...e,segmentationRepresentationTypes:[ta.SegmentationRepresentations.Contour]})}]},onModeExit:({servicesManager:e})=>{pN.forEach(e=>e()),pN.length=0;let{cineService:t,segmentationService:A}=e.services;Object.values(x.Enums.RequestType).forEach(e=>{x.imageLoadPoolManager.clearRequestStack(e),x.imageRetrievalPoolManager.clearRequestStack(e)}),R.utilities.clearCacheData(),t.setIsCineEnabled(!1),(0,q.cL)(),ts.I.getState().clearLutPresentationStore(),tl.q.getState().clearPositionPresentationStore(),nM.U.getState().clearSynchronizersStore(),J.useToggleOneUpViewportGridStore.getState().clearToggleOneUpViewportGridStore(),tc.v.getState().clearSegmentationPresentationStore(),nL.getState().clearSelectedSegmentationsForViewportStore(),e.services.viewedDataService?.clearViewedData(),A.removeAllSegmentations()},preRegistration:async function(e){let{servicesManager:t}=e;t.registerService(di.REGISTRATION),t.registerService(ug.REGISTRATION),t.registerService(uS.REGISTRATION),t.registerService(uG.REGISTRATION),t.registerService(uq.REGISTRATION),t.registerService(ds.REGISTRATION),t.registerService(dl.REGISTRATION);let{syncGroupService:A}=t.services;A.registerCustomSynchronizer("frameview",dT),await tp.call(this,e)},getToolbarModule:function({servicesManager:e,extensionManager:t}){let{toolGroupService:A,toolbarService:n,syncGroupService:r,cornerstoneViewportService:o,colorbarService:i,displaySetService:a,viewportGridService:s,segmentationService:l}=e.services;return[{name:"ohif.advancedRenderingControls",defaultComponent:uc},{name:"evaluate.advancedRenderingControls",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!i?.hasColorbar(e)}:{disabled:!0}},{name:"ohif.colorbar",defaultComponent:uo},{name:"ohif.trackingStatus",defaultComponent:ut},{name:"evaluate.trackingStatus",evaluate:({viewportId:e})=>{let t=s.getDisplaySetsUIDsForViewport(e);return t?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.modalityLoadBadge",defaultComponent:c5},{name:"evaluate.modalityLoadBadge",evaluate:({viewportId:e})=>{let t=s.getDisplaySetsUIDsForViewport(e);return t?.length?{disabled:!t.map(e=>a.getDisplaySetByUID(e)).some(e=>e?.Modality==="SR"||e?.Modality==="SEG"||e?.Modality==="RTSTRUCT")}:{disabled:!0}}},{name:"ohif.navigationComponent",defaultComponent:ue},{name:"evaluate.navigationComponent",evaluate:({viewportId:t})=>{let{trackedMeasurementsService:A}=e.services,n=s.getDisplaySetsUIDsForViewport(t);if(!n?.length)return{disabled:!0};let r=n.map(e=>a.getDisplaySetByUID(e)),o=l.getSegmentationRepresentations(t).length>0;if(!A)return{disabled:!o};let i=r.some(e=>e?.SeriesInstanceUID&&A.isSeriesTracked(e.SeriesInstanceUID)),c=r.some(e=>e?.Modality==="SR");return{disabled:!(o||i||c)}}},{name:"ohif.dataOverlayMenu",defaultComponent:cT},{name:"evaluate.dataOverlayMenu",evaluate:({viewportId:e})=>{if(!o.getCornerstoneViewport(e))return{disabled:!0};let t=s.getDisplaySetsUIDsForViewport(e);return t?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.orientationMenu",defaultComponent:cx},{name:"evaluate.orientationMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:s.getDisplaySetsUIDsForViewport(e).map(a.getDisplaySetByUID).some(e=>!e?.isReconstructable)}:{disabled:!0}},{name:"ohif.windowLevelMenu",defaultComponent:cX},{name:"ohif.voiManualControlMenu",defaultComponent:c0},{name:"ohif.windowLevelMenuEmbedded",defaultComponent:cX},{name:"evaluate.windowLevelMenuEmbedded",evaluate:()=>({isEmbedded:!0})},{name:"ohif.thresholdMenu",defaultComponent:c4},{name:"ohif.opacityMenu",defaultComponent:c9},{name:"evaluate.windowLevelMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!s.getDisplaySetsUIDsForViewport(e).map(a.getDisplaySetByUID).some(e=>e?.supportsWindowLevel),hasEmbeddedVariantToUse:!!n.isInAnySection("windowLevelMenuEmbedded")}:{disabled:!0}},{name:"evaluate.voiManualControlMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!s.getDisplaySetsUIDsForViewport(e).map(a.getDisplaySetByUID).some(e=>e?.supportsWindowLevel)}:{disabled:!0}},{name:"evaluate.thresholdMenu",evaluate:({viewportId:e})=>{let t=o.getCornerstoneViewport(e);return t&&(0,nb.rK)(t)&&s.getDisplaySetsUIDsForViewport(e).length?{disabled:!1}:{disabled:!0}}},{name:"evaluate.opacityMenu",evaluate:({viewportId:e})=>{let t=o.getCornerstoneViewport(e);if(!t||!(0,nb.rK)(t))return{disabled:!0};let A=s.getDisplaySetsUIDsForViewport(e);return A.length<=1?{disabled:!0}:{disabled:A.map(a.getDisplaySetByUID).some(e=>e?.isOverlayDisplaySet)}}},{name:"evaluate.viewport.supported",evaluate:({viewportId:e,unsupportedViewportTypes:t,disabledText:A})=>{let n=o.getCornerstoneViewport(e);if(n&&t?.includes(n.type))return uu(A)}},{name:"evaluate.modality.supported",evaluate:({viewportId:e,unsupportedModalities:t,supportedModalities:A,disabledText:n})=>{let r=s.getDisplaySetsUIDsForViewport(e);if(!r?.length)return;let o=r.map(a.getDisplaySetByUID);return t?.length&&o.some(e=>t.includes(e?.Modality))?uu(n):A?.length&&!o.some(e=>A.includes(e?.Modality))?uu(n||ct().t("Buttons:Tool not available for this modality")):void 0}},{name:"evaluate.cornerstoneTool",evaluate:({viewportId:e,button:t,toolNames:r,disabledText:o})=>{let i=A.getToolGroupForViewport(e);if(!i)return;let a=n.getToolNameForButton(t);return i&&(i.hasTool(a)||r)?{disabled:!1,isActive:r?r.includes(i.getActivePrimaryMouseButtonTool()):i.getActivePrimaryMouseButtonTool()===a}:uu(o)}},{name:"evaluate.cornerstoneTool.toggleWithModifier",evaluate:({viewportId:e,button:t,disabledText:r,toggledOnIcon:o,defaultIcon:i})=>{let a=A.getToolGroupForViewport(e);if(!a)return;let s=n.getToolNameForButton(t);if(!a.hasTool(s))return uu(r);let{mode:l}=a.getToolOptions(s)??{},c=l===L.Enums.ToolModes.Passive||l===L.Enums.ToolModes.Active||l===L.Enums.ToolModes.Enabled,u=A.getToolBindings(a.id,s),d=u?.some(e=>null!=e.modifierKey)??!1;return{disabled:!1,isActive:!1,isToggled:c,icon:c&&d&&o?o:i??t.props.icon}}},{name:"evaluate.action",evaluate:()=>({disabled:!1})},{name:"evaluate.cornerstoneTool.toggle.ifStrictlyDisabled",evaluate:({viewportId:e,button:t,disabledText:r})=>ud({viewportId:e,button:t,toolbarService:n,disabledText:r,offModes:[L.Enums.ToolModes.Disabled],toolGroupService:A})},{name:"evaluate.cornerstoneTool.toggle",evaluate:({viewportId:e,button:t,disabledText:r})=>ud({viewportId:e,button:t,toolbarService:n,disabledText:r,offModes:[L.Enums.ToolModes.Disabled,L.Enums.ToolModes.Passive],toolGroupService:A})},{name:"evaluate.cornerstone.synchronizer",evaluate:({viewportId:e,button:t})=>{let A=r.getSynchronizersForViewport(e);if(!A?.length||A.length<=1)return{className:th.utils.getToggledClassName(!1)};let n=Array.isArray(t.props?.commands)?t.props?.commands?.[0].commandOptions.type:t.props?.commands?.commandOptions.type;if(A=r.getSynchronizersOfType(n),!A?.length)return{className:th.utils.getToggledClassName(!1)};let o=A[0],i=o?._enabled;return{className:th.utils.getToggledClassName(i)}}},{name:"evaluate.viewportProperties.toggle",evaluate:({viewportId:e,button:t})=>{let A=o.getCornerstoneViewport(e);if(!A||A.isDisabled)return;let n=t.id,r=(0,nb.qU)(A),i=r.getPresentation(),a=r.getViewState(),s=a?.[n]||i?.[n];return s?{className:th.utils.getToggledClassName(s)}:{disabled:!1}}},{name:"evaluate.displaySetIsReconstructable",evaluate:({viewportId:e,disabledText:t="Selected viewport is not reconstructable"})=>o.getCornerstoneViewport(e)?s.getDisplaySetsUIDsForViewport(e).map(a.getDisplaySetByUID).every(e=>e?.isReconstructable)?{disabled:!1}:uu(t):void 0}]},getHangingProtocolModule:function(){return[{name:ch.id,protocol:ch},{name:cy.id,protocol:cy},{name:cw.id,protocol:cw},{name:cB.id,protocol:cB},{name:cS.id,protocol:cS},{name:cv.id,protocol:cv},{name:cC.id,protocol:cC},{name:cE.id,protocol:cE}]},getViewportModule:({servicesManager:e,commandsManager:t})=>[{name:"cornerstone",component:A=>{let{toolbarService:n}=e.services;return D.createElement(pR,pM({},A,{toolbarService:n,servicesManager:e,commandsManager:t}))},isReferenceViewable:pB.isReferenceViewable.bind(null,e)}],getCommandsModule:function({servicesManager:e,commandsManager:t,extensionManager:A}){let{viewportGridService:n,toolbarService:r,toolGroupService:o,cineService:i,uiDialogService:a,cornerstoneViewportService:s,uiNotificationService:l,measurementService:c,customizationService:u,colorbarService:d,hangingProtocolService:p,syncGroupService:g,segmentationService:m,displaySetService:f}=e.services;function h(){return Z(n)}function w(e){let t=e?$(e):h();return t?.viewport}function B(){let e=h(),t=e&&o.getToolGroupForViewport(e.id);return t?.id}function y(e){return!e?.length||e.some(e=>e.mouseButton===L.Enums.MouseBindings.Primary&&null==e.modifierKey&&null==e.numTouchPoints)}function v(){let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e);return{segmentationId:t?.segmentationId,segmentIndex:m.getActiveSegment(e).segmentIndex}}function C(e){let t=o.getToolGroupIds();if(t?.length)for(let A of t){let t=cc.getBrushSizeForToolGroup(A),n="increase"===e?t+3:t-3;t&&(cc.setBrushSizeForToolGroup(A,n),r.refreshToolbarState({toolGroupId:A}))}}let S=t=>({type:A,value:n})=>{let{segmentationService:r}=e.services;A?r.setStyle({type:A},{[t]:n}):(r.setStyle({type:ta.SegmentationRepresentations.Labelmap},{[t]:n}),r.setStyle({type:ta.SegmentationRepresentations.Contour},{[t]:n}))},E={jumpToMeasurementViewport:({annotationUID:e,measurement:A})=>{L.annotation.selection.setAnnotationSelected(e,!0);let{metadata:r}=A,o=n.getActiveViewportId(),i=s.findNavigationCompatibleViewportId(o,r);if(i){let e,t,n=s.getCornerstoneViewport(i);n.setViewReference(r),n.render(),e=n,t=A,nD(e).centerOnMeasurement(e,t)&&n.render();return}let{displaySetInstanceUID:a}=A;if(!a)return void console.warn("ViewportGrid::No display set found in",A);let l=s.findUpdateableViewportConfiguration(o,A);if(!l)return void console.warn("Unable to find a viewport to show this in");let c=p.getViewportsRequireUpdate(l.viewportId,a);c?.[0]?(c[0].viewportOptions=l.viewportOptions,t.run("updateStoredPositionPresentation",{viewportId:l.viewportId,displaySetInstanceUIDs:[a],referencedImageId:A.referencedImageId,options:{...A.metadata}}),t.run("setDisplaySetsForViewports",{viewportsToUpdate:c})):console.warn("ViewportGrid::Unable to navigate to viewport containing",a)},cancelMeasurement:()=>{let e=h()?.viewport?.element;e&&(0,L.cancelActiveManipulations)(e)},hydrateSecondaryDisplaySet:async({displaySet:e,viewportId:A})=>{if(!e)return;let r=s.getCornerstoneViewport(A);if(!r)return;if(e.isOverlayDisplaySet){let A="SEG"!==e.Modality?ta.SegmentationRepresentations.Contour:(0,ei.Ov)(r)?ta.SegmentationRepresentations.Surface:ta.SegmentationRepresentations.Labelmap;t.runCommand("updateStoredSegmentationPresentation",{displaySet:e,type:A})}let o=e.referencedDisplaySetInstanceUID,i=e=>{t.runCommand("updateStoredPositionPresentation",{viewportId:A,displaySetInstanceUIDs:[e.displaySetInstanceUID]})};if("SEG"===e.Modality||"RTSTRUCT"===e.Modality){let n=f.getDisplaySetByUID(o);i(n);let r=t.runCommand("loadSegmentationDisplaySetsForViewport",{viewportId:A,displaySetInstanceUIDs:[n.displaySetInstanceUID],viewportType:nE(e.Modality)});return u.getCustomization("panelSegmentation.disableEditing")&&m.getSegmentationRepresentations(A,{segmentationId:e.displaySetInstanceUID}).forEach(e=>{Object.keys(e.segments).forEach(t=>{m.setSegmentLocked(e.segmentationId,parseInt(t),!0)})}),r}if("SR"===e.Modality){let A=t.runCommand("hydrateStructuredReport",{displaySetInstanceUID:e.displaySetInstanceUID}),{SeriesInstanceUIDs:r}=A,o=f.getDisplaySetsForSeries(r[0]);return o.forEach(i),o.length&&E.setDisplaySetsForViewports({viewportsToUpdate:[{viewportId:n.getActiveViewportId(),displaySetInstanceUIDs:[o[0].displaySetInstanceUID]}]}),A}},runSegmentBidirectional:async({segmentationId:e,segmentIndex:A}={})=>{let{segmentationId:r,segmentIndex:o}=e&&A?{segmentationId:e,segmentIndex:A}:v();if(!L.utilities.segmentation.getUniqueSegmentIndices(r).includes(o))return void l.show({title:ct().t("SegmentationPanel:Segment Bidirectional"),message:ct().t("SegmentationPanel:Draw a segment before using bidirectional measurement"),type:"warning"});let i=await L.utilities.segmentation.getSegmentLargestBidirectional({segmentationId:r,segmentIndices:[o]});if(!i.length)return;let a=n.getActiveViewportId();i.forEach(e=>{let{segmentIndex:t,majorAxis:A,minorAxis:n}=e,i=L.SegmentBidirectionalTool.hydrate(a,[A,n],{segmentIndex:t,segmentationId:r});e.annotationUID=i.annotationUID;let s=function({segmentationId:e,segmentIndex:t,bidirectionalData:A,segmentationService:n,annotation:r}){if(!e||void 0===t||!A)return console.debug("Missing required data for bidirectional stats update"),null;let o=n.getSegmentation(e);if(!o||!o.segments[t])return console.debug("Segment not found:",t,"in segmentation:",e),null;let i={...o},a=i.segments[t];a.cachedStats||(a.cachedStats={namedStats:{}}),a.cachedStats.namedStats||(a.cachedStats.namedStats={});let{majorAxis:s,minorAxis:l,maxMajor:c,maxMinor:u}=A;if(!s||!l)return console.debug("Missing major or minor axis data"),null;let d=!1,p=a.cachedStats.namedStats;return(c>0&&u>0&&(p.bidirectional={name:"bidirectional",label:"Bidirectional",annotationUID:r.annotationUID,value:{maxMajor:c,maxMinor:u,majorAxis:s,minorAxis:l},unit:"mm"},d=!0),d)?i:null}({segmentationId:r,segmentIndex:o,bidirectionalData:e,segmentationService:m,annotation:i});s&&m.addOrUpdateSegmentation({segmentationId:r,segments:s.segments})});let s=i.find(e=>e.segmentIndex===o);t.run("jumpToMeasurement",{uid:s?.annotationUID})},interpolateLabelmap:()=>{let{segmentationId:e,segmentIndex:t}=v();ny.interpolate({segmentationId:e,segmentIndex:t})},showCornerstoneContextMenu:e=>{let A=h()?.viewport?.element,n={...e,element:A},{useSelectedAnnotation:r,nearbyToolData:o,event:i}=n;if(r&&!o){let e=eh(A);if(!(!n.allowedSelectedTools||n.allowedSelectedTools.includes(e?.metadata?.toolName)))return;n.nearbyToolData=e}n.defaultPointsPosition=[],n.selectorProps={toolName:n.nearbyToolData?.metadata?.toolName,value:n.nearbyToolData,uid:n.nearbyToolData?.annotationUID,nearbyToolData:n.nearbyToolData,event:i,...n.selectorProps},t.run(e,n)},updateStoredSegmentationPresentation:({displaySet:e,type:t})=>{let{addSegmentationPresentationItem:A}=tc.v.getState();A(e.referencedDisplaySetInstanceUID,{segmentationId:e.displaySetInstanceUID,hydrated:!0,type:t})},updateStoredPositionPresentation:({viewportId:e,displaySetInstanceUIDs:t,referencedImageId:A,options:n})=>{let r,o=s.getPresentations(e),{positionPresentationStore:i,setPositionPresentation:a,getPositionPresentationId:l}=tl.q.getState();t&&Array.isArray(t)&&t.length>0&&(r=Object.entries(i).find(([A,n])=>t.every(e=>A.includes(e))&&n?.viewportId===e)?.[0]);let c=A||n?.FrameOfReferenceUID?{...o.positionPresentation,viewReference:{referencedImageId:A,...n}}:o.positionPresentation;a(r?r:l({displaySetInstanceUIDs:t,viewportId:e}),c)},getNearbyToolData:({nearbyToolData:e,element:t,canvasCoordinates:A})=>e??L.utilities.getAnnotationNearPoint(t,A),getNearbyAnnotation({element:e,canvasCoordinates:t}){let A=E.getNearbyToolData({nearbyToolData:null,element:e,canvasCoordinates:t});return A?.metadata?.toolName&&(t=>{let A=(0,x.getEnabledElement)(e);if(!A)return;let{renderingEngineId:n,viewportId:r}=A,o=L.ToolGroupManager.getToolGroupForViewport(r,n).getToolInstance(t);return o?.constructor?.isAnnotation??!0})(A.metadata.toolName)?A:null},_handleMeasurementLabelDialog:async e=>{let t=u.getCustomization("measurementLabels"),A=u.getCustomization("ui.labellingComponent"),n=c.getMeasurement(e);if(!n)return void console.debug("No measurement found for label editing");if(!t){let t=await (0,J.callInputDialog)({uiDialogService:a,title:ct().t("Tools:Edit Measurement Label"),placeholder:n.label||ct().t("Tools:Enter new label"),defaultValue:n.label});null!=t&&c.update(e,{...n,label:t},!0);return}let r=await (0,J.callInputDialogAutoComplete)({measurement:n,uiDialogService:a,labelConfig:t,renderContent:A});null!=r&&c.update(e,{...n,label:r},!0)},setMeasurementLabel:async({uid:e})=>{await E._handleMeasurementLabelDialog(e)},renameMeasurement:async({uid:e})=>{await E._handleMeasurementLabelDialog(e)},updateMeasurement:e=>{let{code:t,uid:A,textLabel:n,label:r}=e,{style:o}=e,i=c.getMeasurement(A);if(!i)return void console.warn("No measurement found to update",A);let a={...i};if(void 0!==n&&(a.label=n),void 0!==t){let e=t.type||"finding";if(t.ref&&!t.CodeValue){let e=t.ref.indexOf(":");t.CodeValue=t.ref.substring(e+1),t.CodeMeaning=t.text||r,t.CodingSchemeDesignator=t.ref.substring(0,e)}a[e]=t,"finding"!==e&&(a.findingSites?(a.findingSites=a.findingSites.filter(t=>t.type!==e),a.findingSites.push(t)):a.findingSites=[t])}o||=a.finding?.style,(o||=a.findingSites?.find(e=>e?.style)?.style)&&(o.lineDashSelected||=o.lineDash,L.annotation.config.style.setAnnotationStyles(i.uid,o),i.toolName===el.PlanarFreehandROI&&(L.annotation.state.getAnnotation(i.uid).data.isOpenUShapeContour=!!o.isOpenUShapeContour)),c.update(a.uid,a,!0)},jumpToMeasurement:({uid:e,displayMeasurements:t=[]})=>{if(e)for(let A of(c.jumpToMeasurement(n.getActiveViewportId(),e),t))A.isActive=A.uid===e},removeMeasurement:({uid:e})=>{Array.isArray(e)?c.removeMany(e):c.remove(e)},toggleLockMeasurement:({uid:e})=>{c.toggleLockMeasurement(e)},toggleVisibilityMeasurement:({uid:e,items:t,visibility:A})=>{void 0===A&&t?.length&&(A=!t[0].isVisible),Array.isArray(e)?c.toggleVisibilityMeasurementMany(e,A):c.toggleVisibilityMeasurement(e,A)},downloadCSVMeasurementsReport:({measurementFilter:e})=>{_.utils.downloadCSVReport(c.getMeasurements(e))},downloadCSVSegmentationReport:({segmentationId:e})=>{let t=m.getSegmentation(e),{representationData:A}=t,{Labelmap:n}=A,{referencedImageIds:r}=n,o=r[0],{SeriesNumber:i,SeriesInstanceUID:a,StudyInstanceUID:s,SeriesDate:l,SeriesTime:c,SeriesDescription:u}=f.getActiveDisplaySets().find(e=>e.imageIds?.some(e=>e===o));!function(e,t){let A=[];A.push(["Segmentation ID",e.segmentationId||""]),A.push(["Segmentation Label",e.label||""]),A.push([]);let n=t.reference;if([["Series Number",n.SeriesNumber],["Series Instance UID",n.SeriesInstanceUID],["Study Instance UID",n.StudyInstanceUID],["Series Date",n.SeriesDate],["Series Time",n.SeriesTime],["Series Description",n.SeriesDescription]].forEach(([e,t])=>{t&&A.push([`reference ${e}`,t])}),A.push([]),A.push(["Segments Statistics"]),e.segments){let t=["Label"];for(let A in e.segments){let n=e.segments[A];t.push(`${n.label||""}`)}A.push(t),A.push(["Segment Index",...Object.values(e.segments).map(e=>e.segmentIndex||"")]),A.push(["Locked",...Object.values(e.segments).map(e=>e.locked?"Yes":"No")]),A.push(["Active",...Object.values(e.segments).map(e=>e.active?"Yes":"No")]);let n=new Set;for(let t of Object.values(e.segments))if(t.cachedStats&&t.cachedStats.namedStats)for(let e in t.cachedStats.namedStats){let A=t.cachedStats.namedStats[e],r=A.label||A.name,o=A.unit?` (${A.unit})`:"";n.add(`${r}${o}`)}for(let t of n){let n=[t];for(let A of Object.values(e.segments)){let e="";if(A.cachedStats&&A.cachedStats.namedStats)for(let n in A.cachedStats.namedStats){let r=A.cachedStats.namedStats[n];if(`${r.label||r.name}${r.unit?` (${r.unit})`:""}`===t){e=void 0!==r.value?r.value:"";break}}n.push(e)}A.push(n)}}let r="";for(let e of A)r+=e.map(e=>{let t=null!=e?e.toString():"";return t.includes(",")||t.includes('"')||t.includes("\n")?'"'+t.replace(/"/g,'""')+'"':t}).join(",")+"\n";lX(r,{filename:`${e.label||"Segmentation"}_Report_${new Date().toISOString().split("T")[0]}.csv`})}(t,{reference:{SeriesNumber:i,SeriesInstanceUID:a,StudyInstanceUID:s,SeriesDate:l,SeriesTime:c,SeriesDescription:u}})},getActiveViewportEnabledElement:h,setViewportActive:({viewportId:e})=>{s.getViewportInfo(e)?n.setActiveViewportId(e):console.warn("No viewport found for viewportId:",e)},arrowTextCallback:async({callback:e,data:t})=>{let A=u.getCustomization("measurementLabels"),n=u.getCustomization("ui.labellingComponent");if(!A){let A=await (0,J.callInputDialog)({uiDialogService:a,title:ct().t("Tools:Edit Arrow Text"),placeholder:t?.data?.label||ct().t("Tools:Enter new text"),defaultValue:t?.data?.label||""});e?.(A);return}let r=await (0,J.callInputDialogAutoComplete)({uiDialogService:a,labelConfig:A,renderContent:n});e?.(r)},toggleCine:()=>{let{viewports:e}=n.getState(),{isCineEnabled:t}=i.getState();i.setIsCineEnabled(!t),e.forEach((e,t)=>i.setCine({id:t,isPlaying:!1}))},setViewportWindowLevel({viewportId:e,windowWidth:t,windowCenter:A,displaySetInstanceUID:n}){let r,o,i=Number(t),a=Number(A),l=s.getRenderingEngine().getViewport(e);if(!l)return;let c=(0,ei.rX)(l)?E.getVolumeIdForDisplaySet({viewportId:e,displaySetInstanceUID:n}):void 0;r=l,o={windowWidth:i,windowCenter:a,volumeId:c,displaySetInstanceUID:n},nD(r).setWindowLevel(r,o),l.render()},toggleViewportColorbar:({viewportId:e,displaySetInstanceUIDs:t,options:A={}})=>{d.hasColorbar(e)?d.removeColorbar(e):d.addColorbar(e,t,A)},setWindowLevel(e){let{toolGroupId:t}=e,{viewportId:A}=h(),n=o.getToolGroupForViewport(A);t&&t!==n||E.setViewportWindowLevel({...e,viewportId:A})},setWindowLevelPreset:({presetName:e,presetIndex:t})=>{let A=u.getCustomization("cornerstone.windowLevelPresets"),r=n.getActiveViewportId(),o=s.getCornerstoneViewport(r).getImageData().metadata.Modality;if(!o)return;let i=A[o];if(!i)return;let a=i[e]??Object.values(i)[t];E.setViewportWindowLevel({viewportId:r,windowWidth:a.window,windowCenter:a.level})},getVolumeIdForDisplaySet:({viewportId:e,displaySetInstanceUID:t})=>{let A=s.getCornerstoneViewport(e);return x.utilities.viewportSupportsVolumeId(A)?A.getAllVolumeIds().find(e=>e.includes(t)):null},setToolEnabled:({toolName:e,toggle:t,toolGroupId:A})=>{let{viewports:r}=n.getState();if(!r.size)return;let i=o.getToolGroup(A??null);if(!i||!i.hasTool(e))return;let a=i.getToolOptions(e).mode===L.Enums.ToolModes.Enabled;t&&a?i.setToolDisabled(e):i.setToolEnabled(e),s.getRenderingEngine().render()},toggleEnabledDisabledToolbar({value:e,itemId:t,toolGroupId:A}){let n=t||e;A=A??B();let r=o.getToolGroup(A);r&&r.hasTool(n)&&(r.getToolOptions(n).mode===L.Enums.ToolModes.Enabled?r.setToolDisabled(n):r.setToolEnabled(n))},toggleActiveDisabledToolbar({value:e,itemId:t,toolGroupId:A,toolGroupIds:n}){let r=t||e;(n?.length?n:[A??B()]).forEach(e=>{let t=o.getToolGroup(e);if(!t||!t.hasTool(r))return;if([L.Enums.ToolModes.Active,L.Enums.ToolModes.Enabled,L.Enums.ToolModes.Passive].includes(t.getToolOptions(r).mode)){if(t.setToolDisabled(r),y(o.getToolBindings(e,r))){let A=t.getPrevActivePrimaryToolName();A!==r&&E.setToolActive({toolName:A,toolGroupId:e})}return}let A=o.getToolBindings(e,r);y(A)?E.setToolActive({toolName:r,toolGroupId:e,bindings:A}):t.setToolActive(r,{bindings:A})})},setToolActiveToolbar:({value:e,itemId:t,toolName:A,toolGroupIds:n=[],bindings:r})=>{A=A||t||e,(n=n.length?n:o.getToolGroupIds()).forEach(e=>{E.setToolActive({toolName:A,toolGroupId:e,bindings:r})})},setToolActive:({toolName:e,toolGroupId:t=null,bindings:A=[{mouseButton:L.Enums.MouseBindings.Primary}]})=>{let{viewports:r}=n.getState();if(!r.size)return;let i=o.getToolGroup(t);if(!i||!i?.hasTool(e))return;let a=i.getActivePrimaryMouseButtonTool();if(a){let e=i.getToolConfiguration(a);e?.disableOnPassive?i.setToolDisabled(a):i.setToolPassive(a)}i.setToolActive(e,{bindings:A})},showDownloadViewportModal:()=>{let{activeViewportId:t}=n.getState();if(!s.getCornerstoneViewport(t))return void l.show({title:ct().t("Tools:Download Image"),message:ct().t("Tools:Image cannot be downloaded"),type:"error"});let{uiModalService:A}=e.services;A&&A.show({content:lj,title:ct().t("Tools:Download High Quality Image"),contentProps:{activeViewportId:t,cornerstoneViewportService:s},containerClassName:"max-w-4xl p-4"})},rotateViewportBy:({rotation:e,viewportId:t})=>{E._rotateViewport({rotation:e,viewportId:t,rotationMode:"apply"})},setViewportRotation:({rotation:e,viewportId:t})=>{E._rotateViewport({rotation:e,viewportId:t,rotationMode:"set"})},flipViewportHorizontal:({viewportId:e,newValue:t="toggle"})=>{let A,n,r=w(e);r&&(A=r,n=t,nD(A).flipHorizontal(A,n),r.render())},flipViewportVertical:({viewportId:e,newValue:t="toggle"})=>{let A,n,r=w(e);r&&(A=r,n=t,nD(A).flipVertical(A,n),r.render())},invertViewport:({element:e})=>{let t,A=void 0===e?w():e.viewport;A&&(nD(t=A).invert(t),A.render())},resetViewport:()=>{let e,t=w();t&&(nD(e=t).reset(e),t.render())},scaleViewport:({direction:e})=>{let t,A,n=w();n&&(t=n,A=e,nD(t).scaleBy(t,A),n.render())},jumpToImage:({imageIndex:e,viewport:t})=>{let A;if(t)A=s.getCornerstoneViewport(t.id);else{let e=h();if(!e)return;A=e.viewport}let n=0;if((0,ei.TF)(A))n=A.getImageIds().length;else if((0,ei.tO)(A))n=x.utilities.getImageSliceDataForVolumeViewport(A).numberOfSlices;else throw Error("Unsupported viewport type");let r=e<0?n+e:e;if(r>=n||r<0)throw Error(`Can't jump to ${e}`);x.utilities.jumpToSlice(A.element,{imageIndex:r})},scroll:e=>{let t=h();if(e.delta??=e.direction||1,e.direction??=e.delta,!t)return;let{viewport:A}=t;x.utilities.scroll(A,e)},setViewportColormap:({viewportId:e,displaySetInstanceUID:t,colormap:A,opacity:r=1,immediate:o=!1})=>{let i,a,l,c=s.getCornerstoneViewport(e),{viewportMatchDetails:u}=p.getActiveProtocol(),d=u.get(e)?.displaySetsInfo;if(d){let e=d.find(e=>e.displaySetInstanceUID===t);l=e?.displaySetOptions?.options?.colormap?.opacity}if(A={...A,opacity:l||r},(0,ei.tO)(c)&&!t){let{viewports:A}=n.getState();t=A.get(e)?.displaySetInstanceUIDs[0]}i=c,a={colormap:A,displaySetInstanceUID:t},nD(i).setColormap(i,a),o&&c.render()},changeActiveViewport:({direction:e=1})=>{let{activeViewportId:t,viewports:A}=n.getState(),r=Array.from(A.keys()),o=(r.indexOf(t)+e+r.length)%r.length;n.setActiveViewportId(r[o])},toggleSynchronizer:({type:t,viewports:A,syncId:n})=>{let r=g.getSynchronizer(n);if(r)return void(r.isDisabled()?r.setEnabled(!0):r.setEnabled(!1));let o=cl[t];o&&o({servicesManager:e,viewports:A,syncId:n})},setViewportForToolConfiguration:({viewportId:e,toolName:t})=>{if(!e){let{activeViewportId:t}=n.getState();e=t??"default"}let A=o.getToolGroupForViewport(e);if(!A?.hasTool(t))return;let r=A?.getToolConfiguration(t);A?.setToolConfiguration(t,{...r,sourceViewportId:e},!0),s.getRenderingEngine().render()},storePresentation:({viewportId:e})=>{s.storePresentation({viewportId:e})},updateVolumeData:({volume:e})=>{let{imageData:t,vtkOpenGLTexture:A}=e;[...Array(t.getDimensions()[2]).keys()].forEach(e=>{A.setUpdatedFrame(e)}),t.modified()},attachProtocolViewportDataListener:({protocol:e,stageIndex:A})=>{let n=s.EVENTS.VIEWPORT_DATA_CHANGED,r=e.callbacks.onViewportDataInitialized,o=e.stages?.[A]?.viewports.length??1,i=0,{unsubscribe:a}=s.subscribe(n,e=>{++i===o&&(t.run(...r),a(n))})},setViewportPreset:({viewportId:e,preset:t})=>{let A,n,r=s.getCornerstoneViewport(e);r&&(A=r,n=t,nD(A).setPreset(A,n),r.render())},setVolumeRenderingQulaity:({viewportId:e,volumeQuality:t})=>{let A,n,r=s.getCornerstoneViewport(e);r&&(A=r,n=t,nD(A).setVolumeRenderingQuality(A,n),r.render())},shiftVolumeOpacityPoints:({viewportId:e,shift:t})=>{let A,n,r=s.getCornerstoneViewport(e);r&&(A=r,n=t,nD(A).shiftVolumeOpacityPoints(A,n),r.render())},setVolumeLighting:({viewportId:e,options:t})=>{let A,n,r=s.getCornerstoneViewport(e);r&&(A=r,n=t,nD(A).setVolumeLighting(A,n),r.render())},resetCrosshairs:({viewportId:e})=>{let t=[],A=e=>{let A=o.getToolGroup(e);A?.hasTool("Crosshairs")&&t.push(A.getToolInstance("Crosshairs"))};if(e){let t=o.getToolGroupForViewport(e);t&&A(t.id)}else o.getToolGroupIds().forEach(A);t.forEach(e=>{e?.computeToolCenter()})},createLabelmapForViewport:async({viewportId:t,options:A={}})=>cA(e,{viewportId:t,options:A,segmentationType:ta.SegmentationRepresentations.Labelmap}),createContourForViewport:async({viewportId:t,options:A={}})=>cA(e,{viewportId:t,options:A,segmentationType:ta.SegmentationRepresentations.Contour}),setActiveSegmentation:({segmentationId:t})=>{let{viewportGridService:A,segmentationService:n}=e.services;n.setActiveSegmentation(A.getActiveViewportId(),t)},addSegmentCommand:({segmentationId:t,config:A})=>{let{segmentationService:n}=e.services;n.addSegment(t,A)},setActiveSegmentAndCenterCommand:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n,viewportGridService:r}=e.services;n.setActiveSegmentation(r.getActiveViewportId(),t),n.setActiveSegment(t,A);let{highlightAlpha:o,highlightSegment:i,animationLength:a,animationFunctionType:s}=u.getCustomization("panelSegmentation.jumpToSegmentHighlightAnimationConfig")??{},l=Object.values(l5).includes(s)?s:void 0;n.jumpToSegmentNext(t,A,void 0,o,i,a,void 0,l)},toggleSegmentVisibilityCommand:({segmentationId:t,segmentIndex:A,type:n})=>{let{segmentationService:r,viewportGridService:o}=e.services;r.toggleSegmentVisibility(o.getActiveViewportId(),t,A,n)},toggleSegmentLockCommand:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n}=e.services;n.toggleSegmentLocked(t,A)},toggleSegmentationVisibilityCommand:({segmentationId:t,type:A})=>{let{segmentationService:n,viewportGridService:r}=e.services;n.toggleSegmentationRepresentationVisibility(r.getActiveViewportId(),{segmentationId:t,type:A})},downloadSegmentationCommand:({segmentationId:t})=>{let{segmentationService:A}=e.services;A.downloadSegmentation(t)},storeSegmentationCommand:async A=>{let{segmentationId:n}=A,{segmentationService:r,viewportGridService:o}=e.services,i=await (0,J.createReportAsync)({servicesManager:e,getReport:()=>t.runCommand("storeSegmentation",A),reportType:"Segmentation"});i&&(r.remove(n),o.setDisplaySetsForViewport({viewportId:o.getActiveViewportId(),displaySetInstanceUIDs:i}))},downloadRTSSCommand:({segmentationId:t})=>{let{segmentationService:A}=e.services;A.downloadRTSS(t)},setSegmentationStyleCommand:({type:t,key:A,value:n})=>{let{segmentationService:r}=e.services;r.setStyle({type:t},{[A]:n})},deleteSegmentCommand:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n}=e.services;n.removeSegment(t,A)},deleteSegmentationCommand:({segmentationId:t})=>{let{segmentationService:A}=e.services;A.remove(t)},removeSegmentationFromViewportCommand:({segmentationId:A})=>{let{viewportGridService:n}=e.services,r=n.getActiveViewportId();t.runCommand("removeDisplaySetLayer",{viewportId:r,displaySetInstanceUID:A})},toggleRenderInactiveSegmentationsCommand:()=>{let{segmentationService:t,viewportGridService:A}=e.services,n=A.getActiveViewportId(),r=t.getRenderInactiveSegmentations(n);t.setRenderInactiveSegmentations(n,!r)},editSegmentLabel:async({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n,uiDialogService:r}=e.services,o=n.getSegmentation(t);if(!o)return;let i=o.segments[A];(0,J.callInputDialog)({uiDialogService:r,title:ct().t("Tools:Edit Segment Label"),placeholder:ct().t("Tools:Enter new label"),defaultValue:i.label}).then(e=>{n.setSegmentLabel(t,A,e)})},editSegmentationLabel:({segmentationId:t})=>{let{segmentationService:A,uiDialogService:n}=e.services,r=A.getSegmentation(t);if(!r)return;let{label:o}=r;(0,J.callInputDialog)({uiDialogService:n,title:ct().t("Tools:Edit Segmentation Label"),placeholder:ct().t("Tools:Enter new label"),defaultValue:o}).then(e=>{A.addOrUpdateSegmentation({segmentationId:t,label:e})})},editSegmentColor:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n,uiDialogService:r,viewportGridService:o}=e.services,i=o.getActiveViewportId(),a=n.getSegmentColor(i,t,A),s={r:a[0],g:a[1],b:a[2],a:a[3]/255};r.show({content:J.colorPickerDialog,title:ct().t("Tools:Segment Color"),contentProps:{value:s,onSave:e=>{let r=[e.r,e.g,e.b,255*e.a];n.setSegmentColor(i,t,A,r)}}})},getRenderInactiveSegmentations:()=>{let{segmentationService:t,viewportGridService:A}=e.services;return t.getRenderInactiveSegmentations(A.getActiveViewportId())},deleteActiveAnnotation:()=>{L.annotation.selection.getAnnotationsSelected().forEach(e=>{c.remove(e)})},setDisplaySetsForViewports:({viewportsToUpdate:t})=>{let{cineService:A,viewportGridService:n}=e.services;t.forEach(e=>{let t=A.getState(),n=t.cines?.[e.viewportId];A.setCine({id:e.viewportId,frameRate:n?.frameRate??t.default?.frameRate??24,isPlaying:!1})}),n.setDisplaySetsForViewports(t)},undo:()=>{cs.undo()},redo:()=>{cs.redo()},toggleSegmentPreviewEdit:({toggle:e})=>{let t=cu({toolGroupService:o});(t=t.filter(e=>!e.toolName.includes("Eraser"))).forEach(t=>{t.configuration={...t.configuration,preview:{...t.configuration.preview,enabled:e}}})},toggleSegmentSelect:({toggle:e})=>{o.getToolGroupIds().forEach(t=>{let A=L.ToolGroupManager.getToolGroup(t);e?A.setToolActive(L.SegmentSelectTool.toolName):A.setToolDisabled(L.SegmentSelectTool.toolName)})},toggleSegmentLabel:({enabled:e})=>{let t=L.SegmentLabelTool.toolName,A=o.getToolGroupIds(),n=A.some(e=>{let A=L.ToolGroupManager.getToolGroup(e);return"Active"===A.getToolInstance(t)?.mode}),r=void 0!==e?e:!n;A.forEach(e=>{let A=L.ToolGroupManager.getToolGroup(e);r?A.setToolActive(t):A.setToolDisabled(t)})},initializeSegmentLabelTool:({tools:t})=>{let{customizationService:A}=e.services,n=A.getCustomization("segmentation.segmentLabel");if(n?.enabledByDefault){let e=t?.active??[];return e.push({toolName:el.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor,background:n?.background}}),t.active=e,t}let r=t?.disabled??[];return r.push({toolName:el.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor}}),t.disabled=r,t},toggleUseCenterSegmentIndex:({toggle:e})=>{let t=cu({toolGroupService:o});(t=t.filter(e=>!e.toolName.includes("Eraser"))).forEach(t=>{t.configuration={...t.configuration,useCenterSegmentIndex:e}})},_handlePreviewAction:e=>{let{viewport:t}=h();(({toolGroupService:e})=>cu({toolGroupService:e}).filter(e=>e.acceptPreview||e.rejectPreview))({toolGroupService:o}).forEach(t=>{try{t[`${e}Preview`]()}catch(e){console.debug("Error accepting preview for tool",t.toolName)}}),cd.enabled&&cd[`${e}Preview`](t.element)},acceptPreview:()=>{E._handlePreviewAction("accept")},rejectPreview:()=>{E._handlePreviewAction("reject")},cancelActiveOperation:()=>{try{E.rejectPreview()}catch(e){console.debug("Error rejecting active preview",e)}finally{E.cancelMeasurement()}},clearMarkersForMarkerLabelmap:()=>{let{viewport:e}=h(),t=L.ToolGroupManager.getToolGroupForViewport(e.id).getToolInstance("MarkerLabelmap");t&&t.clearMarkers(e)},interpolateScrollForMarkerLabelmap:()=>{let{viewport:e}=h(),t=L.ToolGroupManager.getToolGroupForViewport(e.id).getToolInstance("MarkerLabelmap");t&&t.interpolateScroll(e,1)},toggleLabelmapAssist:async()=>{let{viewport:e}=h(),t=!cd.enabled;cd.enabled=t,cp||(await cd.initModel(),cp=!0);let A=o.getToolGroupIds();t?E.setToolActiveToolbar({toolName:"CircularBrushForAutoSegmentAI",toolGroupIds:A}):A.forEach(e=>{L.ToolGroupManager.getToolGroup(e).setToolPassive("CircularBrushForAutoSegmentAI")}),cd.enabled&&cd.initViewport(e)},setBrushSize:({value:e})=>{let t=Number(e);o.getToolGroupIds()?.forEach(e=>{cc.setBrushSizeForToolGroup(e,t)})},setThresholdRange:({value:e,toolNames:t=["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]})=>{let A=o.getToolGroupIds();if(A?.length)for(let n of A){let A=o.getToolGroup(n);t?.forEach(t=>{A.setToolConfiguration(t,{threshold:{range:e}})})}},increaseBrushSize:()=>{C("increase")},decreaseBrushSize:()=>{C("decrease")},addNewSegment:()=>{let{segmentationService:t}=e.services,{activeViewportId:A}=n.getState(),r=t.getActiveSegmentation(A);r&&t.addSegment(r.segmentationId)},loadSegmentationDisplaySetsForViewport:({viewportId:t,displaySetInstanceUIDs:A,viewportType:n})=>{let r=function({viewportId:e,servicesManager:t,displaySetInstanceUIDs:A}){let{hangingProtocolService:n,viewportGridService:r}=t.services,{isHangingProtocolLayout:o,viewports:i}=r.getState(),a=(({viewportId:e,viewportGridService:t})=>{let{viewports:A,activeViewportId:n}=t.getState();return A.get(e||n)})({viewportId:e,viewportGridService:r}).viewportOptions.viewportId,s=n.getViewportsRequireUpdate(a,A[0],o);return null!=s&&o?function(e,t,A){if(!t)return e??[];let n=new Map,r=(e,t)=>{e&&n.set(e,{viewportId:e,displaySetInstanceUIDs:t})};if(Array.isArray(e))for(let A of e){let e=A.viewportId??A.viewportOptions?.viewportId;e&&r(e,A.displaySetInstanceUIDs?.length?A.displaySetInstanceUIDs:[t])}A.forEach(e=>{(e.displaySetInstanceUIDs||[]).includes(t)&&r(e.viewportId,[t])});let o=Array.from(n.values());return 0===o.length&&Array.isArray(e)&&e.length>0?e:o}(s,A[0],i):s}({viewportId:t,servicesManager:e,displaySetInstanceUIDs:A});r?.length&&(r.forEach(({viewportId:e})=>{let t=s.getCornerstoneViewport(e);t?.setNeedsRender?.()}),E.setDisplaySetsForViewports({viewportsToUpdate:r.map(e=>({viewportId:e.viewportId,displaySetInstanceUIDs:e.displaySetInstanceUIDs,...n?{viewportOptions:{...e.viewportOptions,viewportType:n}}:{}}))}))},setViewportOrientation:({viewportId:e,orientation:t})=>{let A=s.getCornerstoneViewport(e);A&&(0,nb.qU)(A).canReorientInPlace()?n.getDisplaySetsUIDsForViewport(e).map(e=>f.getDisplaySetByUID(e)).some(e=>e.isReconstructable)?(A.setOrientation(t),A.render(),s.getViewportInfo(e).setOrientation(t)):console.warn("Cannot change orientation: No reconstructable display sets in viewport"):console.warn("Orientation can only be set on volume viewports")},toggleViewportHorizontalFlip:({viewportId:e}={})=>{E.flipViewportHorizontal({viewportId:e,newValue:"toggle"})},setViewportHorizontalFlip:({flipped:e,viewportId:t})=>{E.flipViewportHorizontal({viewportId:t,newValue:e})},toggleViewportVerticalFlip:({viewportId:e}={})=>{E.flipViewportVertical({viewportId:e,newValue:"toggle"})},setViewportVerticalFlip:({flipped:e,viewportId:t})=>{E.flipViewportVertical({viewportId:t,newValue:e})},_rotateViewport:({rotation:e,viewportId:t,rotationMode:A="apply"})=>{let n,r,o,i=w(t);i&&(n=i,r=e,o=A,nD(n).rotate(n,r,o),i.render())},startRecordingForAnnotationGroup:()=>{L.AnnotationTool.startGroupRecording()},endRecordingForAnnotationGroup:()=>{L.AnnotationTool.endGroupRecording()},triggerCreateAnnotationMemo:({annotation:e,FrameOfReferenceUID:t,options:A})=>{let{newAnnotation:n,deleting:r}=A,o=(0,x.getRenderingEngines)().flatMap(e=>e.getViewports()).find(e=>e.getFrameOfReferenceUID()===t);o&&L.AnnotationTool.createAnnotationMemo(o.element,e,{newAnnotation:n,deleting:r})},activateSelectedSegmentationOfType:({segmentationRepresentationType:t})=>{let{segmentationService:A,viewportGridService:n}=e.services,r=n.getActiveViewportId(),{selectedSegmentationsForViewport:o}=nL.getState(),i=o[r]?.get(t);i&&A.setActiveSegmentation(r,i)},setDynamicCursorSizeForSculptorTool:({value:e})=>{let t=n.getActiveViewportId(),A=o.getToolGroupForViewport(t).getToolInstance(el.SculptorTool),r=A.configuration;A.configuration={...r,updateCursorSize:e?"dynamic":""}},setInterpolationToolConfiguration:({value:e,toolNames:t})=>{let A=n.getActiveViewportId(),r=o.getToolGroupForViewport(A),i=o.getActiveToolForViewport(A),a={interpolation:{enabled:e}};r.setToolConfiguration(i,a),t&&Object.values(r.getToolInstances()).forEach(e=>{t?.includes(e.toolName)&&r.setToolConfiguration(e.toolName,a)})},setSimplifiedSplineForSplineContourSegmentationTool:({value:e})=>{let t=n.getActiveViewportId();Object.values(o.getToolGroupForViewport(t).getToolInstances()).forEach(t=>{if(t instanceof L.SplineContourSegmentationTool){let A=t.configuration;t.configuration={...A,simplifiedSpline:e}}})},removeSmallContours:({areaThreshold:e})=>{let t=n.getActiveViewportId(),A=m.getActiveSegmentation(t),r=m.getActiveSegment(t);if(!A||!r)return;let{removeContourIslands:o}=cn.utilities;o(A.segmentationId,r.segmentIndex,{threshold:e}),s.getRenderingEngine().render()},applyLogicalContourOperation:({segmentAInfo:e,segmentBInfo:t,resultSegmentInfo:A,logicalOperation:n})=>{switch(n){case nB.LogicalOperation.Union:cr(e,t,A);break;case nB.LogicalOperation.Intersect:co(e,t,A);break;case nB.LogicalOperation.Subtract:ci(e,t,A);break;default:throw Error("Unsupported logical operation")}},copyContourSegment:({sourceSegmentInfo:e,targetSegmentInfo:t})=>{if(!t){let A=m.getSegmentation(e.segmentationId),n=A?.segments?.[e.segmentIndex]?.cachedStats;t={segmentationId:e.segmentationId,segmentIndex:m.getNextAvailableSegmentIndex(e.segmentationId)},m.addSegment(t.segmentationId,{segmentIndex:t.segmentIndex,...n&&{cachedStats:x.utilities.deepClone(n)}})}ca(e,t)},smoothContours:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let{smoothContours:r}=cn.utilities;r(t.segmentationId,A.segmentIndex),s.getRenderingEngine().render()},removeContourHoles:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let{removeContourHoles:r}=cn.utilities;r(t.segmentationId,A.segmentIndex),s.getRenderingEngine().render()},decimateContours:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let{decimateContours:r}=cn.utilities;r(t.segmentationId,A.segmentIndex),s.getRenderingEngine().render()},convertContourHoles:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let r={segmentationId:t.segmentationId,segmentIndex:m.getNextAvailableSegmentIndex(t.segmentationId)};m.addSegment(r.segmentationId,{segmentIndex:r.segmentIndex});let{convertContourHoles:o}=cn.utilities;o(t.segmentationId,A.segmentIndex,r.segmentationId,r.segmentIndex),s.getRenderingEngine().render()}},I={showCornerstoneContextMenu:{commandFn:E.showCornerstoneContextMenu,options:{menuCustomizationId:"measurementsContextMenu",commands:[{commandName:"showContextMenu"}]}},getNearbyToolData:{commandFn:E.getNearbyToolData},getNearbyAnnotation:{commandFn:E.getNearbyAnnotation,storeContexts:[],options:{}},toggleViewportColorbar:{commandFn:E.toggleViewportColorbar},setMeasurementLabel:{commandFn:E.setMeasurementLabel},renameMeasurement:{commandFn:E.renameMeasurement},updateMeasurement:{commandFn:E.updateMeasurement},jumpToMeasurement:E.jumpToMeasurement,removeMeasurement:{commandFn:E.removeMeasurement},cancelMeasurement:{commandFn:E.cancelMeasurement},toggleLockMeasurement:{commandFn:E.toggleLockMeasurement},toggleVisibilityMeasurement:{commandFn:E.toggleVisibilityMeasurement},downloadCSVMeasurementsReport:{commandFn:E.downloadCSVMeasurementsReport},setViewportWindowLevel:{commandFn:E.setViewportWindowLevel},setWindowLevel:{commandFn:E.setWindowLevel},setWindowLevelPreset:{commandFn:E.setWindowLevelPreset},setToolActive:{commandFn:E.setToolActive},setToolActiveToolbar:{commandFn:E.setToolActiveToolbar},setToolEnabled:{commandFn:E.setToolEnabled},rotateViewportCW:{commandFn:E.rotateViewportBy,options:{rotation:90}},rotateViewportCCW:{commandFn:E.rotateViewportBy,options:{rotation:-90}},rotateViewportCWSet:{commandFn:E.setViewportRotation,options:{rotation:90}},incrementActiveViewport:{commandFn:E.changeActiveViewport},decrementActiveViewport:{commandFn:E.changeActiveViewport,options:{direction:-1}},flipViewportHorizontal:{commandFn:E.toggleViewportHorizontalFlip},flipViewportVertical:{commandFn:E.toggleViewportVerticalFlip},setViewportHorizontalFlip:{commandFn:E.setViewportHorizontalFlip,options:{flipped:!0}},setViewportVerticalFlip:{commandFn:E.setViewportVerticalFlip,options:{flipped:!0}},invertViewport:{commandFn:E.invertViewport},resetViewport:{commandFn:E.resetViewport},scaleUpViewport:{commandFn:E.scaleViewport,options:{direction:1}},scaleDownViewport:{commandFn:E.scaleViewport,options:{direction:-1}},fitViewportToWindow:{commandFn:E.scaleViewport,options:{direction:0}},nextImage:{commandFn:E.scroll,options:{direction:1}},previousImage:{commandFn:E.scroll,options:{direction:-1}},firstImage:{commandFn:E.jumpToImage,options:{imageIndex:0}},lastImage:{commandFn:E.jumpToImage,options:{imageIndex:-1}},jumpToImage:{commandFn:E.jumpToImage},showDownloadViewportModal:{commandFn:E.showDownloadViewportModal},toggleCine:{commandFn:E.toggleCine},arrowTextCallback:{commandFn:E.arrowTextCallback},setViewportActive:{commandFn:E.setViewportActive},setViewportColormap:{commandFn:E.setViewportColormap},setViewportForToolConfiguration:{commandFn:E.setViewportForToolConfiguration},storePresentation:{commandFn:E.storePresentation},attachProtocolViewportDataListener:{commandFn:E.attachProtocolViewportDataListener},setViewportPreset:{commandFn:E.setViewportPreset},setVolumeRenderingQulaity:{commandFn:E.setVolumeRenderingQulaity},shiftVolumeOpacityPoints:{commandFn:E.shiftVolumeOpacityPoints},setVolumeLighting:{commandFn:E.setVolumeLighting},resetCrosshairs:{commandFn:E.resetCrosshairs},toggleSynchronizer:{commandFn:E.toggleSynchronizer},updateVolumeData:{commandFn:E.updateVolumeData},toggleEnabledDisabledToolbar:{commandFn:E.toggleEnabledDisabledToolbar},toggleActiveDisabledToolbar:{commandFn:E.toggleActiveDisabledToolbar},updateStoredPositionPresentation:{commandFn:E.updateStoredPositionPresentation},updateStoredSegmentationPresentation:{commandFn:E.updateStoredSegmentationPresentation},createLabelmapForViewport:{commandFn:E.createLabelmapForViewport},createContourForViewport:{commandFn:E.createContourForViewport},setActiveSegmentation:{commandFn:E.setActiveSegmentation},addSegment:{commandFn:E.addSegmentCommand},setActiveSegmentAndCenter:{commandFn:E.setActiveSegmentAndCenterCommand},toggleSegmentVisibility:{commandFn:E.toggleSegmentVisibilityCommand},toggleSegmentLock:{commandFn:E.toggleSegmentLockCommand},toggleSegmentationVisibility:{commandFn:E.toggleSegmentationVisibilityCommand},downloadSegmentation:{commandFn:E.downloadSegmentationCommand},storeSegmentation:{commandFn:E.storeSegmentationCommand},downloadRTSS:{commandFn:E.downloadRTSSCommand},setSegmentationStyle:{commandFn:E.setSegmentationStyleCommand},deleteSegment:{commandFn:E.deleteSegmentCommand},deleteSegmentation:{commandFn:E.deleteSegmentationCommand},removeSegmentationFromViewport:{commandFn:E.removeSegmentationFromViewportCommand},toggleRenderInactiveSegmentations:{commandFn:E.toggleRenderInactiveSegmentationsCommand},setFillAlpha:{commandFn:S("fillAlpha")},setOutlineWidth:{commandFn:S("outlineWidth")},setRenderFill:{commandFn:S("renderFill")},setRenderFillInactive:{commandFn:S("renderFillInactive")},setRenderOutline:{commandFn:S("renderOutline")},setRenderOutlineInactive:{commandFn:S("renderOutlineInactive")},setFillAlphaInactive:{commandFn:S("fillAlphaInactive")},editSegmentLabel:{commandFn:E.editSegmentLabel},editSegmentationLabel:{commandFn:E.editSegmentationLabel},editSegmentColor:{commandFn:E.editSegmentColor},getRenderInactiveSegmentations:{commandFn:E.getRenderInactiveSegmentations},deleteActiveAnnotation:{commandFn:E.deleteActiveAnnotation},setDisplaySetsForViewports:E.setDisplaySetsForViewports,undo:E.undo,redo:E.redo,interpolateLabelmap:E.interpolateLabelmap,runSegmentBidirectional:E.runSegmentBidirectional,downloadCSVSegmentationReport:E.downloadCSVSegmentationReport,toggleSegmentPreviewEdit:E.toggleSegmentPreviewEdit,toggleSegmentSelect:E.toggleSegmentSelect,acceptPreview:E.acceptPreview,rejectPreview:E.rejectPreview,cancelActiveOperation:E.cancelActiveOperation,toggleUseCenterSegmentIndex:E.toggleUseCenterSegmentIndex,toggleLabelmapAssist:E.toggleLabelmapAssist,interpolateScrollForMarkerLabelmap:E.interpolateScrollForMarkerLabelmap,clearMarkersForMarkerLabelmap:E.clearMarkersForMarkerLabelmap,setBrushSize:E.setBrushSize,setThresholdRange:E.setThresholdRange,increaseBrushSize:E.increaseBrushSize,decreaseBrushSize:E.decreaseBrushSize,addNewSegment:E.addNewSegment,loadSegmentationDisplaySetsForViewport:E.loadSegmentationDisplaySetsForViewport,setViewportOrientation:E.setViewportOrientation,hydrateSecondaryDisplaySet:E.hydrateSecondaryDisplaySet,getVolumeIdForDisplaySet:E.getVolumeIdForDisplaySet,triggerCreateAnnotationMemo:E.triggerCreateAnnotationMemo,startRecordingForAnnotationGroup:E.startRecordingForAnnotationGroup,endRecordingForAnnotationGroup:E.endRecordingForAnnotationGroup,toggleSegmentLabel:E.toggleSegmentLabel,jumpToMeasurementViewport:E.jumpToMeasurementViewport,initializeSegmentLabelTool:E.initializeSegmentLabelTool,activateSelectedSegmentationOfType:E.activateSelectedSegmentationOfType,setDynamicCursorSizeForSculptorTool:E.setDynamicCursorSizeForSculptorTool,setSimplifiedSplineForSplineContourSegmentationTool:E.setSimplifiedSplineForSplineContourSegmentationTool,removeSmallContours:E.removeSmallContours,applyLogicalContourOperation:E.applyLogicalContourOperation,copyContourSegment:E.copyContourSegment,smoothContours:E.smoothContours,removeContourHoles:E.removeContourHoles,decimateContours:E.decimateContours,convertContourHoles:E.convertContourHoles,setInterpolationToolConfiguration:E.setInterpolationToolConfiguration};return{actions:E,definitions:I,defaultContext:"CORNERSTONE"}},getCustomizationModule:function({commandsManager:e,servicesManager:t,extensionManager:A}){return[{name:"default",value:{...tf,...function({commandsManager:e,servicesManager:t}){let{segmentationService:A}=t.services,n=!1,{unsubscribe:r}=A.subscribe(A.EVENTS.SEGMENTATION_STYLE_MODIFIED,({specifier:e,style:t})=>{e.type===ta.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=t.renderFill&&(r(),n=!0)});return{"panelSegmentation.customDropdownMenuContent":tH,"panelSegmentation.customSegmentStatisticsHeader":t_,"panelSegmentation.disableEditing":!1,"panelSegmentation.showAddSegment":!0,"panelSegmentation.onSegmentationAdd":async({segmentationRepresentationType:r=ta.SegmentationRepresentations.Labelmap})=>{let{viewportGridService:o}=t.services,i=o.getState().activeViewportId;if(r===ta.SegmentationRepresentations.Labelmap)e.run("createLabelmapForViewport",{viewportId:i});else if(r===ta.SegmentationRepresentations.Contour){let t=await e.run("createContourForViewport",{viewportId:i});if(n||A.setStyle({segmentationId:t,type:ta.SegmentationRepresentations.Contour},{renderFill:!0,renderFillInactive:!0},!1),n)return;let{unsubscribe:r}=A.subscribe(A.EVENTS.SEGMENTATION_STYLE_MODIFIED,({specifier:e,style:o})=>{e.type===ta.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=o.renderFill&&(n=!0,r(),A.setStyle({segmentationId:t,type:ta.SegmentationRepresentations.Contour},{},!1))})}},"panelSegmentation.tableMode":"collapsed","panelSegmentation.readableText":{min:"Min Value",minLPS:"Min Coord",max:"Max Value",maxLPS:"Max Coord",mean:"Mean Value",stdDev:"Standard Deviation",count:"Voxel Count",median:"Median",skewness:"Skewness",kurtosis:"Kurtosis",peakValue:"Peak Value",peakLPS:"Peak Coord",volume:"Volume",lesionGlycolysis:"Lesion Glycolysis",center:"Center"},"labelMapSegmentationToolbox.config":()=>D.createElement(tk,null),"contourSegmentationToolbox.config":()=>D.createElement(tk,null)}}({commandsManager:e,servicesManager:t,extensionManager:A}),...tP,...tG,...tK,...tj,...tY,...tJ,...tq,...t$,...AD,...Ax,...AL({commandsManager:e}),...nm,...nh,...nw,"viewportScrollbar.variant":"progress","viewportScrollbar.showLoadedEndpoints":!0,"viewportScrollbar.showLoadedFill":!0,"viewportScrollbar.showViewedFill":!0,"viewportScrollbar.showLoadingPattern":!0,"viewportScrollbar.viewedDwellMs":0,"viewportScrollbar.loadedBatchIntervalMs":200,"viewportScrollbar.indicator":{}}}]},getUtilityModule:({servicesManager:e})=>[{name:"common",exports:{getCornerstoneLibraries:()=>({cornerstone:x,cornerstoneTools:L}),getEnabledElement:q.kJ,dicomLoaderService:dU}},{name:"core",exports:{Enums:x.Enums}},{name:"tools",exports:{toolNames:el,Enums:L.Enums}},{name:"volumeLoader",exports:{getDynamicVolumeInfo:tu.getDynamicVolumeInfo}}],getSopClassHandlerModule:function(e){return[function({servicesManager:e,extensionManager:t}){return{name:"DicomMicroscopySopClassHandler",sopClassUids:["1.2.840.10008.5.1.4.1.1.77.1.6"],getDisplaySetsFromSeries:e=>(function(e,t){let A=t.getActiveDataSource()[0];if(!e||!e.length)throw Error("No instances were provided");let n=e[0],r=n,o=+r.NumberOfFrames||1;for(let t of e){let e=+t.NumberOfFrames||1;e<o&&(r=t,o=e)}let{FrameOfReferenceUID:i,SeriesDescription:a,ContentDate:s,ContentTime:l,SeriesNumber:c,StudyInstanceUID:u,SeriesInstanceUID:d,SOPInstanceUID:p,SOPClassUID:g}=n,m=(e=e.map(e=>(e.FrameOfReferenceUID=n.FrameOfReferenceUID,e))).filter(e=>e).map(e=>e.FrameOfReferenceUID).filter((e,t,A)=>A.indexOf(e)===t);m.length>1&&console.warn("Expected FrameOfReferenceUID of difference instances within a series to be the same, found multiple different values",m);let f={plugin:"microscopy",Modality:"SM",viewportType:x.Enums.ViewportType.WHOLE_SLIDE,altImageText:"Microscopy",displaySetInstanceUID:dx.guid(),SOPInstanceUID:p,SeriesInstanceUID:d,StudyInstanceUID:u,FrameOfReferenceUID:i,SOPClassHandlerId:"@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler",SOPClassUID:g,SeriesDescription:a||"Microscopy Data",SeriesDate:s,SeriesTime:l,SeriesNumber:c,firstInstance:r,instance:n,numImageFrames:0,numInstances:1,others:e,instances:e,othersFrameOfReferenceUID:m,imageIds:e.map(e=>e.imageId),getThumbnailSrc:A.retrieve.getGetThumbnailSrc?.(r,r.imageId),label:a||`${ct().t("Series")} ${c} - ${ct().t("SM")}`},h=A.retrieve.getWadoDicomWebClient?.(),w=new Map;if(e.forEach(e=>w.set(e.imageId,e)),h){let e=Object.create(h);e.getDICOMwebMetadata=dR.bind(e,w),x.utilities.genericMetadataProvider.addRaw(f.imageIds[0],{type:dM.WADO_WEB_CLIENT,metadata:e})}return[f]})(e,t)}}(e),function({servicesManager:e}){return{name:"DicomEcgSopClassHandler",sopClassUids:dV,getDisplaySetsFromSeries:t=>(function(e,t){let{userAuthenticationService:A}=t.services;return e.map(e=>{let{Modality:t,SOPInstanceUID:n}=e,{SeriesDescription:r,SeriesNumber:o,SeriesDate:i}=e,{SeriesInstanceUID:a,StudyInstanceUID:s,SOPClassUID:l}=e,c=e.imageId;if(c){let t=function(e,t){let A=e?.WaveformSequence;if(!A?.length)return null;let n=A[0],r=n.NumberOfWaveformChannels??0,o=n.NumberOfWaveformSamples??0,i=n.SamplingFrequency??1,a=n.WaveformBitsAllocated??16,s=n.WaveformSampleInterpretation??"SS",l=n.MultiplexGroupLabel??"",c=(n.ChannelDefinitionSequence??[]).map(e=>({channelSourceSequence:{codeMeaning:e?.ChannelSourceSequence?.[0]?.CodeMeaning??e?.ChannelSourceSequence?.[0]?.codeMeaning??""}})),u=async()=>{let e,A=n.WaveformData;if(!A)return console.warn("[ECGViewport] No WaveformData found on instance"),[];if(A.InlineBinary)e=function(e){let t=atob(e),A=new Uint8Array(t.length);for(let e=0;e<t.length;e++)A[e]=t.charCodeAt(e);return A.buffer}(A.InlineBinary);else{if(!A.BulkDataURI)return console.warn("[ECGViewport] WaveformData has no InlineBinary or BulkDataURI"),[];let n={Accept:"application/octet-stream"},r=t?.getAuthorizationHeader?.();r&&Object.assign(n,r);let o=await fetch(A.BulkDataURI,{headers:n});if(!o.ok)throw Error(`[ECGViewport] Failed to fetch waveform BulkDataURI: ${o.status}`);e=await o.arrayBuffer()}return function(e,t,A){let n=new Int16Array(e),r=[];for(let e=0;e<t;e++){let o=new Int16Array(A);for(let r=0;r<A;r++)o[r]=n[r*t+e];r.push(o)}return r}(e,r,o)};return{numberOfWaveformChannels:r,numberOfWaveformSamples:o,samplingFrequency:i,waveformBitsAllocated:a,waveformSampleInterpretation:s,multiplexGroupLabel:l,channelDefinitionSequence:c,waveformData:{retrieveBulkData:u}}}(e,A);t&&x.utilities.genericMetadataProvider.addRaw(c,{type:dM.ECG,metadata:t})}return{Modality:t,displaySetInstanceUID:dx.guid(),SeriesDescription:r,SeriesNumber:o,SeriesDate:i,SOPInstanceUID:n,SeriesInstanceUID:a,StudyInstanceUID:s,SOPClassHandlerId:"@ohif/extension-cornerstone.sopClassHandlerModule.DicomEcgSopClassHandler",SOPClassUID:l,referencedImages:null,measurements:null,viewportType:x.Enums.ViewportType.ECG,instances:[e],instance:e,thumbnailSrc:null,isDerivedDisplaySet:!1,isLoaded:!1,sopClassUids:dV,numImageFrames:0,numInstances:1,imageIds:c?[c]:[],supportsWindowLevel:!1,label:r||"ECG"}})})(t,e)}}(e)]}}})(),M=O.O(M)})());
|